Abhijit Menon-Sen
toroid.org · Personal blog · on HN since 2008
Abhijit Menon-Sen writes about Unix, git, cryptography, and system administration in practical how-to posts.
What HN saysHN links his git website and central repository howtos, which commenters have used for years and found hard to locate through search.
25HN people shared it
16linked it in comments
14stories submitted
829story points
2 years agolast shared
2008people per year2026
Most-shared posts
- 1Using git to manage a website10 people · 177 points · first shared 2008 · 51 comments on HN
- 2How are Unix pipes implemented?3 people · 439 points · first shared 2020 · 49 comments on HN
- 3Using Git with a central repository2 people · 49 points · first shared 2010 · 10 comments on HN
- 4Understanding sudoers(5) syntax: a simple explanation (no EBNF)2 people · 5 points · first shared 2015 · 1 comments on HN
- 5Strange cryptographic decisions in Ansible vault2 people · 2 points · first shared 2015 · discussion on HN
- 6Dot india crypto nonsense2 people · first shared 2011
- 7What is fsck up to now?1 people · 76 points · first shared 2020 · 40 comments on HN
- 8Exactly how much physical memory is installed?1 people · 73 points · first shared 2020 · 42 comments on HN
- 9Moving to Modern Neovim [from Vim]1 people · 7 points · first shared 2021 · discussion on HN
- 10How do authors tell genuine translation offers from personalised SEO linkbait?1 people · 1 points · first shared 2013 · discussion on HN
- 11Vodafone smtp mitm1 people · first shared 2018
- 12Mojolicious session cookies1 people · first shared 2013
- 13Exide warranty nightmare1 people · first shared 2024
- 14Loathsxome1 people · first shared 2010
- 15Etc1 people · first shared 2011
What HN people wrote when they linked it
terom · 2019-07-17
> Encrypting Files
> This really is a problem. If you’re/not/ [...] then there’s no one good tool that does this now. Filippo Valsorda is working on “age” for these use cases, and I’m super optimistic about it, but it’s not there yet.
I've been (ab)using ansible-vault for this. It's apparently[1] now using reasonable primitives (PBKDF2+AES-CTR+HMAC-SHA256), but not necessarily the latest and bestest ones: https://github.com/ansible/ansible/blob/v2.8.1/lib/ansible/parsing/vau…
The implemention is sub-optimal though, with some silly issues that haven't been fixed like https://github.com/ansible/ansible/issues/12121
[1] http://toroid.org/ansible-vault-strange-crypto
Arnt · 2016-11-07
I think the general idea is that if you make your yield points explicit, you see them yourself, and if you generally try for 100% unit test coverage, you end up nudging yourself towards fewer yield points, a simpler state machine, and better karma overall.
The complexity you see affects yourself more than the complexity you don't.
I rather agree.
FWIW my friend Abhijit Menon-Sen wrote a blog post on the matter last year, about some code with excellent test coverage and explicit yield points: http://toroid.org/callback-heaven
fcurella · 2012-07-18
I've been following this http://toroid.org/ams/git-website-howto for several years now.
jinushaun · 2012-03-12
Link to original article: http://toroid.org/ams/git-website-howto
I spent hours yesterday looking for this tutorial. It was amazingly difficult to find on Google and I used all sorts of keyword combinations.
theBobMcCormick · 2010-05-13
My two favorite resources for getting started with git:
1) Using Git with a central repository: http://toroid.org/ams/git-central-repo-howto
2) A succesful Git branching model: http://nvie.com/git-model
amenonsen · 2020-03-17
> Thanks for the awesome write-up.
Glad you enjoyed it. :-)
> I have considered doing something totally ridiculous like setting up a Raspberry Pi with a camera and machine vision software to watch the LED displays on these devices to glean status information. Silly, but...
Ha! I actually have a PoE camera pointed at the display of my UPS. Here's what it looks like right now: https://toroid.org/misc/ups-display.jpg
Notice that horizontal blank row of dead pixels halfway down the right side of the display? The one that makes "54.6" look like "51.6"? That gap defeated my naïve five-minute attempt to use image recognition to extract the battery voltage.
peterjmag · 2013-06-10
For simple static sites, I use a workflow very similar to this one[1]. It takes a minute or two to set up, but once it's all configured, you can deploy to your heart's content without ever worrying about exposing your .git directory to the world.
[1] http://toroid.org/ams/git-website-howto
geerlingguy · 2013-01-03
For many of the smaller sites I manage, I've been using git hooks on the server to simply check out the code into the live site directory after a commit is pushed, using the basic setup described here: http://toroid.org/ams/git-website-howto
I haven't tried anything with Capistrano, though; for the few sites that demand more code workflow control, I've just used different shell scripts along with git.
ivanhoe · 2012-07-18
text looks very much like a copycat of this tutorial, minus all the explanations: http://toroid.org/ams/git-website-howto
dchest · 2012-05-26
This document is from 2001.
http://toroid.org/ams/etc/dot-india-crypto-nonsense
pornel · 2011-05-28
I like
git push web
http://toroid.org/ams/git-website-howto
raghava · 2011-03-25
Am not really surprised that this happens in India. On the contrary, I was expecting this to happen quite sometime before. Never underestimate the stupidity of Indian bureaucracy (inherited and modeled from the Soviets, rivals even Vogonic bureaucracy), particularly when it comes to technical matters involving software and computers.
On another note, http://toroid.org/ams/etc/dot-india-crypto-nonsense ; on how competent the policymakers are.
_delirium · 2010-03-10
At the very lightweight end of the scale, one of the more popular ones is blosxom: http://blosxom.sourceforge.net/
Development has been mostly dormant for the past year or two, though, so there are a bunch of forks, one of which is: http://toroid.org/ams/loathsxome
zacharydanger · 2009-06-04
I use Git in with a detached working copy a la http://toroid.org/ams/git-website-howto but with a little more flair for schema updates and things like that.
So my deployment looks like:
git push live
migrantgeek · 2011-05-13
I limit my subs to mostly tech and feeds that post infrequently but well.
I go back and forth between enabling Hacker News and disabling it. It's too busy and distracting sometimes when I need to get things done and I don't want to get lost it some lengthy article somewhere.
Here are my current feeds sans HN
http://abstrusegoose.com
http://xkcd.com/
http://cmurphycode.posterous.com
http://acmel.wordpress.com
http://bsdpunk.blogspot.com/
http://saintaardvarkthecarpeted.com/blog/
http://www.cpeterson.org
http://www.codinghorror.com/blog/
http://blogs.iss.net
http://ignorethecode.net
http://blog.lastinfirstout.net/
http://linuxsysadminblog.com
http://www.mysqlperformanceblog.com
http://planetsysadmin.com/
http://teddziuba.com/
http://toroid.org/ams/etc
sigil · 2013-07-01
> Is the cookie's value mapped to some in-memory entry in the application server, is it stored in a database, etc?
Neither. At login the server signs the new session cookie with a secret application key. Later, when a client requests a page and sends over the session cookie, the server verifies the signature. If it matches, the data in the session cookie -- which usually includes the username, whether they're logged in, and for how long -- can be trusted.
This is nice because it makes scaling a stateful site easier. Server-side session stores often become the bottleneck. Also, from a REST standpoint, updating a session database during a GET request (eg to freshen the session) is problematic.
ASP.net was the first time I remember seeing the signed session cookie trick, but most web frameworks have it now:
django -- https://docs.djangoproject.com/en/dev/topics/http/sessions/#using-cook…
rails -- http://guides.rubyonrails.org/security.html#session-storage
flask -- http://flask.pocoo.org/docs/api/#sessions
node -- https://github.com/mozilla/node-client-sessions
mojolicious -- http://toroid.org/ams/etc/mojolicious-session-cookies