HNHacker News
TopNewBestAskShowJobs

elasticdog

451 karma · joined July 23, 2010

[ my public key: https://keybase.io/elasticdog; my proof: https://keybase.io/elasticdog/sigs/QVn6aDXXKOQKFWUB9yfQwuziJw8GagucKpxV7hlYhgA ]
submissionscomments
elasticdog··on Unlimited OCR: One-Shot Long-Horizon Parsing
I also don't love the conventional handwritten aesthetic you often see for jazz fonts. For a project I've been working on, I ended up pulling the handful of chord symbol glyphs out of MuseScore's Leland Text font and adjusting them for use in the UI since I couldn't find a suitable option out there.
elasticdog··on Unlimited OCR: One-Shot Long-Horizon Parsing
For just chord analysis, there's "Harte notation", which is meant to be unambiguous representation of the notes (https://ismir2005.ismir.net/proceedings/1080.pdf). That obviously doesn't get you all of the additional information necessary for engraving and full representation of the music, but there are research datasets available using it like https://github.com/smashub/choco. I've also used the https://github.com/MarkGotham/When-in-Rome dataset for some analysis work, but again that's not 100% what you're looking for.

You might like the "iReal Pro" app for the replacement and transposition of jazz standards on your tablet. It's pretty great for that use case versus camera scans.

elasticdog··on Getting my library cards onto my phone the hard way
I had attempted to create a pass for my local library in the past, but never got a working barcode, and this post helped me to understand the issues I was hitting.

I was able to adapt the OP's shell script to generate a working Codabar image (after I figured out that my local library used "A" and "T" as beginning and end markers) that matched the physical card exactly, and there was enough useful metadata for me to piece together a working pass using that barcode as a store card's background image. I ended up using the Pass2U Wallet iOS app directly, rather than hacking around signing keys, but found the documented process helpful.

elasticdog··on Nitrokey
That's essentially what https://krypt.co/ is...I've used Yubikeys in the past, but have been on Krypton for maybe the past year or so. No problems with it at all, aside from GitHub recently (within the past couple of weeks) not recognizing the authorization despite it working just fine elsewhere. I haven't had a chance to dive deeper into why.
elasticdog··on Zettelkästen?
Tiddlywiki is what I use to manage my own personal Zettelkasten as well; it's pretty well suited for the task. There's a bit of ugliness when renaming Tiddlers, but for a lot of inter-related topics, I add an automatically-generated list of backlinks like this:

  !!!! Backlinks
  <<list-links "[all[current]listed[]!has[draft.of]!is[system]]">>
elasticdog··on What is 1e100.net?
I prefer using the [United Nations Code for Trade and Transport Locations](http://www.unece.org/cefact/locode/service/location.html) (UN/LOCODE) value based on the address of the host's data center. It covers more specific locations than something like the IATA airport codes, and is still a well defined standard.
elasticdog··on Qutebrowser – a keyboard-focused browser with a minimal GUI
The workaround for 1) was already posted, but for 2), you can use Vimium's "insert mode" by pressing `i` to do the same thing. I use it regularly for Reddit with the enhancement suite.
elasticdog··on WhatsApp's Signal Protocol integration is now complete
Still western-focused, but Oren Tirosh's mnemonic encoding [1] project is pretty close as well.

[1] http://web.archive.org/web/20090918202746/http://tothink.com...

elasticdog··on Git as an Encrypted Distributed Version Control System
So, I've skimmed through most of the paper, and it seems like a bit of an apples to oranges comparison. My understanding is that GV2 is an extension to jGit that essentially performs GC on the repo (or more accurately waits to encrypt until post-GC), and then transparently encrypts everything altogether, rather than utilizing clean/smudge filters to encrypt files individually like the tools it's comparing itself to. It's funny that the author dismissed git-remote-gcrypt as being "under development" even though it's a much closer comparison to GV2.

