HNHacker News
TopNewBestAskShowJobs

emillon

2,853 karma · joined January 10, 2011

Paris-based λ-term writer.

    https://github.com/emillon/
    http://blog.emillon.org/
    @etiennemillon
    me @ <username> . org
submissionscomments
emillon··on Tips for C libraries on GNU/Linux
It's also a security and maintenance nightmare. I totally respect the suckless people for trying this experiment, though.
emillon··on Tips for C libraries on GNU/Linux
Nice set of tips. I'd like to put an emphasis on symbol versioning, SONAMEs and symbol visibility. That's what allows distribution to upgrade your library without recompiling everything, and too few developers are aware of this (simple) mechanism.
emillon··on HNpod 16: Opinionated Licenses, Kayak Sale, More HTML5 APIs
I absolutely love your podcast. Thanks for this !
emillon··on My favorite regex of all time
First, it does not match "prime numbers". It matches composite numbers in unary notation (n is represented by n '1' characters).

The first part (^1?$) allows "" and "1" to match (so that 1 is not detected as a prime).

The second part matches groups of two or more ones (11+?), repeated twice or more, ie products n*m, n ≥ 2, m ≥ 2.

The backreference means that \1 should match the exact same string as the first (11+?). It's different from using (11+?){2,} which would match n_1+n_2+n_3..., n_1 ≥ 2, n_2 ≥ 2, n_3 ≥ 2 (where submatch is independent).

emillon··on Python for Humans
For new projects the use HTTP at a high level, I believe that there is no reason to prefer urllib2 to requests.

Probably it won't replace urllib2, but it has attained critical mass and won't go away soon.

emillon··on Improve your Git commits using patch mode
For typos, `commit --fixup` is an invaluable tool.

It creates commits with a special name that will be recognized `git rebase -i --autosquash`. It will merge commits with their fixups (+ whatever you want to do with `rebase -i`).

emillon··on Improve your Git commits using patch mode
I am not sure why you insist on not stashing the rest of your working directory ? This is a nice and non-permanent solution.

There's a difference between `stash -p` and `add -p + stash`, though. If you want to split your changes into more than two commits, you have to use add/commit/add/commit because stash will just make a commit with "what's left" (it's subtractive operation).

emillon··on Show HN: HTTPretty, an easy way to mock http requests in python
Fantastic, I tried to roll my own a few times but never got to this point. Thanks !
emillon··on Xfce not default in future release of Debian
In the end, the one that will be more tested is of course the with the most users (higher popcon in debian terms). Having a default value certainly will cause more installs, but there's no distribution-wide effort to make XFCE or Gnome more tested than KDE or ratpoison : every one is a first class citizen.
emillon··on Xfce not default in future release of Debian
I don't know why people focus so much on "default" desktop environments. No desktop is more supported than another one, as long as there is a package (and a maintainer! come join us, all hands are welcome) for it. This commit is from tasksel's git repository, which is used when you decide to install "tasks" from the debian installer.

Choosing to install a particular desktop environment when you want a "graphical environment" is only a matter of convenience : proposing GNOME from a CD install is getting harder because of the size of new versions. Several ideas were proposed : changing the default DE in tasksel, changing the compression scheme for .debs (using LZMA instead of bzip2), or even dropping CD installations IIRC (keeping just CD and USB netinstalls, and DVD installations).

emillon··on Git add -p: a powerful git feature
You're welcome !
emillon··on Perfectum Dashboard
Also, they are filled at 100%, which is quite an arbitrary number for relative values.
emillon··on Git add -p: a powerful git feature
"git rebase -i" is what is commonly used instead of hg patch queues. You pass it the name of the last unchanged commit, and it opens an editor where you define what operations to do on it : fold commits together (fixup, like qfold), stop for editing a commit, reorder them, change their description, etc.
emillon··on Facebook Admits Too Much Facebook Probably Isn’t Healthy
Facebook doesn't have noprocrast, though.
emillon··on French Government Seeks To Charge Google 1 Billion Euros in Taxes
It is satirical but very serious and definitely about real news unlike the Onion. In the past it has revealed quite a few scandals. This page lists them (in french, sorry) :

