skysight-inc/HackerNews huggingface dataset:
> The implementation would also likely be considerably more complicated than the 160 linues of code that the Spray Cache uses.

Not likely, using Twisted deferreds and a sane cache-wrapper with herd awareness -- you probably want this regardless of long-running cachables.

Of course, Python 3.2 also has a futures [thread or process] builtin, if that's your thing.

10-20 lines of code.
NumPy developer here. First, I agree that the "the GIL is not an issue" is an annoying meme. It can be an issue, and when it is, it is annoying as it complicates some architectures. I don't think those architectures are as common as people usually think.

A few remarks: I would qualify the GIL as a tradeoff rather than a mistake. You loose CPU-bound parallelism with threading, but you gain easy to write C extensions (well, relatively speaking). I think this point is critical to the existence of something like NumPy (which is unrivalled in general PL AFAIK).

If you need to share a lot of data (a big numpy array), then you can use mmap arrays, there is no serializing/desarializing cost, and that's efficient. See for example some presentations by O. Grisel from scikits-learn (https://www.youtube.com/user/EnthoughtMedia/ -- disclaimer, I work for Enthought, but all those video happened at scipy 2013).

IMO, the only significant niche where this is an issue is reaching peak performance on a single machine, but python is not really appropriate anyway -- that's where you need fortran/C/C++, and even scala/java/haskell are quite unheard off there.
Au contraire. This is exactly the Google of today vs back then's Google.

The Google of today focuses only on social and mobile and, GoogleX aside, will not green-light anything that will not benefit those two. You can ask anybody who works there how the 20% project time policy has changed or how certain teams have all the resources and cool stuff while others struggle.

Android under Sundar Pichai is not much better than it was under Andy, although I'm glad the latter is gone. And Vic Gundotra, well, he's one big hypocrite.

Google is still a great place to work, but the politics and trying to create the next Facebook have pretty much ruined its culture.
Rust 0.7 released
Finally found time to implement support for the Web Audio API (AudioContext) and optional export of raw-audio-data. Also the Chinese voices "zh" (Mandarin) and "zh-yue" (Cantonese) are now part of the standard distribution.

Thanks to the use of the Web Audio API (which is now the preferred method of playback) it plays fine on Safari/iOS (while it needs some time for processing). With IE11 coming soon and Opera having switched to blink, there should be support for all major browsers (current versions).

meSpeak.js is based on eSpeak and speak.js, an Emscripten-port of eSpeak to JS). Many thanks to these projects!

http://espeak.sourceforge.net/

https://github.com/kripken/speak.js
I really like it!

One minor error though: you misspelled "Hadoop" as "Haddop" on the listing gleaned from our "Who Is Hiring" posting even though the original doesn't have the mistake. Are you generating these automatically or manually?

Thanks!
What a remarkable life!
It's amazing that he was working on augmentation already in 1962.

Augmenting Human Intellect: A Conceptual Framework

http://www.dougengelbart.org/pubs/augment-3906.html
Yes, I know HTTP runs over TCP. I expected the context to be sufficient to infer that I meant a non-HTTP, single-connection, non-JSON protocol over TCP/IP. Being able to send one TCP packet with a payload of "SET 1,hsb,280,255,0" is faster than a complete TCP handshake, followed by an HTTP PUT to a lengthy URL of a JSON-formatted message. The CPU load on the puny processor in the Hue bridge would be significantly reduced as well.

Has anybody done HTTP over IPX?
you could still require the user to HMAC too, just for filter's sake :-)

alternatively, make the 'submit job' feature only available as a (documented) HTTP POST operation without any matching HTML form.
Why DRM-free comic books are a big deal, even if you don’t read comics
Big ups to you guys for launching!!

Two of the guys who built this are my pals. Very dedicated makers - they'll look after you.
> I feel like there should be huge protests about the NSA situation right now in the US

