HNHacker News
TopNewBestAskShowJobs

MaybiusStrip

192 karma · joined December 6, 2012

submissionscomments
MaybiusStrip··on Martin Shkreli has been sentenced to seven years in prison
You do realize that insurance companies have to charge people more money than they spend in order to be profitable, right? Exorbitant drug costs is just another one of the factors that price poor people out of insurance, which is actually a much worse outcome than simply denying access to that specific drug.
MaybiusStrip··on Martin Shkreli has been sentenced to seven years in prison
Regulating the price of medication isn't a slippery slope to outlawing MacBook pros. What a preposterous thing to say.

The law is whatever society decides it should be. There is nothing inherently rational about it. You'd have to accept some pretty messed up things as rational if you actually believed that.

MaybiusStrip··on Prove the badness of coworkers at your own risk (2012)
This is my nightmare. Implicit division of duties are natural, but they should definitely be combated. Otherwise, things fall apart when people go on vacation, or worse, leave the team.

The way to do that is to have a communal backlog of work that people pick up tasks from, and to have an on-call rotation. Both of those things are rudimentary software engineering best practices nowadays. No one should be quietly maintaining things in their own corner. Situations like the ones described in the original post should be made part of on-call duties, or, even better, automated away.

MaybiusStrip··on Ask HN: For those programming 10+ years, what do you wish you knew 4 years in?
That's just not my experience at all. But clearly, it's been yours. Perhaps there are two very different sides to this field, in which case my advice is to keep looking if you find yourself on the wrong one.

From where I stand, software engineering has been an absolute boon. I have friends who are doctors, lawyers, consultants, traders, writers, salespeople, marketers... On nearly every metric -- pay per hour, amount of bullshit I deal with, variety and interest -- my job beats theirs. I started coding when I was 10 years old because I was a big nerd who wanted to make video games. I never, ever thought I'd make a top 3% salary 5 years out of college doing something I love. I'm tremendously grateful for that. I've been really successful by just being good at what I do, and that's mostly what I've seen other successful people do around me.

At the end of the day, unless you own your own labor, someone else will be profiting off of it. The lower down on the ladder you are, the bigger the gap between the value you produce and your income. But that being said, software is not such a bad place to be relative to other fields.

MaybiusStrip··on Ask HN: For those programming 10+ years, what do you wish you knew 4 years in?
This is like reading advice from an alternate reality. Almost all the VPs, senior managers, principals, etc. that I've encountered in my career are poorly-dressed nerds, not ring-wearing, macho douchebags. If you are a politician in software, you will eventually get found out by someone competent and get the boot. The only way you can succeed as a politicking fraud is to hop jobs every-time the people around realize you can't actually do anything, or ride sinking ships.

Even if some completely broken companies, this was good advice, it would be a recipe for a pretty pathetic existence.

MaybiusStrip··on Jeff Bezos Is Now the World's Second Richest Person
I don't know what system you're defending, but capitalism has nothing to do with getting wealth proportional to your individual hard work. There are plenty of Kid Bs who have much more money and income than Kid As because of they have more leverage in the free market (funds, education, even luck). I know a bunch of them...

In Capitalism, you profit from owning the means of production, not from working hard. Obviously, it can help, but not necessarily. There are plenty of start-up CEOs who worked just as hard as Jeff Bezos their entire lives, but aren't multi-billionaires, or even millionaires.

MaybiusStrip··on Coding Interview Preparation in JavaScript
A tech screen is a just that. It's not meant to accurately reflect the problems you work on, it's meant to see whether you can actually write code, whether you can explain your reasoning, and just generally how you react to a problem that requires some level of abstract reasoning. It's a way of filtering out candidates. At most companies, that's 30 minutes out of the 5 hours of interviews you're going to go through.

Cloning a directed graph seems like a perfectly reasonable interview question. It requires no specialized knowledge, just being able to navigate a fairly common data structure. I can't imagine a competent programmer not being to solve that problem on a whiteboard, which is precisely the point.

MaybiusStrip··on Write code that is easy to delete, not easy to extend
Some of the good advice in this blog post is taken too far, like the advice about intentionally writing shitty code in order to learn from your mistakes. Coding is like any other skill. You learn from your mistakes only if you're trying your best not to make them. Otherwise there's no differentiating between your real mistakes and your carelessness.

