skysight-inc/HackerNews huggingface dataset:
Far from being stuck in a bubble, I actually spent a couple years developing code in a UML-driven development environment (as in, I spent my days drawing UML diagrams that automatically turned into executable code). First of all, you cannot write any nontrivial program in UML alone. It is not nearly specific enough. UML is to a working program as a table of contents is to a technical manual. And in case you think I'm extrapolating from one bad experience, I've also used LabView have seen the parallel difficulties in that language.

Now, I agree that higher levels of abstraction will be needed in the future, but I disagree that visual programming is an obviously superior abstraction. In fact, I believe that people have been earnestly barking up that tree for decades with little success for reasons unrelated to old-fashioned attitudes. There are practical and technical reasons why developing visual programming tools and ecosystems will always be more difficult than developing text-based ones.

Take merging for example. Merging two versions of a source file is many times over a solved problem (not that there aren't new developments to be made). In contrast, merging two versions of a UML diagram is very much a manual process (to the extent that it's possible at all). Now consider creating a change management tool allows you to branch and merge UML diagrams. This is orders of magnitude harder yet. These are essential and straightforward use cases that are much more complex in a visual medium. Without these basic features, visual programming will not scale well to even medium-size teams.

I can go into more detail about issues with visual programming if I still haven't made my case. And I would love to hear from people with visual programming experience that have contradicting opinions. It's always possible that I missed something.
>Putting him behind bars for downloading bits is ludicrous

Unless it's your data that's being downloaded unlawfully, right?
And of course, the highly relevant classic XKCD: http://xkcd.com/327/
Can collaboration replace peer review?
250GB may be low, but if you think that you can equate data center prices to prices for transit delivered to an end-user's address, you aren't thinking hard enough.
A "large base of Python code" would not be my main reason for eschewing other languages:

- Unfortunately psd.py doesn't seem to exist. Tell me, what is less effort: Implementing that, or building a small app/service that performs the functionality you need using existing tools?

- Also I'd consider the suitability of a given technology before this too, e.g. on my current project there is a lot of Ruby code, but it's a major bottleneck in one of our services performing a particular task. We rewrote that service in Clojure and it performs orders of magnitude faster and uses orders of magnitude less memory.
I take the per project cost, divide it by the amount of time it was supposed to take before all the new requirements.. that gives an estimated-agreed-on hourly rate. I then use that hourly rate to discuss new features.
If you feel confident you'd be happy as a developer or an entrepreneur, and given how you feel I think you should drop out. The real world will teach you much more than school. Developers can and are judged on what they've DONE (not by all companies but by many, and certainly enough) and entrepreneurs are judged only by what they've done. The degree doesn't matter imho. Background: I dropped out (data point of one, I know!) of comp sci after first year, ~18 years ago, and have never looked back. Caveat: If you would be a developer, you'd have to be willing to live in a large/progressive city to find the (many!) companies happy to hire you based on what you've done. Go build stuff. School isn't for everyone.
World's Largest Virus Discovered
Ask HN: Containers for Development (Coding)?
I do much of my development in VMs (typically Linux host and client, with VirtualBox). It allows me to use the exact OS the client is using, and to track dependencies. Also, with VB's "seamless mode" and shared clipboard, windows from client and host can mix nicely (except Ubuntu), making it pleasant and productive.

I guess the main drawback is the amount of disk space required for each VM (typically I work on a laptop with SSD). So I ship OVAs off to backup when the project finishes. I'm also concerned that these archives will age quickly (changing specs, few users) and I will have problems accessing old projects.

Anyway, with all the talk of containers being a lighter-weight alternative to VMs, I wondered whether they could also be used for coding. Could I use containers instead of VMs? I have a vague understanding of the concepts, but no idea how they work in practice (can multiple containers share the same desktop, for example - can I use Eclipse or Intellij Idea in a container?).

Also, I'd like the host OS to be OpenSuse.

