skysight-inc/HackerNews huggingface dataset:
That's part of the reason I asked. Based on the ridiculously bad suggestions I'd often get (from search, netflix and the lik, etc.), it all seemed a bit too much hot air.

But a few things made me (sort of) change my mind over time, and worry more actively:

1. the ability to properly use the data available is a skill in itself. The fact that this 'new, non-private' internet is still relatively young (really just a decade, post-smartphone I'd say) could mean that most companies/governments simply didn't know yet how to properly use it. Considering the many examples of the slowness with which organizations tend to adapt, that doesn't seem unlikely.

2. There's a huge difference between the data available, and the targeting achievable pre-smartphone, and post-smartphone. On top of that, I distinctly remember that throughout most of my youth (so up until a few years before world-wide Facebook) it was still very much a 'default' attitude to be very careful about your personal information online. Not quite the "don't go into chatrooms" of my childhood, but still the "don't use your real name, ideally, on <national social network>".

3. We've made quite a number of advances already in storing and analyzing 'big data', from what I understand. And a decade or two of research on this new world of personal internet data must have led to some significant advances, no? I mean, so far we've gotten really good at manipulating people with whatever new technology entered the scene. Just not right away, necessarily.

4. from personal experience, and conversations with people who do/did targeted advertising on Facebook, it really does seem shockingly easy to target specific messages to specific groups. I find it hard to believe that this does not fundamentally change the whole game of manipulation, compared to things like TV and newspapers. Hell, 'old fashioned' direct marketing / door to door sales is perhaps a precursor of all this. I remember reading quite a while back how advanced the techniques were to decide what neighborhoods to visit or snailmail-spam for particular products or services. If companies were willing to spend the amount of money necessary for that, it must have some effect. Being able to target essentially large parts of the entire world in that same way has got to be at least somewhat more powerful, which is scary enough maybe.

I'm not sure of any of this, though. Just thinking out loud and very curious to hear what others think (although ideally I'd also love some suggestions of where to find the best research/articles on the matter).
NYC Has 100k-250k Overpriced Vacant Apartments, 63k Homeless Families
If one cannot apply mathematics to concrete things, what use does the mathematics have, besides mental gymnastics?

If mathematics is applied poorly to reality, it's usually because an inadequate model is used, not because attempting this is a wrong thing to do.
I think this is a very good way of describing the issue.

Unfortunately, there's also the little matter of EULAs.
With Telegram you have no privacy - no one uses the e2ee (secret chats). Perhaps because the desktop client doesn't support the feature, and even if it did, secret chats wouldn't sync across devices.
I am arguing this is worse, since it expresses the logic in a more convoluted way.
I guess my point was more that any application on such technology would need a trusted organization to maintain the blockchain to gain the trust of the users.

I wouldn’t want, eg my health records stored on a system that isn’t trusted. This is one often cited application of blockchain.
How to Get Black Navigation Bar on Samsung Galaxy S8 and Note 8
Love this in Ruby. Rubocop's Guard Clause cop[1] always flag this for me.

def foo
fail unless bar
return baz if foobar
foobaz
end

[1]: http://www.rubydoc.info/gems/rubocop/RuboCop/Cop/Style/Guard...
Right, I should've mentioned except arcane things (for us pleb web devs) happening in low-level languages.
Two uses for tests are (1) detecting a corner case or other non-standard or exceptional case, and (2) performing case analysis on a type that can have two values.

(1) often raises an exception or returns an error, failure type, or zero type. The clearest implementation is generally as a guard clause, for the reasons in the neighboring comments and their links.

(2) might most explicitly be represented by changing the boolean to a two-valued enum or (parameter-free) union type or algebraic type; or at least by using a switch statement with cases for true and false. For example, an `ascending` boolean variable could be replaced by a `sortOrder` variable, whose type has values Ascending and Descending. These more explicit alternatives are also more verbose, though. Using a boolean to represent a two-valued type is such a common and readable idiom that introducing an extra type is often a readability and maintenance hit, even if it's more explicit. Similar, using a case statement instead of an if statement might match the underlying math or design, at the expense of verbosity. I generally go with an if statement with two arms, instead of an early return, in to make clear that the branches represent case analysis rather than one normal and one exceptional path.
VSN Presents New Web Plugin for News and Live Production at NAB 2018
More than likely youre right. Your statement brings me a curiousity:

