skysight-inc/HackerNews huggingface dataset:
Natural != how the machine works. Few of us have the faintest clue about how the laws of thermodynamics apply to the internal combustion engine or how solid state physics leads to semiconductors leads to electronics leads to electronic injection. Yet we all drive cars as naturally as we walk.
> Also, are there really no exemptions to trespassing laws to account for emergency situations like this? It seems that if you're stranded at sea you shouldn't have to find a public beach to get out of the water.

In a perfect world, he would've been detected, units would've been dispatched to receive him, and he would've cleared port authority by explaining himself.

In actuality, security was notified far past the point when he actually could've caused some real trouble, and in a move of double reverse CYA, security took the hardest line possible on the guy, as though it would somehow undo some of their complete incompetence.
How did fighting back cost him money (if you don't count his wasted time)?

Kudos on him for valuing the spread of his work over any personal loss in royalties!
I don't seem to be missing anything. By the way, where are all these ads on Twitter I keep hearing about? I'm not seeing them on my native Twitter client for Mac.

I'm not really convinced that Twitter is so terrible. Some developers are mad, sure, but as a user not developing on the Twitter API, I don't see what the big deal is. Am I supposed to be angry that tweets will now have to be consistent across third party tools? Am I supposed to be furious that some developer out there is going to have to limit API calls? I'm not sure I care. I don't develop for Twitter (other than letting users log in with their Twitter accounts,) so I fail to see why the whole community seems up in arms.

I'm not sure what I'm supposed to be pissed off about that I'd need to spend $50 (as just a user!) or $100 as a developer to get on App.net. Heck, the Apple developer program is $99 -- I'm certainly the level of documentation, support (and profitability) of being on App.net won't even come close to what the App Store puts in my pocket every month. App.net charging $100 for developers to build apps on a nearly mythological platform with just several thousand users. They're putting the cart way before the horse. Get the users THEN start charging developers (if that's your model.) Why am I going to invest time developing for a platform that has no assurance that it won't be a total bust?

If it's just an infrastructure "platform" thing, with practically zero general public users, then why wouldn't I just develop using my own platform?

I have lots of questions and all the answers seem to point to a giant scam. There's a reason major investors haven't tried to invest in this project. No users, a business model that doesn't scale and a nebulous value proposition..

Still, I hope those App.net gents do something productive with everyone's money. I fear that they're going to have a hard time getting new users on the platform after this initial burst of enthusiasm. The whole thing smells a little like a circle jerk to me.
Card balance can be kept in BTC, according to the IRC logs at least. It's an international card so it can apparently hold balances in multiple currencies at once. Also, according to the logs, BTC transactions < $1,000 USD will be accepted on the first confirmation, so about 10 minutes to load the card.
Ward Cunningham - The Federated Wiki
It doesn't require a stylus, a finger is fine - and a laptop/desktop requires a mouse/trackpad...

Sorry about the tone, I just found myself comparing a raspberry to an iPad, couldn't help it. Point stands, an iPad is not just a thin client nor replaceable by one, and perfectly capable of being used for (some kinds of) productive work.
I felt the parent and grandparents were being condescending. I have no regrets.
Orion-type designs are less efficient than nuclear thermal, but have orders of magnitude more energy to work with. Nuclear bombs are pretty unbeatable for raw power.

There is a safer and cheaper way to harness nuclear bombs for heavy lifting, though, as long as you don't mind a very bumpy ride for the cargo: the Verne Gun (http://nextbigfuture.com/2010/03/150-kiloton-nuclear-verne-g...).
It's perfectly fine to use Java for this kind of software.

The hate against Java comes from using Java for application development: this is largely due to the kinds of applications that are typically written in Java (line of business software) and (this is the most important reason) accidental complexity and low quality of APIs like Spring or J2EE.

Recipe for programming happyness is to use the right tool for the job:

* Python (or Ruby) for web application development, development tools, and "devops" scripting.

* C (or C++) for pieces that need deterministic performance[1], provide a "native" feeling user interface, or require control over memory layout.

Note: performance and efficiency are relative to what your throughput and latency requirements are. Google's crawlers and indexers will remain in C++ for the foreseeable future, but (for example) crawlers for an intranet can get away with being in Java (or Python for that matter).

* Java (or Scala, Haskell, OCaml, Go, Erlang, or one of the many Lisps) for "userland" systems programming. If the majority of the system fits under the last bullet point, use C++.

* Avoid JNI or Swig if you can. Use JSON + REST for cross-language RPC. If you need performance guarantees of a tight binary protocol use Thrift or Protocol Buffers. If you have to use JNI, consider using JNA first.

* No matter what language you use, stick to high quality libraries and tools. For Java, you'll absolutely want to use guava, Guice, and either Netty (or NIO.2 if you are using Java 7) or Jetty + Jersey + Jackson (for REST APIs).

Pick up either emacs and cscope, netbeans, Eclipse, or IntelliJ for navigating a large Java codebase.

All Java build tools suck. Maven sucks less and is the de-facto standard in the open source community. Twitter's "pants" is also worth looking at.

* Don't touch Spring with a 60-foot pole: in the mildest terms it's unequivocal and absolute garbage. Ditto for any other buzzword you may see in a job listing for an "enterprise" Java development job (with 20 years of experience required, naturally).

[1] Java performance can be quite high, but a JIT-ted and garbage collected runtime implies a lack of determinism.
Nothing's wrong with Java. Commercial and research-quality crawlers of tens of billions of web resources have been written in Java for over a decade. Its threading/concurrency support and extensive well-optimized libraries make it easier for you to make your code fast over large datasets... if you're good at Java. (If you're not, there are plenty of ways to sabotage yourself.)

But, Java's a bit verbose, has gaps in concise support for higher-level constructs, and sometimes the static typing gets in the way. So if you don't find those parts helpful -- some do -- and think your performance targets can be met with other later optimizations/design-choices/selective-reimplementations, stick with whatever more concise language you're good at.

Or, use any of the more concise languages available on the JVM allowing intermixing of the occasional Java facility, like Jython, JRuby, Groovy, Javascript, Scala, Clojure, and others.

(If efficiently handling massive numbers of concurrent net/IO streams is a priority, the recent JVM-based project vert.x may be of interest. I haven't used it for anything but toy tests, but it seems to combine some of the best-practices for maximum JVM IO throughput with a somewhat higher-level-language-agnostic top layer well-suited for servers/proxies/crawlers.)
not suggesting the OP lifted the idea or title, but this Times article from June is a good read on the same subject.

http://opinionator.blogs.nytimes.com/2012/06/30/the-busy-tra...
Sure, but you do you need assault rifles and armored cars to stop one man that is trespassing on the tarmac?
I know a couple of people in textbook sales. Their job sucks, and the way they describe it is that there are two type of professors: those that won't talk to them, and those that try to maximize personal gain from the sales process.

The professors they deal with know the game, and just string them along with soft promises and keep asking for more nights on the expense account. The day to day job in textbook sales is just bribing professors with expense accounts.
The fees are only levied online, not at the hard box office. So the promoter can advertise the ticket price, and the ticketing agent adds fees.
From what I understand from the limited reading I've done, it is more like "night guard" versus "morning guard". Somebody needed to be up at night when the ("insert night feeding predator of choice") came to town.

My guess is that it wasn't until after we built a world of walls that most people could sleep comfortably at night.
I wish HN had the ability to pin posts. This is great. Absolutely what I was going to write, so naturally I think it is brilliant ;)

The right tool for the job. Java has it's place and it just where strlen said it should be.
I personally found that MBA 13" is so much better than my iPad 3, not much difference in weight either.
> and that rumors of Steve Perlman cashing out of the old company were not true.

Gee techcrunch, I wonder who started those rumors?
Don't forget international edition textbooks, which just help prove how much of a sham the whole thing is -- they're analogous to region locking on DVDs...
Can you quote user bitinstant from the IRC log on this. I see only the following:

> <bitinstant> JimN, the card is denominated in USD, EUR, GBP so far
I agree that blanket rules are dumb. However The OP's original advice is dangerous because those who don't know any better could misinterpret what he is saying. It's better to start from the default safe postition of "no means no" and work backwards rather than listening to random strangers of the internet who tell you otherwise.
>6-8 Weeks

After Stack Overflow, we should really start referring to this as an "Atwood period".
Not sure if it was lifted either - it's a 3 word title for a very short blog post, entirely possible that it's coincidence.
already posted:

http://news.ycombinator.com/item?id=4373461
Why is it so horrible as a systems language above C?

It's not "horrible", it just has many slight-to-moderate deficiencies and annoyances that make development more work than it should be.

Is there any other language that fits this role in a better way?

Scala is strictly superior when used as a "better Java". (If you go deep into its functional capabilities you get a different set of tradeoffs). C# is better as a language, but then you're tied to .NET.

Really we'd need to know more details of what you're doing and why you believe Python may not work. Are you concerned about performance, or do you need to do things that Python doesn't have convenient APIs for?
I find the pop (mis)use of the word "Karma" annoying. Karma is part of a cycle of reincarnation. Karmic benefits do not accrue in one's current life -- they affect the next life. Our current situation is the result of actions in a past life.

Every person I have heard use this word casually does not believe in any form of reincarnation.

And to go deeper, this is a selfish argument for ethics or hard work. "Do it because it is good for you" should be, "Do it well because this is the correct thing to do".
LMAO I thought the exact same thing, actually...
Very smart to link nuclear thermal technology to manned Mars missions. It would be wonderful if public enthusiasm after Curiosity makes further development in this area possible.

I want my spaceship!
Nothing wrong with using Java and there is something to be said for using the language you are most productive in. But if you are thinking of building a web crawler in Java, I would recommend taking a look at the Heritrix project: https://webarchive.jira.com/wiki/display/Heritrix/Heritrix
It's robust, open source and easily extensible. Might be easier to write a custom module for it than to roll your own web crawler.
In a perfect world I think he would have been prevented from breaching the perimeter and they would have detected the failed attempt to breach the perimeter.
Now if only they can find a way to re-architect Digg's users...
<ThomasV_> bitinstant: is there an option to keep the deposit as BTC until the card is used to make a payment or withdrawal?

<bitinstant> ThomasV, yes

Then later...

<sharpfocus> so the card can have fiat and btc on it concurrently presumably

<bitinstant> sharpfocus, yes precisly

Extra lines redacted to reduce noise :)
Ticketing is hard. It's like a lot of business solutions where a custom logic language is essentially baked in to describe price points, discounts, and more.

For example, Tixato (my current favorite free ticketing platform) tries to use "price groups". For each event, you set up a series of price groups that make a base price and discounts based on it. You can then assign specific price groups to each night. So for a $15 show with a $5 or maybe a 20% student discount, you just write it as such. But what if you want to offer a 2-for-1? Make a 50% price point, right? But what stops people from buying just one ticket at that point? Now you need to handle that case. And they just get crazier and crazier.

Plus, ticketing takes a heavy load. The I Heart Radio festival this year sold out in 8 minutes. The room has a capacity of 16,800. The festival is two days long. Let's assume only 28,000 were put on sale (the rest were for giveaways, house seats, artists, and artist comps), that's still 3,500 transactions per minute of $423 each (plus fees). You don't want that to screw up.
The publishing industry is creating a monster with their practices, and they have only themselves to blame. I've seen torrent trackers which are dedicated to textbooks, frequented by students sick of the "new edition" games. I've also heard of students pooling their money to buy a copy of a text, which is then sacrificed to a sheet-fed scanner. Everybody gets an electronic copy that way, for a fraction of the price. Then you have DIY book scanners, which don't even destroy the text (which means you can return it after copying it and sharing the pirate e-copy with everyone).
Imagine for a moment that instead of this gentleman, a terrorist with a RPG came ashore instead with the intention of shooting down a large jetliner (or two or three). I think that's the real horror of this situation. A man who did not have any ill-will and -every- intention of being caught so he could find help, was not seen until he approached a worker on the tarmac.
What does "userland" mean?
> Is there any other language that fits this role

Go?
It seems he is saying to take some time to work on your career instead of just focussing on your job all the time. Good advice.
Does it's invocation syntax differ significantly from the invocation syntax of other functions? Is there another function with the same invocation syntax as for? What are for's arguments? What is it's results?

These are all relevant questions when determining if it is a function or not.

Just the simple fact that loop control is determined by a boolean and requires state implies that for isn't really a function.

For what it's worth, I think Zed has a point. If you're trying to introduce a broad array of concepts to a new a programmer, going with a mapping method associated with an iterable is kind of complicated if you want to explain the whole shebang.

Compare map from Haskell, Lisp, Python etc with each. In each of those languages, you only need to introduce:

1) Named values (as variables, or not)
2) Functions
3) Lists
4) The idea that a function can take a function as an argument