Does that make sense? Would it work? Does anyone do anything similar? Thanks.
How did low-level employees access national secrets? [video]
> definition of programming is all over the place

I agree.

For example, people do seem to assume that programming must involve, in some way, coding. Do we really need to code in some programming-language to be programming?

Changing security settings, for example, in a browser lead to quite different behaviors of the program. Isn't the user of the browser programming because they change the behavior of the program?

And this leads to....

> with focusing on data

If we focus on data, and hopefully better abstractions on how to manipulate that data, then wouldn't any user able to alter a program because they can adjust "settings" at almost any point within the program: in real time.

Wouldn't this then enable a lot more people to become programmers?

Anyway, just some thoughts.
> Also: since when is this about "network neutrality"

The reason that this is even in the news is that this is Google's response to a complaint to the FCC that Google is violating the neutrality provisions of the FCC Open Internet Report and Order. So, its an issue precisely because its about net neutrality.

> which has always been about backbone traffic.

No, net neutrality has not always been (at least, not exclusively) about backbone traffic.
More like they are accounting for any source of human error which is impossible to completely eliminate even with a top-quality staff.
Ah, its my mistake for phrasing it as if the question was posed to you in particular. I meant it in a rhetorical sense... speaking about a general population.

On HN, we're entrepreneurs and ought not to care about outliers when it comes to making business decisions. If most people will benefit from a phone call, and those who don't benefit won't be too adversely impacted then I say.... make the call.
Australian Department of Defence denies ban on Lenovo PCs
Sell the value of your service, not the amount of time. "Making sure the server is secure, up-to-date and always online" > "1 hour a month".
Even then. In fact, especially then. I wouldn't be able to stomach taking away even one month of someone's life for words that I wrote.

I'm writing a book. I plan on putting it on piratebay myself. I'll have an option for people to pay me if they so choose.
As with many things in life, what works for you may not work for everyone.

Some people don't even know what they want to know. In the words of that great poet, Donald Rumsfeld: "there are also unknown unknowns – there are things we do not know we don't know." [1]

That said, here's something that works for most people when they get an unwanted call: "I don't want to talk about your product. Do not call me again. Have a nice day."

[1] http://en.wikipedia.org/wiki/There_are_known_knowns
All of the developers I have been looking into- either have a full time job right now, or strictly work as a free lancer so they can accomplish many projects throughout the year. However, everyone has been interested in the concept and the team we have established, so maybe I have been too picky in making the leap of faith and bringing someone on to accomplish the tasks at hand. We would like to bring on someone full time to utilize the backend we will create, and make changes on the front end throughout the year- however, judging on the feedback it may not be a bad option to hire developers who can focus their skills on specific aspects of the product development.
Thanks for saying all that. I was thinking it, but restrained myself since there seemed to be a lot of hero worship over this person going on here. But it needs to be said. Everything in that video is of stuff that has been researched for decades. It isn't mainstream largely because it is facile to say 'declarative programming' or what have you, but something entirely different for it to be easier and better. Prolog is still around. Go download a free compiler, and try to write a 3D graphical loop that give you 60 fps. Try to write some seismic code with it. Try to write web browser. Not so easy. Much was promised by things like Prolog, declarative programming, logic programming, expert systems, and so on, but again it is easy to promise, hard to deliver. We didn't give up, or forget the ideas, it is just that the payoff wasn't there (except in niche areas where in fact all of these things are going strong, as you would expect).

