Posts made by Smitty
-
RE: Subversion 1.8 and Jenkins
We found that Jenkins couldn't deploy code across a one-way trust network boundary so we switched to Thoughtworks Go. There was a bit of a learning curve but so far it works beautifully.
-
Infosys strikes again
One of the iOS applications I support at work contains a nice little method whose sole responsibility is to create and display an alert. It's short and clean and serves a single purpose, taking no parameters and returning void:
- (void)showFooAlertView
{
// Setup and display code
...
...
}Today one of the offshore devs submits a pull request and changes the method to this:
- (BOOL)showFooAlertView:(BOOL)shouldShowAlertView
{
BOOL shouldShow = NO;
if (shouldShowAlertView)
{
// Setup and display code
...
...
shouldShow = YES;
}
return shouldShow;
}That's right. Now you can call a method with a single clear purpose and at the same time tell it not to perform its single clear purpose, and as a bonus it will even tell you what you told it to do. I was naturally curious as to the value added by this modification. When I asked I was informed that this was done to "increase readability" and "make the method understandable to everyone".
-
RE: Help me find the wtf's ?
@asdf323 said:
Does anyone else have an opinion on the subject.
I have an opinion on ending questions with periods.
-
RE: Representative Unit Test
You get to work with offshore devs who even attempt unit tests? Christ I'm jealous.
-
RE: It's a good thing that Mozilla fixed all those Firefox memory leaks!
Out of genuine curiosity, is it faster/easier to find what you want among 400 tabs instead of organized bookmarks?
-
RE: Not sure if it's WTF-worthy
@Anonymouse said:
@boomzilla said:
The worst case is that anonymous people on the internet insult you.
Since blakeyrat has left the forum, the odds for that have dropped an estimated 300%.He genuinely left? I figured it was sand-in-my-vagina bitch-fit #236234.
-
RE: Replacing a CRM solution should not be this difficult...
@Nexzus said:
Oh, and they used Peregrine Service Desk. I despise that software.
Fuck. Peregrine. That is all.
-
RE: Can it get infected over the air?
@garrywong said:
"Can it get infected over the air? I mean your phone, like an airborne virus?"
I think I should have replied something snarky like "better get a facemask, just in case", but I hadn't yet developed the cynicism at the time.Be grateful there are so many people like that user. As long as people continue to view computers as scary voodoo black magic boxes, we'll continue to get paid a bunch of money for work that often isn't terribly difficult.
-
RE: Cheap code
@locallunatic said:
If the XML is only used internally to their program why do you care what it looks like? If it is used by other systems why didn't you provide a schema (or worse yet you did and it was just so bad that you got crap back)?
I should have added more emphasis. TRWTFs are:
- XML (triple-slash) documentation that tells you fuckall
- Creating XML via string concatenation when .NET provides some very handy classes for XML manipulation
- The comments in the second snippet exist in the code; they weren't added by me
-
Cheap code
This is what you get for farming development to the lowest bidder:
/// <summary>
/// For creating the XML
/// </summary>
/// <param name="fooRequest">Object of fooRequest</param>
/// <returns>Returns the XML</returns>
private string GetFooActivity(FooRequest fooRequest)
{
return "<FOO_ACTIVITY" + " EntryMethod=\"" + fooRequest.EntryMethod +
"\" CriteriaType=\"" + fooRequest.CriteriaType +
"\" Criteria=\"" + fooRequest.Criteria + "\" SearchRC=\"0\"" +
" HeaderAdded=\"" + fooRequest.HeaderAdded + "\"></FOO_ACTIVITY>";
}Also this:
StringBuilder build = new StringBuilder();
foreach (string number in lineNumber) // Loop through List with foreach
{
s = "<LineNumber" + number + "></LineNumber" + number + ">";// Append the string to build
build.Append(s);
} -
RE: This is necessary
@mikeTheLiar said:
@Lorne Kates said:
Oh, I see it now. That should be blnReturn.
No, in this code base all bools are pre-pended with bol. And all strings get str, all ints get int and anything non-primitive gets obj.FUCK I hate when people do that.
-
RE: Hit with the stupid branch...
@OhNoDevelopment said:
I recently pushed a "branching process" to my team. The process consists of working from a development branch and then merging it with head/trunk before release. I am relatively new to branching, so I hoped the much more senior devs on my team could share their wisdom. I assumed the reason no one was branching before was not due to lack of knowledge, but due to laziness or other behavioral reasons. It turns out no one even knew what branching was.
I insisted on the branching process in hopes everyone would learn how to branch properly. No one cared to learn, but instead blamed the process whenever a merging issue occurred. Now, I'm considering reverting my source control back to having no branches, since it seems to cause more headache than productivity for my team.
I'm going through something similar right now. As an added bonus, I'm trying to teach ~50 offshore devs that I'm forbidden to speak to directly.
-
RE: Brain the size of a planet, and working with MC Hammer
@blakeyrat said:
You don't even fucking LIKE RUBY!!! WHAT THE FUCK IS WRONG WITH YOUR DISEASED MIND!!!!! Where the fuck do people like you come from!? Jesus. Fuck off. Fuck off and die.
Do coworkers ever poke and prod you until you erupt like this, just for their own sick amusement? I totally would.
-
RE: Red flags. Red flags everywhere.
@ObiWayneKenobi said:
Because modern software develompent, and craftsmanship, is about using the best tools for the job and relying on hand-written SQL and raw connections (and worse DataSets/DataReaders) when there are better alternatives means the company doesn't evolve.
At my last gig I had to deal with several 12000+ line sprocs written by an ex-mainframe programmer who thought "C# is stupid; SQL rocks". These beasts were used to fill large DataSets which were subsequently passed all the way up to .aspx code-behinds and manipulated directly. I left that place a year ago and I can still work myself into a foaming rage thinking about it.
-
RE: I Hate I Hate Lotus Notes Helpdesk
@Nexzus said:
Using Lotus Notes is like getting that James Bond nut slap torture from Quantum of Solace.
This, a thousand times this. (It was Casino Royale).
-
RE: I could spend hours and hours and hours just ranting about what an awful experience dealing with git is
Try taking Dimensions for a spin. When your VCS refuses to allow you to add a new source file because you specified the wrong fucking part number (apparently source code needs pre-defined part numbers) or the wrong 'design part' (wtf is a design part?),
then you will know anger. Git is fucking nirvana by comparison. Bask in the knowledge that it can be far, far worse.
-
RE: Corporate Desk Help
@OzPeter said:
I was working at a customers site this week and I noticed in the cube farm where I was that on every row of cubes was a printed sign that described how the Corporate ideal cube should be maintained
This is TRWTF, a sure sign of management with entirely too much free time.
-
RE: Sensible default save location
@mott555 said:
Are there any basic text editors for OS X that don't suck?
You should try Sublime Text 2, and then mail me some fine beer for telling you about it.
-
RE: Succeeded!
@Quango said:
Passing a number in a string. Yes I know the input comes from a textbox, but it should be parsed and checked on the UI and passed as a number.
If anyone out there thinks this isn't a problem, then by inference we should pass all parameters as strings, including dates, numerics, images, arrays etc.This is how our offshore team operates. Strings for everything. We've got methods that take 22 string parameters, some of which are used as booleans ("YES", "TRUE", etc.). Good times.
-
RE: It makes everything simpler!
@PedanticCurmudgeon said:
So someone who obviously doesn't understand OOP is not only producing code, but designing classes. This is a sure sign that we've made programming too easy. When I'm elected world dictator, I will require all programmers to produce working Haskell code before being allowed to use any other programming language.
This beast disturbed me enough that I had to write the offshore team and ask WTF they were thinking. The response I got was that "this design is highly modular and eases implementation, as developpers (sic) can add/remove partial class components when they want".
FML.
-
RE: It makes everything simpler!
@Cassidy said:
Not knowing C# dev I don't understand partial classes, but either way - is there any situation where this rule actually has the intended effect?
C# allows you to split the definition of a single class across n number of files. In this case, they've split across 57 files.
I tend to agree with Mason that partials are TRWTF, but properly applied they can come in handy. I knew a guy once who would use partials to add functionality to generated code. In this way the generated part of the class could be excluded from static analysis to avoid useless warnings.
Still, these guys are full of shit.
-
It makes everything simpler!
I recently found in our codebase a monster god class containing just over 800 methods, split across 57 files. The monster's superclass implementation contains a comment stating that, "All subclasses must be partial classes of same class to make coding simpler and eliminate overhead of too many classes."
Apparently since the application only has to interface with a single class to do anything at all, it just makes everything simpler. This is what offshoring gets you.
-
RE: Things that go through your mind
@that really other guy said:
Does anyone else have this quote from "The Hunt for Red October" pop in their head when asked to fix something you aren't sure of yet?
"I have to figure out what's wrong first... It could be a problem with the liquid helium or maybe the superconductors"...
I have this odd environment specific problem I'll be debugging this afternoon and almost emailed that out...
I'm embarrassed to admit this (even on an anonymous forum) but yes, this has gone through my head when asked how long a fix will take. I'm not alone anymore!
-
RE: Invitation to say "wtf?"
'Stupefying fuckery' now has a permanent place in my personal lexicon. Thanks Lorne.
-
RE: Seriously...
@SEMI-HYBRID code said:
The problem, I think, is that we somehow accept it, when people have trivial problems, we go "It's simple", and they go "I'm no magician!", and then we sigh and say something like "Okay, I'll tell you step by step what to do", instead replying "It's no magic, you idiot, it's basic and trivial things and you're just too lazy to take some time to learn to use them because that way someone else always solves your problems for you, now fuck off, I've got better things to do."
Computers are as common as clothing today, there's no reason anymore not to ridicule and ignore the people that stupidly claim they don't understand or don't know how to use them. Fuck, I didn't understand them or programming either, when I was 8, but the way to get from this state to the state where you understand something is to TRY to understand it, not by asking everyone around to solve your problems because you don't know how.
This. A thousand times, this.
-
RE: Didn't quite get the concept
@Cratig said:
@morbiuswilters said:
@Paddles said:
This is what happens when programmers who enjoy BDSM bring their hobbies to work.
Dude, I already said I'm sorry for putting my buttplugs in the office dishwasher. Just let it go already..
You didn't say if she enjoyed it though!!
+1
-
RE: I just don't understand this filing methodology
@morbiuswilters said:
I mostly felt sorry for them because I knew they had peaked in high school and were going to be working a dead-end job* for the rest of their lives, divorced by 30 and ending up in the same depressing little cemetery their parents lay in.
+1. I knew several of these types growing up.
-
RE: I just don't understand this filing methodology
@Speakerphone Dude said:
As for "cuddling idiots" - I guess you disagree with the "IT as a service" approach... IMHO it is unfortunate that some geeks feel so protective of files and hardware while dissing the people who are using (and paying for) them. It's like having the Jiffy Lube Oil Change Specialist calling me a moron because I waited 500 miles more than recommended before changing the oil in my car; I'm sure he feels pretty righteous about his position but in the big scheme of things he was just an annoyance in my day.
I'm a firm believer in IT as a service; I just have to draw the line somewhere. At my last job we had mandatory monthly safety training, consisting of gems like 'don't text while walking on stairs' and 'don't plug too many christmas lights into one outlet'. Mandatory. This kind of "training" is not only useless to all but the few truly stupid among us, it's insulting. I equate "don't store important stuff in a recycle bin" with "don't plug too many christmas lights into one outlet".
-
RE: I just don't understand this filing methodology
@morbiuswilters said:
He also made the point that the reason people are storing things in the trash is because the company's IT training sucks or due to some other failure.
Hasn't pretty much every office job posting created in the last 10 years or so listed proficiency with basic office applications among its requirements? If some dipshit wants to store important documents in the deleted items folder or the windows recycle bin, is that really the fault of the company's IT training? Even if you've never touched one of these blinky miracle boxes before, what happens when you leave stuff in a physical recycle bin? It sure as hell doesn't stay there forever. Coddling idiots is not the answer.
-
RE: I just don't understand this filing methodology
@Severity One said:
@MeesterTurner said:
Why?!! Just WHY?!!
Because it's a one-key/one-button archiving method. Do you know of another way of quickly 'saving' an important e-mail with the minimum of key strokes or mouse clicks?Obviously, the analogy of a dustbin should have rung a bell with the user, but since we've seen this pattern before, there appears to be a need to 'quickly save' an important file, document or e-mail, and operating system and application developers haven't really given this much thought, if any.
I think Thunderbird can do this since fairly recently, although I have no idea how it works.
Is clicking-and-dragging an important email into an 'Important Emails' folder too complicated a task for someone to handle? One click and a small movement of the wrist sure is a lot to ask, but we all have to make sacrifices.
-
RE: Believing in booleans
@rstinejr said:
In real code, the condition variable would have a meaningful name, e.g., "isFirstPass" or perhaps even "bIsFirstPass".
bIsFirstPass == Die in a fire.
-
RE: Make sure it's initialized!
@dtech said:
Meh. I consider it good practice to declare your variables at the top of the method. Some style checking tools even have rules for it. 1/10Still writing Fortran are you? Allow me to step off your lawn.
-
RE: Believing in booleans
@boomzilla said:
@Smitty said:
A single return at the bottom was the shop standard at my last job. I was shot down and told I was 'inexperienced' at a staff meeting when I dared to suggest that guard clauses might be preferable to Ifs nested six deep. Fuck that place.
I'd start breaking out the goto. Most standards I've been around seem to assume no one would dare go there, and don't explicitly rule them out.
I probably could have gotten away with it. This same shop insisted that 3000-line methods were totally fine, because "a very small call graph makes everything easier to understand".
-
RE: Believing in booleans
@morbiuswilters said:
If you're referring to multiple returns being bad practice, then you are being straight-up retarded. "Quick, let's write all of our code as a deeply-nested tangle of ifs and elses just so we can have a single return! It's soooooo confusing when a function might return anywhere except at the very bottom!!" Seriously, that has to be the dumbest anti-pattern I have ever encountered.
A single return at the bottom was the shop standard at my last job. I was shot down and told I was 'inexperienced' at a staff meeting when I dared to suggest that guard clauses might be preferable to Ifs nested six deep. Fuck that place.
-
RE: Third-party iOS libraries and datatypes
@mott555 said:
Ugh. So as far as I can tell from debugging, NSString objects don't respond to the method isKindOfClass. Meaning [value isKindOfClass:[NSString class]] won't tell me that it's a string. Basically the C# equivalent of value is string always returning false if value is of type string. So I just wrote a ton of code that apparently doesn't work.
I had to test this because it just sounded weird. NSString objects do in fact respond positively to [myString isKindOfClass[NSString class]];. Maybe the value object you mentioned isn't what you think it is.
-
RE: Performance review process
@EncoreSpod said:
Then, they rolled the two reviews together so I was back to one a year but it worked like this:
The boss would set goals for the year, the next year he'd compare my achievements to the goals. If you achieved the goals on his list, you might get to stay where you are.
If you went 'above and beyond' you might even get a raise, however no clear criteria for what this entailed were ever set.
So basically the boss would set goals that would never be achieved, even if they were, because these were just the goals to keep your job and there were no 'second level' goals defined for a proper raise or dare anyone even suggest, a promotion, you could never get one no matter how much you did. This all came about because there wasn't enough money to give the underlings a raise amounting to a few hundred pounds a year and still be able to give the boss a raise equal to my entire salary.
It was a carrot and stick exercise and everyone knew it, even the boss started to get bored of going through the motions and we ended up having interviews like "What have you done for me?" - "In between picking my nose and downloading porn I cured cancer sir." - "Nice one, you can't have an increment because we don't have any money, see you next year.". So long as we both signed the form to say the review had been done, no-one really gave a shit.
I wonder if you and I worked for the same company?
-
RE: Fucking Fanboys
Am I the only one who expected a full-on BlakeyRant™ based solely on the title of the post?
-
RE: Just another day at Bethesda
@DOA said:
For reasons lost in history the desk was placed so that the mouse rested on the left side and so I learned to use it with my left even though I'm right-handed.
Heretic!
-
RE: Why oh why did I get assigned this task.
I've never seen a VB.NET codebase that DIDN'T look this shitty. Yet, there seems to be a sizable population of devs who continue to praise and defend the language. WTF am I missing?
-
RE: Representative struct
In that same codebase, some shithead also created this:
bool bBooleanValue = false;
... snip hundreds of lines ...
if (bBooleanValue == true) { ... various WTFery ... }
Yes, bBooleanValue was the actual variable name. Luckily I managed to get the hell out of that place.
-
RE: Office Bullshit
@pbean said:
I really fail to see the WTF is here. It's an internal web site right, which only your co-workers can see? Then it shouldn't be a problem putting a picture and some minor information up, I would reckon. And keeping it up to date is nice, since once a week you can just spend an hour on it, doing something absolutely useless and easy. And when your manager comes in and asks you what the hell you're doing, you can just reply that you're complying to company policy. It's a good time waster on those shitty slow days.
Are you serious? Management continues to pull this kind of bullshit because they know that many employees will simply grab ankle and take it. I prefer to spend those shitty slow days working on pet projects and/or studying something new, that I might become a better dev. Which, incidentally, is exactly what management should be pushing their people to do.
Satisfying the yearly goal of some pencil-pushing jerkoff (who definitely makes more than you and me) to 'improve communication' should be dead last on any self-respecting dev's list of priorities.
For fuck's sake, show some dignity.
/rant -
RE: High Five
@Xyro said:
Whoa, you guys get stuff for hard work? cool...
I'd happily give up the lead-laced chinese duffel bag if it meant never seeing one of these retarded cards again.
-
High Five
So my company recently unveiled its new recognition system. Instead of spot bonuses, half a day off at project end, or (god forbid) a heartfelt thank-you from someone who understands what it took to deliver on Marketing's arbitrary and usually fucked-up deadline, we now get e-kudos. Fucking e-kudos.
They're like electronic greeting cards, only more shallow and insulting. I recently received one that proclaims "High Five!" in 40-point red block letters. It has a picture of a bunch of grinning idiots in business casual attire high-fiving each other. Prior to this, I received one (I swear I'm not kidding) that said 'Super Wow!' and was covered in gold stars. If one's manager deems one's contributions to be exceptional, said manager can attach 'points' to the e-kudo. Points can later be traded for various articles of chinese swag.
Last I looked I was an adult with an IQ above that of the average eight year-old. My soul rots a little bit every time I get one of these. -
RE: Mozilla have lost their mind - Part 2
@Mason Wheeler said:
Why? They're just the same as letters: arbitrary geometric shapes with no inherent meaning besides whatever the game designers assign. Do A, B, X or Y actually mean anything relevant in the context of any game you've ever played? The only example I can think of is the one-off "L A R A" thing in Chrono Trigger.
+1 for the Chrono Trigger reference.
-
RE: Mozilla have lost their mind - Part 2
@blakeyrat said:
(Also I'd facepalm too if I had to use one of those crappy 600-series Dell laptops.)
My development machine here at work is a crappy 600-series Dell laptop. That fact, combined with a draconian standard corporate image, equals 13 minutes from cold boot to usable desktop. 13 fucking minutes. I like to start each morning with a solid facepalm and some quiet sobbing.
-
RE: Really?
I think there's a product called Ghostdoc which does exactly that. Sadly, we don't use it. This is plain old WTFery.