skysight-inc/HackerNews huggingface dataset:
The call to action is worth pondering. Can Java's verbosity be eliminated? Maybe not. Can Java programs be made to be less verbose through better design? Yes!

It isn't the author's fault, but reading articles like this make me feel like Java supporters want it both ways. They point to Java's tooling and vast herds of libraries as benefits, but when you point out flaws in some implementation they say the language isn't the fault, it's that particular library.

On the other side, when criticizing languages like Ruby they are quick to point to practices like monkey-patching as examples of how Ruby permits abuse in practice.

Well, which is it? Do we compare languages on the basis of the actual libraries and programs people write? Or do we compare them on the basis of the libraries and programs they could write if they took advantage of the language's features and also had a keen sense of design?
So you're saying that the argument would work better if the examples were in Ruby? At first glance, I'd say they would translate quite easily into idiomatic Ruby.

jrockway is a Perl programmer; he writes in the language he knows.

And if you object to comparing against "out-of-the-box" Java code, that's fine. My understanding is that there are, in fact, JVM-based tools that let you write code in the approximate style of Moose. The only stumbling block is that these tools are called "JRuby" or "Clojure", and the average Java programmer doesn't know or recognize them. [1] Certainly they make no appearance at all in the original article.

---

[1] Or maybe my impression is wrong and one or another of the alternative JVM languages really is on track for widespread recognition. I wouldn't know.
Oh come on, the Daily Mail? Really?

Here's the original BBC interview:
http://news.bbc.co.uk/1/hi/sci/tech/8511670.stm

And here's their article reporting it:
http://news.bbc.co.uk/1/hi/sci/tech/8511701.stm

If you read the interview you will see that the Mail has put an incredible amount of spin on it, as they tend to do.
Please don't misunderstand my point - I agree with what you were saying and I think Java is far too verbose. I just think by comparing a framework to a language you are misrepresenting the capabilities of Perl and the first Java programmer who knows how much of a hack OOP is in Perl could completely tear your post apart.

I mean, in Java can you do this?

class MyClass {
private String foo;

public Class(String foo) {
this.foo = foo;
}
}

var inst = new MyClass();
inst._foo = 'I just broke your encapsulation.';

Because you can with psuedo-privacy in Perl and Moose.

The other thing is that OOP in Perl without Moose is even more verbose than Java. I will never get over having to write my own new subroutine :)

P.S. MooseX::Declare absolutely did not compile on Windows last time I tried back in August. When I asked about this on IRC, it was a "known issue."
Lets just take your first example.

I read those exactly the same. There's no difference to me apart from taste, and potential for errors.

The potential for errors however, is far higher with the Moose and CLOS versions. Which is why I wouldn't like to use either of those syntax in a large project.

The java version, you can only really typo on the variable name. And even if you do that it likely won't compile unless your variables are similarly named. But with the moose example, you're starting to have silly things like '=>' which can easily be typoed and which can still compile, but completely change the meaning of the code.

Obviously at the extreme of this is regexp. Hugely compact, but a complete bitch if you typo anything. Personally I'd hate to write complete programs in regexp type syntax.

So you can keep your non-verbosity at the expense of sanity.

>> "In conclusion, Java is verbose, and verbosity is harmful."

I'd say Java has longer tokens than some other languages. By my definition that doesn't make it any more verbose. It makes it harder to go wrong with typos etc.

If you look at the underlying programming constructs in your first 3 examples, they're the same... thus for me, those code fragments are the same. No more or less verbose.

I think some of it just comes from having experience of reading code. Once you learn to read code in terms of programming concepts, rather than actual lines of code, you see no real difference.
Some Interesting Facts About Chatroulette
From reading the article though, it was people's concern of things, not Google's disregard for them. The changes basically amount to making things easier to find. Even the Auto Following thing was controllable according to the article.

So, as far as they are concerned, they didn't violate privacy as much as make it easy for people to by-pass the privacy protections in place.
How about "A/Bingo vs Google Website Optimizer"? What's the bumper sticker on that comparison?
what does he have? walls and a floor?
If stuff=software features, it is highly relevant
An "Edit this page" menu command in Jetpack
Books: for a long time I thought that I had done something when I acquired one. Yet clearly there's a difference between the book once dipped into and on the shelf for years, and the Indian cookbook with turmeric stains all over or the tech reference with its spine worn out. I have tried lately to be more discriminating in my book buying, and not to buy another book of some type (tech, history, fiction) before I've finished the last purchased book of that type.
This reminds me of fight club (or at least one of the core themes), in fact one of the lines in the essay reads like it was plucked out of the movie.

Anyway, Fight Club definitely struck a cord with me and since then I have been living with incredibly little stuff. I have a computer, my iphone, my car, a desk and a bed and just enough clothes to get by for 2 weeks (do laundry once a week) and of course minor other things that you need, but basically bare essentials.

