skysight-inc/HackerNews huggingface dataset:
I took that example directly from a task that I had myself a short while ago. It is likely to happen any time you must deal with volumes of real data. It's true that if you are using lisp, that particular scenario (which is narrow, not artificial) will be less relevant. But if you are developing in Lisp, Visual Studio is not a real option anyway. The thing is, any time you need to move a bunch of text around that may not exactly conform to your particular object hierarchy, keyboard macros can make the task trivial. If you do decide to completely refactor, keyboard macros help you there as well.

This particular example was inspired by a lexical definitions file, which is a series of regular expressions with code attached to each one. Here's a sample from my actual code:

"!" {lexer_debug(yytext, SIMPLEOP_BANG); yylval.ptnode = lex_leaf(SIMPLEOP_BANG, NULL); return SIMPLEOP_BANG;}

"%" {lexer_debug(yytext, SIMPLEOP_REMAINDER); yylval.ptnode = lex_leaf(SIMPLEOP_REMAINDER, NULL); return SIMPLEOP_REMAINDER;}

What this says is that when the lexer encounters an exclamation point, it first calls a debug function with the text it found and the associated token enum. Then, it creates a leaf node and assigns the result to yylval.ptnode, then it returns the token enum. I have 66 different definitions in the file. Each one passes unique arguments to the various functions. It is difficult to compress the code much further than this. There is very little to be gained by combining everything into one function. Some of the tokens (braces and constants, in particular) have additional code that must be run. If I tried to refactor, I'd have to create a new conditional framework to account for the special cases (either a switch or function pointers since this is C). That would increase logical complexity (the lexer already did the comparison, why do it again?), incur performance overhead for no good reason, and ultimately would not gain me much in the long term.

My original code had the debug function and the leaf function backwards. I needed to fix that. I had two options. I could refactor the whole damn thing and debug the result (which would include 6 special cases), or I could spend 60 seconds recording a keyboard macro and 10 to execute it 60 times. Option two is simply not an option in Visual Studio.

Another example:

Suppose you're using python and have a whole bunch of functions to wrap in classes. The one drawback of 'the whitespace thing' is that if you try to use tabbing to do this it's easy to make a few mistakes and screw up your block structure. It's better to just insert X spaces at the beginning of each line. I made a macro to do exactly this, and can easily bind it to F8 whenever I need to use it. I use F7 and F8 as my utility keys, for functions I don't use all the time but need to be fast when I do use them. I'll probably eventually write a function that will let me cycle the behavior of my function keys sort of like the ability bar in World of Warcraft. That's basically what minor modes are for already (though I don't know how to use them yet).
Notice how, when confronted with a super-nitpicky person who is complaining about something that isn't actually broken -- like the left side of their Macbook, which is working fine but which doesn't "feel solid" -- the Mac Geniuses reply with this story.

This particular story isn't being told by accident. Observe its killer features, designed to make the customer feel good despite the fact that nobody can solve his "problem":

(A) It appeals to higher authority, a time-honored negotiation tactic.

(B) It sells Apple by selling Steve Jobs: Steve takes personal responsibility for the looks of the product, and Steve is on the complainer's side (i.e. Steve worries a lot about completely meaningless cosmetic issues -- he's even pickier than you are). The intended impression is that, if Jobs had noticed the "squishy" side panel, he would have personally ordered a redesign of the machine at a cost of $3 million -- just as he ordered the machine redesigned to keep the screws symmetrical. What a pity that the engineers insisted on shipping the notebook on time and on budget, rather than spending time finding and fixing every conceivable cosmetic issue! Steve will just have to try harder next time!

This, of course, is good cop-bad cop, another time-honored negotiation tactic.

