A random thing I stumbled upon on reddit:
He dropped just enough juicy details to make the rant believable.
If half the things revealed are true.... holy shit.
A random thing I stumbled upon on reddit:
He dropped just enough juicy details to make the rant believable.
If half the things revealed are true.... holy shit.
Which we're working on moving off this platform. I'm going to re-evaluate some choices once we do, personally.
likewise.
:-)
Please don't.
You do realize WTDWTF is like one of the last places I know where the very conservative and the very liberal can cohabitate and grate against each other in a semi-civilized manner.
These days, everyone is moving into their own corner and taking their toys with them. Things becoming more and more extreme in both camps. It's kind of depressing for sort of a centrist like myself.
Even if you mute threads and ignore 90% of what the other side is saying, it's better than contributing to the splintering.
Why don't you just stop pestering him? He obviously wants nothing to do with TDWTF at this point.
It was always a rocky relationship and it just didn't work out in the end. Time to move on and walk our separate ways. Don't be the creepy ex boyfriend who can't let go.
@YellowOnline Your story motivated me to go and check my backup crons. Turns out they were erroring out for weeks.
So... good job, I guess?
A QA Engineer walks into a bar. Orders a beer. Orders 0 beers. Orders 999999 beers. Orders a lizard. Orders -1 beers. Orders a....
I woke up to well known tech pundits yelling at each other over Python 3.
Step 1: Zed Shaw (Learn Python The Hard Way) sticks it in with an updated list of reasons not to adopt Python 3
IMO, most of his reasons are frankly terrible. And what's with the whole conspiracy angle? The guy seriously thinks Py3 designers are some kind of a nefarious cabal trying "trick" people into using their language. Ummm... that's... kind of what every language designer is trying to do, Zed.
Step 2: Eevee of the PHP: Fractal of bad design fame shoots back with an excellent rebutal.
IMO this addresses Zed's "concerns" pretty well.
Step 3: Yehuda Katz, a big name in js and ruby (ember.js, yarn) pipes in. And he is on Zed's side.
Step 4: Eevee and Katz are now snipping at each other on twitter.
Just follow the previous two twitter threads, they converge.
Zed hasn't jumped into the fray on twitter so far. Boy, I hope he does.
@cartman82 said in WTF Bites:
No they just use bloom filter against your IP, to make sure each IP only votes once per post. In other words, a CS graduate version of what would an experienced coder put in a lookup table.
On the other hand, he did go with SQLite, so who knows, maybe his approach has merit in some limited cases.
Oh, BTW, an extra WTF.
You see, the author of this thing is one of those privacy fanatics ("if you want gravatar support, you can go back to disqus, heathen!"). So, before using the ip in his fancy bloom filter, he does this:
Basically, he strips the last digit off an IP address.
So you better hope you don't have many visitors coming from the same ISP or local corporate network. Because none of their votes will count.
But surely, there must be upsides to this too, right? Isn't this a small price to pay for keeping you safe from prying marketers' eyes?
The IP isn't stored anywhere. It is literally only used for the bloom filter, and then thrown away.
PRIVACY YEAH!!!
-- Problem: there are 2 competing TDWTF in-house forum platforms
-- I know, I'll make the ultimate Discourse replacement forum, to supplant all the others
-- Problem: there are 3 competing TDWTF in-house forum platforms
My understanding is, the guy posted this memo in Google's internal version of the trolleybus garage. But someone took it out and leaked it to the media.
Dick move. It's like breaking the Lounge trust.
Another glorious npm library.
This is the documentation page, with examples, installation instructions, rationale and license information.
And this is the code.
The entire library can be replaced with the highlighted section.
I mean, I appreciate the effort and everything, but come on. This should have been a blog article.
@dcon said in Lenovo's are shitty garbage:
I still like my Lenovos. But, yeah, the wifi sucks. Mine will lock up about every 2 or 3 times I put the machine to sleep. A simple reboot fixes it.
"I still like my Lenovos"
"A simple reboot fixes it"
"I love my husband and he loves me. I just put some make up and you can hardly notice the bruises"
How about, just disallow patenting ideas, OK? You should only be able to patent things that require work to accomplish. It's that simple.
Interesting question on Quora:
How do you make programmers work 60-80 hours per week?
Programmers in our startup usually put 8 hours and go home. I keep reading stories about 80+ hour weeks. How do you make them work longer hours? Do we have to pay overtime? We gave few of them some equity, but it doesn't seem to work.
A lot of reasonable - too reasonable - answers in the usual Quora style. You need to scroll way down to get the proper response.
Hire inexperienced programmers who still buy into the romance of startups and don't know any better. This is a good way to ensure that you will get a really shitty product.
Or, if you were going to throw your money away anyway, just give it to me.
The CEO's right hand woman went into a complete freakout mode over a "broken" copyright notice - 10PM email to all team leads, with my Boss and CEO in CC, top priority, fix needed first thing in the morning, etc.
And how is it "broken"?
When you hover over the popover link with copyright notice, her Edge browser shows the url in the bottom left corner.
She now wants us to get rid of it.
@Jaloopa said in Freelancer advert WTFs:
Fully featured web shop, with chat, payment handling, etc. Budget £50 and if the hirer finds any bugs in the demo you have to send first, they won't hire you
Multiple times I've had business folk request live chat system, without realizing they will have to organize a workforce to field it. They always just assumed the person on the other end of chat came with the software, as a package deal.
An old school text-only adventure game where instead of typing in commands you have to talk to a digital assistant AI on the level of Siri.
Every time you try to do something impossible or the AI misunderstands, it says "Let me google that for you", and opens a new window. Even though the game is 100% voice based, you have to manually close the window to continue.
Back when I was first learning to program in Java, I decided to try to make a clone of the excellent PC game Terraria. Of course, I was convinced that my version would have many more features than the official one.
But before I realized how silly that idea was, I produced 11,000 lines of, to date, the most atrocious code I have ever seen in my life. I make it available here mostly as a cautionary tale of what can happen if you don't pay attention to the quality of your code.
Bonus wtf in issues, about the real terraria
@stillwater said in Betrayed by github activity graph:
Let's keep everything aside for a moment. Fuck the stupid chart and the weekend thingy. Why did you have to go and tell this to the HR. If anything, you're the one who betrayed the programming community by giving more leverage to HR. You gotta undo this somehow.
It's too late now. You can't put the genie back in the bottle.
Even if I killed the HR lady and burned down the office, I bet she'd already spread this new tactic to all her HR friends/allies. Pretty soon, all HR recruiting will be based solely on github activity chart and the world will be hell.
And it will all be my fault.
Strange. If there was a real modal dialog, you shouldn't be able to even click on the close.
Boss has insisted on bringing in a fucking designer into the loop on our rush job project. AGAIN.
Apparently, he had given some old terribly designed app a fresh coat of paint, and the client was thrilled. It was a great success. So now our new app also needs a fresh coat of paint, RIGHT NOW, while it's still being hastily developed and all features are in flux. Because that's exactly what I need on top of managing 2 other people and stupid business drones and crazy deadlines and all sorts of other crap. A stupid artiste idiot on my back. Great.
Anyway, the designer has now spoken with Boss, gone through the half-broken demo version of the app and produced first images of her WIP masterpiece. Of course, it looks like bootstrap swatch / theme we could have bought or shat out ourselves, but whatever.At least she didn't go graphics crazy.
Me: Please be mindful to include all the bootstrap flavor colors in your design. I can already tell danger
red will clash with your pictures
Designer: Well, the company colors are red, that's what they asked, there's nothing I can do! ... Well, it's not the same red anyway!
Me: Yes, but part of your job is to incorporate all needed colors into your design, as we are making an application and not a picture (that last part might have been a snide voice in my head)
Designer: Well, I can't fit them in to look nice! What will be, will be. Nothing I can do.
She's talking like that, btw, everything she says starts with a snide condescending "Well...". On the phone too, she really sounds like she thinks everyone but her are idiots. Ugh!
I HATE DESIGNERS!
https://i.imgur.com/HvwAN2d.png
Generic Windows PC icon.
The CEO is now all-caps yelling at me about deadlines.
That's great news! Means she's excited about our progress!
Right guys?
Right?
My boss: These coders I am contracting to secretly work for me while at their full time job are doing great! I think I'll poach a few of them to work full-time for me.
My boss, a month later: These new coders I hired are all disinterested in my startup project and only care for money! Who could have seen this coming?
A mediocre contractor just refactored her code to my suggested slimming down. But she didn't think it through, and now it might turn out the new code has problems the old one didn't.
Is it too unreasonable to expect people to push back against my code reviews?
You spent days working on this code. I only look at it for a few minutes.
Even if I'm senior, you still might be right about your decisions. Think. Challenge me back. You don't have to immediately cave in and change everything to my half-assed suggestion / question.
Also, I have provided several alternative refactorings. Did you look at every one, or did you just pick the first one?
And yes, I know this would be more useful as a feedback to the developer, instead of an anonymous rant on a forum. Baby steps.
Very cool article, going over the process of arriving at the Win95 UI that is still largely in use today. I liked looking at screenshots of some of the early prototypes.
Here's a reddit comment I can get behind.
The discussion in github is really sad for me to read and it's a nice example why the npm ecosystem suffers from security issues more than any package management ecosystem. The claim that "Developer shouldn't do background checks on anyone who is willing to maintain the package, shut up and say thank you for the time he spent" - is so asinine and childish I don't even know how to respond. It's definitely a culture thing.
For a long while now I don't have any direct dependency that isn't backed up by a company or is a well known framework. But I feel it's kinda pointless, case in point, the supposed backdoor reached monaco editor.
I hope that some of the bigger js players will start to "scrub" their dependencies. And if their dependencies don't do the same, try to move away from them as fast as possible. It would probably be a difficult 1-2 years until the ecosystem will be stable again , but It's crucial. I actually really like writing code with ES2017 and Typescript, and it's a shame that just when the language got reasonable enough, the ecosystem now feels like a giant problem.
Here is just a quick case I found in 2 minutes: I started looking at webpack, their dependencies all look reasonable enough, but they use eslint, and eslint uses this package: https://github.com/shinnn/is-resolvable. There is no reason why this small, not-complicated piece of logic can't sit inside eslint. And eslint is a great tool, but it's non crucial to a project. If I'm a webpack maintainer I remove eslint until they fix it. That's the kind of process we should go through.
People can keep on writing all those small packages to pump up their github repository list. I'll promise to keep on using them in non-work related projects.
I have definitely started "scrubbing" my immediate dependencies and only importing packages I really need. My own published packages veer towards zero dependencies.
So far I haven't tried to reduce derived dependencies (and it's not that easy if the package you needs doesn't follow this philosophy). But at least lock files help a bit there.
@doctorjones They definitely took it too far with pedantry.
I actually find myself going to Stack Overflow less and less often as years go by. Github issues now cover in-depth fiddly details of the libraries I use (best ask the actual authors then hope some SO rando will drop by with the answer). And blog articles are the place to learn about general programming patterns and technologies (these are now quickly marked as "off topic" on SO).
It seems Stack Overflow has pigeonholed themselves into a circle-jerk arena, where millions of noobs are asking the most basic "fix my code" kinds of questions imaginable, so that e-peen obsessed mediors can run around and build up their score by answering them.
Serious experienced programmers have little to find there these days.
Guy makes a chart showing correlation between interview candidates whining about their ex employer and having problems solving a very simple programming challenge.
The challenge:
Print 100 to 1.
That's it.
That was the question.
The Catch?
You need to start with "for(int i=0;" and continue from there - you cannot write anything before "for(int i=0;" and you can't use two loops.
Results?
About 14% just couldn't solve the problem in less then 10 minutes - which is when we moved on to the next question.
About 40% took more than 5 minutes to solve the problem and / or had to be corrected more than once.
Only about 14% could solve this problem in 2 minutes or less.
About 82% had to be corrected at-least once before they solved the problem. (which means they actually got it wrong the first time around!)
Unbelievable.
As for myself, I solved it in like 15 seconds and I don't feel I'd spend much time whining about my current employer. So I'd fit right into his chart.
(The guy's site is being being hugged to death right about now, so be patient if it won't load immediately. If needed, I can mirror it here).
Finally, a nuanced opinion about abortion.
Thank god it's not up to us sloppy programmers to design these accordion buttons.
Me: "Why do these new pages have the same background images as that other section? Wait a sec... I... I hope you're keeping track of where you found these images and collecting licencing information?"
Designer: "Nope, I just took some temporary images for now, we'll figure out the real images in the end"
Me: "But but... we already sent the previews to the client... and he approved.... AGGGGGHHHH!"
@wharrgarbl said in The Google Memo and the terrible reporting of it:
The guy is an idiot for bringing bad PR to his employee, and was fired for that, nothing to see here.
Then it would be more fair to fire the person who leaked the memo, no?
So I get tasked to write a quick SELECT query on the production database. The query will have to make use of one of the several custom functions included in the database schema. No problemo.
I fire up my trusty $800 worth navicat premium and dig into the database to find the function signature I'll need to call.
Hmm, let's see, which one is it... is it this one?
Oops! I guess you have to be careful when clicking on these names, because navicat will for some reason offer to rename EVERYTHING you touch. As if that's the default behavior you want when dealing with databases (WTF #1, we'll get back to this).
So, I'll just click out of dangerous edit field and cancel the edits.
There! And that's the function I need. Great!
I write the query, email the results and move on wit-
-skype blares
WTF DID YOU DO WITH PRODUCTION!?
"Me? I.... nothing... wha?"
Everything is broken. Clients are whining. Boss is yelling. WHAT IS HAPPENING!?
I trace the problem to a missing database function on which everything depends.
But how!? I can see it in navicat! The function is right there! ... wait a minute....
WHAT THE FREAKING FUCK!?
And in details view:
So let's count WTF-s
Navicat "helpfully" offers to rename everything you click in a database. For those not database inclined, let's just say you should VERY rarely need to do something like that, verging on FUCKING NEVER.
It then doesn't have any special interface for change confirmation once you're done editing. You would expect there to be little "Check" and "X" buttons and "Are you sure?" dialog. But no. My guess is they just handle "onLostFocus", check if what you've typed differs from the old name and if yes, fire up A FREAKING ALTER WHATEVER query.
And after all that, THEY HAVE THE GALL TO SCREW IT UP! Apparently, instead of just the function name, the entire function signature enters the edit box. So when you click OK... excuse me, when you exit focus, the function is renamed to its old name plus the signature. No warnings. No confirmation boxes. Just a silent fucking ALTER query that flies out of navicat AND FUCKS YOU RIGHT IN THE ASS. Fucking unbelievable.
What a freaking amateur hour in an otherwise pretty good product.
@robotarmy said in Zed Shaw VS Phoenix/Elixir:
Instead let us recognize that the work of a programmer is never done, there is always more to learn, the attitude of respect, harmony and gratitude are as valid now as they ever were - and let us endeavor to be humble in our contributions and grand in our expressions of thanks.
Thank you for caring Mr Cartman and for raising the standard for acceptable behaviour.
That's my new tagline.
"Raising standards of acceptable behavior since 2014"
Predictably, security researchers have smelled blood in the water and are going for the kill.
You know what's the worst part? EVERYTHING is like this. All the big companies, big projects, big institutions.
Equifax just happens to be the current whipping boy.
@loopback0 said in WTF Bites:
Everyone knows the correct approach is:
A few examples from a dearly departed colleague's code.
@svieira Wow! Who thought it was a good idea to dump the entire censor list into an error message!?
If you're listening to loud music on headphones, don't feel like you can fart freely. Other people in the office will still be able to hear you.
WTF is this shit!?
Javascript is just a gift that keeps on giving.