HNHacker News
TopNewBestAskShowJobs

bgribble

1,237 karma · joined April 1, 2015

submissionscomments
bgribble··on Just Wanted to Say Thanks
Very similar ideas are foundational to the practice of meditation/mindfulness and teachings of Buddhism generally. Popular teachers such as Jack Kornfield, Thich Nhat Hanh, Sharon Salzburg, Pema Chodron (among many others) have great books covering these ideas.
bgribble··on Vim Creep (2011)
For me Vim’s value is as a great programmer’s editor, not so much as an IDE. There are a few things I have made or installed that I just could not live without:

* CamelCaseMotion, allowing select/delete/change of just one or a number of segments of a camel case or snake case name

* surround.vim, allowing single commands to (for example) change the () surrounding a text to [] or “ to ‘

* a simple one-liner to change a literal Python string to a f-string and back without losing the current edit position

And in general the power of the motion + action vocabulary that lets you compose edits on the fly once you have the motions and actions under your fingers. You don’t even have to think to type ysiw” to put “ around the current word, for example, or vt)~ to change the case of everything up to the next ).

bgribble··on Vim Creep (2011)
I’m a Vim user and proponent so don’t get me wrong here, but is “creep” in the title intended to be a description of what Vim does, or of the Vim user/protagonist? :)
bgribble··on About Google's approach to research publication – Jeff Dean
According to her Twitter feed, Timnit was asking for the same transparency that normally goes with Google pub reviews -- where all the reviewers and their feedback are known to the reviewee. This red-stamp "review" did not follow the normal review process. Not a Googler, just going on what she says:

https://twitter.com/timnitGebru/status/1334881120920498180

bgribble··on Researchers discover new salivary glands in the human head
Funny you pick that as an example!

I do seem to recall a very large cohort of programmers (LOCALE=en_us) finding themselves dumped through a rabbithole of wonder which turned the black-and-white scenery of the Land of ASCII to the kaliedoscopic technicolor of Unicode. We did, in fact, discover that there were extra bits on those characters that we had been pretending weren't there all along :)

bgribble··on Eigentechno – Applying Principal Component Analysis to electronic music loops
Interesting stuff! In the world of equipment for making this kind of music, there’s a device called Mutable Instruments Grids [1] whose maker did this same sort of analysis just for drum patterns. She designed a “topographic drum sequencer” with 3 knobs that smoothly transforms across the “eigenbeats” of a training set of electronic music rhythms.

[1] https://mutable-instruments.net/modules/grids/

bgribble··on Don’t pay for 95% (2016)
Not noted in the article that usage of car share, hotel rooms, and parks are all already highly correlated with local conventions for work holidays.

Sure, you can get an easy car share 95% of the time, but the 5% of the time that you actually need one is also the same 5% of the time that everyone else in the city needs one -- the long weekend when everybody wants to head out to the countryside. Likewise hotel rooms and the facilities in parks. So you may need to plan waaaaaaaaay ahead if you depend on access to these shared resources.

bgribble··on A Simple Scheme Compiler (1997)
I can't find any author information in the linked doc but it reminds me of the work Donovan Kolbly was doing about that time on RScheme. I think RScheme was initially intended to be a teachable implementation and I seem to recall a book project that went along with it (I was a grad student then and there, and was an RScheme user, but wasn't closely involved with Wilson's group).
bgribble··on Firefox: The Evolution of a Brand
It has always annoyed me that they call the product "Firefox" but the animal in the branding is a red fox and not a firefox. The firefox (aka red panda) is a totally different animal more closely related to a raccoon than to a fox. They look enough alike that it could easily have been an actual firefox in the logo but they go out of their way to give cues that it's a red fox.

shrug

bgribble··on I ruin developers’ lives with my code reviews and I'm sorry
It's one of the things I'm most pleased about at my current gig that reviews are in general collegial rather than adversarial.

I wish I had a magic blog-post-length formula for how that happened. I don't. I know I personally talk about it in interviews, and we hire for developers who think about development as a team sport rather than a solo FPS rampage, and we talk about code review sort of a lot in onboarding.