The paper mentions that it's measuring the worst-case scenario for the clean/smudge filter-style tools as it's much more likely that you only need to protect a few files and not the entire repository, but I didn't see how the second section actually reflected this more-realistic scenario. I'm not saying that encrypting the entire repository is bad, but the overhead of using filters to encrypt the entire repository is a documented/known limitation of the other tools...so it seems a little odd to gloss over that.

Side note, stuff like "This process is repeated a total of 10 iterations for an ample sample size to draw statistical conclusions." worries me, but that's another conversation.

Overall though, glad to see more research in this area, and it sounds like GV2 might be a decent solution for people looking to protect their data in certain scenarios.

elasticdog··on Git as an Encrypted Distributed Version Control System
Cool to run across a mention of one of my projects (transcrypt) out in the wild. I do like that blackbox isn't tied to just Git, and uses GPG...but that can also be difficult for adoption if GPG isn't a familiar tool on your team.
elasticdog··on Sshmuxd: SSH proxy to replace jump hosts
FYI, the main project is now located and maintained at [1]. Avery let someone else take over since he no longer had time for it [2].

[1] https://github.com/sshuttle/sshuttle

[2] https://groups.google.com/d/msg/sshuttle/jdTzJGjTDMg/IcQkCzb...

elasticdog··on Fixing the Internet for confidentiality and security
If you're interested in decentralized mesh networks, take a look at Project Meshnet [1], Hyperboria [2], and the cjdns [3] routing software. It's a small, but growing community of people working in a similar space as the edgenet idea mentioned in the post. Decentralized routing and end-to-end encryption, plus there are already hundreds of dedicated nodes bootstrapping communication over the existing Internet.

[1] http://projectmeshnet.org/ [2] http://hyperboria.net/ [3] https://github.com/cjdelisle/cjdns

elasticdog··on Blackbox: Safely store secrets in Git
I've slowly been able to train my coworkers to use https://ezcrypt.it/ when sharing secrets rather than putting them directly into untrusted chat. Works great.
elasticdog··on Blackbox: Safely store secrets in Git
There are a lot of alternatives in this space (I wrote transcrypt [1] for just this purpose), but I think the killer features here are that you don't need shared credentials since you can have multiple keys, and that it's generic enough to work with multiple VCS's.

With transcrypt, I do the encryption/decryption transparently once a repository has been configured by utilizing Git's clean/smudge filters, but it uses OpenSSL out of the box rather than GPG. A different workflow, and there are certainly pros and cons to both ways.

[1] https://github.com/elasticdog/transcrypt

