skysight-inc/HackerNews huggingface dataset:
>> If I understand this correctly, they are applying the Chess strategy of thinking
n-moves ahead to Scrabble, where the opponent's tiles are hidden and ones own
future tiles are mostly unknown.

Yep, Scrabble is a hidden-information, stochastic game (the opponent's future
tiles are also randomly drawn).

Scrabble is probably more similar to poker and other card games in that respect.
The key difference is that the distribution of letter tiles is skewed: the
number of tiles is not the same for each letter [1]. This is different than,
say, playing cards, where you get exactly 4 of each card (plus the, I think two,
Jokers).

Which means it's easier to make a prediction for what's coming out of the
opponent's bag, possibly (they're more likely to see the more common tiles).

>> they are applying the Chess strategy of thinking n-moves ahead

Well, that's a universal m-player game strategy, not specific to chess. Minimax
and all that, ja? Did I misunderstand what you mean?

Except of course in this case the optimal strategy for Scrabble seems to be
under dispute (long or short words best?) and so programming an AI player with
minimax might not be that straightforward.

[1] https://en.wikipedia.org/wiki/Scrabble_letter_distributions
"they are applying the Chess strategy of thinking n-moves ahead to Scrabble"

That isn't new, what is new is that they (learni from analysis of games played by computer) show is that the conventional strategy favours scoring points too much over keeping a rack that allows you to score decently in future moves and preventing your opponent from scoring heavily.

This is presented as a totally new strategy, but looking at the video showing an example game, I get the impression it is more of a slight, but important adjustment. For example, the Nigerian does have a seven-letter move in that play.

And, by the way, I would expect this:

"Mr. Jighere and his teammates kept to themselves, going to bed early […] his opponent, Mr. Mackay, spent the evening before their big match at a pub."

also influenced the result. McKay probably saw this as a bit of a holiday, while the Nigerians saw it as work. 449 vs 432 is not a crushing defeat.
> Nigeria fits geographically, politically, economically, and religiously into common definitions of "the West".

The common definition of "the West" would be western Europe (we could take this as the parts of Europe which did not affiliate with an Eastern Orthodox church, or as the parts of Europe which did not affiliate with the Soviet Union), the United States, Canada, Australia, and New Zealand.

Geographically, Nigeria is not located in any of those places, or related to any of those places. It is located in the part of the world referred to as "sub-Saharan Africa".

Politically:

> Kin-selective altruism has made its way into Nigerian politics, resulting in tribalist efforts to concentrate Federal power to a particular region of their interests. Nationalism has also led to active secessionist movements such as MASSOB, Nationalist movements such as Oodua Peoples Congress, Movement for the Emancipation of the Niger Delta and a civil war. Nigeria's three largest ethnic groups (Hausa, Igbo and Yoruba) have maintained historical preeminence in Nigerian politics; competition amongst these three groups has fuelled corruption and graft.

> president Olusegun Obasanjo, acknowledged fraud and other electoral "lapses" but said the result reflected opinion polls. In a national television address in 2007, he added that if Nigerians did not like the victory of his handpicked successor, they would have an opportunity to vote again in four years.

> As in many other African societies, prebendalism and high rates of corruption continue to constitute major challenges to Nigeria. All major parties have practised vote rigging and other means of coercion to remain competitive.