While I cant say for sure how much of an impact its had on my life, I can say without a doubt that coming home always feels very relaxing and definitely helps me prepare for a new day.
I'm fond of the saying... the pioneers get the arrows, the settlers get the land.
I might be able to build one to be executed under Hercules...let me work on that. My current test case is under NDA.
fight club: http://www.youtube.com/watch?v=TJdfWdIBfE8

"byproducts of a lifestyle obsession"
"things you own... end up owning you"
"working jobs we hate so we can buy ish we don't need"

edit: link fixed
Installing Kernel Updates Without Reboot With Ksplice Uptrack On Ubuntu 9.10
I like the touchscreen on the back side. I can see that catching on with other tablets.

The screen that works in direct sunlight is nice too. I'm looking forward to the day I can get one of those on my laptop.
Language vs. framework is a meaningless discussion. All languages are frameworks for getting a big chunk of silicon to do stuff. I'm not sure how Perl's OO is a "hack", in my opinion, people that say this only have a superficial understanding of what object-oriented programming is. It's a way to organize code, it's not a way to prevent people from calling methods. Perl's OO is superset of Java's OO. Hack or not, it encourages reuse and modularity, and makes this very easy for the programmer to get right.

"private" is one of the worst programming language concepts ever invented. Perl's lack of this bug is a feature. Private methods are nice for documentation purposes, but most developers misuse "protected" and "private", and it makes their libraries nearly impossible to use. In a perfect world; great idea. In the real world; a huge waste of time.
A/Bingo: Written by programmers, for programmers. GWO: written by an advertising company, to be used by non-technical stakeholders in marketing.

GWO makes significant compromises on usability -- both for the site's programmers and the site's users. Previously I recommended it only very hesitatingly, to non-technical marketer types. These days Visual Website Optimizer exists and it is embarrassingly better in every possible way for that audience, including the WYSIWYG interface.

You can read my thoughts on GWO at length in the A/Bingo documentation. http://www.bingocardcreator.com/abingo/compare
My major concern, which may kill the show for me in the long term is that the Leonard's character has been reduced to an "interpreter bridge" betweeen the Sheldon character and the rest of the world --- the character no longer stands on its own.

Also, lately they had some dull episodes, with 2 of the 4 guys having (being locked down by) girlfriends.
I would say that specifying that warming 1860-1880 'not statistically significantly different' to 1995-2009 is quite an admission. Not the same as "No global warming" but not exactly evidence of runaway AGW.
I love this article.

My wife and I came to the same conclusion when we wanted to start our own thing. We needed to be flexible enough to live from anywhere a frugal life style would demand and our stuff was just weighing us down. Even storing it was going to cost alot of money - in the end we got rid of must of it.

Our books were the biggest culprits. Through bargains, we accumulated tons of novels that we've never read. Those were the first to go. The only books left were mostly references.
My name is khan a shahrukh khan movie, watch my name is khan online free
My name is khan is a movie which everybody from India who are living in other country's and they feels the same way like Shahrukh feels inMy name is khan movie movie everyday. The story of My name is khan movie is based on the attacks are happening on the NRI in others country's Like Australia, United States and many more Country are feeling the same.My name is khan Indian movie will be a slap for all the attacks on Indian in Others country and will give something to cheer about and will be something to be happy about.
The big issue is having to manually feed data from the constructor into the fields. There is no high-level concept of "attribute" in Java, which is what programmers actually want.

In Perl, you say "has foo => ( init_arg => 'foo', isa => Whatever, reader => 'get_foo', writer => 'set_foo' )" and the correct code is generated. In Java, there is no concept of "attribute", so you have to build it every time by manually declaring the field, manually writing the constructor, and manually writing the getters and setters. Anything you do manually more than once has the potential to introduce a subtle bug, and more importantly, is tedious and degrading.
Possibly. I'm a programmer, software engineer, developer, coder, or anything else anybody wants to call me. For some reason, different terms mean different things to people who do hiring, so you need to be flexible in your definition.

All it means is "somebody who programs computers". Translate it in your head and move on.
A couple of things I've been doing:

When kids have a birthday or holiday with gifts, we tell them that they have to throw away or give away an equal amount of stuff. It works surprisingly well.

I've been thinning out my media stuff (books, videos, old records, etc.) in batches during moves, but recently began selling what I could on amazon. It's mostly CDs and books, but in the past two months it's totaled about $800. One problem, however, is many titles are worth too little for me to go through the trouble of listing, selling, packing, and shipping them. This is especially true of older books. No matter how good or important they were, about 90% sell for <$2 used on Amazon.
Ruby Quicktips
"Whether the stout ad-packed books that land on the doorsteps and driveways of millions of American homes are an endangered species is far from certain."

