HNHacker News
TopNewBestAskShowJobs

ralph

1,089 karma · joined March 1, 2007

Ralph Corderoy, https://plus.google.com/#115649437518703495227/about

C, Unix system and shell, Python, X Windows, ARM, ...

submissionscomments
ralph··on Revenue / Browser on mibbit
So does that equate to roughly $1,114.91 of revenue for those 800,000 visits that were by the big six browsers you list?
ralph··on Less, a leaner CSS
"good design being design one doesn't notice"?
ralph··on Patching a Program Without Source Code
I haven't used a hex-editor in decades. This is one of the few times where I still use Perl instead of Python.

    $ perl -i.bak -p0777e \
        'print STDERR s/\xe4\x0a\x00\x2d/\xde\xad\xbe\xef/g + 0 . "\n"' a.out
    1
    $ cmp -l a.out.bak a.out
      50161 344 336
      50162  12 255
      50163   0 276
      50164  55 357
    $
Perl prints the number of substitutions done. If it's 1, all's well.
ralph··on Python to get Google-backed speedup
You mean CSP-style, like Alef and Limbo from Bell Labs? Have you come across PyCSP? It has multiple backends, including greenlets which are nice and lightweight. http://code.google.com/p/pycsp/
ralph··on Google Wave: Our First Hands-On Impressions
ytalk(1) is the modern version.
ralph··on Ask HN: Ridiculous Coding Practices by companies you have worked for
I had to set lots of `visible?', `touch sensitive?', etc., flags based on Boolean expressions. I ended up with things like

    foo->vis = a || (b || !c && (...)) && z;
