HNHacker News
TopNewBestAskShowJobs

lubutu

1,147 karma · joined March 26, 2011

submissionscomments
lubutu··on The Day Python Embarassed Imperative Programming
You wouldn't want to call f directly if it doesn't accept None. pymon is a function meaning f(v) if v else None.
lubutu··on Hasp: An S-Expression to Haskell Compiler
And what of Lisp, of which most dialects have mutable state? If a Lisp compiler would convert to genuine λ-calculus it would be as large a step as it would for C.
lubutu··on Hasp: An S-Expression to Haskell Compiler
Especially since they aren't. GHC Haskell, for example, is essentially syntactic sugar for System FC, not λ-calculus.
lubutu··on D-Wave Defies World of Critics With ‘First Quantum Cloud’
Indeed, it was the Curry–Howard correspondence which led to the realisation that software could be proven correct: a function's type can be seen as a proposition, the function itself a proof of that proposition.
lubutu··on Prof. dr. N.G. de Bruijn, 1918-2012
De Bruijn also invented De Bruijn indices for handling bound variables in lambda calculus without having to deal with renaming. De Bruijn indices are used to implement practically every modern functional programming language. They are also quite beautiful. http://en.wikipedia.org/wiki/De_Bruijn_index
lubutu··on Show HN: A Collaborative Code Editor (like EtherPad with Syntax Highlighting)
May I add, font-size: 7pt? I genuinely cannot read any of the text on this page. Please just let the user decide the best font size for them.
lubutu··on Why I Still Use Emacs
I have this problem with (random alphanumeric) passwords. When I needed to input my password on my phone, I actually had to draw a keyboard on a piece of paper and mime typing it, watching which keys my fingers hit and writing down the character.

But I don't get this with Vim. I think it's because Vim is a kind of composable language, so although you don't actually know at the time what you're doing, if someone were to ask you how you deleted half the line so quickly, you can work it out: "f)dt:". I think this is the reason I have trouble learning Emacs: it's not so obvious how commands are composed. There are some chains like C-h which are, but for the most part it feelings like there are just too many pieces. I've given it a good shot, and I'll probably try again, but it just doesn't feel as easy as "'d' to delete".

lubutu··on How Habits Hold Us
This always happens: we get a cluster of articles which serve as summaries for a central 'canonical' one. I would love a service which, given an article, would link me to the best article on the same subject.
lubutu··on Books every self-taught computer scientist should read
I would say a self-taught computer scientist is well-versed in theoretical, or 'purer' forms of computation. That is, I would expect knowledge of λ-calculus, what it means for a language to be regular or context-free, and so on. A software developer and a computer scientist are really very different things (but not mutually exclusive).
lubutu··on Don't say you weren't warned
As was Vannevar Bush in 1945, whose paper As We May Think directly influenced both Nelson and Engelbart.
lubutu··on Sponsor a Valve on Colossus
Imagine if your sponsorship meant your name was actually engraved (tastefully) on the valve itself. £40 per valve would yield the same total amount. I would donate so fast.
lubutu··on Unicode over 60 percent of the web
I'm curious whether there is more information per byte in UTF-8 hanzi / kanji compared to English, considering each character is about 3 bytes but can represent an entire word. A potential human-readable compression technique! ;)
lubutu··on Fast Lossless Color Image Compression
It would be great if the author could actually write a description of how IZ's algorithm works. The C++ source is fairly complex and has no comments whatsoever.
lubutu··on FTP Must Die
Unfortunately 9P2000 tends to perform badly over high latency connections. There was talk of writing a new version that would allow clients to group certain messages, but nothing ever came of it.

Edit: I just found a very recent paper on Improving the performance of Styx based services over high latency links (Styx being the Inferno name for 9P): http://gsyc.es/tr-docs/RoSaC-2011-2.pdf

lubutu··on Paulo Coelho advertises on Pirate Bay front page
If the creator wants to distribute it for free that's fine, but one cannot argue that when it comes to something like data it's okay to choose how much you want to pay because "you wouldn't buy it for more than that." You can't have your cake and eat it too.