You do need all the additional stuff for each that he mentions.

Similarly, in languages that make higher order functions more difficult, and have implicit state, for is an easier thing to explain.
props to berkeley. Go Cardinal though!
The thing I like most about the promise of self-driving vehicles is that, when they actually get to a point of real maturity, the cost to manufacture and put that tech into a production vehicle won't be significantly greater. We're talking about plugging into the ECUs, which already take metrics for vehicle dynamics to aid with ESC and other systems, coupled with what is, in essence, computers and IR sensors. The rest is just software.

In actuality, the self driving vehicle should cost us no more than $5k-$7k more on top of the cost of the vehicle.
It's a lousy language (IMO) with some excellent libraries and very fast compilers. If you're comfortable with the limitations of the language, and you're having trouble with Python, it's worth a shot, I guess.
I don't get this one:

<quote>

- Do anything to get a “yes” - Here’s a negotiation I did. I was starting stockpickr.com and meeting with the CEO of thestreet.com. He wanted his company to have a percentage of stockpickr.com and in exchange he would fill up all of our ad inventory. I was excited to do the deal. I said, “Ok, I was thinking you would get 10% of the company.” He laughed and said, “No. 50%”. He didn’t even say “We would like 50%”. He just said, “50%”. I then used all my negotiating skills and came up with a reply. “Okay. Deal.”

