skysight-inc/HackerNews huggingface dataset:
That makes sense, thanks for the info.
Re protection, see:

https://github.com/chrislusf/seaweedfs#rack-aware-and-data-c...

(Not an author or anything, just found this project today, and it's interesting enough for me to test it out.)

Edit to add: I've done some testing, SeaweedFS definitely replicates. When the client wants to read from a volume, it should do a lookup and Seaweed will return the URLs of all volume servers which are up at the moment. So far I've just been testing 2-way replication with one server down at a time; it works fine.
Ask HN: Are there any AWS/Azure like cloud services that aren't based in the US?
I am doing some business continuity planning and cannot seem to find any suitable candidates.
Distributed KV blob database seems more apt. I don't see anything here resembling a filesystem.
I just want something that'll collapse 2 columns into 1.
The map of the intended extent of the factory is interesting. It's not even halfway completed yet. When people say that this is the largest factory in the world, do they mean that it is currently the largest, or that it will be the largest when fully completed (presumably by 2020)?

And even if Tesla does end up going kaput, the factory shell may very well be a mecca for urban explorers. :)
At the time, they were the only one. I'm not surprised more have popped up since.
Maybe there is too much to rewrite.
I am assuming you are talking about privacy issues. Google collects a lot of data, but is very thoughtful about how they use it, who has access to it and gives users options to view and delete it.
From the sound of things, what France really needs is to break up its largest companies and implement much stronger competition laws.
>I do however always accumulate/optimize for maximum ammo/currency/gear/weapons/items, to the point where I believe I completed >80% of Half-Life with the crowbar, to conserve ammo.

I tend to do that too, but I hate it. Ruins the fun. Though, one time I did tell a friend playing Doom 3 to conserve ammo as much as possible because he'd "need it later". He wasn't too happy with me after his hard work was stripped from him mid-game. :)

It's even worse though when the game itself incentivizes the behavior. Deus Ex: Human Revolution, for example. Melee kills awarded more XP, so it made sense to just melee everything to max your skill progression. Then you finish the game (and its terrible ending, unfortunately) with enough ammo to fight a one-man ground war.
Hm. I think you're right. It's probably my classical OOP conditioning causing me to conflate them.
That's not how pair programming works.

At some point you're going to need more than one person to understand the code and they either go through that learning process months down the road or right now when they can be most useful in shaping that code.

It's not simple mathematics.
You can get it with a "post-secondary certificate" combined with three years experience.
I see. So you are relying on single-reads of your shared variables. They must be suitably defined to be atomic on your architecture (so no word-tearing, out-of-order visibility), etc.

I would think that if you had all the proper barriers in place to do the reads and writes atomically, though, that you would never have been able to use the min() macro in the first place. You would have had to do your barrier reads into local variables first, and then the min() macro on those local variables would have produced the right result.

Unless I'm missing something. Like I said, it all depends on your implementation, but in general, this sure sounds like the min() macro wasn't at fault. Perhaps your specific scenario is much more constrained (single architecture, no barriers required, non-portable, etc).
The AI “Master” bested the world’s top Go players revealed itself as AlphaGo
That looks like a super interesting runtime. Seems to target 2.7 only, I hope they're open to supporting 3.x as well.
Amazon Echo Raises New Privacy Concerns
Seems to gloss over the details. Who is grooming the replication in case a volume replica disappears? What happens when a client is writing a replicated file and crashes in the middle?
It's not just a matter of changing the implementation language from C to Go, they wanted to remove the GIL as well. For that you can't even use the existing CPython design.
CIA chief addresses ‘doubters’ of Russian hacking report
This actually pretty great. Even if you will never run your code in grumpy, it underlines the status of Python. Having large corps investing in Python will help pulling in new talent into the Python environment also it strengthens the ecosystem of Python.
AI and VR Are About to Transform Business.  How to Be Prepared
It's going to be very interesting to see how this impacts global battery supply pricing. Will external factors (limited supply of raw materials for example) limit the impact to Tesla only, or will having a huge consumer of batteries leave the market open up supply to the point that prices drop dramatically?
But isn't that really what lets them do this? In following PyPy (and other alternate Python discussions) it seems like eliminating the GIL and getting better performance out of Python, even in C, isn't that hard if you drop the C extensions.

As soon as something can see into the guts of the interpreter you have to maintain compatibility which is a pain/waste.

Worse than that is that view wasn't designed for multi-threading which is why the GIL exists. The C extensions were
t designed to be multi-threaded because that wasn't a thing in Python so they're not safe. You either have to drop them, define a new interface layer that would be safe, or I suppose somehow sandbox their little view of the world but keep it coherent between threads.

If you have a codebase where you can make the choice to drop C extensions and you're trying to accelerate Python it seems like a very smart choice.
There's a handy YouTube video covering various improvements:

