skysight-inc/HackerNews huggingface dataset:
> you should write your code such that a destructor closing a resource is considered a programming error.

Not disposing your resources properly is an error. Your language should make it as easy as possible to make this impossible (or at least highly unnatural).

> The only exceptions are C++ RAII wrapper classes, which are designed to have magical destructors.

They are the (only?) correct form of resource management: automatically clean it up when you're done with it.

> C#'s using(), Python's with statement, Haskell's with* functions -- they're all designed to solve the problem that a generic garbage collector doesn't and shouldn't, which is "I need precise control over the lifetime of this resource allocation". Java doesn't have such a mechanism, but then, Java doesn't have much of anything for a supposedly high-level language.

using() is the same as try{}finally{}, which Java does have. The problem with these is that you can forget them.

The problem with garbage collection is that it seems to always come with the baked-in assumption that memory is the only resource that really matters, so handling of other resources is a bolted-on afterthought. GC impeded correctness, not because of anything fundamental, but because it is seen to substitute for proper resource management.
The irony of there being 100 books about a movement that values code over documentation.

Also, it looks like many of those books have nothing to do with agile.
"I never said anyone were drooling, barbaric apes."

Right, you just said that the leaders of Germany, Japan and the USSR made "plundering, torture, murder, and rape" a matter of official policy and everyone followed, whereas the United States took the high moral ground, and any such "plundering, torture, murder, and rape" would merit "stern disciplinary action," things like "until every murdering Jap is wiped out" notwithstanding. Go democracy!
Followed closely by " 'Fuck you?' FUCK YOU TOO"
Stephen Colebourne's "Oracle, Google and the politics of money" is also a great shed of light on this topic: http://www.jroller.com/scolebourne/entry/power_corrupts_abso...

I kinda agree with Stephen on the damage Oracle does to open source and the added uncertainty for collaborators on the open parts of java. I think Charles underemphasized this aspect.
What is the spread of third-party Android markets? Are there any that are set up to work in nations that the official app market doesn't support yet?
Increasing complexity: A day in the life of the president
Yeah, sorry for the modification in the title. I first posted this on reddit, where sensationalization of the title is a bit more commonplace.
So one of the major cake mix companies spent millions of dollars developing a no-mix no-stir cake mix product that, though a great product, ended up being a terrible failure largely because buyers of the mix felt like they weren't doing enough work.

