Details
-
SkillsAssembly, C, Js, PHP, Ruby
-
LocationGermany
Joined devRant on 11/9/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
-
My man said "What should I return if the True/False field is left blank?"
WHY WOULD A BOOLEAN BE ANYTHING OTHER THAN TRUE OR FALSE???!!!
I'm gonna have an aneurysm. I shouldn't be educating people on best practices for something that's already been written about time and time again. RESTful philosophy has been documented so much, and all it takes is a quick google search, but noooo! I have to take time out of my day as if I'm a regular old stakeholder to explain that I want the exact thing that I sent in an email two weeks ago. Amazing.20 -
Haven’t been on here for ages, but I felt like I needed to post this:
Warning:
This is long, and it might make you cry.
Backstory:
A couple of months back I worked for a completely clueless dude who had somehow landed a contract for a new website for a huge company. After a while he realised that he was incapable of completing the assignment. He then hired me as a subcontractor and I deleted literally everything he had done and started from scratch. He had over promised and under explained what needed to be done to me. It took many sleepless nights to get this finished with all the amendments and I had to double my pricing because he kept changing the brief.
Even after doubling my prices I still put in way too many hours of work. At one point I had enough and just ghosted the guy as I had done what he asked, and when he submitted it to them they wanted changes. He couldn’t make the changes, so I had to. He wouldn’t pay me extra though. I decided it wasn’t worth my time.
A couple of days ago I heard from him again. He had found another subcontractor to finish the changes. He still needed a few things though, so he promised me that I would get paid after fixing those things. I looked at the few things he had listed in our KANBAN and thought it was a few easy tasks.. until I opened the project..
I had my computer set up to sync with his server because he wanted everything done live and in production. So I naturally thought I would just “sync down” everything that the other subcontractor had done.
Here is where the magic started to happen.. I started the sync and went to grab a glass of water, and it was still running when I came back. I looked at the log and saw a bunch of “node_module” files syncing - around 900 folders. Funny thing is; neither the site nor server has anything to do with node..
I disregarded this and downloaded the files in a more manual fashion to a new folder. Interestingly I could see that my SCSS folders had not been touched since I stopped working on the project.. interesting, I thought to myself..
Turns out, the other subcontractor had taken my rendered and minimised CSS file, prettified it and worked from there. This meant that the around ~1500 lines of SCSS neatly organised in around 20 files was suddenly turned into a monster of a single CSS file of no less than 17300 lines.
I tried to explain to the guy that the other subcontractor had fucked up, but he said that I should be able to fix it since I was the one that made it initially. I haven’t replied. My life is too short for this.8 -
So work today was a pain in the behind as usual ( although the comfy chair made up for it eventually)....My Boss walked in every twenty minutes to ask me the same annoying question." Are you done with the app?", He said....even after showing him over 6045 lines of code on a single config file
Why are bosses so mean?😥3 -
Our CTO doesn't believe that tests improve code quality. We have no tests on any level, no testers/QA, no code reviews. Nada. I wonder why production keeps breaking 🤔 Guess I'll start looking for another job 🤷♂️20
-
Working with a new team and I don't understand how this is normal or ok.
Me: Does anyone need help troubleshooting the broken build or can I revert this change that broke it so I can push my change out?
Dev: Stop build shaming me, I wouldn't leave the build in a failing state.
Me: Well, I wasn't sure how long to wait, before asking.... it's been broken for 4 hours.
Dev: It's the development environment, you should expect development to be going on.
Me: Yes and appears that this project architecture doesn't support any sort of isolation for development. So nobody can deploy anything except through the development branch.
Dev: That's what development is for IMO, so it doesn't bother me.11 -
Let's see what's on the menu today:
* Web Application Catastrophe Special *
Includes, but not limited to:
- Orphaned server processes in the configuration management cluster
- Microservice back-end architecture with no API documentation
- Poorly implemented cache microservice with no documentation
- Stale data causing everything to be shown as down in production, despite everything running fine
Cost: 1 developer's sanity -
Advices looking for a job in Canada as a foreign?
I've been a software developer for 4 years now. I started in small company in Rome as jr developer where I'm now the CTO... I now feel stuck in this job cause the company makes a lot of money from the core product and there is no room for innovation.
I was looking for a drastic change in my life and career and Canada seems a good place to me.
So, any advices?9 -
Coworker asked to complete a part of a client's implementation that I trained them on so that I can be freed up for other projects. Month later asks me to take it back over as the client wants it done next week and they are going on vacation. Completed none of the work and didn't follow up/resolve an issue that I explained when they took it over. Thanks for that.1
-
My older brother just moved out today. For 18 years I've shared a room with him, and now he's gone. I have a ~30x10 foot room all to myself (it's the entire second floor of my house).
I do love that now I'm able to play music anytime, and with his stuff gone, it'll be less space taken up in general, that type of thing.
I've been in this room with him for over 8 years now, after my oldest brother moved out, and I've always had this feeling that one portion of the room was mine and the other portion was his. Now it's just...weird. I have both portions now. I have this whole big room to maintain myself. I don't have to worry about my stuff conflicting with his for whatever reason.
The past few weeks, when he's talked about moving out, I've always told him that I was looking forward to it, to having the whole room to myself. Now that he's gone, I just...can't. I can't bring myself to move his stuff that he hasn't taken over to the new house yet, or clean his part of the room.
When we were kids we didn't really get along, and I HATED sharing a room with him. But over time, as we grew up, we started to get along better, and for the past couple years, we've always just talked in the middle of the night when we were both awake. And now he's gone (the new house is maybe a 10 minute drive away), and I know he's not coming back. I know that this whole space is mine now.
I'm gonna miss the talks in the middle of the night, and us keeping each other in check (whenever one of us isn't home in the middle of the night we tend to text each other like "bruh where the fuck you at"), and waking up in the middle of the night (when I'm able to actually fall asleep kinda early) to see him playing Skyrim or Fallout. Hell, even coming home from work or wherever to see him passed the fuck out.
I know that I'm gonna have to clean the whole room soon, and that I'll just have to get over it. I've always been the one in my family that doesn't really show emotion very often, unless I get angry, so when people were crying earlier, I just sat there with an emotionless look on my face. But that's also because I wasn't really feeling much at the time, it didn't really hit until I got home and came upstairs to my room. Hell, right now I'm sitting here just expecting to hear his car alarm as he locks his car like I normally hear every night.5 -
I've found and fixed any kind of "bad bug" I can think of over my career from allowing negative financial transfers to weird platform specific behaviour, here are a few of the more interesting ones that come to mind...
#1 - Most expensive lesson learned
Almost 10 years ago (while learning to code) I wrote a loyalty card system that ended up going national. Fast forward 2 years and by some miracle the system still worked and had services running on 500+ POS servers in large retail stores uploading thousands of transactions each second - due to this increased traffic to stay ahead of any trouble we decided to add a loadbalancer to our backend.
This was simply a matter of re-assigning the IP and would cause 10-15 minutes of downtime (for the first time ever), we made the switch and everything seemed perfect. Too perfect...
After 10 minutes every phone in the office started going beserk - calls where coming in about store servers irreparably crashing all over the country taking all the tills offline and forcing them to close doors midday. It was bad and we couldn't conceive how it could possibly be us or our software to blame.
Turns out we made the local service write any web service errors to a log file upon failure for debugging purposes before retrying - a perfectly sensible thing to do if I hadn't forgotten to check the size of or clear the log file. In about 15 minutes of downtime each stores error log proceeded to grow and consume every available byte of HD space before crashing windows.
#2 - Hardest to find
This was a true "Nessie" bug.. We had a single codebase powering a few hundred sites. Every now and then at some point the web server would spontaneously die and vommit a bunch of sql statements and sensitive data back to the user causing huge concern but I could never remotely replicate the behaviour - until 4 years later it happened to one of our support staff and I could pull out their network & session info.
Turns out years back when the server was first setup each domain was added as an individual "Site" on IIS but shared the same root directory and hence the same session path. It would have remained unnoticed if we had not grown but as our traffic increased ever so often 2 users of different sites would end up sharing a session id causing the server to promptly implode on itself.
#3 - Most elegant fix
Same bastard IIS server as #2. Codebase was the most unsecure unstable travesty I've ever worked with - sql injection vuns in EVERY URL, sql statements stored in COOKIES... this thing was irreparably fucked up but had to stay online until it could be replaced. Basically every other day it got hit by bots ended up sending bluepill spam or mining shitcoin and I would simply delete the instance and recreate it in a semi un-compromised state which was an acceptable solution for the business for uptime... until we we're DDOS'ed for 5 days straight.
My hands were tied and there was no way to mitigate it except for stopping individual sites as they came under attack and starting them after it subsided... (for some reason they seemed to be targeting by domain instead of ip). After 3 days of doing this manually I was given the go ahead to use any resources necessary to make it stop and especially since it was IIS6 I had no fucking clue where to start.
So I stuck to what I knew and deployed a $5 vm running an Nginx reverse proxy with heavy caching and rate limiting linked to a custom fail2ban plugin in in front of the insecure server. The attacks died instantly, the server sped up 10x and was never compromised by bots again (presumably since they got back a linux user agent). To this day I marvel at this miracle $5 fix.1 -
If you invite me to a "lunch and learn" about company policies, and I have to bring my own lunch, well, that's just a meeting during my lunch, isn't it?15
-
I just finished up an absolute cesspool of a project. I was seriously reconsidering a career change to something less stressful, like welding on a high-rise building, or capturing Somali pirates.
Next project is supposed to be a walk in the park, and probably still will be.
MGR: You're starting a new project next week. Prismic for the CMS, and NextJS.
ME: Oh, okay, cool. Well, let me get up to speed on Prismic and Next since I haven't used either of those.
Spent some time last week - easy enough, nothing really new/ground breaking here.
Sprint 0.5 Kick off meeting today
MGR: By the way, we're still using Prismic for the CMS, but we're gonna go ahead and use Gatsby instead of Next.
Me: ... *facepalm5 -
Magento Debugging Horror!
Changing lots of things in magento with no problem. Continuing development for quite sometime. Suddenly decide to clear cache to see affect of a change on a template in frontent. Suddenly magento crashes! There's no error message. No exception log. No log in any file anywhere on the disk. All that happens is that magento suddenly returns you to the home page!
Reverting all the changes to the template. Clear the cache. Nope! Still the same! Why? Because the problem has happened somewhere in your code. Magento just didn't face it, because it was using an older version of your code. How? Because magento 2 even caches code! Not the php opcache. Don't get me wrong. It has it's own cache for code, in a folder called generated. Now that you cleared all the caches including this folder, you just realized that, somewhere something is wrong. But there is no way for you to know where as there is absolutely no exception logged anywhere!
So you debug the code, from index.php, down to the deepest levels of hell. In a normal php code, once the exception happens, you should see the control jumps to an exception handler, there, you can see the exception object and its call stack in your debugger. But that's not the case with magento.
Your debugger suddenly jumps to a function named:
write_close();
That's all. No exception object. No call stack. No way to figure out why it failed. So you decide to debug into each and every step to figure out where it crashes. The way magento renders response to each request is that, it calls a plugin, which calls a plugin loop, which calls another plugin, which calls a list of plugins, which calls a plugin loop, which calls another plugin.....
And if in each step, just by accident, instead of step through, you use the step over command of your debugger, the crash happens suddenly and you end up with the same freaking write_close() function with no idea what went wrong and where the error happened! You spend a whole day, to figure out, that this is actually a bug in core of magento, they simply introduced after your recent update of magento core to the latest STABLE version!!! It was not your mistake. They ruined their own code for the thousandth of time. You just didn't notice it, because as I said, you didn't clear the `generated` folder, therefore using an older version of everything!
Now that after spending 7 hours figuring out what has failed with absolutely no standard way of debugging and within a spaghetti of GOTO commands (Magento calls them plugin), why not report it to github? So you report it with a pull request. This also takes 1 hour of your time. Just to next day get informed that your pull request is rejected because another person already fixed the bug and made the same pull request. It was just not on the latest stable version yet!
So you decide to avoid updating magento as much as possible. Because you know that the next Stable version will make your life and career unstable. But then the customer complains that the Admin Panel is warning him of using old Magento version which might pose SECURITY THREATS! -
I am always looking forward to the weekend to have some time to work on my side projects, and then I can't get my ass up to do it.1
-
I have been a mobile developer working with Android for about 6 years now. In that time, I have endured countless annoyances in the Android development space. I will endure them no more.
My complaints are:
1. Ridiculous build times. In what universe is it acceptable for us to wait 30 seconds for a build to complete. Yes, I've done all the optimisations mentioned on this page and then some. Don't even mention hot reload as it doesn't work fast enough or just does not work at all. Also, buying better hardware should not be a requirement to build a simple Android app, Xcode builds in 2 seconds with a 8GB Macbook Air. A Macbook Air!
2. IDE. Android Studio is a memory hog even if you throw 32GB of RAM at it. The visual editors are janky as hell. If you use Eclipse, you may as well just chop off your fingers right now because you will have no use for them after you try and build an app from afresh. I mean, just look at some of the posts in this subreddit where the common response is to invalidate caches and restart. That should only be used as a last resort, but it's thrown about like as if it solves everything. Truth be told, it's Gradle's fault. Gradle is so annoying I've dedicated the next point to it.
3. Gradle. I am convinced that Gradle causes 50% of an Android developer's pain. From the build times to the integration into various IDEs to its insane package management system. Why do I need to manually exclude dependencies from other dependencies, the build tool should just handle it for me. C'mon it's 2019. Gradle is so bad that it requires approx 54GB of RAM to work out that I have removed a dependency from the list of dependencies. Also I cannot work out what properties I need to put in what block.
4. API. Android API is over-bloated and hellish. How do I schedule a recurring notification? Oh use an AlarmManager. Yes you heard right, an AlarmManager... Not a NotificationManager because that would be too easy. Also has anyone ever tried running a long running task? Or done an asynchronous task? Or dealt with closing/opening a keyboard? Or handling clicks from a RecyclerView? Yes, I know Android Jetpack aims to solve these issues but over the years I have become so jaded by things that have meant to solve other broken things, that there isn't much hope for Jetpack in my mind 😤
5. API 2. A non-insignificant number of Android users are still on Jelly Bean or KitKat! That means we, as developers, have to support some of your shitty API decisions (Fragments, Activities, ListView) from all the way back then!
6. Not reactive enough. Android has support for Databinding recently but this kind of stuff should have been introduced from the very start. Look at React or Flutter as to how easy it is to make shit happen without any effort.
7. Layouts. What the actual hell is going on here. MDPI, XHDPI, XXHDPI, mipmap, drawable. Fuck it, just chuck it all in the drawable folder. Seriously, Android should handle this for me. If I am designing for a larger screen then it should be responsive. I don't want to deal with 50 different layouts spread over 6 different folders.
8. Permission system. Why was this not included from the very start? Rogue apps have abused this and abused your user's privacy and security. Yet you ban us and not them from the Play Store. What's going on? We need answers.
9. In Android, building an app took me 3 months and I had a lot of work left to do but I got so sick of Android dev I dropped it in favour of Flutter. I built the same app in Flutter and it took me around a month and I completed it all.
10. XML.
If you're a new dev, for the love of all that is good in this world, do NOT get into Android development. Start with Flutter or even iOS. On Flutter and build times are insanely fast and the hot reload is under 500ms constantly. It's a breath of fresh air and will save you a lot of headaches AND it builds for iOS flawlessly.
To the people who build Android, advocate it and work on it, sorry to swear, but fuck you! You have created a mess that we have to work with on a day-to-day basis only for us to get banned from the app store! You have sold us a lie that Android development is amazing with all the sweet treat names and conferences that look bubbly and fun. You have allowed to get it so bad that we can't target an API higher than 18 because some Android users are still using devices that support that!
End this misery. End our pain. End our suffering. Throw this abomination away like you do with some of your other projects and migrate your efforts over to Flutter. Please!
#NoToGoogleIO #AndroidSummitBoycott #FlutterDev #ReactNative16 -
Reddit: You share an insightful view, the weebs can't handle the cognitive dissonance and downvote you en masse. Mods are inexperienced, power tripping 12 year olds that are unable to self-reflect. It's cancer.
Long live Devrant.
Pic: dissatisfied birb12 -
Me: I just can’t keep working these hours. I’m on calls and emails 8pm and 9pm 4 times a week.
Boss: ok, but come on, Office X does be on for the same calls but it’s midnight their time.
Me: ... How does that make anything better?4 -
Me: I can fix that workflow in about five minutes, In fact I can do it right now as we are speaking on the phone.
Customer: okay well... let me contact the director and make sure it’s okay that you fix it.
Me: I won’t make any changes to how it functions I’m only going to make it work again as it used to
Customer: we might need to schedule a meeting to talk about this because I’m not sure that we should be changing the site without permission
Me on the inside: I literally have global admin rights, unlimited power in Sharepoint, am responsible for making sure this stuff works, and BUILT this fucking thing, so now that I’ve been alerted of an issue I’m going to fix it. You are welcome to blame me if your boss is upset about it but I’m not going to wait for a fucking meeting to make sure it’s okay that I update a god damn email address in a workflow.
Me IRL: okay sounds great let me know when it is :)5 -
After months and months of slaving away, I quit my start-up job and feel completely amazing- here's what happened:
Met a classmate in grad school and he talked about starting his own company and he had full funding and etc. After graduation, moved to the new city where the job was located.
There were all these promises of us being co-workers and working on cool things and many other promises made. Soon after starting the job, most of these promises we're just smoke and mirrors.
Started working day in day out. Worked from 8am-9pm most days and worked on weekends too. Treated me like a I was a dog, talked down to me, gave unrealistic deadlines, pressured me with attitude and threats of losing my job. Hell, they thought they were the smartest person to touch the earth basically- example being that they mixed jQuery with VueJS in our Django template.....who the F*** does that. Another thing being that they had issues with me soft deleting records since they wanted them completely hard deleted and we had gotten into a giant argument about that fml.
What led to me leaving the job was that I had gotten sick one of the weeks, and I still showed up to work. Each day I was gradually getting sicker and sicker. Still tried my best to get work done. Saturday morning I get the most passive aggressive and bitchy text from my co-worker. "if you don't complete blah blah blah by Monday, we are going to have issues. Then on Monday you will work on blah blah blah". They blew the fuse with me. They would always punish me for being sick or taking a vacation. I'm not a dog, not a machine, I'm a f****** person. Went into his office when the work week started and gave my resignation on the spot and felt like it was the best decision I've ever made.
Now I just feel like a giant toxic cloud has disappeared from my life. I did walk away with so much experience and knowledge but now I just feel extremely burnt out from programming. Is this what I even wanna do anymore?
Few lessons I learned along the way:
1. If it sounds too good to be true, it probably is
2. Free lunches aren't worth it
3. Unlimited PTO doesn't really mean unlimited- there's always stipulations
4. Start-up life isnt as cool as they say- don't take TV portrayals as the real thing
5. Your mental health is extremely important
6. It's okay to admit to yourself that you're burnt out
7. Take a break
8. STARTUPS ARE NOT FOR EVERYONE
This is just my experience and what I learned, so telling my story. Phew, feels so good to get that off my chest6 -
!dev
I’ve been ranting & posting a lot about my career, relocation, work life balance etc. in the last year.
Just wanna say, relocating was probably the best decision I’ve ever made. Professionally and personally..
Although it was a bit scary and I didn’t have any money left after relocating..
It’s 6PM, I’m sitting in the garden, listen to some classical music and don’t spend a single thought on work.
Tomorrow I will arrive in the office around 7:45, I will do my work. My boss recognizes my teams effort and thanks all of us for the work on the end of each sprint.
There are no personal fights in the team, everyone is getting along with the others.
I do some good work, get a good salary and don’t have to mix up work and personal life.
The people here are awesome, everyone is welcoming and supportive.
If everything goes as planned, I’ll be able to buy my dream car by the end of summer because the government doesn’t take all of my money. They take their taxes before I get my salary and the money I get is the money I HAVE..
Ireland is awesome.
At this point: thanks for the Irish guys here who provided information about work and life over here! And also to the other devs who supported me here👍2 -
Is anyone getting any actual value out of them? As much as I dig agile some of the rituals plain just don’t work.
Fight me!13 -
That feeling when you're supposed to debug code someone else wrote a decade ago but it's such a horrible mess that your brain just gives up and you end up staring at your monitor for an hour in confusion 😵8
-
Bought some spektrum glasses recently, arrived today. Been wearing them for a few hours now, and I gotta say that I am loving them! 😲14
-
Today for the 4th time I explained to my colleague that just because the front end app can perform validation doesn't mean the backend shouldn't. Every fucking time for all of them.8
-
Just got a ticket reassigned to me from another employee leaving the company. The "Days to Due Date" field says -964.
It's for a very simple task that takes max 2 hours. Contacted the guy who created the ticket and it's still needed.
Excuse me what the fuck.4