https://youtu.be/EI1hxXt9U4c

I had to pause it quite a bit, but the demonstrations are nice to skim.
I'm trying right now to build it from source, and I'm astonished that it doesn't come with automake tools.

I'm pretty much used to all the sources to work with "./configure && make", and have a BUILDING.txt or INSTALL.txt. k2pdfopt doesn't have any of this.
The author of that article seems to forget that the stories in Star War happened 'A long time ago, in a galaxy far, far away'... not in the future, not in our civilization.
IPFS is a protocol and implementation of the distributed web. SeaweedFS is an open source version of Facebook's Haystack, a centralized filesystem (with redundancy across multiple servers). See https://www.usenix.org/legacy/event/osdi10/tech/full_papers/...

TLDR, Haystack implements a sort of append-only journal design where smaller files are concatenated into a single large "journal" file. After adding, you get a "filename" back that is based on the information needed to locate the data you are interested in. volumename_seekposition.jpg, for example.

Essentially, you eliminate the need for FS metadata this way, which leads to less disk hits for read operations. Open volume, seek to position, read contents (including metadata) until end of file, you're done.

There is then a single-master database that controls the location of the volumes (with a redundant failover), which is possible because managing volumes is less difficult than managing the position of every single file in all the volumes in the system. I think they just use MySQL, amazingly.

Pretty neat idea. It's designed very specifically for photo storage at Facebook.

The main drawback with this design is that it doesn't support binding filesystem paths well - to do that you need a K/V database to match the name you want to the filename needed for Haystack/SeaweedFS. SeaweedFS can do this with a separate Redis and Cassandra "filer" database, but the Redis and Cassandra backends are currently implemented as "flat namespace" stores, so filers using them may not perform directory listings at this time. Huge drawback if you need to 'ls' subdirectories of files, for example.

That was a dealbreaker for me for neocities.org implementation, also maintenance was still an open question with SeaweedFS (when things fail, what do I do to fix them?) so I ended up going with CephFS.
In the end of the debate, it would be interesting to show the score of each participant.
The performance of such a system really depends on what you can expect from it.

If your system is distributed without full replication (and no overlap between nodes), then having offline nodes is easy - you just access to your local data, and the rest of the network can't access it.

If you want to support full replication, or even partial, you'll want to detect (and maybe resolve) conflicts, and depending on how long you think a node can be offline, you'll need different mechanisms. If you expect nodes to be offline for really long periods of time, then you'll need to keep a lot of state around to be able to detect conflicts later - therefore making it perform worse (bigger latency while replicating data).
Ask yourself how much Python code you think Google has. Then multiply it by some large single-digit number, minimum. Then compare the effort of spending 30 seconds per line on that code vs. writing a new Python interpreter/compiler/runtime, especially when you can trivially get people who are capable of doing that.

There's a reason why the large companies often end up working on new runtimes/interpreters/compilers like HipHop for PHP, Hack, and so on, rather than working on the code bases written in those languages. It is very easy for it to not just be easier to leverage in at that level, but an order of magnitude or two easier. Or three.
I think he's talking about moving their Python codebase to Go, so they don't have to run Python anymore.
The internet was better when we were all anonymous. It felt like we could do anything, be anyone. The world was ours.

Then social media came and destroyed that dream.

Consider the difference in mood between the idea of creating a metaverse in the 90s/00s to creating one now.

One is the freeing experience of Second Life or Active Worlds and the other is that widely circulated image of a large crowd, all wearing GearVR headsets while Mark Zuckerberg strolls past[1].

[1] http://i.dailymail.co.uk/i/pix/2016/02/22/16/3173A1BA0000057...
> With Alexa, I'm constantly feeling like I'm playing MadLibs with my eyes closed.

Well said!
Agree. Six hours a day seems foolish. All that time getting ready for work, commuting, etc only to spend six hours at work. I'm a much bigger believer in just being closed on Fridays if possible
That's a good analogy. Also you can be the person you always wanted to be, or you can be the person you see yourself as, which may not be the person that you are in real life.
They don't get paid for the accuracy of their public pronouncements, it's just a marketing tool to raise their profile. It doesn't prevent them from being competent and maintaining clients.

Also, most clients would be more than happy to have someone proclaim that the reason they got owned was because they were the target of spooky foreign state actors and not because they're bad at security. There's no money in downplaying the sophistication of an attack.
I'd assume that's true, but they also didn't know how well this would work. A 'little' project to make Grumpy is probably much easier to sell to management/throw away if to slow than "Let's rewrite all our code in language X to see if it goes faster".
As a fellow idealist, I feel the battle has shifted to online services, and it may actually be much more significant there than it ever was for desktops.