Graphical programming doesn't work because programs are not 2 dimensional, they are N dimensional, and you spend all your time trying to fit things on a screen in a way that doesn't look like a tangled ball of yarn (hint, can't be done). I've gone through several CASE tools through my decades, and they all stink. Not to mention, I don't really think visually, but more 'structurally' - in terms of the interrelations of things. You can't capture that in 2D, and the problems that 2D create more than overwhelm whatever advantages you might get going from 1D (text files) to 2D.

Things like CSP have never been lost, though they were niche for awhile. Look at Ada's rendevous model, for example.
Ageism is not just a problem in engineering, but in almost all technical fields. The problem is, that 20-something kid, you don't judge them by what they can do, you judge them by their growth potential. There is then a natural bias that "you can't teach an old dog new tricks" and so we judge older candidates (say "senior") by what they can do, assuming that they are at or have hit their peak. This all flies out the window in management or executive positions, where leadership and bullsh*ting are more sought after.

Even though it isn't fair at all, it makes sense when you think about it. Its something to keep in mind when we are young, to climb the ladder as fast as possible so that we are "immune" later. It is much harder for those of us that don't like management and prefer to be engineers for our careers.
IANAL, but action with malicious intent is pretty much enough to get you behind bars.
While these are some textbook examples of claimed shortcomings of Capitalism, but in reality, it is not that straightforward.

- Soviet Russia and Communist China had massive men-made environmental disasters.

- Most monopolies are created by the state sanctioned environment. Not all monopolies are bad. If anything that remotely resemble monopoly arise in relatively free market, it is because it serves the needs of the customers so well that it has out-competed all the other companies.

- If you dump hundreds of billions of dollars in something, sure, you might get some good out of it, but no one can quite measure if it was done efficiently or not. There's no good reason to assume to that such things would be have been only funded by government.

[edit] formatting
Has this got anything to do with Tiny Core?
The report seems to be saying "MIT didnt interfere", "MIT didnt get involved", "MIT didnt do anything wrong". Who is this MIT? Why dont we just talk about human beings and address them by the names they are known by.
My point is that we'll continually find better solutions to existing problems (concurrency, or anything else for that matter). There will be a time in the future when we've come up with a solution that's "good enough", and it'll become the de-facto standard for a while (kind of like what Java is today). I don't know what that solution will be, and I don't speculate about it: I'm more interested in the solutions we have today.

Yes, the raw solutions _are_ very painful, which is why they haven't seen widespread adoption. And yes, we are continually trying to enable more programmers.
>>> What incentive does a waitress have to give you good service if she's making a standard wage and no tips?

I'd think pride in her work? That's pretty shitty if they can treat customers like crap.
The Mac broadcasted a packet and collected all the response packets from other Macs which responded to the broadcast packet. This gave AppleTalk a reputation for being chatty as all lookups resulted in a broadcast.

Documentation: http://developer.apple.com/legacy/library/documentation/mac/...
Seconding the gp sentiment. you guys are building a beautiful framework. Hat
tip...
It's quite possible, up to a point. In fact, there is a new book "Functional Programming in Scala" that shows precisely how to do that. However, Scala is a fusion of OO and FP. Even its functional features are written in terms of objects. What you don't particularly need is mutable objects. But Scala's OO features -- notably traits -- are arguably useful for structuring code.

As the language designer himself has said: Scala is not a better Java, it is not Haskell on the JVM. I would add that it isn't just SML on the JVM either. It is much better, in my opinion, to embrace Scala for what it is, a powerful, expressive, pragmatic language for industrial use.
In the "What We've Done" section, there's no mention of changing the password hashing algorithm away from md5 to bcrypt or PBKDF2.
Excuse.coffee • Hubot Script
';DROP TABLE articles;--
Praise your employees in public. Correct them in private.

People like to be lauded for their accomplishments, but nobody wants to be known as "that guy who wrote a severe XSS bug."

Build babysitters are a bit of an exception, since it's not the end of the world if the current build is broken - another commit, and the problem's resolved. Public XSS though... that's more severe.
I suppose the point was to show that it's pretty bad to resort to copy/pasting clever bit hacks into libraries without taking care of how they work.

The fact that the code isn't necessarily obvious makes me think that whoever used it was hoping for an optimisation of sorts.

Terseness can lead to obfuscation, and that's the wrong sort of optimisation. So we can hope that the developer was going for speed instead, but the results show that was a huge failure.

Maybe this won't affect performance in this particular library, maybe it's called once or twice and it doesn't matter, but if this is part of the innards of a game or a cryptographic function or some low-level network stack, it could have very detrimental consequences on performance.
This appears to be the corresponding academic case report: https://www.ncbi.nlm.nih.gov/pmc/articles/PMC2495396/
Facebook will disappear in three years
What are your most common reasons for rejecting candidates after a job interview
I reckon a number of you have conducted interviews for your organizations. As someone in the job market with a strong professional/educational background (Bachelors and Masters from top schools, internships at top companies and entry level to mid management roles at top companies in the Valley), I am curious as to what the most common reasons are for why you ultimately don't advance candidates to the next stage of the interview process.

I have no problems getting interviews but often don't get moved on to the second/final rounds. I know you must want some more information about my professional history to be able to give useful advice but I am unable to do so to protect my identity.

However, I would appreciate if you could share some of the most common reasons why you typically reject interviewees. Thanks.
> Credit card transactions can be reversed weeks/months after they are made

Exactly.

The instant approval from the credit card company is a close analogue to a signed transaction. Both prove that the person has the funds available and that they have the authority to authorize the transaction.

The 40-minute confirmation delay is roughly equivalent to the 6 months or so that it takes before credit card transactions become irreversible. At approximately one block mined every 10 minutes, after 40 minutes there would a 4-block-long chain including the transaction. The idea that someone with the resources necessary to discover 5 blocks before everyone else in the network could discover one block would bring them to bear to steal a cup of coffee is insane.

If I'm selling convenience goods - say, under $100 - I'm fine with zero-confirmation transactions. If we're talking $100-$1000, I'd wait until the network confirms it once. If I'm selling you a house, then I'll buy you lunch while we wait an hour or so for 6 confirmations.
Does the prosecutor here just go "Whoopsie, our bad!", or what?

Yes, that's what happens. It's a cost of having a free society that's randomly distributed instead of explicitly collected from your income, like many costs in a free society.
Indeed, while the name 'container' is apt and helpful for the analogy to standardized shipping-containers, is somewhat generic and has many collisions.

Maybe it needs an extra distinguishing flourish for distinction? Kontainer? Softainer? DContainer?
Dropping charges because someone is at risk of hurting themselves is not a good policy law enforcement policy. The charges could proceed as normal, but extended supervision should be the proper response.
I am realistic:

1) I would think that most researchers use computers and not typewriters to write their papers. It's been this way for a few decades now.

