HN user

l0stman

1,842 karma
Posts50
Comments50
View on HN
blogs.hbr.org 13y ago

Henry Ford, Innovation, and That "Faster Horse" Quote

l0stman
2pts0
www.pvk.ca 13y ago

Engineering a List Merge Sort

l0stman
1pts0
www.elusivesnark.com 14y ago

How to build a portrait with dice

l0stman
111pts14
www.openbsd.org 14y ago

OpenBSD 5.0 Released

l0stman
143pts49
www.futurechips.org 14y ago

How to trick C/C++ compilers into generating terrible code?

l0stman
61pts18
www.informationweek.com 14y ago

What's The Greatest Software Ever Written?

l0stman
12pts8
rdist.root.org 14y ago

Old programming habits die hard

l0stman
3pts0
home.pipeline.com 14y ago

Pragmatic Parsing in Common Lisp

l0stman
1pts0
random-state.net 14y ago

How to fix a compiler bug in SBCL

l0stman
4pts0
www.daemonology.net 15y ago

FreeBSD on EC2 FAQ

l0stman
49pts13
www.jwdt.com 15y ago

A Web-Server in Forth

l0stman
4pts0
googleresearch.blogspot.com 15y ago

Poetic Machine Translation

l0stman
3pts1
www.df.lth.se 15y ago

Small and useful assembly programs

l0stman
22pts2
www.tompeters.com 15y ago

Planning is overrated. The best performers seesaw between ideas and actions.

l0stman
58pts34
marijn.haverbeke.nl 15y ago

Writing concurrent programs in Common Lisp

l0stman
2pts0
danweinreb.org 15y ago

NoSQL Storage Systems Never Violate ACID. Never? Well, Hardly Ever

l0stman
3pts3
citeseerx.ist.psu.edu 15y ago

Ken Thompson: Regular Expression Search Algorithm [pdf]

l0stman
2pts1
ridiculousfish.com 15y ago

The Treacherous Optimization

l0stman
16pts0
startuplawyer.com 15y ago

Angels asking for control

l0stman
2pts1
ridiculousfish.com 15y ago

Barrier: Multithreading bugs are very delicate

l0stman
58pts16
scheme2006.cs.uchicago.edu 16y ago

An Incremental Approach to Compiler Construction

l0stman
77pts18
ocamlunix.forge.ocamlcore.org 16y ago

Unix system programming in Objective Caml

l0stman
49pts0
funcall.blogspot.com 16y ago

Importance of terminology

l0stman
3pts0
www.imperialviolet.org 16y ago

Checking that functions are constant time with Valgrind

l0stman
42pts8
research.swtch.com 16y ago

Zip Files All The Way Down

l0stman
92pts35
lists.gnu.org 16y ago

Keywords added to MIT-Scheme

l0stman
7pts0
regex.info 16y ago

Source of the famous “Now you have two problems” quote

l0stman
75pts18
www-archive.mozilla.org 16y ago

Jamie Zawinski: Unity of interface

l0stman
31pts5
research.swtch.com 16y ago

Using Uninitialized Memory for Fun and Profit

l0stman
85pts16
wps.com 16y ago

Mel the programmer was a real person

l0stman
105pts16

