skysight-inc/HackerNews huggingface dataset:
Another platform that doesn't have straightforward pointers: x86. 16-bit mode. Because of the segmentation system, if you wanted a fully general pointer to anywhere in the address space ("far") it had to be split into two registers. Greater speed could be achieved with "near" pointers, but only within a 64k segment. You could also very easily have non-identical pointers that pointed to the same memory location.

Fragments of this mess survive in the Windows API, like Shelley's "vast and trunkless legs of stone": https://blogs.msdn.microsoft.com/oldnewthing/20031125-00/?p=...
If by business model you mean the right to assure privacy of individuals, then Facebook, Google and Uber are indeed not respecting the basic right to privacy (a human right btw).
If that had been the intent, it would have been specified as implementation-defined, not undefined.

More likely, the intent was to also accomodate implementations that trapped on overflow.
Read again: most of those countries. Now make a list of countries that had its forces on the eastern front, and the list of the ones that didn't. Still Bizarro World?

Not that facts matter to you, but Poland attacked Soviets in 1920. Slovakia (Tiso regime) joined Hitler's forces on eastern front. They also attacked Poland and had a war with Hungary, both in 1939.

But given your attitude I'm pretty sure there won't be any meaningful discussion so I'll leave it at that.
'ticks' plus sns.despine() is my favorite.
The latest party drug is chocolate, apparently
Rise of Ad-Blocking Software Threatens Online Revenue
It a matter of finding the right balance.

You want scalability? you have to drop your constraints and external keys in your DB. In fact don't use a DB with a schema.

You want safe data? Use a good old relational DB with well designed schema and you're good to go.
Just two - digital clock, for the day and date; and power control, because it lets me toggle wifi and GPS with a single press unlike the settings drawer that opens settings dialog and requires more clicks. Moto on Android KitKat.
Def shouldn't install any addons.
Live Streaming 360 Degree Video to VR Headsets: The Basics
PAE means pointers that need to hold at least 36 bits, but in practice I don't think anyone, OS developers included, would ever treat the whole PAE address space as one entity and represent addresses with a single pointer.
You expect a pointer to represent a location in linear memory, so you expect ptr - array_start to be a negative number if ptr is before the array, and a number larger than the array size if it's after the array.
I assume this article is some speculation about how Facebook for everything or whatever it is called will be the most central piece of the internet ever. Yeah, not falling for that Facebook.
Have a proper defined behavior like most sane languages.

The only reason UB exists was that when ANSI C came to be, the compiler writers and hardware vendors that provided C like compilers didn't want to give up on their semantics.

So in order to please everyone, all the semantics that could not be defined on the standard became UB.
> that's fine as long as you test the program properly after compiling with a new compiler.

Which 40 years of experience prove that it doesn't happen as much as it should.
Like everyone else: my personal preference.

In the future I want to use the following setup: ASP.NET Core with Angular 2 and Typescript. And then host it on Azure. Sounds like a golden combi.
The idea here is that if you have segment:offset pointers, like x86 real mode, then you (as a compiler writer) don't have to worry about the segment part at all - you can just subtract the offsets and shift, because pointers within the same object will have the same segment part.
1) The article claims, the conference thinks you're wrong.

"This marked a change from previous years, Richard Nissen, a member of the Institute, told me, when a range of other navigation aids were part of the discussion: landmarks, olfactory cues, memory, genetics, polarized light, celestial objects. “Everyone now seems completely sold on the idea that animal navigation is based on magnetism,” Nissen said. Human-centric as it sounds, most of the conference’s attendees believe that animals possess a kind of compass."

When humans get lost it's only memory and random walking, it's a good theory animals only have one more enhancement, small memory cues, magnetic and randomness.
I am not a security guy but i use my smartphone as "walled environment" i do nothing on it that could potentially lead to issues except maybe some google services. But anything Banking or Bitcoin has never seen my phone at all.
I'm just a C newbie, so I can't give you a definitive answer. Here's two I came up with:

If you know the bounds of the array, then you could enumerate it and check if the pointers to any of its elements are equal to your pointer.

