skysight-inc/HackerNews huggingface dataset:
This looks quite interesting. I wonder, though, if it might be a good idea to cut back the scope of the project (at least initially). Replacing the ANSI escape sequences with something sane is a hard enough problem, I think, even if you were just going for feature parity. Fixing the colour palette problems would be amazing.
A WebKit announcement is notably missing, unfortunately. However, it is great to see Edge, even though it is not a surprise, as they have been pushing for WebAssembly from the start.
Next challenge: Can AlphaGo beat 10 or 100 humans playing together against it?
Just don't piss them off while they're drunk.
Emacs Wiki
>Sure, but it's O(n) rather than O(n^2).

Won't disagree there!
It seems clear to me that if all the money we spent on fighting terrorism since 9/11 were instead spent on, say, reducing traffic fatalities, it would have saved a lot more people.
I had their support reset my password to a different email account by listing three generic names that I thought might be in my contacts list. It was great for me, but not a secure or reliable process.
"I have seen some programmers use it like a struct."

I think namedtuple is entirely too tempting to use for that purpose, given that I think it's the wrong solution. I don't want my struct to be iterable and indexable. I think len(my_struct) should fail.

The namedtuple is a great solution for when you have a tuple API (like the old output from os.stat() or time.gmtime()) and want to transition to an attribute API.

I would prefer a "namedstruct" for a tuple-less version of the same API, to help avoid the attractive nuisance of namedtuple repurposed as a struct creator.

"The other day I was looking for a way to convert a Python dictionary into an object and I came across some code that did something like this:"

>>> from collections import namedtuple
>>> Parts = {'id_num':'1234', 'desc':'Ford Engine',
'cost':1200.00, 'amount':10}
>>> parts = namedtuple('Parts', Parts.keys())(**Parts)

(As a minor tweak, that last line can use 'namedtuple('Parts', Parts)(Parts)'.)

I'll point out that the namedtuple-less alternative is a class like this:

class PartsClass(object):
def __init__(self, d): self.__dict__.update(d)

parts = PartsClass(Parts)

There are some important differences: 0) my version can't be done inline, 1) my PartsClass doesn't have the useful repr() of a namedtuple(), 2) my PartsClass attributes can be modified while a namedtuple's attributes are read-only, 3) the inline nametuple is dreadfully slow - 600x slower than making a class!

>>> timeit.timeit(number=1000, stmt=lambda: namedtuple('Parts', Parts)(**Parts))
1.4882779121398926
>>> timeit.timeit(number=1000, stmt=lambda: PartsClass(Parts))
0.0022149085998535156

4) hoisting the Parts namedtuple creation results in about 10% faster code than creating a class instance:

>>> timeit.timeit(stmt=lambda: PartsClass(Parts))
1.1018929481506348
>>> PartsTuple = namedtuple('Parts', Parts)
>>> timeit.timeit(stmt=lambda: PartsTuple(**Parts))
1.0174322128295898

5) the tuple API requires the * * notation, while the class notation can take the dictionary directly, and 6) object instance attribute lookup is faster than a namedtuple property lookup:

>>> parts_instance = PartsClass(Parts)
>>> timeit.timeit(stmt=lambda: parts_instance.desc)
0.19052886962890625
>>> parts_tuple = PartsTuple(**Parts)
>>> timeit.timeit(stmt=lambda: parts_tuple.desc)
0.3053739070892334

If there are even two attribute lookups per object then it's faster to use a class instance (1.10+2×0.19 = 1.48) than a namedtuple (1.01+2×0.305=1.62)
This is a good point. I think it's ingrained in American culture (and the Constitution) that part of the purpose of personal gun ownership is to curb governmental power. How can gun control be justified when police are roaming around like a para-military group?
Amazon Plans Move to Facial Recognition for Purchases
It simultaneously irks me and pleases me that the first result on DuckDuckGo for "lxd" is the Legion of Extraordinary Dancers.

(Google gets it right, presumably because of all my code searches.)