elasticdog··on Blackbox: Safely store secrets in Git
That's essentially what I've automated with transcrypt (which uses Git's clean/smudge filters) to do that for you transparently:

https://github.com/elasticdog/transcrypt

elasticdog··on A Server Naming Scheme
Author here...the important thing isn't the abbreviations, but having a standard that you can agree upon and use consistently. The listed items are just an example scheme that tries to keep the length consistent to make scanning though a list visually a little easier.
elasticdog··on Open Wireless Movement
> cjdns will never be a workable solution for the general public, and I wish people would stop recommending it.

I disagree...I believe in its current state it is not catering to the general public, but it's basically alpha software with a small bootstrapped network. Long-term, the idea is to make things more user friendly and appeal to a wider audience, but it's inaccurate to say it will "never be workable". Recommending it to a highly-technical targeted audience like HN seems entirely appropriate.

* I run 4 cjdns nodes

elasticdog··on How to randomize your MAC address on OS X
Here's the way to properly grab a random line from a file using Bash: http://mywiki.wooledge.org/BashFAQ/026
elasticdog··on A Proper Server Naming Scheme
I did add a quick section under "special cases" on making sure to assign usable A records for mail servers and name servers, but you make a good point about ensuring the reverse matches in those scenarios as well (and to pay attention to your certificates).
elasticdog··on A Proper Server Naming Scheme
Author here...I hadn't heard of the CLLI codes before, but that's a nice reference, thanks! I do tend to prefer the UN/LOCODE values just because you can almost always get away with using just three letters to define a location, and they work well internationally. I do agree that they're not always the most intuitive though, so that's certainly a trade-off.
elasticdog··on This 4×6 index card has all the financial advice you’ll ever need
Well, you can have money in there...it would just be a taxable event when you do the conversion to a Roth, so you have to keep in mind that your taxable income will go up by the amount that you did not have a "basis" in.
elasticdog··on Git Tips for Beginners Interested in Open Source
It annoys me too. If you do a git diff against the sha1 of a completely empty tree, you can see all of the whitespace errors that have been checked into a repository:

    $ git diff --check $(git hash-object -t tree /dev/null)
...although many projects frown upon whitespace-only commits since they screw with `git blame`.
elasticdog··on Why No One Should Use LastPass
I'm curious to see the community's reaction to these observations about LastPass and also hear what alternatives people use (KeePass and variants, 1Password, pass, pwsafe, etc.).
elasticdog··on What happens when you use a standing desk for two years
I've been using a standing desk since Jan 2011 [1], and ended up using an external keyboard and mouse to solve the problem of having things at the optimal height. Since I have two machines, I just run synergy to go back and forth between my desktop and laptop, but hooking up directly to the laptop would work just the same.

[1] http://elasticdog.com/2011/01/shelf-made-standing-desk/

elasticdog··on [dead]
Sorry, looks like it was a dupe with a different URL. Original discussion here: https://news.ycombinator.com/item?id=6177768
elasticdog··on Poll: What do you use for Unix process management/monitoring?
I wish that s6 (skarnet.org's small and secure supervision software suite) [1] were more-widely packaged and available on distros. It's very much in the same vein as daemontools, but with some improvements. While certainly biased, the author wrote a pretty good breakdown and comparison of why s6 was developed [2].

[1] http://www.skarnet.org/software/s6/

[2] http://www.skarnet.org/software/s6/why.html

elasticdog··on Factor 0.96 now available – over 1,100 commits
He got a job at Google back in 2010 and pretty much handed over the reins at that time due to lack of free time to work on Factor. He still posts on the mailing list though periodically.
elasticdog··on Factor 0.96 now available – over 1,100 commits

  "hello world" print
...although, more realistically, you're probably interested in something like the gettings started section of the docs [1]. There are also some great short example posts on the planet feed [2] from various blogs.

EDIT: I'll plug my own blog for this too, as I started writing a Beginning Factor series of posts a long time ago [3], but never got beyond a couple entries.

[1] http://docs.factorcode.org/content/article-handbook.html

[2] http://planet.factorcode.org/

[3] http://elasticdog.com/2008/11/beginning-factor-introduction/

elasticdog··on Packets of Death
Before actually testing this with the real payload, is there a better way of determining if you have a potentially vulnerable driver than something like this?

  # awk '/eth/ { print $1 }' <(ifconfig -a) | cut -d':' -f1 | uniq | while read interface; do echo -n "$interface "; ethtool -i $interface | grep driver; done
  eth0 driver: e1000e
  eth1 driver: e1000e
elasticdog··on Choosing a name for your computer
What do you do when you have 200+ machines of a handful of different types (database, mail, web, etc.) that you want to have named? Having some sort of organized categorization would be beneficial, but it seems like naming them after 200+ different colors doesn't make life any easier.

Naming after the purpose of the box also gets messy if you're not strict about renaming when the machine is repurposed. And if you group by "theme groups" as the RFC suggests, you're still stuck renaming a machine if it's no longer one of your 7 dwarfs (database servers, or whatever). Should the name convey meaning at all, or just be a random label?

A developer I know doesn't see the problem with just having the full location (state, data center, rack, rack location), which I'm against, but we haven't been able to agree on a good middle ground approach that scales. Is location data in a name universally bad?

Page 1 of 2Next →