Alternatively you could store references to array elements as a structure of a start pointer + offset, and arrays as a pair of start and end pointers. Then checking if a reference points to part of the array would be a two-step operation - check that the starts match and that your offset is within the end - start bounds.
1. It is a third party plugin.
2. VSCode is OSS
3. VSCode != VisualStudio.
Conclusion: You clearly dislike Microsoft and hence confirmation bias has lead you to post an inflammatory comment without even reading the article.
Those other countries already have universities that have buy access to the journals that the papers appear in. Research isn't secret. It's just expensive to access for normal people.
Tongue Twisters – Xhosa Click Song, South Africa
One day we'll have this for civilians too....
Choicemaking and the Interface
Having been a TA for CS1 classes, I can understand the rationale behind it to some degree. It's ridiculous how many students go online and ask for someone to do their homework or even copy chunks of code off of stack overflow. Forcing them to explain every line is one way of judging how well they actually understand what they're writing (if they do at all). Of course it's going to be annoying to anyone who already has the slightest experience... but what can you do?
And then you'll have a bad copy of a bad copy.

The fit and finish of linux desktops, especially KDE, are nowhere near as good as the Mac, and adding a theme which kind of sort of makes it look like OS X only serves to highlight where it doesn't match up.

As a long time Mac user and now Linux user the only desktop which is vaguely tolerable is Elementary OS as at least someone there with a good eye for detail went through and made sure it all fits together.
I think the 8051 is more interesting - it's a Harvard architecture with at least 3 separate address spaces:

http://www.keil.com/support/man/docs/c51/c51_le_ptrs.htm

http://www.keil.com/support/man/docs/c51/c51_le_ptrconversio...

Just like x86, it's likely that everyone interacts daily with a system containing at least 1 8051 core.
Australia’s censorship of Unesco climate report is like a Shakespearean tragedy
SUSE: OpenStack for the mainframe and beyond
Show HN: JavaScript for Designers – follow along for free
> At the moment, the best I can find for OS X is Rudix. The selection of available software is pathetic compared to Homebrew and Nix, but a lot of the core stuff is there and it's all packaged as a .pkg, which makes it really easy to cleanly erase installed software.

Apologies for hijacking a Nix thread, but I'd love your views on our OS X binary package sets[0]. We currently ship over 14,000 pre-built signed packages, all self-contained under /opt/pkg, and easy to search/install/remove using pkgin which has a familiar feel to anyone used to apt-get/yum/etc.

The packages are continuously built from pkgsrc trunk so should be reasonably up-to-date, and we try to be responsive when users need newer versions or packages built with different options.

So far the feedback has been positive, but I'd love to see more use-cases so we can improve the experience for everybody. Thanks.

[0] https://pkgsrc.joyent.com/install-on-osx/
Send Customized Follow-Up Emails for Free
As a quibble, I would say that Visual Studio Code is unique in its own right, and not for any of its code editing features (which is comparatively lacking). It's a simple editor with a killer code insight feature. I have a feeling other editors will have difficulty replicating this feature.
That's probably true, however there's a small catch.

Looking at the standard (no difference between C99/C11), chapter 6.5.6 ("additive operators"), point 9 defines the behavior of pointer subtraction:

When two pointers are subtracted, both shall point to elements of the same array object,
or one past the last element of the array object; the result is the difference of the
subscripts of the two array elements.

However reading further:

The size of the result is implementation-defined,
and its type (a signed integer type) is ptrdiff_t defined in the <stddef.h> header.
If the result is not representable in an object of that type, the behavior is undefined.

Unlike the (u)intptr_t types, ptrdiff_t is not optional AFAIK. The way I understand it, you could still invoke UB if the implementation uses a very silly type for ptrdiff_t, though I didn't do further research on it.

Still, using pointer difference makes this a lot safer and more portable. Especially on platforms with unusual memory models, where a pointer might not be just a single integer (e.g. segmented memory on x86). Also the operation is Theta(1), so it doesn't impact performance much.
>OS X on a Retina Macbook (Early 2015).

