HNHacker News
TopNewBestAskShowJobs

joncalhoun

1,172 karma · joined March 14, 2012

Creator of:

- UseGolang.com - Web Development with Go course

- Gophercises.com - Go exercise problems w/ screencasts

- Calhoun.io - Go articles/tutorials

- ErrorsInGo.com - Common Go errors and ways to fix them

YC Alum. Founder of EasyPost. Former Googler

Email: jon@calhoun.io

submissionscomments
joncalhoun··on Pixel Security
Have you ever tried to get something Apple branded repaired when it is out of warranty?

The repairs tend to basically cost as much as it would to buy the same item refurbished regardless of the issue.

SSD died on your MacBook air selling for $500 on eBay? That will be a $450 repair sir.

Sure, they may have manuals and everything else at the Apple store, but there is very clearly a reason why companies like iCracked and iFixIt exist, and it isn't because Apple offers such a wonderful and affordable repair shop.

It would be great if Google offered a way to get the phone repaired through them, but using Apple as an example of how it should be is a bit insane to me.

joncalhoun··on Quick, Draw
It definitely doesn't have any knowledge of similar drawings.
joncalhoun··on Fewer than 3% of cars sold in the U.S. have manual transmissions
Some new cars (and likely some older ones) offer paddle shifters and other ways to kinda pretend to be a manual. Eg most Subarus have this now.

