skysight-inc/HackerNews huggingface dataset:
The northwest suburbs of Boston may also be a good choice, particularly since his wife is in biotech and they have a kid on the way. There's a large concentration of biotech companies in Bedford & Burlington by the Rt 3/128 interchange.

Boston is interesting in that population density declines pretty sharply as you move away from the city center. So Boston itself has a population of 600k and skyscrapers, Cambridge has 100k and still feels fairly urban, Arlington and Lexington each have about 40k people and feel like large towns, Bedford and Concord have 15k apiece and feel like small towns, and Carlisle has 4k and feels positively rural. I'm on an acre of land in Bedford, with woods in the back, and only 13 miles outside of Boston.

The northwest suburbs also don't lack cultural activities the way many suburbs do. You've got all the historical sites in Lexington, Bedford, and Concord; the Lexington symphony orchestra; community activities; libraries in each town; band concerts; fireworks displays on July 4; etc. I was going to say "Flipside is that you need a car to get to them," but even that's not really true: a bike path connects the town centers of Bedford, Lexington, Arlington, and the Alewife subway station in Cambridge.

Only problem is that property values are sky-high here, though they seem to be going down fast. The house across the street went on the market for a million, but finally sold for $630k six months later. Houses are still going for $1M+ in Concord and Carlisle.

Well, that and the "sufficiently small values of 'decent climate'". The cold & snow isn't as oppressive in more rural settings though; it's quite pretty out now.
"As everybody knows, (mt) is a little slow, and a little prone to failure."

I think that's a slightly ignorant pov. You can't judge all of (mt) with your (gs) experience. I've been on a mid-range (dv) for years and it's been nothing but kittens and daisies. Which brings me to this point - why get 2 (gs)'s and not just get a more powerful (dv)?
Messing up the Interface: What happens when Sales, Marketing and Legal get involved
Thanks for the insight, "as everybody knows" was a bit presumptous, but it seems to be the feeling around here, and it's been my experience that once the west coast wakes up, my times get much slower. I know from your other posts that you've overall had a very positive experience with them, but, one (dv) still poses the same problems as above with multiples once I need them.
i used ocaml very briefly so my opinion should be taken with a huge grain of salt. The language is nice. The type system is mostly pretty cool .. there were some programs that were "correct if it compiled". But sometimes the type system sometimes comes in the way .. I hear (but dont know firsthand) that Haskell's type classes alleviate some of the pain.
As much as I love drumming in Rock Band, it's not quite the same. You don't learn good technique, or how to read music, or the lingo and vocabulary that go together with real proficiency at percussion instruments.

That being said, most drummers don't know how to read music either. The old joke: "How do you get your drummer to slow down if he's playing too fast? Put sheet music in front of him."
The coolest thing at LIFT: MixIn
മലയാളം
Can I have a glossary of what the heck you're talking about?
I'm learning OCaml myself now. I'm actually starting a new open source database project and I intend to implement it in OCaml. I'll probably post information about the project here whenever I get it going enough to have something to discuss.

Take a look at a specialized reddit I created for OCaml discussion: http://reddit.com/r/ocaml
3.5 years studying CS at Georgia Tech, life forced me to pull out and I'm working at a startup in Orlando.
I wouldn't suggest that anything is 'magic' about any web service, and AWS is just an example, This is more of a web theory question.

Most startups with low funding start out on cheap servers and then scale to multiple cheap servers (google), if that is the right answer, then multiple (gs) accounts could be better than a single (dv) acct or even multiple AWS accounts, but if there is something about another service that makes Scaling easier with that service, or if there is some way that you architect your program so that you can easily scale across multiple servers (and not just have multiple instances of the program on multiple servers), i.e. to divide as necessary rather than to pre-divide your resources, is that the way to do it from the start, or does everybody start very very small?
AWS - Amazon web services (cluster server and simple storage)

(mt) media temple hosting

(gs) media temple grid server (their lowest offering, akin to mosso)

