why do i write code?

i try to encourage people to develop applications, or at least to figure out how– so dont think im being down on applications. but that said, applications have created this weird line between “using” a computer and “developing” programs.

code is communication; if you like flipping through a lot of icons and menus with your mouse or fingertip, i wont tell you not to– i clicked a thing in the browser that looked kind of like this:


just to start writing this post, right?

menus are great for teaching you key combinations, and sometimes theyre the easiest way to find (if not access) information. if you find yourself accessing the same menu over and over– there might be a better way.

ok, ok, ok– first: do what works for you. its cool.

but, if you are doing the same things every day, theres a good chance that a lot of it can be done “more automatically.” and by that i mean you can be lots more efficient and get lots more done.

sometimes. i mean like suppose i have files everywhere, cant find stuff, its in one of these folders…

find | grep part-of-name

what? ok, i mean just WINDOW-KEY, T *command window opens*

find | grep alex22

theres the file! i didnt open a single folder. i pressed two keys, typed three words, and it searched all my files and reported back immediately. and i didnt write any of that code, it was already installed.

but what about you windows users? ok, so i wrote a shell thats like “bash for beginners” (sometimes) or at least, thats a concept ive toyed with for a few years, because i want to know if its possible. the latest answer to that question is called alex and i talk about it on this blog regularly.

i started this blog to talk about fig and i still do (im talking about it now.) and fig is by far, the best thing ive ever coded. its a very very very useful tool to me, for both teaching and for my own use.

these are the best things ive coded in several years:

  • fig
  • fig os
  • alex

and what are they?

a programming language, a remaster script, a command shell.

each of these take care of many many things at the same time. and all that other stuff ive coded for fun? fig can do so much of that.

but what do these things have in common? what motivated me?

the best things ive coded were not things i set out to do as serious projects– they were written to answer questions that i had. i wrote them to find out “what would this thing be like? can this be done? can i do this?”

its understandable if you think i mean “i wrote them to challenge myself.” thats not so much it though– i often tried to write them in whatever way was easiest.

i didnt just set out to write fig though, ive practiced writing toy languages before– also for similar reasons– and i encourage people to write toy languages too, even if they dont know how.

(yes, its very doable. right, i get that you dont think so. you think its some magic you dont have. i know. its really not magic, people overcomplicate stuff and confuse enhancements with requirements.)

i consider fig a toy language, but its a toy language thats good for some serious jobs. why? because it lets me do them without making everything difficult.

one thing i wouldnt have tried in bash or basic or python is writing a remaster script. bash is too finicky and high-maintenance, python is too “syntaxy” and far-removed from the task at hand, and basic just doesnt have the array features that make it really easy for me.

each one of these truly awesome languages just suck for my own idea of how i want to write a remaster script. so i used mine. and really i would have never bothered otherwise– just too tedious.

now i have a custom distro that i can add whatever tools i want to, and run the thing, and voila: fig os. but thats not even why i bothered to do all that.

too big a task! are you kidding? fig os was way too ambitious (even in its modest accomplishments– trust me, theyre small!) for me to ever try to start working on. i dont have patience for that! maybe you dont either– hooray!

really i wanted to know if an old distro could be updated automatically, in a way that was less trouble (for me) than doing it by hand. could i automate that somehow? so other people could do the same thing by just running a program?

there were other programs sort of like it, quite a few, but none of them did exactly what i wanted. there was a really great program i used years ago called isomaster– always loved it. really wanted a version that was easier to customise.

oh no, but isomaster is written in c. http://littlesvr.ca/isomaster/download/

you know thats fine if youre just going to use it. learning c would not have made anything easier or faster. i wanted a bash or python version. so i looked for those.

also i was already working on a thing to open and examine the contents of many distros at once, by unzipping their squashfs files. (sound sophisticated? just a few lines of code. really alright.)

once they were opened i was like “what if i could put them together again?

i had questions, i did talk to other people, some helped, others didnt get what i wanted. fine, let me just try– oh, cool.

ok, each step of the way i had a question– not for other people, mostly for me. i had the tools i needed, mostly, to work on those questions. so one question at a time, features or capabilities would get added.