I had to look up what the `:' operator does and it adds an element to the beginning of the list. So the last line should be

    split (left, right) x = if x<p then (x:left, right), else (left, x:right)
    qsort :: Ord a => [a] -> [a]
    qsort []     = []
    qsort (p:xs) = qsort lesser ++ [p] ++ qsort greater
        where
                lesser = filter (< p) xs
                greater = filter (>= p) xs
I know nothing about Haskell but I don't think this code implements the original quicksort algorithm which sorts the input in-place. Moreover the two-pass of filter over the list and the concatenations cause unnecessary overhead. Thus, even if the sample code is simple and elegant, a real-world implementation would surely be a bit longer than the given example.

Just finished ``On Lisp''. This is an advanced Lisp book and shouldn't be your first one. It assumes some familiarity with the language so you're better of reading ``Practical Common Lisp'' first if you're diving into Lisp for the first time. The book focuses almost exclusively on advanced use of macros and metaprogramming.

Interestingly, I've also read SICP in parallel -- currently reading the last chapter -- and there's some overlap in the topics treated in the two books. I'm also walking through CLRS and TAOCP at the moment, albeit reading the latter with a slower pace compared to the former.

On the non-technical side, I'm reading ``Drawing with the right side of the brain'' by Betty Edwards. I've picked up this book since I've decided to resume drawing one year ago. I highly recommend it if you struggle to draw a realistic rendering of a real life object or a landscape.

Actually I posted this article yesterday http://news.ycombinator.com/item?id=1624402 but I went unnoticed. The author was working on search feature for his Hex editor and tried to outperform GNU grep by using Boyer-Moore. After multiple attempts, he finally discovered the hard way all the tricks used by Mike Heartel to make GNU grep run faster than his implementation.

My loss 16 years ago

Thanks for sharing this, it was extremely brave of you to do so. Speaking of one's failures in public requires a high degree of courage. Besides, from reading your other posts on HN, I thought you were what I would generally consider a successful guy. But like you said, there's always a flip side in every situation.

My gut feeling is that it has something to do with Arc. Some people tends to think it's just a regular Lisp with shorter keywords and that there's nothing really innovative in it. The problem is that pg kept the code private for too long while advocating publicly the power of the language and criticizing Common Lisp.

So when he finally released it, some lispers were disappointed because they've been waiting for something really disruptive. And it backfired as most of the time, the harshest critics comes from your disappointed sympathizers.

That being said, I don't hang that much on IRC so I have no real back-story supporting this.

To be fair, the part of Emacs implemented in Lisp looks nothing like poetry. I wouldn't qualify it as ``utter crap'' but it's a lot messier than I thought. Some of the default packages looks like straight C code translated verbatim to Lisp.

My take is that even if it's easier to screw things up in C, that doesn't mean that if you program in a higher level language, you'd automatically produce elegant code.

You said:

The United States, Canada, Australia, and New Zealand obviously turned out quite well largely modeling British systems of common law, trade, treaty, military organization, and government.

and

The African countries were much better under British Rule than non-British rule.

I'll ignore the fact that you're trying to mix together countries that have been independent for centuries with other ones which only acquired it roughly 50 years ago.

What I don't understand is your circular reasoning. If the rule under the British empire was that great, shouldn't the US and Canada be in a much worse state right now compared to that golden age? This seems to contradict your thesis.

And lastly, you seem to forget that most of the conflicts in Africa are due to the artificial borders imposed by colonialism. Some tribes like the Tutsi are spread across Rwanda, Burundi and Eastern Democratic of the Congo. Bring in the fact that most of these countries were governed by dictators largely supported by the former rulers and you'll see a cleaner picture of the situation.

There's some gross oversimplification in your reasoning. Just to cite a few.

Egypt? Incredibly wealthy under the British, not so much under self-governance.

You seem to forget that Egypt has a history of more than thousands years and was a superpower long before the British empire even existed. And after that, there was Persian, Greek, Roman, Arab and Ottoman occupation. Thus comparing the country's wealth during and just after the British colonialism is reductive. How about trying to do the same comparison throughout these periods and see under which one Egypt was at its peak?

I think you're overly optimistic about what's going on here and overlooks trolling. I don't know if the video was edited to not show the offending ones. But I'm pretty sure if this becomes a popular trend, you'd have to deal with more trolls than you'd like to.

Maybe you're right and there's some hidden potential behind all of this. But the cynic in me just imagines 4chan members drooling at the prospect of ruining a show with shocking images and videos.

I wonder if this kind of immortality would be that great. Most of my motivations to do things now come from the time limit factor. If I were immortal with unlimited memory, I think I'd just procrastinate and continue to postpone all the tasks I have to accomplish just because I can.

Stop Piping Cats 16 years ago

If all you want is to group commands, you could use {...} instead of (...) so you don't have to spawn a subshell.

You can't expect people to be reasonable when it comes to language flamewar. Personally, I think weak advocacy is worse than no advocacy at all.

So why not create syntax that catches 99% of the cases for which you intend the language to be used and abolish the ability to create further syntax?

Although it's possible to create new syntax in Common Lisp via reader macros -- I don't think lispers recommend to extend the syntax. But when you miss a language feature, instead of fighting against the language, you could implement it. I don't remember exactly who said it in one the SICP video lecture, Harold Abelson or Gerald Sussman, but he said something like

Lisp is not good at solving a particular problem. What Lisp is good at is extending the language to solve a class of problems.

The problem with syntax is that it's difficult to use correctly with macros. It's no wonder that most introduction books to C warns against the pitfalls of using macros. Even the simple ones could bite you if you're not careful. Consider:

  #define DOUBLE(x)	(2*x)	/* should be (2*(x)) */
  #define MAX(a, b)	((a) < (b) ? (b): (a))
Even the last one is not immune against multiple evaluation problems if you try to evaluate MAX(a++, b). In Lisp you could avoid this by using gensym and local bindings. That being said, C macros and Lisp macros are completely different beasts. And I recommend reading ``On Lisp'' for advanced use of Lisp macros.
Lisp Quotes 17 years ago

I just read Coders at Work and here's an excerpt from the interview of L. Peter Deutsch about this quote:

Seibel: I think Larry Wall described it as bowl of oatmeal with fingernail clippings in it.

Deutsch: Well, my description of Perl is something that looks like it came out of the wrong end of a dog. I think Larry Wall has a lot of nerve talking about language design -- Perl is an abomination as a language. But let's not go there. (...)