skysight-inc/HackerNews huggingface dataset:
>It's really interesting FBI/DHS would make those claims publicly when the chance of having any hard evidence of that would be minimal. But they still did it. Why?

Occam's razor says it's what the DNC wanted them to say. Politically it's a lot easier cop to being penetrated by a state actor than a group like Anonymous, and it allows the Democrats to deflect the conversation from the content of the emails. Well, to make the attempt, anyway.

I'll be curious to see what Trump does with this once he takes office. If there's no compelling evidence of Russian state involvement I suspect he'll direct the relevant agencies to release everything. If he doesn't do that it's going to be difficult for him to cast doubt on the Russian angle.
No, this is wrong in Indian English too.

It's true that Hindi doesn't have articles; instead one, this, and that are used (translating).
Impressive. Out of curiosity, how did you come up with so many Unicode emoticons? crowd-sourced?
The dearth of quality education drives the housing inequality significantly. Funding schools adequately would have a profound effect on property values.
Questioning Microsoft publicly is dangerous
44^2+9^2
Trump: No computer safe from hacking
If that was true, you would think they would have responded better to the threat of Facebook than with Google+ and their distasteful pushing of it on all their platforms.

What do I mean with “the threat of Facebook”? In the old days, before today’s large “social media” sites, people made their own web pages on places like GeoCities or on simpler social-media-like sites like LiveJournal, etc. Those sites all had content and linked to each other. This is the web which the Google search engine and its algorithm was meant to find things in, and it worked very nicely, as it took advantage of the links other people had made to your site as a proxy for relevance in search results for your site. People making small web pages about their favorite topics (with lots of links to other people’s pages, since information was hard to find) could slowly and easily transition into making larger and larger reference web sites with lots of information, thereby attracting lots of incoming links from others, which in turn enabled people to find the information using Google’s search engine.

Compare this to now. Firstly, people having a Facebook account have no place to simply place information, no incentive to simply make a web page about, say, tacos or model trains, because that’s not what Facebook is about. Facebook is about the here-and-now, and whatever is yesterday is forgotten. As I understand it, there is no real way, in Facebook, to make a continuously updated page with a fixed address for people to go to as a reference point about some subject, or at least people are not directed towards doing this as part of their online activity (as opposed to in the past, when it was basically the only thing which people could do). Secondly, this makes it so that people have no natural path going from using Facebook to creating a larger web site with information, and there are no smaller model train or taco Facebook “pages” which could have links to your larger site and thereby validate its relevance. Thirdly, even if this second point was false, Google could not use these Facebook pages, because Google cannot crawl them. These pages are all internal to Facebook, and Facebook has every incentive to not allow Google to crawl and search this information. Facebook would much rather people used their own site to search, and thereby gaining all of Google’s sources of income: User monitoring and advertising.
Then why are there so many empty houses?
Besides calling Array.sort()?

When was the last time a front-end developer, or an app developer, or any developer actually, needed to implement a sort algorithm?

I started programming in the 90s, so I did a lot of it, implemented sorts, btrees, tries, you name it. When was the last time I need to implement it? Honestly, it's been a very long time, around 10 years, and it was just a bloom filter in c++ because it's not very used and few libraries have it.

Could I provide an implementation in an interview situation? Nope. And not interested in using my poor memory for it. If I ever need to implement a specific algorithm, say in a new language in which nobody did it before, I just need to make a search on google, take a few minutes to study it (for a sort), or hours (for more complex structures like btrees or algorithms I never used before), and use my knowledge/experience.

Of course, I don't need to implement those algorithms, but I use them a lot, everywhere. That's where interview questions should focus, where and when to use them appropriately, because that's the business case.
That's really odd. You can't even make a working progress display without that.
the DNC