What the legal precedence is for UX patterns considered deceptive enough to be intentionally malicious?

The best I could find was a settlement with linkedin in 2015: https://www.fastcodesign.com/3051906/after-lawsuit-settlemen...
Look for backups of places.sqlite in your Firefox profile folder. ~/Library/Application Support/Firefox/Profiles on mac.
Tending the Digital Commons: A Small Ethics Toward the Future -
Russian translation in dubai
Why Is China Treating North Carolina Like the Developing World?
I have to admit that the switch from “free software” to “open source” worked on me. Early in my career I was intrigued by the idea, but couldn’t get past how “free” software was a sustainable model. I started to get it at around the same time the terminology changed.

On a related note, I heard the word shareware last week. It made me happy when I realized how long it had been since I had thought about shareware.
I have created a find3 beacon/client for the cheap ESP8266/ESP32 microcontrollers yesterday and released it to the public.
https://github.com/DatanoiseTV/esp-find3-client

The ESP8266 uses WiFi and submits the BSSIDs and their RSSI to the server.

The ESP32 version uses BLE probes additionally, which potentially improves accuracy.

Any feedback is welcome. This is an early hack.
The risk of causing autoimmune diseases due to increased sirtuins seems like it should give companies like Elysium Health some pause on this. It is possible the risks are low, but that is an incredibly severe, permanent side-effect.

That said, they know far more about the compounds/molecules involved than I do.
Yeah no hard rules, agreed on this point, especially when the if/else body is short.
> I also assume the content of the messages you send and receive can be read and monitored.

Whatsapp uses the Signal protocol for message encryption[0], so they ostensibly cannot read your messages. They probably have a good handle on who you talk to and when, though.

[0] https://signal.org/blog/whatsapp-complete/
This also works well with a C++ `defer` helper.

#define CONCAT_LITERAL(x, y) x ## y
#define CONCAT(x, y) CONCAT_LITERAL(x, y)

template <typename F>
struct DeferWrapper {
F f;
DeferWrapper(F f) : f(f) {}
~DeferWrapper() { f(); }
};

template <typename F>
DeferWrapper<F> deferWrapper(F f) {
return DeferWrapper<F>(f);
}

#define defer(code) auto CONCAT(_defer_, __COUNTER__) = deferWrapper([&]() code)

Example of usage:

{
Foo *foo;
if (initializeFoo()) {
warn("Foo could not be initialized");
return;
}
defer({
destroyFoo(foo);
});

Bar *bar;
if (initializeBar()) {
warn("Bar could not be initialized");
return;
}
defer({
destroyBar(bar);
});
}

This way, all initialization and destruction happens in one block of the code on the same level of indentation as everything else. Useful for socket code, file handling, encoding/decoding states, etc.
Facebook should seriously consider offering premium accounts with no advertising and extra benefits. Extra privacy guarantees. Invitation only, gradually roll it out.
@wsdjeg: thank you for your continued work on spacevim
Yeah, when we go to the UK we have to keep all of the receipts. Then you basically "sell" the currency for whatever it is trading at then. We use the price at the end of the trading day and I think we use London prices (but I would have to check with my accountant). I assume for crypto currencies you would have to specify the exchange you are quoting against and not change it, but I'm not sure.
People that are willing to pay are your ad targets. Such a system devalues the rest of your base.
I had a coworker who was fanatical about removing else blocks, and would refactor entire files so that else wouldn't be necessary.

