The Lounge is rated PG. If you're about to post something you wouldn't want your
kid sister to read then don't post it. No flame wars, no abusive conduct, no programming
questions and please don't post ads.
Have you ever spent a day trying to fix a problem only to realise it's not actually there?
I have a button which, when clicked, updates a page with the results of a dropdown. The page isn't working. The click handlers aren't being called. I'm getting null ref errors where it's impossible to get them. It's driving me insane.
And then I realised the button never, ever, EVER needs to be pressed. The form never needs updating. The user simply needs to select the dropdown and submit the form itself.
It's amazing how much you can miss by looking so intently at something.
my similar event was farting about for a few hours getting 2 linux machines to share a directory.
not hard but not having done it for a while I googled "linux file sharing", sure enough got results.
plenty of results, spent a couple of hours setting it up and start moving some files (the latter took most of the time), the files were moving really slow and figured it had to be possible to do it much faster.
of course, when I googled the first results were for the smb sharing coz most people want to share with winduds, what I really needed for linux<->linux was nfs ... corrected that... much much faster.
yeah smb is way slower... coz linux needs to convert it to the inefficient windows smb protocol, send it, and at t'other end unconvert it from smb back to unix form (i.e. the owners, permissions, dates, file sizes, even coz useless windows demands it check for exclusive file access ect).
anyway I blame winduds: coz ms' pathetic implementations of both file system and networking; if they had just gone with the standard like everyone else my time wouldn't have been wasted. (I sympathise with all of the network admins that have to deal with windows servers in real life.)
I learned a long time ago to think of a standard as a yardstick against which implementations can be measured, as opposed to a blueprint for implementation. In a perfect world a standard would be the latter, but that isn't the world we live in.
It's even worse when you take a few shots at fixing the problem, throwing code solutions at it all day, just to realize the problem wasn't there or was far simpler than expected. You normally realize this after throwing hundreds of lines of code at it and then figure how to kill the problem in just two or three lines. So embarrassing.
The other day I needed to work on a website with VS. Not seeing the .sln in it's normal place (outside the main folder) I simply opened it as a website. Weird, all kink of errors in the code-behind where page controls aren't recognized...but it will run...odd, rebuilding doesn't seem to do anything. An hour later, I finally spot the .sln/.suo inside the folder....start from that and it works fine!
Your scenario sounds like the 'optimistic' design somebody brought up the other day.
1) Yes. It happens (feel-good sounding).
2) Much less annoying frustrating infuriating than being give a project, making it work, and then having them 'change there mind' - and it's now a total waste of effort and some of my life has passed and it's not only about the money (we are, after all, artists, are we not?).
I just so hard waiting for the new year so my manager-snuffing quota is refreshed.
I spent the day swimming in another devs code a few weeks ago. Function is called to search through a set of business rules and creates an EF transaction and returns a boolean. The code was spaghetti and required a bunch of refactoring to really figure out the paths. Lots of conditions and nested if blocks with direct return calls to exit the function.. Finally identified code that returned a bool before commiting the transaction.. hooray!!! During the refactor I simplify the code and eliminate all the return calls to ensure all business rules are met and there is an accurate return value. Run through my tests.. works.. Do a final test before checkin. Realize the main class that calls the function doesn't use the boolean result.. It's actually just a simple DoStuff procedure and the result is irrelevant because the transaction that gets commited is the actual result.
A whole day wasted troubleshooting and refactoring a function that never needed to be one. Lesson learned.. when its not your code, don't just fix the broken line. Figure out the "why" and not just the "how".