(from https://en.wikipedia.org/wiki/Nigeria#Government_and_politic... -- this is the lowest of low-hanging fruit)

Economically, Nigeria is nothing like "the West".

Religiously,

> According to a 2009 Pew survey, 75% of Nigeria's population were Muslims. A later Pew study in 2011 estimated that Christians now formed the majority of the nation, comprising 50.8% of the population, while Muslims comprised 47.9%.

( https://en.wikipedia.org/wiki/Demographics_of_Nigeria#Religi... )

All four of your claims appear to be nonsense.
See the nerd/geek/dweeb/dork Venn diagram (Google, or elsewhere on this thread) to understand why geek feels nicer.
maybe you need to fail more times. You know what they say in the valley: if you are still not successful, you havent failed enough.
Common Lisp is better as a dynamic language. I have a strong suspicion OCaml is actually better as a static language, but I haven't spent enough time with it to say otherwise. If you're comfortable debugging lazy evaluation bugs at 3am: Haskell. Clojure is better if you want a pile of libraries.

For shops with a functional language horror, Java, particularly Java 8, is better.

My opinion on Python is that it's stunningly bad. I'll spare you the litany.
Arduino baseboard targets high performance graphics for IoT
From drone racers to pinball: Maker Faire Bay Area 2016 doesn’t disappoint
> the telco who most assuredly would have known what the lines were for

yeah, about that...
Since it's being used for non-profit, educational purposes, this might fall under "fair use".
If you appreciate Radiohead, listen to Russian band Aktsyon. Totally underappreciated in the West, but what a wonderful and genius band it is!

EDIT: https://www.youtube.com/watch?v=1apGEJVrIpE

https://www.youtube.com/watch?v=CxVpnYgbtA0

https://www.youtube.com/watch?v=aemRlCZV614

https://www.youtube.com/watch?v=CnifXAwM6KE
Well, that's true. Though we don't know exactly why he quit.
TLDR; Compilers break a for loop into three distinct loop portions -- a main loop where special invariants are satisfied (and thus less checks are required), and pre/post loops with additional bounds checks.
Korea introduced street names and house numbers a few years ago and the new system is now the only official, though of course the former system is still popular. For taxis usually you still name nearby landmarks but they can also input a (western-style) address into their GPS.
Brian Sheppard's thesis "Towards Perfect Play of Scrabble" [0] has a lot of good info on Scrabble strategy which can be applied to human play as well as to AI (though obviously things like B* and Monte Carlo search aren't realistic for human players)

[0] https://project.dke.maastrichtuniversity.nl/games/files/phd/Shepard_thesis.pdf
Actually Ultron is made by Hank Pym and Iron Man, As a prison guard. But Hank is the project leaderish
World never asked for this. ;) Seriously though - any versioning scheme, as long as it's consistent, is fine. Like everything in the world, this has some pros and cons compared to typical semantic versioning: it does remove some of the noise/confusion in exchange for potentially exploding release number. If you're releasing often, semver probably makes more sense. If you're releasing at a glacier pace but break BC from time to time, this looks like a good match.
Re '$', there is no expectation on the location of the script instructions in the object structure, unlike JSON RPC. So it is used to differentiate instructions from simple data structures that can be part of the script.
I like the problem you are trying to solve and I like the idea of the JSON data structure but I am not so keen on the language as JSON. I find it hard to read, which would be worse in more complex real-world examples.

I guess I would like to see the code as plain text. Packaging all the data to send as JSON is OK, and the code could be text in a single JSON data element.

Post a story to Hacker News once you get some experience using JSONScript with some feedback on how you went and how the idea evolves.
IM in a corporate setting has never really take off IMO. Email is usually the choice, which has a more mature in-house management model.
In order to reduce the "pay gap" you must maintain the same level of income, its what the whole debate is about pay gap, how is that moving the goal post.

> why do you assume that preserving a high income level is a priority over not neglecting your children

I didnt assume its a priority, it only becomes a priority if you want to have children and not make less than a man/family without children or full time/part time caring spouse.

At this point I dont even understand what your arguing, I dont even have children, stop projecting.
The safety of a simple language is appealing.
> I'm saying that only two participants in a space does not typically yield the benefits of true competition.

The word "cartel" has a specific meaning that is different from "the opposite of true competition"
>> McKay probably saw this as a bit of a holiday, while the Nigerians saw it as work.

Nah. A British gentleman will always go down his local for a pint after work :P
As software WRITERS we not only string words use sentences - often spoken before in similar ways - but in a way that it becomes our novel.

