everything wrong with free software

 "free as in speech"

### [generate-title] other pages: [[muckrights]] | *originally posted:* jan 2021 *why use javascript?* the first thing you need to know about the choice of javascript is that im really not much of a fan of javascript. it is used too often, it is more tedious (in my opinion) to code in than other languages i would prefer to use, its biggest advantage is also drawback (javascript is ubiquitous) and i am aware of all the complaints people make about its use in webpages, because i make them myself-- so why on earth would i use it here? the answer to that is simply that i went over (and actually tried) other alternatives, from bash to python to pure html, ive tried compiling my webpages to static html from markdown that isnt just similar to the standard, but modified to my own preferences so i can edit the way i want to-- i am capable of doing this in several different ways, and ive tried it several different ways. the way i get the most from happens to use a language i still wish was used less often. people still recommend alternatives. the rest of this page might explain why i dont use those instead; but some of them are not different enough from things i already tried. theres nothing like correcting a typo, recompiling a page, and then uploading it compared to the SIMPLE edits i do to maintain a wiki here. no, i dont love this solution either, but i dislike the other things ive tried more. there are not a lot of client-side options; i went with javascript because its client-side and more lightweight than frameworks. i abandoned compiled static html as after a year or so i noticed i didnt bother fixing things i wanted to fix if i made that much work for myself. you can call it selfish, but using a solution that results in putting off more work needs major justification. i wrote my own solution for doing my own work-- this is not designed primarily around displaying text, it is designed around that and other priorities. the solution you think i should use probably *wont* do that. *but javascript is a security issue-- i dont use it for that reason* you are *correct*. when i go to a website i dont trust (practically any) i will probably leave if it doesnt work without javascript. thats why instead of getting a blank page or a message telling you who to trust, you get all the text that would be on the page anyway. its all jumbled together, which makes that useless, right? well no, a lot of times when i go to a website i dont trust enough to turn javascript on, im really only looking for a little snippet of text anyway. that loads FIRST, even when javascript is turned on. but maybe you dont even want to use a browser, youre on the command line and just want to read with wget -O- or something. (curl is github, i avoid it mostly). the way this works, if you are that sort of computer user, you just wget the page and MOST of the content use a syntax more minimal than html so that you can just read the contents-- whether its code, prose or links (urls to graphics or other pages). so its not just made that way to make it easier to edit, its easier to read without javascript-- even without a browser. but this is a tradeoff. if i compiled static pages, the source would be readable with wget (but id have to host two files for everything, which most people would never bother using) but the compiled html would still suck for that. now you have to pipe it through some html-to-text program. maybe that works for you, but i havent used those for a while. these pages load relatively nicely with wget. or curl. or netcat. the javascript is a single page-- its not PRETTY, but its very easy to audit. compare it to a javascript framework which is probably hosted and developed on microsofts github servers. but again, if you dont want to turn on javascript i understand. if you arent a command line sort of person, view source works pretty well-- even with javascript turned off. so you have choices *but static html loads faster* it sure does. but its awful to edit or keep recompiling-- theres another alternative to using js that loads faster: *plain text files*. believe me it is very tempting, ive even run a gopher server. ive run a web server that compiles static html on the fly, and its faster than this solution. but i havent run a server in a long time. these pages are "static" in that if you have a host with no support for php, perl, node or python-- you can mirror these pages and they will work the same way. i have no fancy hosting, so im offloading some of that work onto your browser. but the page gets to your browser quickly under normal circumstances-- it just takes a moment to arrange itself. you get one css page (i could add that to the javascript instead but people would hate it) plus one html page plus one javascript. then if there are images-- i only use those when there is really no alternative. but there is no way to do static html that suits my purposes, even if it is compiled than uploaded. its too tedious and i do less stuff because of it. *couldnt you mirror a static version?* if just one person cares enough about what im doing to mirror a static version, everything is freely licensed. i dont think its that important, but the option is there-- you dont even have to ask. just take it and mirror it. **to get the wiki code, view source or use wget. to get the static html, select the whole page from the browser then view selection source.** -- i dont know how this is done or if it can be done in your chromium-based browser. if nobody cares enough to do that, it probably isnt worth the effort on my part either. its not that i dont care, it would just be a lot of work for someone who hypothetically cares about the difference. i dont think many people are going to visit. i dont think lack of static html is the reason. you may think thats the reason, you could even be right, but i doubt it. feel free to prove me wrong and create a mirror which gets way more visitors than mine. youd only be helping. cheers. *there has to be _______ on github that does what you want* its weird how product-oriented our way of doing things has become. when i started working with computers, it was fun to make things. now people just want to use stuff from github. *i dont*. its not that i dont use software written by other people-- most of the software i use is written by other people! but i didnt learn how to code just to adapt giant projects that constantly add features i dont need and drop features i rely on to my workflow. sure i do that when i have to, but its not my idea of a good time. id rather make something simple thats stable, at least for me. i dont doubt someone could improve it, and they are free to do that. my talents only go so far-- javascript is not something i typically use when i can help it. im proud of what i made, im aware of its limits. it still does what i want, but other things dont. i did not spent years migrating from windows just to get pulled into another microsoft-owned ecosystem a decade later. thats exactly what github is, and i want nothing to do with it. its bad enough that they now control node-- they didnt when i wrote this-- i still use python because the best software i ever wrote uses python. i tend to make my python projects work with pypy, because its not on github (and i still prefer python 2-- which pypy supports and the python foundation does not-- but i dont care about the python foundation-- theyre too close to microsoft). so i do what i can, but over the years github has turned into and still is a hegemony. im sorry, when someone recommends a new tool to me, the first thing i do is find out what it needs from github-- if its a lot, i probably wont bother. after more than a decade of using gnu[lit]/[lit]linux i switched to bsd because it has a future without microsoft, and the linux kernel does not. you tried to make systemd mandatory-- even the projects that "dont need it" and "dont have it" have large pieces of it because that entire ecosystem is being rebuilt around a more monolithic (corporate-controlled) design. no thanks. if i went to the trouble of switching which operating system i use, i probably dont want to start using frameworks that need 3 or 4 or 5 different things from github-- while the project itself is also developed on github. right now its impossible to make a github-free operating system. youd have an easier time doing that with bsd-- bsd is forkable, linux really isnt. linus himself couldnt fork it at this point if he wanted to. but we need to get away from github. dont bother recommending new tools to me from there, i dont want them. *tradeoffs* there are a lot of advantages to the way i designed this. they may not be priorities for you, you may very much prefer designs that prioritise other things. each advantage and design aspect that went into this has a tradeoff. im not saying its "better" because its unconventional, i really tried to keep it simple in ways that are easy to explain (few files, no server side functionality needed, low bandwidth, works from the command line or a browser, javascript in many ways optional) but each decision put one goal over some other goal. its also a system a certain level of beginner can learn a lot from if they take it apart and change it to do something they want. if you think its too slow, youll need to be more talented than i am to fix that-- i did some things to keep features not used on a page from slowing everything down, but mostly the simple parser is not very efficient-- and im not interested in trying a dozen alternatives, trying to make each one work just to have the developers break it a year later. with this, you at least know what youre getting. the source is easy to find your way through. sure, its fugly-- if you improve it for use on one of your websites, someone might like your version better than mine. or they may just use something from github-- but id rather not. home: [lit]https://wrongwithfreesw.neocities.org[lit]