HN user

edibleEnergy

170 karma
Posts5
Comments77
View on HN
#deletefacebook 8 years ago

Hi John, just an FYI: if you have Facebook Messenger installed on your phone, you are probably giving Facebook a lot more data than you think.

Somewhat tangential to this particular issue, but this is a good lesson for developers in why you should be dry and explicit in your writing.

Sure `alert("FFFUUU WHY U NO WORK");` keeps you entertained for 5 minutes while you debug a problem but when that accidentally gets to prod...

Sure, https://perldoc.perl.org/perlpolicy.html#BACKWARD-COMPATIBIL... that’s the policy for the language itself, but as it mentions there it’s considered generally a “community” virtue. I wasn’t programming back in 02 so I’m sure it was extremely different (and the source I’ve read from modules from that era is pretty frightening. Any major framework or generally used module will try to maintain backwards compatibility at least as far as documented behavior. I’ve never come across the kind of stuff I see all the time with node and go and python; package maintainers changing parameters and such because they weren’t happy with the original API.

What this article arrives at is basically the perl/CPAN model. Don’t break backwards compatibility unless you absolutely have to; as in cases of security or when the original functionality never worked in the first place.

It'd be scanned years later if the USB drive I've backed it up on for regular infrequent use goes kaput on me ;)

The replacing every year or so sounds like the most robust way to do it with current best practices but that requires a lot of maintenance.

I was just (re-thinking) about this at work.. Just bought a Yubikey and was basically going to start from scratch with my PGP setup.

I really don't like the idea of storing anything really critical on a usb drive or an airgapped system.

I don't have an airgapped computer just laying around that I can store secrets on (and keep alive), and I don't trust a usb drive to last.

I really wish there was something like a clean way to store an encrypted printout that could be scanned years later if neccesary, ie a method of storage that I actually have faith would reliably survive for a decade or more.

Screen binding to ctrl-a and tmux users binding to ctrl-a so it feels more like screen is a bad idea imho. Ctrl-a (move to start of line) is one of the most convenient key combos on the command line. I bind my tmux key to ctrl-s, because I have never needed to freeze my screen.

I'm excited for the whitespace stripping heredoc operator, it's always a bummer having to put all heredocs all the way left.

Like any feature, there's a lot of weird edge casey parts of SRI that can be abused.

We blogged about Adblock detectors over here[1] a couple of months ago for BugReplay[2]. A major Adblock detector FAdBlock was using subresource integrity to detect whether it's payload was being blocked, ie when adblocker was blocking it from being loaded.

[1] https://blog.bugreplay.com/2016/11/fkadblock-how-publishers-... [2]: https://www.bugreplay.com

Plug: we are in private beta with Feedback[1], the customer support version of BugReplay[2]. We integrate with Zendesk aside from our standard custom JavaScript integration.

In short, it's a product for Web development teams to collect perfect no-hassle bug reports from their users with all the details (video, network traffic, js logs) required to analyze and reproduce a problem.

[1] https://www.bugreplay.com/feedback-by-bugreplay

[2] https://www.bugreplay.com

Grappling with Go 9 years ago

My first major project with Go was BugReplay[1], and I had pretty much the same experience as the author. As someone with a lot of perl and python experience the idea of how restricted the language is stylistically initially seemed like a stumbling block but quickly turned into a huge asset.

Now when I go back to python or perl (or javascript) I'm super conscious of the choices I make regarding type checking and parameter checking.

[1] https://www.bugreplay.com