HN user

jrheard

1,666 karma

i'm a programmer. i live at http://jrheard.com .

i'm jrrrheard at gmail

Posts46
Comments83
View on HN
engineeringblog.ridereport.com 4y ago

Python's None problem, and how Mypy helps you deal with it

jrheard
4pts1
blog.jrheard.com 7y ago

Jobs

jrheard
2pts0
blog.jrheard.com 8y ago

Using Hypothesis and Pexpect to Test High School Programming Assignments

jrheard
1pts0
blog.jrheard.com 8y ago

Quinto: Resurrecting an Abandoned Board Game

jrheard
1pts0
mina.naguib.ca 8y ago

The little ssh that (sometimes) couldn't

jrheard
7pts0
blog.jrheard.com 8y ago

Painting Pictures and Making Games with a Watercoloring Robot

jrheard
1pts0
blog.acolyer.org 8y ago

Concrete Problems in AI Safety

jrheard
3pts1
blog.regehr.org 8y ago

Use of Assertions

jrheard
4pts0
www.drmaciver.com 8y ago

How to Submit a Decent Bug Report

jrheard
2pts0
www.theatlantic.com 8y ago

What Exactly Is Vegan-Mayonnaise Company Hampton Creek Selling?

jrheard
1pts0
patshaughnessy.net 9y ago

Pointers in C and x86 Assembly Language

jrheard
3pts0
engineeringblog.yelp.com 9y ago

Finding Beautiful Yelp Photos Using Deep Learning

jrheard
2pts0
betterexplained.com 9y ago

Life Lessons After 10 Years of BetterExplained.com

jrheard
210pts22
bitquabit.com 9y ago

Working remotely, coworking spaces, and mental health

jrheard
420pts123
blog.minitab.com 9y ago

What Are Degrees of Freedom in Statistics?

jrheard
25pts0
joeduffyblog.com 9y ago

On partially-constructed objects

jrheard
2pts0
blog.klipse.tech 9y ago

Brainfuck for dummies

jrheard
3pts0
ruudvanasseldonk.com 9y ago

Exceptional results: Error handling with C# and Rust

jrheard
2pts0
moronlab.blogspot.com 9y ago

Urbit: functional programming from scratch

jrheard
29pts3
blog.jrheard.com 9y ago

Procedural Dungeon Generation: Cellular Automata

jrheard
4pts0
blog.remix.com 9y ago

An Intro to Integer Programming for Engineers: Simplified Bus Scheduling

jrheard
1pts0
blog.jrheard.com 9y ago

Procedural Dungeon Generation: A Drunkard's Walk in ClojureScript

jrheard
5pts0
wingolog.org 9y ago

An incomplete history of language facilities for concurrency

jrheard
3pts0
tech.tapjoy.com 12y ago

Decomposing Monoliths

jrheard
1pts0
www.fastcodesign.com 12y ago

Plugin Visualizes Your Entire Browser History

jrheard
1pts0
engineeringblog.yelp.com 12y ago

RequestBucketer: A system for putting HTTP requests in named buckets

jrheard
6pts0
wingolog.org 13y ago

Time for Money

jrheard
1pts0
walkwithoutrhythm.net 13y ago

Instaparse: Parsing With Clojure Is the New Black

jrheard
8pts0
www.flyingmachinestudios.com 13y ago

How Clojure Babies Are Made: Compiling and Running a Java Program

jrheard
2pts0
wingolog.org 13y ago

On Generators

jrheard
41pts4

What's a good way to learn more about the history and function and current status of unions? Are there any good books/resources that aren't particularly biased toward one side or the other?

soar helped me a lot. the whole thing with the "strengthening exercise" is pretty hokey and just totally ignorable IMO, but the 5-4-3-2-1 exercise single-handedly solved my problems with turbulence. i do it whenever the plane shakes and it damn near puts me to sleep every time; and over time i find that i don't need to do it as often, because i've gradually become calm by default in turbulence. which is great!