The story about Jobs and the screws may even be true -- the screws on the left do seem to be merely cosmetic. And, yes, my Macbook is very slightly "squishy" on the front of the left edge. For all I know, that's a feature, designed to absorb small stresses by allowing the plastic to flex, rather than by transmitting the stress to the battery connection, which is located directly beneath the offending bit of plastic. Or maybe it's an oversight -- these things happen when you're rushing a completely new product to market while maintaining total secrecy. Who cares? I don't care. I guess the author of this article cares. But neither of us cares as much as the Steve Jobs of Legend, who is personally offended by every scratch, loose part, and missing screw.
Amazon to Give Away 1 Billion Free MP3s in Superbowl Promotion
The presentation is incredible. Reminiscent of iminlikewithyou without the total Flex overhaul. I also like the little artist details that pop up while you listen.

There's a styling "error" in Safari 3.0 Mac: the rounded corner sprite is PNG which displays at slightly different color temperatures on different browsers. It's causing all of your rounded boxes to get dark stripes where it doesn't match the CSS background. Just use GIF.
Hey! I followed your profile which took me to your website. Very impressive. If you ever want to meet for a cup of coffee, drop me a line, would love to talk to a fellow hacker from Columbus.
Amazon Startup Challenge Videos (including Justin.tv)
What OpenID needs is:

1> a fix for phishing, probably involving browser support for OpenID, so it reads the request for OpenID off the page, like browsers now pick up the option of having an RSS feed, and processes it specially

2> Time.
I think Bruce Schneier would take issue with the idea of assuming attackers are stupid.
Facebook, Here is Misinformation: Caught in a lie
The business model of inexpensive one-way rental is the really interesting part for me. Reminds me of the point-to-point "air taxi" service startup in Florida.

Apparently this has worked in Paris with bicycles? I'd love to see this with scooters or segways in NYC. It'd have to be cheaper than a cab ride, though.
FF 2.0.0.10 and IE 7 (fully patched) both gave the error on a fully patched WinXP SP2 system, so I'm guessing it's a flash problem. I'm not at work atm so I can't check the specifics on the flash being used there, but it's whatever's the latest because I had to download it to use your site. :)
Gospel of Judas: National Geographic Messed up. This is why science must be open.
Each concept has two definitions for each method provided in its reference class and object class.

Because Java-style OOP just doesn't have enough boilerplate. It sounds like the problems this solves have already been solved better by CLOS.
Cluster Computing and Map Reduce: Video Lectures from GOOG
Can you help me out - what is the problem they are trying to solve in the first place?
How many are pedophiles?
10 Reasons I'd Rather Marry a Robot
note: article is written by a woman!!!
It would be nice to see your current rank on the leaderboard(if you're not in the top 30).
Those commands somehow didn't work, but now I could join the channel with the menu bar. Not that I have understood all subleties of IRC yet, though. For example how is a username "secured" is there a need for action, setting passwords etc? I am guessing no?
"the ideal post should be a top ten list about Ron Paul Graham."

Classic.
use fingers to feel in hard to see locations.
i think a sign of a good programmer is the tendency to engage with the computer using a language, not just pointing clicking and dragging. Bash familiarity tends to coincide with shell-aptitude.
Yes, and not only in Paris, it has also been working here in Barcelona since March 2007, http://en.wikipedia.org/wiki/Bicing
This sounds like a waste of time. PDF and Acrobat are suffering from serious feature bloat (3D? JavaScript?), so copying that bloat won't excite many users. It also displays the FSF's habit of trying to replace existing open source projects that have been under development for years (GNUTLS and Gnash come to mind).
This is a very relevant question. People don't explore it enough.

A related question is, why was PG afraid that Viaweb's competitors would find out about Lisp and start using it? If smart people did well regardless of language, would that fear make any sense at all?
in all the drawing/art classes i have taken, one of the first things they usually cover is the impact of serious, academic study, on many famous artists. It is the process, focus, resources, and reflection/study provided in a university that transforms raw talent into significant capability.
Or for people who use Erlang.
A lot of people hang out in #startups now because of this thread. Add yourself to the wiki if you want: http://ircstartups.pbwiki.com/
Easy Facebook apps with Ramaze (ruby web framework)
Marketing? Hmmm... what about these problems? http://www.idcorner.org/?p=161
I agree on energy being most important, but others that matter are air, water, and food(unless you count food as energy). Also human organs and blood for medicine.

Air probably shouldn't be underestimated. Consider that you can live for weeks without food and days without water, but without air you'll be dead in minutes.
Water -- a desalinization plant allows you to convert energy into water.

Air -- we can bottle as much pure air as we want with energy.

Food -- yes, it takes energy to make food, whether it is grown in the grown or fed food that was grown or completely artificial.

Human organs and blood -- this is a resource separate from energy, but only because of medical ethics. If it wasn't unethical to grow/create people for transplantation/transfusion purposes, we could convert energy to medical resources. This will hopefully become practical overtime, when science allows us to clone organs without making a whole human.
.... and DHH wrote out his full name
... and DHH censored himself with a star in the ole f word
How many saved items do you have?
You can see in your profile.

I have 812.
I love the Justin.tv guys, but they have some stiff competition. ooyala.com is without a doubt a groundbreaking, utterly game-changing idea. If they can actually do what they say they can in the video, this could change online video and TV forever. perhaps even justin.tv!
Just click the decline/ignore/whatever button. It doesn't tell them.
I haven't run into the symptoms you described and we've been testing multiple, updated browsers (FF, IE6, IE7, Safari, Opera) on XP/SP2 and Mac. We support Flash 8 and above. Thanks for bringing this to my attention -- I'll keep an eye out.
That looks like a hell of a good time. I'll definitely head up to the city next time there's a showing.
Google testing OpenID support in Blogger
Maybe this will help OpenID become mainstream. If nothing else, they're sure to have a solution for the phishing concerns.
Larry Lessig v. Jonathan Zittrain
a) It's hilarious that Dawkins didn't just make that up, and bothered to make it factually accurate.

