skysight-inc/HackerNews huggingface dataset:
"Heck, even Canada now has a law that makes using Dropbox illegal if you are working with personal data (at least until Dropbox starts storing that data in Canada, or that’s what I was told). It’s called PEPIDA."

It's actually called PIPEDA, not PEPIDA.

Also, where is the source? I have done a good share of readings in this topic as part of my research in a Canadian university (< 4 months ago) and could not find the "illegal"-ness of such actions.

Currently, the act essentially outlines consent and putting the knowledge and power to update/remove private information with the users, and does not outline what services or actions are illegal.

It is important for people care about privacy, but it is not cool to post un-sourced opinions as facts, as people often mis-cite them as fact and propagate false info.

Here is the act, and a summary of responsibilities: https://www.priv.gc.ca/resource/fs-fi/02_05_d_16_e.asp
The 1931 Histomap: The entire history of the world in one chart
I've been using the "per-application" method (as the article calls it) for about 4 years now, and it's been working fantastically.

Now if I could only figure out an equally good method for managing my ssh keys...

A small tip for those working on locked-down systems: if you can't install GNU Stow, you can use XStow[1] instead. It is a C++ version of Stow (instead of Perl). It is very easy to build and has very few (if any) dependencies.

[1]: http://xstow.sourceforge.net
Fedora workstation is really stable these days !
Thank you. I use Vimium but never knew about that. I forgot how much I missed that feature on Opera.
pretty cool, thanks!
Your points are good, but despite their entropic advantages they remain limited by the anthropic principle. Other forms are likely possible, just unlikely under our set of circumstances.

I would still hazard a guess and say that I would expect carbon based life to be there basis of the lions share of life in the universe though.

Regarding the Krebs cycle and other biological feedback cycles, I strongly disagree.

It came to dominate at a point where it propagated through all the extant branches of life, but it is by no means the only way life could have decided to do the process of energy production.
Once evolution evolves something, it is stuck with that system - no complex biochemical system will evolve into a Krebs replacement whilst Krebs occupies that niche, and evolution isn't going to spit it out of the way!
"It will also give Mick an overview of the sad and sorry state of his code, hopefully prompting him to pull his socks up."

Best line ever..I wonder if I can sneak something like this into a code review....
As fbonetti already said, LIMIT is the canonical way to do it with SQL databases (I would just add to their comment that you should ensure a positive page_size and offset, because "LIMIT -5" is invalid in at least MySQL, and to limit the page size to some sensible values).

For NoSQL, specifically (only?) CouchDB, you start iterating from a given key (in SQL, this would effectively be "WHERE id >= $start ORDER BY id ASC LIMIT n").

This difference is why I would recommend, especially for paginated REST APIs, to provide links to the next/prev pages, so API clients can follow these links without thinking about how pagination is accomplished exactly. To prevent people from guessing the inner workings and working around your links, you can encode the parameters in a "cursor" (so instead of ?pagesize=20&page=10 you could have ?cursor=base64encode("20,10") (SQL) or ?cursor=base64encode("$startKey") (NoSQL)). IIRC Facebook does it this way. Encrypting or authenticating the cursor is IMHO overblown here, given cursor values can be easily validated and rejected if fiddled with.

Using an opaque cursor also gives you the ability to change how pagination works without breaking existing API clients.

If you plan for lots of data and many pages, think twice before outputting links to all pages (on a website) or outputting the total number of elements (in an API). COUNT(*) on InnoDB is slow and I heard it's not the quickest thing in NoSQL databases either.
I think the same thing with length units. They're always saying, "The operator cuts the widget into four tenths of an inch increments" and I get unreasonably mad at the TV, shouting, "Ya mean a centimeter?!" If they were really using the imperial system, it would be 3/8", not 0.4.

