Details
-
AboutI drink coffee, I hate people and I know things. I am your grumpy cloud sec superhero.
-
SkillsPHP, F#, Rust, Haskell, Elixir, TypeScript, AWS, SQL, C/C++, Python et fucking cetera…
-
Location83.666667, -29.833333
Joined devRant on 11/19/2019
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
-
“All of humanity's problems stem from man's inability to sit quietly in a room alone.”
― Blaise Pascal3 -
garbage collectors' lifestyle matters!
Ever eyeballed the abyss of your memory leaks? Shit, garbage collectors deserve a raise.
Unsung heroes, janitorialing thru that VM like a dung beetle, silently fucking up your perf so you can do that delicious spaghetti. Indiana-jonesing the fuck out of that memory trash can and euthanizing all that disgusting heap of pointers hanging, dangling, like... well, like garbage.
At the very least they're deterministic, unlike that Markov chain we all had the displeasure of fucking up. Amen? Amen! 🙌🏻
You gotta wonder, though, what goes through their nuggin. Do they reminisce about the potential of that half-ass-written class? Do they weep for the elegance of a forgotten function bottlenecking their job? Nah, probably just counting down the nanoseconds till their next full GC cycle. Aaah, like cold beer in Saturday barbecue.
So next time your program miraculously avoids a memory error, take a moment, put your hands up in the air and say a prayer to your garbage collector.
Silently covering for your fuckups2 -
Do you trust github/gitlab/bitbucket? If you self-host, do you trust your hosting? do you trust gitea? if you don't use gitea, do you trust git? do you trust the way you got your copy of git? do you trust your os, as it might have tampered with your git? did you read the code? do you trust your internet connection that might have changed some packets? do you trust your https implementation? did you examine the traffic? do you trust your traffic sniffing tool? if you use your own hardware, do you trust it? do you trust its CPU/bios? if it's risk-v, do you trust chinese vendors of your cpu? they might have put some backdoors there. do you trust your other hardware? okay, you have the money to make your own cpus. do you trust your employees? do you trust your silicon? do you trust the measuring equipment you used to check if your cpu is safe? do you trust the literature in the field? but did you verify it though? did you?
it's always who you trust. if you want to bake an apple pie from scratch, you must first create the universe.8 -
Do you guys ever wake up early shaking with cortisol thinking about code? I woke up super early bc my anxious ass brain thought I had to have an implementation plan and architecture setup for my dreams before I could truly stay asleep4
-
Designer: Need to file a bug, I'm not getting an option to login with FaceID
Me: Oh weird bug. Is it setup on the phone you are testing with?
Designer: yes, use it in all other apps
Me: Did you get an error during onboarding on the FaceID screen?
Designer: nope no error
Me: ..... hhhmm, can you show me your settings?
Me: ... eh, says you have FaceID disabled for this app ... did you click "No" to FaceID during onboarding?
Designer: Yes, to test edge cases
Me: ................ ok ........ if you setup the app and told it to not allow FaceID to login ......... you won't get the ability to use FaceID to login .......... like .... by design .... on purpose ...... cause .... you told it to do that
Designer: No no, it needs to have a setting on the login screen to allow me to turn that back on incase I forget my passcode
Me: the fuck it does. Yeah we can't have anything on the login page that says, without authorization, change my settings
*Deep breath*
Me: Remember we had this conversation previously, where you didn't want the user to create a passcode during onboarding as it was too much friction, and wanted to do FaceID only. With your backup plan being to allow the user to create a NEW passcode on the login screen if FaceID failed .... remember that discussion we had about security? ... and how its important? ... and that we like having any? Ok so its the same reason as that, just with a different setting this time
Designer: ... hhmm i'm not sure I like this
Me: ... tough luck then, not happening
Me: oh and btw, remember we had that other talk about reproduction steps for bugs? Like when the app crashed and you told me it was because its in light mode, and nothing else at all? So disabling FaceID, is very relevant info to the problem of "I can't login with FaceID", please tell me these things first11 -
Had a longer talk with a friend today.
Acquaintances of theirs were at a restaurant (!) a few days ago, complaining about how much they paid for breakfast buffet. Their rant went on how the restaurant didn't even include coffee in the breakfast buffet.
I know this restaurant. I really like it there. They roast their own coffee in the back. They have a transparent bakery with spelt flour, from certified organic farming. They support the regional farmers, even the meat for the cold cuts etc comes from a local butcher, livestock is from regional free range farming.
If you wanna know what's wrong with customers, that's the prime example.
Not only didn't they bother at all to look at the menu... They ignored at all what they paid for. Just stuffed themselves without any thought at all.
Then they wondered why the price was so high.
Of course, high price = bad, so they rant everywhere what a bad restaurant they visited.
It just made me so fucking angry, cause that's the same shit I have to deal every day with. Not giving a damn, not reading any information at all - but spouting nonsense and foul mouthing everything is okay.
Fuck those kinds of humans.1 -
Today I saw, and heard, two attractive young women show a lot of annoyance over a dude revving his car's engine as he drove past them in an obvious effort to somehow impress them.
I have not once in my 32 years of age met a single regular woman (read as in, not a woman who is a car enthusiast, and even then they are annoyed) that has been impressed over a dude driving a car as if he were in a race track. Not once.
So I seriously wonder, what is the point? annoying people? I am a very standard dude, I like cars, but that shit fucking irritates me and I seriously do not get the point.11 -
Ooof.
In a meeting with my client today, about issues with their staging and production environments.
They pull in the lead dev working on the project. He's a 🤡 who freelanced for my previous company where I was CTO.
I fired him for being plain bad.
Today he doesn't recognize me and proceeds to patronize me in server administration...
The same 🤡 that checks production secrets into git, builds projects directly in the production vm.
Buckle up... Deploys *both* staging and production to the *same* vm...
Doesn't even assign a static IP to the VM and is puzzled when its IP has changed after a relaunch...
Stores long term aws credentials instead of using instance roles.
Claims there are "memory leaks", in a js project. (There may be memory misuse by project or its dependencies, an actual memory leak in v8 that somehow only he finds...? Don't think so.)
Didn't even set up pm2 in systemd so his services didn't even relaunch after a reboot...
You know, I'm keeping my mouth shut and make the clown work all weekend to fix his own hubris.9 -
Never thought I'd be back here after all these years. But today I thought I would rant about our product owner, who thinks he's priceless to the project. The man walks out of meetings that don't go in his preferred direction. He gets flustered whenever discussions become technical and demands everyone ELI5 the entire thing to him. He clears his throat loudly every time he wants to make himself noticed, like loud grunts of a wild boar. He will find ways to shift blame away and onto others. He does not like being recorded during meetings and does his best to make sure his decisions don't have a paper trail in case they go sour. No paper trail also means he can contradict himself everyday ans get away with it. I wish there was a way to make him resign or switch to a different project. Other managers and even his bosses are already aware of his behavior and yet still no significant changes in his actions or behavior.
-
I'm a web developer.
I build web apps using JS/TS, vue.js and some Go in the backend
But I'm not that kind of dev who knows how a compiler work, and I usually get lost when I read a comment written by that guy 100110111.
Weeks ago, I started looking for a new language to learn, I tried Rust, Nim, V, I spent 30 minutes on the haskell homepage doin' the "learn haskell in 5 minutes"
I really wanna learn a new language, because I love learning new things.
Even if many of you here did not agree that Vlang could become a great language, I liked it and I'm following it waiting for the v1.0 maybe it's gonna achieve all its promises.
There is some other languages that I wanna learn too, like Nim and Zig.
What makes me like a language ?
1- the simplicity of syntax
2- performance (benchmarks)
3- the possibility to build anything with it
Now I'm wondering if it's a good thing to swap between languages like this, without knowing exactly what I'm gonna do with it, and what should I do to stop hesitating and stick with one language
...
what I really want, is to learn a language so good that can be used on servers (web backend) and on desktop (cros platform)7 -
I can maintain your shitty legacy node 6 code
And the shitty m3 ec2 instance with Ubuntu 16 that it runs on
And another one with postgres 9
But if I have to make a powerpoint presentation, I am jumping ship.
A man has his limits11 -
Someone around here once said that they believe that Rust compiler errors are generated by first sending the compiler noise to some dude in India and then they parse the errors and send them back to the compiler.
This was not a nod against our friends from the land of India, but instead, I think, a praise.
Thus I would like to add a request to the rust devs to see if they could include more "trademark Indian" sassy remarks in the messages that the compiler generates. But I am afraid that they think I am being racist or something.
For reference: My Indian friends are all beyond sassy in the way they clap back at mfkers when having friendly arguments, I have been left with a "well, damn" in multiple occasions because I am incapable of reaching that level of sass myself.12 -
Network, talk to people, and get yourself on the spot, document everything and make sure that you take action when others do not.
Kissing ass can take you far, but I ain't about that life, because sooner or later the fucker that promoted you because he liked his pp getting suckd by you will leave or get put in the spot. Or change alleagiances.
Your best bet is to be ANYTHING OTHER THAN A FUCKING NECKBEARD WITH AUTISM and be someone that people likes being around, I know it sounds hardcore, but people around you will ignore the things you don't know if you are a charismatic guy. Dress well, work out or find ways to improve yourself in ways that are noticeable, use human psychology to be fucking likeable.
Work hard, both on yourself and on your craft, study, get better, be social.
Stop being a twat because high chances are that the higher executives of your branch will not give a shit about your knowledge, but how good is to have you around. Join the circle, fuck your opinions about anything else, this is business, and business doesn't care about a lot of things. Don't cut throats, but make yourself a force to be reckoned with.
Source: Upper management, deals with VPs on a daily basis, knows that being a neckbeard will not take you anywhere.9 -
I’m working at an architecture firm these days, so I don’t have many “dev” stories to tell. However, I’d like to share this anecdote to reassure (or demoralize) you all that the kind of nonsense we’ve all dealt with as software developers isn’t limited to the software industry.
I’ve been working on a project to build townhomes and apartments on vacant lots in an urban environment.
Space is limited, so the client assured us early on that they would be centralizing all the mechanical equipment (water heaters, air conditioners, etc.) in the basement of each building. We finally got all the apartments laid out and presented them to the client last week. During that meeting, we get a casual “oh, by the way, we need a 3-foot by 3-foot mechanical closet in each apartment.” Did the project manager push back? Of course not. Have our deadlines been adjusted as a result of changing requirements? Don’t be silly! Starting tomorrow morning, the team gets to feverishly search for an extra 9 square feet in each of a couple dozen different apartment layouts that are already “cozy” in time to meet our next deliverable.
Clients suck.
Changing requirements suck.
Pushover PMs suck.
In every industry.2 -
In the grim dark future cryosleep or hypersleep or something similar will probably be used to extend peoples lives (and thus politicians careers) before it is ever used for space travel.
Give it time and you'll eventually have, through repeated extensions, term limits of one thousand years or even ten thousand, for congress/senate/president/etc.
You'll have CEOs and upper executives who have lived for 80k years dropping out of hypersleep once a century to document how the shoreline of north america changes near their beach home, as a sort of hobby.
Fart huffing professors (it's a professional sport in the year 28,841 AD) will come out of sleep once every millenia to track the evolution of something irrelevant, like gnat penises.
Big game hunters will wake up every 100k years to hunt new big game prey that just evolved--back into extinction. That and to check with their portfolio managers who will be AI or a highly evolved mongoloid goblin race of slave-quants.
I'm still working on the game btw. Anyone up for testing some prototypes when they're ready?5 -
a small local social network i made around 2008 as a replacement for the original which the owner closed down.
i missed the people from there, so it motivated me to make a replacement in a week, while learning html+php+mysql+js.
it worked for about 3 years and i redid it from scratch 3 times as i gradually learned more.
it was cool to be basically a host of a community i've come to like in the years before, and it was basically the only project i felt, really felt, had meaning, a point. people were grateful that i made a replacement for the original closed-down site, and i was grateful that they were using it and that i could keep talking to all of them on it.
at the height of its popularity it had about 1500 registered accounts, 150 daily logged in ones, and about 30-40 very active ones.
it was also the place where i went to implement all the cool stuff i learned and came up with.
it had a pretty cool questionnaire creator (originally just a test of how deppressed users are, but then i thought "why not let people make their own tests/questionnaires?"), which tracked people's results over time and showed them on a cool interactive flash-based chart.
also a whole forum system made from scratch, wysiwyg article editor, later seamlessly integrated admin controls for those who had privileges, like, not a separate admin ui, but the admin buttons right on the site, later even a realtime chat persistent across page reloads where you could put special links which, on click, would highlight site elements/buttons, or even complete step-by-step path to them if it was more clicks. would highlight the first step, after clicking would then highlight the second one, and so on...
it was pretty cool stuff for 2008, and afaik it basically landed me my first two full-time jobs with almost no actual job interview, basically just "we looked at the site, interesting stuff, tell us how you did x and y and z on it, okay, hired"
back then i kinda felt i have a bright future ahead of me =D1 -
caution: just some dude sharing a random story.
started my own small business around half a year now. a month earlier from that my cousin also started his career as a self employed dev with his own small business and we work together.
next year we we will start a company together, where we merge our existing small businesses into one. we are developing software on our own and we design and implement software for our customers.
seems like we are doing something right because we are reaching our capacities almost all of the time.
we plan to hire apprentices (hope it's the right word) and to teach them all we know to be able to then increase our possible workload.
you know, I do not have a degree or some form of education in the field of IT. And here in germany it was almost impossible to land a job as a dev. needed my cousin who studied cs to get me my first position in that field - and even with his reputation it was not easy.
this shit will not happen on my watch. If I see someone with fire for development I will give them a chance, irrespective of their background. And I will be more than happy to let that person grow and to give every kind of support I can.
we also plan to have something like "if the employee has a good idea for software that sells, we will support it and share revenue". got to figure out the details on that one, but I want to give the employee the possibility to grow some passive income out of their normal job - because for me this was never an option. and I think that this will motivate in some way 😅
just wanted to get this out of my head 😣4 -
So it's been awhile since I switched from PHP to Golang.
At first I missed PHP a lot, but golang really has some advantages, so its fine.
But over time, and when the project grows in features, I more and more and more start to miss more and more at least basic classes / inheritance and abstraction friendly stuff from php.
Im finally reaching the point where I start to truly miss php, I can't stop myself after writing a feature to think how much less work that would be in php.
Call me crazy, but damn, it's real.14 -
New developers. Tip: There is no silver bullet.
If you like Python, please understand GIL's behavior before making a system that handles thousands of requests.
If you like Java, know that "Write once, run anywhere" is a fallacy. Even application servers don't like the same WAR.
If you like PHP, understand the life cycle of a request before connecting to the database from all corners.
If you like C#, don't make it a small command-line application that will be used on FreeBSD.
If you like C, meet valgrind.
If you like C++, templates are cool, but don't overdo it. And take the opportunity to meet valgrind.
Never use the same tool to do everything. Elect the language and framework for the given need with rationality.
Every time I see a "Java Man", a "C++ Chad" or anything like that, it comes to mind that if he were a carpenter, he would be tightening screws with hammers.
Every lock-in is bad.11 -
Yo I heard you like compiling C/Cpp so we make you compile and link each individual file so you need a makefile for compiling everything. But that shit still gets to annoying to maintain so you make the make files with cmake. Just so you can compile a library basically at all.
And dont get me started on autoconf and random configure scripts you have to run before you actually configure shit.
Can we make compiling a regualr program any more difficult so that we need a whole ass A4 page of documentation just to end up with a binary of something?15 -
That nice feeling in a cold morning of booting up your code editor / ide of choice and making a brand spanking new prototype project with a language you love. All accompanied by your hot beverage of choice, a warm blanket, and a pet or two.4
-
Ask questions during interview.
Ask about trainings - it's usually a good sign when company offers training budget. Ask about specifics - sometimes it's a shared pluralsight account, and nothing else, which means that that had an idea and half assed it into existence.
Ask tech recruiter about overtime, a good sign is when they have no idea or say that it must be budgeted and scheduled - it means that it does not happen often.
Ask if it is possible to select and change projects, and how often it happens - if often, it may be bad low level management, or people learning new things and jumping between projects.
Also make sure to ask about rules for promotions and pay rises. Good company wił have a clear set of rules in place.
All of the above apply to mid to large companies.
For small company, i'm sure it will be different.3 -
All these super expensive and fancy enterprise tools. CloudWatch, AppDynamics, Grafana, Splunk and whatnot. Spent a month trying to figure out why the fuck the app does not perform well.
Took 1 day with tcpdump, awk and gnu utils to figure out why.
Should anyone need a tcpdump analyzer -- try my awk script. Shows response times of each network call w/o impacting app performance :)
https://gist.github.com/netikras/...14 -
Playing guitar and bass is one of my biggest, also weight lifting and videogames. I have not had much time to read books recently, but I do try and keep up with the novels that interest me from time to time.
The rest of my time is spent with my family. I also like going to my friend's ranch to fish and shoot at things. I love ranching, because, well... Texas.