b) It's doubly-hilarious that you checked! :-)
+1 for Colloquy on OS X
Lessig is a bit of a mystery to me. The obvious solution to corruption is lessening the power of the government. There is no way to remove incentive to steal when the money is so abundant.

It's like it's not even on his radar.
The problem that different kinds of composition are not equally easy to specify. Some, non-blessed ones you have to put together with design patterns. He has an abstraction / implementation method that makes it all as easy as pie. At least that's what I took from it.
created: 146 days ago

saved: 317

karma: 1175
The Swopper - a new twist on the task chair
Artificial Arm Researchers Restore Feeling of Missing Limb
I spent most of the video trying to figure out what book were on the shelf behind them (I did pay attention, too). I can make out the O'Reilly books on the top left, but the rest I can't match to anything I've got. There's maybe an Apress book in the horizontal stack there?

Dunno why, but for some reason lists of what books various startups have (and refer to a lot) might be interesting.
It's not the unicode. That's easy. It's "how are you going to separate the English, French, Hindi, etc. versions, from each other?" Will you have different URLs or the same URLs with a global preference, or something else?
These aren't such unanswerable questions. McDonald's, for example, is popular because it's so cheap and so fast and reasonably wholesome food.

Or am I agreeing with you?
Google Reveals 2008 Plans For Google Apps
What is the topic of this talk? I don't see anything on any of the sites involved, or Zittrain or Lessig's blog.
I am sympathetic to your point -- power corrupts, therefore let us limit the amount of power -- but it's stil not the whole story. Because corruption itself produces power imbalances.

By corruption, Lessig does not mean simple bribery. He means the corruption of institutional purpose.

An example would be how current American governments engage in gerrymandering with impunity, and are placing reliable partisans in positions where they would be judging the validity of elections. There isn't really any imaginable government that doesn't control the electoral process in this way, so limiting the power of government isn't the answer.
I have never commented on an entry on news sites before, and that is the 100% truth. I felt compelled enough to do so now.

That blog entry is the largest load of arrogant, self-indulgent crap I have ever seen coalesced into one place. Either he is doing a piss-poor tribute to the "Bastard Operator from Hell" writings that were common a few years ago.. or he is genuine and the epitome of people I strive to avoid in this industry.

