SkillsLinux, systems programming, distributed things, embedded snafu
Joined devRant on 4/15/2018
Do all the things like ++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatarSign Up
so i live in a country with a liberalized electricity market, i.e. i can choose any utility company of my liking rather than having to use the city utilities.
as it so happens, switchting between utilities every few years can create a noticable bulge in ones wallet over the course of a year. as it also happens i switchted utilities recently.
well, tried to.
first i tried one company, let's call it ElectronGuzzlers, with a lead time of three months. they responded with some enthusiasm and assured me that everything would be taken care of. i was happy about that. things are not usually taken care of.
fast forward those three months. i receive a letter stating that no, sorry, we can't do that. your local utilities are useless assholes and please fuck off (paraphrased somewhat).
so i tried the next utility company. which, somewhat enthusiastically, assured me that everything would be taken care of.
fast forward a week. the second company tells me that my previous supplier (i.e. the one i wanted to switch away from) does not know me. at all. which i somewhat doubt, because i copied all relevant info directly from the PDF bill i got.
it turns out that ElectronGuzzlers has terminated the old contract on my behalf (as they are allowed to do, *if* they then supply me with yummy yummy coulomb juice). without telling me about it in their "nope, sorry" letter. which means i'm now paying twice to thrice the normal rate for electricity until this is resolved.
it's not like i had a, oh, i dunno, huge open space just begging to be solar-panelized directly above my living room or something in the form of a roof. if i only i owned the fkn thing ...
Don't go to hacker spaces when you have made up your mind and want to find some help turning that mind into a thing, folks.
Yesterday a person came to our hackerspace and wanted to buy ten bucks worth of parts to fix an audio problem in a cheapo active speaker they built. Unfortunately they dropped a line like "I measured the problem I want to fix and thus need X value of ...".
Well. Turns out that this collection of weirdos also has usually within reach quite a sizable sum in measurement equipment. So not only did that person not get what they wanted (the parts), they also had their own measurement proven wrong and been drawn into the space by half. They'll come back soon.
I'm done. I've seen it all now. Everything's happened.
I've been fired and re-hired. Again. Within a single hour. On the exact same team. While on vacation. Without notice. Found it out only because my colleagues told me about it later.
Just try to imagine the cackling laughter that ensued when I was finally told. It might have been somewhat off-putting.4
We had a tool to analyze a distributed system. To do that it collected a large data set--basically the entire data set of the system itself, just in a different format--and ran analyses on that. That tool went through three iterations.
First: dump everything into an SQLite database and run SQL queries. That approach failed spectacularly when the tool was used on system larger than the toy examples used for sales demonstrations: if it ran at all, it ran for weeks. Which is not something clients are very happy about, usually.
Second: dump everything into many SQLite databases, one database for each type of thing. To avoid the evil, evil locking overhead of SQLite. Failed just as well as the first thing try, but it did run marginally faster.
Then it was dumped on my desk. With the instructions "make it fast". Nothing else. Ripped out the entire database code and rewrote it from scratch to still support relational queries (code reuse, yay!), then optimized the living hell out of that for an end result of 30dB improvement in runtime. At that point the tool was no longer the bottleneck, but I was still scolded for having changed the code in order to get there. Some people ...
How can it be that there are no *good* RCA connectors that won't make me an alchemist for acquiring just a single one?
Cheap RCA connectors have about as much hold an their cable as most politicians have on common sense. Less cheap connectors may hold onto their cable enough to not rip apart when you look at them funny, but they just never seem to make contact without at least a little bit of wiggling.
And don't tell me "Neutrik is the best connector". I have Neutrik RCA plugs here because their XLR connectors are awesomeness incarnate. I tried to install one of those RCA plugs on a cable the plug was clearly rated for (i.e., the datasheet said "you can stuff even more into that fucker"). Not only did it not go back together, a part of the clamping mechanism that makes these things so awesome in the first place died trying. I had to file down the broken part to about 2mm width (of 8mm originally) and shave the cable a bit before it went together. And the cable *still* comes out at less than a stage-grade reef on it.
There must be something I'm doing wrong. Currently I'm guessing that it's the "pro" in "pro audio", with a side of "why would you even want that".1
Laptop vendor released a BIOS update I wanted to install for various reasons.
Vendor says "run this Windows executable!". I don't run Windows. I don't even have access to Windows.
Vendor provides alternative: "burn this ISO to a CD and boot that!" -- my machine has no CD drive. I have no access to a CD drive.
Vendor provides alternative: "write the ISO to a USB stick and boot that!" -- Nope. Doesn't work. Not in BIOS mode, not in UEFI mode, not in any combination of the two. Not even with unetbootin, which usually never fails.
"Ahfuckit" methinks, "I'll just run a system update if I've already rebooted the damn thing for the umpteenth time." That upgrade includes a kernel update. The upgraded kernel broke the touchpad (wasn't even detected anymore) and got udevd killed during boot (because some kernel module it loaded segfaulted).
It just doesn't end.2
I work as a software developer for a small and specialized company on a very popular, albeit niche, piece of system software.
This software has been around for a while, and in that while it has ages. If there is one thing you could say to have aged gracefully--well, this thing ain't it. The codebase itself is what anyone would expect of a large-ish C++/C product started in the mid 2000s: documented poorly (and where it is documented, documented *wrong*), full of obscure bugs, full of idiosyncratic design choices that caused the obscure bugs in the first place, and a code style--or rather a general approach to software engineering--taken straight fom the 80s.
It is also fair to say that the product has been developed by marketing. What started out as a company-internal project to help others get work done was perceived as valuable for others, quickly rushed out to market, and "developed" by listening to whichever customer screamed loudest at that point in time. ("Developed", in the "duct tape and WD40" style of development similar to an early 90s web page: the result has no class, no style and everything users find "interesting" to interact with is a java applet.)
About six months ago the powers that be finally acknowledged that a codebase that has not seen a single line of refactoring since its inception over ten years ago is not a solid foundation for further business. What was once an openly hostile attitude towards refactoring and general improvement of the codebase itself rather than the set of user-visible functions slowly morphed into a secretly hostile attitude. Upper-level management continued to denigrate developers seeking to improve the system citing their own experience ten years ago as reason why things must still be done exactly as they have did. Parts of this upper-level management were soon complimented on their work and it was suggested they take the next step in their carreer.
Which they did, with two toes of one foot. The other eight remained in internal discussions and, more importantly, inside the head and arse of the new managers. Which promptly turned just as secretly hostile and blocked all attempts at improvement. Instead it is highlighted that the developers are clearly not smart enough to do their jobs.
Meanwhile the entire project is falling behind deadlines. We've failed to deliver on three accounts already and are now nine months behind on another plan that was set for 15 months nine months ago. (Yes. We have officially started working on this thing, but no work has been done. More to the point, work has been *started*, but is stalled or rejected continuously because "that's not what we would have done five years ago" or "you can't change that, whoever wrote it must have thought about this a lot.")
And now upper-level management has begun reverting changes that same upper-level management has requested and signed off on. Without communication. So that developers don't start work on things they have not signed off on (because they don't read the plans or give any feedback). Because developers are not qualified for their jobs and must be closely monitored to ensure they don't break stuff. Which was already broken. Because the product has been bitrotting since birth.
Fuck my life.3