But for temperature, I just can't relate to °C. I've been too indoctrinated in °F so long. But with higher values, like 700, it's not hard to double it in my head and get a reasonable approximation. So yeah, just give it to me in whatever unit the factory is actually using. Especially if there's a visible control panel in the shot.
I'm reminded by an idea from deGrasse Tyson, not sure if it's his... on worms, who share 70% of their DNA with us. Yet they're completely oblivious even to our presence as we walk by, forget being able to communicate with us, or grasp the intricacies of human civilisation and its history.

What are the odds then, that there may be a species not even insanely different from ourselves, which we simply cannot even observe or be cognisant of. If true, it'd make all our efforts to seek out, let alone communicate, with aliens, naively cute.

It's a fascinating idea, although I've never explored whether it has any merit. It may just be one of those ideas that sounds amazing but falls apart if more closely inspected.
Any thoughts on how it compares and will overcome the dominant enviromnent for technical programming, matlab?
Pop quiz: how many civilizations run the entire length of the chart, and what are they?
What a whole load of excusing bad behaviour.

This is how corruption gets washed over, this is how bad people are able to entrench themselves in their jobs, this is how you create talking points for angry, know-nothing reactionaries.
Do NOT strip Go binary:

https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=717172
Generate Your Own Orly Parody Covers Slack Plugin
> not to travel on the same flight.

Did they also asked them not to travel in the same car? Chances of dying in a car accident are considerably higher than a plane, unless I am missing the reasoning behind it
A responsive material CSS framework
Cephalopods can use tools: https://m.youtube.com/watch?v=AP_dpbTbess
That's a clever one. More importantly, it makes for an amusing picture.
Why would you break content into "pages"? If the requestor wants the data, give it to them

Forcing artificial page-breaks is abusive.
Every instance of the program will have its own private copy of the uncompressed data. For normal uncompressed binaries the pages of the on-disk binary would be shared instead. (Except for any pages that get modified, which would trigger copy-on-write. A classic example would be load-time dynamic linker relocations).
This article seemed rather inane to me, complaining about Cook's standing up for privacy and Zuckerberg's anti-Trump speech or his new foundation, while ignoring the $900 million that the Koch brothers are pouring into down-ticket campaigns or hundreds of millions more from Sheldon Adelson. Somehow the emphasis on political influence got misplaced.
Should Muslims, the followers of Islam, be treated differently, and if so, why and how?
> How would you add practical, guaranteed STM to OCaml?

I don't see the relevance. Clojure has STM and isn't pure at all. I can't see why OCaml cannot do the same.

> There are other, very productive languages (at least for initially writing programs) but they tend to be far less reliable. There are other relatively reliable languages (e.g: Ada) but they are far less productive.

I understand that the Haskell community wishes this to be true -- and maybe it is -- but to date there's no data to support this. Whatever little data we have on bugs (the "GitHub study", which might not be dependable, but that's all we have) shows negligible-to-nonexistent advantage to Haskell over other languages.
With modern SSD that isn't going to be a concern. You can write to them at full speed constantly for months and real world tests have shown them to last just fine and you are not going to max out 500MB/s writes to an SSD with log files :)
I really enjoy this series. As someone who has begun writing kernel code somewhat recently, it's been immensely helpful. I hope that the author continues to writes these, and I'm looking forward to the coverage of the RCU.
You're completely right, it's odd. Also I didn't realise that the return type was also on the same line as the function name, in which case, even more odd.

I think the idea dates back to early C. I've definitely seen C code with the return type on a separate line.
https://news.ycombinator.com/item?id=11512830
Ah, OK, thanks for explanation!
Hello Ejanus, i think you misunderstood me. First and formost, i am a Nigerian and so is my co-founder. Why i said our network infractructure is located in Canada is because my CTO who is also my co-founder is based in Canada and so works from there. Every tech related issue is run from his nase why I take care of the administrative part of the platform. I should also tell you that our office address is im Nigeria and if we have to employ as we expand, well u know the answer already.