One of the things I like about the web space is that, by and large, I don't have to deal with people like him. They're usually trapped in the lower levels of firmware, device drivers, and OS kernels by choice, because they've hit a sweet spot, built fortresses and refuse to retrain themselves.
Bolivian Salt Flats, the flattest place on Earth,  aid spacecraft calibration
well as long as you voted for us :D
What's Digg and Reddit?
Do they have an AOL keyword?
of course I did!
I get disconnected from Freenode after 10 minutes and I'm connected to other IRC servers without problems.
Some nice tracks there (Did not hear them all)... though I am a huge fan of listening to electronica or techno (or house or whatever it is you kids call it these days...:)) when programming. I find its great for the ambient noise, its very "active" music so it does not put you to sleep, and most songs have no lyrics at all so there's no distraction...

Oakey, Van Dyk, Sasha, Tiesto all have great tracks...
When I'm trying to work, I have to pick music I don't actually like, otherwise I continually get distracted. Actual ambient music is the best. Aphex Twin's ambient stuff is great. http://thepiratebay.org/tor/3251408/Aphex_Twin_-_Selected_Am...
Do you specialize in SNS optimization?
That just means that the lowest common denominator is, well, low. That doesn't mean that there are lots of business opportunities that don't involve appealing to the MySpace users of the world.
"We really need to get away from arguing for the goodness of languages based on the success of the people using them."

I think it devolves into this when you get into a Blub situation.

So you want to tell someone: "But it has closures! Macros! Object orientation based on multiple-dispatch generic functions! First class functions!"

And you see this stunned, glazed look come across your listener's face.

"Well, Paul Graham made a ton of money on it. Peter Norvig wrote great books about Lisp and now runs Google research. Richard Stallman made it the macro language for the greatest editor ever invented [EDITOR'S NOTE: only try this one with committed Emacs users.]. The Guy who wrote much of the spec for Java after James Gosling wrote famous compilers for Lisp dialect and authored the document that defined the Common Lisp standard. The Greatest Computer Science Course Ever taught at MIT uses a dialect of Lisp. A company who is cleaning their competition's clocks in the airline reservation business uses Lisp."

Etc. etc.
I don't see what's game-changing about Ooyala. Can you please elaborate?
I didn't dispute any of that.
Is Graduate School like a Startup?
"You need to tolerate surface differences in order to help people focus their talents on what needs attention. One of the weaknesses of some people in administration is that they want people around who look, act, and think like they do. That's a recipe for disaster."

This is why so many startups hit a wall after they get picked up by corporate giants. Group think kills.
Understanding monads in one minute
Well, not really, but maybe this will give some intuition?

It's all about function composition.

If you have

f: a -> b
g: b -> c

Then you can easily compose these functions: a => g(f(a))

However, if you want to associate extra information along with the
function result (e.g., a None flag in Option[int] say), we would have:

f: a -> M b
g: b -> M c

To compose f and g, we can no longer use a => g(f(a)) because f(a) has
type M b but g requires a b.

Instead, we can use a >>= bind operator to compose these functions as follows:

a => ( f(a) >>= g ) where >>= has type M b->(b->M c)->M c

Returning to our Option example:

f:a -> Option[b]
g:b -> Option[c]

>>= has type Option[b] -> (b->Option[c]) -> Option[c]

We can define it like this:

>>=( option_b : Option[b], g:b=>Option[c] ):Option[c] = {
if ( option_b.none_flag set ) return Option[c] with none_flag set
return g(option_b.value)
}
You can ask, but what they say may not be what they're really trying to tell you.
A lot of older people have more generic profiles. Many of them are private, so you never see them anyway. They use the service to connect with old friends and waste time; maybe meet new people too.

Younger people are exploring the medium trying to find new ways to express themselves. A lot of what design snobs find bizarre comes from enthusiastic (and often impatient) experimentation.
Less than half, but more than the number of bogeymen.
Why C remains relevant
I specialize in awesome.
BugLabs.net's really cool reconfigurable gadget in depth - a hacker-friendly electronics platform
Normally I find Scoble's videos incredibly boring, but these guys have a really neat idea.

It's a WiFi enabled platform with a bunch of different plug-in modules (LCD screens, GPS, camera, motion sensor, accelerometer, etc) that you can put together in different interesting ways.