The way I explain it to noobs is that a collegial review culture is a question of trust. When we all believe that we are all on the same team with the same goals, we feel safe, and we can trust that (1) critical feedback we receive from others is intended just to improve the code, not to score points on us personally, and (2) if we give feedback that is critical, it will be received in that spirit as well. And it's our responsibility to give critical feedback where the code under review doesn't meet our standards of efficiency, readability, and maintainability.

Grandstanding or mean-spirited reviews break down the team-wide spirit of trust and the feeling of safety; they are a far greater danger to the integrity of the code base than a badly-coded method or spotty test suite.

bgribble··on Pushback against Saudi funding endangers Silicon Valley valuations
There are "bad people" throughout the startup investment ecosystem, including but not limited to:

* just plain jerks

* serial harassers, misogynists and the like

* supporters of various evil/hateful politics

* white-collar criminal/fraudster types

* straight-up mob, american, russian, or other

* nation-state actors with very dirty hands like KSA

Making ethical decisions about who you are willing to work for is a routine part of working in startup world... and you're never done, because surprise! You may have an even harder decision to make after that Series B closes with new investors!

bgribble··on Ask HN: Software development after 40, how do you keep the fire?
I've been lucky to find companies where I could honestly say, "look, I have managed (up to CTO level) and I don't like it, I know myself well enough to know that I will just try to find excuses to write code. I want to be a technical leader, not a manager." I think most sane managers can understand that. If they can't... NEXT!

I live in NYC and in the startup scene here (in my experience) young superstars get (demand!) a lot of attention but hiring managers are always stoked to find someone with some seasoning who is not averse to working in a startup environment. I try to be very upfront that I place a high priority on my family and I will not be spending 60-hour weeks in the office. As long as expectations are set properly nobody has had a problem with that.

bgribble··on Ask HN: Software development after 40, how do you keep the fire?
I'm 47 and got my first programming job at 19. I still love it and look forward to a good number more years. I have a few guidelines/principles that seem to have worked so far:

* Do meaningful work, whatever that means to you. Maybe it's picking a domain that helps people or society, or maybe it's some other criterion. Ask yourself what meaningful work is to you.

* Be mindful about your craftsmanship and always work to improve it. Try to write solid, expressive, readable code that works, and be critical about your own code. Read other people's code closely and see what you can learn from it. Explore new technologies, not just for "variety" but for what you can learn from what led to their development and how they were implemented.

* Engage in mentorship of younger developers. Mentorship can really do a lot to renew your love of coding. If your employer doesn't have an established mentorship program try to help set one up. If that doesn't work, there are coding bootcamps that will let you work as little as an hour a week mentoring new developers as a consultant.

* Try to be that person within your organization that others want to come to with their thorny technical problems. Listen deeply and respond compassionately.

* Work on side projects. They don't have to change the world or "go somewhere". A side project can remind you why you love programming when the daily becomes a grind.

bgribble··on Nissan Admits Internal Emissions-Test Results were Falsified
In the US at least, the regulation of software in medical devices regulates the process by which the software is developed and tested.

The qualifications of the people developing the code are somewhere down in the process-stack; there are no specific requirements [1].

In general, to follow "Current Good Manufacturing Practices" (a term of art in the FDA design controls regulation), qualifications for the people on the team have to be documented and a paper trail kept up-to-date, to be able to answer questions of the nature "was person <X> qualified to be working in this role? How do you know?" with objective evidence.

It's up to the judgment of the engineering management of the project what they state the requirements of the role to be. If you say that it takes a high-school diploma or better to be able to develop life-safety-critical medical device software, you may pass a process audit since you document and track that requirement, but if there is an "adverse incident" I would think whoever signed off on that decision might be exposed to liability.

[1] My specific knowledge about this is ~5 years out of date so this may have changed, but I doubt it