writing fig or making fig os or writing alex is far more than id ever be able to just sit down and code.

ok but actually, sometimes thats exactly what you do.

i didnt. the coolest stuff i made, i wasnt like “lets make cool stuff.” i was simply curious: “what about this? what about this? what about this?”

im very glad i asked!

i dont have all the secrets to computing. (if i did, what questions would i have?) if you want the best secret i have though, my “guide to being awesome” with computers or whatever: have more questions. thats the “big secret” of computing. (i didnt say i was awesome. if i was awesome, this would be the reason though.)

lots of questions, curiosity, heck im not even the first person to say it. why im telling you is– its the thing behind each of the favourite things ive worked on.

the secrets out again (people will tell you this all the time) but the best illustration i can offer you is– this is why i wrote fig, why i wrote alex, why i wrote fig os.

and its also how i wrote them. that and also making easier, practice things.

happy coding!




i dont do gnu-speak

sometimes its fun to attack every ideal, and free software is an easy target– so its going to get attacked a lot. im actually sympathetic about this, i dont think a lot of the slander aimed at free software (by open source and other corporate fanboys) is fair or deserved.

but im interested in fairness, and i still find gnu-speak ridiculous.

in 1984 by george orwell, a totalitarian government tries to control peoples thoughts via a number of tactics, including managing their vocabulary. whether this works as well as people may think is up for debate, but it certainly gives people something less than worthwhile to do– be the thought police.

i really dont think that thought police tactics need to be espoused by the free software foundation– but actually, this complaint is about trisquel, less the fsf. the fsf could be partly to blame: https://www.gnu.org/distros/free-system-distribution-guidelines.html

trisquel simply takes this too far. quoting from here: https://trisquel.info/en/forum

Please read and follow the Community Guidelines.

and that takes you to: https://trisquel.info/en/wiki/trisquel-community-guidelines

and quoting that page:


“Avoid certain misnomers and propaganda terms.”




recursive acronyms are cute and all, but recursive community guidelines are a bit much.

lets keep the context of all this: first of all, im happy to call gnu “gnu.” thats what it is, and just because other people decide to call it “linux” because they like that better is something i dont agree with.

but i dont tell people what to call it– if someone calls it gnu, this is a pretty reliable “shibboleth” that youre dealing with someone who cares about your freedom. if you call that? great. if you dont? whatever. you are actually more likely to sell me out as a user, but thats just on average– by itself it “proves” nothing.

and you know what? this page isnt entirely useless, as advice:


i absolutely hate linking to pages on the gnu website. i hate the creative commons “-nd-” licenses, for all the same reasons stallman hates “non-commercial” software licenses. not some of the reasons, “software is practical…” all of them. we live in a world where ai software is reading the internet and making decisions based on it– all cultural works are software!

but i digress. on the “words to avoid” page, it points out that it is not only trying to combat “propaganda terms” (with different propaganda terms…) but:

“others presuppose a viewpoint that we disagree with, and we hope you disagree with it too.”

OKAY, CAN SOMEONE TELL ME why in order to get forum support with trisquel, i have to adopt whatever religious tenet du jour crops up on that page, and rethink every word i use to conform with your mindset?


lets talk about how far im willing to go with this concept, before i tell you what i think “goes too far.”

a corporation wont tell you what words to use. what they will do is put whatever words they want you to use into the mouths of your favourite plucky tv character or mascot, write it into a jingle or script for a commercial, and hope for the best.

its not like its only “darned hippies” trying to take over your brain and opinions through language here. its commonplace. corporations are good at it, too. and most of it goes unnoticed, even if you know what to look for.

a clever person with a wicked sense of humour might joke that you should use other terms instead– parodies achieve this. british comedy achieves this to the point where we celebrate it all over the world. occasionally, richard stallman achieves this. insomuch as this is tongue-in-cheek, im absolutely fine with it.

clearly, on the gnu website (and in interviews) stallman is at least partly serious. he might even be “haha, only serious.” im even ok with that.

and im not even disputing that you can make more or less whatever stupid rules for your community that you please. but if the rules are stupid enough, perhaps someone ought to use their freedom to mention that theyre stupid, and why.