As someone who preferred cars with a manual transmission until recently, the paddle shifters are useless when accelerating (they just don't work well, and rarely feel "smooth"), but I really appreciate them for engine braking in the snow.

I wonder if you could get similar brake-saving results if you got accustomed to switching to manual mode when braking and then switching back to drive regularly.

joncalhoun··on Quick, Draw
I wonder if it has a very small pool of potential drawings. Eg if it only has "police car" and no other cars it might be able to jump straight to police car after seeing a car.

It also seems to constantly have a "best guess" to some degree and if that happens to be correct it confirms pretty quickly.

joncalhoun··on Self-made millionaire: Don't put money in your 401(k)
I think the moral of the story is that no single piece of financial advice is likely to apply to everyone.

For most people 100k before putting anything into your 401k is overkill, but for someone who wants to buy a house in SF it probably isn't.

joncalhoun··on Weebly hacked, 43M credentials stolen
While I agree the two are different, I also think in weeks case accounts could translate into multiple users. I know for a fact that my wife and her sister both share a weebly account for their business and I believe they have to share a login to do this.
joncalhoun··on Final – A credit card built for the 21st century
The biggest distinction I saw without actually using Final was that their card appears to require a relatively good credit score and has an annual fee but also has a 1% cash back rewards program.

I haven't used either service so I can't compare anything else.

joncalhoun··on The 2016 Election
I believe his point was that you don't know until Thiel actually makes the racist comments himself, so you can't infer that he does.
joncalhoun··on The 2016 Election
Endorsing Trump or Clinton isn't the same as saying you agree with everything they stand for. It is simply saying that you believe they are a better candidate for the position than the opposition, and unfortunately I feel like this election has turned into a "lesser of two evils" for many people I talk with. Nobody fully endorses either candidate's beliefs or ideals, but they definitely know which one they like the least for the job.

In that regard, donating really isn't saying much. It is simply saying "I think Trump will do a better job as president than Clinton."

That all said, I have no idea what Theil's political beliefs are so he might really agree with everything Trump says, but you can't infer that off of a donation to his campaign.

joncalhoun··on Dropbox Hasn't Learned Their Lesson
If not in a beta, where would you expect these issues to be revealed?

I am guessing that Dropbox has roughly 4 stages of "releasing":

1. Something for devs working on this feature get to see it in action. I would guess this means a few hundred people see this release.

2. A release for dropbox employees. I would guess a few thousand people see this release, and since they work at Dropbox I would guess that 99.9% of them keep these features enabled.

3. A beta release. This is the first time that we are likely to see anyone who actively disables integration features use the product, and even that is probably minimal.

4. Official release.

You are extremely unlikely to see people disabling features like this in (1) and (2) unless the feature is so broken they can't use it. In fact they probably encourage people not to disable it so they can get more feedback about how the new integration is working. This leaves (3) the beta release as the most likely spot for this type of bug to pop up.

This isn't a non-reversible bug. It doesn't delete your files or do anything that can't be reversed by reverting to an official release of Dropbox or quitting the app, both of which are relatively easy fixes.

It also isn't a bug that is likely to be caught by the majority of Dropbox users. Based on my interactions with people, at least 75% of them keep the OS integrations enabled. Only techies even consider disabling it.

As a result, this seems like exactly the type of bug that I would expect to see in a beta release, and I can't see any real harm in it making it that far.

joncalhoun··on YouTube Go: YouTube reimagined for the next generation of YouTube viewers
While I agree fragmentation can be bad, YouTube is one area where I think this makes sense. What a gamer wants in an app is going to be very different to what someone seeking educational content is going to want.

Similarly, a kids app is very useful given how many kids are growing up using cheap tablets to stream videos, and I know from watching my nephews that the way they use YouTube is very different from how I use it.

joncalhoun··on YouTube Go: YouTube reimagined for the next generation of YouTube viewers
No idea. Sorry :(
joncalhoun··on YouTube Go: YouTube reimagined for the next generation of YouTube viewers
I don't know.

Maybe it has something to do with them not being able to show you ads when you video ads when your screen is minimized. Or maybe it is to prevent people from using youtube as an alternative to paying for google music.

Regardless, I posted my original comment because it seems a bit disingenuous to say that this feature isn't available when it is (at least in the US). You just have to pay for it.

joncalhoun··on YouTube Go: YouTube reimagined for the next generation of YouTube viewers
You can do this on Android. At least I can, as a Google music subscriber (so I have YouTube Red). I just tested it with a random video.
joncalhoun··on Show HN: Primitive Pictures
Just wanted to say this is really awesome. Nice work!
joncalhoun··on Y Combinator Companies
Another factor is that it takes some time for a company to admit it failed, and everyone's opinion of "failed" is different. I suspect the actual number is higher, especially from an investors perspective.
joncalhoun··on AT&T refuses to offer low-income discounts for sub-3Mbps Internet
Another issue with this approach is that AT&T is incentivized to NOT upgrade the internet in these areas because they might lose revenue. I think the people who came up with this program had great intentions, but it has backfired pretty horribly in some areas.
joncalhoun··on 5 Tips for Using Strings in Go
Author here - these are mostly just answers to questions I found myself asking during my first few weeks with Go. Let me know if there are any questions you have and I can expand and update the post to more helpful to beginners!
joncalhoun··on [dead]
I just posted it again w/ the updated url. I have other things linking to the new url so I didn't want to screw w/ them :\
joncalhoun··on Cost of living adjusted salaries are terrible for remote employees
I think this holds true on both fronts - both employees and employers are (or should be) thinking about value vs cost of employees.
joncalhoun··on Cost of living adjusted salaries are terrible for remote employees
Sorry for this kinda being a repost - the last post has the wrong URL and I couldn't edit or delete it.
joncalhoun··on [dead]
Sorry.. I adjusted it.. I'll just go fix it.

Edit: And I can't edit the URL.. :(

joncalhoun··on An Intro to Templates in Go
Author here. The post is a little rough around the edges, but I wanted to get something out since I haven't published anything in a while.

Any feedback is appreciated!

joncalhoun··on Show HN: Book about writing web apps in Go without a framework
There are a few more use cases where it changes with postgres iirc and a few are not obvious.

For example the Result type's LastInsertId() method doesnt work in a few cases for postgres that it does for others.

joncalhoun··on State of Starfighter
I think the benefit of TripleByte is that they will help you find companies where you will perform well based on what they value in candidates, and they will (maybe?) help prep you for those interviews. You arguably don't have the time to interview at 10+ companies, so having them help filter it down to the 3-4 you are most likely to pass interviews with means you potentially have more competing offers with less overall time spent interviewing.

They may also be able to help you find companies you hadn't heard of that would be a good fit for you. Eg if you didn't know company x is hiring type y devs then the relationship could prove beneficial there as well.

That said, I hope they can start offering more value over time. For example, if TripleByte could not only tell you where you will succeed during interviews, but also help you understand how offers are likely to vary that would be valuable. Eg "company A would likely offer someone at your level $130-150k salary and y options, while company B typically offers more generous options, but a salary range of $90-110k". If your min salary is $120k, then this helps you prioritize where you interview based on what is important to you.

EDIT Editing to add that regardless, I don't think you are their target developer. Anyone who can get an interview with these companies is likely going to do just that, while people who cannot for whatever reason (new grad, no flashy names on resume, etc) are more likely to benefit from using a service like TripleByte or Starfighter where if they do well they almost guarantee they get to interview instead of sending out a resume and never hearing back.

joncalhoun··on Handcuffed to Uber
They wouldn't, and the original poster isn't implying that they would.

I believe the argument here is that if the government wants to claim that these shares have a certain monetary value for tax purposes, then the government should stand behind that value and allow you to pay taxes with those shares at their claimed monetary value.

The end goal would be to prevent small business (or people with stock options) from going under because the government claims a piece of paper is worth $1m, but in reality it can't be sold at all, or couldn't be sold for such a high value. If the government claims "oh but we would lose 20% of the value in selling these shares" then they are essentially admitting that they overvalued them when taxing you.

joncalhoun··on Cruise
I'm not sama, but I did attend YC a few years ago so I will try to chime in a bit here based on my experiences.

First, you are right - every YC partner has very limited time, and if you expect to get a lot of it for anything and everything you will be disappointed. YC wouldn't scale that way, and it would be a waste of the partners' time.

That said, if you ever NEED a partners time, they will bend over backwards to make it happen, regardless of whether you just sold for $1b, were personal friends with them, or whatever else.

joncalhoun··on Anatomy of a Co-Branded Credit Card
http://lmgtfy.com/?q=Manyfold

I believe the author speaks English as a second language. Googling his name brings up a page describing him as an immigrant and his writing supports this theory in certain places.

I suspect you could have pointed the mistake out in a more tactful way. He knew what he wanted to say and he used two valid words, he just didn't know to make it a compound word and this would be easy to miss when self editing.

joncalhoun··on Ask HN: Vulnerabilities with Basic Auth in Header Over SSL?
I would avoid this.

Imagine your API user is testing it out via CURL and accidentally sends the request to the wrong server via a typo - now they may have sent their password to the wrong server and given them info that they shouldn't have.

Or what if someone wants to build an app on top of your API and let users provide them with their API key? They now have to provide that app with their username and password, rather than a revokable token.

Tokens just provide far too many benefits for a relatively minor amount of setup to suggest using raw username/pw. You can revoke tokens. You can create multiple for one account. You can limit permissions of tokens independently.

If you don't expect users to actually interact with your API (and instead use it through a JS app or something similar) I would still avoid using raw username/pw in every request. It just leaves too many opportunities for something to go wrong. Instead check out JWT (https://jwt.io/). It is incredibly simple to setup and you would just return the token after the user hits some login endpoint.

joncalhoun··on Why Go solves so many problems for web developers
You likely see this because web applications are one of the most common things developers build, and it is easier to learn a language when you start by building something you are familiar with.

When I learned Ruby I came from a Java background, and being able to search for things like "java interfaces in ruby" was incredibly helpful. It is a very succinct way of defining what you are trying to do in the new language, and often leads to a useful post explaining how to do what you want to do (even if that means doing it a completely different way in the new language).

I suspect this is also why you see frameworks like Revel gaining so much popularity in Go. Developers coming from Rails, etc all want something they are familiar with, and Revel looks familiar. It may not be the best way to build web apps in Go (I don't know), but limiting what you have to learn has its benefits.

I personally view this as a positive thing. It makes it easier for developers to learn Go and find out what it is useful for so that when they can benefit from it they realize it.

← PreviousPage 4 of 9Next →