I’m a salesman. I like people to say yes to me.

</quote>

How's this a good deal?

And also, a good salesman doesn't just want people to say yes, they want people to say yes on his terms, not on their terms...
They claim:
"Design and functional elements are additionally protected by patents, including European patent No 001742719, Russian Federation patent RU2010501345, and US patent (pending)."
I did a few minutes searching at the WIPO website because this really does seem like old art, and I was wondering if they simply did design patents. I could not find public documents on either the EP or Russian patents.
Java is good, make no mistakes about it. It offers you find grained control in almost every aspect of programming (e.g. concurrency). However it is the same freedom that allows developers to make mistakes. For example -

One can write concurrent systems in Java without understanding concurrency. Languages like Scala and Clojure will give you some freedom but will also enforce certain design principles which will save you.

Similarly for web development, there are scores of frameworks in the Java world, and you can mess it up easily. Rails / Django on the other hand will provide one good, solid way to do web programming.

Finally, Java is showing it's age. The need to write large files of XML to configure things and the lack of ability to treat functions as objects put developers off. Some things are being addressed by Oracle but will take time.
The word "security" is starting to sound like newspeak.

Ironically few people oppose reasonable measures, yet even in a post-911 world of extreme paranoia, we find that many of the overwrought systems so urgently put in place are worthless.

