skysight-inc/HackerNews huggingface dataset:
For practical purposes, I agree with the original author that there are things that can be done on the desktop that can't be done on the browser, but not the other way around. This is just a simple extension of the fact that the user has the same computer and the same internet connection, but in a browser-based app, you don't have access to all the computer's resources. Therefore, you have less overall power available and there are things that theoretically can't be done. If you have unlimited bandwidth and transfer speeds, then there is no difference.

And there's nothing you couldn't do with a desktop app, if for no other reason that you could "Greenspun" a full browser into your desktop app to include anything that theoretically couldn't be done without a browser.
Google Likely Out Of Wireless Spectrum Auction, And Happy
I've been using it a lot, and I really love it. It's the only language I've used in which I found static types to be worth it (I don't count C, as its type system is badly broken, and iss only there to counter some of the language's runtime limitations).

If your problem can be presented as advanced data structures, it's really the right tool for the job. Unless if your problem is purely functional, then maybe in Haskell would do better, but we're talking about a pretty narrow niche.

When you design an application, you can generally shift complexity from the algorithm to the structuring of data, and vice versa. It's better to put complexity into data, as they're easier to debug, and that's even much truer in OCaml.

There's one very cool feature in Haskell that ought to make it into OCaml, though: classes (which are almost unrelated to the homonym OO concept).
The funny thing to me is that he doesn't know that "desktop in a browser" functionality is not an incredibly complex thing for web apps anymore. It's a matter of having good enough client side development skills to implement it. Also, with UI frameworks like Flex, YUI-EXT, and Apache XAP abstracting all of the hard stuff away...you don't even have to be an expert.

This guy doesn't even fully understand the topic that he is ranting about.
A Radical Option For Yahoo: Out-Open Google
Syntax makes you feel safe.
Biofuels Deemed a Greenhouse Threat
The blog entry was tagged by the author as "blasphemy." It should have been tagged "idiocy."

"It’s a simple fact that complex web applications are almost impossible to create."

Maybe for the author. Aside from the stupid notion that complex == funky GUI widgets, it dismisses not only great AJAX frameworks but the Adobe Flex rich internet app building tools. Heck, with Adobe AIR you are making a desktop app that can live in a browser or the desktop. Rich text box controls? How about embedding FCKeditor, YUI's editor, or any of the other AJAX text editor components.

"And then you have to host this. Once you grow big, you will need a full time system administrator to manage all of this, the way Fog Creek and 37Signals both do."

Right. There's no overhead to creating and distributing desktop apps? You can automagically update customers' software without also managing the process?

The sad thing is I'm actually typing a rebuttal when it's clearly flamebait with an incendiary title. Must.. resist... next time.
Teaching, Playing, and Programming: Ten Years of Purely Functional Data Structures
Blogga, please.

Poster, question your presumptions. Wallowing frustration is your enemy. Things are much better than you imagine.
Photoshop has been done (perhaps not as sophisticated). Maya is hard to imagine, but stranger innovations have happened.

In any case: we're in the infancy of the inter-netter-webs. Someday schoolkids will view us the way we view the early aviators with their stiff, old-fashioned suits and their weirdo moustaches.
That is not a global variable, it is a closed-over variable, which, in terms of self-containedness, is a whole different beast. See also http://marijn.haverbeke.nl/cps/ .
You can fake tail calls with window.setTimeout(continuation, 0)
The design of social spaces
We used OCaml to build a high-performance Comet-style server. It rocked. We have individual Xeon-class machines each supporting 2K simultaneous, persistent SSL connections, and pushing about 1-1.5K transactions per second at peak. I did a talk at last year's CUFP, see http://cufp.galois.com/CUFP-2007-Report.pdf, page 13. There might be a video of my talk online somewhere in the ACM's digital library.
Screencast: RSpec and NetBeans
You'd also want to differentiate types of challenges and solutions by whether they were using base language, base lang + libraries, or anything available to language. I think its different saying I can solve a challenge with a little hacking in a language, and saying I can solve a challenge importing a nifty library then use a few DSL commands. On the other hand, if we're just trying to gauge productivity using a language, the ease of incorporating open source solutions (even written in other languages) should be important.
Interesting. I thought you were making a sly joke too.