Weren't you all going to protest on july 4th? Tomorrow?
I can see blocking CC transactions that originate from a VPN provider's IP space, as having a high risk of fraud. But this is about blocking payments to the VPN providers, which seems somewhat different. Are they worried that the purchase of VPN services is itself often done via CC fraud? From the statement it sounds like they're more worried about the existence of VPN services at all.

It doesn't personally affect me, though, because just about anything you can do via a VPN you can do by buying a VPS and ssh -D'ing through it. It takes slightly more technical skill, but anyone who can operate PuTTY can do it after reading about 1 page of instructions. And I consider it unlikely that Visa will start blocking payments to Linode or Digital Ocean...
Tencent, eBay in Potent Partnership
>>>It's the perfect example of a practical solution Doug invented decades ago that still hasn't been matched by today's technology.

I just told one my co-workers about this and he nearly broke down crying. I asked him who he was and he went into the same example you gave. To say he was ahead of his time is an understatement.

Always sad to lose such a visionary. I'm just learning about some of these incredible people and their amazing contributions.
Army Ousts Egypt’s President
I just looked and you can't get them (legally) online for free anymore. Too good to be true ;)
The value isn't determined behind closed doors; the strategies that they are going to use to push the value of cash to a desired value are determined behind closed doors. This can be done for any (crypto)currency or commodity, because nobody gets to determine what other people are willing to pay for something, you can just try to make that thing more attractive or less attractive.
I believe a black bar at the top of Hacker News is in order.
How Did the Game Genie Work?
> Noone does parallel compute on CPUs these days, not since GPGPUs rocked up almost 5 years ago

I want to live in your world where all you are processing is vectors and FFTs in parallel on GPUs and not doing real work (accessing databases, processing data from sockets, etc).

Threading is not dead. It's only crippled in python so everyone wants to invent ways of saying it is dead.

Threading being hard to write is also a fallacy. I use thread backed dispatch queues which make concurrency simple in my language of choice right now. Threading like that is easy thanks to closures and a good design patterns. My apps are entirely async and run heavily parallel and it's easy to maintain and write using that.
Engelbart was perhaps the most important influence in realizing the computer as an interactive medium.

Around 1960, most were still thinking of the computer as a sophisticated calculator. You give it a problem, it spits out an answer. Even the idea of artificial intelligence was framed this way.

Engelbart realized the potential of the computer to augment human intelligence. High bandwidth, continuous interaction between human and computer allows the computer to be an extension of the mind. Chasing this vision led him and his team to naturally invent the mouse, bitmapped screens, hypertext, networked computers, etc.

IMO, more important than these individual inventions is Engelbart's foundational principle that technologies change what the mind is capable of thinking. And by augmenting our thinking, we enable ourselves to create new technologies. Mind and technology co-evolve. This is "bootstrapping" in the purest sense and the source of that profound feeling many of us have experienced while augmenting our minds through programming and other rich, creative interactions with computers.
I forgot I had this site opened in a tab amongst 12-16 tabs. With the tab that small, I thought I had a site open in the background about handjobs until I clicked it and realized it was the HN job board.
The Power of Apps for Literacy in Secondary Schools
Multiprocessing is the way to do parallelism.

Nowadays I use Scala/Akka for concurrent event processing. As far as code organization goes it is a lot like multiprocessing. Just s/actor/process/. But unlike unix style forking/IPC, I don't have to waste memory/cpu cycles serializing/deserializing immutable messages just so another process can have a duplicated copy of it.
Oh, so something more like the conviction of Terak Mehanna, who was convicted for espousing and translating documents about jihad?

Or the Irvine 11, who were convicted (thankfully of pretty minor sentences) for protesting a speech?

Or Walter Bagdasarian, who said that somebody ought to "shoot the nigger" (referring to Obama) who spent years in prison before being released on a circuit court appeal?

