> This friend recommended nvd3.js, presumably because you’re not making real graphs in 2016 unless your graphing library is <something>.js and requires at LEAST one other <something else>.js as a dependency. Everyone looks at you like “what, you DON’T already use <something else>.js? Jeez say goodbye to your Hacker News karma. Just apt-get install npm && npm install bower && bower install-” NO STOP IT THIS ISN’T WHAT TIM BERNERS-LEE WANTED”.
edit: as huckyaus mentioned in a different thread, author did http://swagify.net/ as well. In completely unrelated news, I'm changing my handle to [Tr1Ck$h0t][LEGIT][60x7]$$$C30C0DER$$$, that will make me really popular among the cool kids.
Is this WHAT TIM BERNERS-LEE WANTED??!!!One1!?
For me, it was this:
> ... and I wouldn’t be embedding this ugly graph as a pdf into a LaTeX document that takes 3 passes of pdflatex to render...
By sticking to jokes and a simple style, I never felt confused or lost in lingo.
"too much medium,
not enough message"
When we refine our writing (or speaking) to - supposedly to make it less jumbled and easier to read - we usually end up removing a lot of the little details that made up the original thought. The writing may have much better grammar and organization, but real thought isn't perfectly organized and we end up losing some of the "character" in the original idea. (this may be good or bad, depending on the situation)
Vi Hart has an amazing overview of this concept, in which she discusses the very wise words of the Edmund Snow Carpenter in his book "They Became What They Beheld".
The trouble with knowing what to say and saying it clearly & fully, is that
clear speaking is generally obsolete thinking. Clear statement is like an
art object: it is the afterlife of the process which called it into being.
The process itself is the significant step and, especially at the beginning,
is often incomplete & uncertain.
 probably co-written - or at least "heavily influenced" - by Marshal McLuhan
 http://ogun.stanford.edu/~bnayfeh/plan.html (very mild NSFW language of the form "____ happens")
