skysight-inc/HackerNews huggingface dataset:
The Programming Cow
Java doesn't require you to define getFoo() and setFoo().
Some best practice advice suggests you do. But you can leave the vars public and just use the . operator, if you choose.

It seems like Java wasn't defined in order to be an efficient for a three-person shop to hack in. It was meant to be efficient for a 40 person shop to build code as a team that they can maintain.

That said, I dread going back to my Java projects and updating them, even though I tried to maintain best practices in order that updating be as simple as possible. I've been immersed in php and javascript lately, so we'll see what it's like to go back.
I started off hating Python as well. I could not stand a language that didn't terminate statements without semicolons! :) And python just seemed a lot like Perl; when using both languages for large projects my code just seemed to degenerate to "hacky."

But I've grown to like the simplicity of Python. One thing I don't like is its threads implementation, however. Because of the GIL, multithreading (GUI + background thread) just doesn't work right. Maybe I'm using it wrong?
Seems to me the promise here isn't just "I'll build you a great app" but "I'll get your app in the Apple Store" (hence mentions of the author's positive record and connections with Apple) - in essence, it's a combination of a lobbyist/developer, and lobbyists do charge $1000/hr.

Apple has an approval process reminiscent of a third world beaurocracy, decisions are unpredictable, timelines unknown and the entire process is completely opaque to the outsider. Around such systems you often find people with good connections offering their services in ensuring proper treatment, for a handsome fee.
Resizing a PDF doc from A4 to Letter with Javascript
Can they do real time? They sound like a batch oriented system, and the financial fraud market is all about real time.
The feature of being able to describe test data sets, and then generate what really comes down to SQL is really neat. And it looks like they offer SQL exporting.

However, if you are generating test data for an application you've created - this really only comes in hand if you are lazy. I only say that because to really harness the (limited) power, it requires a "donation" of $20. Not that supporting the cause is bad or any of that jazz - I get it. But if I'm giving someone 20 dollars for it, it better be more than stub data, and don't limit me to 5000 records at a time either.

I'm not trivializing this tool - but for something that could be hacked in IRB in 10 minutes there has to be a more compelling reason to do it this way.
Xtext: An IDE on the cheap
Because the environment that thing is designed to regen is the development environment. That's not the environment you want to give to your users. This isn't so big a deal with things like web application servers, but it is very much a big deal with desktop applications.

It used to be, the way you deploy environments involved stripping out the parts you didn't need for your application. This is doable, but it is a pain, and if you do it wrong, your app blows up sometime when you don't expect. ObjectStudio Smalltalk can bootstrap itself from source files, so you can avoid stripping. VisualWorks tries to build itself up from components (Parcels) on a base image as a deployment strategy. These are less painful than stripping, but your app still blows up if you do them wrong.

Combine that with some vendors not being all that concerned about testing deployment, and you have a potential mess.

Image-based deployment done right - have two images. Your devlopment tools go in the second image. To deploy, you simply leave out the 2nd one.
The point is, I've never met a programmer who doesn't think of indentation. I've never seen a (real) project which doesn't have indentation. So if everyone is doing it anyway, why not take advantage of it and make it a part of the language? This way programmers learn to use indentation from the start (which any real programmer uses anyway), and indentation is always correct, nothing to ever think about.
Thing is they just pissed off a corporate woman who owns a blackberry.
You don't have to like Python. I don't.

Of course, I don't have any pretentions of being a "good person" either.
Sent you an email. Looking forward to talking with you!
Um, vimdiff is a command line tool... I run it in my terminals all the time...
I indent my Perl code. Not everyone does, however. It's a trivial task to reformat it in an editor.

But in Python, you don't even have to worry about other people not indenting their code!

I guess the only complaint I might have is why bother thinking about indentation, ever? Throw in a couple of {} and now the tools can provide additional help.

When you edit Python, the tools can already help as much. The start of a block is obvious (def, if, for, etc), so tools indent for you. To dedent, just hit the right key (e.g. a backspace on an empty line in emacs) -- no harder than hitting the brace key.
http://cappuccino.org/ and some python on the backend for REST interaction.