Just an observation: I don't recall until very recently the DNC or the RNC to refer to the parties, as opposed to the Democratic Party or Republican Party. I wonder why the shift? The focus on the Podesta/DNC emails? Makes sense during the election, and now it seems to have transferred over to referring to the party as part of the government (e.g., in reference to the FBI or DHS). Last time I remember the DNC being mentioned so much by name was during the Bill Clinton campaigns, in contrast to the Democratic Leadership Council. My memory can be faulty and selective, so I'm wondering if anyone else has noticed this as well. (Anyone else remember Sinbad in Shazam?)
Ruby string interpolation can only happen in literal source code, not in user input.

2.4.0 :001 > a = 5
=> 5
2.4.0 :002 > gets.chomp
#{a}
=> "\#{a}"
10 Traits That You Want in a Creative Copywriter
Reconnecting with the UK for prospective gigs, remotely or in London. Spent five great years there as an EU national and Leave has been a shock, but life goes on.
They disliked flash for different reasons. Google for search and apple because flash games were too powerful, jobs wanted those games turned into iPhone apps.

The offical reasons were speed and security, which was obviously a farce since all the major browser vendors wrote their own PDF viewers which is both slow and known for tons of security issues as well.

They could have just as easily wrote their own fast and secure implementations of flash and Java instead of disabling them. Especially for Java given Google's deep experience with it and that they already have their own runtime.

Apple may have fired first on flash but google recently disabled all NPAPI plugins in chrome as well. The reason... "Security". I guess code not made by Google isn't secure enough to be used on the internet?
I wish, thats usually the issue with any of my sites. Classic chicken egg problem. I've got submitted 4 emojis in over a year now. I data mined them actually from github gists and blog posts and added a few which i thought were missing. Then i paid my little sister to do the tagging :)
> I can't imagine that having messages couriered everywhere by hand will be a practical way...

I thought the same about large organisations until last week I saw a ward-sister with a transit envelope, one of those manila pockets on which you write the next destination and send it on through internal post.

Apparently they're still widely used within the UK National Health Service to send confidential paper records and other data-conveying objects.
Considering the MTU issues: Does anyone know why this was not solved in IP (and IPv6) by the following method:

1) There is a field MTU in the IP header.

2) The sending host sets MTU := <MTU of the outgoing link>.

3) Any router on the path sets MTU := min(MTU, <MTU of outgoing link>).

4) The receiving host instantly knows the MTU of the path (the MTU field).

This seems like a much simpler, more reliable and more efficient system than PMTU discovery: no problems with firewalls blocking ICMP, no additional delay due to too large packets.

All at the cost of a single minimization operation at the router. The IP header checksum would need to be recalculated, but, due to the simplicity of the IP checksum, fixing it up changing one word is trivial (AFAIK).

I can imagine a potential issue with adding that to IPv6 when it was designed, that IPv6 should be tunnelable over IPv4 which doesn't have this, but still surely there are ways to deal with that.
I'm currently prepping for an interview at one of the Big 4. I can tell you that this site is quite useful.

They have tons of problems to help you with the recognition part as well. You don't have to be a genius to be able to do these problems. It just comes down to pattern matching.

That said I don't think this is the ideal way to interview people. However no one has as yet proposed a better alternative. I turned down an interview assignment recently because they wanted me to implement an app with :

- Syncing to a database

- UI Tests (with a mock API)

- Unit tests

- Functional reactive programming

- A really complex architectural design pattern

All this just to get a shot at the interview. I was too tired to do it at the time so I turned it down. So I would criticise programming interviews but I don't have a better alternative. Sane assignments are a reasonable middle ground (Perhaps they could have knocked off a few from the above list).

So if you want to work at a top employer and not be forever stuck doing CRUD then your only option is to learn algorithms and practice interviewing. I know it sucks but that is how the game is played.

The reason some people can do them is not because they're geniuses but they come from employers,schools where there is a culture of doing interview problems. They've been doing this for atleast a year if not more. So try doing them for a year and then tell me whether you still find them impossible.

I realised this when I took the help of a champion competitive coder for preparation. It was hard to find a question typically asked in these interviews which he hadn't heard of in some shape or form.

I have some tips I'm compiling which I might turn into a blogpost or book.