So very true...
Open a vein...share yourself...reveal yourself...share what you've learned and let the excitement you felt while discovering it flow...
For most writers, the majority of the time, your true audience will "get" both you and the ideas you're trying to share...
Sometimes you'll expand the size of your potential audience with raw enthusiasm, even when they have no idea what you're talking about...
I guess if you're a serious company like Apple, you can't really have that kind of tutorial for iOS dev. But that would really help.
The fact that this is true is, to me, a slightly sad reflection on our culture. I understand that too much silliness can get in the way of conveying information, but as you point out, so can too much seriousness.
It's obviously a fine balance, and unfortunately it seems safer to err on the side of seriousness when in doubt. It's one of those things that if you sit down and ask any average individual, they will probably prefer a bit of silliness and an informal style in any situation where it's appropriate, yet somehow collectively we seem to have agreed to default to the opposite, and stick with things being quite dry and serious as a norm.
Interesting, but ultimately a little sad. Why is this the case? Why is our culture this way? Why can't things just be a little more fun by default?
On the other hand, there are brands out there with the exact opposite approach. Cards Against Humanity comes to mind first. Their image is explicitly one of mild carelessness and apparent candidness such that anything written too formally would seem out of place.
But indeed, there do seem to be more of the former brand type than of the latter. Having a neighbor who speaks constantly with a similar tone as the writer of this article, I can say that trying to hold my own in a conversation with him is really tiring. You eventually just run out of witty remarks. Is it possible it's more an issue of skill and time? As in, are there fewer people out there with the skills necessary to make good silly writing than there are people who can write seriously? And does it take them longer (and thus cost even more) to make writing in this style?
I rambled a little, but I think the issue is a combination of people equating seriousness with importance, as well as a general lack of creativity.
(aaaaand this could go on for hours)
they are written in a humorous tone, and intersperse joke drawings between the chapters.
In college, I was a mechanical engineer living with a CompSci major, CompE major, and a CompSci / CompE double-major. I'd occasionally stop them when they were explaining things to me with "Explain like I'm a MechE". Slightly less self-deprecating than "mathematically inclined idiot", but same gist.
Because of this, I was also quite useful as a rubber duck for debugging.
It is a pity because the content is quite interesting but we are here discussing about his writing style??
The source code for said project is pretty great.
But hey, I was 17 and also it was me so... I'm biased.
No affiliation, I just use it for work:
I've used it for school projects and work before, and was amazed by the documentation and API capabilities. Everything is configurable and easy to figure out.
Edit: it's Creative Commons Attribution-NonCommercial 3.0. I wonder if that stops me running ads on a site that uses it.
"The empirical findings suggest that creators and users approach the question of noncommercial use similarly and that overall, online U.S. creators and users are more alike than different in their understanding of noncommercial use. Both creators and users generally consider uses that earn users money or involve online advertising to be commercial"
Lots of casual self-deprecation. I'd recommend well known comedians, but I'm no good at remembering names.
But then I use some wysiwyg and I make something much nicer in no time... Should I really give up on these tools :(?
It depends on the use case.
I like this part. As a developer I've often looked at the network usage of large websites / web applications and it's always surprising to me just how...unoptimized it is as far as network connections go.
I mean Facebook loads decently enough and all I'm just surprised the first load isn't condensed into a small, handful of network calls to save on latency.
Have you considered that your opinion on the best way to serve data to a billion users might actually be wrong? That maybe Facebook actually knows what they are doing?
Not really surprising, from what I’ve heard from friends about their cowboy-style internal engineering culture, and spaghetti piled on spaghetti internal code organization, where shipping new features ASAP is privileged above all other goals.
When you have endless money to throw engineers and servers at a problem, it’s possible to kinda sorta paper over a lot of horrible broken design. Not sure whether that implies anything one way or another about whether or not they “know what they are doing”.
It sort of depends on your definition of “know”. After all, their motto is “move fast and break things.”
Certainly! But I've also done work where Humvees in the middle of Iraq use satellite internet connectivity with massive latency and the more connections it has to open to get started the slower everything gets.
Perhaps this is an advantage where latency is low so you can load parts of the page faster but I'd love to know some of the more technical reasons behind this!
I mean, isn't that how monolithic apps tend to happen? Someone leaves, new person comes along and adds more to the cruft.
But I don't know anyone at Facebook so I have no idea how the website is handled.
So no matter how many connections are made when visiting facebook, it usually loads fairly fast because of aggressive caching and progressive connections. Most of the time the end user shouldn't be able to tell the difference.
I suspect their mobile apps are more conservative about using fewer requests (and probably a binary protocol).
This horror out of time and space was beaten, shot and stabbed, and the developer responsible for its invention was promoted to CTO and King of the universe.
Actually it is: https://www.facebook.com/notes/facebook-engineering/bigpipe-...
Nope. Did you read through how BigPipe works? It's more than a handful; they basically load a whole bunch of mini web pages inside of another. I'm actually impressed they get better performance doing that; I would have thought condensing everything down would net much better performance. It would at least improve latency but I digress.
FB just took 13 seconds for me to load fully! HN took only a second. I suspect the situation would be way worse if the browser cache was cleared too.
Great article. And a further reminder why Facebook kinda sucks.
Example, which I'd not seem before: https://youtu.be/taTSxDVEHRM
Could these just be keep-alive requests? For example, the mobile app checks whether it's still connected?
I didn't think of that.
3 minutes does seem like the kind of time an engineer would code into their app.
So does that mean that the spiky periods are times when people are online the whole time?
I'd be inclined to think so, but I don't work for Facebook, there may be an entirely different reason :)
Edit: or maybe, maaaybe, it's the point of time when people fall asleep over their mobile - they've stopped interacting with the app, it still sends a few keep-alive requests, and then logs itself out.
It opens up a chat window when somebody start typing.
It always freaks out the few people that never send the message.
On a side note,
> If you’re wondering why the response starts with “for (;;);”, it’s to, among other things, encourage developers to use a quality JSON decoder, instead of like, y’know, eval().
This is wrong, as I commented on the linked StackOverflow post, perhaps a bit too strongly. But it's really frustrating to see that people have misconceptions because of incorrect answers on StackOverflow.
Any messages you get when your chat is off just go to your Facebook inbox so you can still get messages even with it off you just kinda lose that online live kinda element. I mean this works just like most chat applications work. They basically all say you're online or not too.
There are even better ways which I'd rather not reveal.
I missed that when reviewing, I assumed WhatsSpy was hosted on GitLab.com. Thanks for enlightening me.
Oh and did not know about the Copy as cURL feature on Chrome!
SELECT uid, name, online_presence
WHERE online_presence IN ('active', 'idle')
AND uid IN (
SELECT uid2 FROM friend WHERE uid1 = me()
I have no idea what the Facebook apps (Messenger and the Facebook app) do in the background.
It's easy to test that, but I didn't because #yoloswag
Perhaps, buy some targetted ads about 'SleepCycle' and show them to the naughty ones who sleep less than 6 hours. :P
Nice with this data I might finally and truly finish my Social Alarm Clock idea and do so in which it truly improves the sound of your alarm clock; one that always makes you smile, laugh, etc.
There's been tons of social alarm clocks(from Justin Bieber to Nestle to Sony to Wakie, etc) since releasing sleep.fm in 2007 (a century ago in Internet years) yet no one has executed on the idea properly.
And how about for advertisers? "Get your sleeping pills here" type ads?
Data Science of the Facebook World
I also bet that Whatsapp has this feature since I often see "Last seen at ...".
Personally, I have chat off all the time on FB, and I don't have the Messenger (or FB) app on my phone either, so I guess I'm always sleeping :)
Thanks for all this amazing info!
peace - [2edgy4u][ev REE DAI][24x7BLAZEIT]|ggg10Bzzz|
Especially loved all the links to Facebook :D
Nope, you have to be their friend.
Well, you have to be their Facebook friend. What you do in real life is none of my business.
If you are inclined to, I would strongly recommend you create test accounts there to do so: https://www.facebook.com/whitehat
A. you get way funnier screen grabs, and honestly simpler controls;
B. you will get love from the security engineers, which I’ve tried, and is an awesome idea.
p.s. I am hiring ;)
Social engineering, in the context of information security,
refers to psychological manipulation of people into performing
actions or divulging confidential information.