i think “open source” is a pseudo-secular religion that worships corporations, and that it calls free software a “religion” as a slur far too much, and i hate the double standard. if they would knock that off, i wouldnt call them a religion in the first place. im only doing it to be a little unfair. and im only being a little unfair to return the favour.

but every community seems to act a little like a cult now and then, and putting the “words to avoid” in the forum rules is going too far.

if i worked at a corporation, they can (and will) give strict guidelines regarding wordage to represent the company officially with.

if i work for a large non-profit organisation, they can (and likely will) give similar guidelines– again, when i am representing the organisation officially.

and in either situation, i may get reprimanded or disciplined if i go too far in my critique of the company or organisation, though i still have rights to make reasonable critiques (in an unofficial capacity) without fear of reprimand.

forcing forum users to act like theyre on the clock not just while volunteering, but asking for support just goes too far. its more like a corporation treating me like a paid employee (with all the same expectations) while im calling their help line.

and to be honest, the “words to avoid” page with its “others presuppose a viewpoint that we disagree with, and we hope you disagree with it too.” gets a bit ridiculous:


“When the purpose of some program is to block advertisements, “ad-blocker” is a good term for it. However, the GNU browser IceCat blocks advertisements that track the user as consequence of broader measures to prevent surveillance by web sites. This is not an “ad-blocker,” this is surveillance protection.”




it doesnt “protect” you from surveillance at all. it helps “resist” some forms of surveillance, but mostly its an ad-blocker.


when i have to basically lie to myself to keep you happy, and i have to repeat whatever nonsense you say for you to help me, youre basically treating the minds of your forum members like those of vietnamese pows:

“The aim of the torture was usually not acquiring military information.[10] Rather, it was to break the will of the prisoners, both individually and as a group.[10][12] The goal of the North Vietnamese was to get written or recorded statements from the prisoners that criticized U.S. conduct of the war and praised how the North Vietnamese treated them.[10] Such POW statements would be viewed as a propaganda victory in the battle to sway world and U.S. domestic opinion against the U.S. war effort.[10][13]https://en.wikipedia.org/wiki/U.S._Prisoners_of_War_during_the_Vietnam_War

and i dont think im exaggerating at all. we agree that surveillance is an important issue.

i also think not using mind control techniques on your forum members is an important issue.


free software matters because free speech matters. its your forum. therefore, you get to decide in what ways “free speech” matters to you.

but if your rules are stupid enough for me to avoid your distro (which i used for years actually, though i dont really recommend the forum!) then im going to use whatever forum i have to say “hey!” ”

“this goes way too far.”





ruben rodriguez may be misguided at times, but he is not a monster– and he has two ways to contact me (one besides replying here) if he has anything to say about this.

what im guessing he will say: “we didnt expect anyone to take it that seriously.”

yeah, i would expect that a lot of places– but gnewsense, despite being a similar project, does not list such a rule anywhere that i can find. (and it does not have a forum– both projects have mailing lists.)

ive been to the trisquel forums before. theyre serious about this sort of thing. i still think this goes too far, but in practice? tell me how its different in practice.

up to point i can tolerate this sort of thing– past that point, it becomes completely orwellian and ridiculous. if you think this doesnt happen on actual free software (and open source) forums, then you havent gone to many.

i honestly think that stallman wrote that page in effort to counter propaganda, but what he ended up with was counter-propaganda.

please dont tell me that you expect me to fight propaganda with counter-propaganda. the only way to win against propaganda in the long run is with actual freedom and honest discourse.

in the short run, any dirty trick will apparently do just fine!



and p.s.

trying to get gnu/linux to work (for the first year or two at least) can be extremely frustrating. i might not compare it entirely to “torture”– but paired with the stuff of written “confessions” to the faith, the comparison to pow camps or the spanish inquisition is just a little too apt! could we at least try to stop doing this to people?

also, please no cheap shots about reaching out to cainama, the official distribution of an actual communist government— (too late?)


we could only benefit from the “end of the distro”

first, for those unfamiliar, lets talk about what a distro is: a distro is a self-contained “software distribution”; a bootable collection of software (including an operating system) in the way that a make and model of a car is a particular style and set of design features.