As software ARCHITECTS we determine the gestalt by selecting foundations, demanding empty spaces and rules which in self similar form are impressed on all aspects of the work.

As software MANAGERS we command am army, we inspire, we maintain discipline and at times we may wage war.
I can't think of any time I've thought of or heard someone speaking of South Africa as a western country. Influenced by the West, sure.
I think you do lose some information this way. If the release number isn't reset with every breaking change, you have no context for how mature that change is. For a library that's very importantto your app's functionality, you might prefer to use 1.13, instead of 2.1. As the 2.x release number increases, you can see that version 2 has been iterated upon.
Deep biomarkers of human aging: Application of deep neural networks
90% of the time you don't need to check the value for null, because it won't be null and that will be reflected in the type. In langauges where all types contain null, there is no way for a function to communicate that it always returns a non-null value, which forces the caller to make redundant checks. If the value can be null, then they are at risk of NullReferenceExceptions if they fail to check.

In cases where the value could be missing, the type is change to Maybe and the caller is forced to handle the null case. They can still avoid explicit checks using various combinators (>>=, fmap, liftA2 etc.) which propagate empty Maybe values. Explicit matching on Maybe is fairly uncommon in languages which support it.
There are three things that help:

1. the large number of values that you now know definitely have a value, and you can access without fear that they don't.

2. the helper functions for Maybe that let you deal with optionality in various ways; the possibilities are extensive and useful. null doesn't give you any help, and generally any helper syntax is limited to one or two possibilities.

3. Code cannot fail due to trying to access a null pointer accidentally. Functions that definitely return a value (ignoring severe issues like OOM, etc.) is a somewhat useful property.
Why is this being criticized (by downvoting)? This absolutely is a wrong attitude.

The path of least resistance is mutely accepting that it's a bad idea to talk to police, or otherwise engage with authorities.

Those who hold so much power over our lives must be held to much higher standards: of responsibility, ethics, and behavior. If you want change, take the path of maximum resistance.
I agree, lets make the debate about this then and not the "pay gap, sexism!" which is largely distracting and unproductive.
4YFN 2016
if the great humanities works are so easily "confused and misunderstood" maybe they weren't that great to begin with? Isn't clarity the first priority if you write anything, much less a novel ?
Come on. You said I was touting government propaganda.

If by that you mean exposing it and its influence. Then yeah.. I hereby tout all government propaganda and always will do.

I wish international relations were built on trust. But that's a bollocks and idealised view.

My example of the UN membership is quite fitting. Small countries with no interest in Taiwan have been directly bribed by china to vote against letting Taiwan join. Call that trust?

Point out why and how this isn't true. Make a succinct argument, support your assertions.
Regardless of my opinion this was a very entertaining read.
Selling vulnerability is not ethical. Opening yourself to police is just stupid.

It would be ethical to report about vulnerability but without disclosing your name. And if it won't fixed, disclose it at public.
- religiously, Nigeria is >50% Muslim.

You know, I might be misreading this but I think you mean Western society is, by contrast, Christian.

The West has made a big todo about being secular on a national level, regardless of what the population believes or does not believe. In some countries, the people are also largely a-religious. There's culture war, check, but to say that a nation's religion plays any role in whether it belongs to the West or not is, dunno. Dangerous?

I don't disagree that in the past cultural lines were drawn along religion, but, surely we 've come a bit of way since? Maybe not if you look at current wars, but still: is that really, really what we think the West means? An alliance of Christian nations?

'Cause that, like, sucks.
That's what you get for breaking the law, idiot. He's up there with the thief who posted a selfie on facebook while robbing a store.
Are those peoples phone numbers under the names in the pictures?
I agree that this isn't an SOA architecture. I see this more like an SQL stored procedure where you want to get simple code closer to the data for performance and efficiency.