For recognition you need to practice abstract thinking . Thinking of something in terms of code should be completely avoided. Suppose I ask you to find the common ancestor of two divs.

In this case the DOM is a tree whose nodes have parent pointers.

Turn every question into a mathematical abstract form. Find a k such that , Find two numbers x & y such that and so on.

The next step is massive repetition. It feels like you're grinding with no understanding , but something happens when you repeat something 20+ times. Depending on how smart you are it happens sooner. Eventually it will become intuitive.

Always learn multiple solutions. Never settle for just one answer. Learn all possible answers and how it might be possible to go from a brute force to the optimal one.

Use Geeks4Geeks and Elements of Programming Interviews to build your pattern recognition.

Next read books and PDFs by Udi Manber on algorithm design.

http://akira.ruc.dk/~keld/teaching/CSS_e10/Manber88.pdf

This is a lot of effort. But that's just how it is. You don't HAVE to work at Google. You can work at other places and do quite well too. But if you want the top jobs then this the road you must take.
> The review committee does this for hours a day, and they see far more cases. That's like saying that it's better for you to assess the condition of the transmission of your car, because you care more and are more invested. I'd rather have the guy who rebuilds transmissions for a living, who has seen dozens of transmissions, and is familiar with common failure modes and pitfalls.

That's a really bad analogy, borderline dishonest.

In this case it's a mechanic taking his vehicle to another mechanic for service, you better believe that first mechanic is both more invested and more familiar with the transmission.
Cool! It doesn't keep your current status of the leds after it finishes blinking, right?
Yeah, it does look like d3 animation, don't think it will be hand-rolled.

Better approach will be combine d3 with reactive js like React/Vuejs for dynamic data

This is a globe
https://bl.ocks.org/mbostock/ba63c55dd2dbc3ab0127

then just provide/change the data
Becoming C++ guru, I mean in professional way. My 2017 mean focus on C++ as much as possible, then apply for C++ job abroad ! (I think about going to Europe or US).

p.s. I have bachelor degree in CS, and my theoretical (specially in Design and Analysis of Algorithms and Operating Systems) foundation is rock solid, maybe same level of a last year graduate student from ordinary university (not top-notch of course). But I need to learn more about Compilers and Programming Languages and their underlying technology, and I have chosen C++ as language that I want to spend my career on. So 2017 for me means C++ ! (and a little bit of Rust).

Another things I really like to get my hands really dirty is build tools. I do use CMake for my personal projects, but I want to learn Autotools, Meson, gn, etc. Because I fucking hate build tools, so I think knowing more and more, is good idea to understand whats going on in build tools area.

p.s. I wish next year this time, I can look at past and proud myself! I wish, wish me success HN!
Looks like it's made using BlueShift. There's a link in the lower righthand corner of the graphic. https://blueshift.io

Both the BlueShift examples and the graphic on this page are loading d3 as well, so it's likely BlueShift is building on d3 in some way.
Grmbl, questions.

When your in IT, everyone has questions. They think it's all the same. I don't have any time anymore to fix a or B's computer. Then I have to worry if they are offended.

At my job, there's a junior who constantly annoys me. He starts telling his problem with absolutely useless info and then says what he thinks the solution would be ( he's always way off). I go to him, ask it to show it to me with fiddler or Google console tools and almost always you can see the problem there. It's absolutely B's.

Or he asks a stupid question where the only possible answer is yes, I think he's doing it to show off as smart ( ps. He's obviously not and after 2 years, he still doesn't do much)

God, I hate it
My 7 Most Obvious Productivity Tips
Russia is not a landlocked country as it has warm a water port which is in Sebastopol, Crimea
Everyone always wants to prevent cures for autism, but no one ever suggests inventing something that gives people autism.

(It was sort of a plot point in a Vernor Vinge novel. And Brave New World?)
This isn't exactly HN style, but here ya go...