technically speaking, a distro is normally in the form of an .iso image including binary software packages, to be written to a cd or dvd or usb and then booted on a computer (or cloud instance/vm, etc.) in a few notable instances the distro is just source code, and you have to compile it first.

the binary distros that most people use also start as source code– code you can download and compile yourself. for most of us (including myself) it is easier to download pre-compiled software packages, even though ive compiled a few and thus know what a challenge and exercise in patience it can be.

from this fact (its easier for most people to download and use pre-compiled packages) we get distros– enormous collections of software which is usually pre-compiled for a certain kernel and hardware architecture. important is that you can still get the source and change it and share it and recompile– but this is the exception (as it is needed) and pre-compiled is the rule. so before you get the source to leafpad and make your changes and compile it– you have an entire working operating system from the usb live boot (or, the 15-minute installation process.)

there is absolutely nothing wrong with any of this– necessarily. but in practice, a new distro may only start out with a few people (or even a single person) doing all the work, and in the examples where the distro gains a very large number of users it generally leaves a single person in charge as the “boss” (or bdfl) and slowly creates a staff of developers, contributors and volunteers. and thats fine as well.

because there are so many distros, the user has so many choices. if youre looking for a desktop distro right now, you have literally hundreds of choices. the choices narrow a bit if youre still using 32-bit architecture (either for hardware itself or just for the kernel on 64-bit hardware.) they tend to narrow quickly based on factors such as:

* supports 32-bit, 64-bit only, or both. (most 32-bit distros will run on 64-bit hardware, at occasional costs to performance and compatbility. for example, new versions of firefox are 64-bit only.)

* supports arm, x86 or mipsel cpus (ive owned all of the above and even one machine with powerpc architecture. very few distros support mipsel; i used gnewsense at the time.)

* requires some acclimation to the command-line. nearly all distros will ask this of you at some point, for some task. some really go out of their way to shield you from this, though its always easier to say:

sudo apt-get install leafpad

rather than: “go to the start menu, click on system, then click on synaptic, then when it opens select applications, then accessories, then leafpad, then click install…”

* works on less-than-amazing hardware

reasons people create distros:

* just because they can
* because the alternative sucks (or has started to)
* because they need to / there is no alternative for a certain situation
* because theyre good at it, or conversely:
* just to learn

not all distros spend a very long time being maintained before they are abandoned; the same can be said for any software. sometimes a better alternative comes along and the people working on a quality distro decide to close shop and let the competition take care of similar needs.

most distros can be distinguished by design choices like:

* which software is included / supported / installed by default

* which desktop or init is supported out of the box

* which package manager is supported for managing installed software

* whether the distribution includes certain drivers, software and codecs out of the box, or how easy/difficult they are to install

i actually dont want to deal with any non-free software, particularly in my live image (.iso) because i consider it tainted then. i either want to know exactly where it comes from, or i want public access to the source-code. preferably both, but im definitely willing to make a few exceptions if all the source code is available.

i also like free software and non-free to be in different repositories (download addresses, online collections) like they are in debian and devuan.

for this reason and others, i have preferred debian-based distros for at least 10 years, or all the time since i stopped dual-booting with windows.

some of the distributions ive used are:

debian (itself)
debian > xubuntu
debian > ubuntu > trisquel
debian > gnewsense
debian > devuan
debian > devuan > refracta

xubuntu, ubuntu, trisquel, gnewsense, devuan and refracta all come directly or indirectly from debian. note that the pre-debian distros all led me to move “upstream” to their source distro, but then debian started pushing me “downstream” again to derivatives like devuan and refracta.

the same forces that led me to choose debian in the first place are the ones that forced me to move away again:

* organisational politics
* software choices
* convenience
* lack of quality support

in some but not all instances, you can get around anything political by just *removing* the software you dont want. dont want to support openoffice since oracle acquired sun and made openoffice a joke? just uninstall it and install libreoffice instead. easy.

if youre lucky, the distro maintainers will agree and do this anyway (they did.) if youre not so lucky–

there will probably always be some “out of the box” distros for people who dont want to mess with anything (even installing a program.) they will make decisions for you, and youll be happy with that because you dont want to make those decisions.

