HNHacker News
TopNewBestAskShowJobs

helmsb

307 karma · joined January 4, 2015

submissionscomments
helmsb··on Over 200k people are serving life in U.S. prisons. These are the consequences
There are many people serving extremely long sentences due to things like 3 strike laws and mandatory minimums. Unfortunately it comes down to perverse incentives. It’s a lot easier to get elected by being “tough on crime” rather than practicing empathy and developing systems to provide the tools and skills necessary to help people become productive members of society.

Once a person enters the cycle it’s very difficult to exit it. You grow up in a bad situation, get busted for a crime, serve time and exit, lacking the skills to be successful. You’re labeled as a criminal and surrounded by trip wires ready to send you back. Society then uses the fact that you got sent back as proof of why we need tougher sentencing, lobbied on by private prisons who make more money the more people who are locked up. The average person doesn’t stand a chance against that.

I used to believe in harsh sentencing and that people got what they deserved because they violated the law but the more I really learned about the justice system the more I realized it’s not only harming those caught up in it but helping to push society in a direction of even less empathy and human compassion.

I’m not saying we should do away with criminal punishment but I think we should reconsider whether the system and the incentives surrounding the status quo are how we want to treat members of our society and whether this is the legacy we want to leave.

helmsb··on That wild Ask a Manager story
This exact situation happened to another manager I work with. Interviewed a candidate remotely (with camera), everything was great, super nice guy, very knowledgeable, extremely technical. He got the job.

First day, he refused to turn on his camera during any of the meetings, wouldn't speak up, when he did it was clear the voice wasn't the same, seemed very dodgy. Aside from that, he didn't know how to use Git or setup his dev environment. One of the devs setup a pair-programming session to help get him acclimated. He couldn't write a single line of code. In the interview the candidate was clearly very senior and had significant experience.

Manager called him up and said they needed to speak on camera, he kept making excuses but finally turned it on. Not even close to the same guy, interview candidate was clean-shave. This guy had a six-month beard.

HR took over from there, he never would admit to it and held firm that he was the same person who interviewed and stopped responding once we let him know he was being terminated.

Afterward we did some research and found it's becoming very common these days. You have one guy who basically gets paid to do interviews for others, the person gets hired and basically collects paychecks as long as they can.

This is why we now require photoId as part of interviews and first day. I also now have a habit of taking a screenshot during interviews.

The author of this article mentions the cost was low to the mishire was low. I think that is fundamentally false. We shipped equipment (we got it back but they could have kept it), we turned down other candidates (which we may not get another chance to hire), we removed postings, we had to get multiple HR members involved, legal had to get involved, he had access to our repos, all of that had to be audited.

There is SIGNIFICANT cost to things like this.

helmsb··on “Imagine If Doctors Relied on Google as Much as Programmers Do”
If the medical industry worked like modern web development then I would expect them to use Google more.

“Sorry, we can’t do the heart surgery today, turns out our scalpels are made by one guy as an unpaid side project and he’s on vacation and it also turns out that for the last 5 years they’ve been mistakenly made of lead but no one noticed.

Also, we stopped doing heart open heart surgeries like 2 years ago. We now do micro-surgeries where we just stab the patient over and over again until we hit the right spot. ”

helmsb··on I hate password rules
It also doesn't help that the complexity rules are inversely proportional to the importance of the application.

My former mortgage company's password requirements were 8 characters max, no special characters.

The app for scheduling appointments at my barber (no payment info) requires a minimum 12 character password with 2 or more special characters, 2 or more uppercase characters and 2 or more numbers.

helmsb··on Show HN: This Idea Does Not Exist
Brilliant.

“A website that lets you easily buy the best local daycares.”

helmsb··on Fuck Going Back to the Office
I take issue with “Remote Work suits ‘Makers’ over ‘Managers’”

I’m a manager and remote work suites me well. I’ve been a proponent and participator of remote work for years.

