One of my heroes (Linus Torvalds) published some days ago some rant about the “correct” style of comments.
Honestly, I agree 100%! And from my POV his version c is my preferred one: for single lines and blocks of comments.
// This can be a single line. Or many. Your choice.
Had some severe discussions about this topic in past dev-teams while negotiation some “best practices/style-guide”.
* you can quickly comment/uncomment sections of code without worrying where the “begin” and where the “end” is
* if you used /* .. */ then “uncommenting” could result in commenting something else, because of nested comment-parts
* only drawback: comments last until the end of the line
My dear reader may think this is a joke, but it’s not: I am using for more than two decades office software, but I never needed to spent several minutes of checking 0. the program 1. the help and 2. the internet to find a solution for such a simple task. LO < 4 had some simple “Insert – horizontal ruler”-menu-entry. But why keep something well established?
Solution: enter three dashes and press and pray for the auto-format!
The next entry should have been about improved, stabilized and un-dithered GIF. Will follow (soon)!
It will be quite seldom that I suggest to use certain programs (or Neudeutsch: ‘apps’), but this one blew my mind, because its resource-usage is quite frugal, is “just running if started (and needed)”, has some nice views and incorporates sensor-data: netdata!
quote: If you can’t quantify it, you’re just making it up with your mind”
– quote from someone I can’t currently determine
The subscription for that page expired. As you can check, it’s hosted by bplaced. Why? Because I used that provider for years for some other minor pages and blogs and I experienced never anything bad and their support was also really fast & helpful. Manus manum lavat.
So I wanted to know if there will be an experienceable difference in speed of delivery for the page. It’s dynamic content, so not just the size of the text+pictures matter. I picked randomly three webpage-speed-check-pages from the search results (does not matter which – in two weeks others will own the first ranks, no one cares) and did three runs each. The first was while all three check-pages ran simultaneously, then the following two runs with each separated.
Thank you for wasting 300 seconds life-time, M$-Devs*!
ps. I know this is a decision of design, so not to blame the devs but the designers ..
Most of the time I just add more rants using this tag. But for now I have found a really decent and hugely uselful example of an expert-system: determine plant names.
The examples presented in school and university were most of the time really stilted. You got the idea behind, but you doubted someone would really implement it this way ..
I hesitated for a longer time to add rant-posts to this blog. Reason is: most of the time not the criticized fact is noted by the reader but the fact that someone complains.
From time to time you encounter some flaws or bugs or “design-choices” whre you start to think: this can’t be an accident. Or there are reasons I don’t understand. But this is nothing which could not be fixed.
Therefore todays rant: create/recover a working and sound operating system. I just refer to the major three ones: Windows, OSX and GNU/Linux.
- OSX: Boot, press CMD+R, select recover and add you favorite Wifi and wait: no problem. But since its a really enclosed environment in terms of hard- and software I did not expect something cumbersome/special. Since it is not wanted that you can change something inbetween, the needed user-interaction is quite limited. Works, ok.
- Linux: I always have a USB-stick with one of the latest Linux Minut (former times Ubuntu, DSL, Kubuntu or just some other distro) in my pocket. Reasons: I don’t trust foreign computers for sensible data (plug it in and use a live-system) AND safety (main system fails to boot? Oh, you still have some backup solution :D). So this is inserted, then select for booting this stick either via UEFI or BIOS. Boot, select in GRUB the real version, “Install Linux”, maybe addd Wifi/ethernet before, add additional user-data, maybe change partition so that your old home-partition is mounted correctly, reboot, unplug the stick, run maybe “sudo apt-get update && sudo apt-get upgrade” ONCE and be happy. Although this text is quite big this takes roundabout 60 to 90 minutes! Et voila: working system with all your previous data. Almost all devices have correct drivers and are usable. Continue with your work …
- Windows: buy a Win7 Ultimate-key (2 min), burn a 3 GiByte-image for the corresponding version on DVD, insert and reboot. Select to install, add all the needed credentials. 1 hour later it looks like you can reboot. Oh, 800×600 display resolution, no fucking device is recognized, therefore neither ethernet nor Wifi are usable to get additional drivers and updates, I can use the mouse and that is all. No usable tools for image viewing and editing, nothing. A bare system. Is this a joke? Microsoft, come on … when this happended to me in former times for older versions of Windows I thought this is how it should be. But why don’t you force the manufacturers to create small driver-libraries for their stuff so that at least basic, minimal support for all the hardware is given? Why is this possible for FOSS-projects but not for you with your big market-reach?!?
Back to topic: so I downloaded and installed the basic drivers and then armaggeddon happend: 179 important and 49 optional updates are offered. OK? why not, better safe than sorry. ONE fucking DAY later the whole cycle of installing, rebooting and re-doing the search for newer updates was still not finished. And I started with SP1, not the original Win 7-release. This is 2015, hello!
Ok, to cut it short: having to install Windows is still the worst what can happen. Sometimes it is needed, because some Wine and virtual machines are not covering everything.
After a longer discussion we came to the following conclusion. In the end it breaks down to only four reasons why someone writes software:
0. you get paid for it: simple as that
1. you need a tool or the existing stuff doesn’t exactly do what you need for your solution
2. you want to learn something
3. you want to impress someone
Wait, what? Impress someone?
Let me tell you something: sometimes you try to solve an issue just because you want to prove for yourself or others that you are able to do so. You don’t get paid, it is not your problem, you also won’t learn anything besides the practising effect, but you want to earn some reputation. Or solidify your credibility. Because you see it as a challenge. Like the early explorers of the world!