skysight-inc/HackerNews huggingface dataset:
Javascript + HTML5 is a a pretty ideal view layer, but MS almost certainly will need to provide a higher level story like GWT to satisfy their developers and support large teams. Google has shifted entirely to GWT over hand-coded javascript for their applications. It seems unlikely that MS would have worse tooling than Google, particularly given that MS can leverage their development tools (.NET + future compiler as a service).

Is there any information on what development model MS is thinking about?
Yes! Most problems don't require you to grind away for hours on end. If I don't get anywhere within 45 minutes or so, I'll just walk away. The unconscious mind is a wonderful tool, but it needs breathing room to do its work, it seems.
Productivity and performance hacks
The Naipaul test: Can you tell an author's gender based on their writing alone?
Objective-C does have performSelector, but its awkward to use. It lacks the ability to easily add slots to objects and you often have to work with C types.

Perhaps "expressive" would be a better distinction. Javascript is a much more expressive language, meaning that I have to do a lot less work to accomplish the same end.
Hm. I should clarify. Runs of Z or S don't prevent lines, but they do guarantee that you'll always leave an eye. It is the accumulated eyes that prevent line formation and lead to a loss.
Short story: what happens if Christmas is privatized?
joeyh's git repo for this neat hack:

http://git.kitenet.net/?p=oldusenet.git;a=summary
Starting a Game
Apple store in Germany defaced with huge Windows logo | Technically Incorrect
Which is more cumbersome?

//Objective-C

#import <Foundation/Foundation.h>

@interface Order : NSObject {
NSString *id;
Customer *customer;
NSDate *timestamp;
NSString *productId;
}

@property (nonatomic, retain) NSString *id;
@property (nonatomic, retain) Customer *customer;
@property (nonatomic, retain) NSDate *timestamp;
@property (nonatomic, retain) NSString *productId;

@end

#import "Order.h"

@implementation Article

@synthesize id;
@synthesize customer;
@synthesize timestamp;
@synthesize productId;

- (void)dealloc
{
[self setId:nil];
[self setCustomer:nil];
[self setTimestamp:nil];
[self setProductId:nil];
[super dealloc];
}

//Javascript

Order = Proto.clone().newSlots("id", "customer", "timestamp", "productId");
A £15 computer sounds cool, but programming can be done in your web browser. Just write some javascript and let the whole world instantly see your creation.
Didn't Facebook trademark "facebook", "book" and I think "face", too?
People have been predicting web-based desktop development for 15 years now, and it never happens. Netscape even wanted to replace the Windows 95 shell. Apple tried to push web apps for third-party iPhone development, and people didn't want it. There are just too many advantages to native performance and development, not to mention that Javascript isn't the sanest language in the world (to be expected since it was hacked together in 10 days at Netscape).
Your friends are liars
I like cappuccino the framework but not Objective-J the language. It mostly takes the bad parts of Objective-C and puts them on top of Javascript (with the exception of "forward")
ARM is like that now (which was ironically invented by Acorn in the UK for the UK education market).
Google adsense has stopped being relevant a long time ago... Specially for technical subjects, since most tech people just blog these ads anyway.

Moreover, to be successful with Google adwords, one needs to have a lot of money to tweak the campaigns. The system created by Google is so complicated, that only spammers and big corporations have enough money to win the game.
Thumbs up for the counter feature:

"Cassandra also has distributed counters now. With counters, you can count stuff, and counting stuff rocks."
The niceness is in the Javascript, not HTML. HTML is made for text layout, not stateful UIs.
Travel and worldliness are both interesting subjects to many hackers. I'm sure that a less notable hacker moving to Singapore wouldn't attract quite so much attention, but you should notice that most of this thread isn't about Mr. Sivers: it's about Singapore.
Yeah but you only need to spend £15 on the computer to fire the web browser up on now.
Ah, sorry. I misintrepreted the information on Wikipedia about the issue

