skysight-inc/HackerNews huggingface dataset:
Agricola

Twilight Imperium

Through the Ages

Terra Mystica

Suburbia

7 Wonders

Lords of Waterdeep
I used to hate doing XML in Python - ElementTree was the nicest of them 10 years ago, but it still hurt.

But last year, I discovered xmltodict[0] and since then, I don't really care - it makes doing xml (both reading and writing) no more cumbersone than using dicts, while still supporting stuff like namespaces, CDATA and friends.

I still think XML is a horrible, misguided idea - from inception, but even more so in how it is used in practice - but I no longer feel any pain interfacing with it.

[0] https://github.com/martinblech/xmltodict
Docker is a well funded enterprise, they can stand a little ridicule - especially when it points out existing, as of yet unsolved issues. You may dislike the form in which the message was delivered but a farce can be quite educational while still being funny.
You know Oracle is about to release a Docker for Solaris port? Using zones? Docker is a set of tooling that makes process isolation technology easy to use, if you don't like Linux that is a different issue.
I agree. Perhaps another way to generalize it is to say:

The ability to critique and improve the product of others is only loosely correlated to the ability to produce a high level product yourself.

Another place you can see this is in art production (written or visual, particularly). Many great art critics have only moderate ability as artists themselves.
Indeed, looks like scientific literature in general and mathematical literature in particular are stuck in the past century. As much as I enjoy reading printed materials, I often think that using a modern computer-based approach to presenting them could prove a lot superior. And no, PDF would not cut it, even with the possibility of hyperlinking. In my view, PDF is like the idea of the horseless carriage, or, rather, of a carriage pulled by a mechanical horse - a new technology stuck in the past. Looks like the modern web browser platform, on the other hand, could provide a reasonable base on which one could build an extremely powerful "IDE" for creating and interacting with mathematical expositions.
I'm considering a move to Berlin.

Anyone know if something like the Hacker Dojo exists in Berlin? A 24 / 7 hacker, coders, ideas, dreamers sort of space.
Interesting stats - thanks, I'll look into them.

(I should say: this should neither be taken as "I now believe everything you say" nor "and now I will find reasons, no matter how arbitrary, to dismiss everything you've presented".)
One terrible idea I just had was creating only one publicly accessible API and then encrypting the actual endpoint in the payload which the server would decrypt and then redirect.

You just reinvented the TLS socket connection.
Well eventually when they become smart enough they will surely be useful.

At this point I cannot say to Cortana, "the Camera App doesn't work, it probably requires some drivers, fix it" and get any meaningful help out of it.
My wife and I have 2 elementary school aged children, and we like playing Pandemic[0].

[0]: https://boardgamegeek.com/boardgame/30549/pandemic
I find Caverna lacks in replayability. My group played it a couple times and everyone started doing the same thing. Eventually we just migrated back to Agricola. Haven't touched Caverna in over a year.
Mainly posted this because some folks may be interested from an API perspective.
I guess it is something one has to learn.

I do speak German and can still follow, because in Portugal we always subtitle except for children movies, so we learn to selectively pay attention to either subtitles or audio depending on the movie and our language skills.

As far as I am aware this happens in all countries that have a subtitles culture, instead of dubbing like in Germany.

However I am also not a big fan of these clips, given the historical relationship. Not sure how much one should actually it for jokes.
Yes. Unfair competition.
>Duolingo is good, but I'm not sure it's a great measure of understanding the language.

On further thought, I agree. When I wrote what I wrote above, it was in the back of my mind, to also add that I don't think the rate of progress that Duolingo shows for me, can be even near correct. E.g. after these few months (which also had gaps of a few days now and then during which I did not use the app), it now tells me I am 14 or 15% fluent in German - which I don't think can be the case at all, even without knowing much about the structure of the language, the number and kinds of grammar rules, tenses, the number of words in the German vocabulary, etc.