> A lot of programming is exploratory, and it’s quicker to get it wrong a few times and iterate than think to get it right first time.

It's really hard to get it wrong a few times if you have 10 other developers building on top of your mistakes. Then you're pretty much stuck with the code you thought you were going to get rid of. In accordance with Murphy's law, it seems like the code you push out knowing it sucks always ends up being the foundation for something really important. So yes, build the simplest thing possible. Yes, don't abstract pre-maturely. No, don't write shitty code on purpose.

Similarly advice with "copy-paste 10 times". While I agree that you should copy-paste 2-3 times, 10 times is way too many. By the time you've copy pasted something 10 times, it's too expensive to refactor. Or if you do refactor it, 5 of those 10 instances have changed beyond recognition and will be missed. They continue to evolve and now for the rest of the life of your software, you're fixing 6 times the amount of bugs.

MaybiusStrip··on Golden rules for becoming a better programmer
I like how Robert C. Martin puts it: before you write a comment, ask yourself whether you can write the code in a way that makes the comment unnecessary. If you cannot, then it is better to leave the comment than none at all.
MaybiusStrip··on The Spiritual Life of the Long-Distance Runner
Not to diminish Dean Karnazes' feat, but you might be interested to find out someone recently did 50 Ironman races in 50 days (http://www.runnersworld.com/general-interest/50-ironmans-in-...). An Ironman includes a 2.4 mile swim and a 100 mile bike ride in addition to a full-length marathon.
MaybiusStrip··on The User Is Drunk
I think you should rephrase that to "you shouldn't solely rely on aa" rather than excluding it entirely. Maybe this just struck a personal chord, because AA helped save me from life-threatening alcoholism, but this seems like a highly irresponsible suggestion (which is why the author of the article you link is very careful not to make it).

If you are an alcoholic, you probably should check out AA in addition to checking in to a detox/rehab program where you will have a therapist and a psychiatrist. As a matter of fact, many "real trained and certified therapists" will suggest that you at least check out a few meetings.

What's important is to know that if it doesn't work out, it doesn't mean you've failed. But it's really, really hard to stop drinking when you are an alcoholic, and it would be foolish to exclude any safe solution that could potentially help you recover from a fatal condition.

When getting sober, there are worst things you could be doing with your time than socializing with other recovering alcoholics for an hour or two, even if you don't like the message.

I should add, I am an atheist and it was never an issue in all my time in AA.

MaybiusStrip··on AngularJS Style Guide
I still don't understand why everyone recommends different folders at the project root for controllers, directives, services, etc... You end up with closely related code being far apart. It's a thoughtless way of dividing up your files based on the most obvious feature rather than how things actually fit together.

My idea of a good modular file structure is that you could delete any random directory and delete it and it would lop off that feature as cleanly as possible. Each directory should represent an angular module, and each module should contain the routing, controllers, services, directives, and tests that it uses. If some of these are used across the app then you can have a "common" module.

MaybiusStrip··on Farewell CoffeeScript
Programming language wars over languages that have significant differences are often silly, the whole coffeescript vs JS debate is just ludicrous.
MaybiusStrip··on How odd is a cluster of plane accidents?
The whole point of the article was that clustering is not unusual when it comes to random events. It's actually rarer for random events to be evenly distributed. There's nothing really begging to be explained here, especially not by such a bold, unsubstantiated claim.
MaybiusStrip··on 100,000 e2e selenium tests? Sounds like a nightmare
I think it depends how tightly your business logic and your view are bound and how well your business logic is abstracted. I use Angular at work and 90% of the bugs we get can be caught by a unit test. On a rare occasion something will be mis-labeled on the markup and the two-way-binding "fails" silently, but usually our bugs are errors in the logic.

Whenever you fix a bug in your code, try to cover it with a unit test. If you can't, ask yourself whether it might be because the code is poorly abstracted.

I think there are definitely varying degrees of value in unit tests. Your example is definitely not super valuable, but unit tests on higher level methods can save a lot of trouble. When I code I want to rest assured that the different pieces I am using work. I want assurance that this class I'm about to use has an API that does exactly what it says. If I want to change modify the class, I want to see exactly what assumptions I'm breaking that users of this class might be making, and I want to be able to do this in under a second. This can have a drastic impact on developer velocity. I don't know of any other way of doing this than unit tests.