I couldn’t care less where my teams work from as long as we meet our commitments (which has never been an issue). My job is not to tell them how or where to work. My job is to remove roadblocks, ensure they have what they need to do their job, and advocate on behalf of the team and each individual for their long term success.

helmsb··on Ask HN: Best “I brought down production” story?
I worked with someone who pushed out a config change to production and went home.

Soon, he got a call asking what he did because all of our credit card processing went down.

Shortly after that we got a call from our credit card processor (one of the largest in the country) asking what we did because it was causing a cascading failure in their systems and had taken down a big chunk of online credit cards processing including Apple and Walmarts websites.

We tracked it down to the commit which had accidentally nulled the a username for authenticating with our credit card processor. They had a previously unknown bug that caused a memory fault when the username was null. The processing was queue based so when one machine failed, another would pick it up and try and process it and would fail. This happened until the entire data center fell over.

A few of the lessons learned: 1. Always check the length of user inputs. 2. Build in circuit breakers to prevent cascading failures. 3. Don’t push code without review to production, minutes before leaving.

Everyone involved kept their jobs and we learned a lot of programming lessons that day.

helmsb··on Ask HN: Best “I brought down production” story?
I’ve never understood the logic of firing someone over a mistake like that. They’re now the person least likely to make a similar mistake and they will maintain the institutional knowledge to help ensure it doesn’t happen again.
helmsb··on What Is a Nuclear Microreactor?
I once heard that stealing nuclear material from a reactor design like this was akin to stealing a lit bar-b-bq grill by hand. Not impossible but not very easy or practical.
helmsb··on Oxford pledged to donate rights to their Covid Vaccine, then sold them to pharma
The closest I could find was a reference in the WSJ that said that Gates told them they needed a manufacturing partner which makes sense if you want to get vaccines manufactured and in people’s arms. Doesn’t seem like a nefarious acknowledgement to me at least.

www.wsj.com/amp/articles/oxford-developed-covid-vaccine-then-scholars-clashed-over-money-11603300412

helmsb··on Choosing the Management Track
I was a long time developer who became a manager. I chose to become a manager because I enjoy the people aspect of it. I see my primary responsibility to help my teammates be successful and deliver high quality products.

I considered taking a path through architecture but chose management because I felt like I could have a larger positive influence. As an architect I could design a few good software solutions but as a manager I can help coach a group of people who each go on to make great designs.

