Details
-
AboutProgrammer
-
SkillsJava, Go, C
-
LocationWolfsegg
Joined devRant on 6/12/2018
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
-
Call me a pussy, but I find it quite annoying to figure out why one of 30 of the values returned in a hash is wrong in a 600 line Ruby on Rails method.5
-
Teaching advanced IT topics like programming or system management has become much harder in only about five years, because many 20 year olds do not know how to effectively work with the file system. I don't blame them: the Microsoft Office applications nudge you strongly towards storing everything in the Cloud (saving files locally requires extra clicks), and on Windows, the folders C:\Users and C:\ are almost hidden in he respective dialogs (open file, save file). Same on macOS. Students also keep loosing files. This used to be an excuse for not doing the work; nowadays, you're able to find the files on their systems by using appropriate tools (e.g. `find`, installed with Git Bash on Windows). And don't get me started on touch-typing... hell, those kids were fast ten years ago with a proper keyboard! Now they're fast with their smartphone, but painstakingly slow on an actual keyboard.8
-
After a programming exam, a student criticized me for using the "wrong" indentation style: I used 1TBS (opening curly brace on same line), but Allman style (opening curly brace on new line) would be "better" and "preferred by most other students".
The programming language was Go.7 -
I'm teaching a couple of classes where students (~18 years old) work on their own projects. I just deleted two of those from my machine: one Angular and one Spring Boot, but just boilerplate. Together, they were about 500 MB. I spent 2-3 hours working on a little Go tool to make concurrent HTTP requests and to report statistics on the response time. The entire repository is roughly 500 kB in size, but solves a genuine problem. My students have a bloat ratio of 1000 compared to me as a baseline, but my stuff actually does things. Today, I programmed prime factorization in PHP for some load tests (mod_php vs. PHP-FPM). The PHP script is 1148 bytes long (but the file system reports 4 kB). My students could learn more from such a script than from their overblown "projects", but "PHP sucks" I hearsay, so let's bloat on.11
-
I don't want to use anything "opinionated". Neither do I want to use software made "for human beings". And no: I don't care if your software is "[other software] on steroids", I won't use it either.4
-
After a company Christmas dinner, some employees went to a bar together. One colleague was so drunk that he felt from his chair. We lifted him back up again, but left him under the table after the third time.
However, he came back on his own, having his dong hanging out, and left a puddle below the table.
So we walked the colleague through the entire town to get him back to the hotel.
When we arrived there, the guy mopping the hotel lobby was able to tell us his room number within a second after noticing us. -
Have you ever worked on a project, for which you felt absolutely zero motivation, and every fiber in your body opposed any productive effort on it? What kind of project was that, and how did it end up?8
-
The project I'm currently working on: developing a new rootless container deployment to host some legacy Python applications (zope/plone). The initial plan was to just host those on VMs with all the legacy software, I at least convinced everybody to develop a new container deployment for it, which could be re-used for other things. However, it's a lot more work, and working with Puppet goes at a meandering pace.
-
I was originally employed as a Full Stack Python Developer. But this year so far, I only did operations. Now I also got a project to host the legacy Python 2.7 Plone/Zope applications of another company entirely on our infrastructure. This means, that I'll do hardly anything else from now on, i.e. no programming. It was already decided that we'll do the project, and it landed on my desk when everything was fixed.
So I'll quit my job to build my own company with some friends, but I can only leave after a two month notice period. So I have to do the project anyway, for which I feel absolutely zero motivation.
I wanted to become a good programmer, but in my last two jobs I just was a mediocre Ops guy. This is because most other programmers would make even worse Ops guys then me.7 -
I have a teaching side gig and got a course assigned on "designing and implementing cloud solutions". So I started with teaching Go, which some IT professionals consider a fairly good pick for cloud applications.
Now I get complaints from people that think I'm not allowed to teach programming in general and Go in particular in this course, which is about "designing and implementing cloud solutions".
We live in interesting times.7 -
I'm getting really tired of those dumbass programmers that do not understand shit and then come to me when production breaks. (I am also a programmer, not really a DevOps engineer, but I'm the least worst at DevOps stuff, so it's my job...).
We're programming some kind of document management tool. Today we had a release, and one of the new features is to download all of your documents as a zip file, which is asynchronuously generated. When it's done, the user gets a mail with the download link to the zip file.
The feature works basically, but today it broke our production service, as somebody was running a test of it.
Turns out all the documents are loaded into memory to be zipped. So if you have 2 gigs of documents, a container with memory restrictions in that area will crash.
I asked the programmer who reported this «ops problem» to me, why he didn't just shit the files into a temp foler in order to zip them in there.
He told me that he wanted to do so, but did not know how to mock this for a unit test, and therefore went to the in-memory «solution», which was easier for him to mock.
For fuck's sake, unit tests and mocks are fucking tools, not ends in itself! I don't give a fuck about your pointless mocking code when the application crashes!
When I got to deal with such dumbasses, I'd prefer to mock those motherfuckers with a leaky bucket of liquid shit, which basically accomplishes the same task from my perspective: dripping shit all over the place and make everything suck as fuck.3 -
As I understood the Adapter pattern, you start with two given (!) interfaces that are incompatible, create a class that implements one interface, and has the second interface as a property. Then the methods of the implemented interface wrap the calls to the interface referred to from the property.
Everything is fine with that.
Now I wonder, why every other class in our code base is suffixed with "Adapter". There is some external thing to be used, like a file storage, a message queue, an email service or just something outside of the system. But the class that makes use of that external interface is made up on our own, no interface given.
So I think Adapter is a misnomer, because we do not adapt thing A to thing B, we just use thing B and call it from some class.
What are your thoughts on that?5 -
My slacker coworker attached a spoon to his monitor serving as a rear view mirror, so that he knows when somebody is standing behind him and can see his screen, which allows him to better slack off the whole day.
He's sick today (he often is), and I am looking for a nice prank idea, ideally involving this spoon. I thought of rubbing a piece of butter against it to make it murky and greasy, or maybe attach a photo of our boss to it.
But I need a better idea, so please comment! Thank you, much appreciated!26 -
Ken Thompson. Zero ambition but incredible achievements. Bottom up programmer, no bullshit, and a great sense of humor.
-
I hate it when (Java) programmers produce such clutter just because their OOP 101 professor told them to do so in 2005.
I refactored it using `git rm`.12 -
Fuck this Kibana shit and give me back my old grep (or even better: ripgrep). In 2008, I used to find shit in my fucking logfiles. Now I have an ELK stack that smells like liquid shit.4
-
My personal highlight this year. We used an old backend technology, which required the use of the old Java Date classes, because changing the model was not possible any longer (end of life modelling tools). So we had to fall back to those kinds of hacks.4
-
I hate it when suddenly one app icon is missing on the home screen and I cannot even figure out what app I'm missing.4
-
Let's get rid of the developer training: Pair Programming
Let's get rid of the software testers: Test First Programming
Let's get rid of the project managers: Agile
Let's get rid of the project planners: Scrum
Let's get rid of the system admins: DevOps
Let's get rid of the security guys: DevOpsSec
Let's get rid of the hardware budget: Bring Your Own Device
Let's get rid of the servers: Cloud Computing
Let's get rid of the other scruffy guys: Outsourcing
Let's get rid of the office space: Home Office
Let's get rid of the whole fucking company: Takeover9 -
Learning Angular, starting with a hello world example:
$ ng new wtf
added 1180 packages from 1294 contributors and audited 21849 packages in 18.753s
found 13 vulnerabilities (9 low, 4 high)
Oh, great! Broken from the get-to! But wait, there's more joy!
$ vimdiff wtf/node_modules/is-odd/node_modules/is-number/index.js wtf/node_modules/is-number/index.js
Fresh project, is-odd requires is-number, the project itself requires is-number. And is-number is there twice in two different versions. The notion of a number must have changed drastically in the last couple of years!
Seriously? Angular doesn't even give me the chance to fuck up the dependencies on my own!7 -
Former Boss: "We need a messaging framework!"
Me: "What do we need a messaging framework for?"
Former Boss: "To send out messages to the App and by Email!"
Me: "We already have everything in place for that."
Former Boss: "But it must be _one_ generic solution, not _two_ solutions."
Me: "Both content and form are totally different for those messages. They have nothing in common besides being 'messages'."
Former Boss: "But it's better to have a messaging framework!"
We had that discussion in every fucking weekly team meeting. So I decided to put a concept together that was so overdesigned, generic and complicated, so my boss wasn't able to understand it at all, and of course didn't read it entirely.
He never mentioned the term "messaging framework" again.3