Or GWT, just like GMail.
On the contrary, it has had decorators since Python 2.4.
Where to work remotely for three months?
I work as a researcher at a university, and a large portion of my job is done solely via a computer. I've managed to convince my boss to give me three months to work remotely from wherever I like, early next year - all I will need is an internet connection.

I'm looking for suggestions as to where I can go to work. I'll need to keep a place in Scotland to come back to - so cheap living costs in addition to excellent quality internet access are essential. I've no problem with languages; I've lived in countries where I don't speak the language before. I'm 27, fit and healthy with no other particular requirements. The trip should not cost more than £4k, including flights. Where should I go? I've already lived in Japan, Germany, France and Switzerland, for reference.
If you'd like to read a three-book thought experiment in this direction read Kim Stanley Robinson's Mars trilogy.
Kim Stanley Robinson's Mars trilogy [1] explores the colonisation of Mars and the political and societal issues that come from that.

Well worth a read if you haven't already.

[1] http://en.wikipedia.org/wiki/Mars_trilogy
What is with developers naming their projects newsomething?

Django had newforms, Java had nio and Guido van Rossum just posted about the multiple inheritence method resolution order (MRO) which had a python 2.2 new-style and python 2.3 new-style. I could probably come up with a huge list of newwhatever projects.

It's such a lazy, uninformative, short-sighted way of naming your work.
Dumb question: What is DF?
Yup. The more TLDs there are, the more you have to buy. Perhaps that it the silly thing about domain names. The meat of the domain is the domainname not the tld;. When I have explained to non-techies why they should buy the yourname.org yourname.com etc. they find it complicated.

Perhaps I should be able to just buy yourname and all the tlds associated with it.
My friend milktrader has, here's a post from his blog:

http://www.milktrader.net/2010/01/programming-custom-backtes...

@sorenmacbeth uses it also for portfolio management, and there was some conference in chicago a few months ago.
I recall someone from the PyPy project asking if anyone would be interested in a tutorial on how to write a language using PyPy. Whatever happened to that?
I know it's extremely geeky, but in my journal I use the number of days since I was born as a kind of "stardate". For example today (for me) is day 10872. I'm 29, it's been a little over ten thousand days since I was born, and I figure I've got at least another ten thousand or so barring some unforeseen accident or illness.

Seemed kind of pointless to do this at first, but this "numbering convention" stuck with me because it lets me keep in my mind the idea that I _do_ have a limited number of days left on this earth -- and I'd better make the most of them!
Offtopic: I must get myself checked by a doctor for this but I read your title like Help. Wife. Cancer.
Maybe, but there is such a thing as truly bad code.
Thecopypasteblog.com New Features, Updates And Announcements
You are not doing C, you are not doing C++, you are not doing Java.

This is the best tip that could be given. In the SICP course in Berkeley CS class, the instructor puts it as

"Don't ask me what the language will do if you do something stupid, the answer will always be either you would get an error or the computer will do something stupid. Don't try to convert java code into LISP, try to think in the language."
Campervan hire Perth
I learned about this cultural drive to entrepreneurship when I met a Chinese girl a few months ago.

Her parents own a Chinese restaurant in Paris, but she wanted to work in finance: she went to a good Business School, and was interning in a well-known french bank. While working in finance is considered by many to be a prestigious job, her family is not very supportive of her choice to become a salaried employee.