http://en.wikipedia.org/wiki/Disneyland_with_the_Death_Penal...
Yeah I really hated this post. Starts off with a flame-baiting title. Then resorts to very qualified statements to support it. After reading it I'm wondering if it matters at all and I'm feeling dumb all throughout the discussion. :-(

Update: Aarghh, it's just aggravating to read an academic stirring up the pot over some point of theoretical purity. And I love theory too. ;-)
You can run the charts through Google's closure locally
http://closure-library.googlecode.com/svn/trunk/closure/goog...

All the routines are public, there is no need to go through the API.
Allowing datasets of arbitrary size is going to make things tough. My first thought is to keep the data as .csv files on Amazon S3 or some other persistent storage network. Getting a database tuned is tough even when you know what data you have up front. Hadoop wouldn't be quite as bad but it still wouldn't be trivial.

If you do that, I would recommend looking at WEKA's arff file format. It's a really clunky file format but it captures a bunch of meta data (data types, max/min, etc) needed by many typical machine learning algorithms. You could capture that type of data as the data is being loaded, which would make later analysis easier.

After that, you'd have a situation where you can either stream the data out of the csv files or chunk the files into subsets for use in map-reduce type algorithms. I'm not sure what the performance is like when you start requesting the middle of a large file from S3, though.

As for a stats package, if you know python, I'd go with it. There are a few stats packages already out there that seem pretty good. But really, if you're just going to do basic stats like averages, st. dev, moving averages over time, etc, those are pretty trivial to implement. That might be beneficial if you have very large data sets that can't fit in memory at once and a custom way of accessing data.

I should say I haven't used a lot of the newer whiz-bang analytics setups that have been coming out, but in general my experience has been that working around the idiosyncrasies of stats packages is usually more difficult than implementing my own methods while using their code as a reference.

My final advice is to not adopt an analytics framework that has to be the top level of the program. You really need to be able to control the analytics engine programatically from your application. Stay away from systems that make you create modules or data flows inside their application, and the only way to modify them is inside a gui or a complex config file. These systems are everywhere. They are nice as a high-powered replacement for Excel but not when you are trying to develop a software application.
6) It is hard to bootstrap a company with so little money. I'm all against big funding, VCs and so forth, but $5000 to start? At least you should have enough money for all the founders to live in a decent way for the time needed to get other funds or to get customers.

As was suggested some day ago here, and as I did when I created my social web company (that had a successful exit), a good thing to do is to create an adsense based site, SEO optimized, in order to live out of adsense.
The name sounds like we will have to pay a little bit for it for 365 days a year...
> Objective-C does have performSelector, but its awkward to use. It lacks the ability to easily add slots to objects and you often have to work with C types.

-performSelector: takes a selector string, and its variants allow you to pass objects as arguments. I'm not sure why you think it involves C types or why you cite it as the feature that makes Objective-C dynamic (there's considerably more to it than that).
quora?
Flirting with Forth
One of the major gripes I had when I played around with the Google charts API is that it didn't seem to support log scales. Implement that and I'm sure you'll have won the hearts of a lot of frustrated developers. Looks great otherwise.
"Be civil. Don't say things you wouldn't say in a face to face conversation." [1] There are many places for insulting others, HN is not one of those places.

[1] http://ycombinator.com/newsguidelines.html
The functional/representational division in software - HXA7241
Assuming C++ is out of the running, the alternative to Java is basically Scala. And that's it. Maybe Go will be an alternative in the eventual future, but right now it lacks the library & tool support.

There's also nothing wrong with writing your v1 in one language and then rewriting in a different one if you need to scale. You will probably need to do this anyway, even if you start in C++ or Java, because the architecture needed to scale by an order of magnitude is usually very different from the architecture needed to iterate quickly.
It's a standard 3-clause BSD license. Commercial use and distribution is allowed.
> Usenet was a place where top talents of the world used to talk together with amateurs on the more disparate topics.

Twitter has adopted some of these functions: it allows anyone to hold open conversations on any topic (albeit limited to 140 characters); enough (important) people are on Twitter and use it with enough frequency to make this possible.
Seems to be down, anyone have a backup?