Even though this may be an apocryphal story (I can't find a link on Google), I think it illustrates an important point about user experience. As someone who has played tabletop games, physically rolling dice was an integral part of the game because it was, to romanticize it, the closest physical analogue I was going to get to actually slaying that diamond spider. Pulling out an iPhone to roll dice doesn't have that same appeal, and in addition, you are trying to supplant a long-standing ritual that is inextricably associated with tabletop games.

This is, of course, merely a possibility to consider. Personally, I would talk to more customers, if you haven't, or even test them out at local gaming nights and see what people are reacting too. See what other products gamers and DMs need -- after all there are over 20 million of them out there for D&D alone according to Wiki, which is a big enough market to make money out of. Maybe DMs would like a way to manage characters or stats, for example. Build a brand out of related, high-quality products in the process.
Yeah, I'd love a Xobni Desktop, maybe they can make it happen. The only problem I have with Xobni now is I find myself forcing important things I want to find later through email so I can easily locate it.

If a "Dropbox" style product would also index everything I send it so I could have a search experience like I do with Xobni I'd certainly pay extra for it.
Xero? http://www.xero.com/
There is a huge difference between having to work for one particular person and having to work.

Warren Buffett once said that the ideal amount of money to leave your children is "Enough so that they can do anything, but not so much that they can do nothing." Just because you have to do something doesn't make you a slave. You have the freedom to decide what that something is.
You're always working for someone else; that's why they pay you. The difference between employment and entrepreneurship is whether you're working for one person or for many people.
I agree completely. If they saw opportunity, I'm sure ebay could clean up in this space.
Python. Do not do the official guide. Do not read the documentation. Do something that forces you to program examples of increasing difficulty.

In short, do this course: http://cs.northwestern.edu/~akuzma/classes/EECS110-s10/index...

All the labs and assignments are online. You get to make maze solvers, generate fractals, implement Conway's Game of Life, lots of genuinely fun stuff. Just work through it and tell yourself you are doing it for fun not for work. You'll be done before you know it. Good luck!
I like a man who spouts off about how great it is to use software builds that are (gasp!) an hour old! That's so 1337 dude! Welcome to the world of open source, douche bag.

I appreciate that I probably shouldn't be nagging on the guy who built Mathematica. But seriously? webMathematica? yawn.
Facebook - Live from Headquarters.
But still, without that extra level of indirection of employer/manager between you and the market, the terms are not distorted and you have the freedom to interpret it in whichever way you want to. Of course, the consequences as well.

I prefer market being my immediate boss than anyone else.
For a short time, yeah. But when you have a long-lasting change in life circumstance, as I did, your savings cushion suddenly changes dramatically for the worse. A cutback in the 2008 financial crisis cost me a few months of paychecks.

The result? A decade ago I had your attitude. I now have a very different view of the world.
The headline is a little sensationalist but the writer himself works fulltime, so I think its clear that he's not saying that you should never work for anyone.
A keylogger, recording all keystrokes.
How do you down-vote around here?
Seriously, it doesn't really matter where you start. I don't want to be pessimist, but you've got so many things to learn that the important here is not where you start but the determination that you will put in to continue working days after days.

That said, I suggest you start with something fun because it will motivate you. Example of that might be a simple dynamic website (using php, python, ruby, or whatever else you might like).. Also fun is creating a small game (Using some excellent libraries for beginners).

You told us what you knew about programming, but you didn't tell what was your strength in other fields in life. Again, I suggest you start coding something related to other fields you're pretty good.

To give you a personal example, I first built a website about dragon ball because that's what I liked when I was younger ;-) Also, I made some chat robots because I pretty much liked IRC. That was my really first projects. (Done with pure html and mIRCscripts! The real important thing is to start somewhere.. once you create something, it motivates you to learn more and more. For instance, I switched from mircscripts to C++, then learn a dozen of languages for fun and now, I live from that :) However, it might never have happened if it wasn't about those dragon ball web pages that I had so much fun building.
"trying to edge my way into point of sale restaurant software/hardware"

Having ventured into this realm, Just Say No. Or, at least don't think about the problem like, "Restaurants pay much too much for POS systems...I could build something cheaper and better." Contact me if you want to know more or would like an intro to some people in that space.

Having said this, here's what I want.....

I just bought what is, at least for me, a kick ass USB microphone from M-Audio for $60. Even as the world has become more accepting of telecommuting, the conference call still sucks from an audio standpoint. Skype seems optimized for modems. [Still true?] POTS lines are, of course, awful. Instead of compressing my voice from a cheap microphone into a 2Kbit upstream, what if my voice was recorded with a good microphone and sent upstream at, say 64Kbit? What sort of set-up should I have so that I can collaborate with someone and have the same audio efficiency (meaning, I don't have to expend brain cycles on a bad S/N ratio) as being in the same room?

On a much broader scale, I think that there are huge opportunities for companies who can produce better A/V collaboration tools, and I think that audio is much more important than video from an efficiency of human interaction standpoint. I'd be willing to spend my day in studio headphones and speaking into a mic -- much like a radio DJ -- if it meant I could have effortless conversations.
I loved the "interview" and also the website. I have always wondered what the great people use on a daily basis.

But it could use some sane URL organization. Sub domains are horrible for quick "select and erase/replace" actions, though I understand the final result is quite beautiful.
"shook me to the core"

Any other worn hollywood cliches happen to you while you were vacationing there?

"When people stop being individuals and give themselves over to a collective, all hell and madness breaks loose."

I bet you were really angry at healthcare reform.

This is why I love trolling HN political topics. Your responses are so predictable and thoughtless. Reagan zombie really is the right description. It has nothing to do with what happened or didn't happen in history - it's the way people like you interpret everything through your own narcissism and then filter it out through the viewpoints of some idiotic popular news cliches to support ideas you don't even care about to make yourself feel good for "standing up for justice."
Needs a laser drawing tool (think laser light show) to be even remotely useful, not just a pointer, else how do you describe something they haven't seen?

"No, the $circle_7 goes below the $resistor_3_12, inscribed in $heptagon_3, like in a fronkit. What? Never seen one? Oh hell..."

Until then, good luck designing anything collaboratively. I like the hat-like look to the top, though. Personality without uncanny valley, and still highly functional in design; perfect for something like this.
Sure it can, my team is working on a process automation which involves replacing manual SAP form filling with a some virtual machines doing it 24/7.

Currently some person receives an Excel file and alt+tabs frantically to SAP, taking ~9 minutes to fill its several forms. We'll replace this "process" with a XML file and a bot, which does everything in ~1 minute.

It's easier, cheaper, faster and less riskier than asking SAP to have some type of API or access to its DB.

Welcome to enterprise IT :)
Python. Its easy to learn, powerful, mature, has lots of people willing to help you and has bindings to almost anything you can think of.
If you do start with Python I found Zed Shaw's Learn Python The Hard Way to be incredibly helpful when I first started learning to code some months ago.

http://learnpythonthehardway.org/
So the implementation is excessively long, temporary, and to be changed to something more standards compliant at a later date. Seems like the definition of "ugly hack" to me.

The idea is that until the standard goes final and the implementation has been checked against it, you can't know that the implementation is correct or even that the syntax for the feature will be the same in the final version. So rather than yank the rug out from under people later on, you use a vendor prefix until the standard is finalized and the implementation's checked out. Then people can drop the vendor prefix.

I'm talking about a browser whose public releases support more "pure CSS3" than both Gecko and WebKit.

And... well, Opera's doing it wrong. CSS3 is not finalized. CSS3 may go final with subtle or even significant differences from the current spec. And then anyone who relied on Opera's implementation and patted themselves on the back for being so ahead of the game will instead be up a creek.
It is just as big a problem or perhaps even bigger that hardly any countries are allowed to sell apps. It means there are millions of developers with no option to put a price on their apps. So what do they do? they make free apps that compete with the paid apps. The free apps aren't always as good as the paid ones but they still bite into their revenue because for some reason people will irrationally put up with a lot of crappiness to save 99c. And they'll conclude that apps on Android are crap at the same time, hurting the Android brand which hurts all the paid app developers all over again.

The result is the quality of apps is poor and profits are lower across the board.
He once said that he records all of his own keystrokes(Sorry don't have the link). You need to remember he is a very unusual person.
Wolfram seems to keep a searchable index of all his keystrokes.

From the 12 December 2009 issue of New Scientist:

"I'm an information pack rat," he [Stephen Wolfram] confesses. Recording our interview is just the tip of his peculiar obsession with documenting every moment of his life. "I have a keystroke logger that has collected my every keystroke for the last 22 years," he says. "Every day I get an email that tells me how many keystrokes I typed the previous day into each application. I find it slightly interesting." He shrugs off my suggestion that it's a way of securing his immortality; he believes that soon everyone will be doing it.
I'll be "that guy" and say start with JavaScript/HTML5 plus a NoSQL database system like CouchDB.

The reason is, this combination (like it or not) has a very good chance of completely taking over a wide spectrum of applications within a couple years (web, mobile, tablet, server, and desktop). Java and especially Ruby might be trendy now, but I am starting to believe the days of mega-sized application layers are numbered. JavaScript + HTML5 + touchscreen stuff on the iPad is already hot, and not to mention really fun to play with and learn.
- kickstarter

- soundcloud

- NYTimes for election results

- funny or die

- goodreads

- crunchbase
It was always a strange company, driving more by marketing than by product. I dislike these type of companies that fall into the vulture grasps of people looking for a massive exit. It's just another form of speculation - with the value being created just a side-effect of the financial games.
Wondering what you mean by "license to BigTable".

BigTable is using GFS, so it will not be much use to Oracle without GFS. Also, since Google nicely described some of the major ideas behind BigTable in a paper, there are few Open-Source implementations of it.
I expect that like many database systems - getting a license is easier than building and maintaining a stable system :)
good to hear; my apologies for the negative note. contextually, far too many people consider a liberal arts education irrelevant and we are producing generations without a grounded understanding of critical or contextual thinking-- or an appreciation for beauty. easier to get that studying Spenser than code, I'd argue.
I agree with him. Names are old ways of referring to people - in my opinion, a name is just a brand, and you should use several names to represent different things, and avoid the confusing overlap.
I think the better question is "Are they really selling any of those high-end plans". I would guess very few people/companies actually buy those, but I don't know. Anyone have any info on this?
You gain the privilege after you've accumulated enough 'up' votes for comments and submissions. The exact number changes over time due to inflation.
Until you have a certain amount of karma, you cannot down-vote. When you have enough karma, you'll see down-vote arrows below the up-vote arrows.
If you're looking to do a web startup, ditch your Windows computer. Get a Mac or a Linux machine.
The Savory Collection: jazz treasure, restorers nightmare, copyright minefiled.
Indeed; for all we know, our wheels are oblong if not triangular. Without reinventing the wheel sometimes, you'd never come up with stuff like this: http://en.wikipedia.org/wiki/Mecanum_wheel
If Facebook really have 500 million users and if the guy who scraped all the publicly searchable profiles (171m) really got them all then a staggering 329 million people care.
Citeseer is free. :)
Yes, TDD is like drugs. Pretty soon you're doing it just for the hit and not to support your business goals... ;)
What's interesting to those who often ask "what does this have to do with HN?" is that these are 70+ year old recordings, some on acetate and aluminum that need to be painstakingly digitally restored. Also, the ugly copyright monster rears its head towards the end.
It's kind of disappointing that the gigaom article summarizing the article is higher ranked than this.
I went directly to your site from the link, without reading your post in its entirety and couldn't see the use of this until I read your post and the comments...