She told me, that for chinese immigrants, you were deemed successful when you had your own venture, such as a restaurant or a bar. The most respected immigrants run Import companies. Those who take salaried jobs are seen badly.
I proofread the book. I guess I should have proof read the blog post.
Except verifying termination with a bound in the seconds of computation can be done in O(n), where n is the maximum number of seconds allowed (you can see that trivially by just waiting n seconds and killing the program if it doesn't terminate). On the other hand, if you try to limit a program's memory usage, it can take up to O(2^n) time to detect that a program with budget of n bits terminates (it might seem easier than that, but the program can go into an infinite loop without overflowing memory, like "while (1) {}"). You must consider that such a program can never have more than one state for each possible configuration of its allowed memory space (which is 2^n) and you can tell that it is in and infinite loop only when it repeats a previously used state. To do that correctly, then, takes a long time.

Incidentally, this is why PSPACE (the class of decision problem decidable in a turing machine with polynomially limited space) seems a lot more powerful than P (the set of decision problems decidable using a polynomial amount of time).
Ask HN: Has anyone built a Bada (Samsung) app?
If so, what are your thoughts on the sdk?
I remember thinking how great AJAX SSH clients like those used by Slicehost were.

This sort of thing will be great, particularly with my OS X and Windows servers!
Mahhala - Fluent Ribbon Control Suite
They've got a much nicer selection of fonts since the last time I looked. Well done!
More Than One Million Web Sites are Using Facebook’s Platform
Mexico City's proper name in Spanish is Mexico Distrito Federal. It is sometimes abbreviated Mexico DF, rather like Washington DC.
Gmail.

I use gmail and have my address all over the web in easily crawlable text and get less than 10 spam emails a year ending up in my inbox.
He has a couple of interesting ideas, but the books are really badly written. He suffers from "hero inflation". Shortly after arriving on Mars his characters quite literally cure cancer and devise an political-economic system that works and that everyone agrees is completely fair. This is inbetween partying, taking drugs and getting laid non-stop. Which is fine, but it's barely even sci-fi, is there such a thing as the "space'n'shopping" genre?

Heinlein does it much better.
the author should have talked to Gemstone before writing that blog post.
ESR's "How to become a Hacker" guide lists:
"Has a well-established member of the hacker community ever called you a hacker?" as a requirement. I guess that's what you were thinking of.

http://catb.org/esr/faqs/hacker-howto.html#hacker_already
The main reason I like having explicit braces and non-significant whitespace is that it allows me to use my whitespace flexibly to clarify the structure of a program.

There are some interesting ideas regarding the use of whitespace in C here:

http://www.quinapalus.com/coding.html

I don't agree with everything he has to say- for example, I think his nested for loop example would be far nicer as something like this:

for(i=0;i<10;i++) {
for(j=0;j<10;j++) {
for(k=0;k<10;k++) {
printf("%d %d %d\n",i,j,k);
}
}
}

(Not to mention more in keeping with the principle of "alignment".) Still, if nonstandard indentation can make it easier to see the patterns in your code, it benefits both development and maintenance.
IOS 4 Mail.app Fail
In one of John Taylor Gatto's books he brings up that Ivy League schools base part of their admissions process on the attractiveness of the applicant because they want to project a certain image. I'm not sure if this is true or not, and I can't find a citation, but it was in Weapons of Mass Instruction [1] I believe, but possibly Dumbing Us Down [2]. It was in his letter to his niece at the end of Weapons, if I recall correctly. I have also been told by a friend that is going to graduate school to an Ivy that it was part of the admissions process, though I'm not sure how she knew this (I believe told by a previous graduate).

[1] http://www.amazon.com/Weapons-Mass-Instruction-Schoolteacher...
[2] http://www.amazon.com/Dumbing-Down-Curriculum-Compulsory-Sch...
Political autonomy is fine, but remember this is not going to be like colonization on Earth where an ordinary citizen could actually just buy passage on a boat to America themselves. Getting the "chosen few" to Mars is going to require that ordinary taxpayers, who will never get to go themselves, make sacrifices. Is it worth it? Well I personally think it is, but that's up to the voters. However for the colonists to then turn around and say "screw you, suckers" is unreasonable.
As Buzz points out, one of the biggest problem with the current space plans is the "we'll go there, and be back in time for tea" attitude. I.e. the requirement that anyone going to the Moon, Mars etc. be able to return.

We should be aiming for colonizing space with one-way trips and subsequent supply drops. The colonies should aim to become as self-sustainable as possible using robotic factories to mine and produce what they need on-location.
Today's entrepreneurs need global connections - United States
I was with you until the last sentence. Talk about hero inflation.
clj is much more like Ruby gems or easy_install. You get your packages installed into a global place. You don't need to define a per-project project.clj to start hacking, which is a friendlier behavior for people just getting started with Clojure.
My use of the word "Sultry" will go down as possibly one of the worst uses.

You (Peter Gadjokov, me thinks) and your HN persona are now forever attributed to petty point outs and hopeful karma bait.

Congrats to that.
Desktop monitor resolution is still at ~100dpi because no desktop OS has solved the scalable UI problem satisfactorily. The OSes have some attempts at support for UI scaling, but none works well enough to run all of the popular software decently at 200dpi.

Contrast that with iOS. I only have a handful of non-built-in apps, but they all work perfectly on my iPhone 4, none look worse, and all but the graphics-intensive games look better. I haven't seen any reports yet of software that doesn't scale properly on the iPhone 4.

Apple's tight control of the iOS software marketplace may be a key factor in this success. They may have privately checked a large amount of the software submitted to the app store, and rejected apps which failed to scale properly.
On all my websites I just use a contact form that sends me an email directly so my email address is never displayed.
I would suggest that a company look at their web analytical and make that decision. I know that for most of my clients their trends show less than 1% for JavaScript disabled.

If you do take this approach, remember to be a good scientist by making sure you respect the control aspect of the scientific method. Specifically, if you already require JavaScript for your site, you should not even venture to extrapolate an answer, even if you think you're going about it in a reasonable way.

I recently had a conversation (although it was less like a conversation and more like a few frustrated, snarky comments from me) with a developer who claimed that 99% of his users browsed his page with at least 1024 pixels. Even ignoring for the moment the issue of screen width not being the same as the size of the browser window on the screen, I asked why he would expect otherwise from users of a web site which required that kind of width before it begins to invoke frustrating things like horizontal scrolling.
I'm considering doing something similar probably for 12-24 months though.

Personally thining South America, maybe Mexico or Argentina. Cheap living costs, nice countries, relaxed lifestyle... :)
Since my app is meta-data driven, it was easier for me to implement an "Add Record with random values" for my testing. Exposed it for public users and I have see it being used a lot.

