skysight-inc/HackerNews huggingface dataset:
It's plausible that a self playing AI would still learn to worker rush in some race combos though, at least for awhile.

If the opponent doesn't react, you win because you kill all their workers.

If the opponent overreacts, you win because you are mining more than them (IIRC this is a problem with the insane ai).

If the opponent reacts poorly in other ways, you might be able to win by out microing them. E.g. SCVs (terran workers) consistently beat drones/probe (the other races workers) 1-1 without micro. Repairing can be an advantage. The offensive AI being better at stacking damage on a few units. Etc.

The defensive AI should learn to fix these problems and stop losing to worker rushes, but it could take awhile. In other words the defensive AI starts out as a lower ranked player.

PS. I'm not sure how serious a tournament this was, but here's an example of a real worker rush (not an early pool with workers attached): https://www.youtube.com/watch?v=_AtqgaJzJP4
Disclaimer: I work at Backblaze.

> please add ability to comment on snapshots

Actually, very very quietly as part of the 6.0 release (4 days ago), we now allow you to "name your snapshot".

While this is not a comment, and you can't change the name LATER (so useless to old snapshots), at least going forward you can put up to about 1,000 characters of description in the snapshot name.
Not OP, but I've been interested in both technologies for a while. Elixir with Phoenix feels like modern RoR, so it's probably best suited for startups that want to build their products fast and want to scale easily and cheaper.

IMO Go is perfect for big companies and somewhat middle companies where they have some heavy traffic that needs to be addressed. I guess Golang is also easier to start with and craft something very fast as opposed to Elixir. (You can check multiple topics on elixirforum.com where people ask why their first-iteration code is slower than that in ruby/python.)

I can be wrong, but I haven't found any golang opinioned-matured web framework, because most of the community is okay with building from the ground up. This may suggest that golang would be preferable in complex/enterprise systems?

I'd choose Elixir for something that has to be done fast and be reliable and open for a lot of modifications that can be introduced without sweating.

My point of view is based on building some simple product in Elixir and doing research. Also, a previous company I worked for had Golang and Ruby stack.
The sad truth is that it takes a while for the open source drivers to solidify after any new release and going open source means not getting the newest hardware.

Well, Intel actually seems to get their open source driver support in far enough ahead of time these days that you can just load the newest Ubuntu with them and it works, but that wasn't the case 5 years ago.
Because that's how our economy works, there is a limited cash supply dictated by the central bank, the only way for more liquid cash to be created is through central banks buying up securities and in turn introducing more liquidity into the economy (which then results in all other sorts of consequences).

The ability for new wealth to be created is predicated on the fact that we have an expansionist monetary policy, or else people would simply never invest and we'd have a society comparable to a feudal state.
So the only thing you would trade ruby or python for is something that doesn't exist.
GTK+ is a GNU project.
Thank you Backblaze! I love your reports.

What is your procedure/policy on which disks to use in the pods? Do you try and maybe control the risk by using different harddisk brands in a single storage pod? Or do you just not care, because there have never been 3 pods dead at the same time? :)

Do you still use 17 data plus 3 parity shards?
Another option is Sqitch. It's database and framework agnostic.

https://sqitch.org/

Postgres Tutorial: https://metacpan.org/pod/sqitchtutorial
Isn't the idea that because your opponent spent resources on things like their first barracks and gas collector that your workers should outnumber them for the attack?

Of course you lose all of that time it takes for your workers to drive across the map, so it's a pretty dicey strategy. A 50% win rate against the AI sounds about right.
I sometimes suspect a folder full of sql scripts would be better than black box migrations (which are a folder full of sql scripts or similar anyway).

Migrations are great, until they aren't.

Sometimes if you actually manually do the thing you know how it works better and can adjust. I suppose the drawback to that is everyone else doesn't.
Interesting, thanks. The executives to push back on hardware product issues these days would probably be Riccio or Schiller, right? (excluding Cook) Certainly seems possible that they don't have as much pull in that conversation as they might want.