Most notably the TSA has been proven to be worthless, in spite of having wasted billions of dollars worth of productive time and on track to waste billions more.

It's unfortunate that these things are run by the government. We're getting the prison food version of security and it's horrible.
Well, the biology textbooks put together by states north of the Mason-Dixon Line should be alright... =P
This is a troll, or the author completely lacks any
pedagogical skills. The offending (sic) code:

arr.each { |elem| puts elem }

Explanation: There is a function "each" that applies to arrays. "Each", for each element in the array, binds "elem" to the element value, then executes the body of the code block. The code applies "each" to array "arr" and executes "puts elem" for each element. Concepts: variable, binding, function, block, array. Done.

The prosecution charges:

> Variables

Basic elementary concept, if you don't get this, you should not be coding yet.

> Arrays

Basic elementary concept, if you don't get this, you should not be coding yet.

> Enumerable

I have no idea what enumerable is, but I can read the code just fine.

> Inheritance

I have no idea what inheritance means in this context, but I can read the code just fine.

> Mixins vs. Multiple Inheritance

For lack of better words, wtf is the author talking about?

> Message passing and dispatch.

Ditto wtf.

> Function calls.

Basic elementary concept, if you don't get this, you should not be coding yet.

> Blocks passed to function calls.

Arguably basic elementary concept, in spite of the long tradition of Basic teaching us otherwise. But then Basic taught us GOTO is a good idea, fortunately we've got past that idea eons ago.