This blog post is about guard clauses and it's good advice. But if you find yourself refactoring huge chunks of code to avoid a keyword, even making code more complex as a result, stop and consider that you may be making things worse, and maybe look at your other habits to see if you're doing the same thing elsewhere.
Interesting that Apple is exempt
If you haven't already installed Signal on your phone, please go and do so. To have alternatives to Facebook/W/I we need to build up network effects. Pretty easy to convince tech people to do this, and it would be a good start for getting Signal in as a replacement.
Comparison of th ingredients of Cadury's Dairy Milk in the UK vs US [0]:

> According to a 2007 report in The New York Times, a British bar contained (in order) of milk, sugar, cocoa mass, cocoa butter, vegetable fat and emulsifiers, whilst the American version manufactured by Hershey started its ingredients list with sugar. It also listed lactose, emulsifier soy lecithin, and “natural and artificial flavorings".

Cadbury's is typically the cheapest brand of chocolate in the UK. The UK got an exception from EU law to create a new type of 'family milk chocolate' that only contains 20% cocoa solids instead of 25% as is required in the rest of the EU to call something milk chocolate [1]

[0]: https://en.wikipedia.org/wiki/Cadbury_Dairy_Milk#Ingredients...

[1]: https://en.wikipedia.org/wiki/Types_of_chocolate#Types
Hacking the Carceral State
not when you're in a language you've never used before...
someone wishing for myspace app made me laugh
Even here in Sweden, we have a new law that the goverment is trying to push through that will severely limit free speech.

https://www.thelocal.se/20180313/opinion-proposed-law-change...

A movement trying to stop it:

https://www.stoppagrundlagsandringen.com/ (In swedish)
Programmers with lots of hours of maintaining code eventually evolve to return early, sorting exit conditions at top and meat of the methods at the bottom.

Same way you evolve out of one liners.

Same way comments are extra weight that should only be in public or algorithm/need to know areas.

Same way braces go on the end of the method/class name to reduce LOC.

Same way you move on from heavy OO to dicts/lists.

Same way you go more composition instead of inheritance.

Same way while/do/while usually fades away, and if needed exit conditions.