In short, the 'successful charge' does add height to the hurdle, but the rampant arresting of people for their exercise of free speech is a problem, whether or not it results in a conviction. For many Americans, a week spent in jail, later to be released, is a very big problem; both from the result of lowered reputation as well as the financial impact.
General Motors Hiring Developers
We are looking for some top notch developers to help GM in its rapid rebound.
Java is a general purpose language that frankly doesn't do any single thing well compared to today's alternatives. It still has value as a general purpose, "jack of all trades" language but this is becoming less relevant today.

For general purpose computing, Go is catching up and beating Java in some performance benchmarks.

For web application development, Ruby and Python have come with less ceremony for years compared to Java and J2EE. Also, Javascript with Node.js and the exploding ecosystem around JS frontend frameworks make Java less relevant.

For concurrency-related challenges, FP alternatives like Scala and Clojure are winning hearts and minds while allowing people to continue to utilize the mature, solid parts of the JVM ecosystem.

One area where Java remains dominant is in Android development, but the language doesn't seem to be evolving there in comparison to the way ObjectiveC is evolving alongside iOS.
I'm not riding you here, honestly. I do ask why you think it is bigotry and why we are entitled, as Americans, to go to Europe.

Let's skip the forcible removal for the moment and just keep it on tourist/business travel at the border or at flight check-in.
I just added one -- see https://github.com/rethinkdb/rethinkdb/issues/1118.
Is Rust always going to require MinGW on Windows? I'm very interested in Rust but this is a stopper for me if Windows executables are going to need this.
Egypt's Morsi 'Told He Is No Longer President'
Well, it sounds like a good start - at least for the cache example - would be a shared memory hash table. Building one in pure python with the existing multiprocessing primitives is doable, though obviously not trivial. Building one in C is also possible, though obviously there's the development time / performance tradeoff there.

A shared memory hash table actually seems like a really useful thing to eventually make its way into the multiprocessing module.

For the event example, parsing the data structures into shared memory and then accessing from there would remove the parsing and memory overhead he complains about. I don't really want to dig in to the standards he cites and see how difficult that solution would be, but again, I can't see a reason why it isn't possible.

At any rate, in both cases, the solution is definitely doable; there's nothing inherent in python's concurrency model that "prevents you from properly making use of modern multicore hardware"

Side note: shared memory access in modern multicore hardware may not get you the performance gains you would initially think. Especially for write-heavy workloads, cache invalidation is a huge problem.
This is to purchase VPN service. What your saying is equivalent to 7-11 pressuring Visa to stop processing payments with gun shops because guns are used to rob 7-11s.
I realize sarcasm, but I wish to note the following facts about the world:

* All currency and barter systems ever successfully deployed have been used by criminals, terrorists for money laundering. The use of these systems by such people is merely a sign of widespread adoption and ease-of-use.

* In the modern world every human is a criminal because the laws contradict each other and almost all human actions involve the violation of laws.
No one said you can't be parallel in python. The problem is that you can't use simple threads and must resort to separate processes, shared memory, and IPC to shard out your work that way.

CCP uses twisted which manages to help you with yielding when doing async IO keeping as much work off the GIL when you are waiting on data and sockets and builds in cooperative multitasking concepts to let you yield to other work, but it's internally not multithreaded or multiprocessing out of the box. You still have scale up worker processes in some cases (usually one per CPU you have) to really make it effective.
You are a competitor. You are scraping material. Just make your app easier to use. I mean it's not rocket surgery. How could the New York Times let you scrape an article to put on your own site. Just give it a rest and take your lumps and move on.
I thought that was the point, though. Just because the schema is not explicitly set in the database, does not mean there is not a "de facto" schema. Sure, some changes will be easier this way, but just changing things is almost assuredly going to break something.
Make sure you walk or go by bicycle or public bus, too. Untracked personal communication and conveyance over long distances is hard in the present system.
I think you mean't to say something like naive about alternative approaches right? Because calling someone an idiot will more than likely make pg block you.
With copyright and squalor
You can actually manage a deployment methodology this way (update x number of hosts kinds of things) pretty handily using Mcollective with puppet. You can even script your own plugins for it to do basically whatever orchestration flow you want. Pretty cool toolkit and I use it myself.
live video feed: http://www.youtube.com/watch?v=rbL_q1i7-Pk
I was unaware that redis had that feature, I'll update the blog post to reference it. Thanks.
If you're speaking English as a second language, I feel for you. Foreign languages are hard with pronouns. If you're a native English speaker, reading the article first leaves no questions as to who is who.
Ask HN: Is there an open standard to replace SMS online?
I think that XMPP is great for instant messaging but doesn't really reflect how people use communications most of the time which is basically asynchronous messaging. Is there something to replace SMS/MMS and be open like email? I feel like Apple, Google and Facebook are trying to control the space right now with iMessage, Hangouts and Messenger respectively
> Other than claims by the author of G-WAN