I would like to see some use case thoughts about where this would work better than other alternatives.
Actually, joel_ms is correct; you can encode these "dynamic" properties of values in a static type system, in the same way that you can prove properties about a program on paper without actually running it. The connection between programs and proofs [1] is rather mind-blowing to learn about, and unfortunately no popular programming language supports this style of "certified" programming. But there are some interesting languages which do, such as Idris and Coq.

[1] https://en.wikipedia.org/wiki/Curry%E2%80%93Howard_correspon...
LOL :) yes, I will start over but looking for something to hold myself together again.. You know what I mean.
I hated the headline too but the HN rules require you to use the original. I edited myself because of the confusion.
And the EU is trying hard to make Kosovo enter the EU...
To be fair, he can now speak French words. He just has no idea what they mean.
Haha, I wish all telco companies would list their tech stack as part of their feature list on their homepage!
I think genocide and mass deportions are a good enough reason
The driven-by-score configuration keeps a AES256-CBC-SHA cipher but discards a AES128-GCM-SHA2 cipher which is more robust.
"It all started with bombing" sounds pretty disingenuous in a situation that has been brewing over the last few thousands of years, from Greeks to Romans to medieval period with Byzantine, then the Ottomans, and more recently various Communist and Fascist factions having power, and one thing having dependency on another.

No, it didn't start with the bombing of Serbia, and you could as well blame it for lack of bombing or intervention (after all, the bombing was what actually stopped a mass murder of Muslims.)

But if you want to find the one thing that most recently is destabilizing things, it is funding to salafists.
LOOP: your favourite people's favourite places
As a Nigerian, this makes me absurdly proud. As a mathematician, I am especially proud of the game-theoretic aspect of the win.
Record two minutes of ringing, so that depending on the type you record and the phone of the caller they either think it's ringing normally or two minutes, or think it changed to a different sort of ringing and assume it's some weird technical thing.

Related anecdote, I have a friend who lives in NYC who told me he recorded his voicemail to start with the beep (or beeps?) that sound like a network confirmation of a call hang up, and then his "Please leave me a message" message a couple of seconds later, so that automated dialers would be fooled into thinking the call was dead, and hang up rather than leave a message. I'm not familiar with American phone systems and am not sure if this is a story from the past (he's certainly been hacking systems for longer than I've been alive) or if it's still useful to this day (I'll pay attention if I ever call and get his voicemail, but we don't speak often).
Right, and they had to salvage HTTP/2 support (which mandates 128 bit AES) in the process.
Because every population should have the right to make secession. Hold on, wait, not every population, not in Ukraine.

The historians who will try to make sense of Western diplomacy in the late XX / early XXI century will have a hard time. Take the UK: let's bomb Al Assad, he is our worst enemy, and let's support the rebels against Al Assad. Two years later: my god these rebels are islamists, they are our worst enemies. Let's bomb the rebels and support Al Assad against ISIS!

What mathematicians call a random walk...
I think you are badly misinformed.
Are you talking about Niger, not Nigeria? https://en.wikipedia.org/wiki/List_of_countries_by_GDP_%28PP...

Nigeria has a GDP per capita of about $6100. Have I misunderstood that page?

Not that far off some EU countries.

https://en.wikipedia.org/wiki/List_of_sovereign_states_in_Eu...

Country CIA[4] 2010 Estimation
Moldova 1,433
Kosovo 1,813
Bosnia and Herzegovina 3,500
Albania 4,000
Ukraine 4,350
Republic of Macedonia 4,669
Belarus 5,500
Ισπανία: Με κεκτημένη ταχύτητα η Μπαρτσελόνα
> A compiled language cannot know what the value of a variable is at compile time, unless the variable is a constant.

This statement is false. I recommend reading about dependent types, which enable exactly what you claim is impossible.