Same way you move on from single condition bracket-less ifs. (debatable but more merge friendly and OP hasn't yet)

Same way you get joy deleting large swaths of code.

and many others on and on.

Usually these come from hours of writing/maintaining code and styles that lead to bugs.
I think his source is plain whataboutism.
I think the quotes in the title make it clear that it’s about the term. I’m not sure the quotes were there when you commented, for hn makes a habit of correcting titles.
Writing Go it is good practice dealing with the errors first and, when possible, using if/return; and I agree. Less indentation is good IMHO, and conditional nesting is usually best if avoided.

Working on someone's else code I've found this:

if a, err := func(); err != nil {
return err
} else {
// a exists here
...
}
// a is gone

I would have wrote it differently:

a, err := func()
if err != nil {
return err
}
// work with a

I guess it depends on the amount of code to put in the "else" branch, but I thought this was interesting because it looks like someone was avoiding to write the error checking in a different line.
How about "there are no silver bullets, there is no substitute for clear thinking."
"without permission".... are Facebook really playing word games right now? of course they are..
Sounds like they've hooked up Alexa to JP's JPMorganExpress single dealer platform so indicative prices for swaps and bonds can be pushed to the Amazon infrastructure. JPMExpress supports RFQ style trading, just like the single dealer platforms at other banks, as well as Bloomberg and TradeWeb. The article suggests that trade execution against quotes is a logical next step. Which is ironic as RFQ style trading (as opposed to central limit order book style) was created as an electronic replacement for voice trading in dealer to client OTC markets.
There are no silver bullets. There is no substitute for clear thinking.
Undo on native Cocoa apps have a few delightful “smarts” that you begin to take for granted and can be infuriating when absent.

For instance, native undo is time and word sensitive. I don't know its exact heuristics, but it always seems to do what you meant.

Gmail's Chrome and Electron, on the other hand, will often undo letter by letter or leave you in mid typed words, which is nuts.

If you want another example, I often write in multiple languages, something that's beautifully handled for you on native apps. Since Skype changed to Electron, it puts a red underline on every single non english word I type and there is nothing that can be done about it, besides changing the default system language and restarting the app.

There's also CoreText's sharp line width in retina displays no matter which background/foreground color combination you choose, built in dictionary a tap away, etc.

It's just a dreadful experience otherwise, once you get used.
Have you used it recently? It works pretty well (?)
I use Devuan VMs (and KVM hosts) and am a great fan of the OS, great to see it being for hosting!
I'll try, thanks, but I did restart it again... I was able to recollect some of the tabs via remembering them and searching through recent feeds and emails. Some importand to-be-read stuff are gone though.
“Privacy means people know what they’re signing up for. In plain English, and repeatedly. That’s what it means. I’m an optimist. I believe people are smart. And some people want to share more data than other people do. Ask them. Ask them every time. Make them tell you to stop asking them if they’re tired of you asking them. Let them know precisely what you’re going to do with their data. That’s what we think.” — Steve Jobs, 2010 WSJ AllThingsD Conference

Video: https://www.youtube.com/watch?v=39iKLwlUqBo&app=desktop

Transcript: https://www.digitalmusicnews.com/2018/03/25/steve-jobs-user-...

Recent article: https://qz.com/1236322/apples-steve-jobs-tried-to-warn-faceb...
Reminds me of using GOTO back in my early days... certainly could lead to more confusing code.
And what about now, how do you think that open source is good for business in ways free software is not?

I think the majority opinion, judging by the likes of gitlab, is to use some or a lot of open source to entice people to pay you for plain ol' proprietary software. Closed shell, or open core.

It looks like there's only room for one RedHat in the world, only one company who truly sells free software. As I understand it, you can pay Red Hat for access to their repos, which provide free software with source code, and nothing else. They really do plainly sell free software, but I think they call it "self-supported" or similar.

edit: I'm of course aware that RH sells support. I just don't know any other company that plainly sells free software like RH also does. I wonder why no one else even tries.
FWIW my kid, a number crunching touch typist, thought it was a gimmick and recently told me that he was "forced to admit I really like it".

So maybe Apple knew what they were doing. Maybe.
I think I understand the situation you described.

I’m not sure how “global level” organisations are, but mostly you just can’t convince a typical layman CEO that something looks easy, is really not easy.

Then when you serve the “small request”, next he’s in doubt why adding a small feature could increase the complexity of your work by a few order of magnitude.
There could be made a difference between private and public content and the private content should be deletable, it's private afterall.
I feel like entertainment (gaming, porn, even say tourism for spaceflight) has always punched above its weight in leading technology. Really makes you think about whether we are more motivated to use our intelligence/resources to solve hard problems or to please ourselves.
> Isn't the other defense effective education, so people know how to spot suspect things and do their own research?

I think its distinctly different, since it is not about about discerning fact from fiction. There is a lot of truth and opinion that is just as divisive as lies. The lies are just the cherry on the cake.
I assume "to like a company" here is a metaphor for a company actually employing ethical behavior.
Is signal decentralized? If it is decentralized, how is the network effect built? (Is everyone isolated on their server with a subset of all signal users, or is there a way to communicate with someone using another signal sever?).
In the comment thread you linked to the author has a “faint recollection” of what I’m referring to, confirms Facebook has special access because of iOS integration.

So I’m not sure why you posted that. Seems to undermine your argument.
This reminds me of my favorite story about old-school Macs. All Macs shipped with Hypercard after its release for a while. Then, eventually, Apple spun off Claris, who got HyperCard as part of the deal, and Apple decided to ship a nerfed version of HyperCard that had most of the stack authoring tools disabled.

However, you could open up a command console in this neutered version of HyperCard, type in 'magic', and you'd be able to unlock the full set of authoring tools.

Magic indeed.
If the movie studios are damaged, why is fbi the party?
PROTIP: Managing congestion control on application level is not a good business. A better idea is to leave it to the edge and CDN, while the app level uses computationally cheap optimistic algos since the com in between the app and your edge will go over your own high quality infrastructure.

This adds flexibility to allow for use of multiple algorithms in different load balancing regions (mobile as a lossy fabric is better to stay with conventional, desktop and server clients can use a some smarter throughput maximizing algo, and in countries with high percentages of connections being laggy DSLs, you can use something else )
Menu -> Repository -> Visualize

You can visualize current branch or all branches.
It also has search, diffs and quite some options.
I totally agree with this one. Especially:

1. It reduce the indention level, makes the code cleaner.
2. Keep the error handling cases at the top of the method, the rest of the method can be written with more ease.
Note that storing health records is a very dumb try of using blockchain. No
wonder that you have trouble seeing how blockchain would be of any help,
though probably for reasons different than the proper ones.

Blockchain is a service that adds a (cryptographic) timestamp to documents, so
everybody can tell which of the two related documents was issued earlier.
Blockchain doesn't do absolutely anything else! If a specific use case is not
made easier when you can tell which of the two documents was earlier, then
using blockchain is pointless.
Spectacular essay — thanks for posting.
They aren't: they ship an adaptor in the box in jurisdictions subject to this law.
I am wondering now if you read the linked article. There is logic in not wanting a giraffe in your field of vision at a movie hall. Actively discriminating against people because of arbitrary conditions of their birth is not that logical. Active discrimination in the life of "untouchables" means that they are viewed as dirty or lowly. I think it is a bit simplistic to think that it is ok to actively stick to demeaning and derogatory practices because it is societally accepted or because that's "just how things are".
Well, LINQ ended that issue for me ;)
>Nowadays many of us believe both that we have no free will

