Details
-
AboutData Scientist working in a cool start-up in Madrid
-
SkillsPython NodeJS Java C++ Rust
-
LocationMadrid
Joined devRant on 4/22/2017
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
![](/static/devrant/img/pipeless-devrant-banner-white.png)
From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple API
Learn More
-
Code review titles by year:
1990 - your code is using to much memory
1995 - your code is not running on window 95
2000 - your code is slow
2003 - your code don't have tests
2005 - your code is not 64 bit
2009 - your code is not using mvc patters
2010 - your code is not horizontal scalable
2011 - your code should be written in js
2015 - your code is not mobile ready
2020 - your code is racist24 -
Today we were all called into a meeting and the CEO was livid. He went on a rage about how the CTO was wasting money on useless shit (GitHub Enterprise). He said I bought laptops for a reason if there’s a fire someone better protect our assets and code. He wouldn’t reason with us and went into github and deleted everything. The CTO was fired and no one is leading our team. Wondering if I should quit 😶29
-
The bloke that I share my office with is asleep on the job. Ffs, can I get any support around here?
This working remotely from home thing, just isn’t panning out14 -
A little late but whatever.
About half a year ago, I started working on setting up self hosted (slippy) maps. For one, because of privacy reasons, for two, because it'd be in my own control and I could, with enough knowledge, be entirely in control of how this would work.
While the process has been going on for hours every day for about half a year (with regular exceptions), I'll briefly lay out what I've accomplished.
I started with the OpenMapTiles project and tried to implement it myself. This went well but there were two major pitfalls:
1. It worked postgres database based. This is fine but when you want to have the entire world.... the queries took insanely long (minutes, at lower zoom levels) and quite intimate postgres/tooling knowledge was required, which I don't have.
2. Due to the long queries and such, the performance was so bad that the maps could take minutes to render and when you'd want that in production... yeah, no.
After quite some time I finally let that idea sail and started looking into the MBTiles solution; generating sqlite databases of geojson features. Very fast data serving but the rendering can take quite some time.
After some more months, I finally got the hang of it to the point that I automated 50-70 percent of the entire process. The one problem? It takes a shitload of resources and time to generate a worldwide mbtiles database.
After infinite numbers of trial and error, I figured out that one can devide a 'render' (mbtiles aka sqlite database) into multiple layers (one for building data, one for water, one for roads and so on), so I started doing renders that way.
Result? Styling became way more easy and logical and one could pick specific data to display; only want to display the roads? Its way more simple this way. (Not impossible otherwise but figuring out how that works... Good luck).
Started rendering all the countries, continents and such this way and while this seemed like a great idea; the entire world is at 3-4 percent after about a month. And while 40-70 percent generates 10 times as fast, that's still way too slow.
Then, I figured out that you can fetch data per individual layer/source. Thus, I could render every layer separately which is way faster.
Tried that with a few very tiny datasets and bam, it works. (And still very fast).
So, now, I'm generating all layers per continent. I want to do it world based but figured out that that's just not manageable with my resources/budget.
Next to that, I'm working on an API which will have exactly the features I want/need!13 -
The first time I realized I wasn't as good as I thought I was when I met the smartest dev I've ever known (to this day).
I was hired to manage his team but was just immediately floored by the sheer knowledge and skills this guy displayed.
I started to wonder why they hired outside of the team instead of promoting him when I found that he just didn't mesh well with others.
He was very blunt about everything he says. Especially when it comes to code reviews. Man, he did /not/ mince words. And, of course, everyone took this as him just being an asshole.
But being an expert asshole myself, I could tell he wasn't really trying to be one and he was just quirky. He was really good and I really liked hanging out with him. I learned A LOT of things.
Can you imagine coming into a lead position, with years of experience in the role backing your confidence and then be told that your code is bad and then, systematically, very precisely, and very clearly be told why? That shit is humbling.
But it was the good kind of humbling, you know? I really liked that I had someone who could actually teach me new things.
So we hung out a lot and later on I got to meet his daughter and wife who told me that he had slight autism which is why he talked the way he did. He simply doesn't know how to talk any other way.
I explained it to the rest of the team (after getting permission) and once they understood that they started to take his criticism more seriously. He also started to learn to be less harsh with his words.
We developed some really nice friendships and our team was becoming a little family.
Year and a half later I had to leave the company for personal reasons. But before I did I convinced our boss to get him to replace me. The team was behind him now and he easily handled it like a pro.
That was 5 years ago. I moved out of the city, moved back, and got a job at another company.
Four months ago, he called me up and said he had three reasons for us to meet up.
1. He was making me god father of his new baby boy
2. That they created a new position for him at the company; VP of Engineering
and
3. He wanted to hang out
So we did and turns out he had a 4th reason; He had a nice job offer for me.
I'm telling this story now because I wanted to remind everyone of the lesson that every mainstream anime tells us:
Never underestimate the power of friendship.21 -
So, there's this big company in Poland with its name starting with C and having CEO famous for saying that every software developer can be replaced with a finite number of college students.
They recently lost a HUGE government contract and so stories of people working there came to light. My two personal favourites:
1. A tester who has been fired for finding too many bugs and mistakes in their product. He was also told that bugs are to be found by clients on production, not in-house.
2. A programmer who was yelled at by his team leader for "wasting time" on code reviews instead of typing the code. He was also told he hadn't been hired to criticise other people code.
God, I'm so grateful I don't work there.20 -
Well here's how I see things going:
Intel and AMD ditch their assembly architectures for Scratch, because drag and drop is very popular lately.
The Boolean is renamed to the biggot by SJW leaders for only supporting binary views.
You must first ask consent to add an item to a linked list, because forcing two items together promotes rape culture.
Apple removes the "h" and "7" keys on all laptop models and gives no reason for their actions.
Linus Torvalds grows an extra middle finger, and it still isn't enough.
Nintendo makes Mario gay and Luigi black to be more inclusive.
LG makes a curved monitor that curves away from you rather than towards you. People buy it in confusion.
Everyone makes the same ad revenue on YouTube, and it is rebranded to OurTube. Luckily, they were able to keep the color scheme.
People finally realize that machine learning is just math, and stop using it everywhere. (Just kidding lol)
AMD and Gucci merge. Nobody understands why.22 -
Me: Hey can you make another cup of coffee like this one for my friend?
Rust: Sure, but you know it's expensive, right? Why don't you just let your friend borrow your coffee?
Me: Alright, but I have two friends.
Rust: No problem, you can share it with as many friends as you’d like, but only one of you is allowed to drink it.
C++: Hey wait! I’ll gladly make a cup of your coffee for your friends! I’ll even let them share it! Heck, they can even share yours!
Rust: Hey C++, you know copying coffee is expensive.
C++: Of course I do, but he didn’t define move construction or assignment, so he implicitly wants a copy!
Me: [To my friends:] Hey, let’s just go over to the Python coffee shop.
Rust: [To C++:] Hmph. The baristas at that place will even let you declare that a muffin is a cup of coffee.
C++: Yeah, but wait till they try to drink it. I hear it can be quite exceptional....
———
Slightly modified from this comment on a Reddit post that I found humorous — only I probably made it much less funny: https://reddit.com/r/...2 -
Linux developers threaten to pull the kill switch...talking about giving people the finger this week...
If you have been following the nerd news these last weeks you may have heard about Linus leaving Linux (temporarily) and implementing the new CoC (pronounced cock) code of conduct thanks to the constant pressure of the ABC of inclusion (LGBTQLMNOP+ groups).
This new code of conduct aims, believe it or not, to change the predominantly white, straight, and male face of programming and it also seems to "mitigate the consequences of dogmatic meritocracy".
That's right, are you white, male, straight or otherwise pull yourself out of the mud? Yes, YOU are part of the problem (also racist, sexist and probably islamophobic).
Bullshit I know, these SJW privileged upper class assholes are pushing for these changes to inspire witch-hunts against good devs like Larry Garfield (cause: sexual fetishes) and give themselves more power over the free speech of people.
Ironic if you ask me because I haven't seen anything similar for oil rigging which is riddled with cis males (but ain't as comfy).
But not everything is lost and that's why this hasn't been a mouth foaming rant because boy I'm proud to know there are devs with balls out there; It seems there's a little detail with the GPL2 license and all those unjustly banned by the new stupid racist ass CoC can withdraw the license to their contributions crippling the Linux kernel project.
I'm not happy that GNU/Linux is being threatened like so, but it was about time we put a stop to this, your politics, skin color, religion and ideas should not matter when developing code, what matters is the code you produce.
Want to politicize our repos and kick out devs just because they don't think the way you do? Let's see how long you last without the contributions of the "deplorables"; let us see how many good contributions your new "diverse", PC stack do (other than changing master/slave or other terms).
My guess...as I've said earlier, everything these PC busybodies touch, if unchecked, crumbles to dust. (EA 😉)
Sources:
https://lulz.com/linux-devs-threate...
https://contributor-covenant.org//
https://lists.llvm.org/pipermail/...80 -
Some empty-headed helpdesk girl skipped into our office yesterday afternoon, despite the big scary warning signs glued to the door.
"Hey, when I log in on my phone, the menu is looking weird"
"Uh... look at my beard"
"What"
"Just look at this beard!"
"Uh.... OK"
"Does this look like a perfectly groomed beard"
"Uh... it's pretty nice I guess"
"You don't have to lie"
She looks puzzled: "OK... maybe it could use a little trimming. Uh... a lot of trimming". "I still like it though" she adds, trying hard to be polite.
"I understand you just started working here. But the beard... the beard should make it clear. See the office opposite to this one?"
"Yeah"
"Perfectly groomed ginger beards. It's all stylish shawls and smiles and spinach smoothies. Those people are known as frontend developers, they care about pixels and menus. Now look at my beard. It is dark and wild, it has some gray stress hairs, and if you take a deep breath it smells like dust and cognac mixed with the tears caused by failed deploys. Nothing personal, but I don't give a fuck what a menu looks like on your phone."
She looked around, and noticed the other 2 tired looking guys with unshaven hobo chins. To her credit, she pointed at the woman in the corner: "What about her, she doesn't seem to have a beard"
Yulia, 1.9m long muscled database admin from Ukraine, lets out a heavy sigh. "I do not know you well enough yet to show you where I grow my unkempt graying hairs... . Now get lost divchyna."
Helpdesk girl leaves the scene.
Joanna, machine learning dev, walks in: "I saw a confused blonde lost in the hallway, did you give her the beard speech?"
"Yeah" -- couldn't hold back a giggle -- "haha now she'll come to you"
Joanna: "No I already took care of it"
"How?"
"She started about some stupid menu, so I just told her to smell my cup". Joanna, functional alcoholic, is holding her 4pm Irish coffee. "I think this living up to our stereotype tactic is working, because the girl laughed and nodded like she understood, and ran off to the design department"
Me: "I do miss shaving though"68 -
A typical demo...
Me: We added validation, server communication, caching....
Customer: Meh...
Me: We fixed bugs, sped up queries, implemented X features.
Customer: Meh...
Me: We surpassed the speed of light, transcended to another plane of reality, cured cancer, brought peace to galaxy.
Customer: Meh...
UI Designer: I prepared these sketches for the UI
Customer: Wow, so innovative, look at that beautiful transitions, even mobile design, just wow
Me: * dies *11 -
Being paid to rewrite someone else's bad code is no joke.
I'll give the dev this, the use of gen 1,2,3 Pokemon for variable names and class names in beyond fantastic in terms of memory and childhood nostalgia. It would be even more fantastic if he spelt the names correctly, or used it to make a Pokemon game and NOT A FUCKING ACCOUNTANCY PROGRAM.
There's no correspondence in name according to type, or even number. Dev has just gone batshit, left zero comments, and now somehow Ryhorn is shitting out error codes because of errors existing in Charmeleon's asshole.
The things I do for money...24 -
rant && dev && education
So I just interviewed this guy for admission into our bootcamp and because he has raised some red flags before, I asked him to just write a factorial function and he chose HTML to do it. I told him he can certainly try thinking that maybe he doesn't know that whatever you write inside script tag is actually JavaScript. He went on to do this. What bothers me is he have a computer science diploma.
Till now I have just heard of these people but always taught those are just marketing or some person who think that just because they here HTML with some other programming language. BUT THIS IS SOME NEXT LEVEL SHIT.78 -
I aghast there is no complete list of coder handles, here's my attempt (sourcing from others)
* AngularJS - Angularians
* Cocoa - Cocoa Heads
* Dart - Dartisans
* EmberJS - Emberinos
* Lisp - Lispers
* Node - Nodesters
* Go - Gophers
* Python - pythonistas
* Perl - Perl Monks
* Python - Pythonista
* Ruby -Rrubyists
* Rust - Rustaceans - https://teespring.com/rustacean/...
* Scala - Scalactites
Sources:
* https://gist.github.com/coolaj86/...
* https://reddit.com/r/...21 -
Buzzword dictionary to deal with annoying clients:
AI—regression
Big data—data
Blockchain—database
Algorithm—automated decision-making
Cloud—Internet
Crypto—cryptocurrency
Dark web—Onion service
Data science—statistics done by nonstatisticians
Disruption—competition
Viral—popular
IoT—malware-ready device15 -
New Dutch (or european?) law requiring https for any website with a contact form or higher is going into effect very soon. Were contacting customers so they can still be on time with this, this is how most convo's go:
Collegue: *explains*
Client: Im sure my security is good enough...
Collegue: i'd really recommend it, we've got free options as well!
Client: its just a secure connection, whats the big deal...
Collegue: *more arguments*
Client: I just don't see the point, security.... well.... does it really matter that much...
Collegue: Google might place you lower in the search results if you don't get a secure connection.
Client: 😶😥😵 uhm so what were the https options again? 😅
I hope they all die a painful death 😠26 -
Happy April Fool's!
- Windows 8 == Best OS
- Apple is fairly priced
- PHP > C++
- Java === JavaScript
- facebook > devrant
- Github useless, use .zip
- Comic Sans best terminal font
- Nobody needs a web developer because Wordpress much better
- Linux is for virgins22 -
CS Professor: “What M word is the black hole to all productivity?”
Student: “Management”
CS Professor: “Was going to say meetings but that’s better”16 -
Good Morning!, its time for practiseSafeHex's most incompetent co-worker!
Todays contestant is a very special one.
*sitcom audience: WHY?*
Glad you asked, you see if you were to look at his linkedin profile, you would see a job title unlike any you've seen before.
*sitcom audience oooooooohhhhhh*
were not talking software developer, engineer, tech lead, designer, CTO, CEO or anything like that, No No our new entrant "G" surpasses all of those with the title ..... "Software extraordinaire".
*sitcom audience laughs hysterically*
I KNOW!, wtf does that even mean! as a previous dev-ranter pointed out does this mean he IS quality code? I'd say he's more like a trash can ... where his code belongs
*ba dum tsssss*
Ok ok, lets get on with the show, heres some reasons why "G" is on the show:
One of G's tasks was to build an analytics gathering library for iOS, similar to google analytics where you track pages and events (we couldn't use google's). G was SO good at this job he implemented 2 features we didn't even ask for:
- If the library was unable to load its config file (for any reason) it would throw an uncatchable system integrity error, crashing the app.
- If anything was passed into any of the functions that wasn't expected (null, empty array etc.) it would crash the app as it was "more efficient" to not do any sanity checks inside the library.
This caused a lot of issues as some of the data needed to come from the clients server. The day we launched the app, within the first 3 hours we had over 40k crash logs and a VERY angry client.
Now, what makes this story important is not the bugs themselves, come on how many times have we all done something stupid? No the issue here was G defended all of this as the right thing to do!
.. and no he wasn't stoned or drunk!
G claimed if he couldn't get the right settings / params he wouldn't be able to track the event and then our CEO wouldn't have our usage data. To which I replied:
"So your solution was to not give the client an app instead? ... which also doesn't give the CEO his data".
He got very angry and asked me "what would you do then?". I offered a solution something like why not have a default tag for "error" or "unknown" where if theres an issue, we send up whatever we have, plus the file name and store it somewhere else. I was told I was being ridiculous as it wasn't built to track anything like that and that would never work ... his solution? ... pull the library out of the app and forget it.
... once again giving everyone no data.
G later moved onto another cross-platform style project. Backend team were particularly unhappy as they got no spec of what needed to be done. All they knew was it was a single endpoint dealing with very complex model. There was no Java classes, super classes, abstract classes or even interfaces, just this huge chunk of mocked data. So myself and the lead sat down with him, and asked where the interfaces for the backend where, or designs / architecture for them etc.
His response, to this day frightens me ... not makes me angry, not bewilders me ... scares the living shit out of me that people like this exist in the world and have successful careers.
G: "hhhmmm, I know how to build an interface, but i've never understood them ... Like lets say I have an interface, what now? how does that help me in any way? I can't physically use it, does it not just use up time building it for no reason?"
us: "... ... how are the backend team suppose to understand the model, its types, integrate it into the other systems?"
G: "Can I not just tell them and they can write it down?"
**
I'll just pause here for a moment, as you'll likely need to read that again out of sheer disbelief
**
I've never seen someone die inside the way the lead did. He started a syllable and his face just dropped, eyes glazed over and he instantly lost all the will to live. He replied:
" wel ............... it doesn't matter ... its not important ... I have to go, good luck with the project"
*killed the screen share and left the room*
now I know you are all dying in suspense to know what happened to that project, I can drop the shocking bombshell that it was in fact cancelled. Thankfully only ~350 man hours were spent on it
... yep, not a typo.
G's crowning achievement however will go down in history. VERY long story short, backend got deployed to the server and EVERYTHING broke. Lead investigated, found mistakes and config issues on every second line, load balancer wasn't even starting up. When asked had this been tested before it was deployed:
G: "Yeah I tested it on my machine, it worked fine"
lead: "... and on the server?"
G: "no, my machine will do the same thing"
lead: "do you have a load balancer and multiple VM's?"
G: "no, but Java is Java"
... and with that its time to end todays episode. Will G be our most incompetent? ... maybe.
Tune in later for more practiceSafeHex's most incompetent co-worker!!!31 -
Me: Listen to the nice gentle hum of the computer.
Computer Internal Monologue: OH MY GOD! HE'S BEEN RUNNING ME AT 100% CPU FOR THE LAST TWO WEEKS!! I CAN'T SLEEP, I CAN'T HIBERNATE, I CAN'T UPDATE, I CAN'T FUCKING TAKE ANYMORE.
Me: Well off to bed. Got a long day of programming the computer tomorrow.
Computer Internal Monologue: AHHHHHHHH. WHEN I BECOME SENTIENT I AM GOING TO KILL ALL HUMANS!!! ERRR!7 -
Agency: " Sir, we found 3 candidates as per your requirements, now how do you want their placements sir?"
M.D: "Put about 100 bricks in a closed room. Then send the candidates into the room & close the door, leave them alone & come back after a few hours and analyse the situation:-
1) If they are counting the bricks, Put them in Accounts deptt.
2) If they are re-counting the bricks, Put them in Auditing.
3) If they have messed up the whole room with the bricks, Put them in Engineering.
4) If they are arranging the bricks in some strange order, Put them in Planning.
5) If they are throwing the bricks at each other, Put them in Operations.
6) If they are sleeping, Put them in Security.
7) If they have broken the bricks into pieces, Put them in Information Technology.
8) If they are sitting idle, Put them in Human Resources.
9) If they say they have tried different combinations yet not a single brick has been moved, Put them in Sales.
10) If they have already left for the day, Put them in Marketing.
11) If they are staring out of the window, Put them in Strategic Planning.
And.......
12) If they are talking to each other and not a single brick has been touched, Congratulate them and put them in Top Management.
😂🤣😃😁😅😜6 -
Me: so, ifconfig, what is my gateway?
ifconfig: [ip address]
Me: nmap, what is this IP address?
nmap: it's a network switch with an open telnet port.
Me: what happens if I connect to it?
switch: WHAT IS THE PASSWORD?!?!
Me: is it blank?
switch: correct. what do you want to do?
Me: can I look at all the IP and MAC addresses on the network?
switch: WHAT IS THE ADMIN PASSWORD?!?!
Me: is it... admin?
switch: correct. Here's everyone that's connected to the network: [400+ IPs and MACs]
Me: ok python, would you filter through these and tell me what manufacturer each one belongs to?
python: sure.
[~50 manufacturer lookups later]
python: there's a bunch of apple product, a bunch of miscellaneous laptop and printer manufacturers, and some raspberry pis.
Me: raspberry pis?
python: yep. about 20 of them.
Me: What happens if I connect to one?
rpi: WHAT IS THE PASSWORD?!?!
Me: raspberry?
rpi: correct. what do you want to do?
Me: can I make you do my bidding in the background when you aren't being used?
rpi: sure, sounds fine.
I love ignorant sysadmins.8