skysight-inc/HackerNews huggingface dataset:
With the original IP, addresses are fairly expensive. With IPv6, even home users are assigned a /64 subnet at the smallest, so a malicious actor can iterate through many addresses. Generally for things like per-IP ratelimiting, you treat a whole IPv6 /64 subnet like you would treat a single IP address.
I started a startup in 2013, and I picked PHP for a core language since I had a decade~ experience with it by then and it was a good enough reason to use it. PHP 7 wasn't available yet and nodejs was only starting to take off and didn't seem like the future yet.

Taking learning from previous companies, I've found the main thing PHP was lacking at the time was a good routing mechanism. We obviously don't want to rely on Apache hitting .php files to handle requests. So we used ToroPHP (https://github.com/anandkunal/ToroPHP) for routing, which is a seriously lightweight routing lib. Indeed we used composer and a lot of dependencies, but for our own codebase we used manual includes instead of the autoloader. With the usual PHP production setup like APC with opcode caching enabled and file stat'ing off (later on opcache + APCu), we handled scale extremely well. (mentioning this because a counter-point for manual includes is that many requests would unnecessarily load way too many code files)

As far as codebase maintenance and growth go, that PHP codebase was actually very easily manageable even with manual includes. Having routing solved frees you up to organize your code files in any ways you want. Even today, I have a mini-framework structured this way for myself to start side projects and test ideas with. (Yes, using PHP5 for side projects in 2018 ;)

My point in bringing all this up is that the architecture this article is trying to take you in, seems unnecessarily complicated for PHP.

This past year I've been working in a full nodejs shop and this entire architecture (from this article) reminds me heavily of how a node/express app is structured. Someone else on this thread mentioned modern languages have their architectures converging. This is exactly what's happening. Even as a PHP fan, it makes me feel a bit of "Why use PHP at this point, instead of nodejs/go/python?" while reading this. It feels like if you wanted to go this route, nodejs is a better option on almost all fronts -- language syntax brevity, availability of packages, community, developer-availability. The only reason to use PHP at this point is nostalgia/sticking to PHP syntax.
There is a distributed (blockchain based) social network today: steemit.com. Several of the frontends (like busy.org) use IPFS for content distribution, as the Steem blockchain only holds text and json.
Facebook login page logs user's pre-filled info to their servers
> It was a doggy-dog world

You misheard that phrase or learned it from someone who did. The correct version would be, "It was a dog-eat-dog world." The idiom makes a lot more sense in its correct form as it describes an environment of brutal competition.

I'm glad you find Canada to be a kinder place. I like it here too.
It seems to be in the same bucket as people not wearing seat belts and making fun of you if you ask them to wear one in a car with you.

If it's not something everyone does, and if you mention you do it for safety, the reaction is often rather negative. I think people don't like the idea that they might have been doing something very unsafe this whole time.
Not immediately obvious from browsing the page.. does it React?
Thank you, yes, that does make sense now!
Here is the actual demo video:
https://reactjs.org/blog/2018/03/01/sneak-peek-beyond-react-...
> Did anyone ever really buy the "making the world a better place" kool aid?

I don't know if many people buy it anymore, but many certainly did back in 2009-2012. Tech giants were patting themselves on the back for fostering revolutions and helping spread "democracy." The media called Arab Spring a "Twitter Revolution." Making world a better place was in vogue. SV was not making social platforms for goldfish, it was writing a new chapter in human history.

It took years for the world to see how empty those promises were, and I am not sure if everyone has gotten the memo yet.
I appreciate the clarification, as I did not catch that from the context. I just assumed maybe you were not aware of my follow-up work with Cone.

I do think there are good research opportunities in these ideas, e.g.:

* Type theoretic work on formally proving the soundness of the mechanics (as a follow-on to the proof work done with Pony and Rust-belt).

* Cross-allocator comparative studies of performance and other factors (although many such studies have been conducted in the past, the fact that you can control for the language/runtime and even test hybrid memory management strategies would make a new study a worthy addition to prior work).

* Assessing the impact of borrowed references and lexical memory management on tracing GC's "generational hypothesis"

In your role at Stamford, perhaps you can inspire students to pursue such projects. My focus is devoted to real-world results, but I would be happy to offer support, if that would be of any help.
I don't care. I stopped caring about my privacy. Nobody will hurt me by knowing too much about me. Facebook can have all of my life, because nothing is private for me.

It is a great tool for keeping up with friends, it allows to cultivate friendships a lot easier than anything before. We can have a lot of friends when we don't keep secrets, because by being open with your weaknesses you create new friend, not an enemy. You create enemies with secrets and lies.
This is great!

The privacy problem is especially interesting because I work on a distributed key management system called NuCypher. We use proxy re-encryption to do this and have a distributed network of nodes that perform the actual re-encryption on split keys.

If anyone is reading this article and wants to work on this problem, we have a split-key threshold PRE scheme called Umbral that we used to decentralize the key management part. The link is below:

https://github.com/nucypher/pyUmbral
What purpose does cryptocurrency serve in this scenario that ordinary payment methods could not?
So you can't cite a single source that evidence does not exist for present and historical species counts and yet there are entire books dedicated to said topic (supposedly, perhaps parent could list some). You should probably think about that for a while before you continue to respond.
I actually disagree with the idea that academia doesn't teach you much about "how the world works."

In my life, my time in academia was probably the most "real world" experience of my career. I find many people who crave a more straightforward relationship between effort and recognition to be slightly naive about just how much of society is dedicated to essentially make-work tasks.

In a country where most basic needs (food, clothing, shelter) can be provided relatively cheaply by a small number of workers....well, what the heck is everyone else supposed to do?

I think it's an awesome privilege that middle class people have the opportunity to basically be paid by the government to pursue their own academic interests for a few years as a young adult, even when the return on this "investment" is highly uncertain.

The reason that the money gets dumped into STEM seems to be mainly just a coincidence of what our political culture is most likely to agree on (libs don't want to pay for theology degrees, and cons don't want to pay for gender studies or whatever).

But there's never been a better time to be alive if your interest is in mathematics or the natural sciences.
what a surprise!
What you put on the Internet might stay there for ever, is an important lesson.
If you truly want privacy and security I would recommend Signal over Telegram -- Telegram has had some controversy with respect to their encryption protocol not being audited, as well as some weird stuff with a very large recent ICO that seems entirely unnecessary except as a money grab and Russian subpoenas for their master private keys.
My computer has been bruteforcing for 15 years
3,796,884,233,650,1768,100,308,320,256 combinations tried so far, since 2003. Anyone else joined the RC5-72 challenge?
http://stats.distributed.net/participant/phistory.php?project_id=8&id=422584
I've downloaded my zip file to try to verify what's going on in the article

I think I have an idea of what might have happened.

When you add a video to the composer window

One of the requests is
https://vupload-edge.facebook.com/ajax/video/upload/requests... (Look it up in the network tab of whatever browser dev tool you are using)

With the response as,

for (;;);{"__ar":1,"payload":{"video_id":"11111111111111","start_offset":0,"end_offset":353662,"skip_upload":false},"bootloadable":{},"ixData":{},"gkxData":{},"lid":"1"}

The video 11111111111111 is now in an "unpublished" state.
"unpublished" here meaning it's uploaded to Facebook but not linked to a post yet.

You can verify this by taking that ID and doing the following

https://www.facebook.com/11111111111111/ -> redirects to https://www.facebook.com/phwd/11111111111111/

"Sorry, this content isn't available right now"

Your options now are to either discard the post or publish with a privacy setting which will make the link above available.
(Notice I didn't say discard the video, the video is still in an unpublished state)

Now for the archive.

You can verify by going to view-source:fb.com/me in a browser
Search for the string "access_token" there will be a long string appended. (e.g. access_token:"EAAAAU...)

With that token go to your archive and roll over one of the links in the video section that has an issue and doesn't appear in the activity log.

file:///Users/phwd/Desktop/facebook-phwd-from-zip/videos/11111111111111.mp4

grab the ID 11111111111111 and do the following

https://graph.facebook.com/11111111111111?access_token=THE_T...

That shows an unpublished video for me, it wouldn't show in your activity log (that's the only part of the story I can agree and can confirm with what I have available)

To delete add the method=delete to the request.

https://graph.facebook.com/v2.9/11111111111111?method=delete...

Response should be

{
"success": true
}

The next part would be to verify that the video is deleted from the archive. Since Facebook is still giving me the first download zip, I guess I'll have to wait a while (it's 1 am here so I'm heading to bed) until it resets so I can make it build a new archive and confirm the hunch.

This is just my guess, I'm NOT discounting what the Facebook user encountered. I'm just providing a possible background to how it can happen as well as a solution to deleting the "deleted" video. There is also the chance I might be wrong...

References to confirm for yourself.
developers.facebook.com/docs/graph-api/reference/video

Disclosure: I don't work for Facebook, however, I do play with their API a bit.
WHY BRITAIN AND AMERICA CAN’T PLAY ON THE INTELLIGENCE OF THE RUSSIAN GOVERNMENT
If it’s too hard to do properly maybe they shouldn’t be doing it /shrug
Really random question, but if I were to make a REST API wrapper with PHP, is it possible to use cURL and keep it PSR-7 compliant?

Been trying to learn more about the Composer/PHP ecosystem and am pretty confused.

In contrast, I was able to create and publish packages in Python and Node with relative ease with little to no experience with these languages.
If you're thinking about building a distributed social network, you HAVE to have answers to the question: How do you moderate it? (Or how do the users moderate what they consume, if you will)

Basically, think of the most annoying person you can imagine, give them infinite free time, and a uncontrollable urge to do EVERYTHING they can think of to make your life miserable on said social network (doxxing, abusive messaging in every way possible, creating dozens or hundreds of accounts, etc...). If you do not have facilities to deal with this, your network is garbage.

With the focus on "distributed" and "resilient" and "unblockable", you're effectively creating the perfect environment for every abusive stalker, internet creep, and troll.

Lord of the flies is not a functional governance mechanism. Moderation and control have to be designed into the network from the outset.

There's no reason I can think of that some sort of "distributed control" isn't possible, but you'd better have it planned out first. Bolting on tools for handling abusive users after-the-fact will likely be much harder.
>. Even amortizing that cost over ten years, this is still double what I spent on wifi.

A hotspot provides access for an untold number of people, potentially hundreds. Of course it's more expensive than your individual bill.
Well, I am European (and living in a country with one of the best coverage).
1. You should probably add that link to your read me:

The implementation uses `Symbol` and [`Proxy`](https://github.com/GoogleChrome/proxy-polyfill) behind the hood so you might need to use apropriate polyfills in case you want to support older browsers.

2. Personally, I find the name Nothing a bit too long. Why not use a shorter name like None?
In the context of DTube IPFS is simply storage for video files, where the metadata + interactions are on the SteemIt block chain. It's cool that the author has generalized the concept onto pure IPFS. It may work better than my experience, which used IPFS to store very large contiguous mp4 video files (eg. 15min 720p max).

IPFS is nifty but I'm not convinced of its ability to support an intergalactic workload quite yet. I've looked at it vs. CDN for a video delivery platform and have a much more robust system built on primitives DNS -> CDN -> HTTP -> HLS segmented MP4 + static HTML site w/ SPA chunks in just a few weeks. I explored similar ideas with using encoded public keys, hashing, and side-channel crypto key distribution to support some interesting workloads. This is cool because it's a no-voodoo solution, just HTML and RSS and JS and chunked video files, and the CDN handles the details invisibly. With IPFS on DTube I've only been able to author a little data before running into queuing blocks where I was unable to continue adding content.

I have some videos on my YouTube channel talking about IPFS and giving demos in the past 1-2mo, 'iSpooge Daily'.
Yudkowsky flirts with tautology in the title - "well-kept garden" has keep right there explicitly and "garden" implies a caretaker. So almost by definition a well-kept garden won't persist without intervention.

But also of course not all ecosystems are gardens; not all ecosystems rely on keepers who are external to the ecosystem. A normal forest is sustained by natural forces and the normal actions of its inhabitants. As much as possible I'd like a community that sustains itself rather than one that is gardened.
I think there's a significant difference between a company who will defend itself reasonably in court, and one which is actively collecting telemetry on your car, and will proactively write a blog about how badly you drove.
> "[I]t would have been a moonshot three years ago. Today it's nothing more than a political statement. Today it's nothing more than a political statement."

I'm not sure if this is just a statement on the current political climate or an attempt to label Wilson as an opportunist speaking now without conviction. I can't really speak to the former, but as to the latter, Wilson has been active in conservation for decades, from advocating for forest protection[0] to calling for setting aside 50% of the planet for wildlife.[1]

[0]: http://www.saveamericasforests.org/congress/congress.htm

[1]: https://www.smithsonianmag.com/science-nature/can-world-real...
I agree that you have the right to privacy, but there's also technical reasons why instant deletion is not always possible. If they can guarantee that the data will be gone after X days, then that's fair to me.
Blocking out sound completely for long enough should have a detrimental impact on your hearing. In general the brain prioritizes senses that are being used over senses that are being deprived.
Not to mention that calling CPS would probably be a career-limiting move for a babysitter. What parents would want to risk hiring that babysitter after something like that?
Writing templates in Lisp, I think, is an awful idea. Template languages have evolved for a long time to include all the things you will probably need.

For example, imagine if you want to test some HTML code in a browser. Browser doesn't understand Lisp so you have to write it in HTML. And then you have to convert it to Lisp to use as a template. What a waste of time.

There are all king of template languages around. There are editors that can highlight the syntax, there are plugins to write HTML faster. I don't imagine how you justify writing your own template engine. Probably that is just a NIH symdrome.

> First, they work on HTML serialization to string instead of HTML semantics as a tree, making it easy to introduce both bugs and security vulnerabilities.

This can be easily solved by validating HTML code.

> The concepts of "escaping",

Tenmplate engines do necessary escaping automatically. For example, in Twig you just write

<div>{{ user.getName() }}</div>

and don't have to worry about escaping. I guess in Lisp you cannot even write user.getName() because it doesn't have objects.

> Views absolutely do need code, and so they should be written in a proper programming language.

In my experience, template engines like Twig have enough features. If you need soem complicated logic, you can write a helper function.
Have a look at Zend's SDK. It's full of such nonsense. Symfony also tries very hard to look like Java, complete with verbose naming and files paths.
By The+Way Shouldn't My+Ex-Wife+HadCompassion+for+MY TBI Acquired+Via+Meningitis
Thanks for taking interest! Honestly, my "use case" is just curiosity about language implementation. I'd been hearing quite a bit of excitement around BEAM, so I wanted to explore its viability as a standalone compilation target, without relying on the existing Erlang toolchain.
Oh boy, this is just making me miss Swift anymore...
I have a Dell U3415W w/ a second 24" 1080 for my desktop, and to be honest, I'm often more focused and comfortable working on my 13" MBP in a comfortable chair instead.

Xcode is far better on the desktop but for terminal + vim + broswer type work, the laptop screen is perfectly reasonable.

As for using OSX, I've just gotten comfortable with it. I never have to fiddle anymore. I always wait to upgrade OS's and it generally just stays out of my way. Windows is annoying and I haven't found a comparable fussless linux laptop yet (and I'm actively looking because I won't be able to keep avoiding that stupid touchbar).
To summarise, it's a .zip file containing a binary serialisation of XML, which then contains the base64'd raw coordinates...

Reminds me of this (it gets even better in the comments):
https://thedailywtf.com/articles/XXL-XML

Nothing in here was really complicated – it was just some existing standard formats (zip! apple plist! an array of floats!) combined together in a pretty simple way.

It's rather telling that wrapping points in 3 layers of encodings is considered "pretty simple", almost the norm today, when years ago doing such a thing would probably elicit reactions more towards WTF.
I predict that in the coming decades, we'll hear much less from progressives about conservation and biodiversity as it becomes more apparent that those goals are incompatible with Africa's on-going population explosion. The U.N.'s current median estimate is 4.5 billion Africans by 2100:

https://ourworldindata.org/grapher/population-of-all-world-r...
Recently, using Rakudo Star 2017.10. The algorithm adds numbers of the form i+j+2ij into a hash of non primes, then takes k not in that hash and pushes 2k+1 into an array of primes. These are basic operations, but Perl6 simply takes minutes to find primes up to 10k. Even Tcl, which lags behind anything else but Perl6 does it an order of magnitude faster. If you increase to 100k then you could probably go have a pizza in town and it would still be crunching after you were back. So it's definitely not the JIT compliation stage that makes it so slow.
It looks very similar to Either functor (left which always return nothing). Looks cool though.
I would guesstimate that around 90% of all passwords these days belong to web-based services, for which everything you just said is still true, with the exception that they aren't run by Troy Hunt. There is an extraordinarily long tail of sites for which "run by Troy Hunt" would be a huge improvement.

Actually I bet my guesstimate is way too low.

Furthermore: if you're using unique random passwords anyway, then there's no sense in checking them against HIBP, and if you're not, then punching them into HIBP is how I try to convince people that they should be.
Docker secrets.
Did a little knot theory research in college too. But with Dowker notation.
RHEL and CentOS are notorious for running old Perl. 5.20 was released in 2015, that's 3 years ago. Perl 5.16 has been EOL since 2013/11.

https://www.cpan.org/src/

Do you still run anything on Node.js 0.10? 0.10.36 was released in 2015, the same year as Perl 5.20. I doubt the mojority of modules still support it.
This gets complicated quickly. For example, what if you need to add a CSS class, a placeholder or some custom attribute to an input field? You'll have to write code for every such case.

And you can do the same thing with template engines like Twig with macros. Futhermore, Web frameworks like Symfony already have macros that are necessary to display a form. You don't even have to write them and that is a strong point of Symfony compared to weird self-made Lisp template engine.
Here are the 2018 Hugo Award nominees
Video: Chris Hadfield on the complexities of music in microgravity
Maybe you don't realize this because you haven't studied them, but "bloated framework" is unknown in Go or Clojure or Rust. Each of these languages tends towards minimal frameworks. Clojure, in particular, is known for its composeable libraries which make frameworks a bit of a sideshow for that community. Go is known for having enough in its standard library that some aspects of frameworks are not needed.

About this:

"because it takes time and energy away from actually solving useful practical problems,"

You can not know that without first studying other languages. You might find that you are 10x more productive in Rust. You can only find out by studying Rust.

But you bound the conversation in ways that I didn't when you write:

"in the web community"

I feel that developers can learn a great deal if they study projects that don't necessarily have anything to do with Web programming. Nothing in the article or on this page necessarily restricts us to only considering Web programming.

"It's not about the tool, it's how you use it."

I wouldn't use a hammer to go fishing. Nor would I use a saw to turn a screw. Nor would I use a frying pan to tune a piano. It helps to learn about a lot of different kinds of tools, because over the course of your career, you might be confronted with diverse tasks.
Steve Jobs worked at Atari. I don't think there was 'gaming' in the sense that you mean it when Steve Jobs was younger.
Do earplugs effectively mitigate the hearing damage caused by the low frequency bass that you feel in your bones?
Doesn't matter. Our data is only secure when it is encrypted. The user should have absolute control over their data. If the user deletes their data then it should be permanently deleted.