After all, looking back I can't easily point at actual harms created by (for example) photoshop's proprietary nature. But it's almost universally accepted that there's a danger in the walled gardens of Facebook or Google.

I'm hoping that the idealists will be able to defend/create open protocols and networks. There have been some successes, mostly when it was in the interest of industry heavyweights as well (i. e. Apple killing flash, html5 takings its place). Currently endangered is E-Mail and essentially dead is personal publishing.
Do you want to lose weight in 2017?
Having worked on voice control systems, I was impressed by the consistency with which Alexa switches among tasks. If you are not attuned to what's going on, it feels perfectly natural to interrupt some tasks and return to them, while ending other tasks after briefly diverting to them. It's a voice/media/data access task management system that needs no visual indicators.
The last game I played was Wolfenstein 3D. After that, I considered all video games a waste of time. They might satisfy some need, but one the game is over or your mom cancels your subscriptions for not eating your tendies, what do you have? A bucket full of nothing.
From the post it looks like it is optimized for multithreading from the start, so they possibly used the multithreaded version with thread count = 1. When you care for parallel workloads its not so important if your single-threaded code is the fastest.
A guy at a company I used to work for made a great video on this. Very understandable even without any background on the topic: https://www.youtube.com/watch?v=YX40hbAHx3s
It isnt normal, but once a women is targeted it becomes very bad very fast. So while it isn't normal for any paticular women to be harrassed, it is very normal for those wwho are to be so shockingly harrassed that it paints a false picture of the online community as a whole.
I don't think it's rare for people in police custody to die from a combination of rough treatment and neglect.

https://en.wikipedia.org/wiki/Death_of_Freddie_Gray
In the US the 8 hour work day was established by FDR with one feature being that it would tighten the labor market (and reduce unemployment) by forcing employers to hire more people.
I wonder if they intend to maintain it long term or if they're just going to use it as a bridge while they rewrite things natively in Go.
Very interesting project and technical solution. Is this in use at Google? The described example problem is Youtube with millions of requests per second, but the post doesn't say if it Grumpy was put in production (and what performance gains were then achieved).
Search wikipedia.org and openclipart.org.
Adding Infinite Animated Hero Text with JQuery
Sure, Google offers a better technical solution.

But do they have enough incentives ? A good business model to be willing to offer it for almost free for people ? The will to push it as hard as Amazon does ? It doesn't seem so.
I like dogs but I would avoid taking an unknown dog into my car. It may pee or poop somewhere. You never know. To me, it's like taking a drunk person.
In case anyone wanted the github repo: https://github.com/google/grumpy
Did you try the solutions at [1]? Have you considered upgrading? Be careful you don't get into issues with DNS related to [2] in 10.10

[1] http://howtoapple.com/mavericks-wifi-issues-fix/

[2] http://arstechnica.com/apple/2015/01/why-dns-in-os-x-10-10-i...
Statistically modeling them using the prior dates of leap seconds alone isn't a good method (if that's what you did, not claiming that it is). Knowledge of the past leap seconds doesn't really tell you anything about when future ones will be. A better way would be to model the difference between UTC and UT1 and model the rate of change there. Probably the best would be to model the earth's rotation rate and factor in the likelihood of the events that cause variances. One major source of those events is earthquakes.
The number next to thumbs ups indicates the votes each debater has got from the spectators.
I did ask her if she wanted help, since she seemed a little lost, and she said yes, and seemed glad someone offered. I definitely should have asked for a little more instruction on how to help.

I've seen her now and then in the same subway station, so she may have been starting a new work commute.
It could be part of the auto migration effort.
meant 1977.
The main reason this _very_ small scale experiment seems to be scrapped early is not because of costs, but politics. Right-wing politicians have seemingly wanted to end it as soon as possible for quite some time now - and obviously voted against the proposal from the start as well. And at this time and age, employee satisfaction and health benefits doesn't hold up against screams about costs.
> They talk about master nodes and slave nodes, while at the same moment claiming that there is no SPOF.

If I remember right (its been a while), the master and slave nodes mentioned are just in the manager which is control of the ring. Every other component can operate with nodes failing all over the place without failures.
fun, interesting idea and tech, might be more fun to work for a company pushing the edge of machine learning, or working in VR or that would let you use haskell or rust. The startup might be started by a group of friends/colleagues that you love working with, it might be 2 miles from your house. They might be the only one willing to hire you and take a chance at you. You are willing to GAMBLE and accept that it might fail and all you will have is the pay you got while employed. There are tons of valid reasons for working for a startup, and what else is wrong with making someone else rich? Not everyone is an eagle, some people are little birds that must find an eagle's back to climb upon so they can soar higher than they ever can on their own.
Python needs a new runtime. This talk shows how bad of shape it's really in.

https://www.youtube.com/watch?v=qCGofLIzX6g&list=PLRdS-n5seL...