it's totally a night-and-day difference, i used to be terrified of planes and now they're just a mild irritant.

The Mess at Meetup 8 years ago

Decisiveness Past: We spend too much time building consensus Starting now: Everyone else stops debating and gets on board once the decision is made

I'm volunteering in a local high school, helping out with a few CS classes. My main focus is an introductory Python class. I've put together a few projects for the students in that class:

http://blog.jrheard.com/watercolorbot

http://blog.jrheard.com/python/passwords

http://jrheard.com/blog-staging/python/caesar.html

I'm excited to see how the rest of this school year goes - by the end of it, I'll have a suite of projects that beginners to Python might find very useful!

I worked there as a software engineer for six years, first in SF, then remotely in Oregon. I loved it. The people are brilliant and friendly, the codebase and tooling are top-notch. If you're a programmer, it's a great place to work.

I'm one of cr0sh's classmates. I don't have any background in ML/AI/etc, so I've had to supplement the Udacity course materials with a lot of external resources (just finished watching the Stanford CS231n course, which was very helpful), but overall the course been really interesting+fun so far. It's really nice to be exposed to new kinds of tech I've never heard of / used before. Refreshing change from webdev.

If you're strapped for cash and don't want to pay the $800/term, you could definitely learn these things on your own using free online resources. If you don't mind the price, though, I've found this course worth the time+money+effort so far. [they're not paying me to say this :)]

I spent my last two years at Yelp working from home in Portland, OR, where I'd moved by myself. I started to go completely insane toward the end of my first winter. Being in the same room all day and having nothing ever change around me was much, much worse for my mental health than I had expected - prior to this, I'd never even thought about the concept of my own mental health, but this experience really brought it to the fore.

I tried a couple of coworking spaces, found one that I liked, and have been going there regularly since - my employer paid for my membership at the time, but I quit my job a year ago and it's still worth it to me to have a space where I can go every day to get out of the house and be _around_ humans, even if I don't socialize with them as much as I could.

I've always identified as an introvert, and used to fantasize about the idea of e.g. working in the top room of a lighthouse for a month - assuming you had a good Internet connection, you could get so much coding done there! - but it seems that being around people is much more important than I'd given it credit for, particularly in the winter when it's pitch black outside at 4pm and you're already kind of depressed by default.

I think that it's also good advice if you're not poor :)

Your second point is absolutely correct, but I still think that my comment answers the root question - how did you set things up such that you're automatically being given money for free on a regular basis? - in a way that is simple, requires very little effort, and has a very good chance of working for many people who are able to try it.

Good point, I forgot to mention that. I think that it's possible for a lot of young people in our industry to save significantly more than 15% of their income, and so I should have said: max out your contributions to retirement accounts every year and then set things up such that you're automatically saving as much of your remaining salary as is comfortable (e.g. if you're a recent college grad working in SF, and you have roommates, you might find that this percentage is pretty high!).

I don't want to start a business and in fact I specifically plan to never start a business. Sounds terrible. All that... business stuff. I shudder to think about it.

I do like programming, and I plan to spend my productive time on this Earth programming on projects that interest me and help humanity in some way, but I just absolutely 100% have no plans to start a business. I admire your excitement about the idea, but I think that maybe not everyone feels the same way :)

(I also recognize that maybe not everyone feels that automatically saving+investing as much of your income as possible is a good idea - I'm mainly attempting to reach those folks who do think it's a good idea and just need a little bit of prodding to actually set it up.)

Young hackers who have a surplus of income and have funds to spare that aren't being channeled toward debt / family / donations, heed me: save as much of your salary as you can, and put it in boring investments (index funds / etc), probably through vanguard.com (no affiliation, I just use them and have heard nothing but good things from people I trust). You can pretty easily set up your job's direct-deposit system so that a portion of your salary goes directly into your investments without you ever seeing it, it's a good set-it-and-forget-it system. It adds up over time!