bgribble··on Slack outage: Connectivity issues affecting all workspaces
I know it's not exactly scientific, but the front page of https://downdetector.com shows a number of services that have problem spikes starting anywhere from 3am US/Eastern to 9am US/Eastern and continuing through now (11:24 US/Eastern): Google Home, Fortnite, Exede, Level 3, New York Times, AWS. Maybe totally unrelated to each other, who knows.
bgribble··on Slack outage: Connectivity issues affecting all workspaces
Maybe unrelated, but my AWS-hosted websockets-using app had an outage starting at the same time. Also a third-party API provider we use for handling inbound phone calls. So this smells like a wider outage than just Slack.
bgribble··on Show HN: Whiteboardfree – Developer Jobs at Companies That Don't Whiteboard
We aren't paying for the work-product, we're paying for the time and inconvenience. It's more to show respect for the candidate's time than to actually "hire" them to do an interview.

I mean, even "discount" recruiting platforms like Hired and Vettery will cost 5-figures when we make a hire through them, and traditional recruiters often charge 20% or more of the new-hire's first year salary. A few hundred bucks to get some more information about a prospective coworker is cheap.

bgribble··on Show HN: Whiteboardfree – Developer Jobs at Companies That Don't Whiteboard
I like to use whiteboards for non-coding design questions, like talking through how you would architect an app, drawing DB schema diagrams, etc. It's a tool that we use for collaborating on things like this in the office, so demonstrating an ability to do it is meaningful.

Actually hand-writing code with a pen has always seemed weird to me. As a programmer, I compose code with a keyboard. So I give candidates a laptop and use an interactive screensharing tool (I like https://codepad.remoteinterview.io) where they can run code in the language of their choice in a browser, and I can watch and talk through the process.

bgribble··on Show HN: Whiteboardfree – Developer Jobs at Companies That Don't Whiteboard
At my startup we pay interviewees a decent hourly consulting rate for take-home problems or full-day followup onsites (after the first interview).

We only do them when we are pretty excited about a candidate but need more information to make a hiring decision.

It's cheap, really, considering the cost of sourcing candidates and the cost of making a bad hiring decision.

bgribble··on Has wine gone bad?
For wine at least, any sommelier at a high-end restaurant has been through a course that you don't pass until you can perceive them. I know a couple of people who have been through it, it's for real. They teach very specific sensory cues and you practice a lot. There are certainly wines that can confuse even a trained person but for the most part it's not magic.
bgribble··on Has wine gone bad?
> I enjoy great wine and it seldom costs more than $8 a bottle.

You can definitely get really good wine cheap. But! Sometimes it's worth it to bump up.

I drink a lot of whites these days because my wife can't tolerate red. I find that there is a sweet spot at about $25 (NYC retail prices) for whites that are noticeably better than cheaper ones -- French whites like Sancerre, decent Chablis, the less fancy Bourgognes; what I think of as new-style California Chardonnays (not oaky, more like French Chards).

Then there's another sweet spot for whites at about $40, which includes some of my favorite bottles ever, which can change your idea about what good wine can taste like, if you don't usually "go there" pricewise.. I'll call out specifically the Alma Fria and Division Chardonnays, both from California, and in general a $40 bottle of Bourgogne will be very special.

I also love natural (spontaneously fermented) wines as discussed in the article, but that's a whole different drinking experience, more like kombucha in a lot of ways than conventional wine.

bgribble··on Is ‘culture fit’ merely a code word for unethical discrimination?
I’m in a fast-growing small startup. In my experience, there’s no such thing as “culture fit” in a 10-person company, because every single hire is going to change that culture.

To me, it doesn’t matter if the candidate “fits in” with today’s culture, it only matters if I will still want to work at the company after the new person is part of its culture.

If only you could actually predict this from interviews!

As is, all you can do is try to put the candidate in job-like scenarios and evaluate specific “culture” attributes like “is open to criticism” or “listens to collaborators” or “codes with a concern for future readers” or “has a positive attitude toward code reviews”. It’s still much easier to disqualify than to endorse on those criteria. Hiring is hard.

bgribble··on Cupholders Are Everywhere
Maybe they are getting better, but for a long time German cars' cupholders were breathtakingly bad. I remember a Mercedes SUV a family member drove that you pushed a button and up popped this complicated structure with arms that unfolded to embrace your cup (if it was in a limited range of sizes). I guessed at least 20 parts, half of them moving, instead of the American car's zero-part hole in the console.
bgribble··on Surgeons urge people to throw out bristle BBQ brushes (2016)
I have used a wadded-up piece of aluminum foil for this purpose for years. Works better than a bristle brush and no bristles!
bgribble··on Avoid Else, Return Early (2013)
IME it's the "completely brilliant" code that your future self will hate you for, and needs the most comments.

Moreover, when the weight of those comments trends towards 50% being justifications for why you did it that way, it's an excellent sign that your code has gone from "brilliant" to "super-genius", as in "Wile E. Coyote, Super-Genius".

"Completely dumb" code can be read by your future self without comments. Even, sometimes, by other people!

bgribble··on ‘Jackpotting’ Attacks Hit U.S. ATMs
The Secret Service is the law enforcement branch of the Treasury Department, like the FBI is the law enforcement branch of the Justice Department and ICE is of the Dept of Homeland Security. The President-protecting stuff is the weird part of their duties, not the other way around :)
bgribble··on India’s IT industry laid off more than 56k employees this year
I’ve worked as a software developer for 20+ years and have hired others many times. People lie on their resumes to an extent that is difficult to believe until you see it. Sometimes they can talk intelligently about coding in a way that can get them through a “talk about your history” interview (a good interviewer can usually pierce the lies, but a mediocre or inexperienced interviewer might come out thinking they can code).