I do miss coding but I try and make up for it by setting aside time to pair program with teammates and perform “shadow PRs” (PRs that I review but don’t approve that I follow up with to see if there are things I missed that the team picked up on or vice-versa. I also set aside 2-4 hour per week of personal time to keep my skills sharp. I’m a firm believer that a software development manager should retain some technical chops.

Here are the values I try and live by as a manager:

1. Take less than your fair share of the credit and more than your fair share of the blame. 2. Commit yourself to the success of your team and your own success will follow. 3. Be transparent and honest. 4. Don’t be afraid to admit when you’re wrong. 5. Be decisive.

helmsb··on Ask HN: How do I help an underperforming team get on track
Several people here have made great suggestions and I just want to reiterate some of them and add a few of my own. I have been a manager for 5 years and was a full time dev for 12 years before that. I have managed upwards of 40 people during my time.

1. A good leader takes less than their fair share of the credit and more than their fair share of the blame. Your team will trust and respect you when they know you're not just trying to look out for yourself. Your perspective needs to be, when things go right, THEY did great a great job. When things go wrong WE messed up, let's learn from it and move forward.

2. Set clear expectations. I make sure my teams know that I'm ok if we mess up, I'm ok if we miss a deadline but I'm not ok if I'm the last one to know about it. Rule #1 Don't surprise me. If you see a problem, let me know. I can't have skin in the game if I don't know what's going on.

3. Stay technical. I was formerly a full time dev but now manage full time. I schedule 4 hours a week off hours for myself to code to keep my skills sharp. I see that as investing in myself and my career. Technical decisions need to be made by the team and you should have technical leadership on the team but you also need to be able to spot someone BS'ing you or people being overly optimistic. It also instills trust in the team to know that their boss can keep up in a technical conversation.

4. Invest in testing. No one likes writing tests but they pay dividends. You trade a little bit of speed up front for massive speed and scalability down the line. Don't skimp. This was the single greatest driver of predictability when I was a full time dev.

5. Lead through principles. A lot of people get hung up on particular ceremonies or particular things to try but no two teams are alike. I've managed several different teams and things that worked on one didn't work on another but through it all I maintained the same principles. They hang on my office wall: A. Do the right thing B. Be honest C. Invest in others D. Invest in yourself E. Demand quality

helmsb··on WSL for Development in Windows 10 Is the New Kool-Aid. Still Not Using It?
I’m looking for some honest answers.

A lot of people talk about one of the biggest downsides of Windows 10 being lack of privacy. What specific data are you concerned about and how does that manifest itself in a practical sense.

I know there are some that are against purely on principle but this question is really for those where that isn’t the case. I just want to better understand.

helmsb··on We didn't encrypt your password, we hashed it
Also, the chance that a site will refuse a strong random password is directly correlated to the importance of the account. Case and point, the appointment site for my barber happily takes a 30+ character randomly generated password. My old bank would not allow you to have a password longer than 12 characters and only recognized 4 special characters. That is why they are my old bank.
helmsb··on The Surprising Number of Programmers Who Can’t Program
The biggest thing that has jumped out at me is there seems to be a whole generation of programmers that can't troubleshoot or debug. Some of the requests for help from devs that I get is troubling to say the least. Talking with people at my user group meetings it's becoming worse and worse.

My theory is that I'm the last of a generation of developers who learned to program without the Internet. I started learning QBasic when I was 8 and progressed through C++, Perl and .NET. Back then you HAD to learn to break problems down and use logic to troubleshoot. You couldn't just Google the problem.

Google and StackOverflow are great resources but you have to understand how to approach and break down problems if you ever want to be a good developer.

helmsb··on Solid in Java: Liskov Substitution Principle
I explained Liskov substitution like this:

Nicholas Cage is an actor, Tom Hanks is an actor however you can’t substitute a Nic Cage performance for a Tom Hanks performance. Therefore Nic Cage is a Liskov Substitution Violation.

helmsb··on We built a SaaS company to make email better
I’m one of the few people who actually like and prefer email. Because it is an open standard there are is a whole ecosystem of tools to help with managing it as opposed to be locked into a single vendor’s default experience.

The thing I’ve noticed with people who HATE email is they try and treat email as though it’s an app like Slack and they let themselves be constantly interrupted and respond to things as they come in.

My system is pretty simple. I have specific times during the day where I check email. Otherwise it’s closed. When I check, I look to see if it can be deleted/archived, is it actionable, does it need to be dealt with now or later. I NEVER respond to emails while triaging. All I’m doing is clearing the inbox and determine how things should be filtered. I also look for opportunities to create rules to auto sort a particular type of email.

The email gets put into to my task manager and I respond when I make it to that task on the list. I may set the priority depending on urgency but my goal is to treat responding to email like any other work task and not some special thing that trumps all other work. I think this is where people slip up. Someone sending me an email does not make them more important than the other tasks that I may be working on.

helmsb··on Developer Tropes: “Google Does It”
I’m always wary of the hip companies that offer all the perks and try and seem cool. It’s not altruistic. They expect in return to work you like crazy. I would much rather work somewhere boring where I work a solid day and go home, don’t have to think about work on the weekends with solid monetary compensation. Free donuts and coffee can’t make up for lost personal time nor can it pay for a mortgage. I’m a professional, treat me like one.
helmsb··on 1Password: Standalone / Local Vault Option Gone?
I don’t really think there is any intended malice. I could see this being a way to remove an entire class of support issues. Having run a number of software services I could see them getting a ton of support requests that are “my computer died, how do I get my passwords back” and then they have to explain that if you use a standalone vault then the user is responsible for backing it up.
helmsb··on Arizona Uber crash driver was 'watching TV'
I had an Uber driver who was watching an extremely graphic and violent movie in his phone setup directly in his field of view. I had him drop me off early and reported it to Uber. Apparently it’s becoming more and more common talking to friends.
helmsb··on I Stopped Attending Programming Meet-ups
I cofounded a meetup a little over a year ago and so far we've seen a lot of success. When we started it we actually made a list of things similar to this article that we wanted to avoid. Here are a couple of ours:

1. We only allow 3 sponsors a year at a predefined cost. This covers our cost with a little buffer for unexpected expenses.

2. We promote our sponsors on our slides, website and a mention in each meetup. They also get one 5 minute promo during their sponsorship period. We also WILL NOT give them our email list.

3. We have it consistently on the same day of the month, time of day and location to avoid people wondering where we're going to be.

4. We have multiple backup presentations ready in case our speaker doesn't show. We NEVER cancel a meetup.

5. We always provide food and drinks and have designated people to handle it.

6. We solicit ideas for topics constantly and schedule them a couple of months in advance. We do not allow sales presentations and we vet all of our speakers beforehand.

7. We recently started a short lightning talk at the very begninning (5 minutes or less) to encourage members to break out of their shell and present a useful tip.

8. We offer 2 full day training events during the year. We generally do this during the work week as we found local companies are more than happy to give the devs the time off for free training. All of the content is created by devs for devs in order to make it as practical as possible.

These are a few things that we do. The biggest thing to remember is running a good meetup is not a couple of hours a month job. It's a big commitment.

helmsb··on Ask HN: 2 page or 1 page resume?
I would try to stick to one if at all possible. If you have to go to two it wouldn't be a deal breaker for me. The biggest problem is now days staffing firms and recruiters pad and keyword stuff resumes so much that most of the ones I see are basically meaningless (and most of theirs are two pages).

When I do get a one page resume it tends to be direct from the candidate and generally more honest which sticks with me.

helmsb··on Microsoft Origami (2006) [video]
The thing I always liked about the concept was buttons. These days buttons on a device are out of style but they can make certain tasks easier or more enjoyable. Look at the guy playing the game. Games that try to emulate buttons on screen never work right. Also I kinda liked the chunkiness of it. Easy to hold, doesn't look like you're going to break if you look at it wrong. I'd love to buy a Windows 10 device in this form factor.
helmsb··on QBasic game programming
My whole fascination with computers and ultimately my career in programming started with QBasic. When I was 7 years old we had a 286 with DOS and running Norton Commander. I knew all the games I played, ran by selecting the ".EXE" file so I started looking for other "EXEs" when I ran across "QBasic.exe", I thought it might be a game so I ran it and started digging around. I came across some sample applications and more importantly the Help menu (QBasic had the one of the most incredible help systems ever). I started copying the samples for each command, then chaining them together to see what I could do. I can still remember the thrill I felt the first time I typed code and had the computer do what I wanted, it was life altering! My dad later bought me a book called "101 BASIC Computer Games", that's when I discovered that all flavors of BASIC are not equal and I then taught myself debugging.
helmsb··on Why I Quit OS X – Geoff Wozniak
I was a diehard Mac user for nearly 15 years and just recently switched back to Windows (bought a Surface Pro 3). Couldn't imagine going back at this point. I'm one of the few people that actually likes Windows 8 and it sings on the Surface. There are a lot of things I miss about the Mac, specifically the high quality independent apps but having a super portable machine that can serve as my tablet and my laptop is so much nicer than my MBP/iPad combo.
← PreviousPage 2 of 2