In action (animated gif, 186 KB) : http://crm.ifreetools.com/static/images/blog/generating-rand...
The Right Way for a long time was to run multiple processes. If you absolutely needed threads, then the Other Way That Is Less Correct involved launching threads written in C from a C extension

The Python community seems to be warming to the importance of threads. There are several efforts breaking their swords against the GIL nowadays (Unladen Swallow being the most prominent), and Antoine Pitrou wrote a new GIL to help improve contention [1]. With any luck, by the end of the Python Feature Freeze, there will be some significant headway towards efficient handling of threads within Python, but I'm not holding my breath yet ;)

[1] http://www.dabeaz.com/python/NewGIL.pdf
Or call in sick to go to a baseball game. Can't really blame the prosecution for using a law on the books.
This was never more than a minor delaying tactic: spammers have been capable of running JS for a long time (harvesters embedding IE via ActiveX have been around for at least a decade) but there hasn't been much pressure to do this since they still got billions of addresses which weren't obfuscated or were obtained by other means.

I'll also note that I've never obfuscated my email address (chris@improbable.org) and spam arrived in roughly equal volumes there and to less public addresses which were guessable (except for test accounts created with MD5 hashes[1]). People do harvest addresses from web pages but there are enough other ways spammers get addresses that you need a robust filter in any case; once you have something like SpamAssassin or Google's filters, the value of keeping your address private disappears.

[1] That also yielded the interesting datapoint that hotmail used to sell addresses to spammers in early last decade as the first spam arrived within 20 minutes to a long, random address created with the "don't publish my info" option.
Would it not be better this way:

for (i = 0; i < 1000; i++)

printf ("%d %d %d\n", i / 100, (i % 100) / 10, i % 10);