but for many people, they will have to choose something at some point for some reason. and when the distro maintainers makes choices that align with yours, youll choose their distro. along with thousands of other choices they made for you– and hope for the best.

and if they make one terrible decision, you might even stick with them just because its easier than changing distros. maybe you have 250 machines running ubuntu, and have no time to migrate all those systems. or you have to get the change approved, and its a big change (operating system level) and–

these are real-life concerns and pitfalls, they affect actual organisations and individuals. often they have price tags in real money, even when the software is “free.”

after a couple more terrible decisions, you are forced (as i was a couple years ago) to look for alternatives.

you know the number-one advantage of gnu/linux is that you can change anything, right? so when someone comes along to be the steward of those changes for you– its a favour.

and if they do a good job, you may want to return the favour, or give them money (i did that recently, making yet another donation to free software. you usually get your moneys worth too– even when you spend real money.)

but just like a binary distribution still makes the source code available, you still want the software you use to be good for your purposes– and you want the organisation you allow as the steward of your distribution choices to still give you ways to be in control.

someone who releases a ready-to-use distro (installation not always required! boot it and go…) by design has to make certain decisions ahead of time– thats ok. but i dont want to be cut out of the ability to change things later. and if i invest enough time and effort (especially when it helps the maintainers) i hope to be taken at least a little seriously when i have concerns down the road.

this is not a requirement, but its nice. and what i dont expect, when ive invested time and effort making someone elses distro (at the very least) look good is:

i expect to be treated fairly–

not smeared or talked over–

not treated like dirt or bullied by the people maintaining it–

in short: im a person, too.

but lets pretend for the sake of argument that im an intelligent robot, and your human feelings and emotions are all a mystery i will never experience first-hand.

i still have practical decisions / imperatives to consider, and at some point, your distro will stop meeting them.

although i have framed most of what ive said in terms of whats ideal or whats preferable, i actually think things are already moving more in this direction. my goal here is to talk about where things were going, where they are going, and where they are most likely to go.

the truth is that distros that used to go to great lengths to make their designs accessible (and easy to alter) are now going in a different direction– while they used to require OTHER DERIVATIVES just to make them friendly and appealing, they were already easy enough to customise at every level.

old reliable stewards of cutomiseable distro offerings are becoming less reliable, more arrogant, even increasingly proprietary– as much as thats possible in situations where source code is available. what “proprietary” means in such a context is as much about attitude and approach as it is about whether you have the source code or not.

please note, that as long as the source code is available (under a free software license) that it is NOT *technically* proprietary. but there are still ways to take free software and put it together in an obtuse way that makes it harder to decouple than it started–

we arent just talking about things that are poorly designed, but things that are put together in a way that starts out quite free/open but gets increasingly obtuse to use any other way. call it “pseudo-proprietary” or whatever you want, its what happens when a distro like debian (or ubuntu) starts trying to extend itself in a way that makes it more difficult to stay compatible with other things.

sometimes this is unavoidable– other times, it really does seem like the purpose is to create software lock-in.

worst of all is when this isnt just done once, but something is made increasingly monolithic and complicated in a way that almost certainly deliberately and willingly breaks anything that is made to be compatible. in the proprietary world this leads to allegations of antitrust violations– in the free software world, this should never happen, at all. at least, it shouldnt…

a lot of people started using gnu/linux precisely because it is so robust against such lock-in attempts. but it is not impervious.

whats the *practical outcome* of all that? well, youre hypothetically trapped using things you dont want, because theyre all “stuck together” or bundled in a way that is too much trouble to separate.

this is what a distro should not be, but (up to a point) can arise innocently, through just a certain amount of laziness.

all of that is fine until for some reason, you need to fix it– thats when it starts to really matter. now you are looking for another distro, one that has a little less disdain for users (or non-developers. this includes most developers, since most developers will not have access to the developer process on the distro level– except in theory.)

how you put together your browser or game or python library is entirely up to you. how you interface with a distro is– well, entirely up to that distro. as mark shuttleworth once cynically pointed out: they “have root” and have to be trusted with full access to your computer.

