skysight-inc/HackerNews huggingface dataset:
That's the thing. If the camera is anything near what they were claiming, they didn't need to fake the pictures. The reason you fake pictures (or setup unrealistic test conditions) is to make your product look better than it actually is.

But the decided to, reportedly because the software wasn't ready. Not only was the camera actually that good, but they faked it to make a paper launch, where they didn't even announce a release date.
My mistake. I meant to write "can SOMETIMES be entirely on the stack" -- fixed that just now.

Functions indeed cannot return closures without heap-allocating them. (It might be possible in specific obscure cases, but definitely not in general.) However, if you wish to curry a function foo(a,b), you can do that in the caller (instead of at the function definition itself) by writing:

let curried_foo = |b| foo(a,b);

That is then stack-allocated and can refer to 'a' in the same frame, and can be passed to other functions you might call from there (but not returned upwards, indeed).
> "I bet the next quarter century will see this come to high end cars, not as self-driving, but as augmented safety, like a glorified cruise control that tracks other vehicles, intervenes when the driver is txting and fails to notice the cars in front are stopped, that kind of thing."

High end luxury cars already have exactly these things. I expect to see them trickle down to "regular" cars, as safety features in luxury cars usually do, rather soon.

In fact, there is already talk of requiring systems like AEB on certain classes of new vehicles: http://www.unece.org/press/pr2011/11trans_p10e.html

In addition to AEBs, driver monitoring systems have been in high end cars for years, as have autonomous cruise control systems and lane departure warning systems.

Luxury cars are already so close to driving themselves, it is pretty wild.
How would you implement this? Would you eleminate all elected officials from education policy, such as local boards of education? Who would determine what qualifies as an "expereinced, proffessional educator"?
Where's the peak time to read hacker news?
Would you mind elaborating? I've thought this too; but it tends to come out when I'm down.
For what it's worth, I like Rust because I like Python. Python does strive to have one "obvious way to do it", but that ends up meaning it has a very colorful toolbox full of different ways to solve different problems, much like Rust. Generators, context managers, metaclasses, decorators, and descriptors are all very different mechanisms, but they all work together well.

Hell, I keep discovering that Rust has already implemented language features I'd independently thought up half-baked versions of.

And not to encourage a flamewar, but I believe there's a gigantic unspoken niche that Rust and Go will be fighting over: people like me who stay away from systems programming because it's a pain in the ass. C is tedious, C++ is bozotic, D is obscure—so the lowest I've bothered to go for a while is Cython. But now there's Rust, and I'm genuinely enjoying it, and I see other people who've mainly been sticking to Ruby or Python who are enjoying Go. This will be interesting to watch. And regardless of what I think of Go, I'm glad there's finally some activity in this space again. :)
How do you handle JS tied to document.ready?
How Social Dynamics Made You Successful
Go actually provides what I believe to be zero cost abstractions that map straight to the c memory model, making it very easy to use for systems programming.

If you want a fixed size array of bytes, for for it. Zero overhead. If you want a slightly smarter list you can use a go slice, which is also pretty low overhead. I've personally verified that if I create a struct in go it takes up the exact same amount of memory as the same c structure.

As a concrete example, I recently built an interface to kernel crypto apis using pure go (no cgo). There's no magic to go data structures, you can define structs in go and pass pointers directly to syscalls (through the syscall package) and everything just works. Dealing with large arrays of binary data is similarly straightforward. So go does give you complete control over memory layout if you choose to use it.

The elephant in the room is that go does have garbage collection, and that ain't free. Practically you can minimize it's impact by managing your own memory. In fact that's what Brad Fitzpatrick is doing with his go based memcached implementation.

It all boils down to how you define systems programming. I guess if you mean is go suitable to write a kernel in, the answer is probably no, (but it would sure be fun to try). If systems programming requires having the complete ability to interact with the operating system and all syscalls + tight control over memory layout, then maybe go is the way to go.