I think you need to take the time to explain who would use this and why on your front page a lot better from the beginning. I also don't think the diagrams are descriptive enough, for example I didn't really understand how exactly steps 2 and 3 worked until I read your post in detail.

So in closing ... market this more explicitly to devs/graphic designers/lawyers etc (folks who need to get files from non-technical people) and do a better job of explaining exactly how the product works and it could turn into a nice stream of passive income.

PS: An idea would be to allow your subscribers brand the upload page with their logo and colors then use their domain/subdomain names for it. This would make their clients even more comfortable with uploading sensitive information.
Blizzard Wins $88 Million Suit Against World of Warcraft Private Server Owner
Web Design Los Angeles California Web Design Company | Businessentials
Los Angeles California Website Design |Premium Custom Website Design and Development - Located in Los Angeles, California
How do the Java and C versions compare to the ML version? I have (and really like!) that one, but Appel's an ML hacker, and I'd be surprised if it translated 100% to C / Java.
A lot of it really is just that, though as you get complicated interactions and a mess of "if this, then do this, otherwise first look this up then do that based on what you find", it starts to look a little more like expert-system-style AI, which is fairly involved (how do you capture that knowledge from experts, how do you encode it, how do you check for errors or unexpected situations, how can you update/maintain the process knowledge, etc.?).

