Joey Hess

kitenet.net/~joey · Personal blog · on HN since 2009

Joey Hess, a Debian developer and Haskell programmer, writes about his tools such as etckeeper, git-annex, and moreutils.

What HN saysHN commenters hold his software in high regard, listing etckeeper, git-annex, moreutils and pristine-tar as great tools, and link his olduse.net announcement.
24HN people shared it
14linked it in comments
13stories submitted
277story points
6 years agolast shared
2009people per year2026

Most-shared posts

  1. 1
    Mr
    3 people · first shared 2009
  2. 2
    Databranches: using git as a database
    2 people · 49 points · first shared 2011 · 10 comments on HN
  3. 3
  4. 4
    Happy Haskell hacker
    2 people · 2 points · first shared 2011 · discussion on HN
  5. 5
    Etckeeper - automatic version control for /etc
    2 people · 1 points · first shared 2010 · discussion on HN
  6. 6
    Adieu google
    1 people · 107 points · first shared 2009 · 71 comments on HN
  7. 7
    Palm Pre Privacy Invasion
    1 people · 62 points · first shared 2009 · 25 comments on HN
  8. 8
    Why is ssh insecure by default? [AllowTcpForwarding]
    1 people · 27 points · first shared 2009 · 31 comments on HN
  9. 9
    How Git could be attacked if SHA-1 gets broken
    1 people · 19 points · first shared 2009 · 6 comments on HN
  10. 10
    On not coding late
    1 people · 2 points · first shared 2010 · discussion on HN
  11. 11
    The new portability nightmare
    1 people · 1 points · first shared 2009 · discussion on HN
  12. 12
    Announcing github-backup
    1 people · 1 points · first shared 2012 · discussion on HN
  13. 13
    Watch Joey Hess code for half an hour
    1 people · 1 points · first shared 2011 · discussion on HN
  14. 14
    Branchable: ikiwiki blog hosting service
    1 people · 1 points · first shared 2010 · discussion on HN
  15. 15
    Dadagoogoo
    1 people · first shared 2011

What HN people wrote when they linked it

sciurus · 2012-02-14
The rsync algorithm and program are both great, and I use the program a lot to update directory trees across the network. It's also my default tool for synchronizing two directories on the same system. The rsync program correctly optimizes for this case by skipping the rsync algorithm and completely copying changed files. However, it still uses multiple processes and seemingly still calculates some hashes, making it slower than it needs to be. Joey found [0] that running rsync once in dry-run mode to find what files have been changed, copying them each with cp, then running rsync a second time to handle things like deletions and file permissions resulted in a major speedup. [0] http://kitenet.net/~joey/blog/entry/local_rsync_accelerator/
dfc · 2011-07-24
NB: When I said it was written by joey I did not mean to imply anything negative about you or your code. All I meant was that it was yet another great piece of software written by joey: * etckeeper (/etc under git) * git-annex (dark git magic that i am only starting to fully appreciate) * moreutils (growing collection of the Unix tools that nobody thought to write long ago, when Unix was young) * tons of trivial debian infrastructure like debian-installer, tasksel, debhelper:) http://kitenet.net/~joey/code/
joeyh · 2011-06-05
Here's my announcement post, which is, I hope, worth reading for some context of what's going on in 1981 "now": http://kitenet.net/~joey/blog/entry/announcing_olduse.net/ Also, if you see a blank box where the newsreader should be, yeah, inviting the whole web in to run tin on my server is not a completely scalable thing. nntp.olduse.net is where it's at.
jamesdutc · 2014-06-29
I think this behaviour is supposed to be a feature of shell. Pipelines are executed in parallel. Also, see `sponge` from `moreutils` (http://kitenet.net/~joey/code/moreutils/): $ man sponge ... sponge reads standard input and writes it out to the specified file. Un‐like a shell redirect, sponge soaks up all its input before opening the output file. This allows constructing pipelines that read from and write to the same file.
froseph · 2012-04-24
You should take a look at http://vcs-home.branchable.com/ They have a mailing list and a bunch of resources to do similar things. Right now I use movein[1] to maintain my dot files. Each dotfile is held in it's own repo which is checked out to $HOME via GIT_DIR and GIT_WORK_TREE environment variables. The mr[2] command ties the git repos together as it if was one repo. I use additional repos or branches to handle variations within dotfiles. For work, I try to keep things confined to the relevent directory eg. using local.vimrc[3] [1] http://stew.vireo.org/movein [2] http://kitenet.net/~joey/code/mr/ [3] https://github.com/embear/vim-localvimrc
pbiggar · 2011-11-08
I think this does the same as mr (http://kitenet.net/~joey/code/mr/), though mr supports repository formats than just git at the moment.
gvb · 2011-07-06
git-annex http://kitenet.net/~joey/blog/entry/databranches/ "databranches: using git as a database" http://git-annex.branchable.com/ "git-annex is a git subcommand that allows tracking large files in git -- without the bother of feeding their contents into the git repository!"
bokchoi · 2011-04-20
Joey Hess just blogged[0] about ShareBox[1] which creates a fuse filesystem built on git-annex. I don't know either well enough to comment on them. [0] http://kitenet.net/~joey/blog/entry/new_git-annex_use_cases/ [1] https://github.com/chmduquesne/sharebox
telemachos · 2011-01-03
The script itself is transparent. In fact, rvm's site suggests[1] reading it before using it by running the internal curl command in a terminal. Beyond that, if joeyh is Joey Hess[2], I would be curious to hear how you think Ruby devs and Debian might work better together to fix the current situation (assuming you don't think everything is fine from Debian's point of view and screw the Ruby devs). I'm not trolling or baiting. I am a Debian user myself (since Etch was testing), and as someone who uses Ruby regularly, this whole thing drives me nuts. [1] http://rvm.beginrescueend.com/rvm/install/ [2] http://kitenet.net/~joey/
sandGorgon · 2010-04-11
the autopackage site has no (easily) locatable links that compare it with new installation systems like 0-install, Nix. Can you comment on what advantages does autopackage have over other package managers. Correct me if I'm wrong, but all package managers are essentially cross distro - I can run rpm/yum on my Ubuntu machine. And a google search turns up .... umm.. this - http://kitenet.net/~joey/blog/entry/autopackage_designed_by_monkeys/
joeyo · 2009-08-08
Take a look at the mr command. I find it very handy for working with heterogeneous collections. http://kitenet.net/~joey/code/mr/
shabble · 2011-07-24
if you want a dir-specific one, you could specify export ACKRC=./.ackrc.local as an env variable, and then create that file where-ever you need to override default behaviour, otherwise it'll use ~/.ackrc The downside to doing it this way is that you only get one or the other, you can't (afaik) load ~/.ackrc, and then only override certain aspects of it locally. Also, you're constrained to running it from the basedir of your project. (You might be able to overcome this with a hack based on PROMPT_COMMAND (for bash), or a precmd/preexec function for zsh), which redefines ACKRC appropriately. Regarding the 'gitability' of it, there's no reason why you can't have a ~/.dotfiles/ackrc, with a symlink to ~ That's how I manage my dotfiles anyway, along with a makefile to create any missing symlinks. Something like http://kitenet.net/~joey/code/etckeeper/ might work out even better, although I've never really found time to play with it.

Keyboard shortcuts

/Search
j kNext / previous blog
EnterOpen selected blog
vVisit the blog site
fFollow / unfollow
lSwitch grid / list view
dSwitch dark mode
g hHome
g pTop posts
g tTopics
g fFollowing
g lLiked
g yHistory
g qFAQ
EscBack / close