Why do apple users do this? Do you really not know what's under the hood of your macbook? Honest question.
1, commenting for the sake of commenting
2, basic spelling mistakes in the article
3, god awful javascript code
4, condescending attitude
Not a guy I'd want to work with, ever.
You also get told before you are mugged; telling you about it has absolutely no bearing on whether the action that follows is acceptable.

Even if they tell you about it, it's still a bad idea. There's plenty of legalese that people don't read because life is too short. It would be better if this wasn't the default.
That is untrue. UB exists because C is supposed to run on so many platforms there is no way to have a defined behaviour for all of them in that standard.
Oh dear. How sad. Poor advertisers. Boo Hoo!

</sarcasm>
Of course, for IBM PowerPC there was the (real!) assembly instruction EIEIO which meant: Enforce In-Order Execution of I/O. [1]

[1] https://en.wikipedia.org/wiki/Enforce_In-order_Execution_of_...
In Europe? I always thought that that sort of thing was common in the US, but it's surprising that it happens to that extent in Europe.
Video on Facebook is shit
I have had a teacher that said you needed to comment every single line because that's how code is written in the real world.

I told him he was wrong and argued with him on more than one occasion. In the end, I just did it his way because there wasn't a good alternative.
Ahem.

From the article: "But then, at the top of the description, I found this message greeting me: [...]"

It's this way on the linked extension's page as well: https://marketplace.visualstudio.com/items?itemName=seanmcbr...

I think that's fairly prominent place and the only explanation for installing this extension could be either that it's acceptable - for example if one's using MSVSC to edit Wikipedia articles or something like that - or negligence to read anything but the title (which can't be helped).