I guess this just proves people read their biases into whatever they encounter. Like many, I thought the Arc challenge amounted to a test of how much a language was like Arc (guess what, Arc wins). So I assumed your post had to be satire.

And -- maybe the requirement of spawning a million threads doesn't seem like a cruel joke to you, but it is to anyone who has to work in a language other than Erlang.
Amen. I can't believe someone took so long to say it: a browser is for browsing. I have yet to see a web app that blew my mind, or hell, even came close to what a standard fat-client application can do easily.
Let me rephrase: what would happen if they simply said "no"?
Hey, in ISO 8601 format, it's 2008-02-08.
I guess this is as close as I'll ever get to experiencing ABCD-AB-CD (e.g. 2008-20-08).
Let me ask you, why should they say no?
They say "imitation is the sincerest form of flattery." I guess this guy disagrees.
Have you considered re-architecting to leverage the processing power of the client? Shifting where some of the computation takes place can help you get over some serious scaling problem.

Case study from past experience: imagine a nested commenting system such as this. Imagine it with 10x the data and 20x the usage. By switching from building everything on the server and sending a massive html file, one could simply request a json file on load and then build the comments dynamically on the client. An architecture shift such as this would result in a serious improvement for network bandwidth, cpu, and ram.
I like the spin on the rainy weather. I for one do get more creative and focused on code on rainy days.
http://metacircular.wordpress.com/2008/02/04/web-application...
I love OCaml. It's Lisp + syntax + type safety + speed. Lots of speed. Theoretically, I know that Lisp is a more expressive language, but I always find myself programming in OCaml anyway--perhaps just because the code is easier for me to read.

I don't know why OCaml gets so little attention (and such bitter hatred from a few people), but maybe it's because its merits are mundane: it focuses on doing things right, rather than superficial coolness (Python) or lofty idealism (Haskell, Scheme). The result is a language that's very nice to use.
Up modded both for merit and for making Greenspun a verb.
I lopped off the extra editorial remarks on the title. It didn't seem particularly snide to me.
Yeah, I am actually already doing quite a bit client side, I have no idea what got you downmodded, btw, but as far as scaling for overall bandwidth, I still can't use one server forever, no matter how the software is architected.
OCaml: I like it, a lot. It's my current Favorite Language. I took the time to learn it a few years ago, and it was very, very mind-expanding.

Having said that, there are a lot of constraints around real world use. Libraries, the ability to collaborate with other (blub) programmers, etc. I've used it exactly once in anger -- not on a learning/hobby project -- and although it was a resounding success, I had to go out of my way a bit even then to bring O'Caml to bear.

I'd highly recommend it if you're out to learn, and particularly so if you've never used a modern statically typed functional language before. It also makes sense to deliberately choose learning projects that play to the languages' strengths. I myself set out writing a L-System interpreter & functional image composer, which is good for learning because you can see your bugs...
Not to mention our steam-powered bird-o-copters. As primitive as 1980's software looks from 2008, it will look twice as primitive just 10 years from now.
That's strange given that DHH himself uses OS X. I've had no problems at all installing Rails on Linux and Windows.
Wait...

You mean to tell me Seattle/Bellvue/Bellingham aren't already a micro silicon valley? You mean the part where it's where it was originally a military defense contractor haven (much like silicon valley during the orange grove days) and now has Microsoft and Amazon along with a handful of web 2.0 and tech companies are based?