IMHO, such patterns (multiple nesting with empty outer loops), in most cases, are really an indication of just one real loop. Using multiple counters might also be an option.

In case the loops are doing something different, they should be indented separately. For instance, the following makes little sense:

for (i = 0; i < 10; i++) {

foo (i);

for (j = 0; j < 10; j++) {

foo (i + j);

for (k = 0; k < 10; k++) {

foo (i + j + k);

}

}

}
Not sure it was just that easy for anyone to hop on a European ship back in the day and setup a new country.

He is talking decades after the first humans arrive. By that time commercial flights and colonization to mars may be possible.
Can Meena Build An Indian Google?
I would second the Argentina suggestion.
Find Some truly Interesting Discussion Topics for Your Essay
A discussion essay is an essay which provides your personal critical opinion written in an informative manner. The process of writing this essay is a challenging task. However, the right discussion topic will make it easier to write the essay.
If it's a "self" post (has no domain name after the link indicating an external link) and it's a question, who else would he be asking?
In Hong Kong, we don't even have the option to BUY apps in Android Market.
I think the header-file and source-file distinction was more of an architectural decision (so that you could implement an efficient compiling and linking system) than a language design decision.

Just an opinion, though.
Tilted Twister
I think it's perfectly acceptable for web applications like Google Docs, where usable non-JS alternative is just not feasible.

However I think it's not acceptable for ordinary web pages. You don't need JS to show text, images and links.

If you use progressive enhancement it's easy to have basic non-JS version working, and you don't have to sacrifice any features for JS users.
I don't know. All of the demonstrations I've ever seen have been forensic (after the fact) investigations. They spent a bit of time at the last conference trying to build a case for why their government product would be a great network security tool, but I never saw or heard anything that would indicate it could be used as a real-time tool.

Their focus recently seems to be on scale, lots of spin on how they can cluster and use billions of records on commodity hardware, link together installs at different sites, etc. etc. They did a demonstration of and investigation into the housing crash by analyzing millions of mortgage applications, then built aggregate bar charts and heat maps they could drill into a bit. It was "ok".

I think if they are serious about penetrating the network security market, they'll need all new technology that can be used in real time. But they seem to already be well regarded in financial fraud as a post event investigation tool.
If anything, this particular comment is to show that C and C++ are quite different although they have quite a bit in common.
Competition is overrated
Java certainly was not designed to be this "enterprise language" it is now. It only was similar enough to Smalltalk to replace it. (and Smalltalk has this culture of "if it is repetitive then extend IDE to automate it", which to some extent influenced Java IDEs)
You don't, because auto indent for python doesn't and can't exist.
As I understand it OCaml is in heavy use at a number of shops in the financial industry. I wouldn't say it was dying just yet. On the other hand F# is a new and as compared to OCaml untried and untested language.
Choose to Make Work Great in Your Startup
Whereas Java has underlying it more Java,

Is it' Java all the way down? No. All virtual machines and runtimes are wrappers over the OS's abilities. How is Java different here?
I hate to get all meta, but as of this writing the parent comment has -2 points. I understand that comments that just say "Interesting :)" are frowned upon on HN because they add no information. However, in this case the commenter is the OP. He's expressing thanks for a lengthy, informative response.

"Thanks for responding, that's an interesting perspective" is not a class of comment that deserves downvotes. It's completely appropriate.

(Update: The comment was deleted as I wrote this.)
How safe are chemicals in eyeliner?
Ricinus is a chemical in eyeliner. Agatha Christie used it as poison in her 1929 mystery, "The House of Lurking Death."

U.S. FDA does not comment as far as I could see.

How safe is this stuff?
The change in interfaces, particularly metaphors, is really interesting as things go from derivatives (e.g. a mechanised horse) to originals (e.g. a tractor).

It's also interesting when metaphors don't change, failing to keep up with reality, e.g. the floppy disk being used a save metaphor, when floppy disks have not been prevalent for years.
Costa Rica, it is beautiful and cheap. You are not going to find friendlier people, with a relaxing way of life, than in South America.
How to make your first game for less than $1,000