https://s-media-cache-ak0.pinimg.com/originals/f3/f7/7e/f3f7...
I find it interesting that CakeML, like many other developments in this area, is based on SML (Standard ML) and not OCaml (Objective Caml). Moreover, whenever I read something about ML languages, it seems most people in the academic field talk about SML.

Yet, it seems that OCaml is more popular among programmers and real-world projects. Even though these programmers come from the academic field, given the niche existence that OCaml still is. For example, the astonishing MigrageOS project chose OCaml instead of SML.

So my question is:

How is that? Why is OCaml so much popular, despite having just one implementation and no real spec? Why is SML with its real spec and multiple implementations not as least equally popular?

EDIT: Here are two possible answers that I don't think apply:

1. OCaml may be "good enough", which, combined with network effects, make choosing OCaml over SML a self-fulfilling prophecy. I don't think it is that simple, because OCaml users and projects come mostly from the academic field. They are deeply concerned with correctness of code. Which would mean they should all have favored SML over OCaml. In fact, sometimes correctness seems to be the sole motivation. For example, the author(s) of OCaml-TLS didn't just want to create yet another TLS library in a hip language. They are concerned with the state of the OpenSSL and similar libraries, and wanted to create a 100% correct, bullet-proof, alternative.

2. Although one could attribute this to the "O" in Objective Caml, I don't think it is that simple, because it seems the object-oriented extensions are almost unused, and wherever I saw them being used (e.g. LablGTK, an OCaml wrapper for the GTK UI library) I don't see that much value, and that sticking to plain OCaml Modules and Functors would have led to a better interface.)
Computer vision late-stage startup, 80+ people now I think, of which 50 are devs. Of course not everyone does what I do, we still need people to work on the UI and packaging/licences etc. But at least 50% of the devs here do very research-oriented work.
The first part of your comment doesn't make sense. What does diplomatic saber rattling have to do with arresting people?

Besides, a government has a duty to give it's citizens a fair trial. It has no duty to protect a foreign government. So why would it release the evidence?

Compromising the DNC during elections is attacking the Democratic election process. If somebody's goal was to be a whistleblower why would they strategically release information timed to disrupt an election?
How I made a SaaS webservice earning $1000 monthly profit
This tutorial is about building a small, profitable SaaS webservice from scratch and making it earning $1000 per month. This has nothing to do with multibillion unicorn startups, I’m just describing my experience. It’s about a useful, robust, and profitable tool that anyone can make. And the last point, this webservice has been made for the Russian domestic market, so I’ve translated everything into English and USD for convenience. Otherwise, this experience is pretty general and could be adopted anywhere.
Technical note: 5 cubes is not enough for every number, so this property of 2017 is not trivial.

From

> Every positive integer can be written as the sum of nine (or fewer) positive cubes. This upper limit of nine cubes cannot be reduced because, for example, 23 cannot be written as the sum of fewer than nine positive cubes:

> 23 = 2^3 + 2^3 + 1^3 + 1^3 + 1^3 + 1^3 + 1^3 + 1^3 + 1^3.

I couldn't find if it's common that 5 cubes is enough. [This looks like a nice exercise for the reader.]
Because then the crawler would be making the assumption that the main page with the JS loader on it would never change. If it never loads that page and always assumes it should be requesting the XMLhttpRequest endpoints, then changes to the site as a whole might never be indexed.
From what I've read, experienced, and observed, it would seem novelty is the crucial element in preserving and, even heightening, mental acuteness. Whether you are a programmer or a chess player; that alone might not be sufficient--you should always pursue novel activities. I tend to suggest music theory and learning to play an instrument.

Programming and software development need not be complex, and indeed a lot of programmers do not work on complex things, much of what they do is just routine, and that will not be enough stimuli for your brain.
Porsche 991 Turbo S vs. Lamborghini Huracan
And 2017 = 2^3 + 4^3 + 6^3 + 9^3 + 10^3
I know it's nitpicky but www != the internet.
The web closing off is very bad for Google but I'm rooting for them to try stem the trend since it's also bad for users.