For example, here's IBM's heavyweight entry: http://www-01.ibm.com/software/integration/wps/
Imagine an early version of a web app. An experiment. It's pre-product-market fit, even pre-problem-solution fit. Things are going to change...a lot. For example, you decided to rename "widgets" "fooblats". You have to change all of your tests that referred to widgets. This doesn't mean you have brittle tests; it means that what was being tested has changed.

This early in the game a good testing strategy may be to write no tests. It all depends.
Like this one at the kernel level http://code.google.com/p/logkext/
Interesting how Wikileaks isn't on the list, considering the attention it's received lately.
Depending on who you are, wanting more money may not imply you have a plan.
I don't have anything to add to what the other posters have pointed out already, but holy crap this sounds like the worse deal ever.
Why not? There's an entire industry built on using humans instead of doing said scripting. What do you think a 'temp' does?
Can Australian businesses benefit from geo-location services like foursquare?
So is "posting the obligatory xkcd comic". So is posting "[citation needed]" or reminding people that "correlation does not imply causation" like a goddamned robot.

That doesn't mean you have to do it.
Big surprise: it's a Python app. Yet more proof that the Python web development community is filled to the brim with trolls. Stuff like this is why I completely stopped contributing to open source Python projects after nearly 10 years.
Why does that seem unlikely? That's 500k copies, which is a reasonably high bar, but not at all hard to imagine.
ITechRefs: Technical Blog for IT Professionals
The "With" style construct is the correct way to handle this. Embedding resources like file-descriptors in objects is a Bad Idea.