(Well, author could've put "[INSECURE!!!! WILL STEAL YOUR CODEZ!!!!1one]" in the title... but should he?)
Beneath the snowpack lies a secret ecosystem: the subnivium
I shouldn't be. What's worse, it works fine now. Yesterday I didn't even get the tutorial, which makes me think that some JS wouldn't load. I think I'll switch to it as my default reader, thank you!

EDIT: Ah, the demo worked but my signed-up account does not.

EDIT 2: It works erratically.
Another platform: IBM zSeries has 24-bit and 31-bit addressing modes, so that means an address stored in a 32-bit register has some of the highest bits ignored when dereferenced. Especially in the past, people stored useful information into those bits, so again, the two pointers are not necessarily equal even though they can point to the same address.
I often wonder why Tor is bundled within Firefox, would it not be easier to release an app that changes the proxy settings / network routing at a system level?

That would let you use your preferred browser, rather than being forced to use the browser Tor chose to bundle.
Progressive Enhancement and Modern JavaScript
The flock() method is preferable when you don't need to use NFS because as you say it'll automatically clean the lock up if the process holding it dies.

This gets rid of all the edge cases with stale locks in one fell swoop.

But as you point out if you want to do this e.g. over NFS you should create a file, but then you need to deal with stale locks.

If you can at all avoid that using flock() is generally better.
Storage Made Easy Webex Demo
Interesting, it's not that much better than the available 2015 line up, for example my iMac has a 6700K in it which sits in the top 3 or 4, mind you this is typical of a tick, in a tick-tock manufacturing process.

Why did they come out with another Broadwell based processor when Skylake / Ice Lake seems to be logical next tstep?
Is it important that the widget looks nice?
Is using "boring" tech odd for startups?

Choosing and using tech is only one of the things a startup does. I would guess it's more important to do something odd for everything else than it is to do something "odd" tech-wise.
OpenShift 3.2: What’s New
Affinity: Anonymous Social Media Feed
I'm not an expert in the field, but my understanding is that you can be (partially?) fingerprinted based on the ads you (fail to) download. I also believe such partially discriminating information can be combined with other patterns (time at which you connect, sites visited, etc) to compromise your privacy.

I have no idea if this is problematic in practice, though.
May I suggest that the naming of the project might make it hard for people to discover / find / seek information on the product?
Tor is not bundled with a browser. Tor Browser is, but Tor Browser is not Tor, it's a browser with Tor built-in and extra privacy features, such as NoScript.
Secret tips for developing safe and secure Android apps
The problem is that many user settings and add-ons would defeat the privacy protections in Tor. For example, Javascript and Flash, as well as many other browser features.

By bundling a separate browser, Tor can provide sensible defaults to protect users.
Why would it matter what's under the hood? I care much more about what I can do than what's inside.
My guess is so it makes it harder to fingerprint people. If I remember correctly the advice is to not resize the browser window, etc.
Micro Bit – now a commercial product
Tesla: the new secret master plan
According to this https://www.quora.com/Why-did-Dijkstra-say-that-%E2%80%9CObj... the quote was spoken to Bob Crawford in 1988 or so and appeared in the journal TUG LINES produced by the Turbo user's group, Issue 32 (August September 1989). Bob Crawford is alive, I presume one could ask him but I would rather not even link his faculty page because I am afraid he will be inundated by an avalanche of HN readers.
Impressively stitched together, specially for the time. Even in 2008 it was a big effort to do it well in hugin. Photoshop also later improved their stitching tech and Microsoft research made ICE which was also nice.

In the demo, the ball of his mouse gets sticky.
No amount of nostalgia can make ball mice look good.
>can someone explain why ad networks seem to be lagging behind modern web best practices? For example, terrible flash ads, ads that break the site they're displayed on, lack of HTTPS, malware, etc?

All of these seem like things that while bad, will make them more money. Not like things they don't have the know-how to move over from...
Is A/B testing really so insidious?
> int* can be the same number with the lowest 2 bits always 0.

And now you have to right-shift int pointers on every dereference for some dubious benefit. It's easier and more efficient to make pointer arithmetic and casting painful.
Mozilla is funded by Baidu, Yahoo and Yandex which get their revenue from advertising. Advertisers tend to love targeting, not anonymity. Mozilla Foundation's funders probably have some influence on Firefox's functionality.

https://en.wikipedia.org/wiki/Mozilla_Foundation#Financing
It is likely that some other application on your system will phone home and in essence make you a named user... think email, iCloud synchronization, anything you do on Windows 10, etc.

In theory by bundling Tor with a browser that has sane defaults and then sand boxing that from the rest of your applications, one can isolate specific communications to Tor with lower potential exposure.
I suppose it would be even easier to make a script that blocks facebook from sending this information? Does it already exist?
I've given this a good bit of thought; I'm sure its easy to generate plausible deniability, but actually masking relationships is not as simple as it sounds, as an adversary will easily filter out random noise.

You would need chaff deliberately constructed to look a bit like non-random social network/communication data; that's kind of a research project, and its going to be hard to guarantee it is working in the face of unknown statistical attack.
How is that even an "addendum"? "Here, you have signed some contract some unspecified time ago; and now we're unilaterally changing it: you must friend us on FB, plus you must wear a yellow hat at all times. Also, you owe us your firstborn." IANAL, but any of that is beyond ridiculous.
What are you trying to reach? For something rather general like this i would strongly avoid reading any books older than a few years. 2003 is VERY OLD by it standards.
PAE means you have longer physical addresses, but pointers are always virtual addresses. That is, the difference is only visible in the layout of the page tables.

Segment+offset is something else, but even on 32-bit x86 the segments were almost always set to base 0, and AMD64 dropped most of the segment mechanism. The exception on both is using segments to access thread-local data, but even then it's used just as an offset into the same flat address space.
Because it makes more sense to specify a single model/year than exhaustively list all the under-the-good configurations which others can quite easily look up?
Are you referring to the omission of the exact specs? I don't think there's much variation if any among the first-gen 12" Retina MacBooks, and with Macs usually saying the size+year+class is enough to get an idea of the specs or look them up.

Or are you saying it's because of weak hardware? Other, arguably more taxing software runs fine, but TorBrowser suffers from an uncanny slowdown.
There is so much more to staying anonymous in the web than just the transport layer. With all the tracking cookies you have in your browser, it doesn't matter if you use Tor or not. There's an array of privacy-enhancing extensions shipping with the browser bundle and you generally use a clean browser profile with it as well.
Intel chip performance improvements seem to have slowed down. They add extras like acceleration for 3d prints, USB improvements, etc. But raw horse power seems at a standstill. I wonder if this is because they don't have a fierce competitor anymore or whether they are keeping "high" multicore chips for their Xeon line. A decade ago, people kept harping we'll have hundreds of cpu cores in our desktop systems any day now. That didn't happen. We do have thousands of GPU cores .. so .. go NVidia and AMD! Intel needs to get their act together.
In early Mac OSs, the memory management designs used the top byte for flags as those units didn't have a hardware MMU.

System 7 was the first OS to support 32-bit.
I've been practicing zazen, which mindfulness meditation largy are based on, for a couple of years. Since I became a parent I don't really have the time to practice. But in my experience these kind of excercises really help to focus, stabilize and still the mind. Another thing is to turn of all notifications in your smart phone and remove all social media apps. If I want to check Facebook I have to log in via the browser and this have decreased the number of times I check my feeds in a day.
Improved Visualization of Einstein’s General Theory of Relativity
I have absolutely no idea.

I can tell you my last computer was a 4 x 1GB Kingston HyperX on a Q9450 Core 2 Quad with a Gigabyte GA-X48-DQ2 motherboard, and it's been a few years.

I only know my Mac has 16GB of RAM, and that's part of the beauty of it.
Contrary to popular belief, Ajax is actually one of the best things to have happened for hooking up to Web Apps and scraping. You used to have to walk through the obscure rendered html, now you mostly get to access the raw data in json format.
Components a new perspective to web development
Get started with Influencer management
Some beautiful work!
That is one of the many things I like about voxels, the ability to produce so many different styles from the same base with ease.
I like how this conveys the 3-dimensionality, in contrast to most othe visualizations. Also have a look at the animated version:

http://1ucasvb.tumblr.com/post/142549026838/figured-id-add-a...
More importantly, C is not only supposed to run on many platforms (many programming languages do that), but also provide very low-level control on wide variety of platforms.
Nice article, thanks. So this inclination is a measure of an offset of the plane of the exoplanet's orbit from the line passing through Earth and the star? So the reason most of these planets have very low inclination is A) those are easiest to detect since they block the sun the most, in particular we couldn't detect a planet with 90 degree inclination at all, and B) there's a symmetry involved so there are more ways to have 0 inclination than one might first guess (eg: take the picture in the article are rotated in the screen, it keeps the same angle of inclination).