(I'm probably much lower, maybe 1 or 2% is my guess, if such a thing can even be measured.)

Also, some of my school friends who said German was hard to learn - for others, were Germans (who also spoke good English), so they likely knew what they were saying.

>and while I can read German reasonably well now, I would still struggle to write or speak fluently in German.

Interesting. Will have to see what my experience is as time goes by.

>Thinking of what you want to say quickly is a skill that Duolingo doesn't really teach

Will check that as time goes by. Maybe immersion is more useful for that skill.
Hanabi: multi-player co-op, and you can see everyone's cards but your own. All about reasoning and inference.

Betrayal at House on the Hill: cooperative until it isn't, with a traitor arising halfway through the game. Many novel "haunt" scenarios for replay value.

Coup: Bluffing game, where you have a couple of hidden "role" cards, each role card has some abilities, but you can use the abilities of any role as a bluff, if another player doesn't call you on it.

Netrunner (note, not the new remake, the old out-of-print version): CCG with asymmetric sides, the "runner" trying to break in and the "corporation" trying to defend and advance their agenda.

Ascension: deckbuilding game with a large variety of cards. There are only 1-3 of any given card in the deck; every game tends to turn out differently, and any strategy has to adapt to the available cards.

Dixit: Interesting exercise in description, because you have to hint at the image on your card without being spot-on, so that some but not all players get it. Helps to know the other players.

And if you don't already watch Tabletop, I recommend it: https://www.youtube.com/playlist?list=PL4F80C7D2DC8D9B6C . (Note: that playlist is sorted in reverse order, for some reason; start at the bottom.)

That's in addition to various tabletop RPGs, which I find even more fun when we can get a group together for them.
My "solution" looks like this:

#!/bin/bash
for output in $(xrandr --current | grep -e "DVI[^\ ]*" -o)
do
xrandr --output $output --brightness $1
done

Bound this script to super+(1-6) for values of 1.0-0.5 and it handles all of my brightness adjusting needs. 0.5 for "I just woke up" and 1.0 for watching movies. It obviously isn't automatic, but I personally think that's a benefit...

And yes, the script could be made nicer, but it works for me, which is enough.
UDP certainly is connectionless, but that doesn't mean a host can't call `connect` on a UDP scoket. In fact, it is encouraged[1]. I am going to quote the entire paragraph from the RFC, the guidelines document is a very good read if you plan to use UDP.

Succinctly, you should `connect` a UDP socket, it can simplify some calls and allows the application to receive ICMP errors

Many operating systems also allow a UDP socket to be connected, i.e., to bind a
UDP socket to a specific pair of addresses and ports. This is similar to the
corresponding TCP sockets API functionality. However, for UDP, this is only a
local operation that serves to simplify the local send/receive functions and to
filter the traffic for the specified addresses and ports. Binding a UDP socket
does not establish a connection -- UDP does not notify the remote end when a
local UDP socket is bound. Binding a socket also allows configuring options
that affect the UDP or IP layers, for example, use of the UDP checksum or the
IP Timestamp option. On some stacks, a bound socket also allows an application
to be notified when ICMP error messages are received for its transmissions
[RFC1122].

[1]: https://tools.ietf.org/html/rfc5405#section-3.6
Are you afraid that learning Java is going to kill any passion for programming? If you're only requirement is fun and learning, it seems like Java is not the best choice.
I'm not sure what that has to do with it. Everybody was religious, of course there were religious people on both sides of the "should we murder everybody in sight?" question.
absolutely settlers of catan
That doesn't solve the problem. For any given set of 10 cards, there's an optimal strategy, and it typically involves relatively few of the cards. And some cards are effectively never worth touching in any game.
It does have the advantage that none of the subtle NLP based advertising will have much effect on you.
Was the fraud uncovered by the crisis, or was it known about and tolerated until it turned into a crisis?
Actually the video's OP also released this: http://slides.com/nukemberg/docker-the-fine-print#/ which is highly educational and recommended
Well, I was talking about Docker's implementation on Linux. Which has had some quite nasty security issues in the past. Although it is getting better...
You mean like the code at Xerox PARC and ETHZ?

Many of his ideas were already possible on the workstation OSes created there.
What's the point of working 60hrs a week and get less paid than on a typical 9-to-5 job ?
I think it would still advantage fast traders because they'll know that statistically they might be faster than other orders sent original around the same time.
It's an important point, that these concerns are always about careerists, not the beer money group. But there are two groups here.

The beer money group could be significant: retirees, students, people who want extreme flexibility because they have another primary job or responsibility. Half of all drivers is a significant block.

On the other hand, careerists legitimately face an impossible situation, since so much of their life is in the hands of one company that's constantly tinkering with its economics.

The common policy response across similar situations seems to demand every single job must work as a 40 per week career with benefits, killing any pure beer money jobs.

I don't know whether that's a wise policy solution or not. Maybe the benefits do outweigh the costs. But it's certainly not pareto optimal. Restrictive policy responses hurt one group of people in an attempt to protect others.

I'd feel better about such policies if proponents showed awareness of who they were hurting. Like if proponents said, "ok, honestly, we're going to hurt retirees with this jobs protection measure, but we think that's ok, because we value single moms over retirees."

Though if you get that far, you could just reduce it to a wealth transfer. Let Uber do what it wants, then tax retirees and give the money to single moms. Similar effect. One group loses, one group benefits.

Though of course then you'd stop and ask why you're taxing people supplementing a fixed income. Maybe you'd rather tax some other group first.

And that line of analysis is how you end up supporting deregulation combined with aggressively progressive taxation where the benefits are targeted to vulnerable groups.
Integrating Python with other languages (wiki)
On the same topic, there's a fork of HTTPS Everywhere to do this exact same use-case: https://github.com/chris-barry/darkweb-everywhere
Very cool idea!

I think this would work both at the logical level (e.g., the concept of azimutal angle in a xyz-coordinate system) and as a stylesheet level (theta for physcisits, and phi for mathematicians).

Such annotations would really help with browsing math content—you can see what prerequisites concepts are used in a paper from its import statements, without the need to read the whole thing. Also, you could browse from the other end (reverse-imports / uses), looking for docs that make use of a given concept.
The problem is there's no way to estimate costs without a price up-front. You have to determine how many "tokens" to charge and that price won't be stable like the dollar. Just imagine paying a fixed BTC per request. It would be impossible to predict your costs. Of course you could peg it to the dollar but that's what we already do with paid API subscriptions which have a price known up-front with limits. I don't see what blockchain tech has to do with charging for API access.
The article is making an assertion that isn't supported by the facts they themselves cite. They say that "Buzzfeed found that drivers in Detroit, Houston, and Denver “earned less than an average of $13.25 an hour after expenses”"

If that is true then Uber isn't under paying their drivers at all. They are paying them at a slightly above average rate. You can easily look up the average salary for a Taxi / Limo driver in the US on the BLS website[0] and you will find that the national mean hourly wage for this job is $12.53. They also have data by state.

Now, a couple years ago Uber was running adds on Facebook to recruit drivers in average cost of living areas that said things like "Make $70,000 a year driving for Uber". Those were clearly misleading if not outright false when the average taxi driver makes $27k. Perhaps that is where the narrative that they are underpaid comes from.

[0] http://www.bls.gov/oes/current/oes533041.htm
Strategy/tactics != rules. The rules for chess and go are simple. The gameplaying that stems from those simple rules is obviously quite complex--and, as you say, it has been deeply studied so anyone wanting to play even somewhat competently needs to have a passing understanding of quite a bit. But the rules themselves (especially with go) are quite straightforward compared to most modern adult boardgames.
I think it's a little simpler to observe that

fo1 - fo2 = fe1 - fe2

The left side is an odd function and the right side is an even function, so the common value must be both odd and even. But only the zero function is both odd and even, QED.
Milo files legal request against Twitter in Ireland
I don't mean to be flip, but this is obvious to anyone that has kid(s). Watching them observe and test and learn (and giving them the space to do so) is one of the great joys of my life.

That said, I also see how once children reach a certain age, some parents to become obsessed with the speed of learning, and try to introduce instructed learning with the hope it will work faster, better, and teach them to read faster, etc.

This is a good article that gently encourages allowing children continued space to learn through observation and experimentation with their environment and surroundings. There is a place for instructed learning, but it is not the only way of learning, and for younger children at least, definitely not the most important.
>>Well, start-up means a new company that is after ultra fast growth.

I don't think many people will agree on this definition.

A new restaurant that is after ultra fast growth is not a startup. It's a small business. A new software company that attempts to innovate in a small niche is unlikely to achieve ultra fast growth but it is a startup.

To me, the difference between a startup and a small business is that a startup's goal is to innovate and its success depends on that innovation sticking. Quick growth is just one (possible) characteristic of this territory.

That's why most startups tend to be in the tech sector: most innovations use technology.
I don't disagree, but why would Uber have lower fences than Swift? At least some of the part-timers must be surge-seeking: do their higher pay requirements reflect that they have higher skills than the 13-hour-day drivers?
Computing the optimal road trip across the U.S
Using something like React-Hot-Loader & Redux-Devtools gets you pretty close for browser work.
Baduk/Go doesn't scale well in groups but it also can impart a lot of important life lessons as you learn it.

The enemy's key point is yours
Beware of going back to patch up
Don't chase what you can't kill
Check escape routes first
Big dragons never die
Give your opponent what they want
Don't follow proverbs blindly

http://senseis.xmp.net/?GoProverbs
The article blames aids spread on "machismo" and discrimination against gays.

But at least on my country, aids spread is much slower among more patriarchal segments of the population, but spread quite fast, even among the rich, in groups that are more liberal, with the fastest spread I saw personally among gays and feminists.

So I wonder, what is the logic that the article used.

I know nothing abou Africa, so maybe I missed something important regarding that, but still, the article generalized the "thirld world" too, thus why I commented about what I see where I live.
I find it ironic how OP's claim is easily ruled out by basic mathematical argument.
Wouldn't it be more than competition since the market would not exist in the first place?
Thanks. So it's a meme about apportioning blame.

It still seems weird to joke about Nazis.
> "The best human-readable data transfer format is probably canonical S-expressions"

I personally think TOML is a bit more readable...

https://github.com/toml-lang/toml
Locked myself out of a room and have no key
A locksmith is around $100, my ladder is about 6ft short to reach the window, I've tried paper clips, bobby pins, and a credit card won't fit where the door knob is. I don't want to break the door or call the locksmith, what can I do?

BTW it is NOT a push lock, its a normal key lock for a bedroom door.
I can't believe that I'm the first to mention One Night Ultimate Werewolf, which has been the consensus favorite amongst my friends for a while now.

It has relatively simple rules but very solid strategy (rewards logic and duplicity). The games are short, so you never feel "stuck" on a long game and when you're a beginner, you can rapidly absorb new lessons and strategies and apply them to the next round. The replay value is tremendous.

I have observed/heard about the game not "clicking" for some players the first few times. You _can_ reason out substantial amounts of information by sharing claims and thinking hard about what you personally know, and you _can_ tactically disrupt other people. I think if you have a crowd of new people, it helps to have an experienced player sit out one round and emcee, encouraging certain lines of thought and discouraging others. One of my friends said he only really "got" it after the third round, when he saw me spin a story from start to finish so that I could pin a wolf on someone when I in fact was a wolf.

I also love Dominion, which others have mentioned. (That's my personal favorite; Werewolf is my friend group-favorite.) It is in a very different genre, but it also has fast-cycling games, deep strategy vs. simple rules, and huge replay value, which are three aspects of board games that I really value.
for an unmarried young guy about 35k net.
Yes, FOSS somehow killed the development of software tools for anyone but the enterprise.

Given that many prefer to build something with duct tape than to pay for tools, the only ones left are the enterprise customers which hardly blink when they compare the tool's prices versus overall project costs.

One just needs to see the angry mobs on HN when JetBrains, Unity, Microsoft and others announce price changes.

Whereas on most enterprises I worked for, it is just a request to the Controller overseeing the project area.
I'm not sure Docker makes isolation and resource constraints significantly easier, compared to pre-existing technologies (OpenVZ, LXC) - such things were already very easy to use with those. Maybe Docker makes some things even easier, but just slightly - like pre-configured port forwarding.

Moreover, I'm not really sure Docker is about isolation any much. I think I've read that I shouldn't rely on isolation it provides.

The essence of Docker, as I get it, is mostly about the image/layer-based dirt-cheap packaging, playing well on the deficiences of most commonly used packaging systems (dpkg, rpm, pacman), like inability to have multiple versions of the same package set up at the same time.
I up-voted this since I found it really helpful while working through Michael Nielsen's book on neural networks[1]. (I had chanced upon this repo a couple of months ago)

The code is actually based on the original code from the book (e.g.: can be seen from the variable names like 'nabla') , but written in a more succinct manner.
Since I am relatively new to Python, I found it easier to follow this repo's code than the code in the book and used it as my reference implementation.

It's missing quite a few things like calculating accuracy, regularization, etc. but they are quite straightforward to implement.

[1] Neural Networks and Deep Learning by Michael Nielsen - http://neuralnetworksanddeeplearning.com
The stuff you work on is really awesome!
Possible to resolve an arc second, though unless it's large text, a mile is a little far. Across the street for sure though.
> For me the only thing that JSON got better is that JSON is directly mapped to commonly used data structures: arrays and maps.

This is nice, but it's also kind of a pain, as it makes you have to stop and think about which structured data elements it's capable of supporting and which you have to send your own metadata through the wire and then reconstruct on your own. For example: Dates. Which is a shame. If there is one data element I want the most help with serializing/deserializing, it's freaking Dates. All the other ones are super easy in comparison. There's just way to much subjective, dirty, human culture tied up in Dates.

The only thing that I think is objectively better in all cases about JSON over XML is the less verbose end-structure syntax. I think XML only has Attributes because Tags have this silly need to state their name both as they enter and exit the room.

<Tag1 attr1="hello" attr2="world">
<Tag2>how</Tag2>
<Tag2>are</Tag2>
<Tag2>you?</Tag2>
</Tag1>

For simple, unnestable data elements, having the more efficient Attribute starts to look attractive.

If XML were more the form:

<Tag1 attr1="hello" attr2="world">
<Tag2>how</>
<Tag2>are</>
<Tag2>you?</>
</>

It's actually only one more additional, required character to add than if the attribute value were specified as an element instead.

<Tag1>
<attr1>hello</>
<attr2>world</>
<Tag2>how</>
<Tag2>are</>
<Tag2>you?</>
</>

Heck, why stop there? Do we really need to have quite all of those angle brackets now? How about we just get rid of all the ones we can assume:

<Tag1
<attr1 hello>
<attr2 world>
<Tag2 how>
<Tag2 are>
<Tag2 you?>
>

And finally, who even likes angle brackets? I've never enjoyed the dual duty they play as delimiters in XML and operators in other languages. Let's use a common set delimiter, something like square brackets or maybe parentheses.

(Tag1
(attr1 hello)
(attr2 world)
(Tag2 how)
(Tag2 are)
(Tag2 you?))

Now where have I seen this before?

PS: JSON that is as nearly as equivalent as I can make it is not much less verbose than original XML, and requires some level of convention to make up for the differences:

{Tag1: { attr1: "hello", attr2: "world", children: [
{Tag2: "how"},
{Tag2: "are"},
{Tag2: "you?}]}

Though I'm sure in common practice it'd have a lot of the original metadata of the XML version thrown away:

{attr1: "hello", attr2: "world", children: [
"how",
"are",
"you?"]}
I'm trying to think of a job that isn't "silly", in the sense that it couldn't eventually be done by robots, and I'm drawing a blank... Do you intend to say that working is "silly"?
By category:

1) Heavy Strategy: Eclipse and Terra Mystica (tie)

2) Strategy Cardgame: Race for the Galaxy & expansions

3) Abstract: Arimaa. Runner up: tie between Go and Hive.

4) Real-Time Co-op: Damage Report. Runner up: Space Alert

5) Co-Op: Mysterium

6) Wargame: War of the Ring. Runner up: Twilight Struggle

7) CCG or LCG: Lord of the Rings LCG

8) Party Game: Time's Up Title Recall Runner up: Concept

9) Reaction time: Jungle Speed.

10) Most disliked game: Catan or any spinoff thereof