[{"data":1,"prerenderedAt":1421},["ShallowReactive",2],{"blog-posts":3},[4,612,846,1049,1231],{"id":5,"title":6,"author":7,"body":8,"date":597,"description":598,"extension":599,"meta":600,"navigation":601,"path":602,"seo":603,"stem":604,"tags":605,"thumbnail":609,"wordCount":610,"__hash__":611},"blog/blog/RTFM.md","RTFM!","Stefano Rebulla",{"type":9,"value":10,"toc":581},"minimark",[11,16,28,32,57,61,64,71,78,81,84,88,105,118,125,129,144,151,155,164,169,450,454,529,538,541,545,551,561,565,568,571],[12,13,15],"h2",{"id":14},"this-is-a-rant","This Is a Rant",[17,18,19,20,27],"p",{},"I know the title may trigger some of you, or you may not even be old enough to understand the acronym. ",[21,22,26],"a",{"href":23,"rel":24},"https://en.wikipedia.org/wiki/RTFM",[25],"nofollow","\"RTFM\""," means \"read the f*n manual\", and it was used quite a lot online, and in person, in the late 1990s and then the 2000s. Please bear with me on this, as I hope to make some points that are very valid still today.",[12,29,31],{"id":30},"context-for-contexts-sake","Context, For Context's Sake",[17,33,34,35,42,43,46,47,50,51,56],{},"I belong to a generation of humans that had, in the computer space and outside, access to a \"manual\" for anything. Your new coffee machine, your car and your vacuum cleaner all came with at least one nicely printed manual. This trend was started with the quick adoption of cars and appliances after WW II, and quickly spread to ",[36,37,38],"em",{},[39,40,41],"strong",{},"anything","! It then only made sense that the blooming personal computer industry of the late 1970s and early '80s would pack the box of their latest and greatest with a plethora of manuals, guides, and reference material. But... ",[36,44,45],{},"this"," was very ",[36,48,49],{},"\"linear\"",", i.e. in return, it was expected that the user of any machine or appliance would take at least some time to learn about the \"quirks and features\" (© ",[21,52,55],{"href":53,"rel":54},"https://www.youtube.com/@DougDeMuro",[25],"Doug DeMuro",") of their shiny new \"thing\".",[12,58,60],{"id":59},"where-am-i-going-with-this","Where Am I Going With This?",[17,62,63],{},"As mentioned above, the term \"RTFM\", though it may have been created sooner than I ever caught it, began being used quite a lot in the '90s, and specifically around computers and their software. After all, a product like the MS-DOS 3.3 retail box from 1987 included around 300-500 pages of printed manuals, depending on the specific edition you got, giving a user a good library to learn and implement, and MS-DOS 6.22 from 1994 reduced this to less than 150 pages, probably so that new users would not be overwhelmed. But it was true in 1994, as it had been in 1987, that a user would at least have access to most of the documentation for their product in printed form.",[17,65,66,67,70],{},"But if any user wanted to dive deeper into their new tool or cool software, they could just go to their local bookshop and find many books to purchase for any specific topic. This period is also when the famous \"For Dummies\" series was born. It started in 1991 with, ",[36,68,69],{},"drumroll",", a book titled \"DOS for Dummies\", and has since expanded to cover many more topics beyond computers and software. While in university, I regularly went over to the \"computing\" section at bookstores, and bought a number of books I needed and liked over the years. This time, however, was about to end, and, please allow me to become sentimental about this: it is truly, deeply, missed.",[17,72,73,74,77],{},"As the Internet became more widely accessible to people in the early 2000s, \"RTFM!\" was an acronym often used to dismiss questions by new users (the ",[36,75,76],{},"\"noobs\"",") on online forums, who would ask questions that could be answered by just reading the documentation that they already had. For my purpose, at this time, most software did indeed have a solid documentation, either in printed, or, increasingly over the years, in plain TXT or PDF format, that could be accessed in dedicated directories on the floppies, CDs and DVDs that the hardware and software shipped with. This was, admittedly a strongly-worded form of telling a user that \"page 193\" in the manual they already had access to would have already answered their question, instead of potentially having to wait for days for the community to reply to their message. Yes, the Internet was way simpler then! (Though humans never change...)",[17,79,80],{},"From my personal experience, I saw that many questions I read in these forums were asked by new users out of laziness, but also because of lacking skills in English by many, at least in Europe back then, and a closer look at the provided documentation would indeed have helped them solve their issue. In one case, while working as a computer sales rep in a specialized department store, a colleague eventually snapped at a customer, literally shouting at him \"when you buy a car, you don't also get a driver's license, and it's no different here!\" I was not far away, serving another customer, and indeed, that person had been asking him way too many questions, that, I get, a new user would like to ask, but he, the customer, did not understand that we were there to sell products, and not provide hand-holding computing courses.",[17,82,83],{},"Eventually, the term \"RTFM\" was superseded by \"Google is your friend!\" in those exact same forums, making them more friendly and not too dismissive of new users.",[12,85,87],{"id":86},"houston-we-have-a-problem","Houston, We Have a Problem!",[17,89,90,91,94,95,100,101,104],{},"You see, computers and their software have become ",[36,92,93],{},"waaaay"," more powerful over the years, multiple magnitudes over. I'm not joking: the NASA Apollo 11 computer is outperformed by a modern iPhone, as of about 2019 or 2020, by a factor of ",[36,96,97],{},[39,98,99],{},"over 100'000'000 times!"," While this does give me a very powerful perspective on ",[36,102,103],{},"\"that thing landed humans on, and returned them from, the moon in 1969!\"",", it also gives me another, and even more powerful perspective on the modern computing reality we live with today.",[17,106,107,108,111,112,117],{},"And I also realize that the reality of just over 20 years ago is simply no longer feasible, or even possible. The modern world has become much faster and more closely connected than it ever was in humanity's history. We have all purchased ",[36,109,110],{},"that"," gadget from Amazon or some other online platform, only to receive it with a tiny folded piece of paper, printed in Chinese and, perhaps, some poorly-translated European languages, that is supposed to inform you about its compliance with modern-day legal regulations, and not much more. Want a manual? Sure, their website's support section will be available for you, if you're lucky, to peruse all their written material, but you just need to register for a ",[36,113,114],{},[39,115,116],{},"FREE"," account first... (🤬🤬🤬)",[17,119,120,121,124],{},"It is very clear that the speed with which modern products are created and shipped greatly outpaces the possibility of writing a manual that will be able to cover most, and barely all, of a modern product's features, especially in software. This is a space where I indeed hope that AI and LLMs will be able to provide new support, as products keep getting more complex (which I like), but also where finding out just ",[36,122,123],{},"why"," that feature behaves as it does is no longer as easy as it once was. Yes, I'm hopelessly romantic on this!",[12,126,128],{"id":127},"practicality","Practicality",[17,130,131,132,135,136,139,140,143],{},"I distinctly remember one day many years ago, when I purchased a new PC as a mechanical engineering student. Turns out, I was eligible for ",[36,133,134],{},"huge"," discounts on the software, and I paid for my shiny new 486DX-33 dream machine with some savings I had. (It's also pretty telling of the margins of the computer store I visited at the time that they gave me a ",[36,137,138],{},"free"," HP LaserJet 4L printer, and also a free HP DeskJet 500 I then sold to a fellow colleague...) Microsoft has always been, after all, quite generous with students, because they want the students of today to be already trained on their products for the workforce of tomorrow! I was indeed one of them, and included the full version of Office Professional 4.3 with my Windows 3.1 (",[39,141,142],{},"not 3.11!",") PC purchase, for just a small fee. However, due to shipping mistakes, the Office retail box only arrived weeks after I had picked up my computer, and therefore I had to go back to the store just for this.",[17,145,146,147,150],{},"When I arrived, the person at reception already had the package on the desk... It. Was. HUGE! While the 40+ 3.5\" floppy disks to install the suite were certainly adding to the total heft, it was the number and ",[36,148,149],{},"sheer volume"," of the included manuals that made the box truly heavy. While I do not remember exactly how many manuals were included, and cannot find exact references online right now, I do remember there being at least two manuals for each product included in the suite: Word, Excel, PowerPoint, and Access. Each was a book of at least a couple hundred pages, so this all adds up!",[12,152,154],{"id":153},"getting-there","Getting There",[17,156,157,158,163],{},"When I started this new developer journey, I sometimes found myself thinking about \"how many old-style, ring-bound books would Apple need for its entire developer documentation, today?\" This question came pretty much every time I ventured into the many-many-many pages of the ",[21,159,162],{"href":160,"rel":161},"https://developer.apple.com/docs",[25],"online documentation"," for Apple's iOS and macOS, and Nuxt, Vue and TypeScript lately. As a fun excercise, I just asked ChatGPT \"how many manuals would it take to print a well-written and beginner-friendly documentation of a modern (24.04) Ubuntu Linux distribution, in ring-bound DIN A5 size\", since this is all open source and freely available. Well, see for yourself:",[165,166,168],"h3",{"id":167},"manual-page-ubuntu-documentation-breakdown","Manual-page Ubuntu documentation breakdown",[170,171,172,189],"table",{},[173,174,175],"thead",{},[176,177,178,182,185],"tr",{},[179,180,181],"th",{},"Binder #",[179,183,184],{},"Title",[179,186,188],{"align":187},"right","Pages (DIN A5)",[190,191,192,204,215,225,236,246,256,266,277,287,297,307,317,327,337,347,357,367,377,387,398,409,419,429,440],"tbody",{},[176,193,194,198,201],{},[195,196,197],"td",{},"1",[195,199,200],{},"Quick-Start & Installation",[195,202,203],{"align":187},"200",[176,205,206,209,212],{},[195,207,208],{},"2",[195,210,211],{},"Desktop Walk-Through",[195,213,214],{"align":187},"500",[176,216,217,220,223],{},[195,218,219],{},"3",[195,221,222],{},"Desktop Power-User Guide",[195,224,214],{"align":187},[176,226,227,230,233],{},[195,228,229],{},"4",[195,231,232],{},"Server Basics",[195,234,235],{"align":187},"400",[176,237,238,241,244],{},[195,239,240],{},"5",[195,242,243],{},"Server Services A–M",[195,245,214],{"align":187},[176,247,248,251,254],{},[195,249,250],{},"6",[195,252,253],{},"Server Services N–Z",[195,255,214],{"align":187},[176,257,258,261,264],{},[195,259,260],{},"7",[195,262,263],{},"Networking & Security",[195,265,214],{"align":187},[176,267,268,271,274],{},[195,269,270],{},"8",[195,272,273],{},"Storage & Filesystems",[195,275,276],{"align":187},"350",[176,278,279,282,285],{},[195,280,281],{},"9",[195,283,284],{},"Package Management & Snapcraft",[195,286,276],{"align":187},[176,288,289,292,295],{},[195,290,291],{},"10",[195,293,294],{},"System Administration Tools",[195,296,214],{"align":187},[176,298,299,302,305],{},[195,300,301],{},"11",[195,303,304],{},"Shell & User-Command Ref. (I)",[195,306,214],{"align":187},[176,308,309,312,315],{},[195,310,311],{},"12",[195,313,314],{},"Shell & User-Command Ref. (II)",[195,316,214],{"align":187},[176,318,319,322,325],{},[195,320,321],{},"13",[195,323,324],{},"Shell & User-Command Ref. (III)",[195,326,214],{"align":187},[176,328,329,332,335],{},[195,330,331],{},"14",[195,333,334],{},"Shell & User-Command Ref. (IV)",[195,336,214],{"align":187},[176,338,339,342,345],{},[195,340,341],{},"15",[195,343,344],{},"Programming & API Ref. (I)",[195,346,214],{"align":187},[176,348,349,352,355],{},[195,350,351],{},"16",[195,353,354],{},"Programming & API Ref. (II)",[195,356,214],{"align":187},[176,358,359,362,365],{},[195,360,361],{},"17",[195,363,364],{},"Programming & API Ref. (III)",[195,366,214],{"align":187},[176,368,369,372,375],{},[195,370,371],{},"18",[195,373,374],{},"Programming & API Ref. (IV)",[195,376,214],{"align":187},[176,378,379,382,385],{},[195,380,381],{},"19",[195,383,384],{},"Programming & API Ref. (V)",[195,386,214],{"align":187},[176,388,389,392,395],{},[195,390,391],{},"20",[195,393,394],{},"Hardware & Device Drivers",[195,396,397],{"align":187},"450",[176,399,400,403,406],{},[195,401,402],{},"21",[195,404,405],{},"Troubleshooting & Recovery",[195,407,408],{"align":187},"300",[176,410,411,414,417],{},[195,412,413],{},"22",[195,415,416],{},"Strong Cryptography & Hardening",[195,418,276],{"align":187},[176,420,421,424,427],{},[195,422,423],{},"23",[195,425,426],{},"Cloud & Container Platforms",[195,428,235],{"align":187},[176,430,431,434,437],{},[195,432,433],{},"24",[195,435,436],{},"Index, Glossary & Errata",[195,438,439],{"align":187},"230",[176,441,442,445,447],{},[195,443,444],{},"Total",[195,446],{},[195,448,449],{"align":187},"12'330",[165,451,453],{"id":452},"weight-calculation-for-the-24-binder-set","Weight calculation for the 24-binder set",[170,455,456,472],{},[173,457,458],{},[176,459,460,463,466,469],{},[179,461,462],{},"Component",[179,464,465],{},"Quantity",[179,467,468],{},"Unit mass",[179,470,471],{"align":187},"Sub-total",[190,473,474,488,502,516],{},[176,475,476,479,482,485],{},[195,477,478],{},"Inside pages (80 g/m² paper)",[195,480,481],{},"12'330 pages → 6'165 sheets",[195,483,484],{},"2.49 g/sheet",[195,486,487],{"align":187},"15.34 kg",[176,489,490,493,496,499],{},[195,491,492],{},"Covers (300 g/m² cardstock)",[195,494,495],{},"24 binders × 2 covers",[195,497,498],{},"9.3 g/cover",[195,500,501],{"align":187},"0.45 kg",[176,503,504,507,510,513],{},[195,505,506],{},"Plastic ring/coil bindings",[195,508,509],{},"24 binders",[195,511,512],{},"10 g/binder",[195,514,515],{"align":187},"0.24 kg",[176,517,518,521,524,526],{},[195,519,520],{},"Grand total",[195,522,523],{},"—",[195,525,523],{},[195,527,528],{"align":187},"16.0 kg",[17,530,531],{},[36,532,533,534,537],{},"Please notice that the above ",[39,535,536],{},"does not"," include any packaging for the supposed 24 manuals. If this were real, and packaging all this material a \"thing\", it would require a great deal more packaging, think in the region of three separate cardboard boxes, probably each for eight of the above manuals. That weight is not being considered here.",[17,539,540],{},"You will understand that producing, printing and shipping millions of copies of just a single version of this documentation would be impractical, hugely expensive, and just plain unsustainable. With the speed of evolution computer software is going today, just the additional work needed for typos and bugfixes would be impossible to manage. Even if we forget producing actual books, generating the PDFs for each release would probably quickly drown even the most passionate startup. But documentation is necessary!",[12,542,544],{"id":543},"modern-times","Modern Times",[17,546,547,548],{},"While I am certainly very happy about the invention of PDFs (and plain text files!) and the practicality they bring, I wanted to explore the above before making my actual point: modern documentation still needs work. As someone who is just venturing out into modern software development, I find myself having to read a great deal of docs, and I know that many experienced devs rely on docs as part of their daily jobs. There are certainly quality differences between some sources and others, but the fact is that at least some docs are as bone-dry as a desert: they show just the basic syntax, with no examples and perhaps just another reference that will be exactly as dry as the one you're coming from. I have seen this ",[36,549,550],{},"so. Many. Times!",[17,552,553,554,556,557,560],{},"This reality is most likely what created the modern \"YouTube tutorial\" ecosystem around pretty much any platform and programming language you can think of, as well as all the modern teaching platforms like Udemy et al. While I fully support that many instructors creating this material do know what they are doing, I see two big issues here. For one, creating video material that is deeper than just scratching the surface takes time and money to produce, whether you are a solo dev who wants to \"spread the word\", or a large company which does this professionally. Just like the books that were replaced by these video versions, your professionally-produced video covering the latest, cutting-edge release of ",[36,555,110],{}," platform is going to get old very, ",[36,558,559],{},"extremely"," quickly in the \"today\" world. I also strongly believe that the \"OG\" documentation's quality has been going down in just the few years I have been actively observing... The OS/framework/platform creators no longer have the time, or sometimes even care, about making their \"stuff\" accessible to a wide audience, and instead just frame it for \"those in the know\". While there are certainly many experienced programmers out there who have no issue in quickly learning about the hot new \"whatever\", this attitude also leaves the rest of us mostly in the dark.",[12,562,564],{"id":563},"my-takeaway","My Takeaway",[17,566,567],{},"I would like documentation to be more accessible to programmers of at least intermediate level. Sure, if you are just starting out, you perhaps you shouldn't even be looking at some of this stuff. Programming sometimes really needs to be very technical, I get it! But, as mentioned above, I currently find doc pages to be severely lacking, and this has almost always forced me to spend many hours searching online, and then trying out articles, blog posts and tutorials, only to realize that I either needed to learn something else, or just understand that the material I had found had been a waste of time, or even simply outdated and no longer relevant. And while I do get that \"this is part of the journey\", it is also deeply frustrating, and a big barrier to want to explore more.",[17,569,570],{},"Yes, today's pace of \"ship fast\" will probably make this tendency even bigger in the future. Also, the LLMs (AI models) we have available right now, while being able to help in many circumstances, are all lagging by at least 12-18 months behind the frameworks currently available to work with. Training AI models takes time, and testing them even more, so I get the \"why\". I will also write another post on my very first, and very enlightening, experience with ChatGPT from 2022 in another post sometime, but I would like there to be more simple documentation than what is the reality of today.",[17,572,573,574,576,577,580],{},"Many platforms and developer ecosystems praise their friendliness towards beginners, and some make it their tagline to say \"Just look at our simple docs to get started!\" However, my experience with this has been less than ideal, and I have had to spend a lot of time to understand how a particular feature or function can be made to work for ME, many times over. Yes, ",[39,575,45],{}," is the job of a developer, and we must distill the noise away from the news to be able to create great products. But there has to be a way so that platforms provide more information, that is easier to understand, so that ",[39,578,579],{},"I",", the developer, will be attracted enough to use it for my projects. Right now, the equation is lacking, though I do see hope for the future.",{"title":582,"searchDepth":583,"depth":583,"links":584},"",2,[585,586,587,588,589,590,595,596],{"id":14,"depth":583,"text":15},{"id":30,"depth":583,"text":31},{"id":59,"depth":583,"text":60},{"id":86,"depth":583,"text":87},{"id":127,"depth":583,"text":128},{"id":153,"depth":583,"text":154,"children":591},[592,594],{"id":167,"depth":593,"text":168},3,{"id":452,"depth":593,"text":453},{"id":543,"depth":583,"text":544},{"id":563,"depth":583,"text":564},"2025-06-12T21:28:26.000Z","Going from ring-bound manuals to modern documentation","md",{},true,"/blog/rtfm",{"title":6,"description":598},"blog/RTFM",[606,607,608],"Programming","Documentation","Frameworks","/img/HP28S Handbuch S163.jpeg",2599,"qMAiZkixkUYLtXbe8jUQVT-CfiJN-DNkXMXhuuDjjIY",{"id":613,"title":614,"author":7,"body":615,"date":833,"description":834,"extension":599,"meta":835,"navigation":601,"path":836,"seo":837,"stem":838,"tags":839,"thumbnail":843,"wordCount":844,"__hash__":845},"blog/blog/Tailwind Happy To Meet You.md","Tailwind, Happy To Meet You!",{"type":9,"value":616,"toc":825},[617,621,637,664,673,686,693,710,717,721,732,738,745,769,782,790,809,822],[12,618,620],{"id":619},"a-painful-start","A Painful Start",[17,622,623,624,628,629,632,633,636],{},"As I have explained elsewhere, my web developer career started with a series of problems, pitfalls, and painful experiences: \"The PPP©\" as I call them. Back when I had enough time to play around with Microsoft FrontPage \"when the web was cool\", and whenever I stumbled onto some HTML code after that, I did get an understanding about how HTML was structured, and how its elements worked in the layout of the webpage. If you've never had any web dev experience, it's hardly rocket science... There are ",[625,626,627],"code",{},"\u003Ctags>",", which are a small number of elements like ",[625,630,631],{},"\u003Ch1>"," that will indicate content to your browser, and it will then build it out in a way that will ",[36,634,635],{},"(mostly)"," look the same on any platform.",[638,639,642,655],"callout",{"title":640,"type":641},"Side Note","info",[17,643,644,645,648,649,654],{},"This will surprise only the fewest web developers, except for those coming out of hibernation in 2025: HTML and CSS are ",[39,646,647],{},"not \"languages in the formal sense\"",", i.e. they are more \"syntax frameworks\" that use keywords to define content and functionality, that the web browser will then render into visual elements. A large share of web developers share ",[21,650,653],{"href":651,"rel":652},"https://www.geeksforgeeks.org/html/why-html-is-not-a-programming-language/",[25],"this view",", and some other still try to fight it, but I am no judge here. Proof of this, however, is that any browser can introduce slight variations when rendering the exact same code, and is also why modern websites need to be checked against most browsers, if reaching the largest possible audience is important.",[17,656,657,658,660,661,663],{},"Proper programming languages, like Swift or C, include \"program structures\", i.e. keywords that enable logic inside the code, which can be boiled down to \"if ",[36,659,45],{},", then ",[36,662,110],{},"\". After all, even the BASIC I learned as a kid was centered around these building blocks in their code. That's all I am going to say right now, but I do see this is a hot topic even today.",[12,665,667,668,672],{"id":666},"party-like-its-1999-2000","Party Like It's ",[669,670,671],"del",{},"1999"," 2000!",[17,674,675,676,679,680,685],{},"When building websites was still a novel concept to most, more and more people felt the need to express themselves through the \"open and free world of cyberspace™\", meaning that a new and booming industry was created, which taught the average computer user how they could get their own website up and running \"with just a few clicks\". Many new tools were created to enable the feeding frenzy of the ",[36,677,678],{},"\"Web Generation\"",", and one I personally got to try and use was ",[21,681,684],{"href":682,"rel":683},"https://en.wikipedia.org/wiki/Microsoft_FrontPage",[25],"Microsoft's FrontPage",".",[17,687,688],{},[689,690],"img",{"alt":691,"src":692},"I did buy a copy of this... Copyright: IDG","/img/HTML-for-Dummies-cover.jpg",[17,694,695,696,699,700,703,704,709],{},"At end of the '90s I was working for a computer distributor, and the local Microsoft team and execs were very welcome in our cubicles. Not only was Windows 98 becoming the OS that all consumers wanted for their new PC, but the new B2B reality was empowering small and medium businesses to adopt Microsoft's Office as the standard platform to communicate. Whether ",[36,697,698],{},".doc"," format for word processing, or ",[36,701,702],{},".xls"," for spreadsheets, Microsoft was ramping up to become the monopoly it remained for many years thereafter. As the money was currently certainly not a problem for Microsoft (",[21,705,708],{"href":706,"rel":707},"https://en.wikipedia.org/wiki/United_States_v._Microsoft_Corp.",[25],"until they had to give up some of it later...","), they were also very convincing with us sales reps by providing us with free official copies of Windows (ME, 2000 and later XP), as well as Office Professional suites, which we could install on our home computers to try out. This is when I installed the latest Office Professional 2000 NFR (Not For Resale) copy on my PC, and started exploring FrontPage 2000, which I had never used before.",[17,711,712,713,716],{},"While I never got around to, or even ",[36,714,715],{},"wanted",", for that matter, to have a personal website back then, I did spend some time to play around with the tool I had, to understand what it was capable of (does anyone out there realize how this was just a couple of years before we started spending our entire lives on the internet...?), and if I would eventually want to create a website of my own. Here I started learning about HTML, and the structured syntax it uses to generate web content. That's when I bought the book above. CSS was available, but not really a requirement at the time, so I did not spend much time understanding what it could do, if at all.",[12,718,720],{"id":719},"what-is-css","What Is CSS?",[17,722,723,724,727,728,731],{},"During that experience, CSS (for: Cascading Style Sheets) was still in its infancy, and, as I mentioned, I did not really get any meaningful experience with it until quite recently. Of course I eventually came to understand that it had become a cornerstone of web development, but never explored it in any meaningful detail. Turns out: CSS is ",[36,725,726],{},"hard"," (though ",[39,729,730],{},"very"," important)!",[17,733,734,735,737],{},"You see, if the text or background color on the website is the way you are seeing it, this is because of a CSS \"declaration\" that specifies how that element should look. CSS can not only change a font size or background color, but also nearly everything you see on any modern website. It can change an HTML element's size, layout, and color, just to name the most important ones. But CSS also has a very, ",[36,736,730],{}," unique requirement: the \"cascading\" part of its name.",[17,739,740,741,744],{},"Most people will look at an HTML structure of a webpage, and create the corresponding CSS code to accompany it in bits and chunks, and this will be ",[36,742,743],{},"mostly"," fine. But CSS can quickly come back to haunt you in your dreams if those declarations are not laid out carefully. The CSS code is read by the browser like a program from the 1970s, i.e. from the top to the bottom of the code. If you define a text color as red at the top of the CSS file, and later, sometimes much later, change it to blue for any reason, all the elements on the page will (most likely) show up as blue!",[638,746,749],{"title":747,"type":748},"Caveat","warning",[17,750,751,768],{},[36,752,753,754,757,758,761,762,767],{},"CSS has a concept of \"specificity\" which I will not get into here, because fully understanding it can take years, and I am nowhere near that level of expertise. Generally however, if a plain HTML element is tagged with, say, a different text color later in the file, all same HTML elements ",[39,755,756],{},"will"," adopt the new color. This is why modern CSS implements \"classes\", which are ways of closer defining exactly ",[39,759,760],{},"which"," elements of a particular type should adopt a specific style. Yes, there are tools online to help with this, but it's #YARH I am not willing to dive into on my own free will. Sue me, ",[21,763,766],{"href":764,"rel":765},"https://www.youtube.com/@KevinPowell",[25],"Kevin Powell","!"," 😁",[17,770,771,772,775,776,781],{},"As you see, things have evolved in many different directions, and it is indeed complicated to understand all the nuances of every possible approach. One big issue with CSS is that the files can become very unwieldy, as in ",[36,773,774],{},"hundreds"," of lines long, and for not even very complex page layouts. It is true that CSS has been evolving over these years, and new elements and building blocks have been introduced. But the ",[21,777,780],{"href":778,"rel":779},"https://en.wikipedia.org/wiki/Browser_wars",[25],"\"browser wars\""," have been complicating life for devs, and users, ever since...",[12,783,785,786,789],{"id":784},"enter-sandman-tailwind","Enter ",[669,787,788],{},"Sandman"," Tailwind",[17,791,792,793,796,797,800,801,804,805,808],{},"TailwindCSS was born in 2017, as a tool to help modern web developers tackle the inherent complexity of using \"plain vanilla\" CSS in web development, and started getting noticed in the early 2020s as a potential substitute for the classic CSS code that had been required to build websites. Its concept is surprisingly simple and straightforward: how about having classes, as they are already being used in plain CSS, that allow the developer to remember \"what the f* this is for\" by using terms that are easy to remember? While standard CSS can contain literally any term to define a class, this approach simplifies the categories in a way that is actually easy to remember, based on the context you are dealing with. Want to change a text color? Use ",[625,794,795],{},"text-blue-500"," to use a medium hue of blue. ",[625,798,799],{},"bg-slate-700"," is a nice background shade you could use to style your page. Similarly, ",[625,802,803],{},"mb-4"," or ",[625,806,807],{},"pb-4"," define margin and padding of an element, respectively, only on the bottom, by 4 pixels, of the element you are calling this on.",[17,810,811,812,817,818,821],{},"Now, in 2025, we have TailwindCSS version 4, and it has brought many updates to make it even easier to use. You can ",[21,813,816],{"href":814,"rel":815},"https://tailwindcss.com/docs/upgrade-guide#changes-from-v3",[25],"read up on the changes"," yourself, if you wish, but I am going to stick to my personal journey here. When I learned that Tailwind is available as a direct module for Nuxt, I was sold on both. Not only was Tailwind making CSS actually easy to use, but also Nuxt was what I wanted web development to be, at my level of experience, with its optimizations, the hot reloading while developing, and the availability of lots of online content about how these frameworks function. It's not ",[36,819,820],{},"all"," smooth sailing, as I do have a couple of issues and wishes for future Nuxt and Tailwind development, but the learning curve has been very reasonable so far.",[17,823,824],{},"Thank you for reading this far once again, please stay tuned for more insights in my new developer experience!",{"title":582,"searchDepth":583,"depth":583,"links":826},[827,828,830,831],{"id":619,"depth":583,"text":620},{"id":666,"depth":583,"text":829},"Party Like It's 1999 2000!",{"id":719,"depth":583,"text":720},{"id":784,"depth":583,"text":832},"Enter Sandman Tailwind","2025-05-08T11:39:47.000Z","Removing the pain from CSS is actually just a dependency away!",{},"/blog/tailwind-happy-to-meet-you",{"title":614,"description":834},"blog/Tailwind Happy To Meet You",[840,841,842],"Web Development","CSS","Tailwind","/img/Tailwind-logo.svg",1545,"BGEIlnqFQImBAQa6SF9Yk2dTqoU84YboJ04mfTeeEkI",{"id":847,"title":848,"author":7,"body":849,"date":1038,"description":1039,"extension":599,"meta":1040,"navigation":601,"path":1041,"seo":1042,"stem":1043,"tags":1044,"thumbnail":1046,"wordCount":1047,"__hash__":1048},"blog/blog/Why I chose Nuxt.md","Why I chose Nuxt as my Web development framework",{"type":9,"value":850,"toc":1031},[851,855,862,866,879,886,905,910,913,917,952,970,974,977,988,994,1000,1004,1010,1019,1028],[12,852,854],{"id":853},"learning-to-fly","Learning To Fly",[17,856,857,858,861],{},"When embracing this new choice in programming, I took some time to evaluate different tools I was going to use to create not only my products, but also my necessary presence on the web. While I had played with HTML and Microsoft's FrontPage when the world was going crazy about the Internet (and: it's no different from the AI craze we are in today), I needed to catch up on what tools I would like to use for my website. You read it here first: Welcome to ",[36,859,860],{},"#YetAnotherRabbitHole",", or #YARH. You are welcome to use it as an expletive, or to scare off random people you encounter. Use responsibly!",[12,863,865],{"id":864},"wtf-is-the-web-anyway","WTF Is The Web, Anyway...?",[17,867,868,869,872,873,878],{},"We have all used the Web, some of us even ",[36,870,871],{},"consume"," it, but how does it actually work? What goes on behind that \"https://...\" sorcery that you are so used to typing, but have never cared learning about? I do have some relevant background here, as I worked for one of the companies on which the Internet was built on, and which is still relevant today: VeriSign, Inc. VeriSign is one of the entities running and managing what is called a \"root server\", i.e. that pool of \"big computers\" that translate your typing of ",[21,874,877],{"href":875,"rel":876},"https://www.funbear.dev",[25],"funbear.dev"," in your browser into a website you can see and use.",[17,880,881,882],{},"When I was myself still a new user of the Internet in the '90s, websites were rarely pleasant, some were just tolerable, and the rest were plain dreadful. If anyone remembers what we were being subjected to, beyond the screeching sounds of 19.2K, 33K and 56K modems, I feel you.\n",[689,883],{"alt":884,"src":885},"Anyone remember this...? Copyright: Amazon.com","/img/amazon-in-the-90s.jpg",[17,887,888,889,894,895,900,901],{},"Getting back on topic, the World Wide Web was a project started by Sir ",[21,890,893],{"href":891,"rel":892},"https://en.wikipedia.org/wiki/Tim_Berners-Lee",[25],"Tim Berners-Lee"," at CERN in Geneva, Switzerland in 1990. He devised a \"markup\" language that would facilitate scientists' communication through electronic means. What was later standardized as ",[21,896,899],{"href":897,"rel":898},"https://en.wikipedia.org/wiki/HTML",[25],"HTML",", or HyperText Markup Language, became the basis on which websites still operate today.\n",[689,902],{"alt":903,"src":904},"By Coolcaesar at the English-language Wikipedia, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=395096","/img/First_Web_Server.jpg",[638,906,907],{"title":640,"type":641},[17,908,909],{},"I had the luck of being able to visit that very office at CERN in 2015 (though the NeXT computer was gone!), and it was a moment I, as a profound computer geek, will never forget.",[17,911,912],{},"But where were we...? Oh yes, modern tools!",[12,914,916],{"id":915},"a-plethora-of-choices","A Plethora Of Choices",[17,918,919,920,922,923,926,927,931,932,939,940,943,944,947,948,951],{},"When you want to build a website today, be it for your personal blog, or your newly-founded mega-corporation 😄, there are many paths you can choose. For one, you could rely on the ",[36,921,730],{}," traditional tools of HTML, which ",[36,924,925],{},"would technically"," still work, but would also just look \"off\" without any ",[21,928,841],{"href":929,"rel":930},"https://en.wikipedia.org/wiki/CSS",[25],", or Cascading Style Sheets. CSS is often regarded as any web developer's worst nightmare, and I am going to go on record here and state that ",[39,933,934,935,938],{},"CSS is ",[36,936,937],{},"NOT"," a language"," (and neither is HTML...)! But wait, there's more pain! Since we all like things that are ",[36,941,942],{},"reactive"," and ",[36,945,946],{},"snappy",", because ",[36,949,950],{},"why not...?"," you must add JavaScript to perform some logic on the content of your website.",[17,953,954,955,957,958,963,964,969],{},"While there are a handful of web devs out there that actually do this, \"The Market™\" has come up with alternative tools that will make your web dev life ",[36,956,93],{}," more pleasant. Welcome to the modern web development experience! These are services like WordPress or SquareSpace, which provide a simple platform where it's easy to enable non-technical people to create and update the content, while the basic site management is done by a ",[669,959,960],{},[36,961,962],{},"guru"," webmaster. While WordPress was never an option for me, one other such tool I had a good look at was ",[21,965,968],{"href":966,"rel":967},"https://typo3.org",[25],"TYPO3",". This tool was created in 1995, and has seen a constant stream of evolution until today, as a Free and Open Source Software (FOSS) platform, and it is currently being maintained by a company in Germany. Yes, there are other options like Drupal and Joomla, and probably most of my points could be transferred, but please understand that I am looking at this from my personal perspective here.",[12,971,973],{"id":972},"the-woes-of-typo3","The Woes Of TYPO3",[17,975,976],{},"While TYPO3 does have a number of pros, like its focus on security and that it can scale to enterprise level easily, it does come with a (very) steep learning curve. For one, implementing a website requires a functioning HTML/CSS/JS template that ignores the past 20 years, with all the basic functionality already set up and working. Then, it requires the editing of that template, to place all the necessary content markers in your website. For this, think of a page's main content \"block\", and the sidebar that helps you navigate the content. To make this just a bit more complicated, TYPO3 has its own scripting language, called TypoScript. This is not to be confused with TypeScript, which is a superset of JavaScript that I myself have been learning and using on this same website, but another requirement to connect the static elements of your website (think of a page's title or main content block, for example) with a dynamic element that can also be internationalized, if so required.",[17,978,979,980,983,984,987],{},"As mentioned, TYPO3 is being maintained by a company in Germany, and I have wondered why and how this has somewhat restricted its adoption to the German-speaking part of the world. While some international companies ",[36,981,982],{},"do"," use it for their web presence, its outreach is very limited, compared to other tools. But I am a native German speaker after all, so what's the problem here? Well, it turns out that there are hardly any tutorials about TYPO3 on YouTube and Udemy. This means I had to turn to the \"real guys\", i.e. professional instructors selling courses on their own platform, and at a steep premium! After much pondering, I did sign up to a paid course on TYPO3, made by a professional coach in Germany, and who is one of the leading resources about this platform, anywhere. But I had to give up after realizing how much I would have needed to do to make this work for me. While this is definitely not a hard goodbye, I simply need more time to get a grip on actually ",[36,985,986],{},"how"," this platform works.",[17,989,990,991,993],{},"I don't mind the requirement of the scripting language to tune things to one's liking, but I do have a problem with the basic HTML, CSS and JavaScript template requirement, that then has to be adjusted to the needs of the specific website, though I am most likely still missing the full picture. As stated above, I ",[36,992,756],{}," eventually get back into exploring TYPO3, because I understand its features and strengths, but I do not have the time currently to fully understand how all the underpinnings work.",[638,995,997],{"title":996,"type":641},"To Be Clear",[17,998,999],{},"TYPO3 has some very strong features built in, and I strongly believe this is a CMS that deserves more attention and use. But I also see that there are many other platforms available, and I had to choose one. While React has certainly managed to \"win\" the market, I wanted to use an independent framework, i.e. not backed by a huge corporation, and my searches led me to Nuxt. Perhaps sometime, when I will employ an army of content creators of my own, I will go back to TYPO3. For now, however, my needs are (fairly) satisfied.",[12,1001,1003],{"id":1002},"enter-nuxt","Enter Nuxt",[17,1005,1006,1007,1009],{},"After having spent about two months wrapping my head around TYPO3, I did some further exploring, and also a reassessment of my needs. After all, while I plan on running the Next Big Corporation™, the current requirements for my website are not too complicated, and it just needs to provide a series of pages centered around my business and the projects I am working on. This would indeed ",[36,1008,820],{}," be possible as a very basic HTML, CSS and JavaScript setup, so why am I making this unnecessarily hard on myself? \"Have you never heard of WordPress...?!?\" (I have, but I don't want to use it.)",[17,1011,1012,1013,1018],{},"During the searches that landed me on TYPO3, I had come across a few videos about Nuxt, and was genuinely curious about it. After I decided to pull the plug on working with TYPO3 for now, I spent more time to understand what it's good for, and saw that it is perfectly capable of doing what I need it to do, at my current requirement level. First, it is based on ",[21,1014,1017],{"href":1015,"rel":1016},"https://https://vuejs.org/",[25],"the Vue.js framework",", which is one of the many ways HTML and CSS were \"reinvented\" to provide a modern take on designing websites, and overcome some of the limitations. Also, Vue is based on a concept of \"components\", which are exactly what they mean: building-blocks that can be placed and re-used where and whenever needed. Components can be self-contained, meaning they host all the necessary HTML, CSS and JavaScript code in one single file. This makes building a project quite easy, in comparison to the long files I created when learning basic web development, \"The Old Way™\".",[17,1020,1021,1022,1027],{},"But wait, there's more! 😁 Nuxt also implements TailwindCSS as a first-class citizen in its framework, which makes it unbelievably easy to structure web elements on a page. I will write another post on Tailwind specifically, but for now I will only say that discovering this framework has definitely changed my life for the better. The syntax is fairly easy to remember, and is grouped in a meaningful way, so that mnemonics will usually work. If not, have a look at the docs on ",[21,1023,1026],{"href":1024,"rel":1025},"https://tailwindcss.com/docs/installation/framework-guides",[25],"their website",", which I recommend reading for fellow devs.",[17,1029,1030],{},"That's all I have for now, but I am certain that my web development path will provide much more content to post here. Thanks for getting this far, and I hope to see you again!",{"title":582,"searchDepth":583,"depth":583,"links":1032},[1033,1034,1035,1036,1037],{"id":853,"depth":583,"text":854},{"id":864,"depth":583,"text":865},{"id":915,"depth":583,"text":916},{"id":972,"depth":583,"text":973},{"id":1002,"depth":583,"text":1003},"2025-05-07T21:34:14.000Z","Don't make web dev any more painful than it already is!",{},"/blog/why-i-chose-nuxt",{"title":848,"description":1039},"blog/Why I chose Nuxt",[840,1045,608],"Nuxt","/img/Nuxt-logo.svg",1668,"ZVPnaM_J3py1tMsbuJ6vlwLo4E1QxU6YgrvrBFFGOgc",{"id":1050,"title":1051,"author":7,"body":1052,"date":1219,"description":1220,"extension":599,"meta":1221,"navigation":601,"path":1222,"seo":1223,"stem":1224,"tags":1225,"thumbnail":1228,"wordCount":1229,"__hash__":1230},"blog/blog/How Hard Can It Be.md","How Hard Can It Be...?",{"type":9,"value":1053,"toc":1214},[1054,1057,1061,1070,1087,1094,1098,1101,1111,1114,1137,1144,1148,1163,1166,1169,1195,1211],[17,1055,1056],{},"When I began my renewed programmer journey, I was coming from several different programming experiences from my past, at different levels. But while I still knew what a for-loop is, and that program logic is what defines \"what\" the program ultimately does, I quickly realized how I had missed some 20 years of evolution in building computer software. What was I getting myself into...?!?",[12,1058,1060],{"id":1059},"flashback","Flashback!",[17,1062,1063,1064,1066,1067,685],{},"I am the first to admit that I was quite blue-eyed when getting into this... When push came to shove in my professional life in early 2020, I decided to work on an idea I had in 2016 while on vacation. After all, implementing it wouldn't be ",[36,1065,110],{}," hard, would it...? Here is a first part of my journey into becoming a modern ",[36,1068,1069],{},"\"coder\"",[17,1071,1072,1073,1076,1077,1080,1081,1086],{},"While I have ",[36,1074,1075],{},"some"," programming background, I have never had any formal Computer Science studies. Instead, I initially went for Mechanical Engineering, and Business studies later. Computers were being cautiously added in universities as they were in the contemporary business world: mostly as better typewriters, and generally as aids for personal publishing as the technology allowed. Some of you may remember those invitations to your neighbor's garden party, which looked like they came from a copy shop, but were instead printed by your host on their office laser, or cool new inkjet printer. Yes, ",[36,1078,1079],{},"that's"," what I am talking about here. Spreadsheets could mostly perform only simple math, and the few programming tools I had personally seen, like Borland's ",[21,1082,1085],{"href":1083,"rel":1084},"https://en.wikipedia.org/wiki/Turbo_Pascal",[25],"TurboPASCAL",", were seen as for hobbyists and nerds outside of companies.",[17,1088,1089,1090,1093],{},"When I was searching for a university at the end of my high school days, computer studies had not really yet been made into an individual course of studies in Europe in the early '90s. Getting any significant contact with computers would have required courses in math, engineering, or physics, or other science studies, but only in later semesters, after you had worn out your first calculator or two. Computers were ",[36,1091,1092],{},"expensive",", and installed only if and where absolutely necessary, at least in my world.",[12,1095,1097],{"id":1096},"how-much-are-you-willing-to-learn","How Much Are You Willing To Learn?!",[17,1099,1100],{},"I digress. When focusing back on the topic of \"programming\", I was ready to learn a language and perhaps a couple of tools, but never to have to branch out to learning so many things that I would never have thought about previously. Also, I perhaps did not make it easy on myself to want to implement a complex idea as my very first app, but hey, it's all about the journey, isn't it? 😁",[17,1102,1103,1104,1107,1108,1110],{},"So, it all started with learning Swift and UIKit, because... well, Apple's iOS was my platform of choice since I had been an Apple user for many years. SwiftUI had been launched, but several YouTube channels were warning against using it for larger, complex projects, because it was still a very evolving framework that would need more time to mature. While \"evolution in CS\" terms is indeed very ",[669,1105,1106],{},"Swift"," fast, I did not realize ",[36,1109,986],{}," much I had missed at first.",[17,1112,1113],{},"To begin, of course I had to re-learn the basic concepts of programming:",[1115,1116,1117,1121,1124,1127,1134],"ul",{},[1118,1119,1120],"li",{},"Basic programming concepts and structures in Swift;",[1118,1122,1123],{},"\"Everything is an object\" and what this means;",[1118,1125,1126],{},"Classes and structs, and the memory implications of each;",[1118,1128,1129,1130,1133],{},"Referencing and calling other objects, ",[39,1131,1132],{},"without leaking memory",";",[1118,1135,1136],{},"UI design and the constraints of a phone screen...",[17,1138,1139,1140,1143],{},"From my past experiences, I needed to embrace a completely new mindset, learn a ",[39,1141,1142],{},"lot"," of new information, and then test it all out. Oh, boy!",[12,1145,1147],{"id":1146},"twenty-years-in-the-making","Twenty Years In The Making",[17,1149,1150,1151,1156,1157,1162],{},"When my mother donated me her PowerBook G4, I explored nearly everything Mac OS X could offer, since my latest on-hands use of a Mac had been with Mac OS 8 and 9 many years earlier. One of the tools that Apple was making available was Xcode, the new IDE platform that had been inherited and evolved from Steve Jobs' ",[21,1152,1155],{"href":1153,"rel":1154},"https://en.wikipedia.org/wiki/NeXTSTEP",[25],"NeXTSTEP",". While I was fascinated by what it could offer, I guess I was turned off by the effort I would have had to put into learning Objective-C and its, let's be honest, quite complex syntax for a beginner. Yes, Xcode allowed drawing out an interface in a ",[21,1158,1161],{"href":1159,"rel":1160},"https://en.wikipedia.org/wiki/WYSIWYG",[25],"WYSIWYG"," fashion, but there was still a significant hurdle for me to learn the language while having a quite demanding job at the time.",[17,1164,1165],{},"But here I am now, in 2020, as a Mac OS user of several years, and with an aging, though still very capable, Intel Mac Pro 5,1 at my disposal, and a strong desire to \"get into it\". Books used to be a great tool to learn programming, but over the years I realized that the ever-faster pace of the IT industry was outpacing the books being published, and understood that any book about computers and programming -- among other topics -- would be already \"old\" by the time it was commercially available, despite all best efforts by most authors to remain on the cutting edge while writing it.",[17,1167,1168],{},"My first choice, of course, were YouTube videos, and I searched far and wide for any video that would provide some instruction in Swift and iOS programming, but only found a few, and on very specific topics, most of which I had a hard time understanding, due to my lack of proper basics. Where do you get basics from in 2020?",[638,1170,1172,1181,1186],{"title":1171,"type":641},"Side note",[17,1173,1174],{},[36,1175,1176,1177,1180],{},"I have an axe to grind with the YouTube algorithm of the time, as I later discovered ",[39,1178,1179],{},"many"," excellent channels that would have taught me a lot, even in that early stage, but which were shown to me only much later, after my search history had reached a tipping point of sorts, I guess.",[17,1182,1183],{},[36,1184,1185],{},"Also, as some will recall, the Covid-19 pandemic made many developers plunge into making videos from home, some even in the form of proper courses, though I may have been just a tad early in my searching to catch these. Still, I have now subscribed to a great number of you, and thank you all for your work!",[17,1187,1188],{},[36,1189,1190,1191,1194],{},"Finally, a ",[39,1192,1193],{},"shoutout"," to one of the main memes in the programming world: I, too, did find a video on a YouTube channel from India, with less than 10 subscribers, in Hindi, that actually solved a problem I was currently facing!",[17,1196,1197,1198,1203,1204,1207,1208,1210],{},"This is when I discover Udemy, and ",[21,1199,1202],{"href":1200,"rel":1201},"https://x.com/yu_angela",[25],"Angela Yu's"," iOS course stood out by a mile. She is an excellent instructor, with a beautiful \"radio voice\" that should have brought her to having a daily slot, teaching programming, on BBC Radio, and this is how it starts for me. I now had to catch up many years of knowledge, and wanted to get started working on my own project as quickly as possible. But many of the concepts I was seeing were entirely new to me, and I had to explore them on my own. ",[39,1205,1206],{},"Which. Takes. Time!"," I had to digest each course information, then extrapolate it into something I wanted to explore, and eventually build a number of \"apps\" (quotes are intentional here, because they didn't really ",[36,1209,982],{}," much) to consolidate the contents being presented.",[17,1212,1213],{},"I will write about all the different steps and tools I learned so far in a future post, as this merits a space on its own. But this is where and how my journey begins. I hope you enjoyed reading this.",{"title":582,"searchDepth":583,"depth":583,"links":1215},[1216,1217,1218],{"id":1059,"depth":583,"text":1060},{"id":1096,"depth":583,"text":1097},{"id":1146,"depth":583,"text":1147},"2025-05-04T17:01:13.000Z","How a Sales Guy decided to become a programmer",{},"/blog/how-hard-can-it-be",{"title":1051,"description":1220},"blog/How Hard Can It Be",[606,1226,1227],"Career","Evolution","/img/Boy-in-front-of-Apple-II.png",1277,"FxEzONMDTFPm_EPIoWeSkURdl-TqC7Fqf_nJQ8cp6Fk",{"id":1232,"title":1233,"author":7,"body":1234,"date":1410,"description":1411,"extension":599,"meta":1412,"navigation":601,"path":1413,"seo":1414,"stem":1415,"tags":1416,"thumbnail":1418,"wordCount":1419,"__hash__":1420},"blog/blog/I-am-not-a-programmer.md","I Guess I Am A Programmer Now",{"type":9,"value":1235,"toc":1402},[1236,1239,1243,1246,1256,1259,1263,1278,1297,1312,1316,1335,1344,1353,1356,1360,1363,1366,1370,1379,1382,1389,1393,1396],[17,1237,1238],{},"I am very fortunate to have had the opportunity to use and learn about computers from a very young age, but \"being a programmer\" was never on my mind until I had to hit \"Plan B\" in my professional life. Please read on to learn how my life came to evolve around computers, and how this made me eventually choose my new career as a developer.",[12,1240,1242],{"id":1241},"the-early-years","The Early Years",[17,1244,1245],{},"My first encounter with a computer was when I was about eight years old. One of my father's work colleagues, and a lady who would become a life-long family friend, decided to gift me a Commodore VIC-20. Of course, this new machine sparked a profound curiosity in me, mainly about the possible video games I could play on it, but later also about how computers could be programmed by the user to, you know, \"do stuff\". 😁",[17,1247,1248,1249,1252,1253,767],{},"The box the computer came in also had, as was usual at the time, a number of ring-bound manuals for setup and first use, but also about how to write programs in BASIC you would save on a cassette tape. One thing I distinctly remember about these manuals is that they were certainly not dry and factual, but were often funny and made a point in a light way. Though I did not realize this until years later, this moment is when I probably learned that programmers are people who don't take life too seriously, and like to have fun just like anyone, though in a specific way. If you ever were ever able to uncover an ",[36,1250,1251],{},"\"easter egg\""," in a software program -- and before lawyers mostly took this pleasure away -- this is why. If you've seen the movie \"Ready Player One\", you know what I'm talking about. If you haven't seen it, ",[39,1254,1255],{},"go do it now",[17,1257,1258],{},"Many years later, I managed to ask her why she insisted so much to give me this computer, and she replied that, not having kids of her own, she had read about the upcoming \"information age\" in the newspaper, and wanted me to learn as much as I could, as soon as possible. She is no longer with us, but I thank her so much for convincing my parents that this was a good thing to do.",[12,1260,1262],{"id":1261},"hello-apple-nice-to-meet-you","Hello Apple, Nice To Meet You!",[17,1264,1265,1266,1271,1272,1277],{},"At one point I switched school, and my new school had extra-curricular computer classes, to be held in the school's lab, filled with Apple ][es. This is where I discovered that programming could also be fun: We were taught programming skills through the then new and revolutionary ",[21,1267,1270],{"href":1268,"rel":1269},"https://en.wikipedia.org/wiki/Logo_(programming_language)",[25],"Apple Logo //",", and the lab even had one real, proper \"",[21,1273,1276],{"href":1274,"rel":1275},"https://en.wikipedia.org/wiki/Turtle_(robot)",[25],"turtle","\", which could produce wonderful images on paper sheets on the floor.",[17,1279,1280,1281,1286,1287,1290,1291,1296],{},"This was also the time when Apple introduced the ",[21,1282,1285],{"href":1283,"rel":1284},"https://en.wikipedia.org/wiki/Apple_IIc",[25],"Apple //c",", and my parents thought I could practice with my new skills at home, and bought me one. So, here I am, writing this today on my ",[669,1288,1289],{},"Windows laptop"," MacBook, and this is how things start falling into place. I remember that there had been a brief discussion at home about the also-new ",[21,1292,1295],{"href":1293,"rel":1294},"https://en.wikipedia.org/wiki/IBM_PCjr",[25],"IBM PCjr",", but... yeah. That platform did not do very well, let's say.",[17,1298,1299,1300,1305,1306,1311],{},"In a time when the best access to \"new\" software was through magazines, where the BASIC listings of programs and games were printed over several pages in almost every monthly issue, I spent many an afternoon after school tediously copying, and getting frustrated with the bugs, of these programs. But ",[21,1301,1304],{"href":1302,"rel":1303},"https://en.wikipedia.org/wiki/The_Times_They_Are_a-Changin%27_(song)",[25],"times were a-changin'",", and the Apple ][ platform was lagging behind, despite Apple introducing the ",[21,1307,1310],{"href":1308,"rel":1309},"https://en.wikipedia.org/wiki/Apple_IIGS",[25],"IIgs",", which I desperately wanted, but was not feasible.",[12,1313,1315],{"id":1314},"ibm-you-windows","IBM, You... Win(dows)?",[17,1317,1318,1319,1324,1325,1328,1329,1334],{},"Instead, my next step in computers was an IBM 386 clone. Microsoft had just published ",[21,1320,1323],{"href":1321,"rel":1322},"https://en.wikipedia.org/wiki/Windows_3.0",[25],"Windows 3.0",", and some of my classmates had one at home already. Of course, we traded games and programs, but this also marked my evolution towards becoming a user, and no longer a programmer. Windows became 3.11, and I got quite proficient in optimizing my MS-DOS 6 knowledge to use as much ",[625,1326,1327],{},"HIMEM"," as possible to, of course, load games, or load the cool demos that were exchanged with my schoolmates. Of course I read all about Steve Jobs' new ",[21,1330,1333],{"href":1331,"rel":1332},"https://en.wikipedia.org/wiki/NeXT",[25],"NeXT computer",", and the ever-evolving Amigas and Atari STs, but I would stay in this \"neck of the woods\" for many years more.",[17,1336,1337,1338,1343],{},"Several years later, now a fairly experienced PC user, I had access to another computer lab while studying at university. At the time, computers were still not very common in universities in Europe, and usually they were only accessible to senior students, and also mainly used for ",[21,1339,1342],{"href":1340,"rel":1341},"https://en.wikipedia.org/wiki/LaTeX",[25],"LaTeX",", since this was a technical university after all. But, turns out, people know people, and I was introduced to a very stern-looking \"lab manager\", whom I asked if I could get access, despite me being a junior. He asked me several questions, and I guess I passed the test, because he gave me access credentials right after our interview, and I could enter the lab whenever I wanted from there.",[17,1345,1346,1347,1352],{},"It was in this room that I met an assistant professor in the physics department over coffee, and he told me they were looking for a programmer to write a new access program for a \"radio-goniometer\" (which is a complicated machine that is able to measure the structure of metal alloys by bouncing off radiation on a sample in a test bed). I passed the interview, and now had my first side job as a programmer! In ",[21,1348,1351],{"href":1349,"rel":1350},"https://en.wikipedia.org/wiki/Visual_Basic_(classic)",[25],"Visual Basic",". But from this point I had a renewed interest in program logic and algorithms, and a couple of the assistant professors in the department were very kind to coach me whenever time allowed, mostly over coffee in the break room, about program structures and algorithms, though not much about Visual Basic itself, since it was still quite new. My program was ultimately approved, and used going forward, at least until another student rewrote it in C about a year later, mainly to address the speed of my code. To be fair, my code was indeed slow, but this was, in my view, purely because of Visual Basic itself, and not for other reasons. The radio-goniometer I was working with had a 9600bps serial interface, and the 486 PC it was connected to was already way too fast for this speed, meaning I even had to implement code to avoid overloading the interface. But the program's windows could be sluggish, and its logic was not very refined, so fair enough I guess.",[17,1354,1355],{},"With my new \"computer programmer\" prowess, I had the idea at some point, with a fellow colleague, to use MS Excel 4 to calculate all the variables in an engineering assignment we got. The idea was to create a spreadsheet with all the calculations needed by our assignment, and enable us to play out different scenarios with just a few keystrokes, instead of having to punch in endless formulas into our calculators over and over, so that we could present the perfect result in our papers... It did not go well, partly because we did not sufficiently understand Excel's advanced math capabilities, and learning and setting it all up would have taken us time we did not have. Students, right...? 😁",[12,1357,1359],{"id":1358},"modern-life","Modern Life",[17,1361,1362],{},"Fast forward another couple of years, and I began to play around with the Internet: this was 1995. At some point, I became an expert in assembling PCs for myself and for others, and would be called for advice to help them solve their computing issues. Eventually, while on my military duty, I was asked to have a look at a random old DOS PC in a colonel's staff's office after work, and installed Windows 95 on it, so that his staff could use it to write their reports, instead of using the aging electric typewriter they had been struggling with. After this, I got a job at a store selling PCs and mobile phones, and managed to make a name for myself in providing technical PC assistance, again after work. I definitely had fun doing this, and I could tell many stories about this time, but let's just say one should never, ever, joke with an elderly person about having wiped their entire hard drive by mistake, and expect them not to almost have a heart attack... True story! 😁 One thing I did learn was that I asked for way less money than I should have, considering the time and distances I had to drive sometimes, but it is something that taught me how to deal with people who have a problem they care about.",[17,1364,1365],{},"After working for an IT distributor (i.e. a company selling IT equipment to other companies and to the stores a consumer would buy their IT from), my next job was in back office for another IT company, where I got along very well with my boss, and our pinnacle was achieved when we created a system of Excel files to present our local office's reporting to our HQ. Our data would always be strictly based on the truth (note: no quotes here!), but be a \"bit\" (quotes intentional) convoluted to fully unravel if you did not take the time. Suffice it to say... we had a good run of approvals! 😄",[12,1367,1369],{"id":1368},"where-was-i","Where Was I...?",[17,1371,1372,1373,1378],{},"At one point, my mother had finally taken my advice to get a new computer for herself, and I advocated for an ",[21,1374,1377],{"href":1375,"rel":1376},"https://en.wikipedia.org/wiki/PowerBook_G4",[25],"Apple PowerBook G4",", because I was convinced that Apple's operating system was the best choice for ease of use for someone like her. She had used Windows 3.11 and Windows 95 PCs until then, but had often struggled with them, as was common for simple users at the time. Side note: my father has been using a Mac for many years now, and he is definitely happy with his choice. Right, Dad...? 😉",[17,1380,1381],{},"Eventually, though, my mother was aging and didn't care about using her PowerBook much anymore, so she offered it to me, which I thankfully accepted. Besides using it as my main machine for emails and social media in my first years here in Switzerland, this is when I also stumbled across Apple's Xcode app, and so began playing with it to see if I could make anything of it. However, after only a few months, I abandoned the idea, because my job was leaving me little free time.",[17,1383,1384,1385,1388],{},"I eventually sold that PowerBook G4 to a good friend so that I could buy a new Intel MacBook Pro, and he kept and used it ",[36,1386,1387],{},"way"," after it became unsupported, but he always kept me informed about how he, and later his daughters, were getting work done on it. They had never used a Mac until then, and their reaction was always \"everything is so simple and straightforward!\" That's how I like to see computers being used: they get a first, and then a second life, but also, sometimes, a third and fourth life after that. In our modern western economy, we tend to want to dismiss older technology as \"nobody could want this anymore\", but any piece of technology can still be useful for someone, if, of course, it is still in working order. I have bought and sold many items online over the years, and I guess this is where the saying \"one person's trash is another person's treasure\" comes from.",[12,1390,1392],{"id":1391},"well-how-does-this-end","Well, How Does This End!?",[17,1394,1395],{},"After moving to sales roles, I still spent quite some time reading up on current IT news and events, and the one or other programming topic came up. I had played around with C in university in that computer lab, but never took the learning process too seriously to make anything of it. By this point in my life, I could create killer Excel worksheets that would almost fry my Pentium 4 laptop when recalculating, and had a good grasp of MS Access as a DB system for a couple of test projects I created as a learning experience. This is probably the time when people (and I, of course) started getting more \"fun\" out of the new apps and whatever the internet was throwing at you, but it all starts from here for me!",[638,1397,1399],{"title":1398,"type":641},"Let Me Be Clear",[17,1400,1401],{},"I realize that I am indeed very fortunate to have had the opportunities around computers I had, and not only those. My family has a white-collar background, so I had access to more tools and schools than many others. I certainly do not wish to belittle or downplay anyone.",{"title":582,"searchDepth":583,"depth":583,"links":1403},[1404,1405,1406,1407,1408,1409],{"id":1241,"depth":583,"text":1242},{"id":1261,"depth":583,"text":1262},{"id":1314,"depth":583,"text":1315},{"id":1358,"depth":583,"text":1359},{"id":1368,"depth":583,"text":1369},{"id":1391,"depth":583,"text":1392},"2025-05-01T07:41:00.000Z","But how did I get here...?",{},"/blog/i-am-not-a-programmer",{"title":1233,"description":1411},"blog/I-am-not-a-programmer",[606,1417,1227],"Growing Up","/img/VIC_20_Splash_Screen_Screenshot.gif",2150,"VLyjDow9_3hyM2jZ7cRmqHBIrWaXW1bzBkOZ4fBTsjc",1754110129291]