http://fr.wikipedia.org/wiki/Liste_d%27affaires_r%C3%A9v%C3%...

Example in english :

http://en.wikipedia.org/wiki/Diamonds_Affair

emillon··on Operation “Hogwarts” - getting into YC’s w2013 batch
Well, don't misunderstand me; I wish you the best for your future business! But to me it looks like bad means to an end.

As an entrepreneur, I believe that you can get known through more classic initiatives. It reminds me of a french deputy who used a hunger strike to defend his cause : noble end but terrible means.

emillon··on Operation “Hogwarts” - getting into YC’s w2013 batch
It seems to me that people are more interested into getting into YC than starting interesting businesses. That is probably because the selection process is selective and talked about everywhere, so getting in must be good, right?

The truth is (and it's been repeated all over when discussing these "hack YC" articles), there's only working strategy to get into YC : be good. It's not an end in itself ; building a business is.

emillon··on Puppet or Chef?
I have the feeling that choosing a configuration management system is very similar to choosing a build system. There are a few big players where it's easy to do easy things and possible to do complex things, but hacking with them is very arcane (like GNU make). There seem to be quite a lot of documentation and contributed packages for both Puppet and chef, for example.

But, instead of trying to fix what is broken, it seems that a lot of people end up reinventing the wheel and writing their own "lightweight" configuration management system.

As someone that wants to switch to such a system, I believe that it will be easier to learn puppet since the existing code base is just enormous.

emillon··on Private git repositories with Gitolite and backup to S3 with JGit
What I like with gitolite is that once it's run, you can create a new repository with custom permissions with only one commit in the "admin" repository. It is also not necessary to create users for your git users.
emillon··on Career Day - A parent introduces programming at her son's school
Exactly ! Syntax and meta-syntax are sometimes easy to mix.
emillon··on Career Day - A parent introduces programming at her son's school
When I learned programming, getting arrays was one of my first "aha" moments. Moving from x0, x1, x2, x3 to x[0], x[1], x[2] was definitely enlightening.

My guess is that for simple programs, you almost never have to index an array by a dynamic expression, so you don't see a need for that.

emillon··on RabbitMQ Highly Available Queues and Clustering using Amazon EC2
When you design your application so that it's across several availability zones, yes.
emillon··on Arduino-based, urban aquaponics in Oakland
When you grow plants with no soil (only neutral substrate such as clay or gravel), it is necessary to provide extra nutrients (esp. nitrates) that are hard to dispose properly. In the case of vegetables or edible plants, it is also necessary to "rinse" the system by running only water through eat before it's ready for consumption. (Disclaimer : I'm not a hydroponics specialist.)
emillon··on Arduino-based, urban aquaponics in Oakland
That is quite an awesome system ! I wonder how efficient this is. But it tackles the toxicity issue that exists with usual hydroponics systems.

Here is another implementation :

http://faircompanies.com/videos/view/backyard-aquaponics-diy...

emillon··on Shortcuts to Move Faster in Bash Command Line
My favorite tip is to stay in emacs mode, but whenever you have something "complicated" to do, use Ctrl-X Ctrl-E : it opens the current line in $EDITOR.
emillon··on Ceefax service to end after 38 years on BBC
You can actually consult ceefax online :

http://www.ceefax.tv/txtmaster.php?page=199&channel=bbc1...

emillon··on Commanding your text editor
Autocompletion does not have to be context-aware to be useful. "Dumb" completion of words in the current buffer, or filename, is quite useful IMHO.
emillon··on Interview with creator of Nginx, Igor Sysoev
> I wish I had been around to enjoy what seems like must have been the golden era of the 90's when writing buffer overflows was relatively easy.

There are a lot of more primitive computing devices which don't have such protections. For example, ASLR was added to android as late as version 4.0 (2011).

emillon··on Such a Little Thing: The Semicolon in Rust
There's no need to use shift to get a semicolon on a french keyboard.
emillon··on A Very Unusual Camera That Emphasizes Time Over Space
I tried that with a Super Metroid run (hoping that the results would be easier to see with a video game):

http://i.imgur.com/8TOPA.gif

← PreviousPage 8 of 11Next →