HTML/JS/CSS has been the worst UI experience I've had, I'm interested to read how this has changed. It's gotten increasingly better since jQuery was released but still feels like pulling teeth working with cross browser hacks.
In fact this explains a lot. Thanks for pointing it.
That may be a problem. That was what happened to US auto industry before it got pwned by asians.
On anonymous feedback
If they're treated like other pacifists, then why are their bibles banned?
The BBC micros were one side of the coin, perhaps the more respectable and middle-class side.

Round my way, it was Sinclair all the way, because they were cheap. The ZX81 is perhaps the archetype - they sold 1.5 million units, mainly to people who had no idea what they would do with a computer. At £69.95, it was cheap enough to be an impulse buy for most people, cheap enough that kids saved up their paper-round money.

A lot of early buyers ended up building their ZX81s from a kit (because it was £20 cheaper) and learned a lot. Even for those that bought it pre-assembled, there wasn't much to do but learn. The unexpanded ZX81 came with just 1kb of RAM and no bundled software, but it did come with a spiral-bound "Teach Yourself BASIC" book. The keyboard was covered in markings for BASIC shortcuts.

At the time, several magazines consisted of little more than printed source code, mainly for games, that you could type in yourself. These programs were invariably rubbish, but a mag was at least a quid cheaper than the cheapest of games on cassette so they sold shedloads. You'd spend an hour typing it all in and fixing all your typos, only to realise that it was a hopelessly boring game. Fiddling about with the source code was the most interesting thing to do.

The more enterprising kids realised that they could do better and earned a bit of pocket money selling programs to the magazines. The really enterprising kids knuckled down and wrote a retail-quality game, which in the mid-eighties you could do during the summer holidays. The origins of a large proportion of the British video games industry can be traced directly to a teenager, a Speccy, a blank tape and a particularly gloomy August.
Objective-C is always going to win the contest for Smalltalk-esque verbosity, but I would hardly consider the code you wrote to be cumbersome. In the modern Objective-C runtime using garbage collection, you can write this:

// Order.h
#import <Foundation/Foundation.h>

@interface Order : NSObject
@property (copy) NSString *id;
@property (retain) Customer *customer;
@property (copy) NSDate *timestamp;
@property (copy) NSString *productId;
@end

// Order.m
#import "Order.h"

@implementation Article
@synthesize id;
@synthesize customer;
@synthesize timestamp;
@synthesize productId;
@end

Apple engineers have confirmed that they're working on making @synthesize the default behavior for properties, so eventually you won't have to write that either. A real-world app would be using Core Data for its model objects, negating the need to write this class at all while adding automatic faulting, data integrity, and undo/redo:

Order *order = [NSEntityDescription insertNewObjectForEntityForName:@"Order"
inManagedObjectContext:self.managedObjectContext];
> Most lawyers will give you an initial hour at no charge.

An hour might be a bit much to ask, but 5 or 10 minutes, definitely.
It's the worst kind of theory: a theoretical point presented as a practical insight without any explanation of what the practical ramifications actually are.
Somewhat off topic, but I am reminded of a paper I had to critique a uni: "A Rational Design Process: How and Why to Fake It" [1]

The paper reasons that following a strict process is unrealistic, but that it is still worth it to "fake" a process, by presenting your system to others as though you had followed it (for example through documentation and reports that mimic the waterfall process, presented to players such as the VP and Director of Marketing in the OP).

[1] http://www.idemployee.id.tue.nl/g.w.m.rauterberg/presentatio...