which is EXACTLY WHY you should never build a circular argument like his, which basically says “you trusted me to build your operating system until now, so you should trust me with this decision too!”

no mark, thats what was being questioned that you arrogantly dismissed– SHOULD WE continue to trust you?

i was one of those millions of users that trusted him earlier on. i used ubuntu breezy (among others) on my computer.

apparently, mark shuttleworth thinks im an idiot now.

it would be tragic if you thought i was really singling out debian or ubuntu here– the majority of what im talking about cannot be pinned squarely on either shuttleworth or debian.

in fact, every distro (or application) that is around long enough will probably become under management as arrogant as this. at first, it is like being part of a family– then its a community. eventually its a class system, with users at the bottom (or preferably on another planet.)

this is not good business, its not a good attitude, its not good support. it begins as cooperation and contribution and over the years, it becomes more like an ongoing battle.

it can even turn into lying, bullying and bad security.

so lets not pretend the solution to any of this is an agreement that everyone is going to “be nice or gtfo.” thats superficial, it creates new problems and glosses over others– and its all the rage, too.

what we need is integrity, honesty, and making the user #1 again.

oh no, how do you make the user #1?

well, extreme coddling is out. every time you make it something closer to idiot proof, someone builds a better idiot. if that wasnt true, everything would be idiot-proof by now. thats certainly not what im talking about.

making it so you can customise EVERYTHING is out, too. we have already done that! dont like your system? wipe the drive and build the o.s. yourself. it will only take a few years of study to learn gentoo (please dont flame me, some of my best friends use gentoo, ok? gentoo is a fine solution for gentoo users. im not even joking.)

making it so you can customise everything isnt a real goal anymore, we have had that for years. its so extremely tedious, most people use binary distros. thats the reality, unlikely to entirely change in the next 25 years. really, 25. (unless “ai” does it, then i take it back.)

what about keeping it so you can change anything? really anything? well, we had that before, really… we had it, and we are losing that, at least in many places that we had that before. i consider debian to be a place where we had that and have lost that, again really.

but i maintain that debian is just one example. ubuntu has done this so many times, i dont know how they can maintain their standing in the distro world. i think it hurts them every time–

“we are the friendliest distro! if you dont like that, !@#&%@&% @#%@#…”

sorry, the *what* distro?

“dont trust us? we have root!” oh, boy…

its important to note the largest examples of this, when ive witnessed so many examples of this over the years with smaller distros too. youd think “buy local” or a tighter, more closely-knit community would guarantee success, but i havent noticed.

ok, so enough whinging– where on earth is this going?

well one more thing before i get to that– let me tell you where i with devuan. with devuan i was a believer, now im more of a sceptic, but i still think in terms of medium-to-large-scale efforts theyre the CLOSEST THING to the right thing, for now.

in other words, people should be watching them and learning from them. and then not duplicating 100% of what theyre doing. if it works for them, great– thats better than what debian is doing, imo.

even better than devuan is refracta– full disclaimer, i know the primary refracta developer personally and i absolutely trust him personally, though that doesnt mean refracta wont suffer the same way someday. its not like anyone can stop all bad decisions made regarding their work. its just not possible.

though im very happy to run my own derivative of refracta, which i use all the time. and refracta of course, is based on devuan.

but what i want to point out is– that most of the time when distros are forked or derivatives are made– that so much of this is done “by hand” or by installing, making changes, and then making a new snapshot of the system.

or, the system is made from source, a lot of which is done through very redundant, manual or otherwise tedious efforts, which could be replaced with automation.

perhaps a certain amount of manual touches will always be required, im not disputing that. years ago i watched a video from someone involved with ubuntu, encouraging debian to automate more of their processes, like ubuntu has. i considered it a solution in search of a problem, i wont pretend otherwise.

then debian encountered some serious problems, i started using devuan regularly in march of 2015, and devuan started doing a number of the things that ubuntu had suggested.

part of the reason devuan automates more than debian is *it has to*. debian is made from countless volunteers– and it requires the infrastructure (and politics) for managing a countless number of contributors.

devuan doesnt, and cant– and i consider that major progress.