Python has added the "with" construct so it can move away from ref-counted implementations, because the amortized time for refcounting is slower, and even if you don't care about that, there is still the circular reference problem.

[edit]
I should make it clear I think tying an FDs lifetime to that of an object is a Bad Idea; I'm not suggesting a blanket ban on ever having a FD stored in an object.
Arguably, the right way of doing it is to use both. PKI to auth first connect, remember the chain to prevent bad CAs from giving certs people pretending to be BoA.
By Popular Demand: Amazon RDS Reserved DB Instances
Amazon RDS: MySQL Upgrade and DB Engine Version Management
XBOX Live on Windows Phone 7 Preview
Conventional Paint Problems | Home Improvement & Health Care
Have you read Appel's _Compiling with Continuations_?
In other words, open source developers partially enriched Oracle as a glorified consultancy to the point where the company could buy Sun and its patents for aggressive litigation against an open source project?
I don't agree with what I will say but: If you like so much writing code, you could, well, write code instead of tests.

Programming example:

while true:

write tests

write code

run tests

vs

while true:

write code

write code

write code

Oh, you can also optimized that code with:

while true

write code.

or (while true (write code))

Ok, I think I like writing code, not tests.

(Oh, and btw, how do you test, (while true (write code)) ? )
I never said anything about a moral high ground, and I've done the best I can to acknowledge that the US and UK committed their share of atrocities as well. I was speaking only about the matter of how various powers treated POW's and occupied countries. If you don't think the Western Allies treated Germany better than the Soviets did, just ask an East German.

There's value in illustrating the various evils and atrocities of any civilization--I can probably name just as many American and British atrocities as you can, beginning with the treatment of my own ancestors. This doesn't extend to whitewashing the truth about other civilizations' atrocities. I was making a strategic argument about not mistreating those who surrender to you; you're trying to make some argument that Hitler and Stalin were nice guys who never at all mistreated people in occupied countries. Respectfully, I don't think I'm the one with a nationalistic axe to grind here.
You're exactly correct, it's a good point. We should be watching what happens now - if the failures are allowed to happen, and the pre-built assets can be had at the market clearing rate - then growth in the future should be assured.
Can you expand on why closures are the greatest thing ever? I've heard this from a few places, but I've only run into a handful of real-life situations where they were the perfect solution to a problem I was having. And even then, they weren't solving an otherwise-difficult problem; they were just saving me some lines of code. I feel like I might be missing something.