To throw more light on this, Our startup is in the video space and you will agree with me that uploading contents in this part of the world can be a frustrating experience especially when those contents are of high resolutions, this is why we have to run the tech related aspect of the company from Canada. A little research on other VOD platforms in Africa will give you a clearer pucture of this. A case study of irokoTV that its headquarters is based here in Nigeria but have an office in NewYork, why do you think they have a branch in USA when their industry is Afruca based. This is because they run the tech related part of the platform especially in the area of uploading their contents from USA taking advantage of the high level of internet broadband success.

hubrif is a startup that is Africa based and founded by Africans and we sure care about the progress of our beloved continent!..
Isn't "whore" gender neutral?
One of the more interesting bugs I've created is in an Elixir program using the (great) Timex[0] library. I realised that for a few particular users, timezones were being inverted when converted (e.g. a user in GMT+5 would behave as if they were in GMT-5 and vice versa). After a lot of time spent proving to myself I was not actually going mad, I opened a Github issue and the library author informed me about one of the stranger quirks of timezones - the Etc/UTC-X timezones[1], which represent areas that don't have an assigned area (usually a continent, like Europe/Berlin).

"The special area of "Etc" is used for some administrative zones, particularly for "Etc/UTC" which represents Coordinated Universal Time. In order to conform with the POSIX style, those zone names beginning with "Etc/GMT" have their sign reversed from the standard ISO 8601 convention. In the "Etc" area, zones west of GMT have a positive sign and those east have a negative sign in their name (e.g "Etc/GMT-14" is 14 hours ahead/east of GMT.)"

[0] https://github.com/bitwalker/timex
[1] https://en.wikipedia.org/wiki/Tz_database#Area
> Clojure has STM and isn't pure at all.

Not guaranteed STM. If you do IO in Clojure's STM, you just get a runtime error (assuming the IO does not forget to use the runtime-check that it isn't executing in STM context).

> but there's absolutely no data to support this.

Data of this sort is extremely expensive to collect reliably.

I remember reading about a "GitHub study" that did not correctly classify what a "type error" is. Is that the one?
Perhaps the diet of the poor changed over time. Maybe it is cultural ?

My parents immigrated to the US and in the 70's we ate mostly beans, rice, tortillas, and less desirable cuts of meat. While I recall often feeling hungry, that "poor-man's diet" is relatively healthy. Sodas and snacks have always felt like an unnecessary luxury and yet is likely available in most present day poor households.

Side note: These days I deny myself breakfast until I have 2 to 3 billable hours of consulting completed. I can do this because, paradoxically, feeling hungry is not associated with a distracting obsession for food.
It helps to read $ as "value". Then "function $ x" is "function value (of/at) x". Works in some other languages too, e.g. $VARNAME = value (of) VARNAME.
Shoptiques (YC W12) Is Hiring Account Management Reps to Help Small Businesses
Why aren’t we using SSH for everything? (2015)
huh? how did I offend your unrealistic neoliberalist fantasies here? oh right! reality.
So if someone requires the entire table you think a single API call should just send it? Does it not occur to you that people used page data to limit response sizes and manage the performance of their API's?
Not necessarily, wealth alone may not be enough to change established habits. The overeating could be related to "bluff food" that tastes like it would supply much of a given nutrient which it actually lacks. In that case, the direct cause would be the body trying to compensate a low level of that nutrient by eating more of the food that tastes like it would contain it. And while wealth might help to not even start with that bluff food trap, getting wealthy after establishing a habit for it will just allow to buy more.
Congratulations on a very nice and innovative piece of work.

Articles like these are encouraging but skews the full picture.

For a game like this there are hundreds pieces of work with equal cost and complexity that get absolute no downloads in the app store.
"EDIT: For the people that forgot - https://en.wikipedia.org/wiki/NATO_bombing_of_Yugoslavia"

What the fuck does the NATO bombing of Yugoslavia have to do with a Muslim student having his human rights violated? "I'm Serbian" you said, and you're bitching because ~1000 civilians were killed in a some bombings. Did you forget the genocide that the Serbians committed not 4 years prior? You don't EVER get to bitch about your people getting killed in that operation, especially considering the state organized oppression Yugoslavia was subjecting the people of Kosovo to. Go fuck yourself, and shove your pity mongering up your ass where it belongs.
> How about just jamming them?