(dv) media temple dedicated virtual
Memory savings with magic trampolines in Mono
What are mt, gs, and dv?
Looked into it in college. I liked it a lot - it's fast, clean, safe, and has some cool features. Also was easier to learn than Haskell.

I left it behind because it was easier to learn than Haskell. I use these languages (Ocaml, Haskell, Erlang, Scheme) because they're mind-expanding. For practical programs, I'd rather use something practical, like Python. Haskell was more mind-expanding than Ocaml, and so was better for the task at hand.
Haskell's type system will bring a lot of pain first. And then one day it'll click (like macros) and then it makes everything simple.
Media Temple (company)
Grid Server (low-end server offering)
Dedicated Virtual (mid-range server offering)
Idea: Site for Programming Language Challenges
Programmers are often told to use the right tool for the job instead of the tool with which they're most familiar, but it's often difficult to figure out which is which.

Recently we've seen the Arc Challenge and the Erlang Challenge come up in the blogoworld, and I think they've been good at focusing comparative tool set discussions.

Why not create a website where people can post different challenges, and host the responses to them, along with discussion of their pros and cons, so that we can see more clearly the strengths and weaknesses of various programming languages and tool sets?
It depends on what your bottleneck is. RAM? Processor? Bandwidth?

If it is RAM, you'd be better off getting fewer servers with more RAM on each.

If it is CPU, you'd be better off trying some software configuration options before scaling horizontally.

If it is bandwidth, you'd be better off getting a server with a fatter pipe.
Title typo?
I must say that I am taken aback by the title you used to link to my article. I did not mean it as a snide response to the Arc challenge. I thought the Arc challenge was pretty cool, and I replied to it with an Erlang implementation -- you can see it here http://arclanguage.org/item?id=722. If it come across as snide, then I didn't communicate it as I had intended. The reason I said it's in the "spirit" of the Arc challenge is that the Arc challenge highlights what Arc is good at, and the Erlang challenge highlights what Erlang is good at.
The whole Unicode brouhaha was triggered by Paul's description of the issue. If he had said: "Arc doesn't support Unicode yet but I expect it would be easy and I welcome patches" then it would have not been an issue at all.

Instead, he said: "I realize that supporting only Ascii is uninternational to a point that's almost offensive, like calling Beijing Peking, or Roma Rome (hmm, wait a minute). But the kind of people who would be offended by that wouldn't like Arc anyway."

There was no reason to take a swipe at the "kind of people" who care about internationalization, which is to say:

* people who are not mono-lingual anglophones

* people who want to build real-world applications

Why shouldn't people in those categories be interested in Arc? Why should they be excluded? And why treat it as a matter of political correctness rather than just a technological decision?

Paul threw the first punch and the blogosphere punched back.

Furthermore, his general tendency to divide and conquer the programing world in that way is why there was already a huge pool of haters ready to pounce on him. Every essay of his implies that there are people who get it and people who don't and one can distinguish between them by seeing which people agree with him and which do not.

He only needed to say: "Arc does not yet support Unicode" and the whole thing would have been avoided.
>if there is some way that you architect your program so that you can easily scale across multiple servers (and not just have multiple instances of the program on multiple servers)

See this article:

http://highscalability.com/unorthodox-approach-database-desi...

In fact, see that whole site. There's a lot of stuff there.
It's all about time, time, time. I'm not suggesting there aren't extremes at both ends of the intelligence spectrum. But for the bulk of us in the middle of the curve, it all comes down to time. The problem is society pulls for our time on one end and family pulls for our time on the other. Unless your independently wealthy you can't be uber effective at both. I've actually known a number of men who have tried to advance there careers or get advanced degrees after they were married and had children only to end up getting divorced. I'm not advocating one path as superior to the other but having a family myself I know something has to give. Over time I've learned to value my accomplishments as a husband and father over those of intellect and career.
Just because Erlang is very good at solving a certain class of problems, doesn't mean it's inferior at solving general computing problems.