It’s very hard to guarantee that every first-round interview includes a seasoned lie-detector. A coding exercise is an imperfect, flawed, sometimes insulting approach that’s better than the alternatives.

When done right, it can be a nice conversation about coding, algorithms, and how to collaborate. And prove that the candidate can code.

Personally, I don’t mind being interviewed with a coding exercise even though I could be many of my interviewers’ parent. I love programming and talking about programming with programmers! And it gives me a chance to interview my potential future collaborators in a setting that’s less structured than a sit-across-the-table Q&A.

In my experience, someone who refuses or takes offense at a well-framed coding exercise is probably not going to be someone you want on your team. By well-framed, I mean introduced in a way that’s not insulting on the face of it, like a multi-hour takehome exercise before even meeting the candidate and talking about the job and why you are interested in them as a candidate. That’s just lazy interviewing and I wouldn’t want to do that either.

bgribble··on A Slow-Motion Trainwreck Facing the Meal-Kit Industry
It's well-known among low budget international travelers (and those that go well off the beaten path) that when s--t gets sketchy you just eat what's deep-fried. Hot enough to fry is hot enough to sterilize. Mickey D is not high culture but it's probably safe wherever you find it.
bgribble··on Former Silicon Valley CEO Indicted for Allegedly Defrauding Employees of StartUp
When a less-powerful entity owes a more-powerful entity money, the debt obligation works to ensure that they get their money back. Like when you owe a bank money.

When the more-powerful owes money to the less-powerful, the debt obligation works to ensure that the less-powerful person's choices are limited to "walk away from my money" or "wait around and hope". When someone says they are going to pay you, you really really want to believe.

Funny how the debt obligation always works in the more-powerful party's favor :(

I have had a very similar situation happen twice, once when a VC gave a small startup the "check is in the mail... no wait we have to transfer money.. no wait we have to liquidate an investment" BS while the employees worked without pay for months on end. My first startup job, and the LAST time I will work for any amount of time without getting paid.

The second time (different company) the founder/VC (allegedly) defrauded the other investors by puffing up the startup's prospects, and then when the startup got acquired by ${BIGCO} for a very very low valuation only the founder walked away with any money... he was indicted, I think, I had to produce years worth of email for trial discovery and was lucky not to have to testify.

In my experience, working for a messed-up/sketchy startup is just a resume item that most people have, and you hope you only have one of...

bgribble··on Secret Dots from Printer Outed NSA Leaker
So there are definitely printer dots in the posted images, but how do we know they are from a printer at NSA? They could be from a printer at The Intercept, a public copy and print shop, or anywhere else, intentionally left in as a red herring.

Of course, as others have posted, she doesn't appear to have tried hard to cover her tracks at NSA so that doesn't seem too likely. But stating that she accidentally left in the printer dots is assuming several facts not in evidence.

← PreviousPage 4 of 6Next →