2) While Wikipedia has more donations, since they also have more users and way more data; they have much bigger hosting operations related costs than JSTOR. Even then, they've been able to run below $5 million dollars a year. Correction: JSTOR generates $65 million per year. They have a lot more resources, nicer offices, and much bigger salaries than Wikipedia; even though they have a much smaller audience and less data.

3) Other organizations are scanning books and they aren't charging for access to that data. Also once it's scanned, the ongoing costs are minimal. Storage is cheap and it continues to get cheaper.

I'm sorry but it would not cost $250 million dollars to make this available to everyone. Maybe a huge portion of these costs are due to their expensive Park Avenue office in Manhattan?

> Hint: they won't. Unless they keep getting people to unlawfully access them from an organization that does, that is.

This isn't privately funded research that JSTOR and academic journals are hoarding. It's publicly funded and it should be easily accessed by the public.
His "computers should figure out how to talk to each other" immediately reminded me the "computers should heal themselves" one finds in "objects have failed" from the same author. Both shells seem equally empty to me.

Also, if you want more fuel, you might find funny that he refers to GreenArrays in his section about parallel computing. Chuck Moore, the guy behind it, is probably the last and ultimate "binary programmer" on this planet. But at the same time, he invented a "reverse syntax highlighting", where you set the colors of your tokens in order to set their functionq, in a non-plain-text-source system (see ColorForth).
You are defining server that way. Google is not. So you are arguing about something that doesn't even exist.
Has the build process for PyPy been simplified any? Is it more thoroughly documented now?