The Erlang challenge highlights what Erlang is good at, but it's not meant to convince you that Erlang is good at everything. I've never claimed that this challenge proves you should use Erlang to solve any problem that comes your way.
There's nothing wrong with the demo itself, but with the demoed ads -> They should appear and disappear according to the movement of the mouse pointer on "whitespace" right?

For me, that's what isn't working... the ad starts as visible, flickers on the mouse of whitespace, and stays visible after I move the cursor back into the demo. I see the default add as aligned top-left from the corner of the browser window: is that correct? (it covers your logo/title bar)
Become a Better Programmer by Not Programming
Cool! Paolo, 'lupus' Molaro is a super-smart hacker who lives in Padova, and is an ex-colleague of mine.
Hotmail doesn't work with Firefox 2.0
The B Language, Predecessor to C
buy stuff (digikey, propeller, old x86 boxen, Freescale samples + PCB kits, whatever) and start hacking, and find some good IRC channels to hang out on. I won't tell you which ones, because I don't want them to get crowded... :)
I wrote a few projects in OCaml, and it's a great language if it suits the problem, but it can get in the way otherwise.

What it's great for is anything that involves the manipulation of lists or trees - one of my projects in OCaml was a simple computer algebra system, and OCaml was great for that. I had previously written a super-simple interpreter for a made-up programming language in Java, and in comparison OCaml is way more expressive for that type of project. I also wrote a fractal renderer in OCaml and found the expresivity helpful, although the library support was not great so I ended up writing my own bitmap library. It's also nice to be able to break out of the purely-functional paradigm, because there are times when a problem is better suited for imperative programming.

Another project I did in OCaml was a web proxy, and it turned out to not be a great idea. The libraries were confusing and in the end I wished I used python.

So it really comes down to the project. OCaml is very cool conceptually, and it is great for certain tasks, and not so great for others. (For what it's worth, I've only been using OCaml intermittently for about a year, so I am no expert.)
Web applications suck and they’re not worth creating
Be my Support Group
Incremental Map/Reduce in Couch DB
Thanks for the in depth response! It was informative!
well I have never understood the "use erlang because CPUs are going multicore" argument. See if I write a program in C (which for some mysterious reason doesnt use threads) and run it on a single core and it runs in 1 sec. If an equivalent erlang program runs in 10 seconds on 1 core, then I will need at least 10 cores before it beats C. That is assuming 100% of my application/algorithm is parallel.

While erlang is a nice language, saying that it runs faster on multicores is just a lame excuse.
"Many communities dream of becoming the next Silicon Valley. This one is actually doing it."
I wonder if there are security games to play with javascript.

Have the CSS encrypted in some non-trivial way. Have the JS decrypt it after querying a server for a key. You could do the same with images, or a least their file names.

The query could include a token associated with the machine that served the page, and only the correct tokens would get the correct key.

Just a thought.
It still says "thieves", but the linked article is about plagiarists.
Yes it will work. Most of them will be re-elected.

What did you think that the stimulus package was supposed to do?
It blows my mind that in 2008 companies are moving toward C++.
Because the Yahoo board doesn't own the company. They only make decisions on the best interest of the shareholders.

And even though some of the directors, executives and employees (the insiders) may not like the deal they do not own the majority of the shares of company (over 70% of the company is owned by outsiders like small investors,mutal funds etc...according to http://finance.yahoo.com/q/mh?s=YHOO).
Coke out my nose. Thanks a lot!
Ditto. You couldn't develop much of a career in a couple hours a day, so why expect to be successful at a family with the same minimal contribution? It's about balance.
After reading a few of his blog posts I think he needs to move on. Design is something that is always going to be copied. Especially good designs, he should be proud that people love his designs and copy it or modify it. Well obviously it is not ok if someone rips of the entire site, but inspired designs is never a bad thing.
just my opinion.
So reimplementing Maya or Photoshop is a bad idea?
One problem would be that if the challenges were easy, you'd get tons of silly entries, like the bottles of beer challenge. If they were hard, you might not get enough entries to be representative. Solutions:

1) Find a sweet spot of difficulty for each problem. This would be hard.

