Details
-
About<aboutme> If anyone bothers to read and screenshot this, I'll personally build you a website for free* </aboutme> *FAKE NEWS
-
SkillsI'm playing with so many sneks! HEEEEEELLLLP
Joined devRant on 5/14/2016
Join devRant
Do all the things like
++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatar
Sign Up
Pipeless API
From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple API
Learn More
-
My company just acquired another company from some losers.
Gotta load their pittance database onto our thing.
Their entire "Technology Department" is one old fart.
One even older fart runs their accounting.
I asked the IT boomer for their accounting data.
He tells me to get the head accountant.
The head accountant says they do not have any historical accounting data.
I threaten to call the (equivalent of the) IRS on them.
They give up, admit that they do have some historical data. But they attempt to pull a "malicious compliance" on me, send me a pallet full of old receipts, on paper.
I do what I have done one hundred times before, I go to the closest community college (equivalent) and ask/bribe a teacher to offer the most trustworthy kids some pretty pennies to scan all those files for me.
A dozen of them barely took a week to do it using their not-so-bad camera phones.
It all for about the same price as a couple of older-but-still-good iPhones.
Then it's on to some simple OCR and data normalization tasks.
This morning I had another meeting with the losers, the first since I told them their "data" had just arrived in the mail (but a couple weeks after that). They log in for the meeting all smug, thinking we would ask for more time to load their data, and it would be my team's fault for any delays.
Then the regional business evaluator logs in and said he reviewed their financials yesterday and we have a lot to talk about.
I will remember their "just got punched in the gut" faces forever :)7 -
“This reminds me of the Warp Train in Library of Ruina. It can travel anywhere within 10 minutes, by jumping through another dimension, but in one incident it seems to malfunction, and doesn't arrive at its destination. The passengers are stuck in warp space, and oddly are in a 'stasis', wherein they don't need food or drink, or need to use the bathroom. It turns out they can't die either, as people start trying to commit suicide after being stuck for weeks. As the weeks turn into months, and then years, the passengers resort to brutalizing each other just to feel something, eventually turning into quivering lumps of flesh through their violence. After 2000 years, the train finally arrives at its destination, 10 minutes later in our universe. The company hits a button, and like loading a savestate, the passengers are returned to normal, none the wiser, with no memories of the 2 millenia of hell they just went through.
The train was never malfunctioning. This happens every single time.”4 -
100 updoots and I actually post this to my linkedin feed
entertain me, devrant, my finger is itching on the post button already8 -
if people are curious of the PTSD baggage i'm carrying and why i rage so much at everything, see attached picture
granted, this was partly my fault, as i said, i was far too nice, and stayed for far too long
also note this job was AFTER a 2+ previous e-commerce job with ultimately failed project and little pay
UG i mean LOOK at this... i could go on and on for hours "push notifications must run" - yeah a casual bullet point that needs to be finished by end of day? hahahaha20 -
Our company opened a job offer for a new teammember in our team.
Same skills and expertise as mine, but the minimum salary offered is more than I earn.
I decided to just apply for basically my own job and in a matter of 10 minutes I got a message by HR, asking why I applied and that this is basically a position in my team. After I explained the reasons, I got a message from my boss 5 minutes later, who wants to talk to me live tommorow about that.
Gotta say, fastest response and invitation I ever got on an application.25 -
6 months ago:
Boss: We have this idea to improve our onboarding to avoid drop off in the new app. See this section here? Were going to take that out of the onboarding and just let them pass straight through to the app. Then when they get into the app, there will be a banner telling them they should go to settings and set this up. That way they can ignore it for a while and get into the app sooner
Me: Get into the app sooner to do what?
Boss: Explore it
Me: Explore an empty app with no content, as they are a brand new user with nothing setup? While theres a big banner on the screen saying "You have insecure settings" ... basically forcing them to do it straight away anyway?
Boss: Yeah, we can give them some recommendations or something while they click around. It will be good. This is months away anyway, we'll talk again
Yesterday:
Boss: So this weird unexpected thing happened. We showed some beta users our plans to remove this section from onboarding and they felt weird about it. They said they didn't like the idea of the banner telling them they haven't set it up correctly
Me: Thats not weird, I said the same thing 6 months ago
Boss: ......... oh, really?
Me: Yep. Its not an improvement to get them through onboarding quicker, just to tell them they have to now go do it somewhere else
Boss: ... right. Ok maybe we'll build it anyway and see how they feel with it in there hands?
Me: nope
Boss: ... what do you mean?
Me: We are behind, you've asked me 3 times in the last week if we are going to be able to get everything in on time ... and now you want me to build something that everyone, apart from you, says they don't like. So realistically, i'm going to build it, and then remove it next week ... and we'll have a discussion about what has to be dropped because of this
Boss: ........ right .... ok .... hhhmmm
Me: *sits with resting bitch face*
Boss: ... maybe we can hide the banner until later. Not show it to them until they've done something in the app?
Me: ... maybe we can not do any of this?
Boss: right but then the onboarding will ...
Me: *talks louder* ... yes will be the way our users want it to be
Boss: ... hhmm i'm not sure
Me: Ok heres what we'll do, so long as it doesn't delay me getting the designs I need, feel free to have the designer mock up what it would look like using that figma on device preview thing. If users say they like it, i'll build it
Boss: ... right but it won't be real on device app so ...
Me: Its that or we cut feature X
Boss: ... well we need that
Me: ok glad we agree, let me know what feedback the designer gets
Boss: ... ok10 -
I'm a "published" freelance dev!
Last night I made my first web application available to the internet. It's an internal enterprise management system for a small non-profit.
It's running on a single $6 a month digitalocean droplet, and the domain is $12 a year, so yearly cost for them is absolutely rock bottom.
It's written in asp.net 6.0 razor pages, nginx reverse proxy, certbot for HTTPS certificates, fail2ban for ssh protection (ssh login is via ssl keys), entity framework with MySQL.
The site itself has automatic IP banning based on a few parameters like login spam, uses JWT tokens, and is fully secured.
All together, it's a lot of value for about $100 a year.14 -
Employer: so why do you want to join this organization?
Engineer: well like i said in the first 4 interviews, I love desks. Sitting behind them. Standing behind them.
Employer: are you a standing or sitting man?
Engineer: i like to sit in the morning and then switch up to stand at lunch.
Employer: a man with a plan. Very good. Do you remember anything from school?
Engineer: not a goddamn thing.
Employer: perfect. You don't need math. Just emails. You like emails?
Engineer: love emails.
Employer: there's gonna be a lot of emails.
Engineer: can't get enough emails.
Employer: perfect. Do you like a clear separation between life and work?
Engineer: oh not at all. I like it to muddy together in a never ending hell.
Employer: alright and you're familiar with work culture?
Engineer: oh those hours i work for free?
Employer: yes.
Engineer: I love that bullshit.
Employer: alright terrific. And are you familiar with the hate hierarchy?
Engineer: yeah the tech's hate the engineers, the engineers hate the tech's and the managers hate everyb-
Employer: everybody. Perfect. Alright I- honestly I think we'd like to make an offer.
Engineer: well, first I gotta leverage that with my current employer for a raise. And if they don't budge, I'll jump shut.
Employer: no loyalty at all?
Engineer: not at all.
Employer: you're hired.4 -
BEEP-BEEP
Every now and then, periodically
BEEP-BEEP
and then quiet. Get into working mode, concentrate again, a...
BEEP-BEEP
wtf is that.. Took down my smoke alarm, prolly the battery is getting low. Put it next to me, waiting...
BEEP-BEEP
nope, it's gotta be smth else. How can I hunt it down when I can't even tell which direction it's coming from?!? I know. Play smart. Measure the period.
BEEP-BEEP
it's been 3 minutes 5 seconds since the last BEEP-fucking-BEEP. Now I can plan my time ahead. Go to one room, wait fo..
BEEP-BEEP
Nope, it's not there. Carry on with all the other rooms, waiting for that annoying beeping.
BEEP-BEEP
I think I at least know the room. Good, narowed it down.
BEEP-BEEP
this is getting really annoying. I've been playing with this nonsense for an hour already. Alright, it's in my kid's room. The PC is off, toys are off. What could it be....? Binary search the f
BEEP-BEEP
uck out of it! aight, I first try to identify from which part of the room it's coming from. Stand in the middle and tu
BEEP-BEEP
ahh, right, it's behind me then. Fine. That's the PC corner. But it's off, it can't be making sounds. Esp when it has no speakers plugged in - it's got only Bluetooth speakers which haven't been turned on for what, a year already? but then w
BEEP-BEEP
hat could it be... Sounds like it's indeed coming from the PC corner. Checking all the LEDs -- all are off, nothing's turned on. Move the speakers away, try digging around to see if the kiddo didn't leave his toys behind the
BEEP-BEEP
PC. Wait, the sound has moved behind me... And I've only moved my BT speakers. Which are turned off. That's odd... could it be? Put one to one ear and another one to another and wait for the remaining 15 seconds
BEEP-(you are a fucking idiot)-BEEP
whispers in my left ear.
Turns out, some BT speakers can make low-battery sounds even when they are turned off.10 -
Colleague started to share their screen
Me: screen is not visible to be
Them: let me just increase the brightness of my monitor5 -
If you’re having trouble with the bossman’s ‘tude
He’s giving you the blues
You wanna dev, but not for this dude
Here’s what you gotta do:
Pull up the CV, it’s that easy
Send it every time
Just use a throw-away email, hey.10 -
Making an ssh connection:
No....
No this one.
Not that one.
Not that one, either.
*starts typing*
*Typo 1*
*Typo 2*
Yay. Connected to server.
... Okay. Wrong environment.
*Exiting*
*trying again*
*Typo 1*
*Typo 2*
*finally connected*
Okay. I'm here...
Why did I connect to this machine again?!
------
Migrations are fun. Your bash history is an obsessive lier, your brain completely fried and when you finally managed to achieve something... You either forget what it was - or even worse - you get reminded of all the stuff you still have to do.
I'm literally amazed that I currently manage to go to the toilet, don't forget to make coffee and eat stuff at least once a day.
Before anyone thinks... Haha joke.
Nope I'm dead serious.
I am amazed that I didn't forget to go to the toilet, aka sitting in my own piss and wonder why it's so warm and wet down there.
I'm glad that the migration is going to end soon, otherwise I might opt in out of paranoia for adult diapers.
*My brain is really fried*4 -
I asked my boss for a raise. Since we're data scientists, I basically plotted a column chart showing that he was paying me half of the european average. I said I was willing to negotiate but he was very 'discomfortable'.
Time to go find another job. Or second one 😭6 -
Over the course of a few months, I began to suspect my manager disliked me on a personal level. I decided to be proactive and invited him to a meeting on "Improving our working relationship" - he showed up 5 minutes late and fired me.11
-
Manager: We need to setup the security in the Mexico server
Dev: You mean that 3rd party firewall add on?
Manager: Yes
Dev: And set up the billing on the Mexico account?
Manager: Yes
Dev: lol, sure thing I’ll create the ticket
Manager: What’s so funny?
Dev: Nothing
Ticket: Build wall and get Mexico to pay for it.15 -
HR: I’m sure you know what this meeting is about
Dev: My script that converts the name of our 3rd party IT provider in any email thread I reply to with “PooPoo Inc.”?
HR: No, that is a separate meeting
Dev: Ah.4 -
> 3 hour long mandatory online cybersecurity training
> Preaches that the company is very secure and the only risk of being “hacked” is if employees post company data on social media
> oksure.tar.gz
> Bored out of my mine
> Open dev console
> JSON continually getting sent to backend
> Simple structure and human readable fields including {complete: false}
> Open postman
> {complete: true}
> Send
> 200 response
> Refresh page
> Course complete
> :’ )
Muppets.4 -
So couple days ago I posted my meme website: meme4meme.me
Now after some constructive suggestions I have finally redesigned the thing, now it is:
Better with mobile device
Link is unique for each meme so you can share
Can download content
Please enjoy the memes I collected over the year and let me know any suggestions you have24 -
“Yeah but you’re not a *real* developer”
Fuck. you.
I wrote 80% of this code base. I do 80% of the tickets/storyboard points. I do all of the QA. My nose is to the grindstone every fucking day honing this craft and sweating my balls off like a blacksmith staring into the red hot kiln while the sores of previous mistakes scream bloody murder from the unrelenting exposure to heat. I saw this amazing industry of opportunity, freedom and self examination and wanted in no matter what it took. I glued myself to every pithy resource I could possibly get my hands on and crawled through the muck and filth of it all until I could keep myself warm with the smallest spark of my own making. I stoked that spark until it became a fire and stoked that fire until I could set entire forests ablaze. I listened to the ungrateful people keeping warm by my combustion saying it “wasn’t hot enough” or “would have been a nicer colour if they did it” or “could have warmed up just fine jogging on the spot”. I made painstaking alterations to my ignition and watched my undeserving benefactors gradually be silenced and begin to sit quietly by the heat. I jumped into that inferno daily, was reduced to ash daily and emerged reborn daily. But you are right! I didn’t get scammed out of $40k+ studying technology in an archaic institution from instructors who don’t give a shit and answering “D all of the above” for 4+ years straight therefor my opinion doesn’t mean shit. Push your bullshit to prod and watch the server come burning out of the cloud as the apocalyptic swarm of angry tickets come flooding in why don’t you? Bet they didn’t teach you that in school. You’ve never poked around inside an open source codebase in your life. They are just a mystery boxes of magic that unless someone holds your hands with finely crafted instructions containing a 50/50 picture to word ratio you throw a hissy fit. Every problem that comes up instead of working to solve it you reflexively point to the first person in the room while thinking with your pea brain how you can possibly scapegoat them into taking the fall for whatever it is that’s come up today you couldn’t possibly understand.
Not a real developer?
Fuck. You.28 -
Manager: I don’t care if it has bugs, if we don’t ship it this Friday I’ll have to redraw my Gantt chart AND I’M RUNNING LOW ON CRAYONS!!!9
-
Company: we care about work/life balance (as long as shit gets done)
Company: we care about mental well-being (except when shit has to be done "now!")
Company: we help each other (we push work around until someone finally do it)
Company: management is here to help you do your work (as long as you don't ask them to help you to solve a real problem)
Company: we are agile (except we have more sub-processes than ever)
Company: we only hire best (and then put them in the team of morons)
Company: we are customer centric (that's why we are delivering bugged features)
Company: we constantly rise the bar (deliver more shit in shorter time)
... did I forget about something?12 -
Recently I've played around with the Seam Carving algorithm for the content-aware image resizing.
It turned out that the algorithm is pretty powerful, elegant but yet simple. One of the interesting parts was that it might be optimized with the Dynamic Progrming approach. Also, it may perform a simple object removal from the image without even modern ML algorithms.
I've tried to describe my experience here in the interactive article:
https://trekhleb.dev/blog/2021/...5 -
HR sent around updated contracts asking everyone to sign them since the company changed its name, fair enough.
In the contract it stated "Your normal place of work will be X" - only X was many miles away, and I'd never worked there, never planned too. Assumed it was a mistake, sent it back. HR refused to change it, stating that the "normal place of work does not need to be the place where you normally work."
A lot of back and forth entailed, I refused to sign, I was reprimanded for not doing so, I was asked what my problem was as it made no material difference, and then I eventually replied with:
"Angela, I'm refusing to sign this as it's factually incorrect. No further explanation is required. I'll maybe consider signing this if you sign a piece of paper declaring you believe the moon is made of cheese, and you're the cow the milk came from to make it."
A very strongly worded email came back about how this was going on my record, I needed to offer a formal apology, etc. - all cc'd to my manager. I replied back, again copying my manager in, stating that this was ok, as I couldn't remain at a company who forced employees to sign dodgy contracts anyway.
Problem was (for them), I was a *massive* single point of failure for them at this point owing to some others leaving with no handover - hence I knew I wasn't going to be the casualty here. My manager flipped the lid at HR, got the CEO involved on threat of *him* leaving, and the whole thing massively blew up. Happy ending in that the HR person in question was fired, everyone else's contracts also had to be redone (I assumed everyone else just signed without looking which is worrying), and I actually got a pay rise out of it when higher ups realised the massive single point of failure I was.
But damn, I would've walked over crap like that. Walked pretty soon after anyway!13 -
A while back, I had a lot of telemarketers were calling me daily, and I mean A LOT of them.
I got so frustrated with he calls that I decided I had to figure out a better way to handle those calls.
At the time, I was working with a PBX software called Asterisk, which is used to handle hardware interfaces and network applications for phone calls.
I needed a suitable side project and there was a version of Asterisk designed for Raspberry Pi, so I made a fun little answering service for myself.
Whenever a telemarketer called, I asked them to call back later, but to "my personal number", and gave them the number to my phone robot. (which had a pre-paid SIM card in a GSM dongle mounted)
When it received a call, it would play a pre-recorded phrase, wait for 1000 ms of silence and then play the next phrase.
After all 16 phrases had been played, it would start from phrase 7 again and repeat until the caller gave up.
I had this set up running for a while, and then added another robot for english speaking callers.
The calls stopped after a few months.
MISSION ACCOMPLISHED!13 -
An entirely typical exchange at work:
PM: How long would it take to build an application that collates Gubblefluffs and exports them as a PDF?
ME: Hard to say. What’s a Gubblefluff?
PM: Nothing complex. Its basically an object with some stuff in.
ME: Erm, okay. So I’ll define a Gubblefluff object plus methods to add edit and delete, then for each Gubblefluff have it write a line to a PDF.
PM: It will need to email that PDF to somebody.
ME: Okay, cool. “Gubblefluffs-by-email” should take about a day.
6 hours later…
ME: I’ve done Gubblefluffs-to-pdf, I’m not clear on what’s in a Gubblefluff but I’ve made it flexible so it can take almost anything.
PM: No, a Gubblefluff can ONLY be one of 4 Snigglefingers plus a timestamp and some JSON.
ME: What? Right. Okay. What’s a Snigglefinger?
PM: (sighs) A Snigglefinger is the collection of relevant Babelsets.
ME: Babelsets?
PM: Yeah, a user can have any number of Babelsets but they must correspond to one of the four types of Snigglefingers.
ME: There are users!?
PM: Of course!
ME: But I’ve not coded anything for users.
PM: Shit. I’ve told the client they can have it today. How long to add in users?
ME: And Babelsets, and Snigglefingers and the new Gubblefluff rules?
PM: Yeah.
6 days later…
ME: This is done now. It’s a beast but it works. Who should it email the PDFs to?
PM: Client X, plus cc to Y and bcc to Z.
ME: What? It doesn't support CC and BCC!
1 hour later…
ME: This is done. I’ve tested it and sent you a copy of the PDF it generates.
PM: Okay thanks. Is the cron running daily?
ME: What cron?
…
ME: Okay, so the cron’s running once a day at 8pm.
PM: Oh, it’ll need to be at 3:15pm. That’s when we’ve told the client they’ll get it.
ME: Right. I’ll change it...
PM: Also, the PDF you sent me looks nothing like the visual.
ME: What visual?
...53 -
This is more just a note for younger and less experienced devs out there...
I've been doing this for around 25 years professionally, and about 15 years more generally beyond that. I've seen a lot and done a lot, many things most developers never will: built my own OS (nothing especially amazing, but still), created my own language and compiler for it, created multiple web frameworks and UI toolkits from scratch before those things were common like they are today. I've had eleven technical books published, along with some articles. I've done interviews and speaking engagements at various user groups, meetups and conferences. I've taught classes on programming. On the job, I'm the guy that others often come to when they have a difficult problem they are having trouble solving because I seem to them to usually have the answer, or at least a gut feel that gets them on the right track. To be blunt, I've probably forgotten more about CS than a lot of devs will ever know and it's all just a natural consequence of doing this for so long.
I don't say any of this to try and impress anyone, I really don't... I say it only so that there's some weight behind what I say next:
Almost every day I feel like I'm not good enough. Sometimes, I face a challenge that feels like it might be the one that finally breaks me. I often feel like I don't have a clue what to do next. My head bangs against the wall as much as anyone and I do my fair share of yelling and screaming out of frustration. I beat myself up for every little mistake, and I make plenty.
Imposter syndrome is very real and it never truly goes away no matter what successes you've had and you have to fight the urge to feel shame when things aren't going well because you're not alone in those feelings and they can destroy even the best of us. I suppose the Torvald's and Carmack's of the world possibly don't experience it, but us mere mortals do and we probably always will - at least, I'm still waiting for it to go away!
Remember that what we do is intrinsically hard. What we do is something not everyone can do, contrary to all the "anyone can code" things people do. In some ways, it's unnatural even! Therefore, we shouldn't expect to not face tough days, and being human, the stress of those days gets to us all and causes us to doubt ourselves in a very insidious way.
But, it's okay. You're not alone. Hang in there and go easy on yourself! You'll only ever truly fail if you give up.32 -
I started a nee personal project few weeks ago. I named it SelfVPN. Its simply a VPN client that lets you create DigitalOcean droplets and install vpn server without opening DigitalOcean panel. You just need to add your api key in application.
It takes like 5 min to create new server and deploy vpn server. So I am paying hourly usage of vpn! Even if I don't destroy droplet it wont cost more than 5$ a month.
I am thinking to open source it. But code is too messy 😅 Here is the first look of it27