"[...] a 2010–2011 web series about two groups of rival dancers: The Alliance of the Dark who are the villains and The Legion of Extraordinary Dancers, the heroes, who discover they have superpowers referred to as 'the Ra' through their dance abilities."
Yes! It's the compatibility of more than one implementation, each running the same WebAssembly binary that makes me so excited about this milestone.
Know a Coffee Roaster? Craft Coffee Is Hiring a Coffee Program Lead
Ask HN: What to do when a project is "finished"?
I now consider an open source project I did, Umbrella JS [1], is "finished". By this I mean it has everything I wanted it to have, it's tested extensively* and documented heavily* .

My initial idea for the project was to use it myself and now I'm doing it and I love it. However I have a strong feeling that "I should keep improving it", but at the same time I think that this feeling is what makes projects become bloatware and too big/complex for their own good, which happened to me before [2].

The main thing is that if some people happen to find the project, I don't want them to think it's a "dead project". For sure I'll fix small (or big) bug reports and maintain it, but I expect the needed work in this aspect to be minimal.

So, what can I do now that this project is finished? Just leave it as it is or do you recommend other course of action? I can think getting more people using it might reveal bugs quicker (I don't mind if many or few people use it per se, but less bugs for sure is better).

Is this feeling of "I should keep making more things" normal after finishing a big-ish project? What do other people do in this situation?

[1] http://umbrellajs.com/ (when is a project finished?)
[2] http://picnicss.com/ (too many "broken features")

*at least for a 1-person project
It is defined.

6.5.7. An object shall have its stored value accessed only by an lvalue expression that has one of
the following types:

- an aggregate or union type that includes one of the aforementioned types among its
members (including, recursively, a member of a subaggregate or contained union)

This means Derived is allowed to alias Base.
[Article] Artificial creativity (A.C.): Can a computer be creative? It’s close
PSD to App tutorial
"In development": https://webkit.org/status/#specification-webassembly
Watch six tiny robo-ants weighing 100g in total pull a 1,769-kg family car
Probably the same way Yahoo did it, who also had those features and now is close to the dumpster.

Lack of focus, I guess?
Why Hackers Must Eject the SJWs (by Eric S. Raymond)
Shhh I'm trying to mess with his reputation...
Surely that is all US politicians if you look at anything else in the constitution except guns.
If a company asks me to do 8 or more hours of artificial coding test I usually refuse, unless I really want to work for this company (because it is well known in the community, which are few).

However, I'm happy to work on any real task for a reduced or limited fee. It's a win-win: the company gets to know the candidate under real conditions, has an actual task solved at a reduced price, and the developer does not give away his/her time for free. Plus, if it works out, the candidate has learned already the first steps about the company's system and process and can directly build on it.

I'm always wondering why not more companies do this.
Postgres for Ladies
I can still remember the "uh-oh" sound. I remember searching for and download sound boards to replace the sounds. They also had that chat window where you could actually the user typing. Nostalgia eh.
So you are making comments about pure mathematics. If you want to use imprecise language and not be corrected, you should probably go write a book review or something. In math, precise language and correcting someone or forcing someone to give justification for something is expected and completely usual. It would be bizarre when talking to a mathematician about mathematics if they didn't immediately correct or demand clarification and justification when you say something vague or incorrect or unjustified.
Website Design Is Better Left to Professionals
Yes, that number startled me as well - it is so far beyond Dunbar's number that it must represent the result of some automatic collection process. Perhaps Gmail harvests all the email addresses passing through your inbox and stuffs them into the contact list? I imagine that most people using Android phones are less persnickety than I am about allowing Google to manage their lives, so I can imagine that Google might be routinely shuffling large numbers of "contacts" around, which the user of the device neither knows or cares about.
This is not a 15 years old complaining on Reddit, this is by Eric Raymond, of "The Cathedral and the Bazaar" fame
A Conversation with Phil Hagelberg on Bussard
WebAssembly is "In Development" on WebKit's status page: https://webkit.org/status/#specification-webassembly
Washington DC has the lowest gun ownership per capita and yet the highest gun murder rates in America.

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

Please explain the lack of correlation between gun murders and gun ownership. Even when controlling for density, there is still no correlation.
A reasonable thought on gun control and gun violence is not allowed the US! Either you're for the mass killings of Americans or you're for the door to door confiscation of all guns. /s
> You can't use a salt, the contact you want to match has to be able to compute the same hash.

I think the misunderstanding here is that I meant one salt for all users at a time, instead of one salt for each hash.

And as long as stored hashes can be recomputed (by active users), the 'global salt' can be rotated over time.

We can pre-compute hashes with future salts in case apps are not constantly online. Then we could rotate salts, say, once every 2 hours.

The point being to make rainbow tables more expensive.

> You can hash the contact pair instead of one side of it, but even then an attacker can rent X instances of some hardware that is Y times faster than your phone, so if you target a difficulty of ~1 second per contact on your phone, you get a difficulty of 2700 hours / XY for the attacker to recover all of your contacts

> So if Y is 10 times faster than your phone, you only need X=10 to recover the contacts for a given number in a day. If the attacker is willing to set X=1000, Y isn't even relevant.

I think this should be (10^10/3600 ~ 2.7 million hours) / XY. Also, let's say we can make it Y seconds (perhaps the hash is memory hard, etc). Then to compute a single table (per salt) we need 2.7e6 hours, at say $0.01 per hour, so $27k per table.

Taken together that would mean to reveal the contacts of signups happening within a 2 hour window, would cost quite a sum.

It's not secure, of course - but it does give some measure of privacy.

If you think users are willing to wait more than an hour, you could 10x the cost too. But that's probably not practical anymore!

Edit: Oh. I see I made a mistake here! If the server computes a single rainbow table it will be able to retroactively de-anonymize all users that are already active at that time! :( Sorry.
Async just tries to load everything at once. If you're on mobile, you could have a slow connection. Trying to load an image at the bottom of the page at the same time as an image at the top of the page would compete for bandwidth. The idea behind lazy loading is that you give top priority to what needs to be downloaded right now.

You also don't bother loading what will never be seen, assuming the customer doesn't scroll down to the bottom of the site. This improves the customer's battery life because an HTTP request uses the radio which taxes the battery.

Further, by abiding by a set of standards, Google and others can trust the content will load quickly. That trust allows them to feature the content higher up in search results.
I think the axes that the political compass (authoritarian-libertarian and economic left/economic right has are, while imperfect, a better way to think about it.
A WebAssembly Milestone: Experimental Support in Multiple Browsers
Cyber Security Expo and Symposium – March 30th, 2016
Correct, lightning kills with electricity, not firearms.

The point is both incidents are incredibly rare. Your first two examples don't really work in this context; cows on the other hand - good example. http://www.cdc.gov/mmwr/preview/mmwrhtml/mm5829a2.htm
Josh, what's your opinion about this situation?

https://goo.gl/3hz0em
Other links:

V8: http://v8project.blogspot.com/2016/03/experimental-support-f... (https://news.ycombinator.com/item?id=11289345)

MS Edge:
https://blogs.windows.com/msedgedev/2016/03/15/previewing-we...
I've come to believe that some Google interfaces (eg. AdWords, Webmaster Tools) suck because then you need one of their certified partners to set things up.

By no means they are meant to be used by normal people. Also, data provided by Adwords is a bit limited and you need another tool to better track your hits
>> Neural nets represent one of our best attempts to model brains.

See now that's one of the misconceptions. ANNs are not modelled on the brain,
not anymore and not ever since the poor single-layer Perceptron which itself was
modelled after an early model of neuronal activation. What ANNs really are is
algorithms for optimising systems of functions. And that includes things like
Support Vector Machines and Radial Basis Function networks that don't even fit
in the usual multi-layer network diagram particularly well.

It's unfortunate that this sort of language and imagery is still used
abundantly, by people who should know better no less, but I guess "it's an
artificial brain" sounds more magical than "it's function optimisation". You
shouldn't let it mislead you though.

>> Taking a position that neural networks cannot ever result in strong AI is as blind as taking a position that they must.

I don't agree. It's a subject that's informed by a solid understanding of the
fundamental concepts - function optimisation, again. There's uncertainty because
there's theoretical limits that are hard to test, frex the fact that multi-layer
perceptrons with three neural layers can learn any function given a sufficient
number of inputs, or on the opposite side, that non-finite languages are _not_
learnable in the limit (not ANN-specific but limiting what any algorithm can
learn) etc. But the arguments on either side are, well, arguments. Nobody is
being "blind". People defend their ideas, is all.
At the risk of being accused of blowing one's own horn, we have an open source project which implements a Slack-like platform. It's been in production for well over a year for us and has worked quite well.

We implemented it when we realised that there were no such products available that was open source and self-hosted. Another neat feature (in my opinion, of course) is that it's implemented in Lisp, which makes it much more fun to develop for.

Github repository: https://github.com/cicakhq/potato

Demo server: https://potato.dhsdevelopments.com/
This gives a whole new meaning to the phrase "but think of the children!" :)
An attempt at clickable links:

https://testbeacon.com

https://app.testbeacon.com

http://docs.flytrap.io

https://chrome.google.com/webstore/detail/testbeacon/ibonccc...
BranchTrack, an innovative new learning product from Latvia, secures €250k
Nice ad-hominem.
I appreciate this approach. I'd love to be more active with outside-of-work projects, but my days are usually already full. And I can't provide a lot of code samples because the majority of my work is IP.
previously: https://news.ycombinator.com/item?id=10565032
For newer iPhones:

Is the software signing key used to sign the OS the Achilles Heel of the Secure Enclave? If so than does Apple resort to a un-updatable, pure-hardware implementation of the Enclave? Would that prevent the FBI from decrypting phone data even if they installed a modified OS?
You are correct, but you are playing the game. You see and process the possibilities based on your understanding of the chess ruleset.

With machine learning with brute force you are simply trying X possibilities until something sticks and gives a high % of win state. That's different to playing the game using knowledge of the ruleset, even though, most of the time, the end result is the same.

This is what killed AI research in the 80s. That moment when everyone collectively saw they were simply working on a more powerful culled brute force (pruned tree as you call it) when they all thought it was true AI.

True AI is hard. The required computational resources are immense even for something simple. Take a Bishop on a chess board. How would you tell an AI the ruleset that the Bishop moves diagonally only? It must first understand what it is looking at, then what diagonally means, then what diagonally means in this particular context. All with nodes of pattern matches and an input stream.

I feel these young guns are falling into the same trap of calling machine learning AI without the benefit of experience an older researcher would have, having been through this situation before.
Craft Plus Plugins
4 Types of APIs and When to Use Them
>So, we should all be allowed to own bazookas and nukes and aircraft carriers?

Most of those are prohibitively expensive, but why not? Is your argument that somehow ordinary people will be more likely to use them indiscriminately?

I mean, who is the US government, which owns bazookas and air craft carriers, but a collection of ordinary people who have done their share of indiscriminate usage of weaponry?
There was a lot of discussion at the time, and my recollection is he was already known to mental health services. The Sun et al had him painted as a rabid survivalist of course. Wiki seems to say it was retrospective diagnosis, so I'm not sure...

I can understand wanting to collect, or at least try, different types, but who in the world needs an assault rifle?
See my sibling comment about the salt.

As long as hashes are computed client-side, I don't see why the size of the installed base matters?
I've noticed that too. The trend of right wing gun activists to support increased survalence. It's an odd issue that seems to draw support from both political parties. President Obama has made his stance on privacy and survalence pretty clear. Ironicically it's the same stance that most of the republican candidates are taking.
That is undefined behavior for two reasons. You're interpreting an object as an object that has an incompatible type.

It also violates string aliasing because 6.5.7. only works for one way. See my other comment.

Derived can alias Base, but not vice-versa.
Most numbers are. Exact.
So many "metoojustthisoneotherphone" requests have surfaced that it's of no point in keeping up that specific farce.
Ask HN: Sorry I'm new but how do I
Get notified when someone comments on something I've submitted from a few days ago?
1. The source for this article is http://www.snopes.com/toddlers-killed-americans-terrorists/, which says

>Broad counts indicate that 21 toddlers shot and killed themselves or others in 2015; 19 Americans died at the hands of potential or suspected Islamic terrorists.

Even taken at face value, that's 21 to 19.

That page is itself a bit confusing. They count the number of deaths by Islamic terrorists while evaluating a claim that merely says foreign terrorists. The guardian then spins that into terrorists, not specifying foreigners. Glancing over https://en.wikipedia.org/wiki/List_of_terrorist_incidents,_J... and https://en.wikipedia.org/wiki/List_of_terrorist_incidents,_J... turns up the following:

https://en.wikipedia.org/wiki/Charleston_church_shooting, 9 dead
https://en.wikipedia.org/wiki/Colorado_Springs_Planned_Paren..., 3 dead

Neither seem to be by foreigners, so snopes is not wrong, just confusing. The guardian is flat out wrong. The numbers are 9+3+19=31 versus 21 for toddlers.

2. The fear of terrorism is of the tail. People aren't that worried over the 10 people who die in an attack, comparatively. They're worried about the 3000 people that die for a large scale attack, even if it's less likely.

I bet if you took the last 25 years, terrorist deaths would be more than toddler gun deaths. If the latter is around 25 a year, we have a total of 625, versus 3000 from 9/11 alone.
Scala's success has technical and socio-economical causes. Here are some more non-technical factors.

- The existence of a reasonably well-funded organisation (Typesafe/Lightbend) stewarding Scala was well-received.

- Typesafe/Lightbend's independence also helped, in the sense that I cannot see a Scala-like language succeeded if it had come from e.g. Oracle.

- Scala's open-sourcing of everything helped.

- The well-executed and well-timed Scala-MOOC also helped a great deal.

- Odersky's fame and track-record helped too.

None of those might have driven your Scala adoption (or mine), but they might have helped others to shift their dev towards Scala.
Does anyone else find it funny that the Game 4 in which Lee Sedol won got the most upvotes on Hacker News? We're still firmly with team human it seems :P
I disagree. Google's Webmaster Tools are not really that complex, and while the UI could use some polishing here and there, it works just fine.

AdWords has way more features, of course. However, it's still pretty usable in my opinion, especially when you consider the amount of accessible data.

You say "there's not enough data" and "it's not for normal people" at the same time. While these are not entirely mutually exclusive, the more data you want accessible, the more difficult it becomes to categorize, display and visualize this data.
Ask HN: What would you like to see in a chat web app?
I´m creating a chat webpage (similar to omegle), with socket.io over node.

What would you like to see implemented that would make you say "hey, now that´s something i´d like to try"?
Wall Street Tours the Tesla Factory–and Loves What It Sees
White text on a yellow background? What are they thinking...
Making large Python projects painless
The old free version still works: http://www.sente.ch/software/goban3/. You want the universal binary. The newer one isn't available in the app store for me either.
I guess this amounts to a chicken-and-egg problem. In many European countries, police officers are only minimally armed (just a handgun, used only in rare circumstances).
All that tells me is you forget the lessons others have learned the hard way.

Experience is a dear teacher but fools will learn no other way.
How do the extreme majority of our citizens protect themselves from hackers and identity thieves if they can't have reliable private key encryption? It seems like you are focusing on solving a small segment of "criminal plots" by exposing many more of us to other "criminal plots".
I don't mind a 2 hour or even maybe a 4 hour assignment, but a project estimated at 8 hours?

Yeah, either you pay me for that time, or I'll just look elsewhere.

(And granted, that might exactly be what the company is looking for: a way to reduce the amount of applicants they have to sift through)
IT Survey: 69% of enterprises plan to slash SIEM costs
Calcado describes his wish that the candidates be "more T-shaped", and not just worker bees with narrow skills. But I see no mention of ways his more successful hires "branched out" and expressed wider interests or capabilities, presumably in in domains outside computing.

Here, do the T branches apply only within computing, like knowing more than one software tool? If so, I think that's not what Tim Brown meant.

Presumably an interview seeking signs of "T-branching" would propose higher level questions, like business acumen or domain curiosity or spontaneous Q&A to better understand or elaborate the requirements needed to solve a representative problem. Otherwise the "T" just equates to broad software skills.