HNHacker News
TopNewBestAskShowJobs

joebadmo

3,246 karma · joined February 9, 2011

joe.xoxomoon.com Code mook for Stripe.com

[ my public key: https://keybase.io/sodiumjoe; my proof: https://keybase.io/sodiumjoe/sigs/3Z1IsXVexUPkW-AdHbdz8EYgCVHh4E-F7Fx_xmAb5QU ]

submissionscomments
joebadmo··on It’s time to break up the Ivy League cartel
Hi, I'm Asian, graduated from a state school with a humanities degree, worked my way from tech support at a tiny startup into engineering, and now (several jobs later) work as a software eng at Stripe. I've met plenty of other engineers here with non-traditional backgrounds.

I think you're: 1. way too hard on yourself. If you broaden your scope just a bit, you'll see that Amazon is an elite engineering organization. 2. buying way too much into phony credentialism. I don't make a big deal out of it, but personally I consider being able to hold my own engineering-wise while having gone to a state school as a badge of honor. 3. giving way too much headspace to comparing yourself with others in envy. There's always someone better, smarter, etc. I find them around me all the time. I choose to see them as mentors and role models, rather than rivals or competitors.

> I should have done research in high school and I should have gotten at least two first author papers to a top conference in undergrad - instead I got 2 2nd author papers to medium tier conferences because I could never come up with any compelling research ideas. All of my work is ultimately meaningless because it just wasn’t enough - it’s extremely depressing.

I don't think you're ever going to be satisfied if this is your definition of success. You should try to find meaning in the work itself, not in the recognition or status that comes from it.

Good luck!

joebadmo··on America’s urban rebirth is missing actual births
I grew up in suburbs, and couldn't go anywhere without a car, so I was very bored and watched a lot of television (though I read a lot of books, too).

Currently raising two kids in an urban center, and I'm excited for them to have way more opportunities than I had.

joebadmo··on Hedge-fund billionaire Ray Dalio says capitalism is failing America
Pulling the ladder up behind you.
joebadmo··on Google employees reportedly quit over military drone AI project
seems like a dupe of https://news.ycombinator.com/item?id=17074148 which has more comments
joebadmo··on Earning Your Stripes: An Interview with Patrick Collison
Former Marine Corps NCO checking in. I'm about to start at Stripe in a few weeks. You're not wrong, but we do show up now and again.
joebadmo··on Chinese tech giant ZTE ceases operations after ban on using U.S. components
Given that this is about Iran/N. Korea sanctions, why does it get conflated with "tech cold war"?
joebadmo··on Keyboard latency
> when the key bottoms out is probably the best way to go

I disagree. One of the greatest benefits of mechanical keyboards is that they actuate before bottoming out. With some practice you can learn to type without bottoming out, which can greatly increase your typing speed, and decrease the amount of stress on your fingers and wrists.

joebadmo··on Company creates bicycle airbag to replace helmets (2014)
June 26, 2014
joebadmo··on Show HN: Duo – a next-generation package manager for the front end
You've correctly identified a guarantee that you don't have with npm. In practice, anecdotally, I've never run into this issue, while I have many times and with much pain dealt with conflicting deep dependencies using bower and bundler. Which may explain the blank stares. It's a tradeoff I am personally happy to make.
joebadmo··on Show HN: Duo – a next-generation package manager for the front end
The problem is here: "(accepts a 1.0 object but depends on 2.0)"

This case actually has nothing to do with nested dependencies. Your time zone lib is returning a datum with one type, which you're passing to a formatting lib that expects a datum with another type. This can happen if your libs have dependencies that are totally different libraries instead of the same library with different versions. It can also happen if your libs have no dependencies at all. This is not an issue of dependencies but of you not understanding your libs' APIs.

joebadmo··on How to Test Private Functions in JS Modules
I think I just mean that a testable unit is a good heuristic for when a piece of code should be pulled out into a separate module. Put another way: when there's enough functionality/complexity in a given function that it needs to be tested independent of the public methods that use it, it's modularizable.

This probably isn't categorically true, but it's served me pretty well.

joebadmo··on How to Test Private Functions in JS Modules
If you really want to buy into the module pattern, it seems like anything that's enough of a unit that you'd want to test could be in its own module.

In the example given, the sum function could be its own module that you require into the stats module. That way you could test them independently, and the stats module could simply expose its own appropriate methods.

This has the added benefit of making the sum function reusable.

Personally I prefer this approach to introducing environmental concerns into your code.

joebadmo··on Open Name System: Extending DNS with the Blockchain
At the bottom:

"currently maintained by the team at onename.io"

https://onename.io/about

There's also links to the github repos.

joebadmo··on Static Site Generators
DocPad is a little more involved to get running, but does something like what you're describing: https://github.com/bevry/docpad
joebadmo··on A Reintroduction to JavaScript
Yes, there's a note right after:

    Note that this trick should only be used
    for arrays which you know do not contain 
    "falsy" values (arrays of objects or DOM 
    nodes for example). If you are iterating 
    over numeric data that might include a 0 
    or string data that might include the 
    empty string you should use the i, len 
    idiom instead.
joebadmo··on Keyboard innovation is making them worse
I use https://pqrs.org/macosx/keyremap4macbook/ to remap caps lock to ctrl and hit both shift buttons simultaneously for caps lock.

Here's my custom config: https://github.com/joebadmo/dotfiles/blob/master/keyremap4ma...

joebadmo··on Major US carriers announce principles for unlocking devices
I would agree with you if all the carriers offered transparent plans that charge you just the monthly plan amount without the phone subsidy if you bring your own phone. Only T-Mobile does at the moment. As it is, I can bring my own unlocked phone, but I'll still get charged the subsidy.
joebadmo··on Git for the masses
I'm married to a designer who spends a lot of time in Adobe products, and her team's collaboration workflows are very similarly busted.

I've often felt like they could make great use of a version control system, and wondered why this hadn't been done before.

Good luck, this looks really promising!

joebadmo··on Show HN: Easy Email Encryption inside Gmail (Alpha, Open-Source)
You mean this? https://github.com/StreakYC/StreakSecureGmail

It's right there under "Open Source"

joebadmo··on My divorce from Google - One year later
It's hard for me to take "Google divorce" seriously from someone who still uses Facebook.
joebadmo··on Beautiful Tools
google cache: http://webcache.googleusercontent.com/search?q=cache:YgVVztl...

tl;dr

Use zsh, oh-my-zsh, and tmux.

joebadmo··on The power of the RSS reader
Personally, I have different labels. I have a high volume label that I nuke with impunity, then another label with low volume feeds that I treat more like Marco describes in tfa.

This lets me keep up with all of those low volume feeds, but also skim the daily news when I have time.

I also prune my feeds pretty aggressively.

This is probably a much fiddlier setup than most people will want, but really so is any RSS reader.

joebadmo··on Dell in $24 Billion Deal to Go Private
http://www.wired.com/thisdayintech/2009/08/dayintech_0806/
joebadmo··on Apple Pulls 500px’s Mobile Apps From The App Store
A few years ago, I was in a big box store and overheard a young (~10y/o) child and his mother picking out a new video game. The kid excitedly picked up a box and asked his mom if he could get that one. She checked out the cover, then started reading the rating.

"Rated 'mature' for sexual content? No way!"

"Aw, man! Ok, how about this one?"

"Rated 'mature' for extreme graphic violence? Well... ok."

joebadmo··on Why You Should Join Diaspora Now, Like Your Freedom Depends On It
Wed, 2011-09-14 13:30
joebadmo··on The Web We Lost
After all that, I can't comment on the piece with OpenID or any other service I actually use. Facebook, Yahoo, Hotmail, or AOL? Really?

The way out of this mess is for people with loud voices to support efforts like Tent.io, open, decentralized, standardized protocols that don't lock us into corporate silos: https://tent.io/

joebadmo··on Programming is not a craft
I find it interesting that the two examples he gives of "proper professions" are highly regulated guild-like professions whose values are artificially inflated, at least to some degree.

I'm only a very new programmer, but I'm reading Martin Fowler's Refactoring and, even from my limited experience I'm finding that one of the differences between software and other products is that software must be maintainable. So the end user isn't the only end user. Software has to be read and worked on by other programmers in future, and most of the craft involved is not in making a program simply work as it's supposed to, but making the code easy to read, easy to maintain, and easy to modify.

So the aesthetic quality of the code and the craftsmanship involved is very important, for pragmatic and eventually end-user-facing reasons.

But hey, what do I know? I haven't gone to programmer's school or gotten a programmer's license or anything.

joebadmo··on Building a Keyboard: Part 2
There's a personal balance point between customization and portability e.g. how much to customize Vim or rely on shell/git aliases. These kinds of customizations can improve your personal workstation, at the cost of incompatibility with other people's machines and the spin-up time for new machines.

For keyboards, having to sometimes use other people's machines as well as frequently switching between my desktop and laptop means that, while tempting, this level of customization is too far for me. The sweet spot for me is a high quality mechanical switch (-style) keyboard: Topre's Realforce.

joebadmo··on Twitter's mandatory link shortener, t.co, was down
Which is why we shouldn't use centralized services like Twitter. I'm rooting for http://tent.io/ myself.
joebadmo··on IFTTT forced to remove Twitter triggers to comply with new API policies
Add to the list for the need for a decentralized, distributed platform with no one party in control of our information and publishing. I, for one, am really looking forward to what the http://tent.io/ guys come out with.
Page 1 of 24Next →