That's not considered a tech city? It's amazing someone from the east has such a firm grasp on the west.
Ask YC: Best text editor for Windows?
I'm stuck with a PC at work, and am missing TextMate. what editor should I use? Looking for something windows based (not XEmacs) for general use. Suggestions?
Skip (mt) all together -- I've used (gs) and (dv) for clients; both were complete trash. Their support department is basically a collection of KnowledgeBase articles; if you require assistance beyond those articles, they won't support you. The best thing for any web start-up is to avoid these hosting packages that rely heavily on Plesk, etc. Invest in a dedicated (non-virtual) server.
I think effectively sharing information is much harder in a desktop application. See browsers have this standard communication protocol ;) that desktop applications tend to lack.
Someone pursued my electronic puzzle idea
Here's the Hacker News discussion:

http://news.ycombinator.com/item?id=93647
I use Textpad a lot, cos its pretty simple looking, and yet has a lot of functionalities, and I open a lot of very huge xml documents in it(pretty stable), some other ex-colleagues of mine love(d) Notepad++. Some other people I know like Ultraedit, although I found it to be too complex for my liking.
I've never liked OCaml. The typesystem is too wimpy and constraining. Lack of generic arithmetic operators is particularly painful. Haskell is a much better language.
I think the article is talking about how it's moving up... But even if it's a tech city, it's still metaphorical MILES from being a Silicon Valley. You can see a list of the top Seattle Startup Sites and how they look in Alexa/Compete here:

http://seattle20.sampasite.com/blog/Seattle-Startup-Index-Ja...

Not seeing a lot of Seattle companies in the top 100 of Alexa. Or top 500. Or even top 1000.

(insert obligatory "Alexa's data is crap" comment here)
What I need is a multimedia (product description and examples), hyperlinked (for product referrals) app browsing program that will transparently download and run the apps I'm interested in. Can you greenspin this out of your desktop software?
(Notepad++)++
I remember having this argument many years back when developing handheld applications. Every customer we talked to wanted to view their app on the handheld through a browser, rather than use our fat client.

About 15 minutes of discussion put that to rest. I can dig up my bullets if anyone cares.
Link to the site? If it's a content play, 1 server at ServerBeach could last you a long time.

If it's a video sharing site, not so much.
I especially like the trick he describes to use a single magic trampoline for all vtable slots. That's clever!
Poorly-written software makes 100 million+ DTD requests/day to w3.org
I started working on an opengl game in haskell. I've got less than 1000 lines of code, but a lot of functionality.

I've found the code is easy to change. Type inference lets me swap out datatypes without changing any code. If i need to add or remove arguments, the compiler tells me everything i need to update.

I've run into two situations where i don't know what to do next. Both times, I've been able to figure out what i need, without figuring out exactly how to do it. That gave me enough of an edge to write a quickcheck test or two. Then i fooled around with various implementations until i found something that met quickcheck's requirements.

It's been very nice.

That said, i've picked up haskell 4 or 5 times, worked on something for 1-3 months, become frustrated, and quit. I feel like i'm finally proficient enough to actually solve problems.

I don't know if it's worth it. I've come to appreciate all the compiler can tell me. In CL, you can use very abstract data structure access like elt. + is overloaded to work on everything. Haskell gives typeclasses. Haskell macros are disgusting, where lisp macros are very pretty. Since haskell is lazy, a lot of the control flow macros aren't as useful.

I like haskell. I'd like it to be my default language. Lisp lets me make lisp look like they way i think, so i can write big fancy programs. Haskell frees me up from thinking about the rest of the program so i can write nice modules.
Does more screen real estate make you more productive? 
I have been using my 20" Dell LCD for 4 years now and debating if I need to upgrade or not.