I think most of us just don't have enough insight into how Apple develops products to really nail this down (maybe you do; I certainly don't).

Does Jony Ive say "it must be this thin" (holds fingers apart) and then engineering has to go off and remove MagSafe and create a totally new keyboard? Or is engineering already working on new keyboard ideas, and they bring one to the table and say "hey what can we do with this?"

In any case, it's about how the team is operating. Jobs obviously had an impact on that, but where I disagreed with the GP was this idea that thousands of people at Apple just wake up every day and say "dwuhhhhh, what did Steve Jobs do" and then just dumbly do that. Let's give the folks there some credit--which also means holding them accountable for their own decisions.
> Such verified compilers come with a mathematical, machine-checked proof that the generated executable code behaves exactly as prescribed by the semantics of the source program.

Which semantics? The ISO C semantics is rather lacking; "undefined behavior" lurks around every corner.

A C compiler that correctly implements all ISO C requirements is a fine thing, and certainly better than one which gets some of that semantics wrong, but doesn't achieve all that much in the big picture.

If the verified compiler actually provides extended semantics beyond ISO C that eliminates much of the undefined behavior, such that programmers using this dialect can rely on a safer language, then we're talking.
> and it won't hurt them at all financially for you to use 1/4 of their unused capacity.

Unless they have data caps in their contact and you go over them. Or they monitor for anomalies and data leaks and the IT will come asking questions / reporting incident. If you don't know everything about the setup and have an approval, don't do it.
(thanks a lot - all extremely interesting)

>> We can't have more than 3 drives fail in any one group of 20 drives...

Wow, for me, subjectively, an low threshold - and I underderstand that each drive being hosted on a different machine protects you as well from a machine/controller failure (happened to me twice with the controller - both times it was very hard to diagnose and the experience in general has been terrible).

Do you have as well "backups"? Or is that in the hands of the customers/users?
I don't believe in censorship, note that such things can amount to destruction of evidence...
They don't seem to consider open redirects an issue worth mitigating (see https://sites.google.com/site/bughunteruniversity/nonvuln/op...). Though in the example given, they have taken the sensible step of inserting an interstitial warning page, there are known URLs (e.g. https://vagmour.eu/google-open-url-redirection/) that don't use such a page.

Personally, I don't think it's particularly realistic to expect users to be able to work out when an open redirect is being abused in a phishing attack - particularly if e.g. other junk query string parameters are used to obfuscate the destination, or a domain is chosen that looks like it could legitimately be part of a site's URL structure.