https://github.com/shanemhansen/gocryptodev/

[edit]

with respect to python and garbage collection, did you know you can actually turn it off? If you have no cycles in your program you can turn off gc and let the ref counter clean up all your data, similar to Objective-C's ARC.

http://docs.python.org/library/gc.html
So this thing ships with Symbian? Didn't Nokia agree to only ship Windows Phones or something?
I think this article raises some brilliant points, and is very well written, but I also feel that it falls short of the mark Bret was aiming for.

As he himself alludes to, most of what he is teach is not programming - it is individual actions. Just as being taught the meaning of individual words does not teach you to write, being taught what certain functions or statements do does not teach you to program.

What is important is not spelling, but grammar - the shape of a program. His parts on Loops and Functions are better on this - the timeline showing loop instruction order is pretty awesome. However, it's still not perfect. At no point is the user instructed what a 'function' is, and how to use it. How do they know that they should be using it? I agree with other commentators who have suggested that it looks too much like he knows what he is aiming for, and the tool is designed to aid that.

In fact, my strongest criticism is in regards to his rebuttal to Alan Perlis:

> Alan Perlis wrote, "To understand a program, you must become both the machine and the program." This view is a mistake, and it is this widespread and virulent mistake that keeps programming a difficult and obscure art. A person is not a machine, and should not be forced to think like one.

I'm sorry Bret, but Alan is right. You do need to be able to think like a machine. Not necessarily an x86 machine, but an abstract turing machine, or a state machine, or a lambda calculus machine. If you cannot think like the machine, you cannot outwit the machine. This is incredible important if you are relying on the machine to give you feedback on what the system is doing.

In all his examples, very simple things happen, and never go wrong more than drawing in the wrong place. What happens if he starts causing an infinite loop? Or creates cycles in a linked list (and remember, sometimes he may in fact want cycles).

In "Godel, Escher, Bach", Douglas Hofstadter suggests that one of the key ingredients for intelligence is being able to go 'up' a level of abstraction. Bret's comment about a circle being made up of small steps, and hence integrating over a differential function, is part of it. A human can recognise that sequential steps with a consistently changing angle can be viewed as a circle. A human can realise that certain relationships are iterative, recursive, self-referential, in a way that (currently) a computer cannot. This is what needs to be taught, and I fear that what Bret has shown here would not help in that element.

However, it's still going to be a better intro than anything we have currently, so I think that in regards to getting people to dip in and try, it will be a vast help. I just hope that Bret keeps thinking about bridging the chasm between setting down series' of instructions, and programming.
On his twitter[1] he says the domain was hijacked. Couldn't find anything else on the topic.

