Details
-
AboutProgrammer
-
SkillsKnowledge > Sneakers
-
LocationLondon
Joined devRant on 1/27/2020
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
-
The only thing I'm getting better at with experience is my ability to say upfront that I'm not able to do the requested task.7
-
For God's sake, check if your fucking webcam works properly and then say yes for an online interview.7
-
FUCK VISUAL STUDIO ANBD EVERYTHING IT FUCKING STANDS FOR. PIECE OF SHIT IDE CANT HANDLE MORE THAN THREE FUCKING WINDOWS AT A FUCKING TIME WHY CANT A BILLION DOLLAR MOTHERFUCKING COMPANY MAKE COMPETENT SOFTWARE FOR ONCE? WHY IS MICROSOFT SO FUCKING AWFUL IN EVERYTHING IT DOES? WHY THE FUCK IS THERE NO AUTOMATIC VERSIONING LIKE EVERY CIVILIZED BASIC FUCKING IDE THAT EVER EXISTS? WHY DO I HAVE TO FUCKING MANUALLY VERSION MY FUCKING FILES? WHY THE FUCKING FUCK IS VISUAL STUDIO FUCKING GOING TO A FILE I USED 300 YEARS AGO WHEN I DEBUG AN APPLICATION? MOST USELESS, UNINTUITIVE PIECE OF SHIT SOFTWARE IVE EVER USED. IF YOU ARENT USING SOME GODDAMN SERVER SOLUTION TO KEEP TRACK WITH YOUR PROJECT VERSIONS, GOOD EVER FUCKING LUCK RECOVERING LOST CODE BECAUSE FUCKING MICROSOFT CANT DO WHAT FUCKING INTELLIJ DID 5 MILLION FUCKING YEARS AGO24
-
Talking to my son today about one of his CS classes, not sure which.
He says: "I missed the lecture yesterday, but I'm not going to bother re-watching it."
Me: "Why? You really should. You're paying for these classes AND you really need to actually learn this stuff."
Son: "Well, because I got 100% on my last assignment without going to class. I just Google'd everything and figured it out on my own from what I found."
My wife out of the blue: "DAMN IT, BUT THAT'S NOT HOW IT WORKS IN THE REAL WORK WORLD!"
Oh, you poor, uninformed summer child. I love her, but she just doesn't know that my son has already learned the key lesson he needed to learn from his schooling in order to get a job and make good money in this field! #ProudTechieDadMoments12 -
One year ago, I quit my job in order to "make life easier". And by that I mean work+home in the same city. I went from 40 minutes commute - to 3 minutes. I had a blast the first week.
Then I realized that it was actually a mistake. I did not like working with "that kind of systems" and "that kind of tasks". It was tedious, stupid, and I was angry every, single day because the previous ones had built a system on 10-15 year old hardware because "it is cheaper".
That continued for a year. I discovered new stupid "solutions" every week that was potentially dangerous for the company. It built up a huge pile of shit and I started to feel that my mental health was disappearing, fast.
And equipment such as servers, switches, routers, storage started to fail because of age. Despite my warnings from day 0 to the CEO who only kinda laughed it off and said "you can to solve that", but I never got the approval to actually buy the equipment that was needed. Because "the company did'nt have the money for it". Somehow, the company had the money to buy expensive cars for the CEO - I can't really figure out that equation.
So today, one VERY old UPS died at our office. It caused some powerspike that killed off some switches and a NAS.
"Whatever" I thought, I just have to find the backup of the files and get a new one.
Then I discovered, that the NAS that acted as a iSCSI target for VM's and document storage was backed up using VEEAM on another server - that was configured to backup everything to the same NAS. I just wanted to cry, because I could not take anymore shit.
So I picked up my phone, called my old employer and asked if I could start working for them again. My old boss got insanely happy and gave me a great offer which I immediately accepted.
So tomorrow, is the day that I am going to walk into my current boss and say that I will quit. My last day will be on Christmas day. And I will start my new year with a few weeks off, and then back to the job that I actually loved.
Life is to short to work with something you hate.13 -
If you've ever tried using Go plugins raise your hand.
If you've ever tried doing plugins in Go, raise your hand.
If you think that the following rant will be interesting, raise your hand.
If you raised your hand, press [Read More]:
This is a tale of pain and sorrow, the sorrow of discovering that what could be a wonderful feature is woefully incomplete, and won't be for a very long time...
Go plugins are a cool feature: dynamically load pre-compiled code, and interact with it in a useful and relatively performant way (e.g. for dynamically extending the capabilities of your program). So far it sounds great, I know right?
Now let me list off some issues (in order of me remembering them):
1. You can't unload them (due to some bs about dlopen), so you need to restart the application...
2. They bundle the stdlib like a regular Go binary, despite the fact that they're meant to be dynamic!
3. #2 wouldn't be so bad if they didn't also require identical versions of all dependencies in both binaries (meaning you'd need to vendor the dependencies, and also hope you are using the right Go version).
4. You need to use -trimpath or everything dies...
All in all, they are broken and no one is rushing to fix it (literally, the Go team said they aren't really supporting it currently...).
So what other options are there for making plugins in Go?
There's the Hashicorp method of using RPC, where you have two separate applications one the plugin, one the plugin server, and they communicate over RPC. I don't like it. Why? Because it feels like a hack, it's not really efficient and it carries a fear of a limitation that I don't like...
Then we come to a somewhat more clever approach: using Lua (or any other scripting language), it's well known, it's what everyone uses (at least in games...). But, it simply is too hard to use, all the Go Lua VMs I could find were simply too hard to set up...
Now we come to the most creative option I've seen yet: WASM. Now you ask "WASM!? But that's a web thing, how are you gonna make that work?" Indeed, my son, it is a web thing, but that doesn't mean I can't use it! Someone made a WASM VM for Go, and the pros are that you can use any WASM supporting language (i.e. any/all of them). Problem inefficient, PITA to use, and also suffers from the same issues that were preventing me from using Lua.
Enter Yaegi, a Go interpreter created by the same guys who made (and named) Traefik. Yes, you heard me right, an INTERPRETER (i.e. like python) so while it's not super performant (and possibly suffering from large inefficiency issues), it's very easy to set up, and it means that my plugins can still be written in Go (yay)! However, don't think this method doesn't have its own issues, there's still the problem of effectively abstracting different types of plugins without requiring too much boilerplate (a hard problem that I'm actively working on, commits coming soon). However, this still feels to be the best option.
As you can see, doing plugins in Go is a very hard problem. In the coming weeks (hopefully), I'm going to (attempt to at least) benchmark all the different options, as well as publish a library that should help make using Yaegi based plugins easier. All of this stuff will go (see what I did there 😉) in a nice blog post that better explains the issues and solutions. But until then I have some coding to do...
Have a good night(/day)!13 -
Recently we noticed a part of our web application wasn't working. After some hours of looking into it (it's an old, convoluted application), it became clear another part of the application timed out trying to get a connection from the db connection pool.
We call db admins, they respond "oh yeah looks like the DB CPUs are at 100% load. I'll do something about it." and a short while later everything was working. So now I think, our hours of looking into it and a lot of people not being able to work could have been avoided if the DB admins had some form of alerting. But also we could improve our monitoring too, had we tracked calls made to our DB.
Question: Do you think I should call the DB guys, telling them they need alerting, or should I add tracing/monitoring around our DB calls, or both? Do you think I should consider any additional actions I haven't thought of?4 -
Let’s see what are you currently working on guys 🤘🏻
I’m currently fixing bugs from an internal app from my job... it’s the first we do a fully functional application using SwiftUI21 -
Oh please it's weekend. Don't call me or message me, especially if it's not urgent 😡 My contract doesn't include selling my soul.3
-
I'm 54 y.o.
I think I'm completely outdated in my skill, as in the last 14 years, I worked on a specific business problem, with an old technology: a JSP application + javascript + postgres.
I do understand software development, agile, web application development, linux server, basic/moderate AWS skills, etc.
Now they laid me off instead of including me in the evolution of version 2 of the software. Maybe covid, company had almost no cash-flow. Well they have now...So basically they fired me to find money to rewrite the application.
I feel without hope at my age.
I'm a generalist.
I can understand fairly well everything you'll throw at me, reactnative, angular, nosql, python, but I have little first-hand experience.
I don't have a lot of management skills, even if I've given frequent presentations to C-roles and board, and I implemented a whole agile methodology in my team.
I don't know what to do.
The amount of technology to study is huge nowadays. When I was younger I could get away with some php and java.
Full-stack developer is a big word for me. Maybe I could handle a full stack web application, but not from scratch.
I feel at my age, I'll compete with 20-something guys with better skills and lower salary requests.
I don't think I can pull a night anymore.
I'm trying to shoot high to management positions with no much success.
I'd like to go on developing, I know that there are 50-something developer out there, but who managed to find a new position at 55? at 60?
As soon as I finish the few money I spared, I'll be on the street, I'l be the "website for food" guy.49 -
"A Google security researcher withdrew from the Black Hat security conference and asked the community to stop using the 'black hat' term."
What the heck? Are we just going to ban the colors white and black in every context? Its clearly not talking about race, its talking about morals... Which people like this "google security researcher" obviously know nothing about...
This is all so stupid... luckily the community disagrees with the stance but then again, afaik, we all also disagreed with removing master/slave and it still happened so make of that what you will...
https://zdnet.com/article/...34 -
fuck these websites thAT ARE GETTING SO GOD DAMN HEAVY THEY LOAD WHEN I TURN OFF THE WIFI.
literally just fuckin shut off the wifi while this one bloated, shitty website loading aND THE WEBSITE DISPLAYED. of course, the gigabytes of javascript haven't loaded so the buttons weren't functional, bUT AT LEAST I COULD SEE THE CONTENT INSTEAD OF A WHITE SCREEN.
if ur gonna have a shitload of assets at least make your websites be viewable while the page is loading13 -
I DON'T FUCKING CARE IF WE'VE ALREADY DISCUSSED THIS, IT FUCKING CAME UP AGAIN DIDN'T IT?! SO WE CLEARLY DIDN'T NAIL IT THE FIRST FUCKING TIME.4
-
Companies can't use free software?
Well, I just forced everyone to use Nextcloud instead of Dropbox and Google Drive. People did not like it as first but the quickly realized how good it was.
We also moved from skype, teams and slack to matrix.
I am glad that matrix-synapse is so easy to install nowadays!18