skysight-inc/HackerNews huggingface dataset:
This software is copyright (c) Paul Graham and Robert Morris. Permission
to use it is granted under the Perl Foundations's Artistic License 2.0.
I would have upmodded you, if you hadn't made the comment about your karma going down.
It seems like this could be useful on product tags. Lets say you walk into a clothing store, find something, but they don't have it in your size. You image the barcode on the tag, find your size and order it online without ever leaving the store. Or, it could be used to display items that go well together...just a thought.
I wrote about reCaptcha before and the big problem with it is that it can be hard. And by hard I mean that the majority of people can't solve it. If you have a big site and you have a spam issue, then by all means, use it. But if you're a small site that's trying to grow and a site that considers every potential user to be precious, stay away from it because the last thing you want is to frustrate people!

Since you will not be a target early on, consider not using captcha at all since spammers don't target sites that have no traffic.
This does the automatic iptables manipulation you're looking for based on inspecting netstat:

http://deflate.medialayer.com/

That said, it's not really DDOS protection. It is good for blocking bad crawlers or misconfigured / casually malicious clients. When attacks get to be true DDOS - hundreds or thousands of zombies intent on taking you down - you'll almost certainly need purpose-built hardware and an expert network admin to deal with it.
Arc is cool. I can't wait to see what it evolves into.

P.S. Do you have a personal vendetta against the W3C, or something?
Man, I had shit to get done this afternoon.
Maybe the coffee has not kicked in yet, but I don't get it.
Bigswerve acquired by Lijit
Common Lisp will keep chugging right along.

You could ask on comp.lang.lisp if you wanted some really well-informed opinions wrt the impact of Arc on CL, but I wouldn't advise it unless your skin is thick and flame-resistant.
I called it! http://news.ycombinator.com/item?id=98502
I still have one.
Some linux distributions disabled hyperthreading by default as I recommended; others didn't. Some cryptographic libraries have fixed some of the more obvious ways that this can be exploited, but no library is completely immune. Intel hasn't done useful at all.
Venture Capitalists Still Post Big Wins In 2007
Yeah. I'll send you an email.
bash-3.2$ ls | xargs -n 1 wc -l

1093 ac.scm
535 app.arc
1496 arc.arc
16 as.scm
107 blog.arc
48 brackets.scm
61 code.arc
2 copyright
360 html.arc
7 libs.arc
80 pprint.arc
119 prompt.arc
462 srv.arc
223 strings.arc

4609 lines of code as of today.
Not lately.
VHDL Tutorial: Learn by Example
I would suggest including a copy of the tut.txt ( aka wget http://ycombinator.com/arc/tut.txt ) too.
Brad Warner is fantastic.

Check out his blog:
http://www.hardcorezen.blogspot.com/

And his articles at Suicide Girls:
http://suicidegirls.com/members/Brad_Warner/news/
(the articles are ok but the site itself is probably nsfw)

Hardcore Zen is my favourite book.
I prefer to give (and receive) books as presents instead of digital media.
I don't understand why they force you to install an app.

Why not just txt msg (MMS) or email it (iphone/blackberry) and then get a response with a URL or even some basic inline text commands?
Unemployed undergrad looking for an internship
1. Spend time fixing major deficiency in language that prevents it from being usable.
2. Use language.

Maybe I'm being harsh :) I'm sure it's great really, but these days people expect unicode support on websites.
Slashdot Founder Questions Crowd's Wisdom
Looking through the tutorial (http://ycombinator.com/arc/tut.txt), I think it's beautiful.
Huh. I would have said just the opposite about HTML; seems to me that slapping down some structural divisions and worrying about layout later is much more exploratory than starting with the layout.
You hacked Proctor and Gamble's website? Cool!
Yes, I only think you can even talk about a domain model if there actually is some kind of world (real or imaginary) or some collection of entities to model.
Wow, I earned a minor rant ;-)

Apparently, I should not have been so terse...I was really saying I think the app is neat.

LESS TERSE VERSION: I actually see value in this idea because it is something I've already been using for 5-6 years in the form of a Mac desktop app. The desktop app I use has stability issues, unfortunately, and it doesn't have decent sync capabilities across computers, etc. because it is not truly web-centric. I still pay for upgrades for it, though, so it has value to me. I think there is definitely a market for a quality web-based tool like this. It really looks like webmynd are off to a good start, but I wonder about their long-term business model. I would worry about a raft of imitators giving the program away as OSS. I also don't really dig the name...it makes me think of a cheesy AI/mindmapping program or something. It will be interesting to see which direction they take it.
Most people talking about it have no first hand experience either, which is why the talking is mostly useless.

Edit: I include myself in that.
(while 1 (pr "This is so exciting! "))
I had to tilt my monitor to see the pattern. Then it's pretty funny.
I suppose it would depend on whether or not 'cp' would find itself disk-bound in the same situation.
Yeah. I put Xfce, Firefox, Thunderbird, etc on it. It makes a nice rugged day travel laptop.
I'm from the bay area. I'm used to that :-)
We haven't spent a dime on PR at NewsCred. I've found the best way is to do it yourself, and make it very clear that you are NOT a PR person. When I correspond with bloggers, journalists or any other 'influential' types, I'm always up front and honest. Telling them you can't afford PR might mean they'll spend an extra minute or two on your story. At the end of the day, you better have a good story to tell. But even that can be worked on! Good luck!
O'Reilly Maker - Create your own O'Reilly book cover
Run SQL queries against MetaFilter's database
Can we see some more sites do this? Really cool stuff.
Yeah you might be right.