2) Offer prizes, bragging rights, publicity, etc for excellent solutions. This wouldn't be hard, just take resources.
Interesting, I had thought OCaml and Haskell were pretty equivalent in regards to functional programming. OCaml's plus is the ability to break out of the functional mindset when you really need it, mainly for speed (can beat c++ when used properly):
http://www.cs.ubc.ca/~murphyk/Software/Ocaml/why_ocaml.html

I think that is cool, because in my mind functional and imperative programming each have their distinct niche's of effectiveness. However, I have zero significant projects under my belt in any functional language, so I'm not necessarily one to talk.

Update

This is a counter (on slashdot w/ discussion) to the speed claim:
http://developers.slashdot.org/article.pl?sid=05/03/14/22582...
Steingold pretty much seems to be saying "OCaml sucks because it isn't Lisp". I think languages like OCaml and Haskell would work nicely in situations where you have a pretty good idea of how your program is going to work before you write any code. I've never worked on a non-trivial project where that was the case.

Ultimately, I think both OCaml and Haskell have a much nicer feel than Blub, but when I need to get something done, I reach for Common Lisp before anything else.
Interesting technical question, but a bad business one.

How does swiped design/css impede your business's ability to prosper?
Good points. Reminds me of an article awhile back about why it's bad to hire smart people. Of course it's bad...if you give them the wrong job.
Study what you think you will enjoy the most. The vast majority of what you learn in college comes not from classes, but from your friends, networking, and extra-curricular activities. Education is nice, but developing as a person is the real value of going to college.

