AboutFull Stack Software Engineer, Electrical Engineering Student driven by OCD & Club Mate.
Joined devRant on 4/25/2017
Do all the things like ++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatarSign Up
I'd say one of the best advice a dev gave me, was that, I should not write duplicate code, but rewrite these parts to a single function.
And another one: If you use specific values in the code, instead of putting it in multiple places, assign it to a variable at one place and use the variable later on.
These advices sound quite trivial, but I think every beginner should learn these as eary as possible.
Boiiii have I seen shitty code from people who don't give a hobo's ass about maintainable code.
Be a good coder.
Write for quality, not quantity.
Care about your successor.
If not, I will fucking find you, fill your guts with napalm and light you up alive on a rusty pole while laughing hysterically.1
I think I might get close to a burnout. Last week was extremely stressful because of a deadline and I worked 45 hours in 4 days. Even in the evening my heart is pounding like a coke addict who had his last nose 1 hour ago.
What is your personal way of dealing with (work related) stress?
What activities help you best to cool down and relax?
I've not yet tried meditation but am trying to take some time to regularly do sport after the work, hopefully it helps.9
Changing between projects multiple times a day is as annoying as a homeless chasing you while begging for heroin money.
Today was one of these days I had to fix bugs for 3 different projects with completely different devStacks. The productivity dropped to a new low. Being a fullstack dev is awesome, but please let me do one thing at a time, so I can stay focused!
Dear boss, just fuck off with your managing skills or there will be ultraviolence soon!6
I've only experienced a quitting coworker once.
In a previous job a coworker quit with the words directed to the boss in a very loud and aggressive manner: "Ich künde, du verfiggti pissmorchle!!!"*, while throwing around office chairs and swearing all kinds of nasty stuff.
My boss at that time was indeed a fucking wanker. He exploited the shit out of every employee and expected from us that we work overtime for free. No pauses were paid, eventhough he'd had to by law.
I don't have to mention that he was a sexist fucktard and 3 female ex-employees sued him for sexual assault.
Sadly he is still in charge of that wanker company and he "miraculously" dodged every "bullet".
* trigger-safely and roughly translated to: "I quit, you fucking wanker!!!"8
Actually just 2 hours ago my boss showed me his "hack" which solved a problem he worked on half of the day.
My eyes suddenly began to itch heavily and I felt a strong urge to quit immediately.
The problem was no big thing and we actually spoke about it at noon and I made a proposition how he could solve it.
Turns out he .... aaaaaahhhh I better do not mention it, as it may summon evil spirits... sorry.8
It is a truly great moment when your work finally is integrated in the website of the biggest news paper of the country and visible to hundreds of thousands of people.
I'm not feeling insignificant anymore. 😄
Next step: Rule the world.11
I'm pretty stoked on the future release of SemicolonJS... It will change webDev as we know it. 😎
@dfox, @trogus when is the release?8
I think I'm getting crazy...
Yesterday evening I finally thought it was a great idea to set up Gitlab CI to let the server build (ng cli) and deploy (via FTP) an Angular5 SPA on commits on the master branch.
The npm package "vinyl-ftp" thinks it is pretty fucking funny to just randomly stop in the middle of uploading files or just upload some files with 0 bytes in size.
WHAT THE HELL?
After some hate infested trial and error, it seems that the more parallel channels I set up, the more chance I get that all files are correctly uploaded, but never all.
If anybody here happens to be some kind of mighty byte bender and knows what to do, I'd be thankful. But I will probably try out a different client in the docker image...1
You know your week starts great, when you receive a call, that the whole shop database of a company is not working anymore.
Turns out MS Fucking SQL decided to drop all tables, just because the harddisk was full.
A SERIOUS FUCK YOU TO MICROSCHROTT!
It's not a lot of fun, when 15 people have to wait for you about 1 hour, until it is restored.
Why does this have to happen on a monday?14
I get through tough devDays like this:
1. Brew coffee more black than a serial killer's soul in the midst of the Gotthard Base Tunnel without electricity in the midnight during a solar eclipse.
2. Flush the blackness down the throat.
3. Load the Playlist: Mostly Death/Doom Metal
4. Put on over-ear headphones (the ones your coworkers can see from a distance telling them to fuck of with their questions).
5. Code through without pauses (except for releasing piss)
6. If you're paid by the hour: $$$profit$$$16
I love group projects.
There is no greater feeling than, after you set up the repository with the first code files, your team mate changes the indentation and commenting style in every file to his own style without even discussing the general coding style rules in the group first.
Fucking awesome start.
Go eat a sack of unwashed hobo balls you filthy cunt.4
MiniDLNA for Linux is pretty cool!
Yesterday my "smart" TV arrived and I asked myself if it can play stuff from a network share, but LG does not seem to think this feature is needed.
After a moment of searching, I found out about miniDLNA, a service sharing media files on the network, which is supported by the TV.
10 minutes later the folder was connected.
The first song I had to play was "a bit of the old Ludwig Van", ninth Symphony, Fourth Movement, Abridged.3
My biggest personal challenges as a dev are these two:
1. I tend to work too much (by choice), which impacts my personal spare time heavily.
2. I tend to not let loose of a problem until it is solved. This often results in longer work hours or me not taking brakes...9
Be careful when you go down the rabbit hole of creating custom observables (rxJS).
I wasted half a day just to find out that there are hot and cold observables and that the whole time I tried to use the wrong one.
It finally works. 01:00 in the morning.
My boss will be proud when he pulls the changes and the code looks completely fucked up (clean, well structured code, but he doesn't really know observables).
Now something different: Sleep. Cya.
*wrestling commentator voice*
"In this weeks episode of encoding hell:
The iiiinnnfamous UTF-8 Byte Order Mark veeeersus PHP!"
For an online shop we developed, there is currently a CSV upload feature in review by our client. Before we developed this feature, we created together with the client a very precise specification, including the file format and encoding (UTF-8).
After the first test day, the client informed us, that there were invalid characters after processing the uploaded file.
We checked the code and compared the customer's file with our template.
The file was encoded in ISO-8859-1 and NOT as specified UTF-8.
But what ever, we had to add an encoding check, thus allowing both encodings from now on.
Well well well welly welly fucking well...
Test day 2: We receive an email from said client, that the CSV is not working, again.
This time: UTF-8 encoding, but some fields had more colums with different values than specified.
We tell the customer that.
(I was about to write a nice death threat novel to them, but my boss held me back)
Testing day 3, today:
"The uploading feature is not working with our file, please fix it."
I tried to debug it, but only got misleading errors. After about 30 minutes, at 20 stacks of hatered, I finally had an idea to check the file in a hex editor:
God fucking what!?!!?!11?!1!!!?2!!
The encoding was valid UTF-8, all columns and fields were correct, but this time the file contained somthing different.
Something the world does not need.
Something nearly as wasteful as driving a monster truck in first gear from NYC to LA.
It was the UTF-8 Byte Order Mark.
3 bytes of pure hell.
The archenemy of PHP and sane people.
If the devil had sex with the ethernet port of a rusty Mac OS X Server, then 9 microseconds later a UTF-8 BOM would have been born.
OK, maybe if PHP would actually cope with these bytes of death without crashing, that would be great.5
Wow, what a fucking mess this sunday was.
My boss wrote me an email that one route of a RESTful API we wrote for a customer was not working anymore and puking back a status 500 with some error mentioning invalid UTF-8 characters.
Not one single person has had touched nor changed the code on production in some 6 months, so what the fuck could it be?
Phpunit did not give any errors (running only locally), the code had no syntax errors and the DB dump did not contain any invalid bytes (tested with a hex editor).
WHAT THE FUCK?!
OK so I started to comment out lines (all tested directly on production of course) until the error vanished.
Guess what was the culprit?
In the code (PHP) we used strftime(...) to get nice time strings. Of course we set the correct locale on the server, thus having months and days formatted in German.
So, in Geman there is this one mysterious month called "März" which contains an umlaut character.
Calling strftime generated the date with März in it, but the server locale was de_CH.iso-8859-1 and not fucking de_CH.utf8, so the "ä" was returned as 0xE4 instead of 0xC3A4 (valid UTF-8), which json_encode(...) did not want to swallow but instead threw an exception.10
The only hacked sites I had to fix were running on ... [prepare your stomach] ... Joomla.
I'm not sure if there is even one single solid developer for Joomla. This shit piece has more vulnerabilities than a crack hobo infested with pest-ebola-hyperAIDS.
The sites were full of hidden viagra and pr0n ads and links so the crawlers would list them.
Luckily for me, I was able to pursuade the clients in all 3 cases to build a new site from scratch on a different CMS.3
Null ARMstrong once said while debugging the lunar lander code:
That's one small debug step for a man, but one giant leap for memleaks.8
"I can't work, my new computer is so slow. Please make it faster!"
I can't and won't make your computer faster, because you bought it yourself eventhough you said I should send you an estimate for a new one.
And the fucking software you complain about being slow is none of ours and neither did we install it you crackhead.
By the hammer of Thor, don't ever fucking call me again you shitpiece!
Next time you ask me for an estimate, I will give you my stump two-sided axe through your head while laughing hysterically.2
I think CS education is getting weaker and weaker every year.
Since they released CS GO, CS seems to be overtaken by little cry kiddies who put out insults like an AK on speed.
I wish CS education was like when CS 1.6 came out.
Those were great years to learn gungames on The Simpsons maps and you were actually able to land headshots by skill and not just utter luck.22
Doing occasional first & second level support besides my actual job of coding can be fucking annoying and time consuming.
Just let me code in peace and listen to doom metal!
"Blabla our 17 years old plotter does not respond blabla fix it please"
"My computer is so slow, make it faster"
Go die in your filthy office chairs by being pierced through the stinking butthole you ignorant endoplasmatische retikula!2
!!inspiration to rant
To all people who feel lonely at smoochentinesday: 😘
Get your most EPIC, FUCKED UP or IMPRESSIVE dev-related story out and rant it on here!
The comments will help you to get over it, you poor, lonely, grievy flower. 😉
For one small project my boss planned in about 60 hours.
Crazy that it only took me 5.5 hours. 😄
Such an extreme happened only once.6
Remote server software installation support is great!
You can watch them trying to understand where what is on the file system, they repeatedly switch between windows without doing something on either of them and they set your IE browser policy to allow all kinds of domains & sites which are preventing them from downloading their software.
Todays guy did not know how to transfer a file between the local machine and one in remotedesktop. 😄
(If you do support like this, then don't get me wrong, I'm not making fun of you personally, it is just funny to watch if you have to actually sit there and wait for the support to finish.) 😉1
My first contact with a computer was in 1997, I was close to 9.
My parents bought it together with a 17" screen and a color inkjet for about 6000.- CHF if I remember it correctly.
It had Windoozle 95, Pentium 2 233MHz, Radeon Rage 128 something.
At first I was not allowed to use it, but after watching them write documents for some time, they allowed me to draw random stuff in MS Paint and use Word.
It did't take long until I figured out to do more stuff on the system.
I think I crashed Windows a few times by installing some random demo software or shareware and execute just anything to see what happens.
When I turned 10, my godmother gave me Age Of Empires 2 as a present (I wished it so badly) and since this gift, I was somewhat addicted with computers and gaming.
My mother forbid me a lot of times to use the computer for weeks. 😄
But it all made me know computers better and even start programming with Quick Basic! (later VB, C++ and C#)7
Today was bad day.
- only had 3 hours of sleep
- 1.5h exam in the morning
- work in the afternoon until 8pm
- 1 drive crashed in a RAID5 array
- wasted hours of data copying
- my hands and arms got really dirty from all that nasty trump-face-colored dust in the server room
- nothing new in the west
- I have to get up in 4 hours again to start a new copying task
- I only knew it was friday today because the devRant meme game was reaching the weekly peak
- lists can save lives
- good night 😴3
An experience that made me doubt (some) skills was when I tried for 3 days straight to find a way to share data over a win32 message. The event worked flawlessly, but the data payload always cointained random bytes.
A few weeks later I found an article about MemoryMappedFiles, which helped me solve it within half an hour.1
For me, the worst co-worker is one who works by the principle of quantity over quality or a person who thinks quick and ugly fixes are a valid way to solve problems. Also: If there are unittest, don't fucking dare to change or remove them, just so your code runs without errors.
But in general, I just can't work with people who don't really think about what they are coding, people who just code straight ahead without making the simplest plan about how to solve something. Most of these people realize too late, that their approach was rather shitty, unreadable and unmaintainable.
I often see memes about "I forgot what I coded last [insert timespan here]". Though it is kind of normal, if it takes you too long to find out what you wrote, you should consider overthinking your coding approaches.
Just my 50 cents.
Damn I miss coding... 4 weeks of learning & exams is too long...6
I'll keep it short:
My nastiest freelancing horror stories contain shitty clients who dont pay, the nastiest fucking legacy code you can imagine, and expectations as high as trump thinks of himself.
The lesson is simple: Choose your freelancing clients wisely and always expect partial payment in advance. Even from family or firends!9