Part (B) is kind of fun, now that I'm thinking about it. It's saying that the average angle between two randomly chosen planes is greater than the average angle between a randomly chosen plane and a randomly chosen vector. To see this, we can fix a plane, the X-Y plane and always rotate the system to use that as the (first) randomly chosen plane. Then there's one plane of 0 degree separation from the XY plane, namely itself, but a whole circle's worth of planes perpendicular to it (any plane with it's normal vector lying on the XY plane). In the opposite manner, we see that there's a single line perpendicular to the XY-plane but a circle's worth of lines of inclination 0. This isn't the most intuitive thing in the world, and I second-guessed myself after I wrote (B) down.

(Actually, I guess it's a real projective line's worth, not a circle's worth, of lines of inclination 0 (directions in a plane choose a line but two directions choose the same line so we've doubled counted lines).)
DRY: Do Repeat Yourself
I'm convinced that on what I spend, the fraction is way more than 1/3; I think it might be north of 2/3. The clicks on and off the page are just way too quick and consistently so for it to be a human. That said, I'm not sure that's what's happening here.
Has the same thing happened for ad revenue using Admob in iOS apps since Apple made https communication the default? I have noticed a drop in revenue, but I assumed it was just seasonal, maybe there is a technical reason. Cheers.
I guess you are looking for a fun project. But honestly most of the people who work with Atom will just create whatever they need if it does not exist already, that is what programmers usually do.
Isn't a lot of this longer routing of packets?