HNHacker News
TopNewBestAskShowJobs

rmcpherson

397 karma · joined August 9, 2012

Randall McPherson

firstname at lastname.io

https://github.com/rlmcpherson

[ my public key: https://keybase.io/rlm; my proof: https://keybase.io/rlm/sigs/_ynWtv7q572RNOSGIiMxm5nHpuvRjoKQRt_6DI6lyP8 ]

submissionscomments
rmcpherson··on Budweiser's ex-marketing chief: Weed is the new craft beer
Having brewed award-winning IPAs I would take issue with that statement but luckily there is much more to the craft beer world than IPAs. You mentioned you like sours but hops are often used to interesting effect in sours as well. Sour beer yeasts and bacteria actually interact with hop oils to create new flavors. It's fascinating stuff although still poorly understood. As an example this sour beer wiki has a fairly detailed article on using hops in sour beers. http://www.milkthefunk.com/wiki/Hops
rmcpherson··on Budweiser's ex-marketing chief: Weed is the new craft beer
The IPA of today bears little resemblance to the original including differences in hop varieties, process, purity of yeast cultures.

The proliferation of hop varieties and investment in hop research, especially in the last 20 years, means that the juicy IPA of today has no historical precedent.

While IPA may be a "fad" in historical terms, it is the one with the most staying power in the current craft beer boom. Hops aren't going anywhere, just getting used in new and different ways and there are even relatively recent products that are going to change hoppy beer flavors for the better as they see wider usage. See, for example, https://ychhops.com/hop-products/cryo-hops

rmcpherson··on Budweiser's ex-marketing chief: Weed is the new craft beer
One of the biggest problems with hoppy beers is that they have a short shelf life (less than 90 days even when packaged well, much less when dissolved oxygen is present) but distribution issues and lack of education means that most IPAs are consumed past their prime.
rmcpherson··on The $100B per year back pain industry is mostly a hoax
Yes, humans evolved from an animal whose back was horizontal, parallel with the ground. Our spines are not an optimal solution.
rmcpherson··on Weapon physicist declassifies rescued nuclear test films
I do as well and know several other people that have admitted to falling asleep to Hardcore History. I wonder what it is about, drifting off to graphic accounts of historical genocides.
rmcpherson··on The Polyamorous Christian Socialist Utopia That Made Silverware
I know of one [1], the Bruderhof, that maintains communal ownership of property and has existed for almost 100 years. It's not easy to do, though, so perhaps an exception that proves the rule. They do have some thriving businesses that make surviving in a capitalist world possible [2]. [1] source: I was born and spent my childhood there [2] http://www.communityplaythings.com/ http://www.rifton.com/
rmcpherson··on The Polyamorous Christian Socialist Utopia That Made Silverware
I haven't read the good life but this immediately reminded me of the song by Pete Seeger "Maple Syrup Time" where he mentions Scott and Helen. Looks like it's referenced in the book as well. https://books.google.ca/books?id=iumQ0TLXESkC&pg=PA66&lpg=PA...

Strangely enough, I grew up singing this song in a commune that did not fail. https://en.wikipedia.org/wiki/Bruderhof_Communities

rmcpherson··on Yahoo installed a backdoor for the NSA behind the back of the security team
Having to leave home country, friends, and community is a steep price to pay for ethics. And the dirty work still got done, albeit ineptly. I think you proved my point.

As morgante said below "If you can professionalize a certain set of ethics, you can make it impossible for your employer to find anyone to complete the job."

rmcpherson··on Yahoo installed a backdoor for the NSA behind the back of the security team
I don't know how common this is in general, but an ethics course was a required part of the engineering core curricula at my school (Case Western Reserve).

Ultimately, though, an ethics course isn't going to make people stand up for their ethics. A professional organization along the lines of the American Medical Association (at least in terms of political strength) that stands up for its members and censures those who behave unethically would do far more for strengthening engineering ethics collectively.

When there are few professional consequences for unethical behavior at the behest of your employer, taking an ethical stand is ineffective and quixotic. You will be fired and another engineer will likely complete the job.

rmcpherson··on Ask HN: Who wants to be hired? (October 2016)
Location: Atlanta, GA

Remote: Yes

Technologies: go, kubernetes, distributed systems, gcp, aws

Résumé/CV: https://drive.google.com/open?id=0B74PTRwLSU8EUmRuazU0UmNzU3...

Willing to relocate: Yes, for the right opportunity

Email: randall@mcpherson.io

Github: https://github.com/rlmcpherson

Backend engineer with a background in building services at scale on a variety of cloud infrastructure as well as Kubernetes. Additional background in embedded devices. Interested in working on products with a physical component and a meaningful, positive impact on the world.

rmcpherson··on Go 1.7 is released
On our code base, we're seeing >2x build speed increases vs. go 1.6! Compiling the entire go monorepo, including vendored dependencies, dropped from 73 seconds to 29 on 4 CPUs when moving from 1.6.3->1.7rc6. Huge improvements to CI times, when amortized across go build, go test, docker builds etc.
rmcpherson··on Massachusetts Bans Employers from Asking Applicants About Previous Pay
This is interesting. Can you suggest any resources that lay out concrete proposals for how this could work in practice? Are there examples of where it has already worked in the world?

Some questions: 1. Wouldn't there still be a need for capital to finance risky ventures that take a long time to create value? How would a forward-looking startup with high capital costs, such as a biomedical device company with unproven technology, work in this economy? 2. How do you measure the value labor creates? 3. Is the allocation of resources among labor proportional to the value it creates? How does that work among a team of specialists that are more than the sum of their parts?

I'd genuinely like to understand whether this could work or has worked.

rmcpherson··on HTC Vive Headset Nearing 100,000 Sales
This was demoed at Google I/O for Project Tango, featuring furniture from WayFair among others. It's not true VR but AR, which actually works better for this application. Until consumer project tango hardware has shipped in quantity, though, it won't get past the demo stage.

The great thing about project tango is that since it has accurate depth sensing and builds a 3D model of the space, furniture placed is accurate to scale. Demo video: https://www.youtube.com/watch?v=2gYwc6nS7qs

rmcpherson··on Poor Sleep Gives You the Munchies, Study Says
You're right. No research has shown that, for otherwise healthy people, drinking water beyond what your body tells you to drink has any health effects. Hydration also does not have to come from water to be effective. The 8 cups a day rule is a myth. (http://www.nytimes.com/2015/08/25/upshot/no-you-do-not-have-..., links to research in the article)
rmcpherson··on Google says self-driving car hits municipal bus in minor crash
Is there any information available about how these cars take evasive action or attempt to reduce damage in the event of an imminent impact? The article's wording makes it sound like the car was at fault for the crash by re-entering the lane:

> "But three seconds later, as the Google car reentered the center of the lane it struck the side of the bus"

Presumably the car's software predicted the crash before it occurred but was unable to completely avoid it. I'd love to know what the programmed behavior is in these 'unavoidable' crash scenarios. edit: formatting

rmcpherson··on Show HN: 3D Vector Graphics
I thought I remembered seeing your graphics work before in go posted on HN. Yep: https://github.com/fogleman/pt Is this an evolution of that work, at least in terms of the learning process?
rmcpherson··on Feeding data to 1000 CPUs – comparison of S3, Google, Azure storage
In S3 tests on c3.8xlarge instances, I've seen 8 Gbps throughput on both uploads and downloads using parallelized requests. Testing with iperf between two of the same instances maxed out about 8 Gbps as well so the throughput limitation is likely EC2 networking rather than S3.

These tests were done over a year ago so bandwidth limitations on EC2 may have changed since.

This testing was with https://github.com/rlmcpherson/s3gof3r

rmcpherson··on Feeding data to 1000 CPUs – comparison of S3, Google, Azure storage
That's true, although the latest stock ubuntu HVM AMIs (14+, I believe) have the SR-IOV driver already and use it by default. Older AMIs need to have it installed and enabled on the AMI. I believe enhanced networking is only available on HVM amis.
rmcpherson··on Screenshots from developers: 2002 vs. 2015
For go auto completion in vim, vim-go with youcompleteme works well for me. It's not tags-based, based on the source AST, shows method signatures as well.
rmcpherson··on Start of Lightning Bolt Caught on Camera
Great video, the nature article is much more informative than the one linked.

From the nature article, it seems this was the first video of natural bidirectional lightning, not triggered by rockets or aircraft: "In contrast to studies of rocket-triggered lightning and lightning initiated by aircraft, which found delays of 3–6 ms between the onset of negative and positive leader branches, this natural event exhibited a delay of less than 90 μs (i.e. one video image)."

This was a negative polarity lightning strike. the most common type. Less than 5% of lightning is positive polarity but they can carry ten times the charge and exceed a billion volts of potential.

When you read about people surviving lightning strikes it's almost certainly a negative polarity strike. https://en.wikipedia.org/wiki/Lightning#Positive_and_negativ...

rmcpherson··on Start of Lightning Bolt Caught on Camera
Direct link to the video: https://www.youtube.com/watch?v=4dwBS9nLPbE
rmcpherson··on First chapter of Kernighan and Donovan's new Go book [pdf]
Good point, but I also think it will be confusing to beginners who compile and run the program only to find that it always generates the same figure without any explanation as to why. Both the package documentation and text say that the generated figures will be random.

The fix is just a couple lines and, I would argue, should be included in the source to eliminate the surprising behavior. http://play.golang.org/p/1WlhOdJ1pk

rmcpherson··on First chapter of Kernighan and Donovan's new Go book [pdf]
I noticed that the lissajous program in 1.4, as included, generates non-random lissajous figures since the random number generator is not seeded. I couldn't find any reference to this in the text and this could be confusing to beginning readers. Is there a recommended way to submit errata?
rmcpherson··on PeachPy: Assembly Code Generation in High-Level Python
Great tool. It supports assembly generation for the golang Plan 9 toolchain as well. The author, Marat Dukhan, gave a great talk on this last night at the Atlanta Go Meetup. Slides are at https://docs.google.com/presentation/d/1MYg8PyhEf0oIvZ9YU2pa...
rmcpherson··on Go-fuzz: Randomized testing for Go
It's amazing that go-fuzz found 137 bugs in the standard library. The design is based on American Fuzzy Lop (http://lcamtuf.coredump.cx/afl/)

Dmitry Vyukov gave a great talk at Gophercon on go-fuzz and other dynamic analysis tools for go. Slides: http://go-talks.appspot.com/github.com/dvyukov/go-fuzz/slide...

rmcpherson··on A Rust Contributor Tries Their Hand at Go
> Visibility (public/private) is done via the capitalization of the field, method, or type name. This sort of restriction doesn't hinder usability, but it's quite annoying.

While the capitalization of identifiers may be surprising, in practice it is one of the best features of go in my experience because no additional context is needed to know whether an identifier is exported. In rust, as far as I can tell, it is not possible without referring to the declaration.

As far as globally changing whether an identifier is exported, it is easy with the gorename tool, no search and replace necessary. Gorename also updates any references to the identifier in other packages in $GOPATH. https://godoc.org/golang.org/x/tools/cmd/gorename

rmcpherson··on A Rust Contributor Tries Their Hand at Go
The best place to start, if you haven't read it, is the documentation here: https://golang.org/ref/mem

For more detailed information on the garbage collector improvements and roadmap for 1.5 and beyond, this document is the Roadmap and discusses improvements being made including a maximum of 10 ms STW out of every 50 ms. https://docs.google.com/document/d/16Y4IsnNRCN43Mx0NZc5YXZLo...

edit: fixed incorrect link

rmcpherson··on Seeing the Human Pulse (2013)
"Finally, using a technique called principal component analysis, the algorithm decomposes the resulting signal into several constituent signals, which represent aspects of the remaining movements that don’t appear to be correlated with each other. Of those signals, it selects the one that appears to be the most regular and that falls within the typical frequency band of the human pulse."

Given the filtering of the signal using principal component analysis. I wonder how sensitive this technique could be for arrhythmia detection, since many arrhythmias are inherently irregular. The potential for measuring cardiac output is already awesome, though, as it's useful for diagnosis of heart disease.

rmcpherson··on Show HN: I rendered the Go gopher using Go
I'm getting runtime errors when trying to run the example locally, and compile errors for others (e.g. suzanne.go, 'not enough arguments in call'). Was there a recent update that broke the code?
rmcpherson··on WatchKit
Are they allowing access to the sensor data from the watch? I'm particularly interested in heart rate.

A brief scan of the documentation didn't show anything obvious.

← PreviousPage 3 of 4Next →