[1] https://twitter.com/subtlepattern
When you said "No it doesn't", were you responding to my statement that "I imagine it takes some time to learn to properly estimate how much to charge for a project"? Yes, it does. However, your charge-by-the-day method is a great workaround! I'm glad you mentioned it.
The difference is a lot smaller when Galaxy S3 and One X use "night mode", so they are both capable of doing much better in the night (sorry for the weird link - it's from Google).

http://2.bp.blogspot.com/-iL605sRTn_Y/UEy2V15bD9I/AAAAAAAARm...

The question is why don't they do that automatically like the Lumia 920? Perhaps to save energy?
Just saying, those numbers are driven by marketing, and the s3 is a newer device with better tech specs, plus the fact you can't get a JB device from any cellphone carrier.
This is a little like jQuery Mobile's ajax loading strategy? Though I like that it's just links, as doing ajax form submits in jqm seems like it always needs data-ajax=false with ajax forms needing to be very well thought out.
Why do programmers always assume every field is just like computing? Not everything gets cheaper.

Chemistry is a mature industry. Photopolymers are 50+ years old, and unpatented. There's no real reason to believe UV-cure resin will ever get much below $100/litre, which is a solid 10 times more expensive than ABS.
Can it drive in the rain and at night? Can it stop when a dog runs across its path?

Before robotic cars are viable, we'll first need cars that prevent human drivers from causing an accident. If a car can't stop a human driver from crashing, how can it stop itself?

And if people were to see accident rates plummeting for new cars, they would have the confidence that robotic vehicles will be safe too.

We can test robotic safety before the first robotic car takes to the road.
Makes me wonder if anyone is working on a llvm-to-rust compiler.
What Is The Object?
Intel’s CEO: Windows 8 to release pre-maturely
High-Level WoW Players make better employees than Harvard MBAs
Gnome 3.6 released
this should be accompanied with the government providing tax benefits to the organization that indulge in this initiative, which would not only help in advertising and marketing, but will also catch the eye of organisations for their own benefit.
I'm not an expert, but I believe that Rust will allocate closures depending on the data that they close over. So if you reference a stack-allocated variable from within your closure, it gets put on the stack. If you reference a heap-allocated variable from within your closure, it gets put on the heap.

I could be dreadfully wrong, though.
Short answer is "all of it"[1]. 'match' statements in rust also exhaustive. I believe ADTs are used and checked exactly the same way as in ocaml (I've used SML and Haskell and they are the same as there).

[1] not to say dynamic failure is totally gone from the language -- but it is if you avoid both writing 'fail' and using library functions that can fail. A common example is option::get(Option<T>) -> T, which fails if the optional value is None -- it leaves a sour taste in my mouth whenever I use it, but I still do sometimes.
Well, yes, but the terms "malware" and "stolen" imply that something was done improperly (or illegally), that the website owner is being deprived something of something he has the right to. A user has the right to only run the programs of his choice on his computer (and have them do what he expects), so if a program installs itself and steals his credit card data, his right is being violated. Do website owners have a similar right to control how their website is formatted? I think that they don't, so while the owners in question can consider it whatever they want, it is objectively not malware.
Well, I can personally count to 31 on one hand....
They don't seem to have controlled for daily activity, only socio-economic status.

http://www.cell.com/current-biology/fulltext/S0960-9822%2812...

I am guessing there are confounding co-factors that make this research woefully inadequate and not useful.
And the more abstract your knowledge and understanding, the harder it becomes to visualize. It's relatively easy to visually explain classical mechanics, but not so for quantum mechanics.
I wasn't aware of use patents. Informative post, thank you.
I think there are a lot of products out there that have so much potential in the future if they can get past the first hump. Take Tesla for example, it almost died 4 years ago and has now released a working concept of free charges. Think about how far that idea can go, practically "free" transportation much sooner than we could have imagined. Whereas if the company died 4 years ago, how much longer would it take? What if companies decided to start out charging just like they do for gasoline?
Related discussion on the OIS performance earlier today: https://news.ycombinator.com/item?id=4575816
No, you don't have to. It's just annoying when people give talks, or make interesting videos for a product and they forget about people who may be hard of hearing, Deaf or from overseas.

That's such a big chunk of the market that they're missing out on.
Well,
1) It clearly wouldn't be difficult for them to do this, or even to integrate it with the existing Docs editor. The Docs editor can already view them, in fact, so it's kind of baffling why they stopped short of editing.
2) It would be preferable for both usability and performance to have it integrated with Drive rather than as an external app.
3) The Android Drive app can already edit text files.
nifty.

though it's basically a mathematical function, and i'd rather keep my data on my own server.

is there a way to flip it around so I can call it as a function and run it locally? is there a platform for such functions?

seems like an interesting idea....
I have to disagree ... there are a lot of folks who don't learn well being thrown in at the deep end of "mess around until you understand it", and for whom a Bretian visualization of data would be useful over and over again (especially for bugfinding). And what data needs to be visualized is different for different people; e.g., I can easily visualize most regex, but a lot of people love tools like Rubular because they can't. But I have a lot of trouble intuitively understanding functions like the graphical ones in Bret's examples.