It doesn't really help that the author gives off some mild "losethos" style vibes (the rantings about open source software, the weird "buy an encrypted archive of the source" thing, etc.)

I'm sure it is very impressive in some very limited circumstances, but it really isn't something that I want to get close to. I can't trust people so.. untrusting.
Well at least it's not Cygwin...
Yes, it is. We are mostly professionals here and understand the limitations of technology, specifically when talking about latency and implementations ranging from websockets to long polling. We look past these minutiae and get to the real subject of getting data to the user as soon as possible. Generically, this is referred to as "real time".
Do the executables require MinGw to run or just to build?

EDIT: DASD above says "all Rust executables require a MinGW installation at runtime."
> I think that the threaded model is in general easier to work with, rather than shared memory.

The thing is, threaded models of programming in other languages already use the "shared memory" model, they just make it more implicit. Which leads to tons of problems for inexperienced developers who don't really understand concurrency, or the performance problems that shared memory can bring in modern processors.

> In the end, everybody needs to consider their personal needs and make a tradeoff.

Agreed.
Accessing databases, processing data from sockets, are not CPU bound activities? I believe you've misread my post.

For all your IO cases, and all your cases are IO, would you, and future maintainers of your code, not be better served with simpler abstractions which permit scaling past a single host?
Is it soup yet?
For the event example, garbage collection is the tricky bit, not sharing. Sharing could be handled merely by writing C structs linearly to an array - it's cleaning them up when the message is done being processed that's the problem.

A shared memory hash table is a) tricky to do and b) would require repeated polling of the hash table by client processes. Or perhaps you'd need to write to the hash table all the clients who are listening to that future.
Heh - I think the younger programmers were right on that one.
In the demo video, there are some noises in the background, I'm assuming from his workstation -- rather pleasant and atmospheric. Anyone know what they are? Is it a transmission artifact? Feedback intended for the user (maybe related to the chorded keyboard)?

I've read several accounts of this presentation ( one is in _What the Dormouse Said_ ), but don't recall an explanation.
I think there is significant demand for a good Windows solutions in this space. Chef and Puppet have Windows support, but I don't see much community momentum around it.

Powershell is the obvious choice, and, as of v3, I think it would be a viable transport for Ansible. If you or anyone on this thread wants to put some ideas on paper for a PoC, I'd be glad to help. Email in profile.

PS. Thanks for your work on Cobbler. We used it recently for automating VM template builds.
Looks good. But how do you resync?
What exactly does Russia have, except for a ridiculous land-mass? As an economy, it's only top 8. Is it the military? Is it going to use its forces to wield power over the rest of the world? It will need allies for that: does it have enough allies?

How exactly would Russia become the next superpower?
No, Mastercard International has now stated that they are ending the blockade.

In a letter from VALITOR´s lawyers, VALITOR relates how it sought the opinions of MasterCard International and VISA on the proposed July 1 cut-off. In its response MasterCard made clear to VALITOR that it no longer desires to blockade WikiLeaks. VISA has not responded.
Off topic? Not sure.

This post brought into my attention Intercom[1], which seems like a great product, which perhaps was and is still built with that "The Art of Saying No" philosophy, and which can help you communicate with your users and say yes or no to their requests.