I think the difference between nowadays and the past, isn't so much attitude as it is food abundance.

It's easy to blame individuals and say they need more self control. but the reality is we're at a place in history we have likely never been in before.
>Same way while/do/while is usually fades away, and if needed exit conditions.

I couldn't interpret this sentence.
Netflix's circuit breaking OSS project, Hystrix, is commonly seen alongside Ratpack/rxjava where both reactive streams and back pressure are in play. I don't think you're wrong, but Netflix and others using their solutions like Hystrix and Hollow, are outside of what I'd consider "usual" problems and solutions.
No, it's a point of view. A lot of people in this conversation seem to be stuck on human-level understandings of objects, as if "paper" is something that has an objective existence, and if we "consume" the paper, now there's one piece of paper less that the universe will ever see. It's the Aristotelian view of the universe as consisting of the four elements, only with a lot more elements in it.

Instead, watch the atoms you learned about in chemistry class, which have the advantage of being real. They're generally conserved. (Not 100%, but places where we're changing atoms are very fringe in our economy.) Converting paper into a mushy mess is just introducing entropy into the paper. With energy invested we can turn those atoms back into paper. With our current tech level that may be a very long, winding, expensive journey, but it could be easier. Plus as we develop tech, we will start tending to prefer organizations of atoms that are easier to create in the first place, which is why you hear about things like the "diamond age".

With enough energy, we can rearrange atoms in almost any way we'd like. We don't dump things in landfills because we have no use for the atoms, we dump them there because it's too energetically expensive to undo the entropy introduced into them by our usage that has put them in their current high-entropy, low-use configuration. If we solved that problem, landfills wouldn't exist. That's a big "if", absolutely, no denying it. But if you, say, really passionately wanted to solve the landfill problem and not just nibble around the edges, this is the angle you should be taking.
What’s New in Deep Learning Research: Knowledge Exploration with Parameter Noise
Can someone explain to me why the Cambridge Analytica story is making people so much angrier than the later revelation that Facebook was scraping call+text info?

The lie that facebook (and the like) are sold on is that there are zero possible negative ramifications of giving Facebook that data. Of course that's not true. But something has caught people's attention and they're waking up to it.

Now is the time to tell them all the other reasons to not trust facebook. Loudly scratching your head about why people care about Cambridge Analytica is to miss the opportunity you have.