If you love to read and are naturally interested, any subject is easy to pickup and learn. I went to school for engineering, and I found business, programming, and web design all relatively easy to pick up (though easy doesn't necessarily imply that there was little time-investment involved, quite the contrary).
"If you think you can do a thing or think you can't do a thing, you're right."

Henry Ford

I guess there's a little less competition for those of us here who think we can.
Game show "The Moment of Truth" is by now on US TV, but Colombian original has set the bar high
His idea of a complex web application is completely misguided. He sees a "complex web application" as a "desktop application that runs in the browser." That's wrong, and it is no wonder why such "complex web applications" run better on the desktop.

My idea of a complex web application is one that simply cannot be done on the desktop. I'm making one and I don't even include any Javascript libraries. AJAX != Complexity.
Here's a quicksort in various languages, including OCaml, written in functional style:

http://www.storytotell.org/articles/2006/11/22/the-quicksort...
I honestly don't think there's any way to stop people from "stealing," designs like these. It happens to many designers, and it sucks, but the choices are:

- be angry, but flattered, and let it go

- sue them for copyright infringement if applicable

If you're a designer or an artist, you take that risk. Look at it this way: if your work is good enough to steal, then you're doing pretty well. If you keep working hard, maybe Apple will rip you off: http://www.engadget.com/2007/07/05/apples-little-problem-wit...
> People with lots of years in one field don't have the courage/curiosity to learn something new.

Or they may enjoy their field, or they learn new things and apply them in their field, or their field is dynamic enough that it provides new challenges, or...
۩۞۩۞
I am surprised that no one to this point has brought up the Programming Language Shootout. It compares many languages across some simple problems. (I'm not sure whether or not it would allow Arc at this point, since widespread use is a criterion for inclusion -- but there's nothing stopping someone from writing the programs for comparison.)

http://shootout.alioth.debian.org/gp4sandbox/benchmark.php?t...

Note that the shootout compares code size using gzipped size -- which should be even more generous to Lisps than PG's token count, due to the easily compressible parens. However, Lisp and Scheme actually do quite poorly by this metric, even ranking below some statically typed languages, while Python, Perl, and Ruby do particularly well. I'd love to see where Arc would rank, considering that it was designed with brevity in mind.
Password pain looks set to ease
Facebook translated into Spanish
Why is Manhunt 2 the most controversial game in history?
3 Products That Will Change 2008
I think as opposed to looking at how your hosting should be structured, you need to pay more attention to how your application is structured.

As carpal said, where are your bottlenecks? Is your app structured with one Web server talking to 1 or more replicated database servers, or multiple 'App' servers that can all take many requests or ... ?

In my (rather limited) experience the most common scaling problem for apps is database performance, so it may be in your best interest to get a host where you can change your DB config to up the (rather conservative) default resource limits. (And make sure to take a good hard look at your indexing and queries first)

If you're having RAM or CPU problems, you may just need a beefier server, and if it's bandwidth or IO then perhaps a scalable service like AWS may be a good solution.

AFAIK The key for most small growing apps is structuring so that your bottlenecks are linked to sharded databases, so that you can just throw more hardware (virtual or physical) at the problem when you hit some limit of users, possibly even on the fly.

I think i may be wrong about this now, but at least from early trials it seemed like most people using S3 and AWS were using it more for backups and backend processing/data mining, not on the fly work, due to data integrity concerns.

I'd also recommend eventually moving to a more full-featured host, once your business can sweat the $300-500/server a month fees you'll run into with a host like Rackspace.

Having great backups and the ability to get someone on the phone at 3am with no hold is essential when your server the only thing paying your bills =P.
Not that I agree with him, but what exactly can't be done on desktop? Everything you can do in a browser can be done in a desktop application because the browser is a desktop application.

You might argue that it would be easier to develop as web application, you might argue that it would lower barrier to entry because users won't need to download and install software. But please don't imply that there is some special about web applications which can't be done in a desktop application.
"There are clear reasons why this is true:"

"Here are my theses:"

Aren't these 2 statements conflicting?
Given the scenario you've mentioned, sure, it doesn't make sense at to use something like erlang. This scenario is where a job takes longer the more you split it up.

So it would be kinda like if I was a rolling a 10 meter (radius) snowball up myself and it takes me 1 hour, but if I split up the job amongst 9 other friends to get another 10m snowball, it would take each of us 1 hour instead of just 1/10 of a hour to roll up a tenth of that in volume (a 4.6m radius snowball)

But if it doesn't take longer to do 1/10th of the job if I split the job up 10 times, then erlang would be a good fit. There are problems that cater to that, and those that don't. Pick the problems that do for this technique. These are the embarrassingly parallel problems that I mentioned earlier.

So yes, just because you have multi-core, doesn't guarantee speedup. However, if the speed of a single CPU caps or slows in the future, and the number of cores increase on a chip, then us programmers have better have a good way to take advantage of that in our programs. Erlang and its actor model is one way.
Duel of the skinny laptops
Oh yes, that's Microsoft Valley where Yahoo will be moving to soon. This is roughly what Bob Cringely was predicting here:
http://news.ycombinator.com/item?id=111933
>AFAIK The key for most small growing apps is structuring so that your bottlenecks are linked to sharded databases, so that you can just throw more hardware (virtual or physical) at the problem when you hit some limit of users, possibly even on the fly.

Joshwa's link at the bottom of the page suggests just the opposite, using many cheap servers, and distributing well, so it's not only a 'program architecture' issue, but also an issue of where your data is stored and its redundancy there, in 'shards' of cheap servers.
PhD student in EE/solid-state, currently vacationing in the math department.

I started out in CS and hated it, but I still spend a lot of my time coding.

Most of my math classmates can program a little, but all the engineers I know are hopeless.
Totally pointless. All arguments. They are one and the same.
Any idea how many greasemonkey users there are?
Anyone have an idea of approximately how many greasemonkey users there are?
US Compaines going public in Canada (IPO's)
That's actually exactly what i was trying to say.

You set up your app so that you hit a limit of users (or whatever your main DB service is) and so you add another cheap slave to the pool, as opposed to having one or two super important servers that need hardware upgrades to expand.