Do all the things like ++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatarSign Up
Get a devDuck
Rubber duck debugging has never been so cute! Get your favorite coding language devDuckBuy Now
Search - "design fail"
You know what's the difference between
- static page written purely in HTML with inline styling
- dynamic page generated in PHP, that actually loads data from MySQL database and is correctly styled in separate CSS document
on national level exam necessary to earn a title of technician?
ONE HACKING PERCENT!
Ok, backstory. So, few days ago I got results from that exam. To be honest, it was very, very easy so I wasn't worried at all, unlike some of my classmates who just don't understand programming at all (you need at least 75% to pass). Our task was to create database, write website in PHP that shows contents of that database and use CSS to give it a look that of example web page and run it on XAMPP. I've got result of 96% and while I was wandering what I've done wrong i hear my colleague almost screaming with joy "I passed! And I haven't even touched PHP. I was soooo sure I'll fail." So I asked him what's his result and he says 95%. And then another colleague said he got 95% without PHP. So, in other words what I thought to be the main task was worth 1%. Apparently, what was more important was for the page to look identical to the example, so I guess some examiners didn't even look into the source. And don't get me wrong, I don't wish my classmates had failed. That's not why I'm ranting. But why in the name of Ada Lovelace the task said to use PHP and all that if it weren't supposed to check our knowledge of programming in PHP? Sometimes I think the people who design these tests don't even know what they're doing.10
I recently joined the dark side - an agile consulting company (why and how is a long story). The first client I was assigned to was an international bank. The client wanted a web portal, that was at its core, just a massive web form for their users to perform data entry.
My company pitched and won the project even though they didn't have a single developer on their bench. The entire project team (including myself) was fast tracked through interviews and hired very rapidly so that they could staff the project (a fact I found out months later).
Although I had ~8 years of systems programming experience, my entire web development experience amounted to 12 weeks (a part time web dev course) just before I got hired.
I introduce to you, my team ...
Scrum Master. 12 years experience on paper.
Rote memorised the agile manifesto and scrum textbooks. He constantly went “We should do X instead of (practical thing) Y, because X is the agile way.” Easily pressured by the client to include ridiculous (real time chat in a form filling webpage), and sometimes near impossible features (undo at the keystroke level). He would just nag at the devs until someone mumbled ‘yes' just so that he would stfu and go away.
UX Designer. 3 years experience on paper ... as business analyst.
Zero professional experience in UX. Can’t use design tools like AI / photoshop. All he has is 10 weeks of UX bootcamp and a massive chip on his shoulder. The client wanted a web form, he designed a monstrosity that included several custom components that just HAD to be put in, because UX. When we asked for clarification the reply was a usually condescending “you guys don’t understand UX, just do <insert unhandled edge case>, this is intended."
Developer - PHD in his first job.
Invents programming puzzles to solve where there are none. The user story asked for a upload file button. He implemented a queue system that made use of custom metadata to detect file extensions, file size, and other attributes, so that he could determine which file to synchronously upload first.
Developer - Bootlicker. 5 years experience on paper.
He tried to ingratiate himself with the management from day 1. He also writes code I would fire interns and fail students for. His very first PR corrupted the database. The most recent one didn’t even compile.
Developer - Millennial fratboy with a business degree. 8 years experience on paper.
His entire knowledge of programming amounted to a single data structures class he took on Coursera. Claims that’s all he needs. His PRs was a single 4000+ line files, of which 3500+ failed the linter, had numerous bugs / console warnings / compile warnings, and implemented 60% of functionality requested in the user story. Also forget about getting his attention whenever one of the pretty secretaries walked by. He would leap out of his seat and waltz off to flirt.
Developer - Brooding loner. 6 years experience on paper.
His code works. It runs, in exponential time. Simply ignores you when you attempt to ask.
Developer - Agile fullstack developer extraordinaire. 8 years experience on paper.
Insists on doing the absolute minimum required in the user story, because more would be a waste. Does not believe in thinking ahead for edge conditions because it isn’t in the story. Every single PR is a hack around existing code. Sometimes he hacks a hack that was initially hacked by him. No one understands the components he maintains.
Developer - Team lead. 10 years of programming experience on paper.
Writes spaghetti code with if/else blocks nested 6 levels deep. When asked "how does this work ?”, the answer “I don’t know the details, but hey it works!”. Assigned as the team lead as he had the most experience on paper. Tries organise technical discussions during which he speaks absolute gibberish that either make no sense, or are complete misunderstandings of how our system actually works.
The last 2 guys are actually highly regarded by my company and are several pay grades above me. The rest were hired because my company was desperate to staff the project.
There are a 3 more guys I didn’t mention. The 4 of us literally carried the project. The codebase is ugly as hell because the others merge in each others crap. We have no unit tests, and It’s near impossible to start because of the quality of the code. But this junk works, and was deployed to production. Today is it actually hailed as a success story.
All these 3 guys have quit. 2 of them quit without a job. 1 found a new and better gig.
I’m still here because I need the money. There’s a tsunami of trash code waiting to fail in production, and I’m the only one left holding the fort.
Why am I surrounded by morons?
Why are these retards paid more than me?
Why are they so proud when all they produce is trash?
How on earth are they still hired?
And yeah, FML.7
Imagine if a structural engineer whose bridge has collapsed and killed several people calls it a feature.
Imagine if that structural engineer made a mistake in the tensile strength of this or that type of bolt and shoved it under the rug as "won't fix".
Imagine that it's you who's relying on that bridge to commute every day. Would you use it, knowing that its QA might not have been very rigorous and could fail at any point in time?
Seriously, you developers have all kinds of fancy stuff like Continuous Integration, Agile development, pipelines, unit testing and some more buzzwords. So why is it that the bridges don't collapse, yet new critical security vulnerabilities caused by bad design, unfixed bugs etc appear every day?
Your actions have consequences. Maybe not for yourself but likely it will have on someone else who's relying on your software. And good QA instead of that whole stupid "move fast and break things" is imperative.
Software developers call themselves the same engineers as the structural engineer and the electrical engineer whose mistakes can kill people. I can't help but be utterly disappointed with the status quo in software development. Don't you carry the title of the engineer with pride? The pride that comes from the responsibility that your application creates?
I wish I'd taken the blue pill. I didn't want to know that software "engineering" was this bad, this insanity-inducing.
But more than anything, it surprises me that the world that relies so much on software hasn't collapsed in some incredible way yet, despite the quality of what's driving it.45
--- GitHub 24-hour outage post mortem ---
As many of you will remember; Github fell over earlier this month and cracked its head on the counter top on the way down. For more or less a full 24 hours the repo-wrangling behemoth had inconsistent data being presented to users, slow response times and failing requests during common user actions such as reporting issues and questioning your career choice in code reviews.
It's been revealed in a post-mortem of the incident (link at the end of the article) that DB replication was the root cause of the chaos after a failing 100G network link was being replaced during routine maintenance. I don't pretend to be a rockstar-ninja-wizard DBA but after speaking with colleagues who went a shade whiter when the term "replication" was used - It's hard to predict where a design decision will bite back and leave you untanging the web of lies and misinformation reported by the databases for weeks if not months after everything's gone a tad sideways.
When the link was yanked out of the east coast DC undergoing maintenance - Github's "Orchestrator" software did exactly what it was meant to do; It hit the "ohshi" button and failed over to another DC that wasn't reporting any issues. The hitch in the master plan was that when connectivity came back up at the east coast DC, Orchestrator was unable to (un)fail-over back to the east coast DC due to each cluster containing data the other didn't have.
At this point it's reasonable to assume that pants were turning funny colours - Monitoring systems across the board started squealing, firing off messages to engineers demanding they rouse from the land of nod and snap back to reality, that was a bit more "on-fire" than usual. A quick call to Orchestrator's API returned a result set that only contained database servers from the west coast - none of the east coast servers had responded.
Come 11pm UTC (about 10 minutes after the initial pant re-colouring) engineers realised they were well and truly backed into a corner, the site was flipped into "Yellow" status and internal mechanisms for deployments were locked out. 5 minutes later an Incident Co-ordinator was dragged from their lair by the status change and almost immediately flipped the site into "Red" status, a move i can only hope was accompanied by all the lights going red and klaxons sounding.
Even more engineers were roused from their slumber to help with the recovery effort, By this point hair was turning grey in real time - The fail-over DB cluster had been processing user data for nearly 40 minutes, every second that passed made the inevitable untangling process exponentially more difficult. Not long after this Github made the call to pause webhooks and Github Pages builds in an attempt to prevent further data loss, causing disruption to those of us using Github as a way of kicking off our deployment processes (myself included, I had to SSH in and run a git pull myself like some kind of savage).
Glossing over several more "And then things were still broken" sections of the post mortem; Clever engineers with their heads screwed on the right way successfully executed what i can only imagine was a large, complex and risky plan to untangle the mess and restore functionality. Github was picked up off the kitchen floor and promptly placed in a comfy chair with a sweet tea to recover. The enormous backlog of webhooks and Pages builds was caught up with and everything was more or less back to normal.
It goes to show that even the best laid plan rarely survives first contact with the enemy, In this case a failing 100G network link somewhere inside an east coast data center.
Link to the post mortem: https://blog.github.com/2018-10-30-...7
Wow... this is the perfect week for this topic.
Thursday, is the most fucked off I’ve ever been at work.
I’ll preface this story by saying that I won’t name names in the public domain to avoid anyone having something to use against me in court. But, I’m all for the freedom of information so please DM if you want to know who I’m talking about.
Yesterday I handed in my resignation, to the company that looked after me for my first 5 years out of university.
Thursday was my breaking point but to understand why I resigned you need a little back story.
I’m a developer for a corporate in a team of 10 or so.
The company that I work for is systemically incompetent and have shown me this without fail over the last 6 months.
For the last year we’ve had a brilliant contracted, AWS Certified developer who writes clean as hell hybrid mobile apps in Ion3, node, couch and a tonne of other up to the minute technologies. Shout out to Morpheus you legend, I know you’re here.
At its core my job as a developer is to develop and get a product into the end users hands.
Morpheus was taking some shit, and coming back to his desk angry as fuck over the last few months... as one of the more experienced devs and someone who gives a fuck I asked him what was up.
He told me, company want their mobile app that he’s developed on internal infrastructure... and that that wasn’t going to work.
Que a week of me validating his opinion, looking through his work and bringing myself up to speed.
I came to the conclusion that he’d done exactly what he was asked to, brilliant Work, clean code, great consideration to performance and UX in his design. He did really well. Crucially, the infrastructure proposed was self-contradicting, it wouldn’t work and if they tried to fudge it in it would barely fucking run.
So I told everyone I had the same opinion as him.
4 months of fucking arguing with internal PMs, managers and the project team go by... me and morpheus are told we’re not on the project.
The breaking point for me came last Wednesday, given no knowledge of the tech, some project fannies said Morpheus should be removed and his contract terminated.
I was up in fucking arms. He’d done everything really well, to see a fellow developer take shit for doing his job better than anyone else in [company] could was soul destroying.
That was the straw on the camels back. We don’t come to work to take shit for doing a good job. We don’t allow our superiors to give people shit in our team when they’re doing nothing but a good job. And you know what: the opinion of the person that knows what they’re talking about is worth 10 times that of the fools who don’t.
My manager told me to hold off, the person supposed to be supporting us told me to stand down. I told him I was going to get the app to the business lead because he fucking loves it and can tell us if there’s anything to change whilst architecture sorts out their outdated fucking ideas.
Stand down James. Do nothing. Don’t do your job. Don’t back Morpheus with his skills and abilities well beyond any of ours. Do nothing.
That was the deciding point for me, I said if Morpheus goes... I go... but then they continued their nonsense, so I’m going anyway.
I made the decision Thursday, and Friday had recruiters chomping at the bit to put the proper “senior” back in my title, and pay me what I’m worth.
The other issues that caused me to see this company in it’s true form:
- I raised a key security issue, documented it, and passed it over to the security team.
- they understood, and told the business users “we cannot use ArcGIS’ mobile apps, they don’t even pretend to be secure”
- the business users are still using the apps going into the GDPR because they don’t understand the ramifications of the decisions they’re making.
I noticed recently that [company] is completely unable to finish a project to time or budget... and that it’s always the developers put to blame.
I also noticed that middle management is in a constant state of flux with reorganisations because in truth the upper managers know they need to sack them.
For me though, it was that developers in [company], the people that know what they’re talking about; are never listened to.
Fuck being resigned to doing a shit job.
Fuck this company. On to one that can do it right.
Morpheus you beautiful bastard I know you’ll be off soon too but I also feel I’ve made a friend for life. “Private cloud” my arse.
Since making the decision Thursday I feel a lot more free, I have open job offers at places that do this well. I have a position of power in the company to demand what I need and get it. And I have the CEO and CTO’s ears perking up because their department is absolutely shocking.
Freedom is a wonderful feeling.13
*project manager + designer are showing new designs*
PM: so, can we get some estimates?
Devs (literally all of us): do we have a mockup for this interaction?
Devs: What about that one?
Designer: not yet.
Devs: What happens when you click here? Hover there? How does this look if I select that option + this option at the same time? Does it make sense that a user can select *this* option with *that* option? They're kind of mutually exclusive.
BTW: code freeze is in two weeks...4
I finally did it. I finally got rid of that client in a positive, respectful manner.
So basically, my dad has a freelance colleague. For a side project that person asked me to make him a website. My dad mentioned to said person that my sister's boyfriend does web design (he's trained to use autocad for designing the structure of furniture, nothing fancy just straight lines and upside down doors that fail after a while..
So my brother in law charged the guy 400 money for the design. I charged the guy 200 for the programming because my dad forced me to drop down my price to fit the budget because business relationship and he obviously couldn't let my sister's boyfriend not make more money than he deserves.
In the end after waiting on the design for weeks (I literally saw him do it in photoshop all in 2 layers on his laptop in half an hour) I had to rush the project because the due date was coming up. I already had most of it done but I had to redo a good part of the front-end to fit the design structure. I also had to re-do the design in photoshop to get the images and colors I needed, then cut it up into html. So realistically, my sister's boyfriend barely did anything.
Now the deal was that I'd develop the website and perform any updates/upgrades to it. I'd also host it on my webserver for a monthly fee. My sister's boyfriend was to handle any and all content related support.
At first it was all good, I only ever spoke with the guy when he needed a feature added and he paid me well for it. Overall the hit I took in initial development was paying off. As time went by, my sister's boyfriend started ignoring the guy's calls and the guy started calling me instead.
Now, he had this deal with my brother in law where he could charge his time at 35 money an hour. That's about 4 times minimum wage for not doing much.
Then I started to basically take over all support, but I was only allowed to charge 30 an hour. Pretty reasonable still and I wasn't too busy so it was all good.
As time went by I ended up getting asked to do more and more minimal changes. At some point I had done so many minimal changes I had to charge the guy about 2 hours extra that month and he went completely mental saying I can't just work for hours without telling him beforehand. We decided I had to discuss a price before any change. I charged my time on the phone with him twice after that and both times he bitched about me being expensive and once he even said he wanted to leave.
Now comes the fun part. A week ago he had an issue that was 100% support related. He tried calling my sister's boyfriend but the guy obviously didn't pick up. He called my dad about it, and my dad ended up calling my my sister's boyfriend. Now this guy is so slimy, he purposely didn't hang up the phone knowing my dad would use his cell and assume the other party would hang up because calls cost money. The guy heard my dad call my sister's boyfriend and heard him pick up immediately. He went completely mental saying how he wants both of us to always reply and call him back immediately.
This guy was always my lowest priority. He didn't really make me money and his calls and requests were annoying and unnecessary. Add to that that I specifically didn't want to handle support and was forced into it anyway, while all 'design' things (up to figuring out where and how to display a visitor counter) absolutely had to go to my sister's boyfriend..
But regardless of that, I generally replied to his emails within 10-20 minutes and rarely more than 25 hours.
My dad agreed (for us) that we now both had to reply to him within 24 hours. I was now stuck checking my voicemail every couple hours because my sister's boyfriend sucks at life.
During his rant he threatened to leave me, again. That was the point where I said fuck it.
For the past week I've been ignoring his calls. When he emails me I don't take more than 5 minutes replying. This morning I found an e-mail with 4 requests;
He wanted me to make a content-related change;
He wanted me to give him access to the site's Google analytics;
He wanted me to add a feature and write a guide on how to use it;
And fucking finally, he wanted a 'token to transfer his website'.
I promptly emailed him back saying I added his email a week ago and that he'd gotten an email from Google about it then, that I'd changed the content he wanted me to, a price for the last dev task and a token for his domain name, adding that its valid for 35 days and that his new host can contact me to receive a backup file of his website.
Sadly, I do have this on 10-minute dev job to do, but then I'm invoicing him all jobs I haven't invoiced yet and he can find another host willing to deal with his insanity.
The best part is I lose a webhosting client but I'm sure he'll still ask my sister's bitched parasitic boyfriend whenever he needs a photo resized and he'll still pay him 35 money for 2 minutes of work.
So… I released v2.0.0 of devRant UWP a few weeks ago.
Then I got a lot of reports of problems on Windows 10 Mobile and older (than 1809) versions of Windows 10 on Desktop.
I decided to resubmit v2.0.0-beta16 to the store, and try to find the issue in the update… I didn't find it.
The code seems the same as the working version (at least the part I try to test is 100% equal).
So it seems I fucked up the vs project.
This means that to find the issue I can spend weeks to search it over and over inside the latest project (using shitty emulators of older Windows 10 builds to debug it), or I could just restore it to the old v2.0.0-beta16 (released in august) and implement again every single new feature and fix (something like 5 new features, dozens of improvements, changes and bug fixes).
In any case, this will require a lot of time (which I don't have at this moment).
I'm really sorry for this inconvenience, I know some of you use my client daily (~3.000 users I guess), I'm really glad someone likes it, and thanks a lot for the awesome reviews and feedback, but stable v2 (v2.1.0 at this point) will be available not earlier than in February.
Probably some of you have already download v2.0.0 while it was available in the store, and maybe it works on your device (please let me know in the comments below if you did, how is it going, and also if you like the new features and improvements).
After this epic fail, and more than 1 year (way too much) of v2 public beta, I want to throw the current project in the trash, and start it from scratch.
Which means I will start to work on v3 as soon as you will see v2.1.0 in the store, making it faster, lighter and with better support for the latest Windows 10 (Fluent Design and not) features, dropping the support for the very old UWP API.
Thanks for your attention.
Have a good day (or night)!5
Still at uni, last semester of junior year. Required to take Intro Python II course, which is still language basics + intro to OOP and a thing called "graphing". Been coding in Python for 5 years, hold job at uni coding Python, can't skip. It's whatever. My friends and I coordinated our schedules to take it together because they aren't coders and wouldn't have passed Intro Python I class without me.
Instructor is foreign, thick accent, English is a bit broken, only second semester here. It's ok. I know the instructor who helped design the class and she's good. We'll work through the speech. As long he can teach kinda decent and we have good assignments, we'll be good. I'm staying positive.
We were wrong.
Not only can he barely teach, he can't explain anything. He only knows one way to explain something and it's barely correct. Everyone is lost on day 1. The first two lectures were reviewing the 15 weeks of material from Intro I that we just finished literally a month ago. Doesn't actually finish the review by end of second class.
He gives us PowerPoints! Except he's modified them. Syllabus says that ppts are "not enough to study with. You must take notes in class and be here for every class or you will fail." Ohhhh... kaay. I understand note taking and the importance of class attendance, but setting it up to make students fail if they don't learn like you teach? *raises eye brow*
He opens PyCharm on the projector! He says "these are the notes you take. Once I type and run, I delete and not put back. If you don't have, oh well." He runs as much code as possible in the interactive prompt, once. His explanations are poor and don't make sense. We can't understand much of what he's saying because the accent and broken words is making it so much worse.
He pulls up the ppts on the projector! His copies have more slides, aka, the very thing we as a student would like to have to, you know, study well! But he goes through them quickly so ahaha so long note taking. Don't you dare have your phone out! He'll call you out if you try to take a pic of the screen. He'll walk back to your seat, stand over you in an intimidating manner, and stay there until you delete it.
Did I mention the class atmosphere? Silence. Suppressing. Almost suffocating. He's in control. He's demanding, snappy, short, rude. "OK, what about [this thing]? I give you five minutes then I call name." (Literally a minute and a half later. We timed it). "[Name]. Do you know why [thing]? Why not. I explain it. You should know." Don't dare ask for an re-explanation. Even if you're polite and genuinely confused. He'll be even more short with you. He'll be visibly annoyed. You should have already understood it. "Check your notes!"
As for assignments, he took the assignments the other (good!) instructor made and was modifying them to the point of literal technical impossibility when read literally. I had to come up with some creative solutions to solve a few of them. He didn't seem to run most of the bi-weekly submitted code, though, so most people got 100s on everything.
I had the foresight to make a GroupMe group and send the link to both sections. Overwhelmingly negative. Nobody understands at thing. They ask after class, no help. Office hours, no better. People are going to fail. I'm ok only by virtue of experience. By class demand, I'm known as Professor in the group all semester. They even call me this before and after class when he's not there. Most of the class passed because of the countless explanations I gave in 15 weeks, be it one-on-one, group, or in chat. Good thing I've been a tutorial writer and tutor.
Class continues, never gets better. To shorten this already long story, 75% of the class ends with a C after a curve administration forced him to apply. Other instructors were informed of the issues and got involved for our saked. Someone began filing a formal complaint (unknown if finished). It was really, really bad. We had people graduating that semester who were in danger of graduating. And it wasn't the class' fault. Literally every person was doing their absolute best. They passed Intro I with an A or B and same for all their other courses (which were much harder than this class) but were failing this one class.
He may or may not have been fired, currently unsure. Dept is already understaffed, overworked, and been jilted of funds and resources (another rant!). We lost a (good!) instructor a few weeks ago. We 're adding new classes and programs and still trying to work out classes involving the "new" campus. Some people dropped the class and will retake. They may just get him again.
And yes, all of this 100% happened. There is no exaggerating or making this class up.
There's many more rants and stories from this class. Take your pick and I'll write it next.
* Exam 1
* Post Exam 1 review
* Exam 1 results fallout
* Pop quizzes
* Final exam
Tl;dr younger people on here, especially passionate ones, don't worry about comparing yourself to people who appear to have tremendous laurels, those people are probably completely full of shit.
I say kids because you may be like me and more likely to underestimate your ability or more likely to be modest about your accomplishments, and you're too young to know you're doing that.
Either way. I've been doing a web development boot camp the last six months. It's been quite good with the teachers, and some of the classmates. Hell career services is now run by this woman who really actually seems like she knows what she's doing. It's pretty awesome.
That said, my teammates on the group projects have been a different story. I've primarily stuck with some of them out of loyalty and friendship. But one guy in particular has pissed me off to no end. He said he was a computer scientist going for masters. I thought I could learn from this guy. Now I wonder if he's a pathological liar.
Our first project he made one commit. Ripped straight from the homework. It was a simple api mash-up so alright. Fair enough. Next project was when he really started to piss me off.
He didn't do shit the first week and a half. No PM, no design, no programming. Nothing. Comes in two days before project is due, and me one other guy are fucking scrambling. Because of course no one else is there.
I live significantly further than my teammates mind you. We're busting ass. This fucking guy, this dumbass pick who is convinced he's a genius that will work in higher academia clobbers our whole fucking repo.
Why you ask? To put in an unrelated commit that replicated homework from the week before. Why you ask, again? Because this person is a borderline sociopath trying to appear busy in the commit logs.
We're onto the third project now. I spend days designing something original. Side note: I fucking hate design.
So I design my heart out come up with something awesome. This fuck ass, disappears. And another group member. This was the end of November, I hear from this prick last week about refactoring to ES6. But here's the kicker-fucker, our shit ALREADY WAS IN ES6!
I go in Saturday, slack a message I'll be late. I see this fucking "genius dedicated computer scientist" leaving the fucking university shadily checking to see who was watching. He saw me see him. Coward tried to shrug it off.
Here we are, end of semester. He gets the same certification as I do. The difference? I actually know what I'm taking about, I haven't paid in full to fail.
So never, ever fucking ever take what someone says on their resume or LinkedIn as truth. The better it sounds, the more full of shit they may very well be.
And as for our presentation on Saturday? I plan on handling that but letting him do all of the talking. Let's even see if he knows what the project is about :).6
So, finally after a very long time, I get a new keyboard (Ok, the previous one is 35 years old..), so lets see how technology has progressed in that time shall we..
First off, I'll need to plug it in..
Mm.. no spare USB ports..
No problem, I'll just go on Ebay, and buy some more !
They are expensive aren't they..
No problem, I'll buy this older cheap one..
When it arrives, I find out its wired up differently to what I need, so..
Rewire it, which takes ages of course.
Not having the best soldering iron, or anything really to hold the work with (Where did that rusty thing with lots of clasps go I had earlier!) and the only piece of wire I could easily find is covered in black goo, oh well, we can clean that off our hands afterwards..
Now, to plug in the new USB ports, I have to take out half of the inside of my PC..
So... that takes a while.
I seemed to have disturbed something, since now it wont' boot and complains of floppy drive error..
As a temp fix I unplug the floppy drive and disable it in the BIOS.
Now it boots..
Lets install the driver/etc.
Antivirus software pops up, is unhappy about a file in the driver !
Google about it..
Install an earlier version of the software.
Run application, it works !
Adjust colours from pulsating make you seasick colour scheme to solid damp colour.
Reboot to see if colour sticks..
It does !
Place keyboard on desk in just the right place..
No I mean, it moves about, from front to back !
Why is it not flat !!!
Actually, I forgot to mention I need blu-tak anyhow, to keep the two halves together, since it hasn't got a locking mechanism to hold the numberpad to it..
It's a 80/20 keyboard, or I should say, a 20/80..
So, what else do I not so much like about it..
Well, the font is too small !
It's way smaller than my previous keyboard and I really need to put my glasses on to read it...
Unlike my previous one, which was designed for old folk with less than perfect eyesight !
And the cable..
It comes out the back, in the middle..
Not the back and to a side..
And it leaks light everywhere !
It needs a skirt / cover around the keys..
(3D printer time.. which could also help hold the numberpad in place at the same time !)
Keys are rated for what, 50 million clicks or something, so should last me till I die..
Assuming something in it doesn't fail before then..
I guess no one does replacement key caps for it with a bigger font then..
So, the perfect keyboard still hasn't been invented yet !
Maybe in a few years I might design my own then..
Oh the keyboard, its an Asus ROG Claymore:
A couple more issues..
The capslock key is too wide..
The enter key is too wide..
So, how does it feel / sound compared to the old IBM Model M I used before..
It feels newer..
Maybe not so loud.
Though I'm pretty sure, everyone complains about blue keys being loud. :-)
It should be a little kinder on my fingers, need a little less pressure too.
And I now have this huge space on the right for the mouse to play !
(I got a new mouse recently too !)
This is what happens when you make style more important than function.
Pop quiz: when you lift the handle, what temperature water do you expect to come out? (This isn’t a trick question; assume you have an awesome water heater with instant warm-up time)
“Hot,” you might say, because the “H” is pointed towards you and aligned with the faucet.
“Cold,” you might say, because the handle is turned in the direction of the “C”.
There wouldn’t be any ambiguity if the H/C markings were on an immobile part of the fixture so that the relative position of the handle made the answer obvious.
(If you instinctively answered “cold” then congrats this is the perfect faucet for you.)14
A discussion about writing tests for frontend applications.
Context: my frontend coworkers don't write tests, at all. Yeah, really. Our testing process is very manual. We test manually when developing. We test manually when reviewing code. After merging, the application is deployed to a staging server and the design team does a QA Sprint. Lots of manual testing and some bugs still crawl by.
So I decided to start pushing my coworkers to start writing tests. One of the reasons I constantly hear them say to not write tests in the frontend is: "It's not worth the time, because design keeps changing, which means we have to take time to fix the tests. Time that we usually don't have."
I've been thinking about this a lot and it seems to me that this is more related to bad tests than to tests in general.
Tests should not break with design changes (small changes at least). They should test funcionality, not how things look. A form should not break if the submit button's style changes, so why should its tests fail? I also think that tests help save time, as they prevent some back and forth because of bugs.
Writing good tests is the hard part. Tests that cover what's really important and aren't frail and break with things that shouldn't break them. What (and how) should we test? And what shouldn't be tested?
Writing them fast is another hard thing. Are you doing it right if they take more time to write than the actual code?
What do you think about this? Do you write tests for your frontend applications? What do you test? How much time do you spend writing tests? What are your testing tools/frameworks?6
When it takes 30 minutes to find a power button in lenovo idea pad.
Whose idea was it to put a power button in bottom left side????5
Apart from having a baby which is the hardest in the world，i think the hardest project is to learn to code.
I studied philosophy and anthropology but gamed a lot. Me and a good mate decided to work together and he told me hed teach me coding.
The guy is a genius but he is a reckless rebel genius who tells everybody to fuck off.
He has now put me on， for the last 2 month， in charge of our front end backoffice. I have to design forms that do the right http requests，do the unit testing， play with redux-form， react-redux and he has thrown me into the basic java backend so i can begin working with entites and how i serve the data and link it to the database and even create tables.
Every time i fail hemakes me remake everything.
I actually came on devrant to study the dev community (i always gamed a lot but this is a whole different community). The dev community is pretty awesome and unique.
Anyhow， i remember when i saw him as me to complete an exercise and i didnt event know which words were the reserved language ones and those i could use myself. It was like fucking magic.3
You know, one of my fav ranters constantly shits on one of my main languages :P which is Java. But shit I would lie if I said that I have not learned something from what he has to say. Truth be told I am aware of the pitfalls and bad design decissions of a lot of my favorite langs: Python, PHP, JS, Java, Go etc. And I think it is benefitial to everyone to understand the things that our fav stacks fail at doing in order to become better devs.
So lets give a round of applause to those angry mofockas that make us see the shit that is wrong with what we use and learn more from each other.3
Material Design on the web was not a good experience in my personal opinion. I see these spaces around the boxes that are too huge. The faded underlined input boxes are confusing, too. I'd rather prefer seeing a border all around the input box or something of similar representation than an underline with a distracting animation. Many also fail at placing the buttons with a transparent background on the right spot. I'd still prefer Semantic UI or something clean on my upcoming projects. To me, Material Design is really good for mobile interfaces though.5
It's almost midnight here and I just realized something. I just realized that none of my college friends have contacted me in almost a year now... Like none of them. They hang out every weekend near the college I cannot coz im working and it has never occurred to them that "hey there's this guy that we we were together for four years with , I wonder what he's doing how's he holding up" and I wasn't even an asshole or a douchebag or something I guess I just vaporizer from their memories like a volatile liquid.
I also feel like my boss gives me nearly impossible tasks so that I fail like "design these two complete web applications in three months while you do your actual job of teaching people java for 8 hrs a day"
And now here I am at midnight sitting curled up in the corner of my bed like a paranoid chipmunk that drank a pot full of dark coffee, trying to talk to this random bunch of people from random places in the world who are doing random shit right now. And the worst part is I chose this ... I wanted this I wanted to make a difference. I didn't want to be just a cog in a machine.
If I die right now how many people would cry? I ask myself that a lot it's never more than ten. This is probably creeping u out right now so I'll probably end this.
Rest assured six hrs from now I will put my mask back on. a mask of a happy, mildly funny, averagely successfully geek, until my next date with sadness3
installing visual studio & nuget & git integration
- nuget: WORKS
- templates: WORK
- framework: IS COMPLETE
- support for design patterns: UP TO DATE
-have a ide which is clear to be the ide to develop in microsoft/c# area, kept up to date, etc..
installing eclipse & maven
- try to find out which version suits you best in that open source jungle, install it
- install jdk
- play around with the eclipse settings to point it to jdk instead of jre
- google a settings.xml for maven
- fail do create a maven build, so the .mv directory is here, so you can
- place the settings there
- manually import some certs
- try if maven dependencies work
- google how to define running goals
- now define your running goals
- BUT as a reward, the git plugin just works without having to troubleshoot tomorrow too
- hope they wont update soon4
Our team - if ever existed - is falling apart. Pressure raising. Release deadline probably failing. No release ready for Big Sur.
Almost seemed we were getting somewhere: More focus on code quality, unit tests, proper design, smaller classes. But somehow we now ended up in "microservice" hell; a gazillion classes, mostly tested in isolation, but together they just fail to do their job. A cheap and dirty proof of concept from March is still more capable than this pile. I really start to doubt all that "Clean code", TDD, Agility rhetorics. What does it help you, if nobody cares for the end result? It's like a month I try to hammer down that message: we have to have testable artifacts, we have to ensure code signing works, our artifact is packaged and installable, we have to give QA something they can test - but time just passes and this piece of shit software is still being killed or does nothing.
Now my knee is broken and can do no sports and are tied to my chair even more. To top it all my coffee machine broke and my internet connection was abysmal this week. Not the usual small disconnects, after which it would recover, but more annoying and enduring: often being throttled to 1.7 MB/s (ranking my connection in the slowest 7% even in Germany). My RDP sessions had compression artifacts all over the screen and a mouse click would only take effect 5 sec later.
But my Esspresso machine was just repaired. Not all hope is lost.7
Hitting a really deep, deep low in the manic-depressive roller-coaster of the development cycle:
There comes the crunch time. No meeting goes by hearing the odious: "We don't have time for that." - One critical component needs to be finished for Big Sur and instead of addressing the real issues we keep changing design and goal. One main dev already gave up fighting the PO and team lead(!) - and now I'm next. So that dev build this really clean and minimal library as the core part. But now it's just like, yeah, take that nice Porsche engine put it on the old rusty bicycle from the shed,.. but maybe because that's so shitty we need that specially formed exhaust pipe to tune it. Yeah, very 'agile' - Only thinking about it makes me shudder in disbelief and anger. I shouldn't take that shit so serious, be emotional about shit code, I know, but I can't. Let them drive some rounds around the block, if it runs at all,.. because until now we still didn't make it run on the fuckin' street. It's all so insane. Will make some nice fireball, when it goes up in flames.
Well, I have been part of quite some shitty projects. Real suicide commandos set out to fail, and somehow stood them through or made it even "work" though it should never have. But what enrages me here is, that it needn't to be that way. We had plenty of time. Our team was often rowing along in good rhythm. And now I just feel drowned in resignation and sarcasm.
# Retrospective as Backend engineer
Once upon a time, I was rejected by a startup who tries to snag me from another company that I was working with.
They are looking for Senior / Supervisor level backend engineer and my profile looks like a fit for them.
So they contacted me, arranged a technical test, system design test, and interview with their lead backend engineer who also happens to be co-founder of the startup.
## The Interview
As usual, they asked me what are my contribution to previous workplace.
I answered them with achievements that I think are the best for each company that I worked with, and how to technologically achieve them.
One of it includes designing and implementing a `CQRS+ES` system in the backend.
With complete capability of what I `brag` as `Time Machine` through replaying event.
## The Rejection
And of course I was rejected by the startup, maybe specifically by the co-founder. As I asked around on the reason of rejection from an insider.
They insisted I am a guy who overengineer thing that are not needed, by doing `CQRS+ES`, and only suitable for RND, non-production stuffs.
Nobody needs that kind of `Time Machine`.
After switching jobs (to another company), becoming fullstack developer, learning about react and redux.
I can reflect back on this past experience and say this:
The same company that says `CQRS+ES` is an over engineering, also uses `React+Redux`.
Never did they realize the concept behind `React+Redux` is very similar to `CQRS+ES`.
- Separation of concern
- CQRS: `Command` is separated from `Query`
- Redux: Side effect / `Action` in `Thunk` separated from the presentation
- Managing State of Application
- ES: Through sequence of `Event` produced by `Command`
- Redux: Through action data produced / dispatched by `Action`
- ES: Through replaying `Event` into the `Applier`
- Redux: Through replay `Action` which trigger dispatch to `Reducer`
The same company that says `CQRS` is an over engineering also uses `ElasticSearch+MySQL`.
Never did they realize they are separating `WRITE` database into `MySQL` as their `Single Source Of Truth`, and `READ` database into `ElasticSearch` is also inline with `CQRS` principle.
## Value as Backend Engineer
It's a sad days as Backend Engineer these days. At least in the country I live in.
Seems like being a backend engineer is often under-appreciated.
Company (or people) seems to think of backend engineer is the guy who ONLY makes `CRUD` API endpoint to database.
- I've heard from Fullstack engineer who comes from React background complains about Backend engineers have it easy by only doing CRUD without having to worry about application.
- The same guy fails when given task in Backend to make a simple round-robin ticketing system.
- I've seen company who only hires Fullstack engineer with strong Frontend experience, fails to have basic understanding of how SQL Transaction and Connection Pool works.
- I've seen company Fullstack engineer relies on ORM to do super complex query instead of writing proper SQL, and prefer to translate SQL into ORM query language.
- I've seen company Fullstack engineer with strong React background brags about Uncle Bob clean code but fail to know on how to do basic dependency injection.
- I've heard company who made webapp criticize my way of handling `session` through http secure cookie. Saying it's a bad practice and better to use local storage. Despite my argument of `secure` in the cookie and ability to control cookie via backend.19
The agency I own built a WordPress plugin for a client using a freelancer developer. The client, out of ambivalence, withheld information that would have drastically changed the design of the plugin, but by the time we found out it was much to late to start over. The developer moved overseas in the middle of it all and from then on was not very responsive to communications about the project which delayed things by months. I tried to find a replacement developer but nobody else had experience with the third-party API. The live version of the API ended up not being able to support what we were trying to get it to do with the plugin even though the test version of the API was fine and the vendor was unhelpful. And because we spent so much time and money on the plugin, we weren’t able to even begin on another part of the project. The client complained of over $30,000 in lost revenue due to these issues. Complete fail all around. I’m never doing another custom software project again. It’s all just website design from here.2
Imagine a web way ahead of our time where its size goes beyond our imagination...
This is my first rant, and I'll cut to the chase! I don't like how web currently stands. Here's what makes me angry the most altough I know there's a myriad of solutions or workarounds:
- A gazillion credentials/accounts/services in your lifetime.
- Everyone tries to reinvent the wheel.
- There's no single source of truth.
- Why the fuck there's so much design in a vision that started as a network of documents? Why is it that we need to spend time and energy to absorb the page design before we can read what we are after?
- What's up with the JS front end frameworks?! MB's of code I need to download on every page I visit and the worse is the evaluation/parsing of it. Talk about acessibility and the energy bills. I don't freaking need a SPA just give a 20-50ms page load and I'm good to go!
- I understand that there's a whole market based on it but do we really need all that developer tools and services?
- Where's our privacy by the way? Why the fuck do I need ads? Can't I have a clue about what I wan't to buy?
Sticking with this points for now... Got plenty more to discuss though.
What I would like to see:
A unique account where i can subscribe services/forums/whatever. No credentials. Credentials should be on your hardware or OS. Desktop Browser and mobile versions sync everything seemlesly. Something like OpenID.
Each person has his account and a profile associated where I share only what I want with whom I want when I want to.
Sharing stuff individually with someone is easy and secure.
There's no more email system like we know. Email should be just email like it started to be. Why the hell are we allowing companies to send us so much freaking "look at me now, we are awesome", "hey hey buy from me".. Here's an idea, only humans should send emails. Any new email address that sends you an email automatically requests your "permission" to communicate with you. Like a friend request.
Oh by the way did I tell you that static mail is too old for us? What we need is dynamic email. Editing documents on the fly, together, realtime, on the freaking email. Better than mail, slack and google docs combined.
In order for that to work reasonably well, the individual "letter" communication would have to be revamped in a new modern approach.
What about the single source of truth I talked about? Well heres what we should do. Wikipedia (community) and Larry Page (concept) gave us tremendous help. We just need to do better now.
Take the spirit of wikipedia and the discoverability that a good search engine provides us and amp that to a bigger scale. A global encyclopedia about everything known to mankind. Content could be curated from us all just like a true a network.
In this new web, new browser or whatever needed to make this happen I could save whatever I want, notes, files, pictures... and have it as I left it from device to device.
Oh please make web simple again, not easy just simple and bigger.
I'm not old by the way and I don't see a problem with being older btw.
Those are just my stupid rants and ideas. They are worth nothing. What I know for sure is that I'll do something about or fail trying to.12
To be honest I forgot completely about the ducks and was kind of disappointed to see them, don't understand me wrong, its a great addition to the shop (especially to support devrant more when buying them and I will probably do too) and trogus (wow it's pronounced t-rogus) deserves a lot of respect for going through the very hard process of developing it, getting somebody to do a decent quality result etc. but I was hoping for the new site that got hyped up some time ago or some update to the app that fixes design issues on phones that have 2k resolution and no statusbar and more. ("just open a github issue" - I don't have one right now and it didn't get much attention anyway, since I am in the niche of people with those kind of setups, most people it seems have phones that can even barely run the app lol). The login still pops up each time you visit the site (basically just click it away, but it's rather annoying to have it pop up), it's nowhere near to the original app (although the native app is written in some sort of wrapper anyway?) - especially what comes to options, customizing, deactivating things, posting into categories (newest feature), getting notifications etc
There is some community builds that try to recreate a better desktop experience, but sadly fail to do so (sorry to devrantron and others, but what the fuck were you thinking when you rounded only the top right and left corner?) - since they always have something that is just thrown out to "be there" or design fails (which devrant just lacks and looks good across the board), that makes me rather cautious if that program doesn't send my credentials to some african prince. ("just look at the sourcecode", yes I have better things to do, thanks)
I could just create my own build, having to reverse engineer the whole website and app (granted, most of it are just api calls), but I simply lack the time (so I understand why my mentioned problems aren't getting really any attention or can't be implemented that fast, yet still its somewhat bugging)
I have listened to the Q&A and I know you guys are working full time at for example adobe (amazing that you both have time to be putting it towards devrant), so its not as much of a rant, just wanted to get out my disappointment about the event I felt personally. Still nice to have seen you and talk with the community a bit (although the time I feel was picked more towards your US audience rather than EU?).3
4 days left for project deadline and PM just realized that we are behind in the design. Meeting at 9AM, am sure that they will ask me to work really late to complete, I don't think it's possible.
Guys, should I let this project fail, just note that I didn't receive the designs?14
i fucking hate that professor for whom i have to work on laboratory project right now.
well that wouldn't be not so bad if...
we wouldn't have to fucking debug his mistakes he put into the fucking prepared code AND his fucking useless instructions how to set up the project for eclipse the first time. not to mention his fucking requirements which make no sense
oh yeah im a student. i can always go and ask him for help if i need any...
i have another 70% mandatory course at the same time and that fucker refuses to upload hos sheets in moodle and answer even one fucking question via mail. not to mention no support if I am there unless i have eclipse setup. even through the projects should be build using gradle...
and all that wont even give us a grade. no ita simply a pass or fail part of the module which the course is part of.
have i also mentioned that the whole shit should be done in 20 hours according to the schedule9
Once a again, Apple doesn't fail to disappoint with the depths of their stupid design decisions.
My (work issued) Macbook Pro is a chore just to turn on. Sometimes it turns on when I open the lid. Sometimes it turns on when I type a few keys. Sometimes it turns on when I use the power button hidden under fingerprint sensor.
Sometimes none of these things work. I end up holding the power/fingerprint button long enough for it to think I have forgotten my password (I haven't).
All I need is a snigle switch that can reliably power the device on or off, but I guess Apple doesn't have enough billions to get UX done properly.3
Salesforce is like a great bridge with awesome design... But made of wood and aluminum, it tends to fail and doesn't present any good improve... Fuck you Salesforce and your fucking communities profiles and permissions!!!14
I love unicode-table.com for what it does, but this does not seem right...
How does 2FA and https help, when site forwards all traffic from cloudfront to their actual servers in plain http?5
This is story and not a rant about my journey in programming. I've left out some details ofc, some of which I couldn't remember and some I got too lazy to add. They're not that important so I omitted them. There may be a lot of errors but it's almost 3 am and I cba. I'm tried but yeah, just decided to share something because it's been a while. I would also like to hear you guys' journey as well. Maybe they might inspire someone, who knows 🤷🏿♂️.
I had a thirst of learning more about computers and how they worked when I was around 13. I started looking into web development because I was really curious how websites worked. I started using cms's like web.com, enjij.com and any other cms I could find back in 2011 to build websites just to get a basic knowledge. A year later I picked up programming because I wanted to start making them by myself from scratch. I did some research and found websites that teach you how to start. I used codecademy and YouTube to teach myself the basics of web programming. It was fine for a while until I got bored and wanted more. I found out about php and it's capabilities. so I learned that using the same methods. I built sites for my Minecraft server, a small e-company I wanted to start and social media sites just for fun. I struggled with bugs and issues of course but that made it fun. The late nights trying to fix them or the late nights where I burst with ideas and was just coding. it was bliss. I wanted to expand my knowledge and tried learning Python but I felt overwhelmed back then and took a break. The years go by, I still made websites using php, js, html and css. I improved my skill with them. Now using OOP, writing sleeker and better code and my web designs improved massively as well as my MySQL abilities. It was time for me to graduate and I wanted to go into computer science but because of how much time spent programming, I fell back on my classes and just barely managed (albeit it wasn't the only reason, I slacked and didn't care because I felt hs was too easy for me at first). I instead went on to do a game design course in Toronto Film School and that's where I learned c# for unity and a little bit of c++ (this shit is so hard bro, I couldn't keep up and I've forgotten most of it). Fast forward, I graduate with decent grades and can now make some pretty nice games. I took a year off after that to look for jobs but as you know, you need experience and it's not easy to get those. I tried making an android app and got stuck with a very simple but that took 4 months to fix and then I burned out. I also lost my programming motivation partly because I felt like I wasn't making anything unique and meaningful. I felt empty so I quit for a while. All my plans fail and I decide to go back to school to upgrade the marks I needed and either do comp sci, mechanical engineering or stem. I forgot to mention btw that my goals shifted from just programming to being an inventor. Anyways, I boosted my grades and I did superbly so I can go into anything I want now. Currently just waiting for my acceptance letter while learning Python again along with react, SharePoint and a few other things to boost my skills and knowledge. I'm slowly getting my mojo back and it's really fun. But yeah that's my journey 😁1
Broadly there are two things which concerns me:
1: Clients' businesses fail miserably or change their direction.
2: Instead of focusing and improving the quality of their work/product, they prioritise remaining things instead.
BONUS: Don't forget those individuals who dream really big but fails to take any action towards it, just talking. I stay away from these people personally.
Because of these reasons design gets vanished or no longer valid for their new business venture, and don't forget the time and dedication it took to create, as a freelancer it hurts a bit.
I like working for non-profit organisations, most of them look for volunteers. Your work and efforts are alive, and you have to be jack of all trades IMO when dealing with them. Additionally in the process you will meet some extraordinary individuals.1
so new fone, new service. switched my # to google voice bc i rarely call or text anyone these days, way less $.
google hangouts(voice? diff idk) puts the "okay i'm done with adding ppl i'm sending to" check button, at the top of the frickin screen (note: the "i want to start a msg" button is bottom right, think about that for a moment)
oh-fucking-kay google, you can go fuck your-self
oh-fucking-kay google, you can join humanity and quit making these robot UIs
oh-fucking-kay google, fire your designers and UX people and add humans to your shopping list
you had to try this hard to suk this hard1
Well, after I convince my most beloved client which, minimal design is meant to stay well, clean and sleek. There can't be too much elements to be in it. So user can have a very comfortable experience browsing your website...
Then the ClientA said:" But I hope to show them more about my business..."
*facepalm* I surrender... yet another doomed to fail site coming soon...
What would you do if you discover a major security flaw in an enterprise product that claims to be secure and has GDPR compliance? Like a really major flaw in a core feature of the product!9
Chronicles of UX struggles vol. 2
I ask the design team to do some sketches so I could see how they want the pages (2 pages), UX guy says he'll do the sketch for the page, and I ask to which one, the first one or the second one?
He answered me "Yes"...
Edit: he took over 3 hours to send me a new message after I tried to understand what he was indeed going to do...
One of the worst practices in programming is misusing exceptions to send messages.
This from the node manual for example:
> fsPromises.access(path[, mode])
> fsPromises.access('/etc/passwd', fs.constants.R_OK | fs.constants.W_OK)
> .then(() => console.log('can access'))
> .catch(() => console.error('cannot access'));
I keep seeing people doing this and it's exceptionally bad API design, excusing the pun.
This spec makes assumptions that not being able to access something is an error condition.
This is a mistaken assumption. It should return either true or false unless a genuine IO exception occurred.
It's using an exception to return a result. This is commonly seen with booleans and things that may or may not exist (using an exception instead of null or undefined).
If it returned a boolean then it would be up to me whether or not to throw an exception. They could also add a wrapper such as requireAccess for consistent error exceptions.
If I want to check that a file isn't accessible, for example for security then I need to wrap what would be a simple if statement with try catch all over the place. If I turn on my debugger and try to track any throw exception then they are false positives everywhere.
If I want to check ten files and only fail if none of them are accessible then again this function isn't suited.
I see this everywhere although it coming from a major library is a bit sad.
This may be because the underlying libraries are C which is a bit funky with error handling, there's at least a reason to sometimes squash errors and results together (IE, optimisation). I suspect the exception is being used because under the hood error codes are also used and it's trying to use throwing an exception to give the different codes but doesn't exist and bad permissions might not be an error condition or one requiring an exception.
Yet this is still the bane of my existence. Bad error handling everywhere including the other way around (things that should always be errors being warnings), in legacy code it's horrendous.6
How do you handle error checking? I always feel sad after I add error checking to a code that was beautifully simple and legible before.
It still remains so but instead of each line meaning something it becomes if( call() == -1 ) return -1; or handleError() or whatever.
Same with try catch if the language supports it.
It's awful to look at.
So awful I end up evading it forever.
"Malloc can't fail right? I mean it's theoetically possible but like nah", "File open? I'm not gonna try catch that! It's a tmp file only my program uses come oooon", all these seemingly reasonable arguments cross my head and makes it hard to check the frigging errors. But then I go to sleep and I KNOW my program is not complete. It's intentionally vulnerable. Fuck.
How do you do it? Is there a magic technique or one has to reach dev nirvana to realise certain ugliness and cluttering is necessary for the greater good sometimes and no design pattern or paradigm can make it clean and complete?15
It's been over 7 months of being deployed to help finish a project that's crossed the deadline umpteenth times. There's only this guy who had started on this project and me as developers. He's a nice guy, but I'm finding him to be a snowflake that's extremely difficult to work with. Every time I mention a critical problem with his original design, or the approaches he takes on this project, he takes it personally. He would pour out a long spiel of why this and why that, and waste most of the meeting time. Or he would run to his outdated diagrams or documents that he had created himself somewhere deep in the wiki forest, and use that as a defense. He creates his own user stories and tasks on a whim with no PM supervision. I've noted to the managers that this is a project to fail, and all they've done is assign a busy PM to this project, and the new PM is perfectly fine w/ the way the project has been handled so far.
I point out a small flaw with his assumptions just the other day, and he even managed to hyperventilate and again fall back to his outdated document... WTF? I'd rather start from scratch and get this project finished faster.. and even though I've expressed my objection to continue on this path, the managers foolishly believe that this project will be completed somehow. I don't hate my development partner, or PM, or people in the management, but I hate the fact that I don't have control over so many aspects of this project, including the half-assed, unnecessarily complex design, and the dev workflow itself. I feel like I'm tied to a car that's being thrown over the cliff, and assigned to fix the junky car w/ its engine broken before the car hits the ground. Something like this would never be allowed to go in a commercial sector. I just wish that the management could just give me control over project as THE lead & PM over this project, and get this project tied up for good, and with better reusability and quality.1