HN user

joebadmo

3,246 karma

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 ]

Posts80
Comments709
View on HN
bruno-simon.com 4y ago

Bruno-Simon.com

joebadmo
1pts0
raphlinus.github.io 6y ago

Soundness Pledge

joebadmo
3pts0
www.modelfkeyboards.com 9y ago

Brand New Model F Keyboards (reproductions)

joebadmo
1pts0
ipfs.io 11y ago

IPFS is the Permanent Web

joebadmo
3pts0
gimletmedia.com 11y ago

Welcome to fundraising (startup podcast)

joebadmo
1pts0
medium.com 11y ago

Modularise CSS the React way

joebadmo
2pts0
www.nbcnews.com 11y ago

No Indictment in Ferguson

joebadmo
4pts0
pump.io 13y ago

Pump.io

joebadmo
3pts0
mitchell.hashimoto.usesthis.com 13y ago

Mitchell Hashimoto (Vargrant/Packer.io/Docker.io) on the Setup

joebadmo
3pts0
www.nczonline.net 13y ago

On the politics, cargo-culting, and maintainability of JavaScript

joebadmo
3pts0
martinfowler.com 13y ago

An Appropriate Use of Metrics

joebadmo
1pts0
blog.byjoemoon.com 14y ago

Please Don't Learn to Read

joebadmo
1pts2
www.youtube.com 14y ago

On Game Design

joebadmo
1pts0
news.ycombinator.com 14y ago

Tell HN: Thanks

joebadmo
18pts2
www.slate.com 14y ago

Copying Is Not Stealing

joebadmo
2pts0
mediadecoder.blogs.nytimes.com 14y ago

At Sundance, Kickstarter Resembled a Movie Studio, but Without the Egos

joebadmo
4pts1
scripting.com 14y ago

Ask not what the Internet...(Dave Winer on Twitter Censorship)

joebadmo
1pts0
www.popmatters.com 14y ago

Facebook's False Frame of Reference

joebadmo
12pts2
www.slate.com 14y ago

Google Can't Break Anti-Trust Laws Because It Doesn't Have A Monopoly

joebadmo
4pts1
www.theatlantic.com 14y ago

What Hacker Apprenticeships Tell Us About the Future of Education

joebadmo
1pts0
www.nytimes.com 14y ago

Divisive Devices

joebadmo
1pts0
www.theatlantic.com 14y ago

In Defense of the New Gmail

joebadmo
1pts0
googleblog.blogspot.com 14y ago

Gmail and Contacts integrated into Google+

joebadmo
6pts0
tidbits.com 14y ago

Let’s Stop with the Siri Baiting

joebadmo
2pts0
www.theverge.com 14y ago

No CarrierIQ on Google flagship devices

joebadmo
2pts1
blog.byjoemoon.com 14y ago

An Amateur’s Lament

joebadmo
1pts0
www.wired.com 14y ago

Digital Holdout Ray Bradbury Brings Fahrenheit 451 To E-Readers

joebadmo
1pts0
gartner.mediasite.com 14y ago

Clayton Christensen Presentation on Disruption

joebadmo
20pts2
plus.google.com 14y ago

Google Reader adds share button (public +1 no longer necessary)

joebadmo
1pts0
www.theverge.com 14y ago

Rogers offering a la carte Cable TV in Canada

joebadmo
1pts0

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!

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.

Keyboard latency 9 years ago

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.

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.

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.

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.

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.

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.

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.

Git for the masses 13 years ago

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!

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.

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."

The Web We Lost 14 years ago

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/

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.

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.