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
Search - "design change"
-
Website design philosophies:
Apple: "...and a really big picture there, and a really big picture there, and a really big picture there, and..."
Microsoft: "border-radius:0 !important;"
Google: "EVERYTHING MOVES!!! And most websites get material design. Most."
Amazon: "We're slowly moving away from 2009"
Wix: "How can we further increase load times?"
Literally any download site: "Click here! No, click here! Nononono!! Click here!!..."
Facebook: "We can't change anything because our main age demographic is around 55"
University websites: "That information isn't hard enough to find yet. Decrease the search accuracy and increase broken links."32 -
Boss: “Our YouTube channel doesn’t look at all like our website.”
Me: “I’ve made it look as close to our branding as YouTube allows for with its limited editing controls.”
Boss: “This is unacceptable. I expected more from you.”
Me: “I cannot accept the blame for this. YouTube is setting the design parameters for all channels and I can only do so much.”
Boss: “You can call the YouTube, can’t you? Why didn’t you call them?”
Me: “.......and ask them....what?”
Boss: “You don’t ask! You tell! Our company has been around for 140 years. Our brand name carries that weight. They’ll change their design to what we need if you’re assertive enough.”
Me: “Ma’am, that’s just not how this works. That’s not how any of this works.”50 -
Boss: I need you to start on this new project, how long will it take?
Me: well, hard to say with no specs whatsoever...
Boss: just your best guess
Me: 4 to 6 month I guess?
Boss: so 3 months it is. When can you start?
Me: no specs, sir...and I said 4 to 6
Boss: the specs are almost ready, I know you can simplify it
Me: ...
Boss: just start with the basic infrastructure already
(4 months later)
Boss: here you are the specs, they might change a little in behaviour and design, but all the main stuff is here
(Hands me a A3 with a total of 21 pictures in InDesign)
Me: o....Kay. what happens when I click here?
Boss: oh, we should still talk about the app workflow, I'll get you updated
(2 weeks and 16 total rewrites of the "specs" later)
Boss: you told me it was a 2 months job, why aren't you finished yet? We must deploy in 3 weeks!
Me: ...34 -
* The app is almost ready, boss asked me to show the progress.
Boss: The design is bad, I don't like it 🤔
Me: I just implemented the design, which is approved
Boss: Really? because I "feel" that the design is bad on the screen.
Me: Okay 😐, can you tell me what exactly the part to change?
Boss: I don't know, *calls the designer
Designer: *showing his PSDs* yes it is the same, and you [the boss] approved it.
Boss: Ok make some changes to make it feel better.
Me: (Inside: 😡 ) ok, have you some suggestions?
Boss: dunno,
Me: at least tell me what is wrong with it
Boss: dunno
Me:🤢26 -
I started in 2015 at my current job. The first contract was for a year, very normal in the Netherlands. Also, I had only 6 months of professional experience with programming.
I already knew that I would replace an older colleague who's going to retire and I would get some of his responsibilities.
One year later (6 months ago) I had an evaluation with my boss. He told me he was proud I learned everything so quick and offered me a permanent position and wanted me to take over one of the major products we sell. Even more, he wanted me to decide how to change the framework since it's over 20years old. (Multiple languages combined)
I am currently working on a new design and UX as well, which I presented last year. The love it.
I've never felt so appreciated and valued before.13 -
//
// devRant unofficial UWP update (v2.0.0-beta)
//
After several concepts, about 11 months of development (keep in mind that I released 20 updates for v1 in the meantime, so it wasn't a continous 11 months long development process) and a short closed beta phase, v2 is now available for everyone (as public beta)! :)
I tried to improve the app in every aspect, from finally responsive and good looking UI on Desktop version to backend performance improvements, which means that I almost coded it from scratch.
There are also of course a few new features (like "go to bottom" in rants), and more to come.
It's a very huge update, and unfortunately to move forward, improve the UI (add Fluent Design) and make it at the same level of new UWP apps, I was forced to drop the supported for these old Windows 10 builds:
- Threshold 1 (10240)
- Threshold 2 (10586)
Too many incompatiblity issues with the new UI, and for 1 person with a lot of other commitments outside this project (made for free, just for passion), it's impossible to work at 3 parallel versions of the same app.
I already done something like that during these 11 months (every single of the 20 updates for v1 needed to be implemented a second time for v2).
During the closed beta tests, thanks to the awesome testers who helped me way too much than I ever wished, I found out that there are already incompatiblity issues with Anniversary Update, which means that I will support two versions:
1) One for Creators Update and newer builds.
2) One for Anniversary Update (same features, but missing Fluent Design since it doesn't work on that OS version, and almost completly rewritten XAML styles).
For this reason v2 public beta is out now for Creators Update (and newer) as regular update, and will be out in a near future (can't say when) also for the Anniversary Update.
The users with older OS versions (problem which on PC could be solved in 1-2 days, just download updates) can download only the v1.5.9 (which probably won't be supported with new updates anymore, except for particular critcal bug fixes).
So if you have Windows 10 on PC and want to use v2 today, just be sure you have Creators Update or Fall Creators Update.
If you have Windows 10 PC with Anniversary Update, update it, or if you don't want to do that, wait a few weeks/months for the update with support for your build.
If you have an older version on PC, update it, or enjoy v1.5.9.
If you have Windows 10 Mobile Anniversary Update, update it (if it's possible for your device), or just wait a few weeks/months for the update with support for your build.
If you have Windows 10 Mobile, and because of Microsoft stupid policy, you can't update to Anniversary Update, enjoy v1.5.9, or try the "unofficial" method (registry hack) to update to a newer build.
I hope it's enough clear why not everyone can receive the update today, or at all. :P
Now I would like to thank a few people who made this possible.
As always, @dfox who is always available for help me with API implementations.
@thmnmlist, who helped me a lot during this period with really great UI suggestions (just check out his twitter, it's a really good person, friend, designer and artist: https://twitter.com/thmnmlist).
And of course everyone of the closed beta testers, that reported bugs and precious suggestions (some of them already implemented, others will arrive soon).
The order is random:
@Raamakrishnan
@Telescuffle
@Qaldim
@thmnmlist
@nikola1402
@aayusharyan
@cozyplanes
@Vivaed
@Byte
@RTRMS
@tylerleonhardt
@Seshpengiun
@MEGADROID
@nottoobright
Changelog of v2.0.0-beta:
- New UI with Fluent Design and huge improvements for Desktop;
- Added native support for Fall Creators Update (Build 16299);
- Changed minimum supported version to Creators Update (Build 15063), support for Anniversary Update (Build 14393) will arrive soon;
- Added mouse support for Pull-To-Refresh;
- Added ability to change your username and email;
- Added ability to filter (by 'Day', 'Week', 'Month' and 'All') the top Rants;
- Added ability to open rant links in-app;
- Added ability to zoom GIFs (just tap on them in the Rant View);
- Added 'go to bottom' button in the Rant View (if more than 3 comments);
- Added new theme ('Total Black');
- ...complete changelog in-app and on my website (can't post it here because of the 5000 characters limit)...
What will arrive in future updates:
- 'Active Discussions' screen so you can easily find rants that have recent comments/discussions;
- Support for 'Collabs';
- Push Notifications (it was postponed and announced too many times...);
- More themes and themes options;
- and more...
If you still didn't download devRant unofficial UWP, do it now: https://microsoft.com/store/apps/...
If you find some bugs or you have feature suggestion, post it on the Issue Tracker on GitHub (thanks in advance for your help!): https://github.com/JakubSteplowski/...
I hope you will enjoy it! ;)52 -
In a user-interface design meeting over a regulatory compliance implementation:
User: “We’ll need to input a city.”
Dev: “Should we validate that city against the state, zip code, and country?”
User: “You are going to make me enter all that data? Ugh…then make it a drop-down. I select the city and the state, zip code auto-fill. I don’t want to make a mistake typing any of that data in.”
Me: “I don’t think a drop-down of every city in the US is feasible.”
Manage: “Why? There cannot be that many. Drop-down is fine. What about the button? We have a few icons to choose from…”
Me: “Uh..yea…there are thousands of cities in the US. Way too much data to for anyone to realistically scroll through”
Dev: “They won’t have to scroll, I’ll filter the list when they start typing.”
Me: “That’s not really the issue and if they are typing the city anyway, just let them type it in.”
User: “What if I mistype Ch1cago? We could inadvertently be out of compliance. The system should never open the company up for federal lawsuits”
Me: “If we’re hiring individuals responsible for legal compliance who can’t spell Chicago, we should be sued by the federal government. We should validate the data the best we can, but it is ultimately your department’s responsibility for data accuracy.”
Manager: “Now now…it’s all our responsibility. What is wrong with a few thousand item drop-down?”
Me: “Um, memory, network bandwidth, database storage, who maintains this list of cities? A lot of time and resources could be saved by simply paying attention.”
Manager: “Memory? Well, memory is cheap. If the workstation needs more memory, we’ll add more”
Dev: “Creating a drop-down is easy and selecting thousands of rows from the database should be fast enough. If the selection is slow, I’ll put it in a thread.”
DBA: “Table won’t be that big and won’t take up much disk space. We’ll need to setup stored procedures, and data import jobs from somewhere to maintain the data. New cities, name changes, ect. ”
Manager: “And if the network starts becoming too slow, we’ll have the Networking dept. open up the valves.”
Me: “Am I the only one seeing all the moving parts we’re introducing just to keep someone from misspelling ‘Chicago’? I’ll admit I’m wrong or maybe I’m not looking at the problem correctly. The point of redesigning the compliance system is to make it simpler, not more complex.”
Manager: “I’m missing the point to why we’re still talking about this. Decision has been made. Drop-down of all cities in the US. Moving on to the button’s icon ..”
Me: “Where is the list of cities going to come from?”
<few seconds of silence>
Dev: “Post office I guess.”
Me: “You guess?…OK…Who is going to manage this list of cities? The manager responsible for regulations?”
User: “Thousands of cities? Oh no …no one is our area has time for that. The system should do it”
Me: “OK, the system. That falls on the DBA. Are you going to be responsible for keeping the data accurate? What is going to audit the cities to make sure the names are properly named and associated with the correct state?”
DBA: “Uh..I don’t know…um…I can set up a job to run every night”
Me: “A job to do what? Validate the data against what?”
Manager: “Do you have a point? No one said it would be easy and all of those details can be answered later.”
Me: “Almost done, and this should be easy. How many cities do we currently have to maintain compliance?”
User: “Maybe 4 or 5. Not many. Regulations are mostly on a state level.”
Me: “When was the last time we created a new city compliance?”
User: “Maybe, 8 years ago. It was before I started.”
Me: “So we’re creating all this complexity for data that, realistically, probably won’t ever change?”
User: “Oh crap, you’re right. What the hell was I thinking…Scratch the drop-down idea. I doubt we’re have a new city regulation anytime soon and how hard is it to type in a city?”
Manager: “OK, are we done wasting everyone’s time on this? No drop-down of cities...next …Let’s get back to the button’s icon …”
Simplicity 1, complexity 0.16 -
So, I got a paid internship and was tasked to create a game from scratch. They told me to start by creating an idea and so I started creating a Game Design Document with 40+ pages. Fuckin epic idea. The idea is presented to the boss. "Very good. But I want it to have multilayer" *Sigh* Substantial changes are made and I'm eager to start working on my masterpiece. Everybody wanted to see how it would turn out. 2 months into the internship I have to make a presentation to the boss. He tells me that I won't be able to accomplish anything in the limited time of the internship. They change my work completely and I am now part of the main team. Two weeks later I have another presentation. "You have been here for 2 months and this is what you have? This is you progress? You need to do better". A couple of days later I get an email stating that my performance was unsatisfactory and I won't get paid for those 2 months. Like, ARE YOU FUCKIN KIDDING ME! YOU TELL ME TO CHANGE EVERYTHING! 2 MONTHS OF MY LIFE OF HARD WORK WADTED FOR NOTHING! FUCK YOU! SO FUCKIN PISSED!
I have cool coworkers tho16 -
TABLE BASED WEB DESIGN
I was surprised there were no rants about this topic before I realized it was more than a decade back 😳
We've never had it better! So to help add a little perspective for all those ranting about what is unarguably the golden age for web developers... let me fill you in on web dev in the late 90's;
JavaScript was a joke. No seriously! - I once got laughed out of the room for suggesting we try use it for more than disabling a button - (I wanted to check out the new XHR request thingy [read AJAX]).
HTML was simple and purely a markup language (with the exception of the marquee tag). The tags were basically just p,ul,ol,h*,form inputs,img and table and html took 10 minutes to learn. Any style was inline and equally crude - anything that wasn't crude could not be trusted and probably wouldn't render at all in most browsers (never mind render correctly).
There were rumors of a style TAG and something called a cascading style sheet which were received with much skepticism since it went against the old ways and any time saved would be lost writing multiple [IE version specific] style sheets for each browser just to get it to work - so we simply didn't.
No CSS meant the only tags you had to work with to create a structured layout were br, hr and table... so naturally EVERYTHING was in nested tables! JS callback hell can't touch this! - it was not uncommon to have 50+ nested tables all with inline style in a single page which would be edited without any dev tools or linting.
You would spend 30 minutes scanning td tags until your eyes bled to find something, make a change, ftp the file to the server, reload the web page and then spend 10 minutes staring at the devastation on your screen convinced you broke
the internet before spotting an un-closed td tag with your bloodshot eyes.
Tables were not just a silver bullet - they were the ONLY bullet and were in the wild west!
Q: Want an inline form or to align your inputs left?
A: Duh table!
Q: Want a border with round-corners, a shadow or blur?
A: That's easy! Your gonna want to put that table in the center cell of another table then crop a image of the border into 6 smaller images to put in the surrounding cells... oh and then spend 10 minutes fucking with mystical attributes like cell-padding and valign to get them flush.
...But hey at least on the bright-side vertically & horizontally centering stuff was a breeze!22 -
Okay i'm done - YOU FUCKING ANDROID STUDIO MORONS. Being at a high level in C++, I tried to do some android coding. THERE ARE FUCKING NO GOOD TUTORIALS, NO GOOD DOCS, HECK, THE SELF GENERATED CODE OF THE IDE IS WRONG: WHAT THE FUCK IS GOING ON YOU FUCKING MORONS?
oh wait, let me first import android.widgets.rant;
or was it android.widgets.devrant.rant; or was it android.dr.rant.RantManager;?
Oh wait, I know lets search the docs?
OH WAIT THE DOCUMENTATION DOESNT HAVE THAT.
NOW HOW ABOUT I JUST TRY THE EXAMPLE CODE? WELL UH-UH! YOU HAVE TO FIND OUT YOURSELF WHAT TO IMPORT IN ORDER FOR IT TO WORK. ALSO, WHAT FUCKING UP WITH THAT PERMISSION SYSTEM? ITS SO BADLY DOCUMENTED!!!
Oh wait, I'm sure that I have to change something in this file... or was it that other file?
GOD
how dare they have style and design guidelines?
MORONS!
I will resort to implement my app idea in godot, idc anymore... I don't want to burn out because I used the "official high standard" tech.
it definitely isn't high standard and definitely not good. Thank you morons@google
THANK YOU FOR NOTHING
A FRAMEWORK WHERE I NEED 2 DAYS TO FIGURE OUT TO ADD EVENT LISTENERS TO MY THINGS IS DEFINITELY NOT ONE I'D LIKE TO USE.
also, whats up with
AudioRecord (int audioSource, int samplerateInHz, int channelConfig, int audioFormat, int bufferSizeInBytes);
ARE WE BACK IN THE C ERA? CAN'T YOU BE BOTHERED TO IMPLEMENT SOME SIMPLE FUCKING ENUMS????
WHATS THE POINT OF AN OOP LANGUAGE IF YOU ARE GOING TO USE IT LIKE C?
Oh wait I found a tutorial ... First trigger: "java scripts". Second trigger: this guy LITTERALLY ONLY TEACHES YOU HOW TO PLACE WIDGETS ON THE CANVAS. THANKS FOR NOTHING SHERLOCK!
Oh btw: did you know that android studio gives the best error messages?
"Error: illegal start of expression"
NO ERROR MESSAGE - NOTHING!
YOU BETTER USE THE IDE OR YOU GO HOME YOU FUCKER!!!
Oh and btw: if you want to read the best documentation - the code itself YOU GOTTA AGREE TO OR TERMS OF SERVICE!!!! WE DONT WANT ANYBODY TO BECOME SUCCESSFUL WITHOUT US KNOWING!!!!!
THANK YOU GOOGLE FOR NOTHING!
YOU FUCKERS!
thanks godot for *atleast* existing. You are the... last pick i'd pick, but :shrug:, I have experienced android studio now.
If anybody has any advice on what to use instead, please go ahead. And you better not tell me how good you are at android studio. I DONT CARE ABOUT WHAT YOU CAN IMPLEMENT IN ANDROID STUDIO. I JUST WANT SOMETHING THAT IS USABLE WITHOUT HAVING TO BE EXTRA CAREFUL WHEN DOING *ANYTHING*!!!!
fuckers.48 -
Welcome back to practiseSafeHex's new life as a manager.
Episode 2: Why automate when you can spend all day doing it by hand
This is a particularly special episode for me, as these problems are taking up so much of my time with non-sensical bullshit, that i'm delayed with everything else. Some badly require tooling or new products. Some are just unnecessary processes or annoyances that should not need to be handled by another human. So lets jump right in, in no particular order:
- Jira ... nuff said? not quite because somehow some blue moon, planets aligning, act of god style set of circumstances lined up to allow this team to somehow make Jira worse. On one hand we have a gigantic Jira project containing 7 separate sub teams, a million different labels / epics and 4.2 million possible assignees, all making sure the loading page takes as long as possible to open. But the new country we've added support for in the app gets a separate project. So we have product, backend, mobile, design, management etc on one, and mobile-country2 on another. This delightfully means a lot of duplication and copy pasting from one to the other, for literally no reason what so ever.
- Everything on Jira is found through a label. Every time something happens, a new one is created. So I need to check for "iOS", "Android", "iOS-country2", "Android-country2", "mobile-<feature>", "mobile-<feature>-issues", "mobile-<feature>-prod-issues", "mobile-<feature>-existing-issues" and "<project>-July31" ... why July31? Because some fucking moron decided to do a round of testing, and tag all the issues with the current date (despite the fact Jira does that anyway), which somehow still gets used from time to time because nobody pays attention to what they are doing. This means creating and modifying filters on a daily basis ... after spending time trying to figure out what its not in the first one.
- One of my favourite morning rituals I like to call "Jira dumpster diving". This involves me removing all the filters and reading all the tickets. Why would I do such a thing? oh remember the 9000 labels I mentioned earlier? right well its very likely that they actually won't use any of them ... or the wrong ones ... or assign to the wrong person, so I have to go find them and fix them. If I don't, i'll get yelled at, because clearly it's my fault.
- Moving on from Jira. As some of you might have seen in your companies, if you use things like TestFlight, HockeyApp, AppCenter, BuddyBuild etc. that when you release a new app version for testing, each version comes with an automated change-log, listing ticket numbers addressed ...... yeah we don't do that. No we use this shitty service, which is effectively an FTP server and a webpage, that only allows you to host the new versions. Sending out those emails is all manual ... distribution groups?? ... whats that?
- Moving back to Jira. Can't even automate the changelog with a script, because I can't even make sense of the tickets, in order to translate that to a script.
- Moving on from Jira. Me and one of the remote testers play this great game I like to call "tag team ticketing". It's so much fun. Right heres how to play, you'll need a QA and a PM.
*QA creates a ticket, and puts nothing of any use inside it, and assigns to the PM.
*PM fires it back asking for clarification.
*QA adds in what he feels is clarification (hes wrong) and assigns it back to the PM.
*PM sends detailed instructions, with examples as to what is needed and assigns it back.
*QA adds 1 of the 3 things required and assigns it back.
*PM assigns it back saying the one thing added is from the wrong day, and reminds him about the other 2 items.
*QA adds some random piece of unrelated info to the ticket instead, forgetting about the 3 things and assigns it back.
and you just continue doing this for the whole dev / release cycle hahaha. Oh you guys have no idea how much fun it is, seriously give it a go, you'll thank me later ... or kill yourselves, each to their own.
- Moving back to Jira. I decided to take an action of creating a new project for my team (the mobile team) and set it up the way we want and just ignore everything going on around us. Use proper automation, and a kanban board. Maybe only give product a slack bot interface that won't allow them to create a ticket without what we need etc. Spent 25 minutes looking for the "create new project" button before finding the link which says I need to open a ticket with support and wait ... 5 ... fucking ... long ... painful ... unnecessary ... business days.
... Heres hoping my head continues to not have a bullet hole in it by then.
Id love to talk more, but those filters ain't gonna fix themselves. So we'll have to leave it here for today. Tune in again for another episode soon.
And remember to always practiseSafeHex13 -
So the remote manager who won't reply to my emails or slacks, won't invite me to meetings with product / design, won't ask for my opinion on deadline dates and won't tell me whats being said in meetings (despite repeated effort on my part to change this);
Has decided to send an angry email, cc'ing a bunch of people, about "constant deadline slippage" and poor planning on our part focusing on features that should have been de-prioritised.
ahem
*clears throat for maximum yelling rant-ability*
<rant>
I HAVE BEEN EMAILING YOU FOR FUCKING WEEKS ASKING TO TALK ABOUT THE DEADLINES YOU FUCKING COLOSSAL ASS CLOWN.
I'VE BEEN REPEATEDLY TOLD THAT THESE FEATURES ARE A MUST HAVE AFTER ASKING TO DE-PRIORITISE THEM, AND HAVE TOLD YOU THE DATES ARE NOT FEASIBLE.
ONE MORE, ONE MORE EMAIL OR BAD COMMENT AND I'M EXPENSING A TRIP OVER THERE, TO KICK YOU SQUARE IN THE NUTS AS HARD AS HUMANLY POSSIBLE. I'LL HAPPILY BREAK MY FOOT OFF IF NECESSARY, YOU USELESS PIECE OF SHIT.
</rant>
... the above is work appropriate to email back to him and all the higher ups right?12 -
There once was a bright young engineer who was hired by a company to design their new light ship.
Like 50 seconds after getting inside the company, the engineer was approached by a douchebag in a business suite.
"Hey, can you make us a mock up of the ship's design in the next hour or so? Nothing fancy, it must be very simple! To not overcomplicate it! Just a simple mock up so we can all see what are we talking about in this project! Please do not overthink this!"
The engineer, young and naive, just folded some piece of paper and gave the douchebag a paper boat.
"Fantastic! That's all we need for the presentation for the investors!"
A couple hours later the suite was back screaming.
"YOUR FUCKING FARSE! YOUR SHITTY SHIP EMBARRASED US ALL! THE VERY MOMENT OUR CEO TRIED TO STEP ON IT IT SANK! YOU ARE FIRED AND WE WILL SUE YOU FOR INCOMPETENCE! I ASKED YOU SOMETHING SIMPLE AND YOU CAME UP WITH THIS OVER ENGINEERED PIECE OF CRAP, YOU SON OF A.. [many, maaany expletives suppressed for brevity sake]"
This is how I feel everytime someone asks for "a tiny change" or some "very simple solution".
If it was so simple that it could be done in such short notice, than why the fuck do it at all, instead of buying it? I heard people sell all sorts of things in the internet nowadays. Software fucking included.5 -
--- 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-...6 -
A huge project came my way at work. Old spaghetti code, no source control, no test env and every other possible challenge you could think of. Based on my initial quote a deadline of June 19th was approved. Two days ago the president of the company tells my boss it needs to be done by Friday, no excuses. Horrible timing since I'm moving tomorrow and am off all next week. Not to mention I'm the only dev at the company that understands/knows how to work on this code. We also don't have a budget to contract out. Literally not possible to do in 2 days. I proposed a "quick fix" solution and new design which was approved. I Spent 2 straight days working on it with overtime, no lunch hour, and the president checking on me every hour for status updates. Managed to implement my "quick fix" and just put it live 2 hours ago. President approved, and said "thanks". He then sent an email to the company and all our agents across the country anouncing the change. In the email he directly thanks the Marketing dept and the "senior leadership team" for "making the quick turnaround of this request possible". He proceeds to name specific people responsible for making this happen. No where does he mention my name or my department. Not that I'm actually surprised but it would have been nice to get some recognition considering this literally wouldn't have worked without me. Guess I should be used to it by now. I'm also now on call during my week off in case anything breaks.12
-
Designer: Need to file a bug, I'm not getting an option to login with FaceID
Me: Oh weird bug. Is it setup on the phone you are testing with?
Designer: yes, use it in all other apps
Me: Did you get an error during onboarding on the FaceID screen?
Designer: nope no error
Me: ..... hhhmm, can you show me your settings?
Me: ... eh, says you have FaceID disabled for this app ... did you click "No" to FaceID during onboarding?
Designer: Yes, to test edge cases
Me: ................ ok ........ if you setup the app and told it to not allow FaceID to login ......... you won't get the ability to use FaceID to login .......... like .... by design .... on purpose ...... cause .... you told it to do that
Designer: No no, it needs to have a setting on the login screen to allow me to turn that back on incase I forget my passcode
Me: the fuck it does. Yeah we can't have anything on the login page that says, without authorization, change my settings
*Deep breath*
Me: Remember we had this conversation previously, where you didn't want the user to create a passcode during onboarding as it was too much friction, and wanted to do FaceID only. With your backup plan being to allow the user to create a NEW passcode on the login screen if FaceID failed .... remember that discussion we had about security? ... and how its important? ... and that we like having any? Ok so its the same reason as that, just with a different setting this time
Designer: ... hhmm i'm not sure I like this
Me: ... tough luck then, not happening
Me: oh and btw, remember we had that other talk about reproduction steps for bugs? Like when the app crashed and you told me it was because its in light mode, and nothing else at all? So disabling FaceID, is very relevant info to the problem of "I can't login with FaceID", please tell me these things first11 -
Let me preface this by saying I'm not a designer.
While I can make individual bits of a site look good, and I'm actually pretty skilled with CSS/Sass, overall design completely escapes me. I can't come up with good designs, nor do I really understand *why* good designs are good. It's just not something I can do, which feels really weird to say. but it's true.
So, when I made the Surfboard site (that's the project's internal name), I hacked everything together and focused on the functionality, and later did a branding and responsive pass. I managed to make the site look quite nice, and made it scale well across sizes/devices despite being completely new to responsiveness. (I'm proud, okay? deal.)
After lots of me asking (in response to people loudly complaining that the UI doesn't have X feature, scale properly on Y device, and doesn't look as good as Z site), the company finally reached out to its UI contractor who does their design work. After a week or two, he sent a few mockups.
The mockups consisted of my existing design with a darker background, much better buttons, several different header bars (a different color) with different logo/text placements, and several restyled steppers. He also removed a couple of drop shadows and made some very minor styling changes (bold text, some copy edits). Oh, he also changed the branding colors. Nothing else changed. It's basically the same exact site but a few things look a little better. and the branding is different.
My intermediary with the designer asked for "any feedback before finalizing the designs" -- which I thought odd because he sent mocks for two out of the ten pages (nine plus a 404 page). (Nevermind most of the mocks showed controls from the wrong page...).
So, I typed up a full page of feedback. Much of it was asking for specifics such as responsive sizing on the new header layout, how the new button layout would work for different button counts, asking for the multitude of missing pages/components, asking why the new colors don't match the rest of our branding, etc. I also added a personal nitpick about flat-looking controls because I fucking hate them. Everything I wrote was very friendly and professional.
... His response was full of gems. Let me share a few.
1. "Everything about the current onboarding site looks like a complete after-thought." (After submitting a design basically identical to mine! gg!)
2. "Yes [the colors match our current branding]." (No. They don't. I checked. The dark grey is different, the medium grey is different, the silver is different, the light blue is different. He even changed the goddamn color of the goddamn LOGO for fuck's sake! How the fuck is that "matching"?!)
3. "Appreciate the feedback [re: overlapping colored boxes, aka 'flat'], design is certainly subjective. However, this is the direction we are going." (yet it differs from the rest of our already-redesigned sites you're basing this off. and it's ugly as shit. gg again :/)
4. "Just looked at the 404 page. It looks pretty bad, and reflects very poorly on the [brand name] brand. Definitely will make a change here!" (Hey! I love that thing. It's a tilted, dotted outline of a missing [brand product] entirely drawn with CSS. It has a light gray "???" underlay and some 404 text inside. Everyone I showed it to, coworkers and otherwise, loved it. "Looks pretty bad". fuck you.)
I know I shouldn't judge someone so quickly, but what the fuck. This guy reminds me of one of those pompous artists/actors who's better than everyone and who can never be wrong, even while they're contradicting themselves.
just.
asfjasfk;ajsg;klsadfhas;kldfjsdl.undefined surfboard another rant about the same project long rant pompous designer apples and asteroids design8 -
Our project manager who also happens to be our web designer... (Start Up)
Project Manager: We have a go signal. Go convert this design to html and css. And make it responsive.
Me: Can you forward me the mail so I can check if it's actually approved?
Project Manager: Just do it.
Me: (After tweaking) There. It's done.
Project Manager: They want to change all the layout of the site. We're gonna do it from scratch. They didn't like the design.
Me: What? I thought your design was approved?
Project Manager: I thought so too. But i'm your PM so get back to work.
There was no mail from the client.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 -
Every single one of them, and every one that will come after them.
Google, it started out as 2 people in their garage, wanting to make a search engine that was better than the others. Nothing else, nothing evil. Just make the world a little bit better. And look what it's become now. A megacorporation with little to no regards for their user base. Because who cares about users anyway?
Microsoft, it started out with Bill Gates - young high school computer nerd - who wanted to make an operating system for the world to use. Something that's better than the competition. And boy did he do so. Well "better than the competition" aside, he did make it for the world to use. And the world adopted it. And look what it's become now. A megacorporation with little to no regards for their user base. Because who cares about users anyway?
See where I'm going here?
Apple, it started out with Steve Jobs and Steve Wozniak in their garage, just like Google did, wanting to make hardware that was better than the others. Nothing else, nothing evil. Just to make the world a little bit better. And look what it's become now. Planned obsolescence has been baked into it, just like it is in every other piece of technology. Quality control and thinking through the design has become a thing of the past. User choice, yeah who cares about that.
Samsung, it started out centuries ago actually, and I don't really remember the details of it.. ColdFusion has a video on it if memory serves me right. Do watch it if you're interested. Anyway, just like all the others they started out as a company which wanted to make the world a little bit better. And damn right did they do so.. initially. Look what they've become now. Forcing their stupid TouchWiz UI upon their customers (or products?), a Bixby button that can't even be reprogrammed.. and the latest thing.. Knox, advertised as a security feature, but as everyone who likes rooting their devices and mucking with it knows, it is an anti-feature that only serves for lockdown. Why shouldn't you be able to turn in a phone for RMA when a hardware error occurs, when all you've personally modified is the software? Why should changing the software blow that eFuse, so that you can be sure that you can't replace it without specialized equipment and a very steady hand?
I could go on and on forever about more of the tech giants out there, but I feel like this suffices for now. Otherwise I won't have anything else left for future rants! But one thing I know for sure. Every tech company started, starts, and will start out with a desire to make the world a better place, and once they gain a significant customer base, they will without exception turn into the same kind of Evil Megacorp., just like the ones before them. Some may say that capitalism itself is to blame for this, the greed for more when you already have a lot. Who knows? I'd rather say that the very human nature itself is to blame for it. We're by design greedy beings, and I hate it. I hate being human for that. I don't want humans to be evil towards one another, and be greedy for ever more. But I guess that that's just the way it is, and some things do actually never change...17 -
I was assigned a girl that's new to the industry (but with a master's degree).
I had high hopes, as people told me she is quite a curious fellow. As I am just a junior Dev with 2 yrs of experience Ididn't know if I could handle her.
We started working on a project. Which was a change request for a previous project I had developed. I gave her 2 days to read and understand the functional requirements of previous project and this CR. Then explained everything too.
Then I gave here another 3 days to read the previous design document to learn how this code worked.
I asked her multiple times if she has any questions. She said she got everything. Cool.
One week goes by. We start to code the CR while she is shadowing me. I explained why we chose one of the two approaches. And why we are making any of the changes. She as usual nodded in agreement.
I asked her to create Unit test cases.
She couldn't write even one. So, I quizzed her, she knew nothing about the project! Nothing at all!
FUCK!
I wrote down the test cases in short hand and told her to document it (by reffering previous UTC). She wrote the test cases in short hand in the document. And she reused the previous document and did not even clean it out.
After fixing the document I asked her to execute them. But nope, she doesn't even know how the application flows for this project. FML.
It took her 3 days to write and test 8 test cases.
Now she is assigned to me in another project. This one is more complicated. And I gave her a function skeleton to complete. I figured that it will take me 15 minutes so let's give her a day. But nope. 3 days no progress.
I get it someone might not be quick to grasp something. But you know what grinds my gears? That even after this you act like a know it all! Fuck! For someone who hasn't worked with her she is the most dilligent developer.
How the fuck does someone survive masters and suck so bad!22 -
I don't want to write clean code anymore :(
I read Clean Code, Clean Coder, and watched many uncle bob's videos, and I was able to apply best practices and design patterns
I created many systems that really stood the test of time...
Management was kind enough to introduce me to uncle bob clean code in the first place, letting us watch it during work hours. after like one year, my code improved 400% minimum because I am new and I needed guidance from veterans...
That said, to management I am very slow, compared to this other guy, they ask me for a feature and my answer would be like "sure, we need to update the system because it just doesn't support that right now, it is easy though it would take 2 days tops"
they ask the same thing for the other guy : "ok let me see what I can do", 1 hour later, on slack, he writes : done. he slaps bunch of if-statement and make special case that will serve the thing they asked for.
oh 'cool' they say -> but it doesn't do this -> it needs to do that -> ok there is a new bug,-> it doesn't work in build mode-> it doesn't work if you are logged in as a guest, now its perfect ! -> it doesn't work on Android -> ok it works on android but now its not perfect anymore.
and they feel like he is fast (and to be fair he is), this feature? done. ok new bugs? solved. Android compatibility ? just one day ... it looks like he is doing doing doing.
it ends up taking double the time I asked for, and that is not to mention the other system affected during this entire process, extra clean up that I have to do, even my systems that stood the test of time are now ruined and cannot be extracted to other projects. because he just slaps whatever bools and if statements he needs inside any system, uses nothing but Singleton pattern on everything. our app will never be ready-for-business, this I can swear. its very buggy. and to fix it, it needs a change in mentality, not in code.
---------------
uncle bob said : write your code the right way, and the management will see that your code generates less errors, with time, you will earn respect even though they will feel you are slow at first.
well sorry uncle, I've been doing it for a year, my image got bad, you are absolutely right, only when there is no one else allowed to drop a giant shit inside your clean code.
note: we don't really have a technical lead.
-------------------
its been only two days since my new "hack n' slash" meta, the management is already kind of "impressed" ... so I'll keep hacking and slashing until I find a better job.9 -
Had this conversation with a friend a while ago (not dev related). He convinced me to start working on a design! (detail: he doesn't know me well, know him through a best friend but I consider him a friend)
Friend: *shows new tattoo* what ya think?
Me: awesome man! I still idk maybe want a tattoo too...
Friend: ohhh! What of?
Me: uhm well... my favourite music genre... uhm...
Friend: what's up with your doubts?
Me: well.... everyone always tells me not to tattoo anything relating to music because musical taste cab change easily...
Friend: may I guess the genre?
Me: yeah sure :)
Friend: hardstyle, maybe raw hardstyle/rawstyle?
Me: yup!
Friend: well why wouldn't you get a tattoo of it?!
Me: well, I mean what if my taste changes?
Friend: dude. do you have the slightest clue how fucking happy/energetic you look when you hear that music?! It'd be hard to imagine you losing your love for that genre! And if then, then what? That genre has gotten you through the darkest places, most difficult times and has pretty much made you into the person you are right now, even if you'd change factories genres, it'd be a reminder of how you beat getting bullied and became the person you are now!
Me: yeah.... but everyone keeps telling me that its not a good ide..'
Friend: fuck them. You love this music to the fucking point, you told me earlier that you'd like to start producing it!
Fuck those people. If you'd like it, go get that fucking tattoo!
I love that guy!
Anyone into electronic music production here? I could use some tips 😅14 -
I shall refer to the client as cunt for the purposes of this rant. All design work signed off. Near completion of project, cunt sends an email moving stuff around and changing the design. I send the cunt an email telling him that I will review his requests and send a quote through detailing cost implications and extra time added to his deadline to complete. Cunt says he wasn't aware there would be extra costs. I refer the cunt back to the quote and contract which clearly distinguishes the design phase and build phase explaining change control. Not heard back from said cunt.7
-
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.
Fuck customers.6 -
It's enough. I have to quit my job.
December last year I've started working for a company doing finance. Since it was a serious-sounding field, I tought I'd be better off than with my previous employer. Which was kinda the family-agency where you can do pretty much anything you want without any real concequences, nor structures. I liked it, but the professionalism was missing.
Turns out, they do operate more professionally, but the intern mood and commitment is awful. They all pretty much bash on eachother. And the root cause of this and why it will stay like this is simply the Project Lead.
The plan was that I was positioned as glue between Design/UX and Backend to then make the best Frontend for the situation. Since that is somewhat new and has the most potential to get better. Beside, this is what the customer sees everyday.
After just two months, an retrospective and a hell lot of communication with co-workers, I've decided that there is no other way other than to leave.
I had a weekly productivity of 60h+ (work and private, sometimes up to 80h). I had no problems with that, I was happy to work, but since working in this company, my weekly productivity dropped to 25~30h. Not only can I not work for a whole proper work-week, this time still includes private projects. So in hindsight, I efficiently work less than 20h for my actual job.
The Product lead just wants feature on top of feature, our customers don't want to pay concepts, but also won't give us exact specifications on what they want.
Refactoring is forbidden since we get to many issues/bugs on a daily basis so we won't get time.
An re-design is forbidden because that would mean that all Screens have to be re-designed.
The product should be responsive, but none of the components feel finished on Desktop - don't talk about mobile, it doesn't exist.
The Designer next to me has to make 200+ Screens for Desktop and Mobile JUST so we can change the primary colors for an potential new customer, nothing more. Remember that we don't have responsiveness? Guess what, that should be purposely included on the Designs (and it looks awful).
I may hate PHP, but I can still work with it. But not here, this is worse then any ecommerce. I have to fix legacy backend code that has no test coverage. But I haven't touched php for 4 years, letalone wrote sql (I hate it). There should be no reason whatsoever to let me do this kind of work, as FRONTEND ARCHITECT.
After an (short) analysis of the Frontend, I conclude that it is required to be rewritten to 90%. There have been no performance checks for the Client/UI, therefor not only the components behave badly, but the whole system is slow as FUCK! Back in my days I wrote jQuery, but even that shit was faster than the architecuture of this React Multi-instance app. Nothing is shared, most of the AppState correlate to other instances.
The Backend. Oh boy. Not only do we use an shitty outated open-source project with tons of XSS possibillities as base, no we clone that shit and COPY OUR SOURCES ON TOP. But since these people also don't want to write SQL, they tought using Symfony as base on top of the base would be an good idea.
Generally speaking (and done right), this is true. but not then there will be no time and not properly checked. As I said I'm working on Legacy code. And the more I look into it, the more Bugs I find. Nothing too bad, but it's still a bad sign why the webservices are buggy in general. And therefor, the buggyness has to travel into the frontend.
And now the last goodies:
- Composer itself is commited to the repo (the fucking .phar!)
- Deployments never work and every release is done manually
- We commit an "_TRASH" folder
- There is an secret ongoing refactoring in the root of the Project called "_REFACTORING" (right, no branches)
- I cannot test locally, nor have just the Frontend locally connected to the Staging webservices
- I am required to upload my sources I write to an in-house server that get's shared with the other coworkers
- This is the only Linux server here and all of the permissions are fucked up
- We don't have versions, nor builds, we use the current Date as build number, but nothing simple to read, nonono. It's has to be an german Date, with only numbers and has always to end with "00"
- They take security "super serious" but disable the abillity to unlock your device with your fingerprint sensor ON PURPOSE
My brain hurts, maybe I'll post more on this shit fucking cuntfuck company. Sorry to be rude, but this triggers me sooo much!2 -
Been reviewing ALOT of client code and supplier’s lately. I just want to sit in the corner and cry.
Somewhere along the line the education system has failed a generation of software engineers.
I am an embedded c programmer, so I’m pretty low level but I have worked up and down and across the abstractions in the industry. The high level guys I think don’t make these same mistakes due to the stuff they learn in CS courses regarding OOD.. in reference how to properly architect software in a modular way.
I think it may be that too often the embedded software is written by EEs and not CEs, and due to their curriculum they lack good software architecture design.
Too often I will see huge functions with large blocks of copy pasted code with only difference being a variable name. All stuff that can be turned into tables and iterated thru so the function can be less than 20 lines long in the end which is like a 200% improvement when the function started out as 2000 lines because they decided to hard code everything and not let the code and processor do what it’s good at.
Arguments of performance are moot at this point, I’m well aware of constraints and this is not one of them that is affected.
The problem I have is the trying to take their code in and understand what’s its trying todo, and todo that you must scan up and down HUGE sections of the code, even 10k+ of line in one file because their design was not to even use multiple files!
Does their code function yes .. does it work? Yes.. the problem is readability, maintainability. Completely non existent.
I see it soo often I almost begin to second guess my self and think .. am I the crazy one here? No. And it’s not their fault, it’s the education system. They weren’t taught it so they think this is just what programmers do.. hugely mundane copy paste of words and change a little things here and there and done. NO actual software engineers architecture systems and write code in a way so they do it in the most laziest, way possible. Not how these folks do it.. it’s like all they know are if statements and switch statements and everything else is unneeded.. fuck structures and shit just hard code it all... explicitly write everything let’s not be smart about anything.
I know I’ve said it before but with covid and winning so much more buisness did to competition going under I never got around to doing my YouTube channel and web series of how I believe software should be taught across the board.. it’s more than just syntax it’s a way of thinking.. a specific way of architecting any software embedded or high level.
Anyway rant off had to get that off my chest, literally want to sit in the corner and cry this weekend at the horrible code I’m reviewing and it just constantly keeps happening. Over and over and over. The more people I bring on or acquire projects it’s like fuck me wtf is this shit!!! Take some pride in the code you write!16 -
I just told my biggest client that they have to start changing things or they will need to find a different company to work with.
I'm hired to program what they want. They are suppossed to do all the concepting, functional designs, QA, testing.
So they tell me to program feature x, not realising that this interact with feature y. And then complain about the change in feature y. Make me do a lot of extra work and then complain that my estimates are way off.
So I told them they also need to hire my company for the software design and QA and prefferable testing because I'm done getting blamed.9 -
Client: I need a Website, You have "complete freedom" to choose an apt design, it should be professional and creative.
Designer: Ok.
~ Makes a top-notch Demo inspired from Apple Website ~
Client: It is not professional at all, you should use yellow color for header background. Matching the yellow in the logo, text should be in red. Use blue borders. "Make it more professional!"
Designer: Ok.
~ Client is King. Does exactly as client said ~
Client: Change the font of the website, use something like this (shows Monotype Corsiva). Reduce the image sizes to stamp size. Give a zoom effect to the headings. Increase the text font size to 16px.
Designer: Ok.
~ Client is King. Does exactly as client said ~
Client: Now it looks more professional!! You should hire me to your design department! And now, as I did the major design part you are only eligible for half the payment......
Designer: <<< what will you say? comment it below.. >>>10 -
Salesperson makes commission on sales, CTO gets bonus for going to out of office meetings, designer gets bonus for every design finished. What does the web developer get?
Answer: "we can't afford to give out bonuses just for doing your job."
There are 10 websites to build in the next 6 months, 3 brand new offices in different states that need it equipment ordered and installed by me, and the other 160 clients who all think their edits are most important.
And to top it all off, every time I give an estimate for the work, boss says "just give it to them." Gee, maybe you could afford to pay me a living wage or incentivize me to keep working 6+ hours a night at home if you stopped giving away everything I build for free.
You lower the value of my work and every other web developer out there when you tell clients that the website I built them isn't worth paying for. If every one of the free sites on my list was just charged the minimum $10k, I'm looking at $200k on this board that could have been used to hire me some help or increase my pay to make me feel appreciated.
I love my job and the people I work with, but when you aren't making enough to pay the bills and you work 70+ hours a week something has to change.8 -
A few months back, me and my friends built our own Web Dev firm. I'm the one who talk to clients, customers, etc. and these have been the most ridiculous messages I received from them:
1. I don't like it, but I don't know why?
2. I have an idea! Can we change the design?
3. We want something with more of a `wow` factor.
4. Can't you just copy their logo?
5. But we are also a startup. You must understand that we can't pay the full price.
6. So do you have the file open and ready to edit/
7. Can't you just copy and paste it in?
8. We don't have much of a budget but there are plenty of projects coming your way.
These are just a few of the huckleberryfuck our clients sent. I'm not sure if I can handle them anymore.5 -
On my former job we once bought a competing company that was failing.
Not for the code but for their customers.
But to make the transition easy we needed to understand their code and database to make a migration script.
And that was a real deep dive.
Their system was built on top of a home grown platform intended to let customers design their own business flows which meant it contained solutions for forms and workflow path design. But that never hit of so instead they used their own platform to design a new system for a more specific purpose.
This required some extra functionality and had it been for their customers to use that functionality would have been added to the platform.
But since they had given up on that they took an easy route and started adding direct references between the code and the configuration.
That is, in the configuration they added explicit class names and method names to be used as data store or for actions.
This was of cause never documented in any way.
And it also was a big contributing cause to their downfall as they hit a complexity they could not handle.
Even the slightest change required synchronizing between the config in the db and the compiled code, which meant you could not see mistakes in compilation but only by trying out every form and action that touched what you changed.
And without documentation or search tools that also meant that no one new could work the code, you had to know what used what to make any changes.
Luckily for us we mostly only needed to understand the storage in the database but even that took about a month to map out WITH the help of their developer ;)
It was not only the “inner platform” it was abusing and breaking the inner platform in more was I can count.
If you are going down the inner platform, at least make sure you go all the way and build it as if it was for the customers, then you at least keep it consistent and keep a clear border between platform and how it is used.12 -
I don't know what Google's design team has taken for drugs lately, but I want some!!
First, replacement of the blobs into this trash that they call emoji nowadays. 10-20 years ago we called it the crap stickers from MSN.
Next, Android Pie would look like iOS, but in the most grotesque way possible.
And now it's creeping into the apps.. Google Play, YouTube, Messaging, …
It all looks so.. white, and round, and childish. What happened to sharp corners, using all the screen real estate, and.. those colors?! God I can't stand how white the Google apps are starting to look. But I know the solution. I'll accuse Google of being RACIST!! Because black people would be so offended by the lack of dark themes. GOOGLE, YOU PATRIARCHIC, NON-INCLUSIVE, RACISTIC A-HOLES!!! CHANGE YOUR COLORS NOW!!!
I can see how that could actually work nowadays 🙃9 -
I think we're going two sides:
For one, more and more technology is being developed/engineered which is even more and more and more intrusive as for personal privacy, I'm genuinely worried how this'll go as privacy isn't just a about not exposing certain things like passwords/bank account details and so on, it's also about being an individual who has their own thoughts, opinions and so on. If we keep taking that away more and more often, society will change and go towards the Orwell scenario (we're on our way there right now). We can change this as software/design/server engineers but that's up to us and I sadly don't see that happening quickly, also due to the 'nothing to hide' bullshit.
Second one is that were going more and more towards open source.
This is a good thing as this:
- gives freedom to devs around the world to improve software and/or modify it to suit their needs.
- gives people the opportunity to look through the source code of softwares in order to verify it as for backdoors and find security vulnerabilities which otherwise can remain hidden for the general public while spying agencies have way more resources to go vulnerability hunting.
For the people who think this isn't a good idea (even more open source), without it we'd be completely fucked as for moving forward/security/privacy. (I can give examples if wanted).3 -
Google Chrome has adopted material design. Expecting a change request from the client to change it back to how it looked before.1
-
Long rant...
*Designer Posted image of newly designed layout for our app on trello.
Dev 1 (me, being the junior, on ios) : so... What's the size for x, Y, z, a, B, C?
She: it's 9 for the small text, 10 for sub title, 12 for main title.
*shows her the design on app
Dev 1: seems too small
She: just make it to look not small.
Dafug?
*finishes the app layout for that screen.
*working on next screen
Dev 1: your new design is for the screen of 1920x1080. But our supported screen size starts from 320 width. So there'll be text overlapping each other and ui might screw up.
She: uh.. Just... Put those that will overlap to the next line.
*shrugs
Dev 1: ok
=======
2 days later
Dev 2 (senior, working on Android)
Dev 2: so... What's the colour for x, Y, z
*Dev 1 laughs on the inside because of the struggles we have with her.
Dev 1 to Dev 2: is it common for her not to follow the design guidelines?
Dev 2: yeah man.. We just have to adapt her design into our app guidelines.
*sigh
Dev 2: there's a new icon here on this screen, so you wanna change the icon? Can I have the icon file?
She: oh.. No.. Use back the old one, because I just copy and paste.
Dev 1: so... This progress bar of yours, doesn't show its background colour, because you filled it already. So what's the background colour if the bar isn't filled?
She : hmm.... Oh.. Well.. Maybe try x.. ? *doesn't look nice* how about Y? *doesn't look nice* how about...
Me : why not you try in your computer first instead of me changing it here by code, it's much faster this way.
*seriously, wth?
Dev 1 and 2: there's additional text in your new design, what is it for?
She : oh.. No no. I copied extra due to copy and paste. Just ignore it.
Dev 1 and 2: what's the spacing gap between x and Y? And how about the size of the box?
She : oh.. I just estimate it, and for the box, not sure either, you can follow old design, because I'm just putting a box there for illustration purpose.
Mother fickle, what fuck man.
Dev 1 and 2: *flips table.
*we didn't, but.. It's freaking annoying.7 -
When told to completely change clients website design (back then, I kind of worked with them), I simply changed colors to a bit darker ones, flipped floats on sidebars (yap, two of them), changed font and increased bold size.
That was all I did and proudly took the full payment.
Oh, and it was done in 30 minutes, last day before we had a skype call for the demo :)2 -
So, I was gonna rant about how it can be difficult to design event-based Microservices.
I was gonna say some shit about gateways APIs and some other stuff about data aggregation and keeping things idempotent.
I was going to do all this but then as I was stretching out the old ranting fingers I decided to draw a diagram to maybe go along with the rant.
Now I’m not here to really rant about all that Jazz...
I’m here to give you all a first class opportunity to tear apart my architecture!
A few things to note:
Using a gateway API (Kong) to separate the mobile from the desktop.
This traffic is directed through to an in intermediate API. This way the same microservices can provide different data, and even functionality for each device.
Most Microservices currently built in golang.
All services are event based, and all data is built on-the-fly by events generated and handled by each Microservices.
RabbitMQ used as a message broker.
And finally, it is hosted in Google Cloud Platform.
The currently hosted form is built with Microservices but this will be the update version of things.
So, feel free to rip it apart or add anything you think should change.
Also, feel free to tell me to fuck right off if that’s your cup of tea as well.
Peace ✌🏼19 -
Yesterday I completed a transactions module that used an external payment processor, similar to PayPal. It was hard, but after few hours of trying out different options I finally managed to get it to work.
I decided to create a simple prototype UI without any styling just to show my progress to the manager and let him know that it's working.
His response? "yeah, that seems to work, but that UI is terrible and not appealing at all. Change that immediately and try to add more thought into your design"
I guess I won't be making prototypes any time soon6 -
Last week, the team lead told me that he can't merge because my code has code smells and going forward, can't have that. We use Sonar and well the way to "fix it" according to him is to mark the line using //NOSONAR.
Most of the issues are minor like Unused imports and for me incomplete TODOs.
And before the "verbal" rule was only need to fix Major + issues. And well the reason I use TODOs is to mark code that probably needs changing in the future. I know there's going to be some feature that these lines have to be changed. But the requirements are fully defined yet from business.
But I sort of blew up on him. YOU WANT TO ENFORCE ZERO CODE SMELLS NOW?!?!?! AND THESE MINOR ISSUES? MARK THEM WITH NOSONAR?
HERE'S WHAT I THINK FOR THE LAST X YEARS... THE CODE DESIGN IS SHIT, MINOR CODE SMELLS AND MANUALLY MARKING THE ONES U NEED TO KEEP... ARE THE LEAST OF OUR PROBLEMS...
THE OTHER PROBLEMS I'VE MENTIONED BEFORE EVER. MOS YEAR BUT YOU DIMWITS NEVER LISTEN.
YOU THINK MY TODOS ARE BAD... 90% OF THE CODE AND FEATURES (THE ONES NOT DONE BY ME) LOOK AND SMELL LIKE MONKEY SHIT. UNDOCUMENTED, MESSY, FULL OF BUGS.
AND GUESS WHAT? NEW FEATURE, SOME DEV FORGETS TO CHANGE SOME COMPONENT THAT DEPENDS ON IT. WOULDN'T IT BE GREATE IF THERE WERE BOOKMARKS... O WAIT...
i just was catching up on comics again and saw this one... with triggered my memory and this rant... My first thought was to forward it to him...11 -
So here is my week 72 as a reviewer. But first, let me ask y'all. Am I weird to think that you should finish coding the thing and testing the thing before kicking it out to review? Cuz that's how I do it. And that is the process at my work place.
So anyway, I was doing this review. And it was very wrong. Like really, really wrong. We give a thorough intro to our product (perhaps too thorough) so this guy should have known every test case he had to cover. Or at least, if he was unsure, asked. It was all documented.
Anyway, he kicks out this peer review. First thing I notice, it is not following the standard. Fair enough, we didn't give him the coding standard. BUT HE DIDN'T EVEN MAINTAIN THE FORMAT OF THE ORIGINAL FILE. HE JUST DID HIS OWN THING!!! So I email him the coding standard and make a comment in the review. He denies the finding. No reason. Just turns it down. Strike 1.
Then, I'm going through and he didn't even cover all of the core cases. I found several core cases that he missed. And every edge case. Make a not of it. He fixes only the couple of examples I gave him. Strike 2.
Guy decided to redesign a major chunk of our interfaces. Our interfaces are not just used by us (hence interfaces). We designed them the way they were for a reason. It was not a fun design process. Myself, the architect, one of our customers, and the guy that did the implementation all told him to roll back his change. Especially since it wasn't in the scope of what he was doing. He wouldn't. Strike 3.
I go to the lead and bring him in. He has a talk with him. All of the sudden he is putting out multiple builds per finding. Like most times I will put out like 2 to 4 for the whole peer review. No he kicks out minimum one per finding and chokes the review queue. Strike 4.
Strike 5: he tells me, a former DBA, that I didn't know what I was talking about when I told him to move something into a new table, even after I told him that "while in database terms it doesn't make sense, this is for product robustness".
Strike 6: he was just a condescending asshole. Bragging about how he did this job and that job over his career. His longest position held was about 18 months. Bragged about working at my company and being some hotshot at the company: only worked here for 8 months and that was 5 years ago.
You know. I have never really wanted to fight someone after about undergrad. But he came close.7 -
Hey I got reminded of a funny story.
A friend of mine and me were in internships in the same company. The company was specialized in territory resources management (managing water for agriculture, money to build industrial zones...). He got the interesting internship (water predictory modeling) and I got... The repairs of a reference sheet manager that never happened to work. It was in C# and ASP.NET and I was in second year of CS. I expected the code to be nice and clear since it was made by a just graduated engineer with +5years of studies.
I was very wrong.
This guy may never have touched a web server in his life, used static variables to keep sessions instead of... well... sessions, did code everything in the pages event handlers (even LinQ stuff et al) and I was told to make it maintainable, efficient and functional in 2 months. There were files with +32k LoC.
After 1week of immense despair, I decided I will refactor all the code. Make nice classes, mapping layer, something close to a MVC... So I lost time and got scoled for not being able to make all the modifications as fast as in a cleanly designed code...
After 4 weeks, everything was refactored and I got to wait for the design sheets to change some crystal report views.
At this moment I began to understand were was the problem in this company.
My friend next door got asked to stop his modeling stuff for an emergency project. He had to make an XML converter for our clients to be able to send decentralized electrics bills, and if it was not completed within a week, they would no longer be able to pay until it is done.
This XML converter was a project scheduled 5 years before that. Nobody wanted to do it.
At the same time, I was waiting for the Com Department to give me the design views.
I never saw the design views. Spent one month implementing a golden ratio calculator with arbitrary precision because they ain't give me anything to do until the design were implemented.
Ended with a poor grade because "the work wasn't finished".2 -
I like how (almost) everybody is positive about the layout/design change here, whenever any site changes even the slightest all my non-tech-friends lose their shit because normal people can't handle change.4
-
This really pisses me off. As a front end developer (ember.js, HTML and Css) colleagues and boss and pm are always making jokes how I just need to change a button or a color and whenever there is a bug in the UI there's always big fun and jokes around it. But when there's a bug in the API, they never joke around, it's just : oh yeah we're getting the wrong data or an exception. But they always like to undervalue UI work even when it involves complex layouts, multi browser compatibility, responsive design, mobile browsers etc.. While they just code their API to connect to a database and everything works they don't really need to worry about what the user is using as a browser. They just get requests and send replies. I don't really think people value the work in front end as much as backend and that pisses me off as I believe there's a lot more going on in the front end.. I know they mean well and they are all cool people but sometimes it pisses me off as they don't value my work..13
-
So, there was some project going around universities for online lab and connecting students to learn together. My school saw it as opportunity and I was appointed to make a simple web app doing just that.
T - teacher
First there was the database.
T1: "I think that you can design the tables better"
Me: "This is the most logical way, but sure, I can modify it. Although, T2 told me to do it this way."
T1: "Just do what I said"
And I did.
T2: "Why did you change the design, I gave you the schema, didn't I?"
Oh I was so fucking pissed. I'm skipping classes so I can work on this fucking piece of shit and this is what I get. Two self fucking centered idiots.
I resolved situation somehow, then came the frontend. I was told that the T3 will do it I just have to connect it to my backend, great.
So this so called "Teacher of Web design and development" downloaded fucking bloated bootstrap template with scripts longer than my future. It took 2 minutes to just load the html page from local drive.
I told T2 that I will make design it from scratch and I will try to make it look the same. I finished it somehow. Loaded in seconds, worked superb. First thing T1 told me: "Just roll back the design"
He didn't even listen to what I had to say.
Ohh boii, I fucking lost two months on your piece of shit garbage app, and what I have from it? Fucking bag of dicks. The thing is that I have another year with those pricks.
If this is what the industry is like, you guys deserve a medal.6 -
Fuckbug client has no brain but worse is fuckbug has not one bit of understanding.
I am a fucking developer not a fucking DESIGNER.
You are supposed to give me your fucking information. Information as in text and photos and documents that I can use with minimal modification for your FUCKING website.
It was fucking stupid of me to help you out with non-dev work in the first place. My fucking stupidest mistake of 2017.
Just for the fucking slider, this whole goddamn project is dragging for the whole 2017.
I even helped you out with taking the fucking product photo at your office with my camera so we can have decent images to use.
I stupidly helped you out with doing photoshop of those images with your product labels and stuffs.
But in the end, you fucking dare give me 1 properly designed image to use in slider. Then ask me to change the rest of sliders with similar design like that one. If you have that image why the fuck cannot you do the fucking rest by yourself and come and fucking ask me.
I fucking hate you.5 -
NO FUCKING GOOD NIGHT FOR FLOYD.
THIS MULTI FACTOR AUTHENTICATION IS A FUCKING NIGHTMARE.
So my organisation uses some MFA app as an SSO to access any and everything. Fantastic. Absolutely wonderful. No VPN shit and one password to rule them all.
But, for some reason I accidentally deleted the app from my phone and as any normal human being would do, I also reinstalled the app.
Well, post reinstalling, the app does not detect the linked Org account.
I was cool, when I'll login, the system will throw a prompt to map the phone.
So I login to org URL from my machine and lo and behold, the URL says that MFA is already linked to the phone and I have to enter the Citrix type code to login.
But phone does not show the code because account is no longer linked and web does not have option to change/re-register the phone.
What the actual unholy fuck?????? Bloody retards. How am I suppose to get in now?
So after a Googling for a bit, a thread mentioned that this is most common issue faced by users with this MFA app. The only way to get this resolved is to contact your IT team.
Cool. Let's do that.
I opened the link to my IT portal and it asks me to login via SSO which is what I need help with in first place.
I can't login to Slack because fuckers ask SSO every time the app is exited. So no contact there.
Thankfully bastards allow Outlook so was able to drop a note to one of my team member, whom I connected recently and is very nice, asking her to help me sort this IT team.
If this is the most common use case then why the fuck not add a feature to help people overcome this shit?
And my IT team is absolute nuts. No other way allowed to reset the linking or connect them or any help links provided on login page.
Whoever was behind this design should be dipped in donkey shit and deep fried in pig urine.6 -
Ok so we went to a graphic class seeking graphic designers for our game.
We pitchted our 3d fast paced speed running game. With highscores and shit. (We only have a week to create this game)
This fucking moron in the back of the class starts to rise his hand asking:
Is this a MMORPG?
Me: No this is no fucking MMORPG?!
Him: But i only want to design to a MMORPG
Me: Well we are not doing a fucking MMORPG..
Him: Can you change it to an MMORPG please?
Me: WTF NOOO!
Him: Okey you sure?
Me: YES... smh
Like why the fuck shall we change an idea to something litrally impossible to make in a week and that will fucking crash and burn like every Michael Bay movie ever...4 -
I'M BACK TO MY WEBDEV ADVENTURES GUYS! IT TOOK ME LIKE 4 MONTHS TO STOP BEING SO FUCKING DEPRESSED SO I CAN ACTUALLY STAND TO WORK ON IT AGAIN
I learned that the linear gradient looks cool as FUCK. Honestly not too fond of the colors I have right now, but I just wanted to have something there cause I can change it later. The page has evolved a bunch from my original concept.
My original concept was the bar in the middle just being a URL bar and having links on the sides. If I had kept that, it would have taken me a few hours to get done. But as time went on when I was working on it, my idea kept changing. Added the weather (had a forecast for a while but the code was gross and I never looked at the next days anyways, so I got rid of it and kept the current data). I wanted to attempt an RSS reader, but yesterday I was about to start writing the JavaScript to parse the feeds, then decided "nah", ended up making the space into a todo list.
The URL bar changed into a full command bar (writing the functions for the commands now, also used to config smaller things, such as the user@hostname part, maybe colors, weather data for city and API key, etc)....also it can open URLs and subreddits (that part works flawlessly). The bar uses a regex to detect if it's a legit URL (even added shit so I don't need http:// or https://), and if it's not, just search using duckduckgo (maybe I'll add a config option there too for search engines).
At this very moment it doesn't even take a second to fully load. It fetches weather data from openweathermap, parses it, and displays it, then displays the "user" name grabbing a localstorage value.
I'm considering adding a sidebar with links (configurable obviously, I want everything to be dynamic, so someone else could use my page if they wanted), but I'm not too sure about it.
It's not on git yet because I was waiting until I get some shit finished today before I commit. From the picture, I want to know if anyone has any suggestions for it. Also note that I am NOT a designer. I can't design for shit.12 -
Worst collaboration experience story?
I was not directly involved, it was a Delphi -> C# conversion of our customer returns application.
The dev manager was out to prove waterfall was the only development methodology that could make convert the monolith app to a lean, multi-tier, enterprise-worthy application.
Starting out with a team of 7 (3 devs, 2 dbas, team mgr, and the dev department mgr), they spent around 3 months designing, meetings, and more meetings. Armed with 50+ page specification Word document (not counting the countless Visio workflow diagrams and Microsoft Project timeline/ghantt charts), the team was ready to start coding.
The database design, workflow, and UI design (using Visio), was well done/thought out, but problems started on day one.
- Team mgr and Dev mgr split up the 3 devs, 1 dev wrote the database access library tier, 1 wrote the service tier, the other dev wrote the UI (I'll add this was the dev's first experience with WPF).
- Per the specification, all the layers wouldn't be integrated until all of them met the standards (unit tested, free from errors from VS's code analyzer, etc)
- By the time the devs where ready to code, the DBAs were already tasked with other projects, so the Returns app was prioritized to "when we get around to it"
Fast forward 6 months later, all the devs were 'done' coding, having very little/no communication with one another, then the integration. The service and database layers assumed different design patterns and different database relationships and the UI layer required functionality neither layers anticipated (ex. multi-users and the service maintaining some sort of state between them).
Those issues took about a month to work out, then the app began beta testing with real end users. App didn't make it 10 minutes before users gave up. Numerous UI logic errors, runtime errors, and overall app stability. Because the UI was so bad, the dev mgr brought in one of the web developers (she was pretty good at UI design). You might guess how useful someone is being dropped in on complex project , months after-the-fact and being told "Fix it!".
Couple of months of UI re-design and many other changes, the app was ready for beta testing.
In the mean time, the company hired a new customer service manager. When he saw the application, he rejected the app because he re-designed the entire returns process to be more efficient. The application UI was written to the exact step-by-step old returns process with little/no deviation.
With a tremendous amount of push-back (TL;DR), the dev mgr promised to change the app, but only after it was deployed into production (using "we can fix it later" excuse).
Still plagued with numerous bugs, the app was finally deployed. In attempts to save face, there was a company-wide party to celebrate the 'death' of the "old Delphi returns app" and the birth of the new. Cake, drinks, certificates of achievements for the devs, etc.
By the end of the project, the devs hated each other. Finger pointing, petty squabbles, out-right "FU!"s across the cube walls, etc. All the team members were re-assigned to other teams to separate them, leaving a single new hire to fix all the issues.5 -
So I Bought this bio metric pad lock for my daughter. She excitedly tried to set it up without following the directions( they actually have good directions on line) first thing you do is set the "master print" she buggered that up setting her print. So when I got home I was thinking, no problem I'll just do a reset and then we cant start again.
NOPE !!! you only have one chance to set the master print! after that if you want to reset the thing you need to use the master print along with a physical key that comes with it.
What sort if Moron designs hardware / software that is unable to be reset. Imagine how much fun it would be if once you set your router admin password it was permanent unless you can long back in to change it. Yea nobody has ever forgotten a password.
Well they are about to learn a valuable financial lesson about how user friendly design will influence your bottom line. people (me) will just return the lock to the store where they bought it, and it will have to be shipped back to the factory and will be very expensive for them paying for all of the shipping to and from and resetting and repackaging of the locks and finally shipping again to another store. Meanwhile I'll keep getting new locks until at no cost until she gets it right.
poor design34 -
Me and my manager throughout 2020
January:
Me: So umm, we can release the new app version
Manager: No we promised client X app first go build that
Me: umm, ok.
February:
Me: so the app is done, but client hasn't setup area L so there is no data there
Manager: ok, I'll have them setup area L soon ™️
March:
Manager: area L is too much work to setup, use workaround L thats way better
Me: ok ...
April:
Manager: client is nitpicking on design and layout please make this mess even greater
Me: ok, anything else?
Manager: yeah also start on app for client Z!
Me: and our app update?
Manager: later son! Risk tooo muchos!
May:
Me: the mess for client X is done, and first version for client Z is also ready for test
Manager: ok good work, here is a new set of things to mess up
Me: but... Seriously, wtf?!
Manager: clients want quality
Me: ah ok, not nitpicking, cool
June:
Manager: client X went MIA, but client Z will send you a weekly list of things they don't understand and want to change
Me: ah great, truly worth postponing my February holiday to release nothing
July:
Manager: so, how we doing on all them changes
Me: well, I am a loyal custodian with alot of pleasure in my work!
Manager: ah ok good!
Me: any news from client X??
Manager: who
Me: mkay ... n.v.m
August:
Me: can we release yet?
Manager: change, we can!!!
Me: are you Obama?
Manager: ambitions
Me: fuck you pay me
September:
Me: I am confident we can now release all 3 apps as promised mid september
Manager: great!! Good work
Also manager: you know that immensely complex area within the app? That needs a complete rewrite because we have bad ux there!!!
Me: ok... To which requirements?
Manager: good ux, we must have standards
Me: but the layout of page R id generic as page F so then we need to align there as well
Manager: go! Do!
Me: ok I'll come up with my own requirements then
Manager: we also need documentation
Me: really!!!! How clever of you to fire colleagues T & P and we now have zero workforce for that
Manager: things will get better someday
Me: ah, great! Put it on my calendar
October:
Me: I need a sabbatical biatch
Manager: a what?4 -
So... We have a client that shan't be named cause I don't even know their name. A non-profit charity-type classical music organization. Anyway, they came yesterday to discuss the design of their site. Now, before we get to the happenings, know that the construction of said site is ongoing for over 3 years now, with stuff being delayed due to never providing needed content or due to changes in their organization. Due them considering that the site was never finished they believe that all of the changes they request should not be paid. The site is live and in use during the whole time, perfectly functional. They're just never happy with the design and constantly change it little by little, and during the course of those years, it's gone through multiple complete overhauls when you put those little changes together.
TL;DR: Client believes that they should not have to pay for changes over the years due to the belief that it was never finished in the first place.4 -
When project is finished, everything is according specs, and on final review the client says: "everything looks nice! But I would like to change just a few small details. I would like a different design and functionality".
Seriously?!1 -
The Cloud Of Bullshit
Every day I wake, and I think of my one true mission in life. To mock and ridicule paint huffing idiots. Something recently that drew my ire, like the hemorrhoids on my ass is this idea of 'the cloud', THE CLOUD and the buzzword lingo-bingo bullshit that providers use to hype and sell it.
For example, airtable is an amazing service. I love that I can insert just about anything into a row, create any of my own row datatypes, that it's flexible as all hell.
I love it.
And I hate that I'm essentially locked in to the cloud.
I fucking hate how if my internet goes down (thanks you pie eating inbred dipshits at comcast) I have no access.
If the company is bought, they'll shut down like all the rest , to be "relaunched at a later time" (or never).
I hate that if the company doesn't make enough money, or it's investors change their mind, woopsie, service is shut down.
I hate that the cloud is synonymous with massive data leaks and IOT-levels of stupidity in security practices.
Every time someone says "but its in the cloud! Isn't it amazing!"
I always think 1. YEAH IF IM AN INVESTOR I GET TO MILK LOW BROW FINGER PAINTING FUCKWITS EVERY MONTH like Adobe sucking the blood from infants who are still in college.
2. Why? So I can get locked into their platform, have them segment off previously free features (fucking youtube and the 'subscribe so you can continue playing audio with your screen off' bullshit), and then have fees increase month over month?
3. Why, so every four years during the presidential selection, if I piss off some fuckstick braindead lemming literally sucking his girlfriends BFs cock, they can potentially shut me out from my own data completely?
The Cloud is built on shit-colored hype sold to knob gobbling idiots, controlling idiots, profiting at the expense of idiots, and later fucking them for buyout payola. The Cloud is a Cloud of Bullshit shat out by huckster messiahs straight into the lapping mouths of fanatics worshiping slavishly like toilet drinking scum at the porcelain alter of a neon god, invisible, untouchable, and like a spigot, easily shut off without anyone noticing. And when it happens, I'll be there, shouting "WHERE IS YOUR CLOUD NOW?"
Native any day. 100% native or I don't fucking want it
None of this node.js-gone-native bullshit either with notetaking apps taking up hundreds of megabytes of ram, where everything is bootstrap or react, in a browser, in a window container, because people are so fucking incompetent we have to hold their hand WHILE they give themselves a reach around.
Native or nothing.
For my favorite notetaking app, I use Microsoft OneNote. "OH god, a heathen, quick, stick his body up on a stake!"
But hear me out. I'll be the first one in a crowd to kick bill gates in the nuts (not because I particularly hate microsoft, just because I think hes kind of a cunt).
So when I say onenote is good, I really fucking mean it. Sure they did some cunty things like 'dumbed down' the interface, and cut out some options. But you know what they can't do?
Shut down the damn service (short of a system update completely removing the whole app, which, frankly, wouldn't surprise me).
It's so god damn good it waxed my balls, cured my cancer, fixed my relationship with my father, found my long lost brother, and replaced ALL my irl notebooks.
It's so good that if it was cocaine I'd be hospitalized for overusing it.
So god damn good it didn't just replace all my notebooks, it even replaced and sped up my mockup process three to five times. Want layers?
Built in. Just drag an image on to the notebook to import instantly.
Want to rearrange layers? Right click select "send forward/back/bring to front/send to back".
Everything snaps to grid by default and is easily resizeable.
I had all the elements for a UI sliced and diced. Wanted to try a bunch of layouts. Was gonna take me two damn days.
Did it in three hours with the notebook features of onenote.
After I started using onenote, me and my bodypillow finally conceived even.
Sweet marries mammaries I just fucking jizzed. Thank you onenote.
P.s. It really did speed up my UI design, allows annotated images, highlighted text. Shit, it can even do kanban.
And all I can think is "good job microsoft making an awesome product for free, being dumb as fuck for not charging for it, and then not marketing it at ALL."
It was sheer fucking luck that I discovered it while was I was looking for vendor STD bloatware to blast off my new install.
OneNote: Worth a try even for the kick-gates-in-the-nuts fan club.
The cloud can suck my balls.18 -
Gave the marketing team access to JIRA and gave them permissions to create tickets. Don’t know if that was a management’s design or what. Tickets were poorly written and I had to make frequent follow ups to figure out what the heck was actually being requested. I did get accused of “questioning the request” at least once. It was a big WTF because I think marketing thought they managed dev team but they didn’t.
Marketing also didn’t give a damn about agile processes despite being told some simple rules, such as don’t change your ticket details after a dev has already begun work on it. I would pick up a ticket thinking it’s just html and css updates, then it would change to include an api update. No no no. You’ve just turned a 1 day ticket into a 1 week ticket. I don’t have time for these shenanigans.
I would also submit tickets for code review and marketing would say it’s not ready for review. Then why was that ticket in the to do column for the past two days?! They couldn’t make a decision and would submit revisions every single day.
And they would think devs could do everything. No, never assume the front end dev can pick up back end tasks.
No one on dev team really cared because we were all looking for new jobs anyway. The company was planning to lay us off in a year. Every month a dev gave notice and left.3 -
My first job. Hired as a designer. It was me and a backend dev (PHP). Company wanted us to build their e-commerce website, but the backend dev had no eye for design or front end chops, fell onto me, so I learned it on the spot.
I also did the mistake of trying to prove myself too hard and ended up doing IT, network and user support, user training, phone sales and helping the print team on designs, on top of my already taxing responsibilities, for 18k/year.
In the end, the company moved offices and I was tasked with finding and installing a new server, IP phone system, and organising the desks following a carefully crafted and approved plan. Spent the weekend doing that (had some friends that didn't even work for the company join as they knew of my struggle) only for the bosses to arrive on Monday, decide they didn't like it, and just said "change it", ignoring the plan entirely. I then left without having another job lined up and never looked back.1 -
Worst thing you've seen another dev do? Here is another.
Early into our eCommerce venture, we experienced the normal growing pains.
Part of the learning process was realizing in web development, you should only access data resources on an as-needed basis.
One business object on it's creation would populate db lookups, initialize business rule engines (calling the db), etc.
Initially, this design was fine, no one noticed anything until business started to grow and started to cause problems in other systems (classic scaling problems)
VP wanted a review of the code and recommendations before throwing hardware at the problem (which they already started to do).
Over a month, I started making some aggressive changes by streamlining SQL, moving initialization, and refactoring like a mad man.
Over all page loads were not really affected, but the back-end resources were almost back to pre-eCommerce levels.
The main web developer at the time was not amused and fought my changes as much as she could.
Couple months later the CEO was speaking to everyone about his experience at a trade show when another CEO was complementing him on the changes to our web site.
The site was must faster, pages loaded without any glitches, checkout actually worked the first time, etc.
CEO wanted to thank everyone involved etc..and so on.
About a week later the VP handed out 'Thank You' certificates for the entire web team (only 4 at the time, I was on another team). I was noticeably excluded (not that I cared about a stupid piece of paper, but they also got a pizza lunch...I was much more pissed about that). My boss went to find out what was going on.
MyBoss: "Well, turned out 'Sally' did make all the web site performance improvements."
Me: "Where have you been the past 3 months? 'Sally' is the one who fought all my improvements. All my improvements are still in the production code."
MyBoss: "I'm just the messenger. What would you like me to do? I can buy you a pizza if you want. The team already reviewed the code and they are the ones who gave her the credit."
Me: "That's crap. My comments are all over that code base. I put my initials, date, what I did, why, and what was improved. I put the actual performance improvement numbers in the code!"
MyBoss: "Yea? Weird. That is what 'Tom' said why 'Sally' was put in for a promotion. For her due diligence for documenting the improvements."
Me:"What!? No. Look...lets look at the code"
Open up the file...there it was...*her* initials...the date, what changed, performance improvement numbers, etc.
WTF!
I opened version control and saw that she made one change, the day *after* the CEO thanked everyone and replaced my initials with hers.
She knew the other devs would only look at the current code to see who made the improvements (not bother to look at the code-differences)
MyBoss: "Wow...that's dirty. Best to move on and forget about it. Let them have their little party. Let us grown ups keeping doing the important things."8 -
Me: We shouldn't change anything in the design if its not broken.
Also Me:
I regret being a designer7 -
Need to whip up a quick demo on how a site might work for an organization, so I figured I'd just use the default twentynineteen theme and customizer to get it set up.
Turns out that twentynineteen *does* *not* *have* sidebars.
Instead, all of your content is offset to the left.
And all right-floated boxes go off-margin to the right.
And this is apparently a *feature* because now you can change your sidebar on every damn page instead of setting it in one place like a good site design would dictate! (link: https://github.com/WordPress/...)
I've been trying to bite my tongue and give it a fair shot, but saying that having the only dedicated widget area in the footer and forcing you to rebuild your sidebar on every damn page you want it on is a good thing is beyond the pale stupid. If you need that level of customization on every page, you don't know what you're doing. At the very least include a sidebar and give people the option of overriding it.
And for the love of God, *don't throw the entire goddamn body content off-center claiming you're leaving space for a sidebar you're not going to provide*!2 -
Want to make someone's life a misery? Here's how.
Don't base your tech stack on any prior knowledge or what's relevant to the problem.
Instead design it around all the latest trends and badges you want to put on your resume because they're frequent key words on job postings.
Once your data goes in, you'll never get it out again. At best you'll be teased with little crumbs of data but never the whole.
I know, here's a genius idea, instead of putting data into a normal data base then using a cache, lets put it all into the cache and by the way it's a volatile cache.
Here's an idea. For something as simple as a single log lets make it use a queue that goes into a queue that goes into another queue that goes into another queue all of which are black boxes. No rhyme of reason, queues are all the rage.
Have you tried: Lets use a new fangled tangle, trust me it's safe, INSERT BIG NAME HERE uses it.
Finally it all gets flushed down into this subterranean cunt of a sewerage system and good luck getting it all out again. It's like hell except it's all shitty instead of all fiery.
All I want is to export one table, a simple log table with a few GB to CSV or heck whatever generic format it supports, that's it.
So I run the export table to file command and off it goes only less than a minute later for timeout commands to start piling up until it aborts. WTF. So then I set the most obvious timeout setting in the client, no change, then another timeout setting on the client, no change, then i try to put it in the client configuration file, no change, then I set the timeout on the export query, no change, then finally I bump the timeouts in the server config, no change, then I find someone has downloaded it from both tucows and apt, but they're using the tucows version so its real config is in /dev/database.xml (don't even ask). I increase that from seconds to a minute, it's still timing out after a minute.
In the end I have to make my own and this involves working out how to parse non-standard binary formatted data structures. It's the umpteenth time I have had to do this.
These aren't some no name solutions and it really terrifies me. All this is doing is taking some access logs, store them in one place then index by timestamp. These things are all meant to be blazing fast but grep is often faster. How the hell is such a trivial thing turned into a series of one nightmare after another? Things that should take a few minutes take days of screwing around. I don't have access logs any more because I can't access them anymore.
The terror of this isn't that it's so awful, it's that all the little kiddies doing all this jazz for the first time and using all these shit wipe buzzword driven approaches have no fucking clue it's not meant to be this difficult. I'm replacing entire tens of thousands to million line enterprise systems with a few hundred lines of code that's faster, more reliable and better in virtually every measurable way time and time again.
This is constant. It's not one offender, it's not one project, it's not one company, it's not one developer, it's the industry standard. It's all over open source software and all over dev shops. Everything is exponentially becoming more bloated and difficult than it needs to be. I'm seeing people pull up a hundred cloud instances for things that'll be happy at home with a few minutes to a week's optimisation efforts. Queries that are N*N and only take a few minutes to turn to LOG(N) but instead people renting out a fucking off huge ass SQL cluster instead that not only costs gobs of money but takes a ton of time maintaining and configuring which isn't going to be done right either.
I think most people are bullshitting when they say they have impostor syndrome but when the trend in technology is to make every fucking little trivial thing a thousand times more complex than it has to be I can see how they'd feel that way. There's so bloody much you need to do that you don't need to do these days that you either can't get anything done right or the smallest thing takes an age.
I have no idea why some people put up with some of these appliances. If you bought a dish washer that made washing dishes even harder than it was before you'd return it to the store.
Every time I see the terms enterprise, fast, big data, scalable, cloud or anything of the like I bang my head on the table. One of these days I'm going to lose my fucking tits.10 -
So you warn the agency that the client is going to eat into the Dev time with their constant design change requests. Warned them repeatedly for a good month, I should add, asking them to better manage the client's expectations and push back for a later launch date. Come time for development and they act all surprised that we can't build the entire site, that we outlined in the timeline will take 4 to 5 weeks of Dev time, in less than 2 weeks!! ... It gets worse! They say the client is happy to compromise as long as we launch "something" by this date. We list out what can be done, and the fact that there's no time for the client to do QC and we won't be able to do a full QA phase on the site until after launch and only when we finalise all the features. Agency says client agrees and within 3 days into development, they want to QC the site and add more features....... still wanting all this in 2 weeks. This site has now been in development for 3 months.1
-
relative: can you help me with my website?
me: ok, what do you need?
them: okay, i have this wordpress homepage that someone made for me and actually, when you go to my image gallery, i only want a simple "back" button that leads to the main page. but i cannot add it via wordpress functionality.
me: okay, i'll make you this button in under 10 minutes, given it doesn't require any fancy design. but i have no experience with messing with wordpress so far... let me check what their templates look like
(after 1 hour): wtf is this mess 😭
...since they only had their production website, i didn't dare to change anything and told them they best hire that dev again 🙈9 -
So, 9months ago my scrum master came to me and asked me to spearhead a "little" API... 2months work, no worries... I started the analysis and quickly discovered that that estimation was grossly understimated...
I convinced them that it was not 3 months but 4. I alerted to the design mistakes that were made, I pushed changes and made sure the entire project worked, was stable and the best it could be... 4 months passed, target proposition donne... Several change requests since then and we have been implementing braindead CR after CR for 5 months... Most CRs came from design issued I raised but we're ignored at the time just to come back and bite them on the ass...
Horrible design, bad documentation, amateur requirements analysis... However, delivered successfully with great acceptance...
What was my reward? They rearranged my team, removing virtually every good performer.
Never did I receive a "good work" or a "thank you"... I don't want one, I am just doing my job... However can you please not fuck me in the ass!? I now have 2 projects to spearhead at the same time and virtually no team... I can only handle so much!!!
Some good news? Ok, just announced I'm the project owner of a new project, that we will take advantage and make a 2 in one.... Great! Some more work for my lap! Thank you for the workload raise!... Ok, timewise? One month! And I still don't if that includes implementation....
TL DR; did my job, got fucked with more work...
Sorry for the vent, just wandering if I should try and not do my job...2 -
When the so called "css expert" ask you why you're implementing so many things in @media all and (max-width: 800px) because it "doesn't change anything"
I had to teach him about responsive web design and chrome developer tools mobile emulation...3 -
Client asked for time line for website I told them 6 weeks from moment they provide design (I had other active projects and would have to split time between them ) . For next 4 weeks they would send me design and then after few hours tell me to stop working and that they are going to change design.
After 4 weeks they sent me final version of the design and informed me that it needs to be done in next 2 weeks. We expected 10 more websites from them and it was 7-8 pages so I put other projects on hold and finished it in around week and sent link to them for review, 2 days before deadline they informed me that there are around 20 pages missing pages that are not in final version of design but only in version xx sent more than 2 weeks ago. In next day and half me and 2 other developers had more then 20 hours each to finish it on time8 -
A few years ago I was working in a startup where the designer was given way too much decisional power (he was friends with the owner).
He had a tendency to keep editing parts of the design during the development phases, so when we had to work on a new big section of the application, before starting the tront-end development, I asked him to confirm that the mockups were final.
He confirmed the design was final and was not going to change.
10 days later, of couse, he sent a new, completely different, set of mockups. The startup owner expected the new design to be implemented without moving the deadline.
(I left that startup shortly after. The issues with the designer were just the tip of the iceberg.
The owner tried to keep a payment hostage to "force" me to sign a new 1 year contract. He backtracked when he thought I was recording the call. I got my payment and left.)1 -
Customer: I need a one page website, which must have an administration panel , so I can change and add new sections. I will also have designed a unique logo and a unique web design. I think you can do it in 5-10 hours , so I'll give you $ 50 and $ 100
Me: ehmmm... I need more time if it is to be unique , and one hour cost of $ 5- $ 10 is not enough.
Customer: fuck it. I do it my self. it can not be that hard , and I think it's too expensive.
Me:5 -
Everything about the company is a mess. The only thing that is decent is the people. And by that I mean they aren't shit.
Workflows are fucked.
Clients are fucked. You're pressuring me to get this shit production ready before new year's eve and you still don't know what the text should say and want to make changes to the UI? The fuck?!
Design is a complete shit show. There is a design team. They only make a fucking psd to show clients how an interface would look like. No mobile version (but it's still expected to work!), no markup. Resolution is fucking inconsistent and whenever a change is requested, they are nowhere to be seen so I have to actually do designing on top of having to use this worthless fucking framework I hate it so much.
Codebases are turbo-fucked because of said framework.
Databases are an inconsistent, fucked up mess. No foreign key constraints because every single fucking table is using the MyISAM engine.
And the thing that really makes me incredibly angry is all the "custom systems" look the fucking same at the database level. Like 30 fucking useless tables made for stupid HR workflows that make no fucking sense.1 -
!rant
Medium long story about POP!_OS
TL;DR : A true K.I.S.S. OS. Very well designed UI. In general suitable for everyone. Any distro-hoppers MUST try out. If your current OS is already heavily customized to your needs, DON'T bother with POP. (Read till the end if you are on toilet, nothing to lose)
Backstory : I am never a fanboy of anything although I am loyal to the tools I use daily. So OS is also something I picked and use to meet my needs except when I was a student. My first linux experience was about a decade ago with ubuntu. Have tried almost all kinds of light-weight and minimal distros after that (lubuntu, arch, mint, puppylinux, fedora, centos and others I forgot) during my student years.
I like all things minimal. ("Keep It Simple Stupid" is my email signature.) When I started working, Windows became the sole OS I use since it met my needs better than others. Except that one time when I tried Elementary. Although I found it a good OS, it didn't get installed as a dual-boot. I don't find Elementary minimal. It is one of well designed OSs but I still think it can be improved. (Plus I had this weird feeling that it is similar to Mac OS)
At the start of this year, Widows alone was not enough for my needs. Decided to look for a minimal linux distro. My old i7 ASUS has 8GB RAM and roughly 250GB free storage. So I am not that worried about hardware requirements. My main struggle is downloading stuffs. (Few of you guys must know by now the speed of my internet LOL.) Well, even if I had a good speed, I will still look for minimal distro as first priority. So I went with minimal ubuntu image and xubuntu environment. Although I do not like the UI design, it is acceptable. Through out the years, I have configured it to suit my needs and currently pretty happy with it.
Thoughts on POP!_OS : To me, it is literally like meeting a young girl who is perfect for my life. She has the perfect body, beautiful face, amazing appearance and good manners. And she is young, of course there is a lack of experience issue. But it can be taught and she has a very high chance to become a wonderful lady if she continues like this. Only crap is I already have someone and in a committed relationship. So I could not go any further than introduction. I do save her contact and will keep in touch with her online. You know? Things change. Things always change somehow.2 -
Spent 4h+ debugging my code (it was late)...only to realise that my code was not buggy, but the fuckup in design was in the original part I didn't change..FML..
-
I never thought to I'd say this about an open-source project, but if I wanted to single out an unbeatable case of "Bad Design", and the manifestation of the term "Redundancy Hell", It is definitely Calibre.
Single job: To keep some e-book files + some metadata.
What it does in brief: In a single dir as your library; From metadata stored IN each file; It generates subdirs <author_name>/<title_name>(<some_numerical_id>), copies the e-book file there, generates a jpg cover from the first page and also stores it there, generates an xml file to support legacy e-book formats (but it generates it anyway even for pdfs), which contains all the same metadata for the file, including title, author and href for the cover, and also stores it there. And then, all the same metadata for all books is stored in a metadata.db in the library root folder. I don't know if there is more data stored/used somewhere in a more obfuscated way.
Not too much to ask: Change some author/title/any single field.
What is done: 💩🌋
It is so helpful, it does all the stuff by itself or its plugins; you don't have to touch anything. But it also has this amazing ability to fuck everything up without even being touched. I mean WHAT THE FUCK WERE YOU THINKING? WHAT KIND OF A FUCKING DESIGN IS THIS? A FUCKING FRACTAL?
Literally, If I had listed all my books on physical papers with a real life pen, It would take me less time that I've already wasted on unfucking the regular disasters. Fuck you and your arrogant responses to issues. -
My usual day at work, as a Designer.
Boss: Wow! Awesome design. Great work. I loved it.
Me: Thank you.
Boss: But wait, I have some change suggestions.
(After a while, gives 10-15 change suggestions that will completely change the overall design)10 -
I work for a programming / design studio / tech and new solution company. We do all kind of new tech inventions.
Everyone is a tech guru, except my boss who don't know one single programming language, don't know even how to format a pc, never finished his school..
The other day we asked me how to change his phone ringtone..2 -
2020 seems to be the year of the "dev who has never seen scale."
TypeA -> "Here's a reasoned explanation for a change I think we should make. Here is the current deficiency analysis, here is the desired resolution, here is the course of action and all calculations leading to the resolution + data. This will have x,y,z beneficial result according to our operational metrics."
TypeD -> "Those were words. Why do you need that? Change is bad, learning is worse. This will just slow me down, development speed is all that matters; there is no chance that a poorly considered/factored/checked design could ever require a ground up rewrite or fuck us utterly in the long term. Why do you make my life harder? We could x -> y -> zBUTI haven't done the math and I really don't see the benefit in x, so z is pointless. What even is scale?"
The consequences of the war caused by the ever-widening gap between engineers and developers is low key terrifying.12 -
What fascinates me the most about the industry we work in, is the disruptive and transformative nature of ideas the come out every day.
The technology we use augmented with the software we build have the capability to disrupt and shift the existing paradigm of absolutely any industry today. The solution we construct changes the way in which an industry functions, and brings the horizon closer while making the ocean wider.
So does our capability to design and transform the existing landscape with the ability to visualise the many dimensions of a problem that are otherwise overlooked by others.
I had one of the best feelings today when 3 extremely prolific doctors in the Indian opthalmological industry told me how the solution i built could change the way in which they have been working for almost 20 years ... For the best ...
It's just such a great feeling to know every line of code we write , execute and debug would one day disrupt and transform an otherwise traditional landscape.
So hooray to us and the things we invent, because at the end of the day a PC to code and internet for the outreach ( and stackoverflow ofcourse. 😅 ) Is all that's needed to bring about a metamorphosis of conventional thoughts and theories.1 -
I didn’t turn down a dev freelance project when the client decided against going with best practices because the solution I offered was a well-established design pattern but created a need for a financial management change she didn’t like. I stupidly built what she asked for. It worked fine in the 3rd party vendor test environment but failed on production. After hours of analysis of code to ensure no changes happened to my source during test->prod deployment, and the vendor denying they had config differences between them, and the client refusing to pay, all I could do was abandon the project.2
-
I just finished designing an entire asset management pipeline and christ on a fucking pogo stick, if it isn't convoluted.
Theres a lot of game engines out there, but all of them do it a little different. They all tackle a slightly different problem, without even realizing it.
1. asset management
2. asset change management
3. behavior change management
4. data management
5. combinatorial design management.
6. Combinatorial Behavior management
7. Feature completion
ASSET MANAGEMENT is exactly what it says on the tin.
ASSET CHANGE management can be thought of handling the import, export, formatting, platform specific packing, and versioning (including forking) of an asset.
BEHAVIORAL CHANGE management is a subset of asset management, because code is a subset of assets (depending on how you define 'assets'). The oldest known example of this is commenting and uncommenting code.
Or worse, printf debugging.
This can be file versioning, basic undo services, graph management of forks and mergers, toggles for features or modules, etc.
DATA management is about anything that doesn't fall into the other categories, everything from mission text to npc dialogues, quests, location names, item stats, the works. Anything you'd be tempted to put in a database, falls under this category. Haven't yet seen many engines offer this as an explicit built in tool as of yet, because the other problems are non-trivial as is, so this is a bit of low hanging fruit that gets handled by external tools, or loaded from formats as simple as json.
COMBINATORIAL DESIGN management is the idea of prefabbing, blueprints of broader object design using nested prototypes of existing game objects, to create more complex, reusable set pieces. Unity did this well. GM does this in part.
COMBINATORIAL BEHAVIOR management is entity-component systems, plus tooling to make it easy to add, remove, and configure components and their values on entity blueprints, also not uncommon. Both stencyl and unity do this. GM has a precursor to this in the form of configurable fields, but these fields are not based on component scripts attached to objects.
FEATURE COMPLETION is that set of gameplay mechanics or styles of design that an engine naturally makes easier to include or build in a game.
I don't think I'm aiming for all that, but I think at minimum a good engine has to do asset management, behavioral change management, prefabs, and entity-component systems with management tools for that. And ideally, asset change management.8 -
Just before the holidays started I was given a task by my manager, $M.
$M: "Kyntak, while I'm away I want you to look into this new way of starting $important_service"
$me: "Okay $M, is there a bug for this that explains what is needed?"
$M: "Yes, you should be able to find it"
Goes looking, finds someone else working on something connected but not the same, finds the code change that makes this available... It doesn't explain how to use it, when the async events fire or (well, to a junior engineer like me) really anything.
Message the other (very experienced) eng.
$me: "Hey I've been asked to make $important_service use the new starting API, can you tell me about?"
$eng: "Yup, here's a bug for that and I'm happy to answer any questions you have" *goes offline*
I read the bug. It doesn't mention the original problem I was trying to solve, it doesn't even mention $important_service. There's no design doc mentioned. The bug has a higher priority assigned than any of my other work. It has an expected completion date only days after I get back from holidays (which $M told me to take).
I try to contact $M and $eng. They've already left for holidays.
"Hmm"
Implements as much of the fairly inevitable boilerplate that I can infer from the bugs and surrounding code.
"Hmm"
So, I'm into my second week of holiday and am starting to think about the potential shit storm I may return to.
I hope the bug's priority was wrong.4 -
SharePoint things that I get yelled at by customers for:
Setting up page permissions wrong (even though the real problem is that a coworker didn’t check the page in)
Writing the workflow wrong and nobody is getting emailed (even though they didn’t select who to send the email to)
Not magically knowing that they wanted the new intern (who started Tuesday) to be given full design rights on their page
Not magically knowing that their discussion mod quit a year ago (before I started here) and now nobody can feature a post
Not spinning up an entire new site so that they could post a link to a single sign up sheet for their team (of 10 people) barbecue
Somehow making it so MS Edge can’t handle high res images correctly (because I totally created Edge (which isn’t even a supported browser here))
Not responding immediately when they submitted a ticket at 7:00pm (I’m off at 5) asking me to change one word on a page they have edit rights to
Not giving their admin assistant global design rights for our entire organization
Not giving them access to a confidential folder that has nothing to do with their job
Telling the owner of aforementioned folder that they’re not allowed to store confidential data in SharePoint
Making workflows too confusing for them to figure out
Fixing shit workflows that their ex coworker built wrong
Generally having the word SharePoint associated with my name2 -
Colleagues cannot seem to grasp that allowing a user to manually update a field via an Api, that only business process should update is a bad idea.
The entire team of around 10 'software developers' cannot grasp that just because the frontend website won't set it doesn't mean its secure. I have tried many times now...
Just an example honestly... Our project follows a concrete repository pattern using no interfaces or inheritance, returning anaemic domain models (they are just poco) that then get mapped into 'view models' (its an api). The domain models exist to map to 'view models' and have no methods on them. This is in response to my comments over the last 2 years about returning database models as domain transfer objects and blindly trusting all Posts of those models being a bad idea due to virtual fields in Ef.
Every comment on a pull request triggers hours of conversation about why we should make a change vs its already done so just leave it. Even if its a 5 minute change.
After 2 years the entire team still can't grasp restful design, or what the point is.
Just a tiny selection of constant incompetence that over the years has slowly warn me down to not really caring.
I can't really understand anymore if this is normal.3 -
Sorry, need to vent.
In my current project I'm using two main libraries [slack client and k8s client], both official. And they both suck!
Okay, okay, their code doesn't really suck [apart from k8s severely violating Liskov's principle!]. The sucky part is not really their fault. It's the commonly used 3rd-party library that's fucked up.
Okhttp3
yeah yeah, here come all the booos. Let them all out.
1. In websockets it hard-caps frame size to 16mb w/o an ability to change it. So.. Forget about unchunked file transfers there... What's even worse - they close the websocket if the frame size exceeds that limit. Yep, instead of failing to send it kills the conn.
2. In websockets they are writing data completely async. Without any control handles.. No clue when the write starts, completes or fails. No callbacks, no promises, no nothing other feedback
3. In http requests they are splitting my request into multiple buffers. This fucks up the slack cluent, as I cannot post messages over 4050 chars in size . Thanks to the okhttp these long texts get split into multiple messages. Which effectively fucks up formatting [bold, italic, codeblocks, links,...], as the formatted blocks get torn apart. [didn't investigate this deeper: it's friday evening and it's kotlin, not java, so I saved myself from the trouble of parsing yet unknown syntax]
yes, okhttp is probably a good library for the most of it. Yes, people like it, but hell, these corner cases and weird design decisions drive me mad!
And it's not like I could swap it with anynother lib.. I don't depend on it -- other libs I need do! -
I agree with many people on here that Front-End web development/design isn't what it used to be.
Things used to be simple: a static page. Then we decoupled design from description and we introduced CSS; nice, clean separation, more manageable - everything looks nice up to this point.
Introduce dynamic pages, introduce JavaScript. We can now change the DOM and we can make interactive, neat little webpages; cool, the web is still fun.
Years later, we start throwing backend concepts into the web and bloating it with logic because we want so much for the web to be portable and emulate the backend. This is where it starts to get ugly: come ASP, come single pages, partial pages, templates,.. The front-end now talks to a backend, okay. We start decoupling things and we let the logic be handled by the backend - fair enough.
Even later, we start decoupling the edge processes (website setup, file management, etc.) and then we introduce ugly JavaScript tools to do it. Then we introduce convoluted frameworks (Angular,..). Sometimes we find ourselves debugging the tools themselves (grunt, gulp, mapping tools,..) rather than focusing on the development itself (as per ITIL guidelines; focus on value), no matter how promising today's frameworks claim to be ("You get to focus on your business code"; yeah right, in practice it has turned out differently for me. More like "I get to focus on wasting copious amounts of time trying to figure out your tangled web").
Everything has now turned into an unfriendly, tangled web (no pun intended).
I miss the old days when creating things for the Web used to be fun, exciting and simple and it would invigorate passion, not hate.
<my cents="2"></my>3 -
I talk to clients. I prepare the requirements. I design the database structure. I design prototype frontend. I do documentation. I code. I debug. I update change log.
I die.3 -
This is the story of the API documentation.
Which btw I couldn't find on the producent's website anywhere. I had the pdf shared with me by a coworker.
I knew the api was fucked up the moment I looked at endpoint documentation.
GET params? WHERE, ORDERBY etc. Literally make a SQL select in a GET request.
Returned stuff? The whole thing. Not some DTO, you literally get everything you can get.
Eg if you get IP in your response, you get it in several formats: dotted form, as hex, and as int. In 3 different json fields.
Oh, and regarding IP - one would imagine you can use masks or prefixes for subnets, right? Nope. The only param you can use there is the subnet size. So you have to calculate the power of 2 every time you want to make a request.
That's from the endpoint documentation. But what about some general info on the API, before all that?
As I was looking for something, I decided to read that intro and general info about the API.
Okay, so there was a change log between API versions. "removed [endpoint which sounds like correct REST design], please use [this generic thing with SQL-like GETs]"... Several of them.
And there was also this sentence which said that the API is not restful, "it's REST-like". <facepalm>
If it was a bad attempt at REST API, I would let it go. But this sentence clearly showed they knew they did everything wrong. And the changelog showed they didn't stop there, they were actively making it worse.1 -
I am a big fan of the Go programming language. I really am. From syntax to the purpose and everything in between, I dig the language. I normally use it as a hobby language. My escape from my daily dosis of php, js and Java.....or when my workplace insists on believing that I am a designer instead of a developer........I am definitely not a designer....I am super slow at design.
But back at my main topic! Go. The language is cool, the environment is cool and it is booming here in the states.......can we PLEASE PRETTY PLEASE WITH CHERRIES ON TOP change the stupid mascot logo? I swear that thing looks absolutely fucking retarded. Much like the Perl 6 Mascot......I know this is a small thing but looking at that stupid "gopher" really irritates the fuck out of me. Coolest logo ever? Rust or Python really.6 -
It is the time for the proper long personal rant.
Im a fresh student, i started few months ago and the life is going as predicted: badly or even worse...
Before the university i had similar problems but i had them under control (i was able to cope with them and with some dose of "luck" i graduated from high school and managed to get into uni). I thought by leaving the town and starting over i would change myself and give myself a boost to keep going. But things turned out as expected. Currently i waste time everyday playing pc games or if im too stressed to play, i watch yt videos. Few years ago i thought i was addicted, im not. It might be a effect of something greater. I have plans, for countess inventions, projects, personal, for university and others and ALL of them are frozen, stopped, non existant. No motivation. I had few moments when i was motivated but it was short, hours or only minutes. Long term goals dont give me any motivation. They give as much short lived joy, happines as goals in games and other things... (no substance abuse problems, dont worry). I just dont see point of my projects anymore. Im sure that my projects are the only thing that will give me experience and teach me something but... i passed the magic barrier of univercity, all my projects are becoming less and less impressive... TV and other sources show people, briliant people, students, even children that were more succesful than me
if they are better than me why do i even bother? companies care more for them, especialy the prestigious ones, they have all the fame, money, funding, help, gear without question!
of course they hardworked for ther positions, they could had better beggining or worse but only hard work matters right?
As i said. None of my work matters, i worked hard for my whole life, studing, crafting, understanding: programming, multiple launguages, enviorements, proper and most effcient algorithms, electronic circuits, mechanical contraptions. I have knowlege about nearly every machine and i would be able to create nearly everything with just access to those tools and few days worth of practice. (im sort of omnibus, know everything) But because had lived in a small town i didnt have any chances of getting the right equpment. All of my electronical projects are crap. Mechanical projects are made out of scrap. Even when i was in high school, nobody was impressed or if they were they couldnt help me.
Now im at university. My projects are stagnant, mostly because of my mental problems. Even my lifestyle took a big hit. I neglect a lot of things i shouldnt. Of course greg, you should go out with friends! You cant dedicate 100% of your life to science!
I fucking tried. All of them are busy or there are other things that prevent that... So no friends for me. I even tried doing something togheter! Nope, same reasons or in most cases they dont even do anything...
Science clubs? Mostly formal, nobody has time, tools are limited unless you designed you thing before... (i want to learn!, i dont have time to design!), and in addition to that i have to make a recrutment project... => lack of motivation to do shit.
The biggest obstacle is money. Parts require money, you can make your parts but tools are money too. I have enough to live in decent apartment and cook decently as well but not enough to buy shit for projects. (some of them require a lot or knowlege... and nobody is willing to give me the second thing). Ok i found a decent job oppurtunity. C# corporation, very nice location, perfect for me because i have a lot of time, not only i can practice but i can earn for stuff. I have a CV or resume just waiting for my friend to give me the email (long story, we have been to that corp because they had open days and only he has the email to the guy, just a easier way)
But there are issiues with it as well so it is not that easy.
If nobody have noticed im dedicated to the science. Basicly 100% scientist that want to make a world a better place.
I messaged a uni specialist so i hope he will be able to help me.
For long time i have thought that i was normal, parent were neglecting my mental health and i had some situations that didnt have good infuence on me as well. I might have some issiues with my brain as well, 96% of aspargers symptoms match, with other links included. I dont want to say i have it but it is a exciuse for a test. In addition to that i cant CANT stop thinking, i even tried not thinking for few minutes, nope i had to think about something everytime. On top of that my biological timer is flipped. I go to sleep at 5 am and wake up at 5pm (when i dont have lectures).
I prefer working at night, at that time my brain at least works normaly but i dont want to disrupt roommates...
And at the day my brain starts the usual, depression, lack of motivation, other bullshit thing.
I might add something later, that is all for now. -
Wordpress and CSS...
REEEEEEE
God i’m pissed at this shit!!
Don’t even get me started on responsive design
When you have to override 48297 rules just to change a fucking text color
FUCK !important
YOUR !important
CSS !important15 -
I come from a fuck-all university called Visveswaraya Technological University (VTU for short) and the syllabus is something from the 90s. Now modern technology 8s taught, old AF practices and useless subjects. Hell, we're not even taught design patterns.
So what would I like to change? The whole frikkin thing. My transition from college to corporate was *BAD* because the expectations were completely different.3 -
PM wrote a really high-level requirement doc and asked me about estimates.
Me: Well, functionality-wise it will take 4-5 days provided the design is ready.
PM: Our designers are really full on schedule; Just do it! Expand your creativity. I believe in your taste of UX
Me: Listen, the implemented design will take much more time to change if we go back and forth. It's better to revise on the designer's screen.
PM: Oh don't be so modest! I trust you already. Just focus on the functionality, get it done first. For the design we'll talk about it later. Move fast and break things!
Me: ..Sigh. This is gonna end up badly.6 -
Worst architecture I've seen?
The worst (working here) follow the academic pattern of trying to be perfect when the only measure of 'perfect' should be the user saying "Thank you" or one that no one knows about (the 'it just works' architectural pattern).
A senior developer with a masters degree in software engineering developed a class/object architecture for representing an Invoice in our system. Took almost 3 months to come up with ..
- Contained over 50 interfaces (IInvoice, IOrder, IProduct, etc. mostly just data bags)
- Abstract classes that implemented the interfaces
- Concrete classes that injected behavior via the abstract classes (constructors, Copy methods, converter functions, etc)
- Various data access (SQL server/WCF services) factories
During code reviews I kept saying this design was too complex and too brittle for the changes everyone knew were coming. The web team that would ultimately be using the framework had, at best, vague requirements. Because he had a masters degree, he knew best.
He was proud of nearly perfect academic design (almost 100% test code coverage, very nice class diagrams, lines and boxes, auto-generated documentation, etc), until the DBAs changed table relationships (1:1 turned into 1:M and M:M), field names, etc, and users changed business requirements (ex. concept of an invoice fee changed the total amount due calculation, which broke nearly everything).
That change caused a ripple affect that resulted in a major delay in the web site feature release.
By the time the developer fixed all the issues, the web team wrote their framework and hit the database directly (Dapper+simple DTOs) and his library was never used.1 -
I'm writing a devrant like site, so a kind of forum that supports live chat under every article. Login will be just username and password to stay anonymous. Email is optional for password reset. Also it won't have password requirements. Who cares if user uses insecure password. I do like the devrant avatar thing. I will use the ducky generator instead. So everyone on the site is a custom duck. K-SASS prolly never expected his generator to be used anywhere. The requirement of this site is that it scales very well. I have db calls of 0.006s, this is for persistent data only and will be used by all site instances. I expect that it can handle many clients concurrent as long I do not return more than 30 rows or so. Events get handled by a self written pubsub server.
All sounds great and development goes fine. But why is this a rant? Because the same thing as always is biting me, I can't design a site at all. I know how but I don't have any feeling for design at all making me almost incapable of building an attractive site. The only thing I can 'design' is an application in bootstrap or smth. I spend so much time one design while I don't like to do it ironically. But looks of site is almost as important as an good working site. Good working site doesn't get used if looks bad in many casee. This is since the start of my career an issue and it sucks that I appearantly can't deliver a whole site on my own meeting my standards.
My backend work is top notch tho. Btw, this application is not to be an alternative for devrant. I do not think I can attract more users than it already has and I've seen two communities disappearing once because someone decided to make a new one, took half of community with him and both communities died after short while.
End product of this project is a working project, not a live site hosted somewhere. It's pure about mixing mostly self written tech to get the best performance. Reinventing wheel on many levels. I wanted maybe to do the site in C but decided that it's way to much work for the value. I change the site so rapid since I don't have decent plan that python aiohttp is the best choice in amount of writing it yourself and fast. It's very lightweight.
More a story than a rant, sorry29 -
So we have this really annoying bug in our system that customers keep complaining about. I've explained in detail, multiple times, why the part they think is a bug is not a bug and the workaround they keep asking me to apply doesn't make sense, won't fix the issue, and won't even stick (the system will notice that the record they want me to delete has been removed and it will repopulate itself, by design).
I've told them what we need to do as an actual workaround (change a field on the record) and what we need to do to properly fix the bug (change the default value on the record and give proper controls to change this value through the UI). We've had this conversation at least three times now over a period of several months. There is a user story in the backlog to apply the actual fix, but it just keeps getting deprioritized because these people don't care about bug fixes, only new features, new projects, new new new, shiny shiny new.
Today another developer received yet another report of this bug, and offered the suggested workaround of deleting the record. The nontechnical manager pings everyone to let them know that the correct workaround is to delete the record and to thank the other developer for his amazing detective work. I ping the developer in a private channel to let him know why this workaround doesn't work, and he brushes it off, saying that it's not an issue in this case because nobody will ever try to access the record (which is what would trigger it being regenerated).
A couple hours later, we get a report from support that one of the deleted records has been regenerated, and people are complaining about it.
🙄🙄🙄🙄🙄🙄🙄🙄🙄🙄🙄3 -
This was originally a reply to a rant about the excessive complexity of webdev.
The complexity in webdev is mostly necessary to deal with Javascript and the browser APIs, coupled with the general difficulty of the task at hand, namely to let the user interact with amounts of data far beyond network capacity. The solution isn't to reject progress but to pick your libraries wisely and manage your complexity with tools like type safe languages, unit tests and good architecture.
When webdev was simple, it was normal to have the user redownload the whole page everytime you wanted to change something. It was also normal to have the server query the database everytime a new user requested the same page even though nothing could have changed. It was an inefficient sloppy mess that only passed because we had nothing better and because most webpages were built by amateurs.
Today webpages are built like actual programs, with executables downloaded from a static file server and variable data obtained through an API that's preferably stateless by design and has a clever stateful cache. Client side caches are programmable and invalidations can be delivered through any of three widely supported server-client message protocols. It's not to look smart, it's engineering. Although 5G gets a lot of media coverage, most mobile traffic still flows through slow and expensive connections to devices with tiny batteries, and the only reason our ever increasing traffic doesn't break everything is the insanely sophisticated infrastructure we designed to make things as efficient as humanly possible.11 -
we need you to implement some front end components but design department is not following their own standards, and changing the fucking mockup, so now you have to change your shit again
like fuck, how hard can it fucking be to hand me the locked in design and ill make it, i dont wanna have to muck this shit up and fight css again1 -
Finishing my interaction design study. I'm scared, because the headmasters change their mind, everytime i adjust my potential thesis theme for them. 😕
-
Every design change in windows 11:
- All that could have been achieved in win 10 with an update 🙂
Every new feature in windows 11:
- All that could have been achieved in win 10 with an update 🙂
Just another way to trash our older PCs. Planned obsolescence.
Google said, free forever photo storage, takes it back.
Microsoft said, last verison of windows 'll be the 10, takes it back.
😊 Everything's friking nice.16 -
Rant against a new religion: the Agile Religion, started by the Agile Manifesto: https://agilemanifesto.org
This manifesto is as ambiguous and open to interpretation as any religious text. You might as well get advice from a psychic. If you succeed, you'll start believing in them more. If you don't, then they'll say you misinterpreted them. The whole manifesto just re-states the obvious with grandiloquent words.
For example: "Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale." What does this say REALLY? To me, it just says "deliver software, try to be fast." Great, thanks for re-writing my job description. Of course, some features take "a couple of weeks", while others "a couple of months". Again, thanks for re-stating the obvious.
"Value *working software* over _comprehensive documentation_"
Result => PHP
"Welcome changing requirements, even late in development."
I'm okay with this one as long as the managers also `welcome the devs changing deadlines, even the night before the release date`. We're not slaves; we're more like architects. If you change the plans for the building, we're gonna have to demolish part of what we've already built and re-construct. I'm not gonna spring just because you change your mind like a girl changes clothes.
"Business people and developers must work together daily throughout the project."
Daily? Fine. ONCE a day, sure. But this doesn't give you the right to breathe down my neck or break my concentration by calling me every couple of mintues.
"The most efficient and effective method of conveying information to and within a development team is face-to-face conversation."
- Not if you could've summed up that meeting in an email.
- Whereas that might be true for clarity, write that down.
"Working software is the primary measure of progress."
... is how you get a tech debt the size of the US's.
"The sponsors, developers, and users should be able to maintain a constant pace indefinitely."
Have you heard of vacations?
"Continuous attention to technical excellence and good design enhances agility."
So you're telling us "do good". Again, thank you for re-writing my job description.
It's just a bunch of fancy babble, more suitable in poetry than in the dev world. It doesn't provide any scientific evidence for any of its supposed suggestions, so I just won't use it2 -
Let's face it: I am and will always be a tinkerer. Yes, I know my ways around, I can sneak into legacy code bases easily and throw new stuff in there, I've seen software stacks. But scarcely sound design, really modular. Even from the cleverer, experienced ones. They can master more complexity, so they can handle more spaghetti. Some essay from the 80's had this grand idea to organically 'grow' software. That's how it looks like most of the times: cancerous, parasitic super fungi (armillaria). Yeah, we all know have to fight bit-rot and entropy, but it was all lost before already. We'll never get rid of legacy protocols, legacy code.
And even when we go green field, start a fresh. Yeah, take a great design, make everything new, after some months of throwing features and outer constraints at the thing, it's the same old mud again.
But we can still dream on: some day I will design great APIs, I will have great test coverage, documentation, UML design, autometed tests, fuzzing, memchecking, I'll work professionally, clean coder style.
Pfft forget it. Maybe change for consulting, because we'll continue to dream of the 'clean' code, so you can sell the next 'recipe', development method. It's like diets. As effective. For the one selling.2 -
It is incredible how Google got big with good webdesign and now manages to build the shittiest frontends.
It's not enough that YouTube is super slow and breaks every other time I use the "back" button in the browser. When it only forgot my language & theme settings every couple of months that was still too high quality for Google's dogshit standards, so now they made another downgrade: Whenever I set another language it immediately resets it to the language Google thinks I should speak, and at the same time resets the region to where Google thinks I live. Oh, and I have to disable autoplay for every video individually now cause who the fuck uses cookies nowadays right?
Do they also change the language if I travel to another country because those fucks never leave Silicon Valley and can't comprehend that concept?
Google is the Microsoft of web design.4 -
Fuck the design guidelines that change every fucking day. It makes Front-End an unbearable hell. I'm seriously tired of having to code stupid shit for exceptions exceptions exceptions.5
-
have been working on a small project in the last couple of months. a few client meetings we are discussing a timeline feature for orders and assignments. the calendars (yeah a few on one screen cuz ... yeah) the client keeps complaining that they should look differently and in the same time says "Design is not important *designer-guy-he-works-with* can change it once we are done"
me - :/
side note: the calendars are tightly coupled with the js code powering them, so yeah ... looking forward to it
..1 -
Does anyone else question their career in programming from time to time?
I've been around this line of work for almost 7 years now and I still get these doubts once or twice a year.
Be it unreasonable deadlines, horrible people that I'm forced to work with or just outright incompetence.
My latest occurence of doubt was when getting assigned a task that initially didn't seem like a big deal, but it turned out to be months and months of custom work instead of going along with the standard components and design guidelines.
This was somehow missed in the estimate phase and once I got assigned to it a hard deadline was already set, to top it off the features was non-negotiable.
These kind of things really makes me feel helpless and really depressed. My work is all I have, and I don't really know what I would do if I'd change career path today.3 -
Just my luck that I get the best wk76 story ever on wk77. Either way:
So some of you may know that the current project I am on has some shared code components with one of the other projects in the product line. And we have some differences in our processes. This leads to a lot of fun.
So, I was working on converting one of our shared components into a more modern language. It would save us time, money, and sanity by allowing us to more easily maintain our product. Sounds like a win-win right? That's what I thought. Until I had a meeting with the other team. THEN THE QUESTIONS ROLLED IN. Well who is going to integrate our product with yours? (You?) Are you changing the interface? (Not really.) Are you going to generate a design document? (Absolutely not especially since the interface isn't changing for the most part.) Well you are changing the type of one parameter in one method from an undocumented unmanaged type to a well documented managed type that we control. Shouldn't you generate a document to document that change? (Again absolutely not.)
So first they basically browbeat my lead into putting me in charge of their integration effort. Its fine though, as they gave me an account to charge. However, when I was finally able to get a machine with their build environment on it (at least two months later), they then told me that that account was closing and I had to wait until next quarter. So fuck me right. And because of their process I would break them if I were to check my changes in.
So fast forward to today. They are translating some shared components for the same reason that we are. However, they are changing code that while shared is technically "ours" and that will DEFINITELY break us if they do this work since this is the code that controls our algorithms. And while we have a fault tolerant process, or at least more fault tolerant than the other group's, we are currently doing a huge amount of development in the part they want to change. And when we ask them "who is going to do this work to integrate our product with your changes?" they stare at us slack jawed. Like "um, you right? it doesn't affect us." Like MOTHERFUCKERS!!! YOU LITERALLY JUST FOIST ALL THIS WORK ON US TO INTEGRATE WITH YOU BECAUSE YOU DIDN'T HAVE THE PEOPLE TO SUPPORT IT!!! BUT YOU CAN PAY THIS GUY FOR SIX MONTHS TO DO ALL THIS WORK THAT WILL BREAK US BUT CAN'T SPARE HIM TO INTEGRATE WITH US!?!?!? EVEN IF WE'RE PAYING HIM AND NOT YOU!?!?!
I will let you know how this goes when we have the discussion. I am drinking right now because it it easier and better for my emotional and physical health than bum fights. -
Pretty late for week 86, but I just remembered my first paid freelancing web dev work.
While not my worst experience, it was a pretty horrible task given to me...
I was helping someone implement a new design on a pretty outdated (visually and technically) PHP site.
I was getting paid crap. The guy wouldn’t even let me look at the HTML, let alone touch it, so definitely no PHP work, either...
Literally the only code I was allowed to write was CSS. So, I’m supposed to be restyling, but I can’t change the structure at all, or even ADD CSS SELECTORS.
Fine, I’ll just make your site fragile as fuck by using nested relative selectors.
#main:nth-child(3) > div > div > div > button
As if that wasn’t bad enough, there were some pages...I shit you not...that had A DOZEN LEVELS OF NESTED TABLES.
WHY. DEAR GOD WHY.
For a simple checkout page.
So, on some pages I was literally trying to access elements through relative selectors, nested within levels and levels of tables. FFS
Needless to say, I did not work for him for long. Even if I wanted to deal with that crap, my time is much more valuable than what I was being paid. -
So this happened when I was interning. We were developing an online application for hospitals. Now as it is with any new product. We had a lot of small issues popping up related changing of text or design colors. Now this piss kissing product manage of ours who has had no prior experience of a product of the scale we were developing started posting issues in the company’s internal whatsapp group. It was fine initially when the issues were less and small. However, when the amount and intensity grew, I suggested that he be given access as a issue poster on the git repo of the code.
Now I couldn’t comprehend his level of douchiness before hand but this guy started posting issued there but only a link to a google doc with the issue described there.
Then when came the time to change the status of these issues, I asked him to verify for his satisfaction that the issue is resolved and mark it as such. So Mr. Shitmenot started to maintain a fucking google sheet to maintain the status of issues and asked us to do the same. And upon demarcation he would manually change the color of the cells representing the issue. Like what the fuck dude.
I complained about this to my mentor who also happened to be he CEO but he couldn’t care less as if it was some debt that he owed the guy.
Safe to say I left the company shortly after things started to get out of hand and more shit began to happen. Yes there was more stuff that happened!!! -
A software had been developed over a decade ago. With critical design problems, it grew slower and buggier over time.
As a simple change in any area could create new bugs in other parts, gradually the developers team decided not to change the software any more, instead for fixing bugs or adding features, every time a new software should be developed which monitors the main software, and tries to change its output from outside! For example, look into the outputs and inputs, and whenever there's this number in the output considering this sequence of inputs, change the output to this instead.
As all the patchwork is done from outside, auxiliary software are very huge. They have to have parts to save and monitor inputs and outputs and algorithms to communicate with the main software and its clients.
As this architecture becomes more and more complex, company negotiates with users to convince them to change their habits a bit. Like instead of receiving an email with latest notifications, download a csv every day from a url which gives them their notifications! Because it is then easier for developers to build.
As the project grows, company hires more and more developers to work on this gigantic project. Suddenly, some day, there comes a young talented developer who realizes if the company develops the software from scratch, it could become 100 times smaller as there will be no patchwork, no monitoring of the outputs and inputs and no reverse engineering to figure out why the system behaves like this to change its behavior and finally, no arrangement with users to download weird csv files as there will be a fresh new code base using latest design patterns and a modern UI.
Managers but, are unaware of technical jargon and have no time to listen to a curious kid! They look into the list of payrolls and say, replacing something we spent millions of man hours to build, is IMPOSSIBLE! Get back to your work or find another job!
Most people decide to remain silence and therefore the madness continues with no resistance. That's why when you buy a ticket from a public transport system you see long delays and various unexpected behavior. That's why when you are waiting to receive an SMS from your bank you might end up requesting a letter by post instead!
Yet there are some rebel developers who stand and fight! They finally get expelled from the famous powerful system down to the streets. They are free to open their startups and develop their dream system. They do. But government (as the only client most of the time), would look into the budget spending and says: How can we replace an annually billion dollar project without a toy built by a bunch of kids? And the madness continues.... Boeings crash, space programs stagnate and banks take forever to process risks and react. This is our world.3 -
Just a quick rant on JavaScript,
So there’s a lot of people hating javascript, and while not a long time ago i was part of them, but I changed my opinion a little.
I think JavaScript is a great way to deal with website programming as it is quick and efficient, but I would not say to program directly on it, use a js-compilable language (CoffeScript, TypeScript, Kotlin(I think), etc.), but then you might say: “Well, no need for js then, compile it in byte code”. That would break the point of how I see web design/dev. The main intent behind webpages is to have an easy and fast way to send code to other computers to render them, that’s why it is interpreted: “Easy to send” and “*All* computers can handle it” with the proper browser. You need to be able to change the way the website is rendered and/or works sometimes, for diverse reasons like copy/pasting data, make it render properly or use plugins/add-ons to change that code to suit your needs.
I think js should be kept as a “readable byte-code”, so that means: {
Keep comments when compiling the js-compilable code,
Add standardized machine-readable comments that will indicate to smart code viewers how to show a particular thing (Like have a higher-end function compiled in js shown as a minimized code with explanations of the function)
Keep it nicely formated and don’t obfuscate (coz that’s annoying)
Etc.
}
So you bypass the quirks and all that pesky js stuff, while keeping it’s good sides.
-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-
Part 2:
Web design for non-web:
Ok so things like node.js, electron, react-native and all that stuff; I won’t say they’re bad but...
Why we have this is because web designers wanted to make desktop apps and were like “Hey! Making web pages is easy! Let’s port it to desktop”, the problem is: Web technologies were made to work on a restricted canvas, aka a browser. It’s good on web for reasons mention earlier and more. But it’s not on desktop! You’re trying to push it outside of those boundaries. It’s difficult to make it break that canvas and go outside, make something that really works! For social media clients and that kind of stuff that you want to make a little more inclusive, yes! it’s a great idea (hello devrantron ;), but not if it’s an exact same copy of the website, just use the website. But for things that are supposed to really make use of YOUR computer; no!
I see those PWA (progressive webapps aka mobile app, but it’s an offline website”), I stand for the same positions, social media and those sort of things: yes, great idea! Games? 🤢.
I have way more to say but I have difficulties to remember them while reading, so feel free to comment your thoughts
Lol, “just a quick rant”1 -
I can't convince my team that a good database model promotes a good API design and a good UI/UX experience.
Instead, I have to work with a ridiculous table setup.
Imagine, if you will, a table (table B) that references another table (table A) via a foreign key. The FK is a string in both tables. And table A only has one column, which is labeled as "name".
The schema i have to look at it kind of like this:
Table parent
Name varchar(10) primary key
Table child
Name varchar (10),
parent_name varchar(10),
Foreign key (parent_name) references parent (name)
Sorry if the syntax is wrong, a little frustrated having to look at it...
Am I crazy to want to change this table design? Am I missing something? I feel like I'm taking crazy pills, because this is just scratching the surface of the problems I have to deal with.7 -
I work for an investment wank. Worked for a few. The classic setup - it's like something out of a museum, and they HATE engineers. You are only of value if work on the trade floor close to the money.
They treat software engineering like it's data entry. For the local roles they demand x number of years experience, but almost all roles are outsourced, and they take literally ANYONE the agency offers. Most of them can't even write a for loop. They don't know what recursion is.
If you put in a tech test, the agency cries to a PMO, who calls you a bully, and hires the clueless intern. An intern or two is great, if they have passion, but you don't want a whole department staffed by interns, especially ones who make clear they only took this job for the money. Literally takes 100 people to change a lightbulb. More meetings and bullshit than development.
The Head of Engineering worked with Cobol, can't write code, has no idea what anyone does, hates Agile, hates JIRA. Clueless, bitter, insecure dinosaur. In no position to know who to hire or what developers should be doing. Randomly deletes tickets and epics from JIRA in spite, then screams about deadlines.
Testing is the same in all 3 environments - Dev, SIT, and UAT. They have literally deployment instructions they run in all 3 - that is their "testing". The Head of Engineering doesn't believe test automation is possible.
They literally don't have architects. Literally no form of technical leadership whatsoever. Just screaming PMOs and lots of intern devs.
PMO full of lots of BAs refuses to use JIRA. Doesn't think it is its job to talk to the clients. Does nothing really except demands 2 hour phone calls every day which ALL developers and testers must attend to get shouted at. No screenshare. Just pure chaos. No system. Not Agile. Not Waterfall. Just spam the shit out of you, literally 2,000 emails a day, then scream if one task was missed.
Developers, PMO, everyone spends ALL day in Zoom. Zoom call after call. Almost no code is ever written. Whatever code is written is so bad. No design patterns. Hardcoded to death. Then when a new feature comes in that should take the day, it takes these unskilled devs 6 months, with PMO screaming like a banshee, demanding literally 12 hours days and weekends.
Everything on spreadsheets. Every JIRA ticket is copy pasted to Excel and emailed around, though Excel can do this.
The DevOps team doesn't know how to use Jenkins or GitHub.
You are not allowed to use NoSQL database because it is high risk.2 -
Boss: I'm not seeing the fix for the simple text change issue
Me: (who cares about little design details which said boss really likes about me) That simple text change is a long line of text and breaks on all screen sizes besides your big ass monitor, so I asked for a designers opinion, which I finally got today.
My bad for caring just a little bit... -
I used to love my job, the guy that looked forward to mondays, there was always something new to learn, I was passionate about clean code and learning new languages like Elixir. As a software engineer I thought my occupation had a special significance in this world, I saw possibility and potential of creating something so impactful on the world that it would become my legacy.
Now after 5 years I’m realising that none of this stuff really matters to the world, software engineers aren’t special and it’s evident from our salaries how valuable we are compared to other professions in sales, medicine or law. My friend who works as in customer success management makes more than me.
While some of us will be in the lucky few whose work will change the world, most of us will just be another cog in the wheel, all that matters is how many product/features you ship out, nobody gives a shit about code quality, concurrency and architecture design other than us5 -
I already ranted about this particular designer and his need to mess with the client's server configurations.
Last time he thought it would be a good idea to use cloudflare for the 1 visitor per day website. And because he missed adding some important subdomains, the admin and register page didn't work. And oc the client called me in the night and during work because I destroyed her system.
And the worst is that this designer tries to redesign everything for 3 years. Every time he sends me new stuff, something is missing. Then I write him, that xyz is missing and he doesn't respond for months. Then the client calls me, why I still didn't finish the redesign and I have to discuss with her about the designer missed something. Then the designer writes the next time, that he will send me new stuff because the design will change again.
Oh, and I already wrote, that the designer is the client's boyfriend, so he probably sits beside her when I have to defend myself about not being able to finish the redesign.1 -
!rant - Also sorry this got rather long.
This is actually a psoitive story. I always used to be someone working on his things alone. It was great, I got shit done, I learned something. No one stressing you. But I was also lonely. The thing is that this behavior not only applied to developing. I was also able to observer that behavior in other parts of my life.
So it was time for a change. And I made a change.
It all began by switching my field of studies. Well, not really the field but some details. I switched from plain old computer science to computer science combined with media design. Here in Germany we have a nice word for it. Mediendesigninformatik.
I wish I had made that change earlier. Nonetheless it's never too late to make a change. So I began going to creative courses, like animation or graphic design. Directly from the start I made sure to talk to people. Make them remember me, offered my help because I already had experience with some things etc.
Next up was to get a job. So I got one. Now I'm working as a Game Master for a branding of escape rooms. Fun job. Also something different from developing all day, which is quite nice to do sometimes.
This job is where my change begun. The people there are amazing. I felt instantly like I've found new friends. Actually I also developed a crush on someone there and we are possibly dating soon. Not quite sure about that yet though. That also isn't the point here.
So a month later I moved out of my parents house. Living together with friends now and it's great. I'm so much more creative, so much more shit happens. I feel like a different human.
So I continued working on myself. I wanted to get really good at it. I wanted my groups to succeed whole having a challenge. They were supposed to leave happily, even when they didn't make it. Of course not everyone can be satisfied, but I noticed a positive change. Which motivated me to redesign and rethink the tool we use to give the players hints, manage their time and other stuff.
I was scared at first, but eventually I showed them what I did. Their feedback was surprisingly positive and while it will perhaps never replace our actual tools because our chef is a cheapskate, I was happy to achieve something. This continued. I made more stuff and formed connections.
Now I'm not working on things alone anymore. Recently I started working together with someone and this also was the first time I've made actual money of it. It's not a lot, but I was able to live half a month of it.
This is the beginning and I hope there will be much more. The moment I started showing other people my work and feeling confident about it made me change. I also learned to appreciate other people's compliments and kind of get an high of them, but I'm not sad when they don't like it. I feel like I've grown as a human and are more mature.
Have you experienced something similar? Can't wait to read your stories.3 -
Trying to find that one line of php you need to change in a magento project
App/design/frontend/base/default/template/this/is/not/gonna/be/the/template/youre/looking/for/fuckyou.phtml -
Developers insist that I give them a sketch file instead of a zeplin doc I'm like ok fine. Then I am told in like three weeks of development that they don't understand the sketch file when they insisted on it. So I'm like ok fine let me put it on zeplin. Then I'm told to compare their work with my designs. And ofcourse it doesn't match. So i sit and literally go through each margin , each padding with them. Then I'm told that they r over riding exsisting styles and say that's alot of development so I say ok I need to ask the product owner if it's gonna take more time. They get mad at me and say why I need to ask this? Like u told me it's gonna take you longer and I need to tell my boss? Then my boss says confirm all the styles with marketing ( everyone btw has seen my designs, reviewed them, and I have confirmed literally every change) and now I've been told to change a button to red ( why r your cta's and errors the same color I have no idea ??!) And then I tell the developers and they make a huge deal about changing the button from blue to red. NO ONE HERE HAS A STRUCTURE TO PRESENT HAND OFF TO THE DELVEOPERS. ITS SO ANNOYING.
Also can I just say in my presentation time and I had spent time on my designs and someone says oh let me show everyone through my screen.
I literally got a word out before all the delveopers in the room start arguing and skipping my design slides like R FO REAL? LET ME GO THROUGH THE JOURNEY ITS MY JOB.
LET ME HAVE CONTROL ON MY DESIGNS
UAIQBA.EAUKWHWUAGWNKRVIEVJWFEJCSJCSJCAHCSHXWH
sorry. I am typing this sitting on a sofa eating cake when I'm supposed to be on a diet but I'm wallowing and crying6 -
When I started doing frontend development, I was quite shocked with how people managed to cowboy code their way into building fully functional products with a decent paying client base.
I am talking about fully function SaaS with payment gateway and all, but no version control beyond full backup copies, and spaghetti code everywhere you can literally bring the website down trying to change the homepage design.
... and the startups that managed to do better, some of them forgot the .git on production exposing their entire source code *facepalm* -
Did I get old or did I just finish plucking all the low hanging fruit?
When I started on a programming journey about a decade ago everything feel exciting and I learn a lot of things per day (variable,loop,method,class,---etc)
Now a decade later I am more concern with the overall system design,algorithms usage (Big O Notation),how reliable the system it,and how the configurations are set up and how easy is it to change them.
I now notice that I don't really learn anything learn new.Everything feel the same.
Want redundancy? Use more server
Want faster performance? Make a parallel system.
Want program to run on low end device? Think about how memory and storage will be used in system.
Is this a stage everyone went through like puberty? or I am just having a mid life crisis?
PS : I haven't even reach 30 yet but I feel too old.4 -
On monday my boss asked me if our client's website will be ready to launch on June.
We'd supposed to start the development last monday, but the client keeps asking for huge changes on the design, and the dedline continues the same.
Even worst:
The person asking for changes have no power for decisions, so very often our designers have to undo their work and turn back to a previous version just because that person forgot to ask their superior if he wants that change.2 -
Booted up IntelliJ to find the 2018.2 update just dropped. Took me a moment to get used to the design changes they've made, especially overhauling most of the icons.
Only thing I don't like in this change is taking away the color icons from my tool windows, there was a plugin to fix it though thankfully. I need some color in my workflow!
How's the update treating other jetbrains users? -
Got some Freelance work(PHP) via my friend so i said ok lets see. Those were some college students and wanted their project to be deployed that their seniors built and none of them knew how to fix the issues so here i step in.
Nightmare of a design, no signs of framework, html/css looks like it was designed by a 10th grader, no prepared queries, every file uses db config seperately so a minor change would require me to edit those 50+ php files... overall a broken mess. FML.5 -
If you take a crappy website... and then you draw out a few screens of that visual design... and change some colors and borders... (and it not even a real interface) (just a screenshot of a photoshop document) (and it doesn't work) (and it's basically the same shitty interface) (and it's not real) (and you never tested it with users)
...and you are feeling like you have imposter syndrome, it's because you aren't a UX designer. You need help. You are deeply delusional.
We can help you - but you have to be really honest with yourself...
You're going to have to do some real work, read some books, and accept that *praise* - is not the goal.9 -
Why comment on the same thing during code review??
I submitted a PR and had to make a design choice that propagated throughout the module i was working on.
During code review, my coworker commented on every...single...line that this change effected asking "why are we doing x here?" instead of just creating ONE SINGLE THREAD with this question for discussion. There were at least 10 review comments on github from their one review that said "why X?"
Is this normal? Ive only had a few programming jobs and this is the first time this has happened to me.
personally, when someone makes a choice like that, i just make a comment and save the rest of the review until that is addressed.5 -
Hello DevRant,
I need your help
I'm currently studying Game design and development first year in The Netherlands and I love programming but I hate designing. I was thinking about changing the course to something like Ethical Hacking or Computer science. The reason why I want to do this is that they teach us openfl until second year and I feel like I learn nothing until now.
Do you think would be better to change the course or to stay but start programming in something else? And what programming language would you recommend?
P.s. I also want to apply for a part time job/summer school to gain experience but I had no luck at all.
P.s.s. You are the best community for me!
Return 0;3 -
Last week: Build out a landing page and contact form in Pardot. Deliver to client after a quick QA pass through.
Friday: Get nasty message from client via basecamp about how the entire page looks like complete crap. We're also very unprofessional and can't deliver a simple request, while we charge a premium for our services.
So I, wondering what I managed to screw up so horribly, hop on to the test page I sent them. Except, its different and looks like crap.
They edited the page after it was sent to them and are pissed it doesn't match the comps they sent over. So I edit it back - except for the form. The one they added selects and textarea boxes to. Fields they didn't include in their comp and there was no mention of them wanting to use.
Today: Phone call with client. Every single complain they have about the page template they delivered all goes back to one of 3 things.
1. Their designer doesn't know how to use their global styles in his designs. So when things match their global styles (as they specifically asked for) they don't understand why they don't match the comp in a side by side view.
2. They change their mind on a design after the page was built. They won't admit this is the case and want to blame someone else for it not looking the way they want it. You know, "Spirit and Style of their current site"
3. They're idiots.
So now, I put aside a much more fun React project for an Amazon owned grocery chain and work on this nonsense. -
Often I'll be stuck on a problem for so long that I'm like "okay, this isn't gonna change no matter how much I try". So I go off and maybe design something, play videogames, or read. Then randomly I'll come up with a solution to the problem (only to find another 😂)
-
Im having a sort of dilema. I recently started taking freelance work for web developement (and design ack) and Im uncomfortable with the state of the industry. Ill explain: Say if I bid a client for a simple 1-3 page site w contact form (a new page, not migration) My suggestion is to use djangocms, django, or just static html/css/js (ie bootstrap), which produces clean, fairly secure, and fast sites. Of course I can throw a templated unoriginal wordpress site together in a few hours 2 days latest, so I offer that option as a sidenote on the bid, charging almost 2x more. For some reason I dont understand they choose the wp shitshow. I explain all the reasons that not the way to go( which I wont list, if u dont know, u never used it. google up) but they dont care abt the details, they rather pay more for shit job. OFC I reluctantly deliver what they want, but as a result my portfolio is full of unoriginal shit Im not happy showing off. I have a few sites Ive done on the side my prefered way, but they not deployed and sit in my github for all intents n purposes unviewable to potential clients.
I want to be proud of my portfolio, and it to be a representation of what Im capable of. BUT, I gotta eat, and work is better than no work.
There are so many "wordpress designers" oversaturaring the field and it lowering the overall standard of what we are capable of. I just begining my dev journey, but if I cant have a body of work Im proud of, theres no way I can see doing this the rest of my life, and that makes me really sad. My love of developing, coding, and IT/computers in general drove me to change careers from audio engineering to web development, and the fact that this fucking mr. potatoe head of a CMS is slowly turning that love into hate really pisses me off. So Im ending this !rant looking for hope.
Your thoughts?1 -
I love it when sleazy business analysts change previous notes on a work item so it looks like they stated something they never actually had, especially when it's something that "I'll update the design after your development".4
-
I just came home from opening of the fiscal year of a small drivers' club and it was quite an amazing life experience.
I got about a 5-times "rise" for a first, small, post-due-time project.
All of the members were so relaxed in one of the most serious moments of an association. We ate, drank beer and had as much fun as possible without break the law and other rules.
The story goes like this:
I was an intern in a website development company as students tend to do. In middle of the internship my teacher asked me if I'd be willing to develop a website to the before mentioned organization.
School will help with the money by being as a middle-man. It wasn't going to pay much, about 120€ or so, it's nothing really for the job, but I said yes for the experience. We organized a meeting, school provided the space, and went straight to the business.
The development went quite well: I got the final design requirements late (there weren't too much), research a lot about CMS:s, ended up with a beta version CMS (a risk), learned it, developed some plugins (not published yet), kept copyrights for most of the work and so on.
I was done _relatively_ quickly with the project and was quite happy with it. Only things still pressing my mind was bugs of the beta CMS, support for the plugins and my somewhat inexperienced graphical design.
Then it hit me, the world. Hosting, domain transfer, certificates, registry agreements. Arrgh. Most of things were fine, I know them. I had luck that I had a technical contact for the club. It would have been a nightmare of it's own otherwise.
We had problems transferring the domain, again, as you do. The other hosting company was to blame. They were the n00bs here. I went trough the law, technical guidance, etc. I was having heavy messaging with my technical contact about it, who was a middle-man for me and the hosting firms.
After a long while loop of waiting, reconfiguring, researching and messaging, until he transfer was finally over.
We had a long while of radio silence after some bug fixes. Until the Christmas came and I was invited to a Christmas party in a cottage, third Christmas party that year. It was great fun. We ate, drank, talked, went to sauna and had a playful adult stiga or sledging competition, etc.
I updated the site yet again, a stable version of the CMS were published. Yess!
Another radio silence came and year changed. It was broken off by a call to the opening of the fiscal year, the same day. This is today, or yesterday by now. This was just after my current company's board game night. I was really busy that day. A whole afternoon of second-hand shopping around the city with a bike. I counted 35 kilometers. Yes I go by bike, don't own a car or have an driving license... Yet.
I wasn't horribly late, around 30 minutes. I started eating and drinking. Free food and beer! They was also late, they should've got trough the business before I got there, before eating. So I ate and listened. Learned more about having business or an association in general. Until my matter came to be heard. They thanked me of the co-operation and made public the change of my reward sum, I WAS GRANTED 500€ REWARD for the work. It's still not an amazing sum in a larger point of view, but I can imagine that it's big deal for a small non-profit organization, which was loosing money. Everybody applauded, every 25 members of the club. I was greatly pleased. I will have to update their site a bit still, but they are going to pay the reward ASAP.
Did I mention that the school works around the taxes, legally. Taxes for the reward, if it were assumed as a wage would be 15%, for me, at the worst case scenario, only for getting the money to my hands.
I was offered another gig at the event, but didn't promise anything yet. I left before sauna, so we didn't get to change contact details. He will find a way to reach me if he really wants so. I'm a busy free man.3 -
So i wasted last 24 hours trying to satisfy my ego over a shitty interview and revisiting my old job's codebase and realising that i still don't like that shit. just i am 25 and have no clue where am i heading at. i am just restless, my most of the decisions in 2023 have given very bad outcomes and i am just trying doing things to feel hopeful.
context for the interview story-----
my previous job was at a b2b marketing company whose sdk was used by various startups to send notifications to their users, track analytics etc. i understood most of it and don't find it to be any major engineering marvel, but that interviewer was very interested in asking me to design a system around it.
in my 1.2 years of job there, i found the codebase to be extremely and unnecessarily verbose ( java 7) with questionable fallbacks and resistance towards change from the managers. they were always like "we can't change it otherwise a lot of our client won't use our sdk". i still wrote a lot of testcases and tried to understand the working of major features.
BTW, before you guys go on a declare me an embarrassment of an engineer who doesn't know the product's code base, let me tell you that we are talking SDKs (plural) and a service based company here. their was just one SDK with interesting, heavy lifting stuff and 9 more SDKs which were mostly wrappers and less advanced libraries. i got tasks in all of them, and 70% of my time went into maintaining those and debugging client side bugs instead of exploring the "already-stable-dont-change" code base.
so based on my vague understanding and my even more vague memory from 1 year ago, i tried to explain an overall architecture to that interviewer guy. His face was screaming the word "pathetic" from his expressions, so i thought that today i will try to decode the codebase in 12-15 hours, publish a cool article and be proud of how much i know a so called martech system design. their codebase is open sourced, so it wasn't difficult to check it out once more.
but boy oh boy i got so bored. unnecessary clases , unnecessary callbacks static calls , oof. i tried to refactor a few classes, but even after removing 70% of codebase, i was still left with 100+ classes , most of them being 3000-4000 files long. and this is your plain old java library adding just 800kb to your project.
boring , boring stuff. i would probably need 2-3 more days to get an understanding of complete project, although by then i would be again questioning my life choices , that was this a good use of my 36 hours?
what IS a correct usage of my time? i am currently super dissatisfied with my job, so want to switch. i have been here for 6 months, so probably i wouldn't be going unless i get insane money or an irresistible company offer. For this i had devised a 2 part plan to either become good at modern hot buzz stuff in my domain( the one being currently popularized by dev influenzas) or become good at dsa/leetcode/cp. i suck bad at ds/algo stuff, nor am i much motivated. so went with that hot buzz stuff.
but then this interview expected me to be a mature dev with system design knowledge... agh fuck. its festive season going on and am unable to buy any cool shirts since i am so much limited with my money from my mediocre salary and loans. and mom wants to buy a home too... yeah kill me3 -
Story of my first successful project
Being part of a great team, I've shared in a lot of successes, one I am particularly proud of is my first attempt to use agile methodologies in a deeply waterfall-managment culture.
Time was June/July-ish and we applied for a national quality award where one key element in the application stated how well we handled customer complaint resolution.
While somewhat true (our customer service is the top-shelf good stuff), we did not have a systematic process in resolving customer complaints. Long story short,
the VP lied on her section of the application. Then came the 'emergency', borderline panic meeting (several VPs, managers, etc) to develop a process to better manage
complaints before the in-house inspection in December.
As most top priority projects go, the dev manager allocated 3 developers, 2 DBAs, and any/all network admins we would need (plus all the bureaucratic management that wanted their thumb in the pie).
Fast forward to August, after many, many planning meetings, lost interest, new shiny bouncing balls, I was the only one left on the project. The VP runs into the dev manager in the hallway and asks "Is my program done yet? If its not ready before December with report-able data, we will not win the award."
The <bleep> hit the fan...dev manager comes by...
Frank: "How the application coming along? Almost done?"
Me:"No, haven't really started coding. You moved Jake and Tom over to James's team, Tina quit, and you've had me sidetracked helping other teams because the DBAs are too busy."
Frank: "So, it's excuses. You really think the national quality award auditors care about your excuses? The specification design document has been done for months. This is unacceptable."
Me: "The VP finished up her section yesterday and according to the process, we can't start coding until the document is signed off."
Frank: "Holy f<bleep>ing sh<bleep>t! No one told you *you* couldn't start. You know how to create tables and write code."
Me: "There is no specification to write to. The design document is all about how they plan on reporting the data, not how call agents will be using the application to serve customers."
Frank: "The f<bleep> it isn't. F<bleep>ing monkeys could code against that specification, I helped write it! NO MORE F<bleep>ING EXCUSES! This is your top priority from now on!"
I was 'cleared' to work directly with the call center manager and the VP to develop a fully integrated customer complaint management system before December (by-passing any of the waterfall processes that would get in the way).
I had heard about this 'agile' stuff, attended a few conference tracks on the subject, read the manifesto, and thought "I could do this.".
Over the next month, I had my own 'sprints' and 'scrums' with the manager (at the time, 'agile' was a dirty word so I had to be careful of my words and what info I shared) and by the 2nd iteration had a working prototype.
Feature here, feature there (documenting the 'whys' and 'whats' along the way), and by October, had a full deployed application.
Not thinking I would get a parade or anything, the dev manager came back from a meeting where the VP was showing off the new app to the other VPs (and how she didn't really 'lie' on the application)
Frank: "Everyone is pleased how well the project turned out, except one thing. Erin said you bothered him too much with too many questions."
Me: "Bothered? Did he really say that?"
Frank: "No, not directly, but he said you would stop by his office every day to show him your progress and if he needed you to change anything. You shouldn't have done that."
Me: "Erin really seemed to like the continuous feedback. What we have now is very different than what we started with."
Frank: "Yes, probably because you kept bothering him and not following the specification document. That is why we spend so much time up front in design is so we don't waste management's time, which is exactly what you did."
Me: "We beat the deadline by two months, so I don't think I wasted anyone's time. In fact, this is kind of a big win for us, right?"
Frank: "Not really. There was breakdown in the process. We need better focus on the process, not in these one-hit-wonders."
End the end, the company won the award (mgmt team got to meet the vice president, yes the #2 guy). I know I played a very small, somewhat insignificant role in that victory, I was extremely proud to be part of the team. -
When a client approves the website's design, and you're almost finished building the website (while allowing the client to view progress) and you suddenly recieve the request to change half the damn thing.4
-
Hand-coded or drag-and-drop web design do you prefer? And why?
I have been hand coding for a long time since I started programming. In fact, HTML is my first 'language'. I found that it is very slow to code compared to my normal friends who use Wix - which makes me consider a change.
Plus, I am not very good at designing.10 -
I prefer it doing 2 tasks parallely during the initial phase of requirement gathering and design phase.(makes more sense if you are working extremely new system and framework)
1. Keep collecting requirements from clients and understand them.
2. Collect different designing aspects for the project and parallely, build a POC for 2 purpose: to get hands into the new Framework and also as a demo to clients. Working on POC helps in 3 ways: Improving understanding of requirement, improving framework knowledge, and playing around with code whenever bored of designing and reading tons of existing designs..
3. Once primary requirements are clear and fixed, analyse all different designs, if possible I setup meetings with senior devs, principal engineers (they help a lot when it comes to reviews on scalability and reliability of a design)
4. The above design is mostly architectural level. Once design is fixed, then I start taking each component and prepare a detailed implementation design. (Notice that whenever I am bored of designing, I spend sometime in building POC)
5. In detail design, I focus on modularity and flexibility. Anything defined should have getters and setters for example. This will help you reuse your code. Keep the interface between components in your design as generic as possible, so that in case your MySQL is change to Postgre or NoSQL, your design should be able to adapt new features..
6. Instead of building entire project, define feature targets and deliver small features.. this will help you to be in line with the requirements with minimum deviation. -
I have a lot to say..
In my project theres a design department, since the beginning of the project they didn't want to be part of the scrum methodology..(they used to work waterfall..)
So.. they have a disorder on the user history needs, and they argue for every request that we need to finish the history..
They dont go to the plannings, dailys.. they dont know shiet!
And meanwhile telling u this rant im getting mad as fuck..
so at this point i cant even explain how FUCKING UPSET I AM & WHY THE FUCK people reject the change and decides to work by their own! fuck this!
anyways ill share 2 storys ( i have a lot..)
1. "Raise your hand if you dont know whats a button?"
So we created a standard button to be re used it in other forms..
The designer came late to the planning, and decided to change the button layout (again x4) & it's behavior, so he wanted "the button disabled, but not disabled", since he wasnt able to explain it as well, he got upset.. and said that we didn't know about how a button works & asked the public to raise up the hand who didnt know what is a button.. and we were like :
dude are u fucking serius?.. u cant even explain what the fuck u want, u came late, and know u act like if you teach about ux & design? fucking rockstars..
2. "why do you call me to the planning if you don't need anything from me?"
We ask and required the designer to be in the plannings to avoid the disorder and the delivery delays..
that day we didn't require anything from the designer, so he started complaining that we called him for no reason..
me : dude, d u even realize why is this meeting called planning? -
So a client (BPOS) asks me to build a website for their client(let's call them A). So BPOS decides to 'design' the site. The design is alright but the components they want does not exist. I need to build everything custom. And the website takes a few months longer than estimated. Mainly because BPOS doesn't do any QA for 3 months. At the end of the last month as we near handoff, BPOS wakes up and starts to do QA which mainly consists of vague information like " change to gray" instead of color codes and "increase font size" instead of the actual size.
By this time A is utterly pissed off and wants to give development to someone else. They get in touch with me directly to work with after the hand off by BPOS.
It's so amusing that I need to be in a KT meeting with BPOS and A when BPOS is pushing for annual maintenance and A doesn't want to give it to them and they keep ignoring BPOS.
ALL the delays are because an "account manager" who works for BPOS went on a trip to Australia.3 -
I am still confused why people treat testing as secondary position? Tester are paid less and they hire lower quality engineers. I think testing is as important as any other phase of development, like design or implementation. . . and yeah we do testing of our own code. The only thing I can do in my case is to see that people who change my code may not break basic functionalities. And again about edge cases, try to handle some other left to be seen in production( those which I could not think of due to lack of time) I take care not to leave edge case but sometime cannot do it. I just hope people realise the worth of testing.1
-
IOS keyboard is utter garbage. IOS as a whole is utter garbage, but the keyboard is the cream of the crop of garbage.
Wasting a user's time and destroying/changing the user's input against their wishes is malicious design of the highest order and this dumpster fire excels in it.
Type something completely valid and autocomplete changes it to something that doesn't makes sense. It not only gives you a terrible suggestion half the time, it will also change previous parts of the sentence that it somehow allowed you to keep. If you reject its suggestion, it deletes your current word and previous word(s), instead of restoring it to what it was before it made the terrible suggestion, like every other keyboard does.
Need to go back and adjust your sentence? If you tap it will hijack the cursor and highlight the nearest word it doesn't like instead of moving the cursor where you touch. If you accidentally hit a character on the cramped and unusable keyboard, congrats, you get to type the word again.
I know about hold space to drag the cursor.
I don't want Apple to decide for me that I actually wanted to go to the closest word it doesn't like, or the current word, or the next word based on a dice roll. I want the cursor to go where I tap. Like literally every other input device functions.
Want readily accessible numbers and punctuation? lol no
I know there's gboard, but compared to Android it's also almost unusable. This leads me to believe the keyboard is little more than a skin over the IOS keyboard engine, like Safari, another IOS dumpster fire. But, it is slightly better than the stock keyboard, which isn't saying much.
I yearn, minute by minute, for the time I can ditch this dumpster fire for a real phone.11 -
"Delete all code!" That should be the mantra!
Was watching some stuff from destroyallsoftware.com. Not entirely convinced. So I should cook up my own shit.
So here is how the argument goes:
There's quite some negativity in the term "legacy" software. Partly it may be the envy to software that runs on actual machines and is not that phantasm, that perfect first lines on a greenfield project until it gets messed up as it has to put up with all the real world messiness. But the negativity it deserves is actually for the code that we cannot get rid of. This ugly class or function that soaked all the complexity and functionality so it defies any positive change. And always when it appears on your screen, it irks you, enrages you, makes you punch the screen, because you can almost feel the distaste physically. - *That* is the definition of "legacy" in its true negativity. No software should be like that. On the contrary. Every line should be replaceable, dispensable, disposable. At the verge to deletable. Because you know: the best code is no code.
This is where my hatred of code could get productive: Delete all the wretched, loathsome stuff and replace it, with something that just sucks less and can be thrown away any time. Don't expect beauty or perfect design. It'll never finish.3 -
Sigh Im getting depressed from going to work whilst a few weeks ago it gave me a bunch of happines.
I think its due that management is approaching a triple deadline (?!?!?!) project in an agile/scrum way (?!?!??!)..
We can not change our data model completely when we have to be in acceptance in 3 weeks and do a demo in a few days..
Yes we can work around that but fuck database design theory and lets ignore all primary keys and foreign keys, great idea
We have to create and prioritise user stories on our own? We have two product owners and a scrum master.
Scrum master offers to deal with organising and creating tickets to organise Infrastructure without having a laptop of the client, so no Service Now access or any other system..
Guess who has to do it in the end..
Many question marks about this project -
What's the point of doing estimates per quarter if you are gonna change the estimates to projects that are being worked on to match the release date?
Also doing estimates per quarter before doing investigations on the requirements is a fucking shit way to do estimates. Arguably doing it per quarter is also trash.
We are not doing hardware design for fuck sake, we work on software, you bunch of retards.4 -
What's better for finding candidates for a development role: having the candidate solve a complex whiteboard problem or have the candidate refactor some code (maybe a couple of small modules) while explaining as he/she goes through each step?
I personally feel both are good, but I think refactoring is a very much needed skill when you're dealing with the complexity of millions and millions lines of code, so being able to change your inital design to make it more readable and flexible later on is crucial. And refactoring usually goes hand and hand with having tests in place.
An interesting exercise would be to give the candidate a test suite with the corresponding code that's tested in a working state and let the candidate decide how much refactoring needs to be done. In the process the candidate would need to break and fix tests of course while changing things... it'll give a good measure of their ability to take code and change it to a "better" state of design and flexiblity.
On the other hand I do think there is a place for cliche white boarding problems because it really shows one willingness to tackle complex problems which do arise in most development jobs. Asking the questions and being persistent goes along way and can really help when you're collaborating with other developers to solve an issue at hand.
Overall I think there should be a white board problem, but I don't think that should be the deciding factor. Rather couple it with other very practical skills you should have as a developer already; among those being refactoring.1 -
Do you plan the application, on which you will be working, before you actually begin to write code?
I do web development and usually begin with something rough or look at designs of other developers. Like an dashboard example, when I see an image on google search that I like, I try to make something simmilar and when I have the surface I can add the functionality and improve the design.
Sometimes I have to make changes in half of the development because at the beginning there was no assumption that there will be a need for a certain functionality or I change a implemented feature to work properly, so I have to refactor something I made as a ground on which other parts will rely, although if I had planed the application in detail, maybe it wouldn't come to such refactoring.
In school we did prototypes, used to draw flowcharts and hold on a precedence diagrams that we made, but now at work when I receive an projekt I just begin to code :-D maybe this should change, how do you do it? If you plan your project, how do you do it?9 -
I am put to the task of creating a Chat Robot in ChatFuel.
Cool, I thought at first.
Cool is not what I would call it at this point..one week later.
The size is a factor at play, for sure, it needs to point to 27 cities and give individual information, handle e-mails, phone, automate e-mails.. a bunch of stuff.
Now, I am located in Sweden.
{{city}} as a set user attribute acknowledges Gothenburg and geolocation thusly worked fine for my boss. But not for me, and won't work for any other city.
So..Global AI calling for static blocks it is... 27 blocks...
For two languages.. 54 blocks...
Static pointing to the first answer for every individual block multiplies this by a factor of two. 108 static blocks. Fine.
I have since realized that my ChatFuel-Luddite ways were limiting the expected performance of the end result and learned that most other set attributes in ChatFuel work fine. Yay.
So we set up everything the last 54 blocks need to do with user attributes and to my surprise it works, really well at that. The answer from a user that is a correct city puts you into a block that is a series of questions using user attributes, both {{first_name}} and {{last_name}}, asks for e-mail and phone, displays an image and stuff like that.
Now.. as I attempt to copy these blocks..
THEY JUST POOP OUT CHUNKS OF THE ORIGINAL BLOCK. IT'S INCONSISTENCY IS STAGGERING. IT NEVER REALLY COMPLETES THE DUPLICATION, NO ERROR MESSAGE OR ANYTHING.
Which then reminded me of when my boss asked why everything was botched earlier in the project, at that point I copied the entire bot as a fallback and worked with my change in the copy first for safety reasons, didn't work, copy wasn't entire.
Wasted fucking hours on this.
I'm glad my boss is cool, and the job is easily worth it. I actually think that the design aspect of ChatFuel is nice, and the people behind it are kind in the facebook group and all. I don't think they're trying to be mean. But holy shit.
This has been a mental anguish that levels pissing bleach filled with fire ants.
" You could've easily solved this with APIs and third-party geofencing services ", yeah, but their services won't stack for the customer, nice attempt though.
Deep breaths.1 -
OK. So you task me with a project with incomplete requirements. I probe for more details and submit my design based on that. Then I learned that the incompetent bunch you've hired as support and devs cannot fill a proper documentation request right and they STILL have details untold, and now I have to change my design again. But yes, Its totally my fault. I am such a bad system designer am so deserving of a bad performance review.2
-
I've been working in web development and design since 2012 and, while I've worked with others in my field along the way, I've not forged any lasting friendships... maybe I'm just a shitty person? I've burned some bridges that's for sure. Anyway, it all boils down to: I have no one to bitch to when I want to stab someone in the abdomen over frustrations at my current job.
Enter devRant...
I'm coming up on the year anniversary at my new position and there is still a lot to take in. I replaced a "web guy" who had been doing it for 20 years. Anyway, his stuff is all a mess, and what's worse is that the problems I'm seeing stretch far beyond my own responsibilities. I'm in a group of "tech" people who have all been here for a decade or more, and they're almost all like the guy I replaced: set in their ways and years out of date.
There is one gentlemen who is managing a database application and each site links to his ASP (not .NET) pages. Each of these pages looks like the website they were linked from. He showed me how he achieves this and it's just insane - he uses a bunch of files (basically just text files) that make up different pieces of the page to recreate the look/feel of the website on this his server - just to serve the information from the database. God forbid the website changes 'cause then all his little files need to change.
When I suggested that I can just query the database myself and display all that information on the actual site instead of doing all these redundant steps, I get "I think we should stick with the way we've been doing it for now."
*stab stab stab*4 -
In a e-commerce project my client asked for tax calculation with static some x value all the time.
Me: As promised your site is live and please check it.
Client: Checks everything. I want this tax to be dynamic.
Me: That was not mentioned earlier. Now I need to redo the design which takes much time.
Client: You will just change the addition at the end then what's with the design change.
Me: ( I killed him already in my mind)
Truestory 🍻2 -
TLDR: I wanted to change email to new one, but I could not remember which one I have
currently. I found out an API in DevRant JS files for email verification and used
it to find it out.
So, I am moving from Gmail to Protonmail Pro, absolutely love their service.
I wanted to do same on Devrant but I could not figure out my current mail for
"I lost my password" form. My Password Manager have only login saved, and profile does
not show email address.
I thought that this user information is stored on server so it have to be some way to retrieve it. I dug
in source code and I've found:
`<div class="signup-title">Verify Your Email</div>`
Which has event assigned to function which uses jQuery.ajax (love it btw :D) to call:
`url: "/api/users/me/resend-confirm",`
This seems like worth a shot. Few copy-pastes and one ajax call later:
*Ding*
From: support@devrant.io
To: dawid@dawidgoslawski.pl
"Welcome to Devrant"
Got it :) So I have already changed in march when DevRant on previous layout.
This is what I love in this profession - problem solving. AI will not replace human
in any way, we will just stop coding array iterations and data manipulation - we will focus
on real problem solving and human touch (like design, convincing management for changes).1 -
So here I am coming to the end of the week after getting The Porcupines big web project into production. Pulled a 38 hour straight from Sunday to Monday chopping wood to make the thing fly. Pulled in other programmers and content creators to get the site full of something we did not have a week before. The fun part was having the account manager right there for 30 plus hours and actually seeing what it take to save a project when the client just thinks "it's just code". Now the boss has is asking for a list of all the work out of spec as they are bitching about the extra cost. These were the clients who did not read the functional spec and raked me over the coals after release that the home page did not match the design (the home page matched the design). I warned my team this would happen. They get all swept up in the hype and We can win! frame of mind and you can bet when the bitching starts it will come back to the paperwork you did at the beginning and the change requests and productions systems reports so you can wave it in front of ungrateful clients and not end up sad. Make sure you keep notes and document all of the requests and changes from internal and external even if you do not have to. one day it will save your ass and you will be able to whip it out and be a smiling motherfucker.
-
I hate it when my bosses approve of a design and then after some time ask me to make some annoying changes. I love programming, but I don't like being bothered by boring tasks.. and the worst part is that my bosses expect me to take care of building the backend, front-end, complete the design of the screens available, make up designs for the screens that are not, test the Web app, solve the bugs created the people who also worked on the project, solve the bugs created by me, and if something is not clear, to ask the client directly, like dude.. I'm just an intern here... and the most annoying of all this is when they take a screenshot of something they don't like and simply write: "change this".... CHANGE IT TO WHAT? if I knew what you would like I would have already done it!!!
-
I want to know the name of the evil mastermind who once conceived the "literal" function in Sequelize.
- You design a method to insert pieces of raw SQL exactly the way they are written, no further processing
- You release this method, you call it LITERAL to make sure people know its intended purpose: it is used to insert LITERALLY everything you write, nothing more and nothing less
- Then make sure this "literal" method changes the fucking case of column names. Because that's what "literal" means in the head of this rabid animal: you arbitrarily change the code written by the developer
WHY
WHY ARE ALL AR ORM DESIGNED BY FUCKING ANIMALS
ELOQUENT IS TRASH, SEQUELIZE IS TRASH, TENS OF DEVELOPERS AT WORK TO ALCHEMICALLY CREATE THE MOST ROTTEN CODE THEY POSSIBLY CAN, BECAUSE YOU MUST NOT BE ALLOWED TO WRITE ANY QUERY MORE ADVANCED THAN "SELECT * FROM users WHERE id =1", NOT A FUCKING SHRED OF DOCUMENTATION AND 16 MILLION LAYERS OF ABSTRACTION TO MAKE SURE EVERY BUG FUCKING STAYS THERE, DON'T YOU DARE TO USE A JOIN, DON'T YOU DARE TO TREAT A DMBS LIKE AN ACTUAL FUCKING DBMS INSTEAD OF A HOT STEAMING PILE OF METHODS IMPLEMENTED BY MONKEYS.6 -
Any of us had annoyances with people with “a million dollar app idea” but what about these which gives unsolicited career advice?
I’m dealing with a boomer which keeps trying me to change my career and work into cyber security (because TV told him it’s a well paid field) despite me kindly telling him for multiple times which it’s not going to happen because I won’t throw away a career I love to work in a field which seems deadly boring to me (I love anything about coding from design to typing for hours on Vim meanwhile the only thought of reading for hours obscure documentation to find potential vulnerabilities on a system kills my spirit).8 -
Client: We've gotta launch *now*! Where is the ready version? Get it all done yesterday!
Me, after fixing it all: There you go, we can launch now! I just had to work like mad, you're welcome.
Client: We have changed our mind on the design and we talked with tertiary shareholders and and and, and it seems we're gonna launch in 2077, now change everything
Me: :^)))2 -
You have to love systems people who tell software people how the software works. Especially when you are trying to tell them why a problem is occurring in the software. Like software guy is like:
"this is breaking because a number is getting overwritten in the system by a product we interface with and have no control over"
"Well you need to stop the number from getting overwritten"
"then we're going to have to overhaul the design of the system"
"you don't have to redesign the system, you just need to circumvent the product that is overwriting the number"
"Yeah, a design change."
Dude is the interim system lead and starting to get uppity. Even though it's his group that is behind which is why we are driving changes to the system rather than them. -
Has anyone ever worked on a project with no architect or team lead? And where no team member has knowledge of OOP or functional, or restful design, or deep framework knowledge or deep language knowledge? And where the accepted best practice for all devs is to copy paste everything so that there is no area you can change and cause breakage elsewhere? And people regularly commit 1000s of lines methods and have never unit tested before?
Because I do right now. Feel free to ask questions of you want.11 -
Hey Linux users!
I have successfully convinced a friend to change from MacOS to a Linux based system (because she needs new hardware).
Now I am asking myself which distribution would be most qualified for her. She is a relatively old lady and only knows Mac (no Windows or Linux knowledge), so it should be easier for her if the new system would look similar to the Mac environment she knows. (Using console is no problem.)
Another point is compatibility: She needs some (commercial) software (like GitKraken and design stuff), so it would be cool if the Linux versions of them would work on the distro (for one or two programmes Wine is needed).
After my own reasearch I came up with Elementary OS or Gmac.
Because I have no experience with Mac I want to ask you: Has anyone here some experiences with these two systems and/or with a change from Mac to Linux and could recommand a distribution or desktop environment?
Thank you!10 -
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. -
19:30, still in the office fixing server issue. Lync message pops up from "let's call him the ba", help! Need to rollback a change on someone else's project that has just been deployed changing the username and password from Xxxxxx Xxx2016 to xxxxxx xxx2016 to stop people from accessing it.... Genius design! By the way, I've just had a look at that 40 page doc of changes you emailed him. When do you want it? Tuesday. Wtf? (Bank holiday here on Monday so one day to make the changes) Ok, if you're busy, it's only text changes so can some of us help? It's only a find and replace right? Er, do you have visual studio? What's that? FU
-
Am I the only one who hates the current status of Windows 10 where it's slow as fuck on an HDD? And I honestly don't like it's design... Even today I started messing with a Windows 7 PC and loved the OS theme and design again (though the icons may need a change). Well, back to my Elementary OS I go...1
-
Ever since I started learning about React with Typescript my respect for design patterns that restrict how state can change has grown massively. On the web, nothing happens when you say it should happen; everything always takes a while to execute and there is always a transactional period between validating an action with client-side state and receiving the result from the server, and if you want to account for that everything becomes infinitely more complex and you eventually end up with mutexes.5
-
Oh the joy of multi-site working and design reviews in bigger corporations...
I try to propose if we could do it on-line with BitBucket commenting etc. Just put your comments there, we discuss it there, each in our own time, and get things closed.
But no. It's nicer to arrange 2-3h conf calls. So that we can really discuss items (and the reviewers don't have to do anything before the call). Nothing can be done beforehand. And the reviewers get to comment not only on design matters, but on system level things too. Like "I wonder if this would be better in place X". Well sure, maybe, but that's system level decision and would require architects etc. And all that work was done 2 years ago, we're supposed to now just check the source code (which you guys wanted me to change).
Ok, so I will arrange a conf call. Our time zones are not the same, so one guy is coming to the office when another is almost leaving. One wants to have Wednesdays meeting free. One has lunch at 11, another at 13. For fucks sake. Some guys have filled their calendar with meetings, most of them which they will not attend anyway, but Outlook shows them as "reserved".
So I spend my day trying to find a free spot that everyone could join. Half of the guys won't read the code and won't give any comments, but still need to be there. And then there are those comments saying "I'd like this variable name to be different" and "it would be cleaner if this was done like I do". Same people produce unreadable mess themselves, but somehow always manage to dodge all reviews of their own stuff. -
UX and Game Design: "Keep It Simple" Is Stupid.
Presentation, Content, and Structure
Often when designing a UI, I stumble across blogs and articles that discuss it and focus far too much on the structure. Wordpress is terribly guilty of this and I see it fairly often in the game industry.
In web design you might use flexbox for a content-centric design and not worry too much about the layout, or css grid if structure seems important. But the broader question is why? Why is structure important and why is it wrong to focus on structure over content?
First, structure *comes* from content. Even where over many years, we've taken certain kinds of content, be they the various genres of games, or the sundry type of websites or apps, we've learned to take all the various patterns and categorize them, to extract the commonly repeating idioms into what we call structure.
But if you're experienced, and a fan of UI design in general, then I bet you that you can name a number of counter-examples, those that broke the mould, or broke the 'rules' of good design and still somehow worked. And that follows *because* structure is derived from content. This is the same reason idioms, patterns, and best practices change over time, as we codify exceptions into their "own" rules, new best practices emerge which mostly everyone follows, and then yet more exceptions break them. And so it goes.
So we see content before structure. But isn't there something to be said of style? Why yes, there is.
To read the full article, all 14k words of it, head over to medium for more:
https://swcs.medium.com/ux-and-game...5 -
Vodafone Quits Facebook’s Libra Cryptocurrency Project
“We can confirm that Vodafone is no longer a member of the Libra Association. Although the makeup of the Association members may change over time, the design of Libra’s governance and technology ensures the Libra payment system will remain resilient,” the Libra Association said in a statement.
“The Association is continuing the work to achieve a safe, transparent, and consumer-friendly implementation of the Libra payment system.”4 -
I honestly have come a long way. But I still have these moments when I just lose confidence In myself, and while grieving it can be worse/more frequent.
I’m being taught some networking programming from this person I befriended and it’s going wonderfully! But I don’t know how much I’m taking in. I don’t know if I’ll be able to completely understand while I’m using what I’m learning, but I guess part of the learning is by using and doing. But what if I need to change it up for a different purpose but I don’t know how?
What if I’m not programming enough? When working on this project/learning the stuff from my new teacher friend to actually make some of the stuff I usually work on that for 30 mins to an hour and a half maybe even 2. Relax, do some college, play games, then later I’ll try to work through a few exercises of my C# WinForms book.
And before you say it I’m not balancing too much on my head. I’ve learned GUI’s before with Python I’m just reflecting that to C# and it’s easy and I’m always in a separate headspace for networking. But it all just doesn’t feel like enough?
It also doesn’t help that i don’t feel like I’m doing anything special that I can boost my confidence with. Usually in a project I won’t feel like I’m doing anything until a cool or special feature is made and I know that’s bad I hate it but I can’t avoid it and I want to feel good even when nothing completely out of this world is made that day.
And I’ve definitely come a long way I’m proud of myself but I just hate getting these feels. And It happens a bit when I’m learning because I’m afraid I’m not learning and I’m gonna keep copy pasting the same code snippets for different projects and I don’t want that I want to be able to fucking edit and change it or make a completely new one of whatever it is but my design but I guess that takes experience with it first.
Thanks for coming to my TED talk -
Garbage collection incentivizes shit and cuckold programmers. Change my mind.
Reason is basically, it's easy to design a bad architecture, potential bugs are just delayed and waiting to happen later. There are still resources like databases, whose management is more or less like memory that you never learn to do properly because of GC15 -
I have a system design question I was hoping u guys could help me with.
So I want to make a display that shows an animated wallpaper. I want to have a camera in the display that will recognize finger gestures and will change the wallpaper accordingly (shuffle to a new one, etc.)
EX: when the current wallpaper is displaying, when the user shows the camera the peace sign, it will switch the current wallpaper to a random wallpaper.
I used tensorflow and the mediapipe hands library to get the finger gesture recognition to work. I used tensorflow, python, and openCV.
Now that the finger gesture recognition is finished, I moved to the animated wallpapers and I made a couple with p5js.
How could I best combine the two? Should I switch from tensorflow in python to tensorflow.js? Or should I find a way to re-do my animated wallpapers in python?
My original plan was having the foundation of the whole system be python. This is so I can have the finger gesture recognition run on the main thread, and have another thread deal with the wallpapers.
Let me know if u guys have any ideas or if I’m not clear. Thanks!!!4 -
One thing I realized about my workplace: when you're given a new template to be used for an existing website project, do NOT use the included CSS files. Seems like it would be better to just manually change the looks of the website to make it similar to that template, lest you want some alignment stuff to break.
Plus, it seems that I don't even need to meet all the design requirements, because whenever I try to do that, clients tend to forget the design they originally gave and request for all these changes.
One more month... One more month and I'm off to bootcamp to properly learn.1 -
I once had this discussion with my manager
Me: Hey i have an idea to improve our overall system but since it requires design changes which may break the system , can you provide me an experimental environment to implement and test it.
Manager: you should write code in a way you can flight it (disable/enable any changes)
I was totally out of words.... Who the hell flights a system design change?! -
Yay, nothing better than good ol' change request... Right?
Let's see...
Limit user's ability to do sth, if this condition is met, allow editing global parameter of this condtion, than add per action overrides, on top of that add per-user override, on top of that add per-user overrides to ignore certain overrides.
Shiit man, reading this took me 3-4 times and still Im not sure if I 100% understand
Okay, I think I got this.
setting
per-user ignore flag to setting
override to setting
per-user ignore flag to override to setting
override to override to setting
per-user ignore flag to override to override to setting
design assumption: automatic system that can make life easier
me: designed system to be fully automatic
every single change request: be less automatic, require more user manual and more attention to work2 -
Im creating a "settings" functionality of sorts, unique per "account"
Ideally I'd create a new table, FK it with the Accs table with each Setting variable being a column
But im also inclined to just turn it into a JSON and not bother with N columns for it specially since arrays are involved in the settings
Could version it to ensure that if Settings change on code-level, old accs with old settings dont get fucked up
Now this is a pet project so im free to experiment, not bound by high level design documents
What do y'all prefer/recommend? JSON<->Settings Obj or plain old Table/column with FKs9 -
Product designer keeps on changing designs and managers approve it every single time. Totally frustrated to work. Why can't they think of scenarios based on design? Why should they allow me work on something guaranteeing that things won't be changed but change every single time.
I know product specs change, but too much of change frustrates the developer. Why does no body care for developer's mindset? -
Just completed half of the website for a client with number of meetings and after last meeting he says I'm bored with this design now change it and make something new with new components and new Colors. I haven't replied yet, best comment will be my reply xD5
-
Company website created by a third party developers ( paid ) and after a year the new company team does not like the design and asks the inhouse developer hired to create internal apps ( develop office workflow related apps) to change the design of the website and not be paid for it (add new work to the list of works and not be paid extra).
And that they don't want to pay someone to do it again and when the dev ask them what they want in the website , it seems like they are focused on updating content ( which they have access with the wordpress admin panel they have been given ) and a bit of design changes which a dev would do within a few hours and they will have to pay v little for it.
Why does ppl think that devs have all the time in the world to do free stuff !!! and most of the times we are doing more that everyone else in the workplace combined and when we don't do something its like you are not corporating with us, u don't work much and u have too much free time. -
Client wants to be able to edit invoices after they are collected. So essentially he could tell a customer "you didn't pay enough" and if they don't have their receipt then they're screwed? So instead i let him delete invoices. Can re enter them with back date. But not good enough. Still wants to edit existing invoice to change customers account balance. On a whim. This info should be coming from the app in the field when employee takes payment from customer. That's the design HE signed off on. Now all This shit about pulling a fast one on his customers. Not comfortable here. Seems crooked or am i over thinking so i don't need to add another CRUD flow?9
-
Am I the only one who thinks that Apple loves fucking over its developers? Besides for the yearly fee, they seem to release iPhones with drastically different screen dimensions, which forces devs to make their apps compatible with a new layout. I can't imagine the nightmare this causes for devs of games, which often have custom UIs.
First we have the change to a taller screen dimension for absolutely no fucking reason, then there was a display size increase, and now there's curved corners and the top of the display extends on both sides but not the middle.
That last bit must make for some really fucked up design decisions. Who the fuck thought that a partial screen would be a good idea? Screens would cost a ton more and would be substantially harder to replace. Not to mention how screen protectors will be less likely to stay on...
IMO this is just as bad as Android version fragmentation. 😒2 -
This is the first time I have a bad PM and it's much worse than having a pain in the ass colleague dev. A bad dev will mess his/work project and maybe slow down 1-2 other devs.
But a bad PM will doom the whole project, wasting lots of time of the devs working under him/her. Costing much more company's money.
PM:This task should be ready by next week.
Me : This task will require X weeks time for developing and delivery
PM: What?! That's too long, it's a simple one, should be done in a few days.
Me: **explaining the challenges, limitation, env set up, testing etc. Also because I am a junior so may take more time than experienced dev**
PM: **insist that this is important blah blah**
Me: Understand your points but X days is just too little, I don't want you to blame me for missing the deadline. Either we get a reasonable deadline or you can get more experienced dev to do it faster.
**Knowing well that I have the most experience in this task and other devs are busy with their own tasks**
In the end I have to escalate this argument to more senior manager because both of us won't budge. Not only she agreed to extend the deadline she also assigned a senior dev to help me when I am stuck.
His other mistakes I noticed during my time working under him:
- not consulting senior dev for the approach to the task (thus we have to change the design twice).
- assigning tasks to people without sufficient background (a java dev is being assigned a python task, it's doable but it's going to be faster if we assign to someone with more python experience right?)
I understand that our company is short-staffed, but I begin to wonder if the stress the devs endure is because of that or because of his incompetence.
Next time, I am going to specifically ask not to work under him again.2 -
That moment that you change one tiny fucking thing in the application's technical 'design' which makes that you have to rethink the entire fucker both functional and security-wise.
Sometimes I have a love-hate relationship with application security. -
I’m working on a new app I’m pretty excited about.
I’m taking a slightly novel (maybe 🥲) approach to an offline password manager. I’m not saying that online password managers are unreliable, I’m just saying the idea of giving a corporation all of my passwords gives me goosebumps.
Originally, I was going to make a simple “file encrypted via password” sort of thing just to get the job done. But I’ve decided to put some elbow grease into it, actually.
The elephant in the room is what happens if you forget your password? If you use the password as the encryption key, you’re boned. Nothing you can do except set up a brute-forcer and hope your CPU is stronger than your password was.
Not to mention, if you want to change your password, the entire data file will need to be re-encrypted. Not a bad thing in reality, but definitely kinda annoying.
So actually, I came up with a design that allows you to use security questions in addition to a password.
But as I was trying to come up with “good” security questions, I realized there is virtually no such thing. 99% of security question answers are one or two words long and come from data sets that have relatively small pools of answers. The name of your first crush? That’s easy, just try every common name in your country. Same thing with pet names. Ice cream flavors. Favorite fruits. Childhood cartoons. These all have data sets in the thousands at most. An old XP machine could run through all the permutations over lunch.
So instead I’ve come up with these ideas. In order from least good to most good:
1) [thinking to remove this] You can remove the question from the security question. It’s your responsibility to remember it and it displays only as “Question #1”. Maybe you can write it down or something.
2) there are 5 questions and you need to get 4 of them right. This does increase the possible permutations, but still does little against questions with simple answers. Plus, it could almost be easier to remember your password at this point.
All this made me think “why try to fix a broken system when you can improve a working system”
So instead,
3) I’ve branded my passwords as “passphrases” instead. This is because instead of a single, short, complex word, my program encourages entire sentences. Since the ability to brute force a password decreases exponentially as length increases, and it is easier to remember a phrase rather than a complicated amalgamation or letters number and symbols, a passphrase should be preferred. Sprinkling in the occasional symbol to prevent dictionary attacks will make them totally uncrackable.
In addition? You can have an unlimited number of passphrases. Forgot one? No biggie. Use your backup passphrases, then remind yourself what your original passphrase was after you log in.
All this accomplished on a system that runs entirely locally is, in my opinion, interesting. Probably it has been done before, and almost certainly it has been done better than what I will be able to make, but I’m happy I was able to think up a design I am proud of.8 -
Project has been in flight for months. Solution design complete. Last minute major scope change by management. And I'm about to start rewriting a high level solution design doc to reflect their sudden change now. Due first thing in the morning. Its almost 12:30am local time.
Kill me!1 -
so. design change comes in. not alot of detail. by quick scan it looks easy. then reading in detail it becomes a pain of the ass hurt as people did not think things clearly by asking to take away things that shouldnt be taken away !!!!
-
*Begin rant*
I know I'm a bit late to bitch about this, but why would anyone in their right mind remove a UI/UX gesture that was loved and adored by millions and replace it with a far less intuitive gesture? I'm talking about Google's decision to fucking replace the Google Now swipe to dismiss cards gesture with a two stage tap and click to hide stories gesture! Why the fuck would you do that? The buttons are far too much of a precision action. And they are located at an area that is not natural for a single handed use. What this has effectively done is, force me to use my phone with two hands. And I fucking hate it! Can anyone here give me a valid reason for Google's design change? It's beginning to get on my nerves and my OCD compels me to hide all the cards until there is none left, so not minding it is not an option! Ughh!
*End rant*2 -
You know it is not acceptable to not finally answer this goddamn question for myself or with some help !
PyTorch is driving me insane !
I follow the goddamn docs, practically just created a copy of the sample for the training portion, even if my design were to suck, the training steps SHOULD change the model parameters right ?
so if I do a...
model.parameters().clone() before training
and mode.parameters().clone() after training
torch.equal(p1.data,p2.data) should be false right ????6 -
Some mobile file managers kick me back to the beginning after selecting items for copying or moving.
When tapping on "copy" or "move" after selecting files/folders, some file managers like ES File Explorer (back when it was popular) conveniently remain in the current directory, whereas the stock Android file manager and many vendors' pre-installed file managers like that of Samsung kick me back to the initial directory. On phones with MicroSD, that's the storage selector, and on phones without, that's /storage/emulated/0/.
If I wanted to move files into a sub folder of the currently viewed directory, I have to navigate all the way back to that current directory, which is, needless to say, annoying.
Who thought it was a smart idea to kick the user back to the initial directory? But vendors' pre-installed file managers tend to be garbage anyway. Samsung's "My Files" file manager does not let me enter file names longer than 50 characters, does not let me change the extensions of files, does not support selecting files from search results or jumping to their parent directory, does obviously lack range selection, hides the status bar while opened (what's the point of that?!), its search feature is slow and sometimes crashes, and it can only search the entire device storage or memory card and not individual directories.
It's almost like Samsung deliberately tried to design a file manager as terrible as they possibly could.5 -
Visualize the entire complexity of the content within the project so that you know what data users will need to access, and compartmentalize those in to separate modules that you can build on over time. Think about any limitations with accessing that data (does the user have that role, what if the data is accessed simulateously, how to handle the same user accessing from different devices etc).
Think about the devices being used - is it going to be a website, an app, both? How best then to access the data? Direct access to a database, or an API system?
Then think about the front-end design and how to simplify the view right down as much as you can. Again, break it down in to modules.
Then decide on the technology you want to use, and what libraries would help simplify things.
These days I like to use JSON API's to access DB content because app and web technologies change quite often but the API will be accessible to whatever I use to build it.
For websites I love using Laravel, which simplifies the back-end tasks, and mdbootstrap which simplifies the front-end tasks and looks "appy". -
Ready program written in C #.
The idea of the program is an inventory system, it is a form screen, and each screen has a design.
The required: Modification of the form and design of the form, for example, the background of the form is black (Dark) when trying to change it from the properties or code. No results.
Also, when adding an image in the background, it does not appear when running the program and the program's interface remains in black, knowing that it is a metroform user.4 -
At my current internship it depends on how often the customers mind does change about the design of the moment. Ending up with an average time of "i dont know, lets just do what he asks"
-
Design Decision:
We have an API and a lot of microservices based on that API. Additionally we have a store of protobuf-templates (files to automate serializing certain events etc).
Currently for each service we have the API with general stuff (connection stuff etc) and then copy the 5 or 6 proto-files we need for that service, they update sometimes, so does the API, for each service, two things that need to stay updated. Which option would seem more logical to you?
a) Integrate all proto files into the API. The services then only need to update the API but they also have access to many proto files they don't need for that service (which are required for other services however)
or
b) Keep them seperated and keep manually updating the proto-files for affected services
Disclaimer: our proto files are always backwards compatible by design, both the API and protofiles change fairly frequently.
Ty -
There's time crunch already, we need to finish this feature, this stupid fucking feature, quickly.
We design, and then code and obviously because of Murphy's law, our code doesn't work. Why, you ask. Because some shithead was modifying arguments behind the scenes and it took us fuckload of time to reach this conclusion.
Out of frustration, I made this.
https://github.com/iostreamer-X/...
It's a tiny library which helps you log every single change done to your object.
But seriously, fuck that shithead who modifies things without a care in the world! -
Didn't happen to me, but to a friend. It was freshman year of college and we were taking an intro engineering course where we had to take apart an old camera and replace some gear in the camera with one we designed ourselves to change the shutter speed. We were split into groups of 3 and had to submit our first lab report detailing our design plan by week 2 into the quarter. Right before the due date, one of the kids in my friends group DROPS OUT OF COLLEGE because he thought the project (2 weeks in) was too hard, leaving my friend and her partner to finish his third of the report that he didn't do. They didn't even get a third partner for the remainder or the class. Two people had to bear the work of a quarters worth of assignments meant for groups of 3. Thankfully they were able to do everything and got a passing grade in the end.
-
Can you recommend a design pattern for dealing with workflows?
I am wondering how to represent a decision tree while also making it easy to maintain and each step should be unit-testable on its own.
I want to avoid a big if-else-block, but I am also unsure what design pattern to apply here.
Basically, there a bunch of yes-no-question (though some conditions may be more complex) that can be nested very deeply, and depending on a certain set of requirements we want to display different actions.
(The workflow is fixed, there is only 1 at at time yet it may change a lot over the next iterations until we figure out what our userbase wants.)4 -
How to Create Beautiful and Durable Pie Boxes
Whether you are looking for a unique gift to give, or you are looking to protect the delicate items you hold, there are many ways to do so with the right pie boxes. By using a custom designed box, you can capture the essence of the delicacies you are storing and protect them for a longer period of time.
Protect delicate items
Using pie boxes is a good way to protect delicate items such as pies, cakes and desserts. However, you need to be sure that the box is the right size and shape to ensure that your item is safely packed. If you don't pack your delicate products properly, they could suffer from moisture and change in temperature.
Before you begin packing your goods, consider whether you should use bubble wrap or paper. While bubble wrap provides an extra layer of protection, it can also leave your product vulnerable to scratching. Choose paper to wrap your items, as it will prevent scratches and will keep them from shifting during transport.
When wrapping fragile items, you need to use a lot of packing tape to secure your package. You should also fill any empty space in the box. You can do this by using bubble wrap, or by adding extra padding. Make sure to mark your box as fragile and to place a label with your name and delivery address on all sides of the box.
Once you've completed the packaging process, you need to seal the box and place it in the shipping box. Besides bubble wrap, you may also want to include ice packs to add extra protection. A cushioned ice pack is another option for additional protection.
You should also use quality packing tape, and make sure to cover all the openings of your box. You can also use zip-up bags to help you keep your things in place.
It is important to know the best way to protect delicate items, so you can prevent them from damage during the shipping process. There are many ways to do this, but you should use the right tools for the job. Purchasing a box that is the right size and shape for your items is the most effective way to do it.
When you use custom pie boxes, you can rest assured that your pies, chocolate pies and other edibles will be safe. They're manufactured with modern equipment and environmentally friendly printing techniques.
Make a gift
Whether you are giving a pie for a birthday, wedding, or as a thank you gift, you can make pie boxes that are beautiful and durable. Several pie box designs are available online, but you can also create your own. Here are some simple instructions to make a simple, yet elegant box.
The first step is to print out a template of a pie box. You can use a piece of scrap paper or decorative paper for your design. If you are using decorative paper, cut out a rectangle the size of your box. If you are using colored cardstock, you will need to cut out a pie filling layer. Once you have a pie filling layer, copy it for several boxes. You can also add other designs or embellishments to your boxes.
Next, place your colored cardstock on your cutting mat. With your x-acto knife, cut out a rectangle that is as large as your box. You will need to fold it on the dotted line. If you are using an x-acto knife, it will be easier to fold the box. Alternatively, you can use a scoring stylus. If you have a Cricut, you can score the cardstock to make a scalloped box top. You can also use burlap ribbon or twine to wrap your box.
Once you have the box finished, you can decorate it with other decorations or embellishments. You can even use calligraphy or other techniques to make the box more special. To close the box, you will need a sticker or piece of tape. You can decorate the lid with patterned paper and a clear plastic screen. This will allow you to see the contents of your pie. You can also use embellishments such as ribbon, glitter, or other materials to make the box more fun.
If you are giving a pie for a holiday or party, you can decorate your box with a festive theme. For example, you can have a holiday tree on the front of your box. Or, you can dress it up for a tailgate party.2