This really jumped out at me as a reminder that sometimes people like us inhabit a different world. I long ago concluded the phone book's days were numbered... to the point that I'm genuinely surprised when one shows up on my doorstep.
I wonder if that's just emergent behavior.

It's possible that the first several postings along the lines of "Smart programmer wanted as co-founder for new social networking concept (that also shortens urls)", but it has since been noticed by recruiters as a "free job board" and thus is filled with "Programmer/Analyst III with J2EE" positions.

Perhaps they need to work on the tech a bit to discourage the job postings and encourage the actual entrepreneurial stuff.
It'd take you 2 minutes to write a java preprocessor to build your constructors if you really care about such things. (I don't particularly. I don't spend much time at all writing constructors, and often want to do nonstandard things, validation etc rather than just passing over variables as they are given).

With due respect, surely that's what being a good programmer is about? There's no law against preprocessing java if you really dislike the defaults.

How many constructors do you write? Sounds like perhaps too many.
This is just how science really works; constantly correcting all sorts of silly errors. The odd part here is that one institution is named the authority and is expected to make strong assertions. This just doesn't work in science. Reputation opens a few doors, but it doesn't mean you're right.
I guess it's rather off-topic from the paper's content. I apologize for that.
If it runs counter to what my beliefs are, I'd assume he was mistaken, but it would certainly put some kind of perspective on how my God went about things.

I am not the type of Christian who forces the issue on others, but I find debates of Christian canon interesting if trite, and all too often tantamount to trolling. I really don't assume to know how we got here, and whether the universe as we know it was actually wrought from nothing over the course of 168 Earth hours, or whether it was "steered" by some higher power over trillions of years is not something that matters too much to me. Therefore, the mechanical minutiae of said creation matters even less.

The fact is that we are here, and that's a mysterious and wonderful thing!
I see the original poster's point. The punch line of the story is that the hunger artist has simply given up on finding food that he likes. Instead of continuing playing the game of trying new foods, a game at which he has always lost, he's given up, and learned to find some small contentment with constant hunger.

I didn't see that angle myself when I read the story, to be honest. It just goes to show how great writers can touch our psyche in deep ways that bring out our personal feelings about hunger, fame, or isolation.
I have no idea if they are content and happy. I never claimed that using productivity gains for leisure would make anyone happy, I just claimed it's possible to do without serious material suffering.

But the fact that 80% of the poor are not even looking for a job suggests they are not that unhappy about lacking productive employment.
"Preprocessing Java" is called Clojure and Scala. But then it's not Java anymore, right, and the article is about Java.
I'm troubled by this idea, since I imagine that any decent programmer with an entrepreneurial drive would already have his own startup. That programmer would possibly need a site like this to meet business-side co-founders, but then any good businessman with an entrepreneurial drive would already have his own startup.

Since all the good minds on either side of the equation would already be locked into their own thing, I can't see how any of them would show up on a site like this (or its natural counterpart, BizCofounder.com).

As a result, all that's left is a pool of developers who either don't have any good ideas, or have been to afraid to make the leap on their own. Neither of those qualities are ones you'd look for in a potential co-founder.
He just sits indian-style and uses an iPad.
While this article is 10 years old, it contains a few very good points -- I've referenced it many times over the last 8 years. Specifically:

-- Scripting languages relative run time and memory consumption overhead will often be acceptable and they may offer significant advantages with respect to programmer productivity.

-- For all program aspects investigated, the performance variability due to different programmers is on average about as large or even larger than the variability due to different languages.
Awakening: The Dreamless Castle Game Download Free
After Awakening in a mysterious castle it’s up to you to collect clues and valuable items needed to solve perplexing puzzles and escape! Listen to your fairy friend as she guides you towards the exit. Play fun minigames and solve clever locks to make it to the next room in the castle. Use your Hidden Object skills to search for the next hint and discover a young Princess’ destiny in Awakening: The Dreamless Castle.
But almost everything in Java is more verbose, and so you'd end up writing "preprocessors" for everything (and the strong, static, explicit typing means that a lot of this preprocessing would have to be rewritten for even slightly different cases).

So why not just cut-out the middle man and work in a higher level language directly?
I would like to read some of this "concise" Java.

Don't waste too much time on this sort of fluff, or chasing the next 'hot' language. Spend it learning how to become a better programmer.

Bad languages get in the way of becoming a better programmer -- they make you program the language rather than program your program. I contend that Java is one of these bad languages. It is too low-level to really let you focus on programming.
Happy Valentine's Day: Carl Sagan And Ann Druyan's Ultimate Mix Tape
It's not especially inconvenient to own several thousand books

Until you find yourself having to move.
I wrote something very similar in the same exact month: http://chir.ag/20070725 - Buy Less Stuff. I honestly don't remember if I was inspired by PG's essay or it was just a coincidence. Like 'bcowcher', I even mentioned Fight-Club.