MaybiusStrip··on Show HN: Bowery sets up your dev environment in less than 30 seconds
Isn't it a better idea to manage your dev & prod environments using the same configuration management tools so that it's easier to synchronize them? Bowery doesn't seem to have great support for production environments.
MaybiusStrip··on Squirt.io – Readability Meets Spritz Speed Reading
Eh... I was one of the many developers that had the same idea to write a bookmarklet/extension implementation of Spritz. I completed something functional (a few hours of coding for any JS dev) and then discovered that there were at least a dozen repos in Github for the exact same purpose. Plus I realized I just couldn't get used to reading this way, so I gave up to focus on my job + other side projects.

Quite frankly this is a pretty lazy implementation. It doesn't even slow down for long words, and the highlighted letter is too far to the left most of the time. But the snazzy .io page and sleek interface probably will do way more for the tool's popularity than actually improving features, so kudos to the Author for the smart marketing.

I'm rooting for the open source versions.

MaybiusStrip··on Spritz – read 500 words per minute without any training
Sweet fiddle, but putting the emphasis on the center letter puts it way too far to the right for any long word. Compared to the example on the Spritz website it's quite awkward. My eye constantly wants to shift left, while I can comfortably zone out on the highlighted letter in the Spritz example.

I'm curious as to how they calculate the "Optimal Recognition Position", but there is probably a better way to approximate it. I'm going to play around with some different positions.

MaybiusStrip··on Npm's Self-Signed Certificate is No More
What do you mean by "ready"? Because for me, ready means being able to run a relatively stable production system, which plenty of teams who use node are able to do.

You listed some downsides, but none of them are actually breaking problems that block running a stable node production system.

MaybiusStrip··on Ask HN: What is your favorite Linux distro and why?
Kubuntu -- Just works for me and I much prefer the KDE desktop. Have it set up on 3 completely different machines and it works great on all of them. I highly recommend everybody who uses Ubuntu and is looking for something different to at least try it out.
MaybiusStrip··on Why Dynamic Typing Is A Bad Idea
Shouldn't anybody browsing HN understand the difference between dynamic and static typing? Who is even upvoting this?
MaybiusStrip··on JZed.js – The functional JQuery alternative
Do you have any data or evidence backing this up? Because it's completely out of sync with my personal experience.

I've found that if you want to work as a software engineer with people who don't make those types of judgments and regard and pay you as a professional, there are more than enough opportunities.

You may find swearing distasteful, but for some of us working with people who judge us based on some moral assessment of our language is just as repulsive.

MaybiusStrip··on Flappy Bird is proof that no one knows what the audience wants
You're completely missing the point. Something has to be popular before you download it to "be cool and fit in with your friends."
MaybiusStrip··on Flappy Bird is proof that no one knows what the audience wants
Similar, but even less forgiving.
MaybiusStrip··on Your code may be elegant, but mine works
Mundane blog post about balancing code quality with business requirements with a click-bait title. Save your time.
MaybiusStrip··on Medium raises $25 million
Twitter became the de-facto source of real-time news because there was no good alternative. Replacing a reputable institution like the NYT is a completely different game.

It's not even a good comparison. The NYT is a daily newspaper. The better-written pieces on medium have aspirations closer to what you'd find in The New Yorker or Vice. You have absolutely no precedent for thinking public curation will yield better results than the professionals who work for those institutions. In fact, most of the evidence so far (reddit, digg, etc...) indicates the contrary.

MaybiusStrip··on 96 tablets under $100
96 tablets cheaper than a TI-83.
MaybiusStrip··on Bitcoin HITS $400
About a million dollars were stolen from a tiny Australian bank run by some teenager, and 4 million from a small Chinese exchange. There are much safer places to store your coins. Meanwhile, individuals have taken profits upwards of those figures. Maybe that explains why those incidents had absolutely no effect on the market.
MaybiusStrip··on Short film set entirely on a teen's computer screen
No, you'd have to be out of touch to think anybody does that.
MaybiusStrip··on Intro to CoffeeScript
I've written my fair share of coffeescript and right now I'm working on a large node/angular project and I'm glad we stuck with Javascript. I definitely miss some of coffeescript's features and having cute, ruby/python-ish looking code, but at the end of the day, it's another dependency that can easily be circumvented.
← PreviousPage 2 of 3Next →