refracta consists of an even smaller team, if only because what refracta contributes to what begins with devuan– while valuable– is considerably a smaller amount of activity. i dont think anyone involved would deny this.

and what i change in refracta is smaller still– consisting of one long script that is fully automated.

devuan can be smaller than debian because they automate.

refracta can be smaller because they start with devuan, which is closer to what they need.

and i can entirely automate my changes to refracta.

i believe this is the future– but i also believe that will move us farther from the concept of a “distro” which is ultimately a branded, bootable software bundle anyway.

to be fair, it can certainly be more than that. but it often isnt, and at worst, a distro is a mess. if you try to rely on a distro for more than 5 or 10 years at a time, you might think so too.

but i believe we are moving closer to a situation where if you think my distro sucks– it will be easier than ever for a person who hates a distro to VERY EASILY have a version that just doesnt suck.

if enough of us keep that as one of our goals. while i disagree with a lot about devuan (enough to keep me away from it as my goto distro) theyre still doing a lot of things (and have certain goals) which we need MORE of right now. so in some ways, they are setting a great example.

with regards to community management, im not entirely sure its better than what debian offers. i wont go back to either.

but infrastructure-wise, what devuan is doing is much closer to what we need, and should be building.

we shouldnt be making distros, so much as we should be making distro factories– thats exactly what i believe devuan is doing and we need more of that (someone with ubuntu basically presented this to debian years ago.)

what refracta is doing is probably the only reason i can stand devuan right now– and devuan does absolutely NOTHING to get in the way of refracta doing that (on the contrary, they are making very good use of such efforts.)

and refracta probably wouldnt meet my needs unless i was working (at least as recently as last year) on fully-automated ways to alter it– which i actually designed to help another distro entirely, mostly to find out if it was possible (i had no experience with anything like that.)

but whether you pay any attention to devuan, or refracta, or my own mkfigos (make fig os) its the concepts that im trying to present here, not the examples–

use automation to prevent distros from being pseudo-proprietary bundles.

some automation will be overkill.

some customisation will remain tedious.

but these things are steps in the right direction– even as the old stewards of free software (and non-lock-in) turn on their users and become bullies and produce pseudo lock-in.

whether a good job is being done of it right now, or not– some people really are working to keep the dream alive.

and the dream is that the user isnt a peasant, or cattle. thats a dream im very willing to support, one way or another.

alex 2.0: cool features since 1.6

source: https://ptpb.pw/eRWF

since 1.6 the following changes were made:

  • dc now displays colours properly in windows (it was showing nearly all files in green)
  • findsim searches for files that have similar contents
  • echo $v is improved in windows (it already worked fine on other platforms)
  • sleep n, lcase, ucase added
  • arrcurl, chr added




alex 1.6: replace ls with dc

source: https://ptpb.pw/5snr


from alex:

  • find | dc 80
  • find /home/user | dc
  • find c:\ | dc 115


from the shell:

  • echo “find | dc 80” | ./alex16.py
  • echo “find /home/user | dc” | alex16.py
  • echo “find c:\ | dc 115” | python alex16.py


dc displays the file contents of multiple paths, in multicolumn format (width determined by optional number. default is 80.)




alex 1.5: noreps, other enhancements

source: https://ptpb.pw/PhJm


1.5 has –noreps, which outputs each line piped in a single time; output does not have to be sorted.

–fields no longer creates a trailing space per line; it still produces one space between fields.

and it is now possible (in both gnu/linux and windows) to echo a script to the shell without having it loaded already, offering the best features of your shell and alex together:

echo "dir | rainbow -f" | alex15.py




alex 1.4: new features (since 1.1); rainbow, ascii

source: https://ptpb.pw/Z3xA


since 1.1, alex now has:

  • –rainbow …show text in colours by groups of lines
  • –rainbow -f …show text in colours by field
  • –rainbow -p …show text in colours by exact column position of each field
  • –rainbow -l …show text in colours by indent level
  • –ascii …show text as ascii codes
  • –ascii -h …show text as ascii codes in hex
  • –isoplus query …works like grep (also in windows)


find /mnt/le | grep gif | fsortplus


find /mnt/le | grep gif | fsortplus | rainbow -f