[1] https://www.intercom.io/
That's a great idea and an important next step in this type of technology and the world of reporting.
It is the intention to support MSVC: https://github.com/mozilla/rust/issues/1768
I was definitely allowed to ask my lawyer again

"Mr. Lawyer, can I ask you a couple of questions?"

"Yes. What is your other question?"
Samsung Origami
Sad to hear he is gone. I got to talk him at one of the Computer History Fellow awards ceremonies and was struck by how clearly he thought about things. He will be missed.
Intercom: Communicate personally with every single customer
I really dislike the combination of the power of Visa/Mastercard and the war against cash.
In noSQL world, any DB's default settings should be a giant red flag. Don't get me started about HBase... I lost 2 hours of data this way. :(
One simple way to avoid such payment issues is - always host code in your servers.

- Make things clear in the start, the workflows and Billing process.

- If you get small hints of late payments or slow payments, just stop the work for some time.

- Keep Milestones and proceed one step at a time. We follow checklists with all our clients at ninjaas.com

- Only after your final payments are cleared, consider moving code-base to the production servers or give them the access keys.

- Don't ever get nasty with any client.

If things got wrong, maybe it was your own mistake in the first place somewhere? You missed gathering requirements or something better be done next time to avoid such steps!

Finally Learn the process: We've learnt these things the hard way. There is no general formula. :)
I would love to hear something from the author of the wiki about how he uses those notes, because I have mostly the same feelings, it looks like a CS tumblr, a hodgepodge of random concepts from random areas. I took some similar notes in the past (but nowhere near the volume) and I benefited little from them. Today I think I would just go for large sheets of paper and basically prepare cheatsheets for myself from the areas I do some work in at least from time to time. You really have to put in the effort to organize it clearly and have some focus or learning-related note-taking becomes a waste of time in my experience. I do use Emacs with Org mode for notetaking daily though, for throwing together todo lists, organizing links, keep track of learning sessions etc.
Fans of the Humble eBook Bundles should note that storybundle.com is finally running another SF-themed bundle. It's going on right now.
If you want to store or transfer your wealth with something backed by something "tangible", you can always trade in commodities.
Let's remove the politicizing and make it a better analogy in any event: It's equivalent to 7-Eleven pressuring Visa to stop processing payments with ski shops because people who rob 7-Eleven stores often wear ski masks.
I don't think "real time" means what you think it means.
Thank you. For those interested in the original FAQ(https://github.com/mozilla/rust/wiki/Doc-language-FAQ) and hence my reason for asking...

"Does it run on Windows?

Yes. All development happens in lock-step on all 3 target platforms. Using MinGW, not Cygwin. Note that the windows implementation currently has some limitations: in particular tasks cannot unwind on windows, and all Rust executables require a MinGW installation at runtime."
The Successors of Orwell’s 1984
How about "they should be an invitation to learn more about the system" :D? As far as I can tell, in many cases these defaults have almost never been reviewed by devs because most of the early users already knew what tweaks they needed.
Very nice. Definitely one of the better looking Bitcoin services out there.
People attacking zionism and the existence of Israel are generally being anti-semitic. MLK was correct in that accusation[1].

Does the Israeli government do things that I, as a zionist, despise? Absolutely. Does this mean that the State of Israel is illegitimate? No.

[1] http://en.wikipedia.org/wiki/Letter_to_an_Anti-Zionist_Frien... Even if one comment, taken out of context, resulted in a much more general Twain-like attribution.
And if you see a hit and run, good luck helping the other guy out by "grabbing his plate number"
Note that that bug is filed under the "backwards compatible" milestone, which is the absolute minimum for a 1.0 release. Barring drastic circumstances, you should assume that MSVC support will land before then.

However, Rust really needs Windows-savvy developers! If you can help, please do.
Hi! I've tried a couple of days ago and after running the getting started, noticed that none of the tutorials in the right column were available. Did this changed ?