The most interesting thing is that this paper was published before I was born in 1986. Even so, everyone in my class (this was about 18 months ago) was in agreement that the paper was still valid. (Though there would be the reasonable argument that we weren't able to give informed opinions having yet to experience software engineering in the real world at that point)
With modern JS frameworks you don't need to mess with cross-browser stuff at all. That's basically a solved problem.

Given that, HTML/JS/CSS is quite good. And the obvious benefit is your code will run everywhere.
But other languages give you a syntactic cue that what you're doing might be potentially expensive - it's a function call. That's why most language styleguides have a naming convention for accessors, so you can distinguish between method calls that are basically free vs. method calls that might be expensive.

In Haskell, every single token might trigger a long computation, so it's very easy to introduce something that wildly changes the performance characteristics of the program.
Product and sales first. It sounds like you spent your marketing money way too soon. Later you might have found out that your offering was not even what customers really wanted. Then you're back in the same position where you've spent everything on marketing, and have no money to make more appropriate materials.

Here's your next written business plan:

1. Build something you can show off - a product, a demonstration of your service, whatever.
2. Show it to anyone who will sit still.
3. If 2 out of 10 people are not trying to buy your stuff or hire you by the end of the demo, pick one from a,b,c below:

a) show it to different kinds of people
b) revise it and show it to more people
c) take whatever you've learned and can recycle (code, art) and go back to #1 above.
The Learning Curve of some common Text Editors
could you recomment a tutorial or blogpost or source repo demonstrating how to do this?
I dislike names with 365, 360, X, Live and so forth. Microsoft violates all of them :-/
dupe: http://news.ycombinator.com/item?id=2618160
I did not know that. Thanks for the tip. My project is more of an experiment and for personal exploration and all that. So I don't mind if it has a strong competitor.
It's probably projection on my part, then. Ha.

I've gone through this type of phase in the past. It's usually stress or lack of sleep, when it happens to me. In times when I'm happy and well-rested, I always have a background idea I dearly want to pursue.

Maybe you need to engage in creative procrastination. Find something boring you need to do for a while, then sneak time to have and work on your ideas!

Then, too, if I don't have a flagship project (so to speak, by which I mean a specific project I want to achieve) then I usually work on support structures that it would have been nice to have the last time around. Kind of a sharpening of my tools for the next job, I guess.
> Google has shifted entirely to GWT over hand-coded javascript for their applications.

Interesting. Source?

> It seems unlikely that MS would have worse tooling than Google, particularly given that MS can leverage their development tools (.NET + future compiler as a service).

It would not be hard to build a .NET to JS compiler as a parallel to GWT. In fact there are already a few such projects, one of them even a Microsoft one (Volta).

I would not be surprised to see Microsoft put some effort behind such a project. However there have been no indications so far.
So what ad system is relevant?
yes, DNF going gold is definitely a good omen, apparently Frontier are committed to getting 'The Outsider' out of the door before they can focus on Elite 4 full time though. So I'm not holding my breath...

(sounds like a really promising game though)
ref: http://frontier.co.uk/games/outsider/
i think there are 2 factors here, one being the unanimity of hacker community in regards to sony's treatment of geohotz, other hackers, and it's early adopter fan base.

secondly, there seems to be systemic incompetence all over the shoppe, so many entry points for attack, it's just a matter of time before attackers find them.

i don't generally form strong opinions on topics like these, but in this case, i will definitely be using the rays from their victory candescence to stay warm this winter.
This is how Gilad rolls.
Well you can always lie to immigration and do anything you like.
The real problen is if you do come from a visa-waiver country - it is almost impossible to get a visa, because everybody uses the waiver that if you try and get a business visa to attend a conference they think you must be upto something
Actually, 1 + 1 is 2 in Z/2Z because 0 = 2, no?
Yeah the other founder probably needed to contribute $5000 too. If he could not, that would have been your first clue that it wouldn't work.
the nice part of it is that "the whole thing is generated by XQuery. XQuery is aware of languages like XML, XHTML or HTML and can natively serialize content to any of those. (see the W3C XQuery serialization spec.)

A few more comments:
- JQuery is a different story. Besides the "Query" in the name there is no other comparison. JQuery is a set of Javascript libraries; XQuery is a XML Query Language. Moreover, both can co-exist in a web application.
- The XQuery Guestbook exaple is a proof of concept that a language like XQuery can be used "universally" from the back-end to the front-end.
- If you want to install the plug-in version of the XQIB (XQuery in the Browser) you can turn off JavaScript support in your browser.