As to "dumbing it down", I think programming can definitely have mass appeal, but there's a lot of "I had to learn closures uphill in the snow both ways" going on among seasoned programmers -- in the same way that current medical doctors often valorize their hours and hours of being on call as residents. A trial by fire may seem useful but in the end you just get a lot of burned people. But unlike MDs, there's no protective guild for programmers ...
Are you sure that's accountable and transparent enough? Perhaps we should establish a third agency to handle complaints regarding the second agency and ensure that everything is aboveboard.
And what's their market size? Why are you assuming there will be no economies of scale?
I wondered how long it would take for somebody to call me out for that. It seemed like a sketchy claim when I wrote it (it wouldn't be too complicated to make the @-heap lock-free in rust, for starters), but in retrospect, I shouldn't have said it at all. Thanks for pointing that out.
If you have a problem with your Google-branded self driving car, don't bother looking for a phone number to call or a dealer to talk to. Instead, you can visit their support forums, which may or may not be visited by a google employee in any given month, and your issue may or may not be read, and even if it is read, it may not be responded to. But you can definitely look through the google knowledge base which will helpfully describe how the self-driving car is supposed to work.
Show HN: Rendering ttf with HTML5
As far as learning is concerned, I think this is a wonderful idea. I say this in part because I myself learned on Logo before I taught people everything from Java to Scheme, and even the simplest visualization tools could help immeasurably. For example, we had a tool called the Replacement Modeller that would visualize evaluation and substitution in pure-functional Scheme snippets, which was great for stepping through complex code and showing a student what was happening, and it was rocks-and-sticks next to the things Victor is proposing here.

I'm interested, though, in what the ramifications are for advanced, complex programming. I am personally a Haskeller, and advanced Haskell regularly deals with incredibly abstract, difficult-to-visualize structures. Monads are infamous in this regard, and monads are embarrassingly trivial next to, say, comonads or iteratees. I have difficulty imagining this sort of model expanded beyond elementary visualization techniques, and certainly cannot imagine how one might represent and interact with these code structures.

Victor seems to believe that visual, interactive systems such as these should become standard for all programmers, c.f. the section 'These Are Not Training Wheels.' The idea seems powerful, but: how?
So who would break patent law in the case that a doctor prescribes the $0.05 diabetes pills to a cancer patient?

The doctor? He doesn't really make a profit of this and at least over here in Austria, a doctor may prescribe any substance he wants as long as he can argue that it is for the well-being of his patient.

The producer of the diabetes drugs? They don't sell it as a cancer drug.

The apothecary? He's just following the doctor's orders.
This is somewhat off topic but I have found it mildly humourous lately that Google is building self driving cars but they chose "Google Drive" as the name for a completely unrelated product.
There is surely a continuum between "unassailable logic" and "no research," no?

I've just read waaay too many blog posts (and tweets, and statuses, et al) making assertions that even the briefest, most cursory amount of research by the author would have proven incorrect, or at least more complicated than they seem at first glance. Like, a single Google search, you know? When I find a piece of writing where the author went to the trouble to put in that effort, it automatically goes up in my estimation a few notches.

I take Nietzsche's words about "knowing and over-acute readers" not as a call to not research your subject, but rather to write about it in a way that's accessible to the broad public rather than to experts on the topic. Good writers take complicated subjects and make them seem simple.
I agree they're good to put into the language semantics, but as a side point on C++11, couldn't the compiler actually assume a bunch of things about those templates, since their behavior is specified? GCC, at least, assumes many things about even C stdlib functions, because it "knows" what they do, so rather than treating them as just regular functions, it can make stronger assumptions about them when optimizing, and/or generate code to implement their functionality internally, rather than linking the library implementation.
From a page loaded with pjax? You wouldn't. You'd have to watch a different object.
because airport shuttles run on highly constrained routes between terminals and parking areas.

why would self-driven taxis be cheap? there's still the cost, the maintenance and the security issues.
Google Brings new Google+ Events Notifications To Gmail, Allows RSVP From Inbox
How Location & Small Screen Size Impact Search Behavior On Mobile Devices
Arrested Director of Google Brazil for not taking down Youtube video.
That would be really great! I would definitely appreciate that.
nope, all Lumias are Windows, and this is win8. The first pureview phone/camera with a huge sensor was with Symbian.
Twitter Working to Develop User Analytics
oh, ok, that makes it a lot more clear. thanks!

If I were you I would consider a model where I would be to do a full scan, display only the top X vulnerabilities found, and simply charge more to show the rest of the results.

Another thing I'm curious about: does this work on a pure client-side web application (e.g. my app is just one html page + javascript that loads all the html from templates)? Are you including static urls or somehow tracking "clicks" into a web app? Actually, most of the things I would concerned about in my web applications are things like not validating that I'm correctly doing correct validation in POST-requests. I'd be interested in seeing if you guys are doing that kind of "fuzzing" in that respect (though not sure if there is an automated way to do that safely). Additionally, I'd be curious to see what you detect Nessus/BurpSuite etc doesn't in terms of web application security.

Anyway, neat idea, perhaps I'll check it out a bit more thoroughly and do a comparison.
There's an important difference between a fundraise actually taking 6 months, and a fundraise that you started several months before you were ready (ie, before your company has a "market-clearing" offer).

If, in parallel to fundraising, you are spending months demonstrating traction, preparing decks, modelling out potential outcomes, launching a product, or whatever, the problem isn't "fundraising takes longer than it looks on tv", but rather, "fundraising requires clearing higher standards that it seems to on tv".
The iPhone 5 Camera Is Faulty, Shows Purple Haze When Light Is Out Of Frame
If, against all odds, this scheme works and becomes acceptable, it can't last too long before competitors offering different kinds of service/values copy the same scheme. At which point, it becomes a real estate grab, and before you know it, this new meta layer of ad-serving apps become the ad network itself. I'm not sure that's good thing.
"The 920 took the cake, without question, but the iPhone didn't fare too poorly itself, snatching up nearly as much light as the Nokia device"

How can anybody take this article seriously? The difference between the Lumia and the IPhone 5 is night and day! Lumia looks very clear and bright, while the IPhone picture looks like a screenshot from Night of The Comet.

http://3.bp.blogspot.com/-unWVjA7__B0/Tpsek1bA9-I/AAAAAAAAGZ...
That's fascinating. How is it supposed to slow aging? Have you noticed anything to indicate it's working for you? Are there any side effects?
You attribute too much to these entities called "Google" and "Mozilla". They're made of people.

No executive asks for a new programming language. However at some enlightened organizations, they are willing to let hackers explore radical approaches.

At some point, in order for them to become "official" projects, the hackers have to align the language with the organization's goals. But the imprimatur of their creators is unmistakable.

In any case, I doubt there is any plan to move everything in Google to Go. They're willing to let the creators and some enthusiasts play around with it, maybe deploy a few apps internally. But for Rust to be a success, Mozilla's going to have to use it extensively in their main product.
How does this drug work? Does it reduce your blood sugar somehow? Would it be useful for weight loss?
This has been done wholesale by ISPs for several years.
Ah, so Engadget's little infobox at the bottom is just wrong.
Android was designed, I believe I read somewhere, to be the most carrier and OEM friendly OS possible for smartphones. It was meant to be skinned, loaded up with software by OEM's ad carriers, but still to act as a kind of compatibility layer between devices.

That alone solves the dev problem with Java ME that you would potentially need to do hundreds of separate builds for different devices and so on. With Android you have one version for all devices.

From that perspective, Android has gone beyond Google's wildest expectations and it solved at a basic level many of the Java ME problems, but that's not even close to the same goal that Apple had when they made the iPhone.

Why are people surprised that a system that was designed from day one to be what it is today isn't the same as iOS?
Or people working in noisy places, or those without headphones or forgot them, etc.