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 Some dark corners of C
It's impossible to have a static decision procedure about dynamic properties of programs, such as the size of dynamically allocated memory areas (Rice's theorem). So, it is necessary to either include false positives (correct programs rejected) or false negatives (incorrect programs accepted).

Sound static analyzers fall in the first case, but require a lot of work to become precise enough to be used (ie, to reduce the number of false alarms). Compilers fall in the second case in the sense that they don't have to honor such a clause. And in the C99 norm it's actually a "shall" (it just couldn't honor a "must" in that case):

"If the keyword static also appears within the [ and ] of the array type derivation, then for each call to the function, the value of the corresponding actual argument shall provide access to the first element of an array with at least as many elements as specified by the size expression."

emillon··on Why Haskell Is Worth Learning

    do
      a
      rest
desugars to

    a >>
    do
      rest
and

    do
      x <- a
      rest
desugars to

    a >>= \x ->
    do
      rest
emillon··on Show HN: Nice Nice JPG
What is the licensing information for these pictures?
emillon··on CoffeeComplete Plus – True autocompletions for CoffeeScript in SublimeText
If you want "anyone" to do it, why don't you do it yourself? It's an interesting and rewarding project and there are a lot of resources for this, plus a similar project that already exists.
emillon··on LaTeX Templates
tikz is awesome for this. I believe that DFAs are one of the examples described in the manual.
emillon··on The second-order-diff Git trick
A bit offtopic, but I think that you could have let the default `pandocCompiler` in Hakyll handle your old posts written in Textile format.
emillon··on Why HN was down
The rationale for this is that if you need to post a long text post, it should be in the form of a blog post instead. I agree with you that it's not really adapted for a meta post.
emillon··on Write Yourself a Haskell in Lisp
Well, the semantics of a lazy language are a bit different than usual. While I agree that pages of s-expressions are hard to feel, seeing the graph reduction algorithm on a few examples was quite refreshing.
emillon··on Abandoning bottom-posting
Blackberry too, and I suspect a few webmail clients.
emillon··on Introducing Boxen
A X11 window manager can only manage X11 apps.
emillon··on Rails 3.2.12, 3.1.11, and 2.3.17 have been released
Here they are on gmane:

[CVE-2013-0276]: http://permalink.gmane.org/gmane.comp.security.oss.general/9...

[CVE-2013-0277]: http://permalink.gmane.org/gmane.comp.security.oss.general/9...

emillon··on The Algebra of Algebraic Data Types
You can read Huet's seminal paper on zippers [1]. I found that Edward Z Yang's article[2] explains well the more general zippers.

The generic operation of differentiation to create the the type of zipper is explained in this article[3] from Conor McBride.

Another fun fact about zippers is that they have a comonadic structure, ie from a zipper you can build a zipper of zippers that reifies the concept of moving the cursor. That comonadic structure can express "locality of rules" in cellular automata. This classic article[4] by Dan Piponi uses a 1D automaton. As an exercise, I described an implementation of Conway's game of life in a comonadic manner in [5].

[1]: http://www.st.cs.uni-saarland.de/edu/seminare/2005/advanced-...

[2]: http://blog.ezyang.com/2010/04/you-could-have-invented-zippe...

[3]: http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.22.8...

[4]: http://blog.sigfpe.com/2006/12/evaluating-cellular-automata-...

[5]: http://blog.emillon.org/posts/2012-10-18-comonadic-life.html

emillon··on A ‘frighteningly ambitious’ way to improve email
Graylisting is more or less this, but instead of a human receiving a challenge, the outbound server receives a "please try again later" (which is enough to stop a lot of spam already).
emillon··on Announcing Topaz: A New Ruby
The overhead of starting the interpreter must be longer that executing the loop.
emillon··on 1% of CMS-Powered Sites Expose Their Database Passwords (2011)
You're right, -delete is not standard, but I think that + and -print0 are.
emillon··on 1% of CMS-Powered Sites Expose Their Database Passwords (2011)
Technically, your solution does not work with files whose name contain a space or newline. A working solution is either to do '-print0' in find and '-0' in xargs, or to just use '-delete' instead of the -exec. It is also possible to use '+' instead of ';' with '-exec' to say "fork as few times as possible", ie pack the largest list of arguments to rm you can. But '-delete', when supported, won't even fork/exec.
emillon··on How to land an airplane if you are not a pilot
On small planes, landing gear is not retractable.
emillon··on Self-Destructing Email
Invites and meetings probably fit in this category too. After the event happened, the message has lost a lot of its value.
emillon··on Self-Destructing Email
E-mail is a system to asynchronously deliver messages to a set of recipients. That's it ; there is nothing you can do to force the messages to get deleted (the same way read receipts don't work).

However, I agree that an advisory expiral date such as "Not-Relevant-After" could be useful if you're way behind your email inbox.

emillon··on Show HN: Vinepeek - watch the world in realtime in 6 second snippets
At least, they didn't do in public. IM is also a one-to-one conversation, unlike Twitter.
emillon··on Taf - A plan for a statically-typed Lisp
Macros are an important part of lisps, and it's hard (as in impossible in the general case) to verify that they are type-preserving.
emillon··on AMD64 most popular architecture according to Debian popcon
Yes, it's the code name of the popular Intel 64-bit architecture (which is implemented by Intel and AMD CPUs)
emillon··on A letter to my daughter, Augusta, in ruby
That's cute, but most of the "magic" is hidden behind the require line. That's somewhat breaking the rules I think (compare that to Perl poetry such as the Black Perl).
emillon··on Favorite Unix Commands
Normal mode (:help :! for more information on this command).
emillon··on Using xargs to do Parallel Processing
Meet GNU Parallel :

http://www.gnu.org/software/parallel/

emillon··on Jun Fukuyama's P≠NP Page
I think that you mean a NP-complete problem. There's no such thing as a "p-np problem".
emillon··on You can now create files on GitHub
There's a "rel=vcs-*" microformat :

http://joeyh.name/rfc/rel-vcs/

emillon··on Ruby 2.0.0-preview2 released
Yes, if PRI_LL_PREFIX expands to a string literal, the literals get merged together.
emillon··on Regexp-based RFC822 email address validation
It should fall back to a A record. That's not exactly best practice, but if you're compliant that is something that you should be able to handle.
emillon··on Regexp-based RFC822 email address validation
A MX record is not necessary for a host to be able to receive email.
← PreviousPage 7 of 11Next →