> Yielding variables to blocks.

I have no idea what yielding is or how it helps in this context. Still I can understand the code just fine.

> Scope, specifically for blocks.

Scope is a subcategory of variables, if you don't get scoping then you don't get variables, see blurb on "Variables" section.
This will be a huge factor in increasing demand for bitcoin if it comes through. The biggest problem with bitcoin now is that it's not widely accepted for payment (i.e., it's not yet a medium of exchange). A debit/credit card is a big step in allowing people the ability to exchange their bitcoins for real goods. What will be really exciting is the day when you can actually see goods priced in bitcoin. E.g., that cupcake is going to cost you 0.1 bitcoins.
Can you give us some evidence why Spring is "unequivocal and absolute garbage"?
Author here; I didn't (intentionally) lift the title—had no idea there was an article of a similar name already.
I'd argue that using .each is a better choice in both of the most common cases of people wanting to learn ruby. The novice who's learning his first language will probably benefit by being taught early what it's considered the correct way to do a task. A novice can learn other "styles" later, but as a teacher you want to plant the seed in the students brain that .each is the shiznitz. In contrast an experienced programmer will probably come with for loops deeply lodged in his brain. Therefore it's also beneficial to challenge that prelearned behavior to establish the use of patters that are considered "more correct".

A novice needs to learn the most practical and correct way to do things. An experienced developer needs to learn to transpose his current knowledge to a new syntax. Both benefit from being taught the most common or correct syntaxes and patterns.
Even if it's technically illegal, no jury in the country would actually convict him, so probably no charges will be pressed and he'll be released.

As somebody else said, having him arrested at all was probably an over reaction for him making them look stupid.
Where I work it seems product managers have the most sway. But I just read a GlassDoor post by a PM who said the engineers had more. Depends on where you stand I guess.

I've always had trouble working with PMs. Whenever a new one comes along they make sure to mention that they've worked as programmers before. When I ask them how long, it's usually 2 years.

I think I don't like working for PMs because they are the client (at my company at least). And I always forget this. I always think "we are a team" and that the product is the main focus. But I always forget that isn't reality.
The author answered above and said that it wasn't an intentional reuse.
If you go with SQS, keep in mind it doesn't guarantee that messages will be received exactly once[1]. I've used SQS for large projects and this was killer because we had to implement message locking ourselves to prevent messages from being processed twice. Since then, this has been a deal breaker for using SQS again (now use Celery).

[1] http://aws.amazon.com/sqs/faqs/#How_many_times_will_I_receiv...
Key words: bumpy ride. The G-forces exerted by such a launch would turn human passengers into pulp. Freight only! http://en.wikipedia.org/wiki/Space_gun