I don't think this problem is worth the pain of DRM, but it is a problem nonetheless.

lubutu··on Paulo Coelho advertises on Pirate Bay front page
The truth is many pirates download the work and never actually pay for it, clearly feeling no real appreciation for the author. Maybe I'm a cynic, but the problem has never been those of us who will, discovering an artist we love, buy all their albums. The problem is with those who download for nothing but selfish consumption.

(Which is why DRM is insane: it only affects those of us who actually buy the product, while those who (inevitably) pirate it have far more pleasant an experience.)

lubutu··on Browser Sedimentation
The words in the article aren't particularly difficult for a native English speaker — certainly not 'sediment' — with the exception of 'palimpsest', for which he linked to the Wikipedia entry. With respect, I don't think it odd at all.
lubutu··on Understanding the bin, sbin, usr/bin , usr/sbin split
Indeed, /usr was already in place in UNIX version 1, according to the 1971 UNIX Programmer's Manual.
lubutu··on I want to fix programming
I'm not convinced this is possible for anything but a small subset of programs. Such a compiler reasoning about a Turing-complete program would certainly be 'AI-hard', as it would have to essentially be a programmer itself.

What I'm interested in is making proof assistants easier to use by improving their inference capabilities, so programmers can verify the correctness of their programs without having to put in orders of magnitude more work...

lubutu··on Hastebin
Unfortunately this includes substrings which aren't at all phonetic, like "qo". It would be nice to see a generator for actual pronounceable 'words', with consonant clusters, etc.
lubutu··on Hastebin
I like the simplicity of the interface, though it seems to insist that everything I save is Erlang code. I also wish the haste command wasn't a special Ruby client; something POST-driven like http://sprunge.us would be fantastic.
lubutu··on Code, Picasso, and Simplicity
What I find interesting about The Bull is how Picasso's initial breakthrough is to reduce the prominent head to a small insignificant shape. Only with that done can he go on to reduce the rest of the body to such a degree. To me that demonstrates how attacking a problem from an unusual angle can yield an unexpected development, when trying to reduce the more obvious components first would probably result in something more like a bull and less like a work of art.

cf. http://synthcode.com/blog/2009/06/Small_is_Beautiful

lubutu··on PyPy: Transactional Memory (II)
Well, the Protobuf PyPI package (which is two versions out of date) has not been able to be installed by Pip for over 3 years now. And yes, this is a known bug.
lubutu··on PyPy: Transactional Memory (II)
I'd advise specifically against using Protobuf -- Google's support for Python seems to be pretty bad.
lubutu··on PyPy: Transactional Memory (II)
What surprised me most was discovering that Intel's upcoming Haswell microarchitecture may include Hardware Transactional Memory. That's pretty exciting!
lubutu··on Mozilla's Narcissus meta-circular JavaScript interpreter
You misunderstand: the parent interpreter is JavaScript, yes, but the child interpreter does not rely on the parent's evaluation semantics, which means it is not a metacircular evaluator, it's just a self-interpreter. See the Wikipedia article for more information.
lubutu··on Mozilla's Narcissus meta-circular JavaScript interpreter
I'm confused. This is a self-interpreter, but in what sense is it metacircular? It's an implementation of JavaScript in JavaScript; it does not appear to rely on the host's evaluation semantics, which is necessary to qualify as a metacircular evaluator: http://en.wikipedia.org/wiki/Meta-circular_evaluator
lubutu··on Don't return null; use a tail call
Using this approach you would often also need to maintain state about what was requested, using closures or similar to avoid race conditions. Alternatively, Haskell offers the Maybe type, where Nothing means "not found" and Just x means "found x". Using a callback seems more prone to disaster than just encoding the possibility of null into the type system.
lubutu··on To Dissect a Mockingbird: A Graphical Notation for the Lambda Calculus
This is from 1996, and has been submitted at least 3 times. What value does the discussion really have?
lubutu··on TCP/IP over Lego model train
It would be neater if it were a freight train carrying blocks for bits. Using a USB key isn't really 'Lego' enough.
← PreviousPage 5 of 7Next →