The time window in which that's a valid option is closing fast. Autonomous flyers that don't need an external signal are already pretty good and after a few more years of iterations, they'll be even better and available to everyone. Not to mention air traffic requires lots of radio communication of its own, along with radar and GPS, and jamming equipment would need to be guaranteed not to interfere with any of that. It's a non-solution.
The way ILS is set up, all the delicate stuff is on the ground. Imagine two long, thin lobes of radio coverage (like two imaginary cigars) that overlap slightly in the middle. If you can pick them both up you are on the glide slope. If you can only pick up the top lobe you are too high, and if you can only pick up the bottom lobe you are too low. This means the equipment on the plane is very simple (fits into a single-engine aircraft) - if you can pick up the signal at all then you are good to go. In theory you could even use an omnidirectional receiver, although I would guess that they are somewhat directional just to enhance rejection of spurious signals.

But yeah, landing in a hailstorm with very little visibility is never real fun, but it's what instrument-flight ratings are there for.
Et tu, WaPo?

We changed the title to a representative sentence from the article.
It's certainly faster: http://julialang.org/benchmarks/.

It is free/open source. And, it benefits from being a younger language and therefore has the hindsight of the quirks in Matlab's design. Coming from Python, the 1-indexed arrays are annoying but it's great for math.
When did it become acceptable on Hacker News to post someone else's comments wholesale without any other contribution? I usually only see this with Yudkowsky or Scott Alexander quotes, so is it something from the LessWrong community?
This one also works admirably on Chrome by my brief impression: https://github.com/kenaniah/chrome-navigation-plugin.
Bidemi meet's Makinde for dinner
Compliance isn't without its risks. At minimum I'm looking at a soliciation bust if I ever say yes to that private room crotch rub.
The idea that you can't perceive something unless you have a word for it is ridiculous. Every face I see walking down the street looks different, even though my vocabulary for describing faces is not remotely adequate for the various unique shapes. Or how about when you smell something you can't identify? In fact, the way words get invented, very often, is we perceive something we don't have a word for, so we make up a new one. And as far as blue goes, thanks to millions of years of primate evolution, our eyes have perceptors for blue. Were they just useless until the last few hundred years?

The people who push these sorts of ideas are operating out of a theory known as social constructivism, which holds there is nothing universal in human cognition or motivation, is all taught by society. But lots of research, like with infants, shows that is not true. Social constructivists ignore the science because they are pushing a utopianist left-wing ideology that holds that we can re-make human psychology and have a perfect society.
It was $250 before, a lot of sellers on aliexpress just jack the price when they're out of stock instead of delisting the item.
trying to reason with a creationist is a lost cause. there is so much freely available information and proof available openly that anyone who is still creationist can't be thinking about it in a rational way
When I read this, all I can think about is the enormous amount of man-hours people have put in to make Python the go-to for Julias target market.

As the author says, the biggest drawback is libraries, and that is (1 of) the big attraction(s) towards languages.

Nobody wants to have to switch between C, Python, Assembly, etc. to make their code faster, but even fewer people want to write bindings to underlying C code. This also goes exactly against what the author doesn't want to do, which is to yak-shave around the language to get things working.
Absolutely. That's the practice universally (i.e. not for just one publication, but all).

https://news.ycombinator.com/item?id=11516590

It just takes a while for us to see them sometimes. You can always email hn@ycombinator.com if there's one we haven't seen yet.
But, as the Wikipedia page says "the term GMT should not be used for precise purposes" as it has been superseded by various other standards (e.g. UTC, UT1)

I've encountered English people who made a fuss about the loss of "God's Magnificent Time", but for better or worse GMT is no longer the official name.
Seems that we can learn lessons from comments here, and hopefully some can point to a decent implementation, or build one.

Salient points seem to be:

# Update URL during scrolling so links don't break, and link to the "deep" item not just the first page.

# Don't break history, so back/forward/reload buttons act as would be expected.

# Truly endless scrolling kills browsers due to consuming increasing resources, so don't do it. Seems that a compromise might be: larger page sizes that lazy-load content up to a sensible max length. For example, in a data set of 1,000 results perhaps display the first 10 immediately and lazy-load up to 50 during scrolling. Then normal paging occurs. (Max items per page could be user-selected, as is currently seen sometimes.) Items that have scrolled off the top of the page could be removed from the DOM too, and lazily reloaded on demand.

# Endless scrolling is not always appropriate, but there may be appropriate use cases. It would be good to identify these cases, perhaps through user testing.

# Obviously, it shouldn't break screen readers or text-only browsers etc. These should be handled gracefully.... which raises the question of how to effectively navigate through a large list, possibly of unknowable length, in these browsers.

I feel sure I've seen various of these, but not all together in one implementation. Anyone seen somewhere that does all this well?

Any further suggestions/criticisms of this pattern?
Strange, I'm not subscribe and I can see it no problem... Maybe it's a country thing?
If you want to check how this idea is taken to way more sophisticated levels than this, then check out D's ranges and algorithms. This article only covers the equivalent of input iterators / ranges. You can also find in D sophisticated ways to deal with the last part of the article, regarding how to ascertain the different capabilities of your range/type, in ways that go beyond the traditional type system and OOP concepts.

edit: (also, D's lazy keyword, which performs the transformation described in the article automatically)
Another thing good about gold is the fact that you can't carve off a piece, even with the best knives. I learned this on a tour of the federal reserve gold depository. The guide passed around a brick of gold (very very heavy) and said he wasn't worried about anyone stealing a piece of it.
"Return-to-home" functionality is quite common. The GPS knows where it took off, and where it is now, and in the event that it loses the control signal it'll (try to) navigate back home.

Having a drone under control is almost always preferable to having a drone out of control, particularly in the pattern of a major airport. If you're going to take it down, it needs to happen in a way that gives you control of the drone, not just messes up their control.
John McWhorter's book <i>The Language Hoax</i> explains the linguistic researchers have found that the sapir-whorf hypothesis is just wrong.
'If humans had a matrix-like virtual reality, you could do whatever you wanted, and never to work a day in your life'

I imagine I won't have many common points in discussion with them.
OVH recently sent out surveys suggesting that they're expanding to APAC soon and as others said, Vultr offers Australian instances, albeit with Australian bandwidth prices (thanks Telstra).
Quick poll: who prefers laziness by default. Who prefers strictness by default?
> ...a monad looks pure, but actually isn't.

This is not true. The arguments for `next` include both:

* The target stream.

* A "state token" or universe.

You get different results with different state tokens.

At a high level, the thing to consider is that we can model all imperative programming with functional programming -- we can model Turing Machines with Lambda Calculus -- as well as go the other way around, because Turing Machines and the Lambda Calculus are, for all intents and purposes, equivalently expressive.

Modeling IO with state monads isn't a hack; it's the point.
Thanks, that's a better source than any I'd seen before. Have you thought about mentioning this in the FAQ? It seems to come up pretty often, and can be kind of confusing due to the timestamp manipulation.
I'm not going to pretend I understand PCI compliance but their certifications are here: https://cloud.google.com/security/compliance

They appear to be PCI DSS v3 compliant?
> my two concerns are 1) making it work and 2) making it fast.

If you want to make it work it will help to use a tool with features(safety, type systems...) aimed at your goal. And no, julia won't guarantee high performance for you by default. If we're talking about performance we can choose from 2 camps: AbsolutelyUseless and PossiblyBeUseful.
Many software professionals can become a free sales force if software companies would let them. I may tour dozens of solutions for different things - I'm educating myself on what's out there, and just because I'm not in your sales funnel now, it doesn't mean that I won't leave business at your door step in the future (which I've done several times throughout my career)