Basically, the language doesn't have a "spec" per-se. The language is whatever the defacto CPython implementation happens to do within it's giant eval loop.

Another great talk about CPython internals:

http://pgbovine.net/cpython-internals.htm
If this experiment shows that the costs are too high reducing working hours, I wonder how UBI could be cost effective.
I don't have any :(
The Calm Company (our next book)
Football team entering Dallas on I35 had a police escort. Fortunately I was headed the other way. Without the escort it would just be a couple buses going the same speed as everyone else.
How do I make diagrams and charts in this style?
It's important to note that the games were played on a fast-paced "blitz" time setting where AIs are particularly strong compared to humans.

I can already barely follow what is going on on the board, so I'm sure watching slower paced games against pros would be interesting.
Two points.

First, income from rent (say, for real estate) isn't divorced from work. The landlord has to make some arrangements for the upkeep of the property. The renter, by virtue of being a renter, can't be responsible for everything. If nothing else, the landlord must make and maintain a business relationship with a property management firm.

Second, critics of universal basic income have not neglected to note the destructive effects of the lack of useful labor among the upper classes. The decadent aristocracy has been a trope in fiction, history, and priestly sermons for ages.

Anti-Enlightenment scholars and traditionalist Catholics have pointed out that the nobles in the Vendee worked the fields much like the peasants. The nobles had more land and better land, but not extravagantly more. The Vendee and Brittany launched the counter-revolt that nearly ended the French Revolution. It was the provinces whose nobility were busy buggering mistresses in Versailles and Paris that fell most easily to the Jacobins.
In my experience it's a fun problem to solve. An engineer gets to design complex architectural solutions, acquire hardware, work with various database solutions, and generally work on larger problem domain than the problems you mentioned. Uptime, performance, and memory are all very important problems but you rarely get to venture outside of the current code base when solving those problems.
Nobody knows the future. People who are giving you definitive answers are guessing at best.
Fantastic. The sample is prerecorded. Any new debate will have the cheer and boo with much lower volume.
Thanks for the pointer, I may stick an extra disk in there and give Hackintosh a shot. Can you imagine how fast Apple Motion or Final Cut Pro would run with a GTX 1070 GPU behind it?
Show HN: DevDecks- an open-source presentation app for developers
Seems like a huge effort for the interim... unless they really need interoperability between Python and Go during the switch.
The main reason I moved from coding in Python to Go as my main language many years back is because concurrency was such a pain in standard Python (the other was compile time error checking).

It's interesting to see the same pain has now made caused the runtime itself to be implemented in Go.

It's a pity C extensions (often used in scientific computing) are not supported but Go does have support via CGO, so maybe some approach can be worked out to access C routines in the future.
Simulating "the brain" for any non trivial brain[1] sounds even harder than simulating "a brain" (or creating AI in some non-brain-resembling form) since it would appear to imply identifying what the billions of constituent parts of a brain do well enough to generalise rather than merely copy patterns of brain function.

Someone who probably isn't wholly uninformed asking if we're getting close to AGI this year is obviously a symptom rather than the cause of the hype. I mean, if we're working on Ray Kurzweil's Singularity is Near timescale, I'll be able to buy computational power equivalent to the human brain for $999 in three years' time. Still, Peter Diamindis did update that a couple of years ago by pushing that deadline out to 2025, so I guess at least I'll still be smarter than my next bottom-spec Macbook Air.

[1]C elegans is pretty trivial
I'm thinking it isn't in production yet, based on wording like "we're excited about the prospects" and "although it's still alpha software".
You have the same as what you have after watching a movie or reading a book.
Most lock-free code I've seen is pretty architecture dependent and often non-portable, and this was no exception. I should also note that it was only intended to be correct for a single reader and a single writer.

Given those constraints, it's not all that difficult. The amount of data in the ring buffer gets stored in a properly aligned word-sized field which the architecture guarantees will have atomic reads and writes. You just need a write barrier after writing new data and before updating the amount of data available, and a read barrier after reading the amount of data available and before actually reading the data. The read code would look something like:

amountToRead = min(outBufferSize, availableData)
barrier()
memcpy(outBuffer, ringBuffer, amountToRead)

(Ignoring the tricks you have to play to deal with wraparound, just to keep things simple.)

This works fine as long as min() actually evaluates to the smaller of the two numbers passed in. The moment it evaluates to a number larger than outBufferSize, you have a buffer overrun.
Haha, now that's what I call an interesting project.

The biggest surprise for me is that the Go runtime would be a good fit for Python, performance wise, considering the very different object and dispatch model.

The post also mentions runtime reflection, which used to be painfully slow last time I used it. (Go 1.5, i think).

Has this improved in the latest releases?
No fun allowed.