It's true that in every mainstream language, the type system is not powerful enough to reason about types that "depend" on values, such as the type of MxN matrices, sorted lists, prime numbers, etc. But don't limit your sense of what is possible by your experience with mainstream languages; most have rather limited type systems compared to what we know is possible in theory.
you have given the answer to your self my friend, read the article you have written on medium, and if you are a really sensible person, "which i believe you are" you will find the reason for not being hired..

*just a hint there are to many but's in the early introductory paragraphs of your post.
It's how you run a company that has a high-margin (aka "premium", "expensive") product with a small userbase.

This is your expected outcome when you are wealthy.
Ah, you're referring to the halting problem? You're right, you can't know every possible value. The article I linked actually mentions how Idris approaches the problem:

The word "total" invokes the totality checker[0] which will report an error if the function doesn't cover all possible cases or cannot be (automatically) proven to not enter an infinite loop.

So, it sounds like if you can't provably account for all possible inputs, the compiler will recognise this and throw an error. How? Magic! (And a solver, feeding your type constraints into the totality checker, I guess...)

(Also, bear in mind languages like Haskell use "lazy" or "non-strict" evaluation by default, where values aren't evaluated until they're actually needed; kiiiinda like Streams?)

I'm certainly not an expert on Idris, but I imagine dependent typing provides two benefits:

1) The type signature (which is separate from the implementation; kind of like an Interface in Java) can enforce constraints on your implementation. So, if you define a function with type sig of "Int a => Int b => (a + b)", your implementation must ensure that the returned value is equal to the sum of the two inputs.

2) You can look purely at the type signature to understand what a function is doing. Looking at that type signature above, I can see I want to use that function for addition, not multiplication.

Anyway, I'm absolutely not doing justice to these ideas (mostly because I'm not well acquainted with the languages). If you're curious at all, I would highly recommend taking a course on functional programming as a minimum; once I realised that names are meaningless in code, you start seeing everything as reducible to very similar type signatures, which makes you yearn for a language that lets you write your boilerplate once, in a polymorphic way (beyond generics).

[0] https://en.wikipedia.org/wiki/Termination_analysis
Ask HN: Where can we find remote writing internships/jobs/writing Gigs?
I haven't found any place to find remote writing internships/jobs/remote writing gigs. For reference my medium https://medium.com/@msuworld
OK you guys. Here's the serious bit then:

>> McKay probably saw this as a bit of a holiday, while the Nigerians saw it as work.

That's probably his way of unwinding and managing his psychology after a match. It's a bit misleading for the article to bring it up as a disadvantage since he's obviously a strong player who has probably competed for some time, so he should be expected to know what works for him.

Also, you can perfectly well go to the pub without coming back with your pants on your head. I usually drink half a glass of wine, then go home and code. No reason why the guy didn't have a light drink then got back to his hotel and trained.

By contrast, the Nigerian's practice of playing 48-hour games and studying non-stop during their flight sounds more performance-degrading to me (having played a board game competitively, I won't say which). But, again: what works for them works for them.
One example: 3.2.8, the second code box about hsc2hs.

HTML of the same section is fine.

There must be a way to fix this in the pipeline. I mean, you cannot find each and all and try to manually adjust the text.
The patch level allows you to indicate when a release was bad and should be ignored (you should always use the highest patch release). With monotonic versioning an unintended breaking change must be corrected by another breaking change (breaking WRT the broken version). Now you have two breaking changes where having a patch level would allow you to correct the regression and continue with no breaking changes in the release history.
I think it might be more like breaking into a house than you think. The reason is that there's no way to verify your intent. This leaves 'em free to make up one of their choosing.

"Security by design" seems to imply "oh, this is just a game." Nope. If you now require all people to be part of an electronics security arms race, this is a problem.

It may well be that there should be a mechanism for the police to refer such a kid to others in e. security to enculturate him or get him a network to be part of.
Of course, they're a favorite of the USA to make themselves a stronghold in the Balkans. But they still don't seem to get that Kosovo isn't capable of holding their own country economically. Being part of Serbia had it own benefits too, being on its own is something else.