[Somewhat related: http://www.mrmoneymustache.com/2012/01/13/the-shockingly-sim... ]

I bought a new 13" MBP with touchbar and I'm returning it on Monday. I don't like the keyboard and I _really_ don't like the touch bar, and I seem to only get about 3 hours of battery life. I'm going to stick with my early 2014 MacBook Air until Apple figures their stuff out.

Comments like this make my day, thanks :)

I'm hopeful that we'll see lots more blog posts written in this interactive style in the future - the KLIPSE plugin I use is extremely simple to set up, and has support for a ton of languages including Python and Ruby (not to mention regular old JavaScript!). http://blog.klipse.tech/klipse/2016/09/09/klipse-languages.h... is a gallery page that has examples of all of the languages that the plugin supports.

Yeah, I do this too - https://github.com/jrheard/blog is my source, https://github.com/jrheard/jrheard.github.io is the generated static site. This allows me to use whatever Jekyll plugins I want.

I literally wholesale copy-pasted the Rakefile in http://ixti.net/software/2013/01/28/using-jekyll-plugins-on-... in order to set this up, it was very easy thanks to that great article - all you have to do is run `rake publish` at the command line, and your site builds locally and the finished product is deployed to your github pages repo.

Hosting wouldn't be. Speaking certainly could, but that would depend also on his familiarity of the topic.

Could you talk more about this? I have little to no anxiety about public speaking, but hosting a meetup sounds like a lot of work and stress to me. Are you talking about putting a new meetup group together from scratch, or asking a preexisting meetup group if you can MC for them one night, or some third thing?

> This post gets it close, but what we need is the best tools that can run in a web browser on a public library computer. Many don't even have a Chromebook or RPi.

This would further the centralization of the internet, which is a disaster waiting to happen. It's easier, it's cheaper, but it's also wrong.

Sorry, honest question - I don't understand what you're saying here. Could you please explain?

One thing that's been useful for me on this topic is to keep a simple dev diary. Mine looks like this: https://github.com/jrheard/voke/blob/master/dev-diary.txt . I use it to get as much project state as possible out of my head and into git.

For "10 minutes figuring out where I was", I can just look at the end of my last diary entry, where I've often left a note like "this is what i'm working on: foo" or "do this next: foo, bar, baz" or "currently stuck on baz". And if I haven't left a note like that, I can usually deduce one by scanning the last few paragraphs of the last day's entry.

For "15 minutes researching how to do that next bit I want", that has to happen no matter what, but I like recording that research in my dev diary so that I can search through it later if I run into the problem again or want to remind myself why I settled on a particular solution - and I find that forcing myself to write down my analysis of this research helps keep me on task during the research process and helps prevent me from getting distracted.

You get the idea. I don't have any written-down rules about how to keep a dev diary, what goes in there and what doesn't, best practices about solving X software engineering problem by implementing certain dev diary techniques - I just have a freeform text file that I write my thoughts into every day when I'm working on my project. It seems to be a useful technique for me, maybe it'd work for you!

I used to do the don't-break-the-chain jerry-seinfeld thing, but I find it too stressful, it starts to really affect my quality of life (and the quality of the work that I do!) when I've got a chain going that's more than a month long. Plus, if the point is to prevent thoughts/state/meta stuff around the program from slipping out of your mind over time, writing it down seems to me like a good (better?) way of solving that problem.

When I find a problem that recurs in my dev diary without me coming up with a solution, or I have an idea that I'm not going to work on now and which I worry will be lost in the folds of my diary, I find an issue tracker like GitHub's (eg https://github.com/jrheard/voke/issues ) helpful.

What can citizens do about this? Trump hates women, so I'll donate to PP. Trump hates minorities, so I'll donate to the ACLU. Trump hates the actual physical earth - so what do I do about that?