What type of setups do you guys have. Does a big screen really help you design/ develop more efficiently?
was going to suggest xemacs :(
Wait, I thought I was your grandma? I'm not a Dane.
New CrunchBoard Up and Running
10 Years of Purely Functional Data Structures
Isn't that ABBC-AB-BC?
Microsoft preps seven 'critical' fixes
Larger is nicer, but I think more is better. Having 2, 19" monitors would be much better to me over one 22 inch.

Currently I use a 22" wide and a 15.4" (laptop) as a second monitor.
HTML5 seems more use in the real world to me. And getting rid of the need for flash by having built in browser support for video/audio is a great step forward.
I'm not sure I understand why my opinion is invalid. My family is in the Columbus area, I'm not entirely ignorant on the topic.

And I do obsessively love football :)
If you call mediatemple, they can help you setup a system that works exactly the way you want. The grid is a good starting point though.
Browsers... and pretty much every standard desktop API that's out there.
Don't worry about it. I waited my whole life for 2001-10-02 and my space ship never came.
Not in a recession - Blackberries selling great
InType and e are fairly TextMate-ish. The latter costs money, and the former has announced plans to set a price. They're both basic but usable, and compatible to some degree with TextMate snippets / bundles.
Why I Don't Use PowerPoint For Teaching
Some Bloomberg stories are written this way. That's how they can have five paragraphs of analysis and a couple relevant quotes three seconds after new economic data are reported. Their profiles, and articles about stories rather than numbers, are done the usual way, though.
Cream (a GVIM variant, which is a VIM variant, which is a...)
http://cream.sf.net/

you will need a day or two to get the hang of it, but once you do you won't ever want to go back. (you'll know when you start writing ":wq" in non-VI editors)
It is not a valid point. On 'Net Neutrality', Obama has sided with lobbyists from Microsoft, Google, and Yahoo instead of lobbyists from the telecoms. Which is great news, if you like voting for the guy who sits with the popular kids at the cafeteria.

I also don't understand why the Net part of Net Neutrality is important. What about Paper Neutrality, or Noise Neutrality? Should I really be allowed to write my biased opinions just because I own a piece of paper? Shouldn't there be some way to force me to express balanced opinions?

And another thing: why not be your only little net neuterer by cogently expressing the other side's views every time you advocate Net Neutrality? I think this would show that you really grasp the spirit of the law.

Obama's open data position is nice, though. If he didn't belong to an Afro-centrist religious organization that lauded a notorious anti-semite (and if he hadn't been reluctant to join the group because they weren't racialist enough) I might even consider voting for him.
ROFLputers
It's no xckd, but, enjoyable anyways. There are worse reasons to learn to program...
I'd love to see regular expressions as s-expressions in arc - not pasted on as interpreted strings.

Actually I think I have seen a library for MzScheme that does it this way.
They would be sued by their shareholders for breach of fiduciary duty.
The "eventually everything will be massively parallel" argument is not very convincing. The Be guys made this argument 15 years ago and we're only now getting to where they were back then (2/4 processor cores). Consumers aren't that excited by more cores, and developers still don't know what to do with them. So there is massive investment in advancing the status quo.

Sony thought they could impose the PS3's multiprocessing regime on game developers through market force. But developers found the programming overhead unmanageable, which led to a less-than-compelling lineup, which failed to interest consumers, which means that now developers just work on the Xbox 360 version and port to PS3.

I was offered a job porting an existing game engine to the PS3 under the gun (the game had to ship in six months) and I would not touch it with a ten-foot pole.
Scite. Scite is the one I used in windows for couple of years and kept it with me when switched to linux a year and a half ago.
Yahoo offers hosting with unlimited storage and bandwidth
Textpad can be as simple or complex as you want. I use nothing else any more.
gvim is the only thing that keeps me sane in windows. I have not tried this cream you speak of however. Just downloaded it though.
Ask YC: which subversion client do you like most
I have tried several variants recently, and don't enjoy them. I am looking for advice and the strengths of those you use.
Why DTrace Makes Leopard a Must-Have Upgrade
That /. discussion quickly found an inappropriate datatype causing an O(n) access where it should have been O(1).

Having said that, it was remarkably civil!
eeppp, I think I'll stick with gvim.
Go - read the papers.
Like all things, there is the good and the bad. The author is referring to BAD web apps that simply port desktop apps to the web.

Good web apps are ones that utilize features of web apps to enhance the application. For example

Collaborative work
Easy deployment
Being Viral
Mobility
CHEAP CHEAP CHEAP, no need to print cds.(save some trees, or petroleum)