Attempting to port it to a new platform seemed an exercise in futility. Every time the build failed and I had to go fix something, I had to start the build from the beginning again. I gave up after a few days.

Given that the build took a few hours on a high-end Xeon workstation with plenty of I/O and memory, I remain hesitant to attempt that again.
They offered him a plea deal for a few months (6?) if he pleaded guilty. The club they beat him with was the threat to pursue 50 years if he fought the charges.

The prosecutor basically did sell him as an Al Capone of computer hacking; a threat to the nation, Mom, apple pie, and all that is good and right in America.
They still have drug trafficking in Singapore, where you get the death penalty for drug trafficking. I think the key is not to make drugs expensive, but to make them cheap. Then the criminals are out of business.
Yes, many of us are in the field of coming up with "the programming model" to handle this as well as general live programming problems. I'm personally focusing on optimistic techniques to deal with concurrency as well as incremental code changes.
don't suppose there's a great c++11 book that shows that, is there? (seem to have been searching forever for a good, modern c++ book, so sorry if this is a repeat)
What caused ISS astronaut's helmet leak? A spacewalker explains
Something Awful's Hardware/Software forum has a huge thread on SSDs. The thread name is pretty explicit of what NOT to use:

"The SSD Megathread - Don't buy OCZ or Crucial drives, read the OP!"

http://forums.somethingawful.com/showthread.php?threadid=345...

To summarize if you don't have an account:

I don't want to read anything just tell me what SSD to buy! (last updated: 07/25/2013)

The Mushkin Enhanced Chronos Deluxe is consistently the best value, get a 240GB or larger drive if you can for best results. The non-Deluxe version uses slightly slower memory, but the Deluxe is usually only ~$5 more expensive so get that unless the non-Deluxe is on sale. See the lists below for more options:

Great, rock-solid drives:
* Samsung 840 Pro

* Intel SSD 520 (probably not worth the price premium, discontinued)

* SanDisk Extreme

* Intel SSD 330 (3K-endurance memory)

Good value drives:
* Mushkin Enhanced Chronos Deluxe (best value, the non-Deluxe version is only a bit slower, but also usually not much cheaper)

* Intel SSD 335 (1.5K-endurance memory, 240GB+ only)

* Samsung 840 non-Pro (1K-endurance memory, 250GB+ only, 120GB version may only last ~3.5 years)

BAD drives to avoid:
* OCZ drives have very poor reliability, probably due to insufficient memory validation.

* Kingston drives seem to have reliability issues, perhaps also due to insufficient memory validation?

* ADATA drives also seem to have issues due to memory validation.

* Crucial drives are plagued by firmware issues. The M4 has had a lot of problems but seems to have stabilized (but is a poor value today so shouldn't be purchased), the M500 is brand-new and has known issues, and the V4 is the worst SSD on the market (far slower than an HDD).

* Plextor drives benchmark well but have poorly-tuned firmware.

* SATA300 and other older/last-gen drives are not as reliable as modern drives.

NEW drives to avoid until they mature:
* Samsung 840 EVO (potential to be the best SSD)

* SanDisk Extreme II (brand new, lots of potential)

* SanDisk Ultra Plus (would make a decent low-end drive, but isn't usually much cheaper than the other faster drives in the "Good" list above such as the Mushkin Enhanced Chronos)

* Seagate 600 and 600 Pro (new LAMD-based drives, seem to have potential)

* Crucial M500 (960GB model is interesting, but M500 has firmware issues, Crucial has a BAD history resolving those)

* Corsair Neutron (new LAMD-based drive with the same name and better performance, how to tell apart from old slower Corsair Neutron?)
The New SEO (When Google Takes Freshness Too Far)
Show HN: Long shadow generator