So you might wanna dig a little more into XQuery and platforms like 28msec's Sausalito that do all the things ONLY in XQuery. You might love it. :)
Here's a good summary of trademark-infringement analysis in the U.S., from http://cyber.law.harvard.edu/metaschool/fisher/domain/tm.htm...:

-snip-

In deciding whether consumers are likely to be confused, the courts will typically look to a number of factors, including:

(1) the strength of the mark [DCT note: See http://en.wikipedia.org/wiki/Trademark_distinctiveness];

(2) the proximity of the goods;

(3) the similarity of the marks;

(4) evidence of actual confusion; [DCT note: Proof of actual confusion is not required, but can be powerful evidence of a likelihood of confusion]

(5) the similarity of marketing channels used;

(6) the degree of caution exercised by the typical purchaser [DCT note: Confusion is more likely for an impulse purchase than one in which the buyer pays careful attention to what s/he's getting];

(7) the defendant's intent. [DCT note: Willful copying of another's mark is often taken as circumstantial evidence that consumer confusion is indeed likely, otherwise presumably the copier wouldn't have bothered.]

-snip-
Their ad models seem totally different to me.

I'll advertise on facebook if I want a specific type of customer just to know I exist.

On google, I go after the customer actively looking buy something I provide.
Blast from the past: hand picking websites with the right audience for your product and advertising there with a creative tailored to the site.

BuySellAds.com helps with finding sites to advertise on directly, but most of the sites listed there are clustered around a small number of topics.
US equivalent of the ZX81:
http://en.wikipedia.org/wiki/Timex_Sinclair_1000
Check out vextab/vexflow, no need to re-invent the wheel. It's a complete (and open source) framework for music/tab notation:

http://vextab.com/
Speaking as someone who's currently building a cloud API, this makes a lot of sense.
$105m high-tech school with robotics lab sits empty
You can have a look at http://code.google.com/p/closure-library/. What I did downloaded the files and peeked through all of them. Closure has not been very popular with the community, but is currently running all google applications such as Gmail.
When I hear Twitter being compared to the golden age of Usenet, I reach for my pistol.

Nothing of real substance fits into 140 characters. Which is unfortunate, really, since Twitter is so popular these days.
Well I've used modern frameworks and it's still far from running exactly the same across all browsers and OS's - especially if you'd like to use CSS3/HTML5. It's still a major pain in the ass to do something as simple as center a div vertically on a page. I don't consider that modern.
Here are a few tips that I always find useful for any AdWords campaign I setup.

* Select Google Search only

* Geo-target to US/Canada only (or add more countries if relevant)

* Enter negative keywords for the campaign that we know aren't buyers for the product (free, hack, crack, etc)

* Bid on Exact Terms and Broad Matches separately at different prices

* Track all keywords through analytics to see what the bounce rates and PV/Visit are to see if the traffic is bad or the site is failing to convert the visitors.

Google AdWords still work well for a number of campaigns I'm managing in different vertical industries. It does take time and effort to set them up right through, it's not as easy as just throwing in some keywords and waiting for cash to roll in.
A very good point you make is those reference manuals.

I still remember being about 11 years old entering the poke commands to makes sounds on the Vic-20 from the manual supplied. [1]

Without them, it would have been impossible to get such a good incentive to do something other than insert a game and click X to start (as such.)

[1] http://www.bombjack.org/commodore/commodore/VIC-20_Personal_...
Yeah, but it's by no means just that. I was thinking of the simplest things, like messages you've read not showing up again (unless asked for), using a single key to advance to the next message, pressing a key to mark a thread read. The advanced threading and killfile features were great, of course, but the web interface is just so fantastically less convenient for basic stuff - it's unbelievable.

Imagine going to the HN front page, clicking on all the threads you're not going to follow and marking them read or killed (meaning they don't show up again), and then clicking on the threads you want brings you to the last UNREAD messages in those threads. And you press space to go the next unread message. Imagine all forums being like that.

Give me that, and I don't care if you give me a vertical or a horizontal tree display (tho' I prefer the trn way). It seems so simple that I almost can't believe I'm not missing something subtle.