It lets people easily build obscure but useful things that would otherwise never get built due to the complexility of building such things.

One example they had was a GPS/internet enabled radar detector, that would automatically report the locations of speed traps. Sounds good to me!
Interesting.

I find it amusing that he went to all the trouble (well, not that much trouble) of using MySQL's spatial database features when the following simple query performed even better:

SELECT country_code
FROM ip_country
WHERE ip_to >= INET_ATON('%s')
ORDER BY ip_to ASC
LIMIT 1
Ikarus - The new Scheme on the Block
Google Reveals Why they are Penalizing Some Paid Links & Site That Sell Them
Buy a Pagerank 7 link from Google.com for $1995
Don't forget Hurd!
MySpace: PC manufacturers can stake out screen space of their own -- Microsoft be damned.
This is from 1998.
The topic is almost irrelevant. Anyone in the area who has even a passing interest in the intersection of the internet and society should go see this, if only to hear Zittrain. The guy is a really gifted orator with wit and delivery that could rival Alan Shore's. The debate won't be boring.
Every time I click a link and it turns out to be a PDF file I feel like I accidently stepped on a dog's poop in a park.
Frankly I don't understand it - you can't build an iPod with that, whatever you build with it will be bulky and ugly. I'd love for the masses to be able to build their own hardware, but I don't think this is the way.

I didn't watch the whole video, but I almost couldn't bear when he told about his son putting a video screen on both sides. That's funny, but not really a huge market. I think they should create a short, concise video showing off a few cool things to do with the Bug.

Another thing: I am guessing today you can get a mobile phone that already has all the things the Bug could do with modules on board, in a much sleeker package.
Surely Google isn't stupid enough to include their own domain when calculating pagerank... do they?
Google doesn't like special cases. As you can see from the reply by Matt Cutts, they actually fixed this on the content side.
Income is not the important factor. The problem is scaling up before they have traction.

Read pmarca's blog posts on "product/market fit" to understand.
Erlang, the functional Smalltalk?
Ending Famine, Simply by Ignoring the Experts
Web video does not compete with TV
not so sure about the validity of this study
Incredibly, I could not find a concise description of how it works which was very frustrating:

1. You want to log to site X.

2. Instead of signing up, you enter http://myuri which has a a text entry that points to site Y as your open id provider.

3. Site X asks you to log into site Y and lets you log in once site X gets an OK from site Y that you've logged in.
Jeff Hawkins talk on entrepreneurship at Stanford's Entrepreneurial Speaker Series [video]
oh you are right about the "if you founders wouldnt rather have equity than a salary ...".. absolutely... but I am not sure if its the choice is simple. If you have to feed a family then equity wont pay for it... But yeah sure, a team that is driven by equity rather than money does indicate a good idea (or a very stupid team!)...
I doubt that this article gives the whole story.

One question: why could the farmers not afford the fertilizer? Seems to me that if using it yields more than it costs, it should be possible to afford it (loans?)? On the other hand, if it doesn't make sense economically, giving it to the farmers for free just ensures that they will never have profitable businesses (ie perhaps instead of farming, they should do something else).

Also, weren't many soils in Africa destroyed by the use of the wrong kind of fertilizer?

I know that is too simplistic either, as for some reason they might have no choice but to be farmers. But then I suppose politics would be to blame, not the experts.
Things usually look bulky and ugly on first revision. That can be changed over time.

It's precisely the fact that there isn't a large market for two-sided screens that Bug exists. People with niche needs (like two-sided screens) are currently out of luck since Sony and Apple won't address it. Bug addresses people with niche needs across many different niches. That's their market.

The other thing is that people not only build their devices like legos, but people can build their own pieces. For creative builders like most of the people on hacker news, that should be exciting.
We have these bicycles in my city, too, but I doubt that they are such a huge success. Might be more of a prestige/advertising thing (sponsored by the german train company). Part of the problem is that it is difficult to sign up for one, though (registration through phone). Perhaps other models are better conceived.
Make Younger VCs Your Champions
Evaluation of Javascript Libraries