Checking the domain gets you some peace of mind (assuming it's not abusing lookalike Unicode characters!) but if there are "reflected" or even "stored" open redirects [1] on the domain then all bets are off. I don't think I could confidently make a decision regarding the safety of such a link except by following it (with e.g. curl -L) and seeing what happened.

[1] I'm abusing XSS terminology here by applying it to redirects, but hopefully the meaning is clear. I consider a "stored open redirect" a page under a user-known-safe domain where an attacker can persist the final destination s.t. it's not visible in the original URL.
> Since they prefer the language patterns of Ruby but want better performance for concurrent processes, it seems like this would be a perfect use case for Elixir with Phoenix. I wonder if they considered it.

The difference being that the Rails ecosystem is infinitely more mature than the Phoenix ecosystem (and community). Ecto is still going through some massive changes (ActiveRecord is comparatively stable). Personally I think that Elixr is an interesting language but it's not one I'd want to mess with in a production environment.

The big win for Go is that it compiles down to a single binary. Ruby you get a single point of entry (script with a shebang). But Elixr/Phoenix? You get a handful of bash (not even POSIX sh!) scripts and binaries and a whole VM to deploy. As a BSD user, I gave up on Elixr/Phoenix after trying to debug the nightmarish deployments that had been broken for months. I couldn't tell if it was an issue in the rat's nest of bash scripts or a VM bug. Sure, ruby-bcrypt is broken on FreeBSD too with a similar head-in-sand mentality from the bcrypt gem maintainer (which could make Rails deployments a non-starter) but that's easy to fix and has been fixed out-of-band. Elixr? Well there's one maintainer for the deployment tool and he's stopped responding to bug reports of any sort.

That said, I like Rails. A lot. But ruby is painfully slow and I've learned to push as much logic into the database as possible. So there's a compelling case to be made for an alternative. Unfortunately I've never had any other language give me that much trouble as Elixr has. Personally, I detest Go dependency and build management (and the Google involvement), but the simplicity of concurrency and deployment combined with the breadth of the standard library make a very compelling case for Go IMO. Hell, I would reach for Clojure before Elixr because at least then you're dealing with the comparatively mature Java VM.

Personally I've gone down the Rust road, but even then I'm not sure I'd want to deploy a Rust web app in production just yet (although I really do like Rocket).
Sorry, I paraphrased as part of forming a TLDR - the actual article is much more loquacious

> Dmitriy Zaporozhets decided to build GitLab, he chose to do it with Ruby on Rails, despite working primarily in PHP at the time. GitHub, a source of inspiration for GitLab, was also based on Rails, making it a logical pick considering his interest in the framework.

By co-founders, I meant why GitHub chose RoR, not GitLab.
A fun example is the slow loris attack. You send your requests character by character with 20+ seconds between packets. For mobile 20 seconds can happen so if the server doesn't use a running window to check timeouts it can't kill the connection.

Now you do this 1000 times you use barely any resources but the server uses 1GB in stack allocations which might be the maximum and noone else can connect.

https://en.wikipedia.org/wiki/Slowloris_(computer_security)
Hmm I was desperately looking for something like this and only ever found was Framer X. Strange I never came across this but definitely excited to give it a go!
Yes, but as long as I have another breath, it matters to me what my legacy will be. I honestly don't know who Clark Gable is, but as long as he was alive he felt like a living legend — isn't that all that matters? The purpose you give yourself.

Life's a massive multiplayer game, and you decide what the definition of winning is, what could be better? If you decide there are no winners, then it sucks to be you.
Unfortunately, others have already done this - extracting great riches as they did so - and left their "mark" on the planet.

Of course, without looking it up, I couldn't tell you who they were, even though some of these "big holes" are right here in "my backyard" down in southern Arizona (about the best I can tell you is that they were mostly for copper mining and...yep).

Or - take this big hole; without looking it up, do you know who made it?

http://www.nationmultimedia.com/img/news/2017/08/06/30322996...

...got the owners a lot of diamonds, though.

Even so - they'll be just as forgotten.
Be careful as there are reports of the same issue at Bestbuy(And will be with any store). With the 8TB easystore (and now the 10tb as well) being so cheap, there've been several reports of shucking the drives only to find a lower tier drive or just sand or whatnot.

This includes drives that were shrink-wrapped! I've heard bestbuy re-wraps returns and doesn't check them very well.
> re-analized

I see what you did there.

I tried to find something relevant to link but Language Log doesn't seem to have discussed this particular planet.
Rethinking software with Cloud Spanner and Serverless
Temperature monitoring for the first gen Ryzen chips has been in the kernel for about a year. The patch for second gen is there but narrowly missed the 5.0 release window, so it should land in the first release after 5.0.

Intel is a bit faster about this but it's not like they have perfect day 1 kernel support either. i.e. temperature monitoring drivers for both first gen Ryzen and Coffee Lake landed in 4.15. At the time Ryzen was almost a year old and Coffee Lake was about half a year old.

http://lkml.iu.edu/hypermail/linux/kernel/1811.0/01237.html?...
Maybe I just have a bad understanding of this law, but why stop with the internet? If a citizen has the right to be forgotten, then what about old newspapers stored on microfilm in libraries? Why not let citizens force librarians into censoring these documents, like some classified document from the CIA?

Maybe it's only the right to be forgotten when it's perceived as "easy" to erase something or easy to access something? Seems contrived.
I didn't downvote you but I think you're getting grayed out because it's a tired argument that's been had time and time again. It's just… kinda pointless to have it again.

Yes, the all-too-common super-deep dependency trees are a problem. If you're reasonable about your dependencies though it doesn't happen (my last few JS dependency graphs are pretty similar to my Python ones).

One of the issues is the stdlib and the other issue is a different mindset due to a lower barrier of entry to creating a package. (eg. creating and maintaining a package in Python sucks, so you're less likely to do it for small, self-contained things rather than create a utils.py)

shrugs, I honestly don't know what meaningful change this discussion can lead to. People are generally aware of this, and the problem isn't actively getting worse, so I imagine it'll get better over time.
Actually, it looks like navigating to the link you're talking about https://google.com/amp/tinyurl.com/y7u8ewlr, or any link beginning with https://google.com/amp/, will first bring you to a redirect confirmation, not immediately redirect you.

(The shortlink above is actually safe - it redirects to https://jigsaw.google.com/)
Unsafe, when side walk suddenly ends, but you see that it continues after the next block and you have a choice: turn around or walk on the road and get hit by a car potentially. I live in such a neighborhood now. I can walk to work, but sidewalk ends a block from my house and there are no street lights, so it is MUCH safer to take a 2 minute drive.
Wealth is absolutely a zero sum game depending on how you segment things. Increases in productivity and innovation are not zero sum, but things like land ownership on earth is absolutely zero sum.
Many large cities have terrible public transit that isn't just impractical but impossible. Public transport doesn't even run around the time of morning I head in to the office at 6am.

If it DID run and I could take it, I would have to spend 3 additional hours each day in commute time between long round-about routes and waiting/switching bus/train lines. I would pay 5 dollars per day for this service. Almost double the cost to drive given the current 2.60/gal gas prices.
WSL uses them for one (so good luck backing up WSL installations) https://blogs.msdn.microsoft.com/wsl/2016/06/15/wsl-file-sys...

Other stuff does too, e.g. https://docs.microsoft.com/en-us/windows-hardware/drivers/if...

Those are user-level APIs as well, though usually called via NtQueryEaFile and NtSetEaFile.

And (part of) my complaint is that DISM's /EA flag is broken.
Anyone have a good alternative to Glass Door. Googling the company is probably the easiest but then you run the risk of data biased the other way.
The activerecord-migrations gem allows you to use Rails migrations with other languages too—I’ve used it with node, clojure, and others where the community migration libs aren’t as good.
Like the Cards Against Humanity people did a couple of years ago? https://www.theguardian.com/technology/2016/nov/28/cards-aga...
I do both (walk + bus and bike) but it's a lot more walk these days even though it takes almost 2x as long as biking for me. The main reason is that the bike commute is uncomfortable and it feels pretty dangerous, even though it's not that far. This is a big problem in US cities: roads are designed and built for cars, while cyclists and pedestrians are an afterthought.
It's fairly easy to host in my opinion.

Either you use the omnibus installer for a single server, or the helm chart for a distributed kubernetes install.
The Ubuntu verification tutorial (see my previous post) points to keyserver.ubuntu.com.
In the 19th century many American urban centers become quite densely built up with all manners of buildings. These urban centers were also prone to fire. A number of cities experienced major fires that wiped out large swaths of what had been built. So they got rebuilt with more modern structures.
Very strong answer of MongoDB CTO Eliot Horowitz on the question if MongoDB is obsolete since the introduction of DocumentDB by AWS.
Never had that though I would be tempted to mention my great great Uncle who was a off course bookie in Birmingham UK between the wars - yes that era Peaky Blinders is set in.

In the US this is like having relatives that worked with Al Capone
In higher ed, at least, we have an abundance of people with PhDs that could theoretically teach at a college level - which is why a single tenure-track job will have 300 applicants. Not saying that supply and demand aren't involved here, but a simple application of supply and demand like you suggest isn't an adequate description.
50 years later we still cannot develop programming text editors with soft line wrap to satisfy everyone.
EDIT: It may have appeared that I was denigrating them for the spend...

NOPE

I was just curious when I saw the # of drives as the largest chunk in this writeup - to see how much that chunk cost them.
I agree. The worst part was one boss was in my office while the other was in the "one hour off" office. The local boss would get annoyed because I'd have to schedule something with the other boss who was already home when I'd get back from lunch. To "fix" the problem I moved my lunch back an hour but eventually that conflicted with local employees' lunch and meetings.

The way the place was run I was expecting one of them to suggest I just skip lunch.
That makes way more sense. Didn’t think before posting!
The baking soda can be used along with waste water, and the brine from desalination plants to grow spirulina which also captures CO2 and can be used to produce biofuels.
>>So when a drive is HALF-FAILED, we even have a procedure to pull the drive out, and then opportunistically copy whatever files we can recover onto a new drive, then put the new drive back into production.

Do I understand correctly, that when the drive is half-failed, you don't just say "it will probably completely stop working in the near future" and discard/replace it but keep using it?
It may even have that connotation, but even so, using it for flair is perfectly acceptable. In fact, there's nothing bad about your mental image, as it would only be humorous.
AMD's almost there, you can just install 18.10 and Steam and go gaming with nothing else to install. 18.04 not so much, but once distros start shipping with newer kernels/mesa then it should sort itself out.
Don't want to be that guy, but imo one week is not enough to even "learn" Elixir. To be honest it depends on your previous experience, of course. But the problems is, that there a lot of books, but there are not that much code examples in the world. There are some Phoenix open sourced projects, but I didn't see that much OTP in them.
I hate it when people call it cheesing.

It's not my fault if you don't scout. Planetary Fortress rushes, proxy barracks, cannon rush... it's all fair game.
Hmm, I can't quite see what kind of thing browsers could catch that typescript itself couldn't, since the whole point of types is to be useful at compile-time.

That said I could see some type introspection being useful in the devtools. This is probably already feasible though, as devtools are sourcemap aware. And typescript is written in typescript after all, so it couldn't be that hard to pull in support for it in the devtools, could it? :)

Cool idea!
I find the term “low-skill worker” insulting and ignorant. It’s much more accurate to call them low-wage workers.
The SC community seriously obsesses over APM, but I'm not entirely sure if it's correlation or causation. I personally think it's overblown and became popular because it's one of the few things you can easily measure and compare between players.
Scott Manley did a great quick video about this

https://www.youtube.com/watch?v=Smp7TqccTpY
Async methods also allow you to return values which will be returned as futures.

For example:

return 4;

If the function is marked async, the return value should be Future<int>.

If you allow a non-async method use await, you get into this situation:

Future<int> foo(){
int result = await something ();
// How to return "result" and still make compiler happy?
}
IMO yeah. I can't stand Java and for someone to sell me on building any of my backend in Java it'd have to be one hell of a compelling argument.
Ask HN: Developer Friendly App Development Contract Templates?
Hey everyone, so I'm in talks with a client who wants to me to build them a sort of app suite: iOS app, Web App, and backend. They are asking me to send them an agreement. I'm hoping you guys might know of some good Developer friendly resources to help put one together, or even a template agreement that is Developer friendly?
Most people don't care about having the newest hardware. The only cases that come to my mind are hardcore pc gamers, people who edit video, and people doing deep learning.
You can't help but create a legacy, even if no one remembers your name (which I personally don't care about).

Deeds echo in time forever. Even ones we think are small.
(gitlab employee here) what is it you find particularly painful? It's definitely not intended to make it seem like people should go with hosted, so any feedback you have would be really appreciated
That article...woof.

Also, why is that the goal of a government? Isn't that the goal of a culture? Governments are meant to define and protect the rights of their citizens. Economics are only a portion of what governments do (unless you want to consider everything economics?)