Coding standards, and the arbiters at code review, insisted on a nested set of if-then-else statements comparing, e.g. a == TRUE, rather than just `a', with the many blocks being either foo->vis = TRUE or FALSE as appropriate.

This resulted in my two or three line statements turning into many more lines, which then gave them cause for concern because their style had swelled functions to where they thought they were getting too large!

Plus, the C compiler, one of IBM's, produced better POWER code for my line than theirs.

I finally got them to back down when I gave them a code sample in their style for study. Even when I pointed out it had an error they couldn't find it. I'd deliberately missed an else-block off an if-statement that had started a dozen lines before. This would mean foo->vis sometimes wasn't written to at all; impossible with my version.

ralph··on How I Hacked Hacker News (with arc security advisory)
Gray on gray is awful. Does only one person like it? :-) Here's a fix for Firefox that doesn't need the overhead of Greasemonkey.

http://news.ycombinator.com/item?id=563492

ralph··on Ask HN: How many kids do you have?
Conversely, some of those that think they may have, might not of.
ralph··on Poll: How often do you write comments, and then not submit them?
Never is the same as 0%, not 100%? Only the choices are ordered to suggest it's 100%. Also, 80% or more and 5% or less suggest that Never, whether it's 0% or 100%, is a duplicate of one of the other choices.
ralph··on Zero-Knowledge Sudoku: Verifying solution without looking at it.
I don't think you're correct, although I upvoted you before I thought that because you seemed to be explaining the problem I had with the article. However, reading the article's comments it becomes clear that there's 81 locked boxes, one for every cell in the Sudoku grid. The key Victor chooses from the 28 Paula proffers will open nine of the 81 boxes. Those nine have to be consistent amongst themselves, i.e. a permutation of 1-9, despite Paula not know which of the 28 keys would be chosen.

Charlie doesn't exist, nor does he need to.

ralph··on Please tell us what features you'd like in news.ycombinator
Not sure "[deleted]" posts are correctly indented from their parent. Also, the lack of space above them means they don't stand out from their parent. http://news.ycombinator.com/item?id=624964 is an example. It's not immediately obvious from indentation or spacing that swolchok's two posts aren't a reply to himself.
ralph··on Teensy++ $24 AVR board, USB, 63/4/2KiB flash/RAM/EEPROM, 46 I/O, 8 analo., 9 PWM
It's predecessor, the Teensy, has been discussed before; http://news.ycombinator.com/item?id=457740 But this is the Teensy++, despite having the same URL, hence me fudging the lameness filter. You get quite a bit more for a small price increase so it's well worth another look.
ralph··on The New Altair: Why the Arduino Matters
The xgamestation products seem good, but the website is awful. I've been there on and off several times over the years and never purchased anything because I've given up. There's now quite a few different products, but not a good overview of the differences. And the faux game look and feel is tedious and hard to read. View -> Page Style -> No Style helps somewhat.
ralph··on Your Language Features Are My Libraries
One of the things that distinguishes a good programmer from your average one is a detailed knowledge of the language's standard libraries, even if they're de facto standard ones. How many times have we seen C that re-implements memrchr(3) or strcspn(3), often with bugs.
ralph··on Wolfram Alpha Easter Eggs
Thanks. That's odd. Maybe I kept glancing back at the decimal one they give first. I even ended up doing stuff like

    for n in '' -n; do for a in '' ' '; do for b in '' ' '; do echo $n "${a}ABC$b" | sha1sum; done; done; done
to try and get the output they give for http://www63.wolframalpha.com/input/?i=SHA+ABC and thought I hadn't managed it.
ralph··on Resty - a bash REST client
I looked at the source code; that's how I spotted its bugs, including the one above. :-)
ralph··on Concurrence: a Python framework to create massively concurrent network applications
Are you aware that using channels for communication and synchronisation has been prevalent in languages other than Erlang? Occam was one, and Bell Labs, creators of C, Unix, etc., used it in Alef and Limbo amongst others. They all hark back to C.A.R. (Tony) Hoare's CSP. Here's a good overview. http://swtch.com/~rsc/thread/
ralph··on Resty - a bash REST client
Its error handling is a little odd, and it doesn't detect unexpected commands.

    $ resty 42; echo $?
    resty: curl returned error 42
    0
    $ 
(curl was never called.)
ralph··on Wolfram Alpha Easter Eggs
http://www63.wolframalpha.com/input/?i=SHA1+collision only comes up with the SHA1 digest of "1 collision", except that I can't re-produce the digest it gives: 260b ad88 a9bf 718b e7ac 56ab 10db 8368 2e04 3f5e
ralph··on The Odds of Winning Solitaire
Lose is loose that's lost an O, loose has to be looser than lose to have space for the extra O.
ralph··on Lamson The Python SMTP Server
I think Ubuntu prefers Postfix; perhaps you did something specific to end up with Exim.

"Postfix is the default Mail Transfer Agent (MTA) for Ubuntu." -- https://help.ubuntu.com/community/Postfix

ralph··on Ask HN: How can I get up early in the morning?
As someone who has to nag someone else to wake up and get up, can I just say how disruptive it is to what I'm trying to do. Instead of concentrating I'm constantly checking back to see if they need another nag. So the sleeper isn't just consuming their own time, they're affecting the quality of mine too.
ralph··on Brainstorm HN: Outlandish Startup Ideas Pool
Everyone else would have to yield only if all traffic entering from that single busy inbound road was going all the way around the roundabout and exited onto the road it entered from. Since few cars do this, the odd single car on other entrances gets a gap where they pull out, often causing the busy road to queue while they pass, which in turn lets others out, etc.

I agree though, the heavier the traffic the less they work. Especially when morons pull out onto it despite seeing the exit is jammed and without leaving room for other lanes to cross in front and behind of them. Also, in the UK, many drivers fail to signal correctly, giving less clues to other drivers as to when they can pull out, e.g. if you're not signalling left as you exit a roundabout, you're doing it wrong! :-)

ralph··on Brainstorm HN: Outlandish Startup Ideas Pool
It's called a roundabout. ;-) http://en.wikipedia.org/wiki/Roundabout They help traffic flow lots in the UK and elsewhere around the world. Not a panacea though.
ralph··on Javascript in Ten Minutes
No, I'm sure it's the minority. I was just being polite. :-) "Today's" programming languages are a minority too. Just think of all the ones that came and went in the 60s, 70, and 80s. Most of those were ones that wouldn't let you do "foo" + 12 as the OP said, i.e. you couldn't apply the plus operator to a string and an integer and have the integer coerced to a string automatically. It's clearly the minority that would do that, and a small minority at that.

awk and perl handle "foo" + 12, but they coerce "foo" to an integer, which is 0, and then add 12.

(Note, C lets you do "foo" + 12 but it isn't coercing 12 to a string, instead it's adding 12 to the address of the string "foo", e.g. "0123456789abcdef"[nibble].)

It would be interesting to enumerate those that do treat "foo" + 12 as if it was written "foo" + "12".

Edit: add http://en.wikipedia.org/wiki/List_of_programming_languages

ralph··on Javascript in Ten Minutes
Just as most languages presented with "foo"+12 would silently convert 12 to a string via the toString() method.

Most? The minority I'd expect. Others do things like

    TypeError: unsupported operand type(s) for +: 'dict' and 'int'
ralph··on Bcrypt is now obsolete
For those that don't know, Bruce Schneier designed http://en.wikipedia.org/wiki/Blowfish_%28cipher%29
ralph··on Bcrypt is now obsolete
Well, if Bruce passed comment on it, it would be publicity, bringing it to the attention of many that would be interested.
ralph··on This week in startups: Episode 1
Skip at least the first five minutes. There's zero content. I gave up watching then so YMMV on the sixth minute onwards.
ralph··on The Man Who Made Gmail Says Real-Time Conversation is What's Next
I still think the Friendfeed site does a poor job of getting across what it does and why it's useful. This readwriteweb article is better. They need some real-life examples, not just waffle about family and work groups. Can I use it instead of a blog, or is it as well as? If I can see the comments other friends are making elsewhere then do my comments on FF get pushed out to those things I'm on, e.g. twitter? That kind of thing needs to be covered, and without me watching a video or screencast.
← PreviousPage 14 of 26Next →