AboutJoined for the stickers. Stayed for the fun.
Joined devRant on 9/24/2018
Do all the things like ++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatarSign Up
Random thought of the day. I'm sure I've been told the "common wisdom" is that you can take a job with a lower salary and enjoy a better work-life balance, or go gung-ho for the inner city jobs and earn way more but sacrifice your quality of life.
Anyone else found the complete opposite? The higher the salary I've had over my career, generally the *better* the working environment and the more the employer seems to care for, and value its employees. Not universally true I'm sure, and perhaps I'm just lucky about where I pick, but I've certainly had way more "high stress" situations in some of my lower paid, rather than higher paid roles.10
Am I the only one excited for the RTX 3000 series not because of gaming, but because of all those sweet, fast CUDA cores? Never mind framerates, that should make training those models way faster.6
A recipe for COMPLETELY hacking me off - ask for help, pretend my advice is bollocks, then rephrase it as your own and follow it up with a smart arse comment.
"Almond, could you lend me a hand with this regex? I'm trying to match this particular group, but only if it doesn't have 'foo' after it."
"Sure, take a look at negative lookaheads - that sounds like it's exactly what you need"
"Nah that won't work for me, because I need to check for more than one character after it, I need to check for 'foo'"
"What? That doesn't make sense, you can..."
"Ah don't worry, I've found the answer by myself now, I can actually just add '?!' before the text I don't want to match and it'll do it - I'm fast becoming a regex expert here! Let me know if you want me to explain this to you"
DAHHHHHHH THAT IS A NEGATIVE LOOKAHEAD YOU CRETIN4
Dahhhhh. A few times a day, seemingly at random, one of the fans in my PC starts making a horrendous noise.
This would be mildly annoying, but fine if I could actually just isolate where the noise was coming from. But whenever I go to move the bloody thing and pop off the side case, it stops again 😬
Don't really fancy replacing all the fans one by one just in case they're the issue...14
I'm convinced this is going to be wildly unpopular, but hey...
Please stop writing stuff in C! Aside from a few niche areas (performance-critical, embedded, legacy etc. workloads) there's really no reason to other than some fumbled reason about "having full control over the hardware" and "not trusting these modern frameworks." I get it, it's what we all grew up with being the de-facto standard, but times have moved on, and the number of massive memory leaks & security holes that keep coming to light in *popular*, well-tested software is a great reason why you shouldn't think you're smart enough to avoid all those issues by taking full control yourself.
Especially, if like most C developers I've come across, you also shun things like unit tests as "something the QA department should worry about" 😬13
Been typing so long that I rarely, if ever write anything down anymore beyond a couple of scribbles. This seems to have slowly had the effect that I'm unable to write something the length of a damn postcode without my hand seizing up and cramping 😬2
A typo today has rendered me the joke of the office... 😂
Almond's PR: "Added missing unit testes to classes Foo and Bar"
Bob: "LGTM. Bet that took some balls."
Craig: "LGTM. Missing unit testes drive me nuts."
Ian: "LGTM. Write your testes with your code guys, a bit bollocks to have to add them afterwards."4
Sry, music / perfectpitch rant, !dev
My biggest (non-dev) pet peeve out there right now is this wave of "oohh look I did a transcription" Youtube videos that comes out whenever someone famous for complex harmony (such as Collier) releases a song. I mean that'd be fantastic, but they're OBVIOUSLY NEARLY ALL DAMN WRONG IN SO MANY PLACES.
More frustrating is that no-one seems to actually realise, the video skyrockets with wowed casual viewers amazed they're looking at sheet music that looks vaguely convincing, and everyone treats them as some musical genius. Dahh. Wake up people.
(Exceptions made for June Lee. He's awesome.)2
There's a special place in my naughty list reserved for those competitions that promise "free swag" as a participation prize...
...then give you a $10 voucher to spend in their store to buy a shirt, before telling you you'll need to pay $50 in international shipping 😡4
I'm not sure *why*, but I increasingly see the following pattern:
Challenge a primarily OO / imperative dev by saying OO or imperative styles aren't always a good fit, and that a stateless functional approach can offer advantages, and you often get something akin to:
"Yeah, it's new to me so I'm still working my way around it, but I get that. Makes a lot of sense."
Challenge a functional dev by saying the functional style isn't always best, and in some cases functional isn't a good fit, and you tend to get:
"YOU IMBECILE! YOU ARE SIMPLY CONSTRAINED BY YOUR YEARS OF MINDLESSLY FOLLOWING THE OO HERD! FUNCTIONAL IS ALWAYS SUPERIOR!! ALWAYS, I TELL YOU!!"
I mean geez guys, calm down and learn it's just another tool in the toolbox. I get that popular paradigms emerge and have their die-hard supporters, but I didn't even see this kind of thing when OO became the "new thing everyone needs to use for everything" in the 90's.4
Set it up, seems to work fine.
Oh no...! Take a broker down, then messages go missing - hmm, that's not right. Fine, I'll just look into... Ah, bad replication factor, my fault. So then it's all fixed! Woop. Wait, no. Some messages still going missing occasionally. Oh, only set to "at most once" delivery. My bad, fix that, and... now everything is out of order. Oh, ok, partitions setup wrongly. Wtf, now the whole thing stalls when there's a network blip until a restart. Right, ok, looks like commits have to receive acks in the library I'm using before continuing. Switch to a library that uses CommitWithoutReply. Brilliant....
Apart from said library seems to have commits failing all over the place because it keeps trying to commit during a rebalance 🙄😒😤
The frustrating thing is I KNOW for a fact that Kafka is a fault tolerant, resilient, horizontally scalable thing capable of handling stupid amounts more than I'm throwing at it without missing a beat. But damn,configuring it, and checking you've configured it sanely is a royal, monumental PITA.6
Mark was a support guy who could have been replaced by a robot. Nearly every support request that came in, whether it made sense or not, had a reply saying:
"Thank you for your query, I will escalate with the development team"
...and then I would have a message saying:
"Hi Almond urgent issue case xxx - I think you need to PLEASE CHECK LOGS" (yes, with that capitalisation.)
I'd then look at the case, take 10 seconds to work out the customer had done something stupid when calling our API (often forgetting their authentication details, despite a clear message telling them as such) and tell Mark what the issue was, and how to find it for himself next time. I'd then usually get:
"Thank you but PLEASE CHECK LOGS to see if there is any more info we can provide to customer"
...there would be more back and forth, and then eventually something like the following would reach the customer...
"Very sorry the development team have a major issue they will fix very soon but in the meantime a workaround is (instructions for using authentication details)"
When it became clear I enjoyed it.
A job you enjoy in a field that pays well? I consider myself very lucky.1
Anyone got one of these super wide-screen 49" beasts? Gimmick, or genuinely useful for productivity? Don't care about gaming.
Not asking for a friend.6
I applied for the wrong job for my placement year. Put down COMPSCI on the form (which, it turns out, is computational biology, which I knew nothing about) rather than ITSEC, which was the software dev side of things.
I only found out in the interview, when the first question was asked:
"So Almond, I'm a bit confused as to why you've applied to this role specifically given you've no biology background at all - could you fill us in?"
I spewed some kind of crap on the spot about wanting to work in a field where I saw a direct & differing application of computing than I'd seen before, and thought my focus on the technical, rather than the scientific side of things might be an asset to them. This awkward exchange went on for a while - but somehow it seemed to work, because I was offered the job, and decided to take it - had a fantastic year there.7
5 years ago, in my first week of starting this particular job, the CTO casually mentioned they'd been struggling with a bug for years. Basically, in the last few days of the year, it seemed that records were jumping a year ahead, with no rhyme nor reason why. Happened every year, and wasn't linked with them deploying new code. (Their code was a mess with no sane way to unit test it, but that was a separate issue.)
I happened to know immediately what might be causing it - so I ran a case-sensitive search in the codebase for "YYYY", pointed out the issue, explained it, then committed a fix all in about 2 minutes.
I was told I'd officially passed my probation.
(Search for "week year vs year" if you're curious & the above doesn't ring any bells.)7
Does anyone blog or post on dev topics / tutorials, and if so what platform do you use these days?
- Medium is just full of aggressive paywall crap these days - not interested.
- Freecodecamp is more geared towards tutorials, though I wouldn't be against this - but seems like it's mainly geared towards "getting started" tutorials, and there's no way to comment on articles either.
- dev.to seems to be more of a "Twitter for devs" rather than a blogging platform.
- Blogger is as good as dead.
- Self-hosted platforms require me to maintain them, and I can't be arsed with the SEO side of things.
Anything I'm missing? Apart from to give up and do something more worthwhile with my time of course...7
Dear Java framework writers - please get your heads together and standardise on a single damn reactive Java framework. RxJava, Reactor, Akka, Mutiny, etc. - I know the concepts translate between each one quite simply, but this is getting a bit stupid now.3
Bugger me Quarkus is quick. Pretty bloody quick even when not using Graal native, but with that... damn.
Looks like I need to skill up. These new Graal-native-friendly, reflection-free Java web frameworks are really coming into their own. Spring really needs to respond quickly, otherwise it's going to become the slow legacy framework of yesteryear, if it's not already.6
Damn Github. I don't want to sound like a broken record, but feels like you're down more than up these days...4
I find it interesting to see how scenarios sometimes flip.
30 years ago, the generally accepted "best" thing to do when when interacting with a person of colour was to "not see colour" - to treat them as you would anyone else. Meanwhile the similarly accepted "best" thing to do when interacting with a physically disabled person was to recognise their disability, help them if appropriate, give them a boost, encourage them, etc.
Today it seems very much like the opposite. The correct thing to do when interacting with an ethnic minority is to see their colour, recognise their struggle, help them if appropriate, etc. - whereas with disabilities, that approach generally seems to have been labelled "inspiration porn", and the correct thing to do is simply not to see the disability, treating them like you would anyone else.
Not entirely comparable of course, but there's enough similarity there that I find the situation interesting.9
"Started playing around with C scripting, can you give me a hand with x?"
"Sure. Errr... this isn't C."
"Yeah it is, like the new C scripting stuff!"
"C scripting stuff?!"
"Yeah, the coffeescript stuff! You developers always shorten it to C right?"
I will never understand people who voluntarily interview for a well-paid position while making off the cuff negative comments and generally sounding like an absolute arse the whole way through. Do you really feel like your "look at me I'm a tough guy" attitude is going to achieve anything more than your application being tossed in the bin?!
Yes, you knew your stuff brilliantly. Probably way better than I do in many areas. But damn, I wouldn't want to spend 5 minutes working alongside you.12
Dah. Boss says we have to set a take home coding task for the dev interviews we're doing. I'd prefer just having a chat and forming an opinion.
I mean, you're the boss, but I still reckon that'll only cause the good candidates to sod off...4
When you've got a job you're happy with.
That's it in my book. Studied it and persuaded someone to hire you to do it? Enjoy that job, and it pays the way? Good work. Of course you'll likely go further than that in time, which is great - but there's no great magical point to "strive to" so to speak.10
...by saying "so what?!"
Either my fears that I'm not good enough to be where I am are founded, in which case I need to be thankful for this opportunity to be "above my station" so to speak, and work hard to make sure I *do* deserve to be there.
...or they're unfounded, in which case I need to work hard to do the best job I can.
In either case, it doesn't change the outcome, so worrying about it is futile. Heck, even go one step further - shoot for the jobs you *think* are above your station, and then see what comes of it.1
Soon even more reason for that friendly high-rep SO user to close your question as a dupe :-)
Years ago when I was doing my internship, I wrote a wiki-type system to catalogue a bunch of druggable targets for a pharmaceutical company. The powers that be were impressed, but also wanted integration with one of their legacy databases that would have been a project in itself to deal with. It was boring, would have taken the rest of my time there and wasn't worth it, so my immediate boss just delayed it until the next intern rolled in.
...then the next intern rolled in, and it was delayed again similarly. And again. And again.
I believe it was delayed for the best part of a decade in total at least, year after year, simply because no-one wanted to do it. After that the site shut, the project was shipped elsewhere, and I've no idea if it ever happened!1