People should be doing much more A/B split testing of their sites, especially the important parts such as sign-ups and buying.
I think someone needs a valentine...
Heh, going to PyCon by chance?
The float:left is only for IE Mac if I remmember correctly.

It's quite interesting how much can be done with CSS, even if it is turning lists into tables
Wow.

$ wc -l arc0/*
1093 ac.scm
535 app.arc
1496 arc.arc
16 as.scm
107 blog.arc
48 brackets.scm
61 code.arc
2 copyright
360 html.arc
7 libs.arc
80 pprint.arc
119 prompt.arc
462 srv.arc
223 strings.arc
4609 total
Just guessing here, but maybe because the MacBook Air weighs two pounds less than the MacBook?
I understand continuations, but I wasn't sure about their use in webapps.
do you have a link? i love to read your thoughts. I have been thinking about using recaptcha, primarily because of the little refresh button and of course the captcha.
Not particularly, but I love the idea. The depenguinator isn't really about making people switch from linux to FreeBSD; rather, it's about allowing people to install FreeBSD where they otherwise would not be able to -- most commonly, on servers rented from cheap dedicated server hosting companies which support linux but don't support FreeBSD.
GWT also uses tables for layout extensively in its compiled output. I dont think its an ugly hack, as long as you can learn and work around ambiguities with table cell height between browsers.

But then I guess that is all part of exploratory programming.
Facebook Applications are a hole.
Ask Hacker News: what's your del.icio.us username?
I find myself increasingly relying on my del.icio.us network to find the most interesting material on the web. YC News is the other main place I source interesting stuff. I'd appreciate it if other people here are willing to share their del.icio.us usernames (mine is "nielsen"), so I can check out your stream of bookmarks, and add you to my network if we have similar interests. I suspect others here may feel the same. Thanks!
prleap.com is great for press releases
comment spammers came to my blog. which has no traffic.
tech support at (aka Hell)
"I wonder, if you had 5 different Paul Grahams working on different subsystems of the same project"

In fact, I think having one Paul Graham working on the project would be better than having 5. Especially "if they'd each create 5 different mutually incompatible object models, with no code reuse between them".

Overhead and incoherence kill.
This is a good point. When you're building a model of X, your design is guided by asking questions about X and getting consistent answers to them. This works if X exists separately from the model and is stable and coherent. But when these assumptions don't hold, the same techniques can easily produce a design that is arbitrary and complicated.
Winners of SmugMug's security challenge
I think when it's your passion and your love, money isn't an issue. I'm not in the startup game to make a quick buck, I'm here to give my ideas to other people and see if it actually works.

I don't care about my money.
Turn plain ramen into a satisfying meal
Some people have it worse off!
http://news.yahoo.com/s/ap/20080129/ap_on_re_la_am_ca/haiti_...
I'm a fan of turning on apf's anti-dos whenever I see load spike.
I wouldn't be trying to make a quick buck either. When I talk about money it's money that I would be needing to live so I could pay off student loans.

I don't care about being rich, but I don't want to be in much more debt that I have to be in.
I am a grad student at the san jose state university and a freelance programmer.
By the way, do you know the book Domain-Driven Design? I think it is the most sophisticated book on OO and domain modeling. But I also think that it's straining beyond OO toward a design style that is not really about object models, but rather about how to create a good language for talking about one's problem. (The application then reduces to a series of statements in that language.) Lisp programmers would be comfortable with this distinction. In the book it's obscured by the fact that the examples are in Java.
raju.gandhi
Well, in your situation, if you want to do it badly enough, you and one/two other friends have to get together and do it in your free time so that you get a a lot more done together...sure someone else might beat you to it, but I think thats a bad reason to not do it at all. If it doesnt work out, hey atleast you have tried and got better at something
Just read the first half, very good explanations in minimal verbiage. Arc looks beautiful here even if only for the de-parenning of so many CL operators (i.e. let). In fact I'm a little sad to still see so many parens in the code... I guess my whitespace-significant dreams were overreaching.
rooosta
You probably missed the thread here on YC News he is mostly like responding to... I would link you to it, but it was honestly pointless to begin with... and I'm lazy.
"We'll change stuff without thinking about what it might break, and we won't even keep track of the changes."

Are you hoping to build a user community for Arc? If so, and why would you release Arc if you weren't, then why are you not interested in keeping track of changes that break things users might design/code against? Am I being stupid and missing something here?

Edit: I forgot to mention something else. Congratulations and thanks for sharing Arc with the rest of us :)
I know startups (and the myth about startups) are all about "we'll kill ourselves to crank out the alpha in three months then we'll go live with the beta two months later, because if we don't, our competition will eat us for lunch!"

The reality is that not everyone can do that. If you're planning on writing the next social networking platform then, yes, you need to kill yourselves (perhaps even metaphorically). However, if you have a niche application in mind, you can take the slower approach. Indeed, there is truth to the maxim that "slow and steady wins the race." One of the best measures of entrepreneurial success is persistence.

One of the best ways to boostrap is to work nights and weekends. Let the man buy your soul while the sun is up, but by nightfall, it's yours again. Use the cash to bankroll your venture. Leave some time for yourself, of course.

If you're committed to the project, then you should be able to commit to the year or more that it might take. By the same measure, biting off a smaller chunk can yield faster time to market. It is much better to commit to something and finish it. The feeling is very empowering and can spur you on to bigger and better things. The first project might not be enough to quit the day job. But maybe it's enough to buy a rack of servers and kick start your business for real with a follow-on product.
Demo Nightmare: Startup Runs Into Technical Difficulties Onstage
"Arc embodies a similarly unPC attitude to HTML. The predefined libraries just do everything with tables...."

But, why should Arc libraries generate HTML at all, instead of a list?
To make webpages.
These days, most people don't even know/care what Unicode is.
Gawker Media bloggers are paid based on traffic
Well then at least it probably won't be worse than the articles take.

:-)
what's wrong with

wc -l *
i wonder how many lines were optimized/stripped until reaching this number
There are several ways this is different than the :CueCat.

1) I don't have to install an unsightly hardware component

That's right. I already have my chic phone tucked snugly at my hip. It's already with me wherever I go. The only thing I install is an applet that 'grabs' photos that meet certain requirements. And I don't know about you, but my phone cam is 1 click away (2 to actually get the picture taken).

2) The information can be immediately useful.

So there's a new restaurant in town. I want to check it out...but what's on the menu? And I -could- take 4 minutes to type it into my phone, but why? Snap, and I have an address I to which I can tell Google Maps to direct me. That's -far- more than typing in a 7-letter word.

3) Note taking

If I'm at home (where my :CueCat is), there's no motivation to do much more than walk over to my computer and type in a URL. But I've often seen products on the road or where I can't easily access my computer. Maybe I'm the only person, but by the time I get home, I forget some things from my day. If I could take a snapshot and browse at my leisure, I could be forgetful without stress.

4) Proprietary?

I don't know if the system is proprietary, but if it's not, there's no chicken-egg problem. You're already printing in print. You already have fine print. Why not put a little square that means something to a substantial chunk of people?

5) Controversy?

The :CueCat lost out on a lot of techheads because of privacy concerns. While the same concerns -could- apply here, they're not nearly as problematic. Plus, the techheads are ALREADY using the device, albeit overseas.
polybius
Or you can just do a free 10-day course from this organization:
http://www.dhamma.org/
or others.
Maybe you don't want to generate HTML but instead an RSS feed, a SVG image, JSON data, etc.

So a hardwired table-HTML output isn't good.
Tables for layout is awful in terms accessibility and semantics, among other things.

Tables are meant for tabular data, and when you use them for layout it breaks those semantics, which in turn makes it much harder for screen readers to make sense out of it.

It's also just ugly, in my opinion.
At a financial start-up... and I'm looking into a tech startup. Neither is mine, though I am considering that route too.
I work as the IT manager in a distribution company in Trinidad in the West Indies. I've built the company LAN from scratch, with Windows/Red Hat/Slackware/VMware virtual servers/thin clients and the company intranet with Apache/PHP/FreeTDS. We program reports directly in PostScript just for the hell of it. I fall asleep every day in my office and deal of escaping to an all-UNIX environment, just me and a room full of servers. Lord, I hate Windows!
What? Described as "for exploratory programming".
I remember reading this in "Arc at 3 Weeks" and being quite excited about it:

The Scheme language sneakily increased the scope of the language designer's powers. From very early, maybe from the begining, the Scheme spec said that conforming implementations must do tail call elimination. The first time I read this, I thought "wait, can you require this in a spec?" Arc will see this increase, and raise it by some standards for profiling.

I thought that was a great idea. Too few languages have good support for profiling. Did the idea get dropped? I don't see anything obviously related in arc.arc or in the tutorial.
I've never looked into Lisp at all, but this actually sparked my interest.
I have to say, I just found the greatest quote ever: "These guys all have battery-powered bullshit detectors set to eleven."
Not only do you cut down on spam, but respondents would have actually READ the article.

That's convergence if I've ever seen it!
Io has a nice, simple solution for character encoding:

http://iolanguage.com/scm/git/checkout/Io/docs/guide.html#TO...

Perhaps arc could use the same approach.
A somewhat different question is its impact on Scheme. My bet is mzscheme gets pretty popular this year.
Going to try it out now, but one thing really struck me in the announcement:

"We'll change stuff without thinking about what it might break, and we won't even keep track of the changes."

Is that really wise? What's wrong with doing a simple changelog with every modification? Since you'd expect only experienced programmers to be using Arc, you don't have to hold our hand explaining the implications of the changes - but making us diff the source would probably be a bit much.

I mean it doesn't have to be verbose even. Or even tidy. This would be better than nothing:

* Added a global weak reference hash map to treat any object like a hash using {} syntax, ie, (= {someobj hashindexobj} 5).

* Hash idea sucked. Removed.
zip is its own inverse
I found myself, for fairly silly reasons, desiring to find the inverse to zip() today. After some thought, I realized zip is its own inverse:

>>> def doublezip(xs):
... print zip(*zip(*xs))
...
>>> doublezip([[9, 8, 7, 6], [1, 2, 3, 4], [4, 5, 6, 7]])
[(9, 8, 7, 6), (1, 2, 3, 4), (4, 5, 6, 7)]

This struck me very interesting. I'm not sure I could ever explain why though.
dizz
pg has better things to do. you can maintain a website of arc changes, if you want. or set up a wiki. or diff the source and post results.
If you think Zen is boring, you've never reached Nirvana.
Full-time developer and researcher working on a data mining project for a refrigeration compressor industry, at Brazil.
I'm sure the idea didn't get dropped cause it's pretty darn important -- and it'd be a major back peddle for PG. It certainly might have been postponed, though.

I wonder if PLT Scheme's profiling tools are good enough on Arc programs (or useful at all?). I hear they have pretty good ones, but haven't used them myself. Arc might be different enough from MzScheme that the information that the PLT profiler returns on Arc programs isn't so useful.
If you think Christianity is dumb, you've never been to Heaven.
One person can't do all the work on many modern software projects.

Needlessly reinventing the wheel in an incompatible, inefficient way is pointless.

Suppose you're working on a 3D game. There'll be plenty of work for one person each for AI, sound, networking, graphics, networking, and game logic. The game logic code will probably touch all those different parts. If each person is like Paul Graham and thinks he'll roll his own fucking object system it's going to be a nightmare.
DIY widget maker built on flex - sprout builder
This is fantastic.
Congratulations PG! It's on my to-play-list ;-)
Yes, I could, but it would probably be easy to miss subtleties from just the source alone.
The app isn't by google. I don't think Google processes the barcodes for you on their server. Their announcement is just saying that their print advertising program for large companies will now include 2D barcodes.

That means you, as a consumer, need to process the 2D barcodes on you client (the phone), and take the decoded URL and pass it on to the phone's web browser.
These days, most people don't even know/care what functional programming is.
If each person is like Paul Graham and thinks he'll roll his own fucking object system

This is a total non-issue. Graham's original comment was that even in situations where an object model was appropriate, he wouldn't necessarily use the OO constructs of an OO language to build one. It had nothing to do with working on a team or not. Conversely, five intelligent programmers would quickly recognize areas of potential conflict and agree on a common approach. This has nothing to do with using OO or not.
mmatuzak
the beatnik in the author comes out at the end:

You don't need to go hang-gliding over the Himalayas, you don't need to screw your luscious and oh-so-willing secretary or party all night with the beautiful people. You don't need visions of merging with the totality of the Universe. Just be what you are, where you are. Clean the toilet. Walk the dog. Do your work. That's the most magical thing there is. If you really want to merge with God, that's the way to do it. This moment. You sitting there with your hand in your underwear and potato chip crumbs on your chin, scrolling down your computer screen thinking "This guy's out of his mind." This very moment is Enlightenment. This moment has never come before and once it's gone, it's gone forever. You are this moment. This moment is you. This very moment is you merging with the total Universe, with God Himself.
Classes require a LOT of thinking ahead of time. I will admit that a well designed class model can produce a quality long term solution to a problem. However, a poorly designed class model is the WORST thing you can possibly write. I'd take functions/closures/whatever over a bad class model.

I don't use classes because I'm never willing to pay the design forward. I want to get the product working without spending a long time designing. If you have any freedom as to what you're building, your time is better spent thinking about which features to add.
What??? I kinda like being able to talk about things as fundamental as money, without having to use (GBP). I'd like to use currency symbols for a start, what about math? I'd like to use pi occasionally.
How about I want to add a nice 'tm' or (c) sign.

People care if a website is using correct unicode characters or not.

Perhaps they don't know/care because the majority of websites now are unicode, and just work.
apgwoz
initself
That's kinda interesting, though if you just work it out on paper, you can see why.

zip basically groups all the elements with the same index together (like a dot product, except you don't multiply or sum). So all the elements from the first array will be in the array of the first resulting zip.

zip([a0, a1,..,an], [b0, b1,..,bn]) =>
[[a0, b0], [a1, b1], ..., [an, bn]]

And if you look at it, of all the resulting arrays of the first zip, all the ones in the first index of every array came from the first array. all the ones in the 2nd index of every array came from the 2nd array. If you run a 2nd zip, you're just, once again, collecting all the elements of all arrays with the same index, which reverts it back to what it was before.

Looking at it another way, if you think about it as a matrix, you'd have, say a bunch of row vectors:

[[1,2,3,4],
[5,6,7,8]]

If you run the first zip, you'd just get a bunch of column vectors (excuse the ascii, can't realy make column vectors:

[[1 [2 [3 [4
5], 6], 7] 8]]

And if you run zip again, you just get back row vectors.
ugh, can't you guys put them in link format :-)
Coders care, users don't. Just like they don't care about tables used for layout.
Firebug-like tool for Internet Explorer - Web Developer Toolbar
Steve Jobs tells investors to "hang in there" in leaked email