So where am I today 3 years later? I still haven't bought a lot of stuff. But I got married in 2008 and now my house is full of my wife's stuff. However, she started to get rid of a lot of her stuff. I don't need stuff to make myself feel at home but she does, as that is her only connection with her past life. I bought some clothes for myself last year (12 single-color t-shirts @ $3/each online) and a lot of running gear for my ultramarathon but other than that, barely anything.

I think the lesson here for me is that it is indeed possible to reduce your acquisition of "stuff" and maintain it. However, it depends very much on your personality. My wife likes to dress nicely and decorate the house. So we'll be stuff every night and then, hopefully not too much.
Remind HN: It's Valentines Day
Seeing as we're a forgetful sort, I thought I'd save everybody some grief from their significant others.

So assuming you have one of those, you might want to close down the IDE for a minute and run out to the store for some flowers or a box of chocolates.
What possible advantage can anyone have from destroying the life of this man like this?

"God" will like them more. Pleasure is evil, sex is even more evil, and sex involving people who look like they're under 18 is so evil that you shouldn't even be allowed to think about it.
24 Hour Fitness also has huge, huge disparities. I paid too much initially for a year in advance, but I now have a $50/yr membership forever, and my wife has $25/yr (!) because her timing was even better.

But the base rate is what, $150 to join and around $50/mo? I assume some people pay that, but it seems steep -- doubly so given what I'm paying :-)
That sounds absurd. What about South Park creators?
Shouldn't they be jailed by same laws?
Depending on your political affiliation, that might either be a very relevant or a completely irrelevant point

It shouldn't be relevant to anyone.

Logical fallacy: ad hominem attack

"Arguments of this kind focus not on the evidence for a view but on the character of the person advancing it; they seek to discredit positions by discrediting those who hold them. It is always important to attack arguments, rather than arguers, and this is where arguments that commit the ad hominem fallacy fall down."
http://www.logicalfallacies.info/relevance/ad-hominem/

The article itself does not appear biased to me. In particular, it does caution "His study, which has not been peer reviewed...", and " 'It’s not just temperature rises that tell us the world is warming' ", etc.
"You do not have a right not to be offended".

Not sure how that even applies here. The books arrived in sealed boxes and remained in the guy's home, free from public view. Nobody should even know that the guy has the books, making it even more powerful than "you do not have a right not to be offended". You do not have a right to open other people's mail and be offended, because you do not have the right to open other people's mail!
Why are private methods good for documentation? They shouldn't even be documented save for inline comments. The whole idea of privacy in my mind is that the only person or people who should know that these functions even exist are those who maintain the class/library/framework. This helps immensely because when you want to refactor you know EXACTLY which method signatures or attributes have to be supported for backward compatibility. You can really keep on top of things, and as long as you took the time to create a flexible API, you can handle change gracefully. I don't even unit test my private methods because I don't even care about them or what they do. I only care that some data is passed to a public API and returns the correct result. They are there, as you say, purely as a means to organise my code.

For example, in my last company I wrote this ORM in Moose. I released it. And the guys I was working with just didn't get the concept of Moose. They kept accessing the attributes from the underlying blessed hash like they did before rather than the accessors. It still worked because internally Moose stores stuff the way Conway recommended in OOP Perl (which was a weird decision imho). One day I renamed one of my database columns and so had to rename my accessor and created a manual function that warned of "obselete call to accessor x" whilst returning the new column name... backwards compatibility, yay! But they didn't see this because they didn't use the accessor and now all their manual hash accessing was returning undefined or null or whatever it is.

Of course it only took me going over to their table and explaining to them how Moose worked or getting together for a meeting. Fine. But that was a company with a technical team of around 10 people. Now I work for a big tech company, and I'm in charge of a framework again except now its JavaScript which has the same problems when people force this classical inheritance pattern and now when some guy doesn't get it he's in another building or another country and did so in a repository I didn't even know existed and his code that breaks my encapsulation is in a production device and when I refactor my code I have the possibility that I break live code on some project or some device I don't know about.

So yeah, privacy is an important concept and if you don't think so I would say it is you who lives in a superficial bubble where everyone who uses your API or works on your code can be trusted to have good sense.
So are your excuses actually true? Or do you make things up to placate the customer? This is something I always wondered.
What I'd like is a device that can fold (but has a seamless screen when unfolded) so it fits more easily in small places. Also you can type and have part of the screen angled up at you (this would still be an ergonomic nightmare for as a 6'4" guy wanting to improve his posture, but less of one than a purely flat item).

I'd also like one I can set up as a small tv screen (in-built stand) and remote mouse/trackpad so I can surf you-tube without having to hold it up.
I find the theory by Rene Girard to be quite rational explanation of what product the Bible contains. He is an apologist of Christianity - but what he writes is completely convincing for an agnostic like me.