i ran out of things for now, but i'm sure come up with more after my hot pocket.
Get The Rails Way back. it's a far better book than Agile Web Development with Rails. Also, get a good Ruby book like "Ruby For Rails" from Manning.
Yahoo's D-Day: Postponed
Nice... makes me glad I'm moving to Seattle in a few months :)
I think for most public web sites, keeping sessions in a LRU cache like memcached shouldn't be a problem, since it automatically purges the relatively inactive sessions. Assuming each session uses up 100k, which is a lot if the user is not writing a novel, you can still keep 10,000 active sessions in 1GB of memory. If you think the sessions are purged too early, you can add more ram, or more boxes, since memcached is distributed. Last I checked facebook had a 3TB memcached cluster. But ya, if the sessions are small enough you might as well pass them to the clients.
So, why did he use wordpress to write this, instead of a desktop application which outputs html pages or something?
"People writing Rails apps without tests are idiots."
Great! Thanks for the feedback.
i think the point is that the web is not an easy platform to create apps for. so, when you end up choosing to do, you should ask yourself if it really is the best place.

for data that really needs to be shared with other users, like social networks, the web is really the best place for it, and the benefits of that connectivity outweighs the complete pain of doing so.

for something like spreadsheet software, you dont want to replace Excel, you want to add features that Excel would have an incredibly difficult time matching, like sharing and collaboration.

the web is a great way to share information with other people, and apps that rely on such sharing find their way to the internet.
Ouch. I take it things don't go well in the "quest for transcendent software" that the books marketing copy references?
I now immediately want to rename my firewall the info-condom. It does, afterall, help one practice safe browsing. Even helps keep viruses out . . .
The book has excellent examples of amortization.
I also don't understand why the Net part of Net Neutrality is important. What about Paper Neutrality, or Noise Neutrality? Should I really be allowed to write my biased opinions just because I own a piece of paper? Shouldn't there be some way to force me to express balanced opinions?

"Net Neutrality" doesn't refer to journalistic objectivism.

It has to do with how packets are routed through a network: http://en.wikipedia.org/wiki/Network_neutrality
How will this affect justin.tv?
"I also don't understand why the Net part of Net Neutrality is important. What about Paper Neutrality, or Noise Neutrality? Should I really be allowed to write my biased opinions just because I own a piece of paper? Shouldn't there be some way to force me to express balanced opinions?"

This demonstrates that you have absolutely no idea what you're talking about. You're either a troll or supremely ignorant. Either way, I'm done with this.
Davis, CA is a small university town with a great feel, and is only a 90 minute from the SF Bay Area. I prefer big cities and currently live in San Francisco, but I would live in Davis if I wanted to live in a small town.
Notepad++ is a good editor built off Scite with some nice additions. I keep both installed on most of the systems I work on and would recommend you give it a shot. Other editors I work with are far to heavy for quick changes or random filetype testing.
I run several Python webapps, and I wouldn't bother with mod_python or mod_wsgi. They're bad ideas (I can go into more detail on why if anyone cares).

Instead, I proxy from my front-end server to a standalone Mongrel-like webserver that speaks WSGI. paste.httpserver and cherrypy's wsgi server are the frontrunners for this purpose. Pylons is threadsafe, and paste.httpserver is rock solid, so I'm very happy with just a single paste.httpserver instance, but I can scale easily by adding more instances if need be.
PSPad is good enough for me. PHP I use Nusphere PHPed (not free).
You don't need thread synchronization if you don't have threads. ;-)

Threads should be avoided whenever possible and only used when you have no better alternative or if there is a really good performance benefit. Multithreaded programming is easy to screw up and hard to get right, and is usually not needed.
command-line svn and Trac web interface gets the job done.

That said, I'm probably going to switch to mercurial or fossil for the next project.
Perhaps he used a desktop blogging client.
A nice explanation for someone who has not looked into Arc (me).

[0-9a-zA-Z]{10} is what, 840 quadrillion combinations? Just out of curiosity, what happens if we get a 'fnid' collision?

I expect to be serving a few hundred trillion pages in a couple of years time :-p.