Putting walled gardens around large portions of the net will inevitably result in endless mergers and an eventual "website fee" that users pay to one of three highly entrenched monopolies that control all the content. It will be back to the cable TV days in no time
Nope, Googlebot has been able to crawl Flash for almost a decade: http://searchengineland.com/google-now-crawling-and-indexing...
Tabbie and tab suspender
Too bad that the blender website has neither a "blog" section nor an RSS/Atom feed. I would love to keep being informed in a low-traffic way (once a week, or even once a month) about the latest cool features, development and movie projects of the blender community.
the Democratic election process

Admittedly a nit: Do you mean the democratic (small d) election or the Democratic Party nomination process?
Yes, you are probably right. I mis-remembered it as a spearphishing attack using a fake LinkedIn login.

Technically I guess it kind of is a fake LinkedIn login, but I think I'd be stretching the definition a fair bit...
better title: Why software engineers clearly need no math skills whatsoever - solving a 12x18 matrix in as little as 15 loops

ever heard of gauss algorithm?
Sometimes it's best to store a scheduled events as "Event localtime" and "Timezone" (where timezone is a named description - e.g. "Europe/Madrid" - rather than an offset - e.g. "+1:00").

This allows the record to stay consistent, even if there are changes to the local time rules - e.g. leap seconds, daylight savings, timezone offset.

Imagine a tech-camp had been planned in Cairo, Egypt, to start on 9am on July 10, 2016: that would have been scheduled for 06:00 UTC. When Egypt cancelled daylight savings with three days notice, that record should then have been 07:00 UTC.
"More obvious" is precisely my point: the misindentation in your example jumps out at anyone familiar with the syntax. This is not an universal cure, and won't help you with other types of semantic errors: nothing is going to help you if you try to avoid thinking and rely solely on your tools; that is the essence of cargo-cult programming.

OTOH, this tool will help you avoid a common pitfall with potentially disastrous consequences. A high-visibility vest for coding, if you will: won't save you from slipping or your head from falling objects, but neither is its purpose.

(Iterative bootstrapping is how we got from sharpened rocks to virtual machines, not by "meh, this minor improvement won't fix everything, so why bother.")
Software in a nutshell. The 'can you invert a binary tree' coming of age ritual one studies so hard for. You know it will happen before you step into the interview room and there's no escaping it, but you go in nevertheless.
Making code fast: Measure what you intend to measure (Clojure)
A path may not be symmetric.
Google executes JS but maybe not on every website. If you have a JS error reporting tool on such site then you can get reports from Google IP addresses. I saw them first maybe 4 or 5 years ago.

Executing JS everywhere would require a lot of CPU time and I think Google prefers not to do that when possible. And indexing a JS app is a very complicated task anyway (it is difficult for a robot to even find navigation elements if they are implemented as div's with onclick handler instead of links) so you better use sitemaps to make sure the bot can find content.

And I don't think it is necessary to index rich apps. It makes no sense to index a ticket search app (the data become outdated too fast) or an online spreadsheet editor. Just make indexable pages as server-rendered HTML pages and put their URLs into a sitemap.

Also Google looks for strings in JS code that look like URLS (e.g var url = '/some/page') and crawls them later.
I don't know why OP is being down voted. Kim Dotcom tweeted he had early access to the leaks. It feels like a more plausible theory to me than the one the Obama administration is pushing. He announced his attention to be "an Internet Freedom fighter" and "Hillary's worse nightmare in 2016" back in 2014.

Look at this tweet from 10 hours ago:
"My old hacker firm Data Protect hacked 100% of its clients."
https://twitter.com/KimDotcom/status/815373371001028608

Another tweet from a few days ago claiming:
"I know with 100% certainty that @Russia & @PutinRF_Eng had nothing to do with Clinton related election hacks!"
https://twitter.com/KimDotcom/status/814593453963083776

It surely seems like Kim Dotcom wants people to think he is involved.
That one is called ephemeris time (ET). Astronomical applications require the information of the current difference UT-ET.