Do all the things like ++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatarSign Up
Get a devDuck
Rubber duck debugging has never been so cute! Get your favorite coding language devDuckBuy Now
Using an array of function pointers to replace large switch statements... holy shit.. I feel like Thanos getting the time stone.
Just when you think you can’t get your code to run any faster, nor did I think I could get the code any smaller... BOOM.. C never ceases to impress.
Next I’ll be turning this into “object” oriented ... but since it’s C ... it will just be Struct oriented .. SOP ..13
with all the love JS get around here, i don’t know if i should disclose i made a full-fledged ECMAScript v5 engine in C.
faster than quadwheel (close to Lua perf actually), and hopefully as safe as Duktape.
thanks for reading my AMA post, have a good day without JS 😂10
Walked through a part of my home city that I hadn't been to for a while. Look what has opened up there.4
Spent a lot of time designing a proper HTTP (dare I even say RESTful) API for our - what is until now a closed system, using a little-known/badly-supported message-over-websocket protocol to do RPC-style communications - supposedly enterprise-grade product.
I make the API spec go through several rounds of review with the rest of the dev team and customers/partners alike. After a few iterations, everybody agrees that the spec will meet the necessary requirements.
I start implementing according to spec. Because this is the first time we're actually building proper HTTP handling into the product, but we of course have to make it work at least somewhat with the RPC-style codebase, it's mostly foundational work. But still, I manage to get some initial endpoints fully implemented and working as per the spec we agreed. The first PR is created, reviews are positive, the direction is clear and what's there already works.
At this point in time, I leave on my honeymoon for two weeks. Naturally, I assume that the remaining endpoints will be completed following the outlines/example of the endpoints which I built. When I come back, the team mentions that the implementation is completed and I believe all is well.
The feature is deployed selectively to some alpha customers to start validation testing before the big rollout. It's been like that for a good month, until a few days ago when I get a question related to a PoC integration which they can't seem to get to work.
I start investigating and notice that the API hasn't been implemented according to the previously agreed upon spec at all. Not only did the team manage to implement the missing functionality in strange and some even broken ways, they also managed to refactor my previously working endpoints into being non-compliant.
Now, I'm a flexible guy. It's not because something isn't done exactly as I've imagined it that it's automatically bad. However, I know from experience that designing a good/clear/future-proof API is a tricky exercise. I've put a lot of time and effort into deliberate design decisions that made up the spec that we all reviewed repeatedly and agreed upon. The current implementation might also be fine, but I now have to go over each endpoint again and reason about whether the implementation still fulfills the requirements (both soft and hard) that we set out to meet.
I'm met with resistance, pushback and disbelief from product management and dev co-workers alike when I raise the concern that the API might actually not be production-ready (while I'm frantically rewriting my integration tests and figuring out how the actual implementation works in comparison to what was spec'ed).
Oh, and did I mention that product management wants to release this by end-of-week?!7
Had an appraisal. Got a good enough raise. Wasn't very satisfied with myself though, was exhausted and thoughts were scattered all over.7
What if a code, running a factory, making dev ducks, was buggy? Would these ducks cause more bugs in our codes?3
What do y’all think about the new Raspberry pi with that 4GB of RAM. Other good improvements too, but that’s what I’m most excited about4
Sometimes you want to scream but you can't,
sometimes you want speak about how fucked up this society that we live in is... how the fundamental concepts of our lifes are wrong... How some things just don't work in the present... but there is no one who would listen to you... and even if they did, there is nothing they can do to change anything until the whole world listens.8
1. Finally someone who understands what I mean, someone who wont make A into B "becouse I thought..."
2. Finally someone who gives deterministic feedback that you actually can understand and work with.
3. Finally someone who dosent have different mood every half an hour
His name is compiler or interpreter... wait... his... Im male... shieeeet...5
boss: I sent you a wsdl file.
me: I saw it. But you sent me a json for a rest api request.
boss: You want me to teach you what a wsdl is?1
Working in a messy and fragile codebase full of anti patterns really sucks the life out of me. It gets to a point where to fix a single bug I could either refactor a bunch of stuff to make it right, or get on board with the filth and do it the wrong way. I'm convinced this shit is making me worse as a developer. And most of the time because of deadlines, I have to do it the wrong way.3
I go on vacation from work for 3 weeks at the end of this week, the longest I'll have taken at once in at least 10 years..
Finding it REALLY hard to a) focus on work now (yay vacation brain).. b) trust my coworkers to not crash the system, burn the backups and just generally bugger everything up while I'm gone. Aaarrrggghhhh4
So, I have been offered two jobs at the same company (big, global corp)
1. RPA coordinator or operator or business analyst. Completely new to me, they're happy with my background enough so that I could learn on the job. RPA is new in this place and they're creating team from scratch.
2. Member of IT security team where most of my work would be split between things that interest me greatly - vulnerabilities, fixing them and pen testing.
I'm not sure what to pick, really.
Option 1 seems to be way more future proof and seems like a lifetime opportunity to get into something relatively new, potentially more ££ down the road.
Option 2 is what I already spent some time learning and I have quite a big interest in. I've always been less of a programmer and more of an admin/sec guy.
Tbh before option 1 called me yesterday I thought that option 2 is a dream job for me. Now I'm all in doubt.4