LinkedIn Intro - an update on company's blog - <AUTHOR>

Updates (as on the company's engineering blog):
1) You have to opt-in and install Intro before you see LinkedIn profiles in any email.
2) Usernames, passwords, OAuth tokens, and email contents are not permanently stored anywhere inside LinkedIn data centers. Instead, these are stored on your iPhone.
3) Once you install Intro, a new Mail account is created on your iPhone. Only the email in this new Intro Mail account goes via LinkedIn; other Mail accounts are not affected in any way.
4) All communication from the Mail app to the LinkedIn Intro servers is fully encrypted. Likewise, all communication from the LinkedIn Intro servers to your email provider (e.g. Gmail or Yahoo! Mail) is fully encrypted.
5) Your emails are only accessed when the Mail app is retrieving emails from your email provider. LinkedIn servers automatically look up the "From" email address, so that Intro can then be inserted into the email.
For the entire post: http://engineering.linkedin.com/mobile/linkedin-intro-doing-impossible-ios#! <comment><USER2> Users don't understand rights. This entire application is a misfeature, should be blocked by Apple, and the security holes identified fixed.

My own response is that the sooner I can pull my information from LinkedIn the better. My own legitimate profile is little more than a placeholder, though the social graph itself is more than I'd prefer to leave there, given the attitude the company has increasingly been showing toward personal and private data.</comment>


The Start-up from Hell - <AUTHOR> https://jacquesmattheij.com/the-start-up-from-hell <comment><USER2> This is just CADT. If you had paid closer attention to what people in the industry already knew (that professional servos solve the feedback problem and they are worth the cost because experts built quality and knowledge into them so they work on production lines) before starting, you could have avoided wasting lots of people's time and money.

I had a lot of people tell me steppers were "precise", and I had to do a ton of engineering just to learn how untrue that statement is.</comment>


Side Project Hacks: Don't Sweat the Details - <AUTHOR> https://medium.com/what-i-learned-today/c1b68e3af73a

<comment><USER2> Nice post Alex. I share the same problem of trying to do something more elegantly than is necessary and end up wondering where my time went.</comment>


How Do Afghan Drug Lords Spend All That Loot? - <AUTHOR> http://trueslant.com/jefftietz/2009/08/20/elections-and-20-man-rule-in-afghanistan/ <comment><USER2> The FARC in Columbia and the war lords in Afghanistan are all rich because a bunch of baby boomers can't bare the thought of legalizing drugs. Please someone contradict me and make a more reasoned argument. I am too pissed off to think of anything better.

<comment><USER3> _Please someone contradict me and make a more reasoned argument._

The FARC sells _cocaine_. The Afghan warlords sell _heroin_. There is no constellation of American political interests for which "Legalize cocaine and heroin" is even remotely conceivable as an achievable policy option.

Incidentally, no matter what you legalize, smuggling remains a viable option for whatever it is you don't. FARC could just as easily be the world's largest kiddie porn or sex slave ring. Afghanistan could sell slaves.

(I am not speaking hypothetically. There are nations which do both. A willingness to do evil plus a local monopoly on coercive force makes for a very profitable combination.)

<comment><USER4> Your argument is specious.

The total addressable market for heroin and cocaine consumption is demonstrably high. Kiddie porn demand will never reach this level, and hiding a sex slave in your house is difficult.

<comment><USER5> Funny that you say that.

In Japan there's a whole (legal) industry that would be probably classified as "kiddie porn" distribution in US. It's certainly bigger than the local cocaine and heroine market.

<comment><USER2> What's legal in Japan creeps me out, but what's illegal in the US is often silly.

<comment><USER6> You'll be happy to know that freedom of expression is slowly being crushed in Japan, just like everywhere else, so you won't have to feel creeped out much longer.

[http://www.sankakucomplex.com/2009/08/21/un-demands- hentai-b...](http://www.sankakucomplex.com/2009/08/21/un-demands-hentai-ban/) (possibly NSFW)

<comment><USER7> The UN's obscure subdepartments can demand, but Japan doesn't have to comply. And considering the size of the market for hentai, I don't think it's going to go away any time soon.

</comment></comment></comment></comment></comment></comment></comment><comment><USER8> The War on (some) Drugs is so friggin' stupid! We'd be better off just doing what we can to make drug production a respectable and not so dangerous trade.

<comment><USER9> I don't necessarily disagree, but we already don't have a war on a long list of drugs, from caffeine to nicotine to alcohol to pharmaceuticals. You seem to feel that this list is inadequate, but that legalization of all drugs isn't the answer either, so I'd be interested to know _which_ drugs we should no longer war against, and what the criteria is.

<comment><USER10> We could just change it every year. The increase in police will help boost the economy. At each state of the union address the pres could announce that this year Jolt and Ibuprofen are banned and you would have 24hours to consume it all before the police raids start.

</comment></comment></comment><comment><USER11> Or we could set up morphine processing facilities and sell the processed, medical grade, codine/morphine on the open market-- creating industry, jobs, economic devpt.. that whole schtick

</comment><comment><USER12> I wish they would just firebomb the poppy fields and get it over with. What would be wrong with that? They've been saying they would for years but always decide to 'wait a little longer' and never do anything.

<comment><USER13> They would take away the livelihoods of a large number of farmers. From an Afgan farmer's position, when there are these foreign troops with strange customs and behavior that you don't really understand or like, and then they destroy all your crops and leave you and your family to starve, it tends to turn you against them. And when you have a lot of anger and time on your hands, some will decide to take up arms against the troops instead.

<comment><USER14> A better solution would be to just pay the farmers more than they get for the poppy to produce something else instead. With some basic sanity checks on the amount of stuff they produce the inevitable cheating of the system should be somewhat manageable. It might not be very cheap, but neither is handling the effects of drug-based crime at home or posting troops abroad.

<comment><USER15> I heard saffron could be a viable alternative cash crop.

<comment><USER16> Sounds a bit unfair to all the saffron farmers in other countries. With half the land in Afghanistan suddenly devoted to saffron production, the value of saffron will plummet. Meanwhile, Afghan saffron farmers will be selling their saffron to the US government for some insane price. If I were a foreign saffron farmer I'd be pretty pissed off. Oh, and the number one saffron producer at the moment is Iran, so you'd probably get a vast industry in smuggling Iranian saffron across the border to be sold in Afghanistan.

Oh, and also the drop in opium production will raise opium prices, and so you'll need to keep raising the Afghanistan saffron buying price in order to keep it more attractive than opium farming.

I foresee all sorts of unforeseen consequences, and those are just the foreseen ones!

<comment><USER17> It would be pretty sweet for us if we could convince them to grow biodiesel.

<comment><USER18> If the could grow corn or soybeans - which are the main feedstocks for biodiesel - it would be better for everyone if they just used it for food production, as opposed to refining it and shipping it over here.

<comment><USER19> Where would they get all that water? Corn is a VERY thirsty crop, wheras opium poppies actually produce more alkoloids when given less water.

<comment><USER18> I don't think they could - hence, one of the many reasons that they don't grow it.

I'm saying that _if_ they had the capability to grow corn, as fizx suggests, then it would be better to use that corn for food, as opposed to biodiesel.</comment></comment></comment></comment></comment></comment></comment></comment></comment>


Ask HN: Is Twitter still useful for you? - <AUTHOR> I recently did a social media purge and Twitter is the one network I'm having regrets about abandoning. It's this one network that still seems to be a marker of influence in the tech community and yet seems like a complete torrent of information and not very useful. Is the regret justified? <comment><USER2> Kind of?

On the one hand, it's a decent source of news if the news you're after isn't related to politics. For instance, keeping up with the goings on at Apple or Google or finding out about announcements from E3 this year.

In that sense, it's pretty useful.

On the other hand the actual community is horrendously 'toxic', and even supposedly normal people and organisations seem to have a tendency to blow up over minor political dramas and perceived 'bad behaviour' online.

So while it's a decent source of news, it's also something that feels incredibly miserable to use because of the negativity as well.

</comment><comment><USER3> > I recently did a social media purge

Then why are you on hacker news?

> It's this one network that still seems to be a marker of influence in the > tech community and yet seems like a complete torrent of information and not > very useful.

Social media is just a tool like any other. It is what you make of it.

> Is the regret justified?

I don't know? Did you just jump on the bandwagon because the media and others ( many of them paid operatives ) told you to #deletefacebook?

Did you get swayed by others and are you now asking us to sway you back to social media?

How can anyone else tell you whether your own personal regret is justified?

How about stop looking to others and learn to think for yourself? Grow up.

<comment><USER4> _Then why are you on hacker news_

Is HN social media? What exactly is social media? I always figured it as anything where you can followers/friends/connections/subscribers/contacts etc and you can't really do that on here and consider it a forum.

As for Twitter, or any other social media I don't personally use it. Tesults, of which I am a founder does but not much, we kind of suck at it tbh and are more focused on serving our existing customers most of the time and improving the product but would love to improve, if anyone's got any tips send me a message. How many followers did you have before quitting?</comment></comment>


CSS Blend Mode Gotcha - <AUTHOR> http://rumyrashead.com/a-little-thing-about-blends.html <comment><USER2> Wow. Very powerful. I'll definitely have to play and test this out but if there are no limitations, I can see myself using the blend tools more often in some of my upcoming work</comment>


Ask HN: How do you view large JSON files? - <AUTHOR> I use JSON Viewer [1] to view data in JSON format but it freezes on files larger than 1 MB. I want to be able to easily collapse and expand elements to understand the structure of the data.<p>[1] https://jsonviewer.codeplex.com/ <comment><USER2> I view them unfavorably.

<comment><USER3> This is probably sensible. JSON is a text-based format that requires you to parse the entire thing just to get an outline, unlike well-designed binary formats.

<comment><USER4> Well-designed text formats too?

<comment><USER5> Not necessarily. (I'd actually argue "not at all.") Presumably you have a text format in the first place because you want your representation to be human- readable [with common tools like a text editor], and very likely human- writable as well. Those are the _real_ constraints of a (useful) text format, and they tend to be in direct conflict with high-performance parsing, or partial parsing.

For an arbitrary example, a binary format could have an index table of objects at the start of the file, and then you could perform partial reads to access only the subset of objects you care about. That's something you could do in a text format too, but if the file is edited in a text editor you can't guarantee that the user remembered or bothered to update the index when they added a new object. The parser would effectively not be able to trust the index, and have to parse the entire file. (I suppose you could use CRCs or something to enforce this, but then you'd end up with a very brittle format that people get frustrated when trying to edit.)

Really, the true advantage of a binary format is you generally assume that nobody messed with the data behind your back, so you can have duplicate data (like an index) if you want without worrying that it's out of sync. This pretty much goes hand in hand with the fact that you _can 't_ just open it in a text editor and fiddle with stuff.

TLDR: Human-writability and high-performance are arguably mutually exclusive features.

<comment><USER6> _> Really, the true advantage of a binary format is you generally assume that nobody messed with the data behind your back_

I would rephrase that a bit and say the true advantage is flexibility, as you're not subject to the constraints of textual data.

The integrity of the data is a separate matter, and should be carefully verified rather than trusted implicitly. A huge amount of security vulnerabilities, and program crashes in general, come from errantly assuming that user-supplied data is correct.

</comment></comment></comment></comment></comment><comment><USER7> There's addons/extension for Chrome and Firefox. Both also called JSON Viewer (different author). For really large files I use a command-line tool plus grep and awk though [https://stedolan.github.io/jq/](https://stedolan.github.io/jq/)

<comment><AUTHOR> jq looks promising but I still need to view the JSON file first. I want to be able to somehow get the general understanding of the structure very quickly and interactively. The tree control works very well for that. JSON Viewer is almost perfect but it doesn't work with local files.

<comment><USER8> I usually use jq to understand the structure of the file. `keys` will get you all the key names in an object; `with_entries(.value |= type)` will replace each element on an object with its type. You can quickly delve into a JSON and gain some understanding of it with jq.

</comment></comment></comment><comment><USER9> I think Sublime Text should be able to handle fairly large json files without a problem.

If not, I think I would just split data into multiple smaller files. Something like the python code below should work, assuming the file can fit in memory. If not, I assume you can find some json lib that can work in streaming mode and then do the same thing.

        import json, os

        json_input = '''{
        "foo": 1,
        "bar": 2,
        "baz": 3,
        "bug": 4,
        "thing": 5
        }'''

        entries_per_group = 2

        if not os.path.exists('sub_files'):
          os.mkdir('sub_files')

        main_d = json.loads(json_input)
        iter = main_d.iteritems()
        for group_count in range(10 ** 6):
          sub_d = {}
          try:
            for _ in range(entries_per_group):
              k, v = iter.next()
              sub_d[k] = v
          except StopIteration:
            break
          finally:
            json_output = json.dumps(sub_d, indent=2)
            with open(os.path.join('sub_files', '{}.json'.format(group_count)), 'w') as f:
              f.write(json_output)

</comment><comment><USER10> I used to be a fan of JSONView or one of those chrome plugins / extensions. Then I realized that I can simply use the network tab to view the JSON data as it gets loaded.

Here is how it works - keep the network tab ready. When you see the JSON data request, click on the request and hit the "Preview" tab. It gives you data in a collapse / expand format.

Advantages: 1. There is one less plugin that scans all your browsing activity, 2. Slightly extra battery life when just browsing and not developing stuff.

Disadvantage: You need to keep the network tab ready, otherwise you will have to reload the entire page with the network tab open.

EDIT:

My apologies if it wasn't clear. I was talking about the "Developer Tools" option in Chrome, in which there is a "Network" tab. It is available in "Chrome Menu" > "More Tools" > "Developer Tools". Alternatively you can hit Command + Option + I in mac, or some equivalent in Linux / Windows to get there.

<comment><USER11> Usually F12 opens these tools in most browsers (IE, Chrome, Firefox at least) on Linux and Windows, but I do not have a Mac to test Os X. Your tip also applies to Firefox, but I don't know about IE or Edge. :)

I've never really had to handle really large JSON files, as I'm not a big fan of those but for smaller files I tend to be lazy and paste it in jsonlint.com. It's usually just for reference or debugging purposes (like finding the name of a property or some strange value).

</comment></comment><comment><USER12> If you're familiar with vim, you can do this

      cat unformatted.json | python -mjson.tool | vim -

And then use vim's folding methods to navigate the file ([http://vim.wikia.com/wiki/Folding](http://vim.wikia.com/wiki/Folding))

<comment><USER13> It's not nice to abuse innocent cats.

        python -mjson.tool < unformatted.json | vim -

If you're not using cat to concatenate things, the shell can probably handle the job.

<comment><USER14> People like cat because it allows notating the command closer to how they think. How can I pipe while putting the file first?

<comment><USER15> Well, just do it:

        < unformatted.json python -mjson.tool | vim -

</comment></comment></comment></comment><comment><USER16> Not Atom.

;)

[1] [https://github.com/atom/atom/issues/8864](https://github.com/atom/atom/issues/8864) [2] [https://github.com/atom/atom/issues/979](https://github.com/atom/atom/issues/979)

</comment><comment><USER17> On Windows I use Notepad++, which handles large local JSON files just fine, and has a collapsible tree structure.

</comment><comment><USER18> A human can't easily understand the structure of a large JSON file - JSON is internally self-describing, so there is no guarantee that the sample of records currently visible in your editor's viewport are representative of the whole.

Instead, use a tool like Schema Guru ([https://github.com/snowplow/schema- guru](https://github.com/snowplow/schema-guru) ; disclaimer: we wrote this at Snowplow) to programmatically extract the JSON Schema ([http://json- schema.org/](http://json-schema.org/)) which represents all JSON instances in the file.

</comment><comment><USER19> I wrote a tool some time ago. It's not a viewer. It just shows the structure. [https://github.com/ilyash/show-struct](https://github.com/ilyash/show-struct)

</comment><comment><USER20> For very large files, like 1M rows and 100's of MB's, of JSON arrays try [http://www.jsondata.ninja](http://www.jsondata.ninja)

</comment><comment><USER21> I have a question related to this which nobody has really touched on yet.

Imagine you have a json structure like this:

{"records" : [ {"name":"joe", ...lots of other fields in each record}, {"name":"fred", ...lots of other fields}, ... thousands of records ]}

Now a lot of people in this thread have mentioned tools for collapsing the json, but the trouble I have with this is that you can't browse the record names without opening each one and looking at all the fields. It would be nice if there was a tool that took a few key identifiers (name, id) and "bubbled them up" so that in a collapsed view you would see something like:

{"records":[ {...click to expand...}, // name=joe {...click to expand...}, // name=fred ]}

I have the same problem when working with XML as well (though in XML sometimes the ID's are attributes of the parent which mitigates the problem, but other times the ID would be nested in a child element of the structure more like you would have in json). I even found it to be enough of a problem that I wrote my own XML editor to solve this issue.

Of course one issue with this is that there's so clear standard as to which fields of an object represent "ID" information which would be important/useful to "bubble up" to the next level when collapsing. It would have to be something user-configurable (though having some sensible defaults like looking for "name" and "id" keys would work in a lot of cases). In the XML world, there's probably something to do with Schemas that would help with this problem, and fancy editors which understand your data using a schema, though some of the editors I looked at which went into that level of detail seemed like way overkill for what i wanted to do.

So essentially my question here is whether this concept of "collapse child, but keep important identifying information of the collapsed child visible" exists in any json tools? is this a thing that has a name/buzzword associated with it that I don't know about? or is it purely an issue that's my own personal quirk which nobody else cares about?

<comment><USER22> That data structure is basically a CSV file. If I were you, I would convert the JSON to a CSV file, load it into excel and use a pivot table dive into your data and convert it back if needed.

A pivot table will do exactly what you want and more. If you hate excel, You could load it into a database and do a groupby query. I suspect most JSON in that data structure were auto generated from CSV files or database anyways.

Another option is to just convert that JSON to another JSON keyed by name with Lodash then inspect it.

var anotherJSON=_.keyBy(oldJSON, 'name');

</comment></comment><comment><USER22> Chrome console allows you to inspect an object and expand on the properties visually.

For the most common cases, I just copy and paste the string into the chrome console if I need to inspect some random JSON file really quick.

If it is too big to copy and paste, pipe it into a html file as a global variable and view the object in the console.

You can also just open a node repl and load the JSON into memory. node lets you auto complete property names by pressing tab, this is great for inspecting some unknown object.

</comment><comment><USER23> Whether you are looking at JSON with a bit of expected structure or otherwise, parsing something that big is not humanely possible in a timely fashion. Throw it into a db to analyse it.

</comment><comment><USER24> There are few viewers/editors listed at [http://softwarerecs.stackexchange.com/questions/18839/json-v...](http://softwarerecs.stackexchange.com/questions/18839/json- viewer-for-windows)

JSONedit should work well with files up to few MBs, with larger files loading time may be not acceptable. Side note: for editors that generate structured view file size may be not precise metric - number of elements might work better.

</comment><comment><USER25> jq

</comment><comment><USER26> This is something I use quite frequently when dealing with JSON. [https://www.getpostman.com](https://www.getpostman.com)

</comment><comment><USER27> The Python REPL and the JSON lib. Probably not the most efficient if you're starting out but if you're familiar with Python it can be quite effective.

<comment><USER28> This. I use the Ruby REPL, but same principle.

You have to be a little careful about not accidentally printing out the whole thing to stdout, but after its loaded into memory you can check keys at a given level, drill into the substructure, etc.

</comment></comment><comment><USER29> Generally I'll copy it to the clipboard (usually `pbcopy < file.json`), fire up Chrome, Cmd+Alt+J, then paste into the console. Instant, attractive, collapsible rendering of the content. Usually when I do this I'm interested in performing some sort of transformation on the data, and this way I can prototype it without any further steps.

</comment><comment><USER30> I use IntelliJ for that. It parses the JSON and adds code folding automatically. I've used it with fairly large files.

</comment><comment><USER31> I'd suggest either use your browser with a good JSON viewing extension or a code editor.

> I want to be able to easily collapse and expand elements

That feature is often called "code folding", many programming oriented text editors do it.

</comment><comment><USER32> print_r(json_decode(file_get_contents("[http://url.com/"](http://url.com/")), TRUE));

<comment><AUTHOR> What about collapsing/expanding elements interactively?

</comment></comment><comment><USER33> For extremely large CSVs I use Emeditor (windows / paid). It also works with JSON, but never had to handle large JSONs

</comment><comment><USER34> You could try the JSONView chrome extension.

<comment><AUTHOR> I'm already using JSONView Chrome extension and it's great but it doesn't work with local files. Nor can I copy and paste JSON.

<comment><USER35> Why not just throw the file(s) up on a box somewhere so you can use it, or host it locally, can you not use locally hosted links with it or something?

</comment></comment></comment><comment><USER36> I uses [http://jsonformatter.org](http://jsonformatter.org).

</comment><comment><USER37> On the macOS I've had some success with "Cocoa JSON Editor.app". It takes a while to load files, but they are presented in an outline view you can search and browse.

</comment><comment><USER38> [http://kmkeen.com/jshon/](http://kmkeen.com/jshon/) or python -mjson piped to $editor

</comment><comment><USER39> vim

</comment><comment><USER40> IntelliJ scratch files

</comment><comment><USER41> jq with less/more as pagers...

</comment><comment><USER42> notebook++ has a great json viewer plugin and handles huge files

</comment><comment><USER13> >but it freezes on files larger than 1 MB

That's a pretty large bug. Considering what JSON is supposed to be used for, passing data between two programs/processes, files larger than 1 MB should have been accounted for.

Does it freeze then crash, freeze until the OS takes care of it, or freeze temporarily then resume?

<comment><AUTHOR> It freezes temporarily then resumes after few minutes.

</comment></comment><comment><USER43> vi (5 gigs)</comment>


Freenom World – A fast and anonymous Public DNS resolver - <AUTHOR> http://www.freenom.world/en/index.html?lang=en <comment><USER2> Writing "fast" and "anonymous" on a product doesn't magically make it fast or anonymous. Why would I trust this service ?

<comment><USER3> Well the first attribute can at least be measured independently.

<comment><USER4> Numbers from South America:

        Freenom: ~260msec
        Google: ~70msec
        Local ISP: ~6msec

<comment><USER5> It still baffles me why would someone use Google DNS over local ISPs and 184.108.40.206 being advertised anywhere make me cringe.

<comment><USER6> My ISP's DNS inserts advertising into query results. Google's doesn't.

<comment><USER5> Sorry to hear that then. I'm positive this doesn't happen in the EU though, yet we're willingly giving Google more data.

<comment><USER7> It does happen: [https://news.ycombinator.com/item?id=13038500](https://news.ycombinator.com/item?id=13038500)

</comment></comment></comment></comment></comment></comment></comment><comment><USER8> Freenom appears to be the company managing the (in)famous "free" ccTLD .tk

No, thanks.

[http://www.freenom.com/en/aboutfreenom.html](http://www.freenom.com/en/aboutfreenom.html)

<comment><USER7> Elaborate? I have dozens of freenom domains (not just .tk, but also the other free TLDs like .ga et al.). I don't use them for critical (or commercial) services, but I've never had any issues - they are free after all.

DotTK and now Freenom have been great enablers for many smaller hobby sites. Get free webspace from bplaced, domain from freenom and CDN from CloudFlare and you have a pretty decent, ad-free infrastructure for a quick-and-dirty web project. A scratchpad solution basically.

Anyhow, that doesn't change the fact that the above DNS is still way too slow to be useful in the first place, at least from here.

<comment><USER8> > DotTK and now Freenom have been great enablers for many smaller hobby sites. > Get free webspace from bplaced, domain from freenom and CDN from CloudFlare > and you have a pretty decent, ad-free infrastructure for a quick-and-dirty > web project. A scratchpad solution basically.

Agreed. But never use free .tk domains for anything serious. DotTK is notoriously for deleting domains registered for free from a user's account without any notification to the user as soon as the domain gets some amount of traffic according to many reports online.

<comment><USER9> I know of exactly one site which had a .tk TLD. Here's why they switched to a .com:

[http://tailsteak.com/archive.php?num=388](http://tailsteak.com/archive.php?num=388)

" _tailsteak.com

Alright, so I'm finally fed up with Tokelau.

Don't get me wrong, it's a nice island, but they just aren't answering my mail.

I suppose most of you have noticed, by now, the fifteen-second ads that present you with beautiful women and fish when you surf to tailsteak.tk. Those are not my ads. I do not obtain revenue from them. Tokelau's domain name referral service just started putting them up there without so much as a by- your-leave. I have contacted their tech support and enquired if, perhaps, they might consider removing them for customers willing to pay a certain amount. They have not responded.

Of course, I have had access to tailsteak.com for some time now. So henceforth, I will be directing my viewers there. It's the same site, the same host, and, in truth, the .tk address has been sending you there for months. But now it's official. Note the change in title graphic:

tailsteak.com_"

</comment></comment></comment></comment><comment><USER10> It'd be interesting to know what their business model is. Traffic isn't free and neither are world-wide servers. They are not run by ads, they are not a paid service, so how do they cover their expenses?

<comment><USER11> As wila pointed out in this thread, Freenom has been connected to cybersquatting [1]. Operating a widely used DNS server might allow them to register commonly mistyped domains (?). Not sure whether this is indeed sensible.

[1] [http://domainincite.com/18797-freenom-suspended-for- cybersqu...](http://domainincite.com/18797-freenom-suspended-for- cybersquatting-rival-registrars)

<comment><USER12> clever. shady, but clever.

</comment></comment></comment><comment><USER13> Round trip time for me to 18.104.22.168 is double what it is to 126.96.36.199. So I'm not convinced on the "fast" claim.

<comment><USER14> Google has the advantage to anycast their DNS server IP addresses. Use a ping service that will ping an IP from around the globe and you'll see that 22.214.171.124 has sub 20ms RTT time for pings reguardless of country. So you will likely always hit the closest Google datacenter when using 220.127.116.11.

188.8.131.52 seems to be served out of a single datacenter. Based on ping times I'm seeing, it looks like they are hosted in Amsterdam. So it will be slow for most of Asia and the Americas.

<comment><USER15> For this same reason you'll also get better results from CDN services with Google DNS. 18.104.22.168 will lookup a geo record from (almost) your actual location. 184.108.40.206 will look it up from the USA.

Any CDNs that are using geo-dns will be way slower than they should be outside the US as you'll have been given a US IP to load the content from.

<comment><USER16> Google actually implements a workaround to this issue.its called EDNS client subnet. Freenom does not.

<comment><USER15> Ah nice, I'll have to remember that one.

</comment></comment></comment></comment></comment><comment><USER17> So I should just send you all my DNS queries because you said so? Ur, I'd rather not, thanks.

<comment><USER18> Aren't you doing exactly that with another recursive resolver?

<comment><USER19> With many other providers I can make deductions about likely threat scenarios. For example I know about both my ISP and about Google that it is in their best interest to serve me correct DNS entries: they have no obvious motive to do otherwise. On the other hand I can be fairly certain that my DNS queries will be fed into Google's database if I use their DNS: they have an obvious motive, have the capability and no obvious disincentive. Etc.

With some new, unknown service with unknown associations I can't reason much about the threat model.

<comment><USER20> Many ISPs abuse DNS to serve ads. One method is to rewrite all NXDOMAIN responses to an ad server. Another involves injecting ads into HTTP responses by hijacking DNS.

Although your points about capability and motive are valid, I don't think that Google does feed DNS queries into a database. Given all the evil DNS servers out there, I think that it is in Google's best interest to provide a clean alternative and contribute to better internet infrastructure.

<comment><USER21> "After keeping this data for two weeks, we randomly sample a small subset for permanent storage."

[https://developers.google.com/speed/public- dns/privacy](https://developers.google.com/speed/public-dns/privacy)

</comment></comment></comment></comment></comment><comment><USER22> I would encourage fairly tech-savvy users to set up their own DNS resolvers - fast, more private and a way of bypassing your ISPs censorship.

Just make sure to configure ACLs so recursive queries are limited to you and not part of a botnet. Also BIND9 might not be a good idea for a low- maintenance solution.

<comment><USER23> It's a bad idea for performance, because your ISP has caches for Google, Netflix ect .. so you probably won't get them.

<comment><USER22> That's not how Google GGC and their LB works, the authoritative NSes looks at the IP of the querying resolver and hands out a response depending on that

<comment><USER23> Well if you use a generic DNS server you won't get DNS answers that are geoip based because you will hit the cache of that DNS server and since they don't query google servers with your ISP IP you will get a generic endpoint.

</comment></comment></comment></comment><comment><USER24> Personally I'm a fan of running unbound locally. DNSSEC verification on the same machine is pretty nice, but you lose the benefits of sharing the cache with many others.

</comment><comment><USER25> In mainland China try 220.127.116.11 + 126.96.36.199...

126.96.36.199 = 52ms

18.104.22.168 = 240ms

18.104.22.168 = 416ms

Just sayin'...

<comment><USER26> It's funny, I was thinking precisely of China when I saw the numbers, due to the use of 8s (considered lucky). And here you are, saying the number 4 (considered unlucky) is actually used in China?

<comment><USER27> The phone number 114 in China is just like the 411 in the US, it is a directory service, so that's why China uses 114 for the DNS servers.

On that note, the Chinese DNS would not resolve google or facebook properly due to the Great Firewall of China, I wonder if Freenom can resolve those domains within China without any proxy solutions.

</comment></comment></comment><comment><USER28> From Singapore

      ~188ms -> dig yahoo.com @220.127.116.11
      ~3ms -> dig yahoo.com @188.8.131.52
      ~2ms -> dig yahoo.com @(ISP's DNS)

MTR to Google DNS

      $ mtr -wrc10 126.96.36.199
      Start: Fri Jan 13 22:22:56 2017
      HOST: -                            Loss%   Snt   Last   Avg  Best  Wrst StDev
        1.|-- My PublicIP gateway           0.0%    10    1.9  11.3   1.3  22.5   6.5
        2.|-- Singapore1.vqbn.com           0.0%    10    1.3   4.0   0.9  28.3   8.5
        3.|-- 220.127.116.11               0.0%    10    2.6   1.6   1.0   3.3   0.7
        4.|-- 220.127.116.11               0.0%    10    1.7   1.8   1.6   2.3   0.0
        5.|-- 184.108.40.206                0.0%    10    1.5   1.8   1.5   2.0   0.0
        6.|-- 184.108.40.206                 0.0%    10    2.0   2.0   1.8   2.2   0.0
        7.|-- ???                          100.0    10    0.0   0.0   0.0   0.0   0.0

MTR to Freenom DNS

        $ mtr -wrc10 126.96.36.199
        Start: Fri Jan 13 22:37:58 2017
        HOST: -                                 Loss%   Snt   Last   Avg  Best  Wrst StDev
          1.|-- My PublicIP gateway                0.0%    10    0.9   8.2   0.8  56.9  17.8
          2.|-- amsterdam1.vqbn.com                0.0%    10  187.3 187.2 186.9 187.8   0.0
          3.|-- br1.ams-ix.dc2.ams.denit.net       0.0%    10  198.7 191.9 187.7 199.2   4.6
          4.|-- 62-148-189-36-hosted-by.denit.net  0.0%    10  187.9 189.6 187.9 199.2   3.5
          5.|-- 184.108.40.206                        0.0%    10  187.9 188.1 187.9 188.5   0.0

</comment><comment><USER29> It's not very encouraging that they don't have reverse DNS for their own IPs

</comment><comment><USER30> There's also DNS.Watch: [https://dns.watch/index](https://dns.watch/index)

</comment><comment><USER31> I don't think I want to use a DNS server from a company that revoked a domain name from me for inactivity, which is now being used to push pornography.

Also, I love how in their promotional video on the website they say using their DNS service will make your internet usage "anonymous". Lol.

</comment><comment><USER32> Do they support DNSCrypt? If not, what would be the main draw to use this over, say, 188.8.131.52?

<comment><USER33> Using 18.104.22.168 gives google even more insight into your internet habits, even if you're using e.g. firefox on a webpage that includes no google assets at all (no web fonts, no google analytics etc), google will still know you've been there. Whether that matters to you or not depends on you.

<comment><USER34> > We don't correlate or combine information from our temporary or permanent > logs with any personal information that you have provided Google for other > services.

[https://developers.google.com/speed/public- dns/privacy](https://developers.google.com/speed/public-dns/privacy)

<comment><USER35> I have no idea what goes on in google. That said, even if they don't correlate with "personal information that you have provided," you as an IP address are still identifiable as that IP address, and correlatable with yourself, for as long as that IP lasts for you.

Which means Google _could_ cause ads to follow you around, for example. Again, I don't know what all they actually do or don't do with their DNS logs, but the quoted "promise" doesn't promise anonymity, just separation of you as a known Google user from you as a semi-anonymous but specific DNS user.

I'm reminded of the early days of the Snowden revelations, when the NSA was saying "it's just metadata."

<comment><USER34> They do not log the user's IP address. It says so on the page I linked.

</comment></comment></comment></comment></comment><comment><USER36> They could get rid of google-analytics on their site to make it even more anonymous.

</comment><comment><USER37> There is no such thing as anonymous DNS resolution unless we use Tor to perform resolution for all applications.

<comment><USER12> some sort of blockchain based dns would be killer

</comment></comment><comment><USER38> How can we be sure that their claims are true?

<comment><USER39> How can you be sure your own DNS resolver is doing what they are saying?

<comment><USER38> I have no way of doing this currently, the point is just that without some form of verification, I can't be sure that this is any better than what I'm using now.

</comment></comment></comment><comment><USER40> If you want to benchmark nameservers, queryperf is the tool that was designed to do that years ago -- see my presentation at [http://shub- internet.org/brad/papers/dnscomparison/](http://shub- internet.org/brad/papers/dnscomparison/)

EDIT1: The folks at SolveDNS.com also have some interesting reports on some of these machines. Among others, see: [http://www.solvedns.com/dnsspeedtest/freenom.world](http://www.solvedns.com/dnsspeedtest/freenom.world) [http://www.solvedns.com/dnsspeedtest/freenom.com](http://www.solvedns.com/dnsspeedtest/freenom.com) [http://www.solvedns.com/nameserver/ns01.freenom.com](http://www.solvedns.com/nameserver/ns01.freenom.com) [http://www.solvedns.com/nameserver/ns11.cloudns.net](http://www.solvedns.com/nameserver/ns11.cloudns.net)

EDIT2: And also [http://www.solvedns.com/freenom.world](http://www.solvedns.com/freenom.world) [http://www.solvedns.com/freenom.com](http://www.solvedns.com/freenom.com)

EDIT3: And [http://www.solvedns.com/dns- comparison/2016/12](http://www.solvedns.com/dns-comparison/2016/12)

EDIT4: TurboBytes.com also has an interesting page at [http://www.turbobytes.com/reports/dns- performance/#US](http://www.turbobytes.com/reports/dns-performance/#US)

EDIT5: And don't miss the page at [http://www.dnsperf.com/](http://www.dnsperf.com/)

</comment><comment><USER41> Does it support those geoip(?) things? Like I know that Netflix uses "DNS" to provide you with the closest netflix streaming server. So if the DNS server is located in NYC, but I am in SF, then it won't work.

I am not sure what the term for this is, but Google DNS supports it.

<comment><USER15> Doesn't look like it with a cursory test

      $ host cdn.pdcast.net 188.8.131.52
      Using domain server:
      Name: 184.108.40.206

      cdn.pdcast.net is an alias for pdcast-1e5f.kxcdn.com.
      pdcast-1e5f.kxcdn.com is an alias for p-uklo00.kxcdn.com.
      p-uklo00.kxcdn.com has address 184.108.40.206

      $ host cdn.pdcast.net 22.214.171.124
      Using domain server:
      Name: 184.108.40.206

      cdn.pdcast.net is an alias for pdcast-1e5f.kxcdn.com.
      pdcast-1e5f.kxcdn.com is an alias for p-usat00.kxcdn.com.
      p-usat00.kxcdn.com has address 18.104.22.168

My closest server being the "uklo" (London, UK) as reported by 18.104.22.168.

Using 220.127.116.11 means I'd be loading content from Atlanta(?), USA.

<comment><USER41> Thanks. Yeah. I'd not use it then.

What's the tool you used for this? Nslookup?

<comment><USER15> The Linux equivalent of nslookup yeah. I believe nslookup has the same basic syntax for querying a specific server so you'd replace "host" with "nslookup"

      nslookup cdn.pdcast.net 18.104.22.168

</comment></comment></comment></comment><comment><USER42> Nice try NSA

<comment><USER43> From T&C:

> Freenom is a registered trademark of OpenTLD B.V. [...] a Netherlands > company.

<comment><USER44> I'm not saying I believe this is an NSA operation, but it's certainly not beyond governments' capabilities to secretly register foreign companies.

<comment><USER45> Like the FBI spy planes registered to 13 companies... I don't imagine it is much of a stretch to register under a foreign company instead.

Also not saying I believe it is an NSA operation - just providing an example of another 3-letter agency registering fake companies in an attempt to mask their operations.

</comment></comment></comment></comment><comment><USER46> If I had to I'd rather use Open DNS. [https://use.opendns.com/](https://use.opendns.com/)

But I have MonkeyBrains as an ISP, i'm getting 10msec from their DNS resolver.

</comment><comment><USER16> So they are new and their network needs a lot of work. But claiming to be fast is dishonest [https://pulse.turbobytes.com/results/5879a1e3ecbe40377300a80...](https://pulse.turbobytes.com/results/5879a1e3ecbe40377300a80f/)

Also any public recursive that does not do EDNS client subnet does not belong in 2017.

</comment><comment><USER47> What's most important is "trustworthy". The last thing I want is gmail.com to be resolved to another server.

</comment><comment><USER48> What are the addresses of the IPv6 resolvers?

Edit: the resolver at 18.104.22.168 has ipv6 connectivity since I was able to resolve a dns record on a domain with only ipv6 authoritative servers. The queries originated from 2a00:ec8:400:ff04::3e (LeaseWeb Network B.V., Amsterdam).

</comment><comment><USER49> Actually rather slow, at least in the San Francisco area over Comcast.

[https://gist.github.com/xxdesmus/336af4b717fdb719f20e9ef284c...](https://gist.github.com/xxdesmus/336af4b717fdb719f20e9ef284c2249a)

</comment><comment><USER50> If anyone interested in running a DNSCrypt enabled DNS resolver, try [https://github.com/jedisct1/dnscrypt-server- docker](https://github.com/jedisct1/dnscrypt-server-docker)

</comment><comment><USER51> Cool. What exactly does anonymous mean in this context? Why should I use this resolver instead of my router's/ISP?

</comment><comment><USER52> The copyright on the site says 2016. The internet has been around for too long for a hardcoded copyright notice...

</comment><comment><USER53> I don't trust them

</comment><comment><USER54> ummm... Honey Pot Much?</comment>


Show HN: DroneJobs: Find drone pilots near you to help you with your project - <AUTHOR> https://www.dronejobs.co/ <comment><AUTHOR> Hey guys, we're two drone enthusiasts and we made dronejobs.co to help people find someone with a drone near them. Or to help pilots make extra money with their drone.

The website is still in development and we'd love to hear your feedback to improve it the right way.

Thanks!</comment>


Copyright Law Can Fix Artificial Intelligence's Implicit Bias Problem - <AUTHOR> https://papers.ssrn.com/sol3/papers.cfm?abstract_id=3024938 <comment><USER2> I consider it very important to fight bias in AI, but I fundamentally do not understand this article's take.

The thing stopping AI researchers from obtaining unbiased training data is not that we're waiting for laywers to give us permission. The thing stopping us is that the right training data is already hard to find, and unbiased training data is the hardest of all to find because it doesn't exist.

Google, for example, does not need permission. They can acquire and train on basically any data they want if they put their mind to it. And Google is _completely shit_ at deploying unbiased AI. (They write great blog posts and presentations about it! Then they don't do it in their actual products.)

You won't just find a naturally unbiased dataset. The way to fight AI bias is deliberately and artificially, like in Bolukbasi et al. [1]

[1] [https://arxiv.org/abs/1607.06520](https://arxiv.org/abs/1607.06520)

</comment><comment><USER3> The term "implicit bias" is a poor choice here.

First, it only appears in the title, but not the abstract, for good reason: they are not talking about implicit bias, which as a concept only makes sense when contrasted with explicit bias. Humans can have implicit and explicit bias. An AI can just have "bias" (well, at least until we get true human-level general AI, and we'll be able to talk to it and differentiate what it does from what it says it does).

Second, "implicit bias" brings in a lot of unfortunate connotations. It is tied up with the IAT (implicit association test) [1], which is highly controversial. That controversy has no meaning here (again, since there is no explicit bias to contrast it to), it only hurts.

Unless I'm missing something, I can only guess that they use the term to grab attention, which is cynical and sad.

[1] [https://en.wikipedia.org/wiki/Implicit- association_test#Crit...](https://en.wikipedia.org/wiki/Implicit- association_test#Criticism_and_controversy)

<comment><USER4> Quoting the paper, an example of this "terrible" implicit bias is associating men with programming and women with house keeping.

What exactly does an AI that's free from biases look like? Will it presume for instance, that all men and all women are the same, all the time?

How is that AI at all?

Correct me if I'm wrong, but I think the whole point of AI is to find patterns in the data that can help make decisions that lead to a desired outcome.

If you're not using real real world data, are you really doing AI?

<comment><USER2> AI is just a tool, a way to automate making more kinds of decisions. The decisions are not _better_ or inherently _more right_ by virtue of taking a human out of the loop. In fact, they're usually worse, because humans are intelligent for real and computers are not.

But the decisions are automated, and that makes more things possible. And sometimes you need to deal with the effects of automation.

Nobody could reasonably declare an AI "free from biases", but you can work on particular aspects. Here's an example: Meetup de-biases their recommender system so that it doesn't automatically recommend knitting instead of coding meetups if you are a woman. [1]

Yes, in the data, there are relatively more women going to knitting meetups and fewer going to coding meetups, but it doesn't _have_ to use that data or its correlates to make predictions. In fact, it shouldn't. If you do like knitting, it can still learn that from your actual personal preferences and not infer it bluntly from your gender.

[1] [https://civichall.org/civicist/meetup-counters-invisible- sex...](https://civichall.org/civicist/meetup-counters-invisible- sexism/.WdflQbxqvIY.twitter)

<comment><USER4> A little off topic but I find most recommendation systems to be abysmal failures. It's like, as soon as you look into something, they start assuming you're very interested in it, and they don't show recommendations for anything other than things related to what you've looked into before.</comment></comment></comment></comment>


What will life be like in 2020 - <AUTHOR>

As an 80's baby, the greatest technological marvel I can remember is the advancement of the internet.  The article listed here yesterday made me wonder -- What are your predictions for 2020?  Here's mine:
1. artificial limbs controlled with the mind.  There are already advancements in this area, and I am interested where it'd go in 10 years.
2. solid state fuel cells are the main power source for vehicles.
3. 1 Terabyte thumb drives are old news.  They are commonplace.
Add your predictions! <comment> alan-crowe Telepresence will displace business air travel

<http://www.cawtech.freeserve.co.uk/gf-abs.2.html>

</comment><comment><USER2> Matrix like immersive realistic second life... but non-invasive. (no metal rods stuck down your neck)</comment>


Paris Wants to Grow 'Urban Forests' at Famous Landmarks - <AUTHOR> https://www.citylab.com/environment/2019/06/paris-trees-famous-landmarks-garden-park-urban-forest-design/591835/ <comment><USER2> It's just a PR coup by the current mayor, who has obviously nothing better to do.</comment>


Ask HN: What do you think of Taleb's "Antifragile" concept? - <AUTHOR> Have you made any changes to the way you live or work as a result? <comment><USER2> Yes. When I first heard about it (on EconTalk in early 2012) I was at a crossroads regarding my business and life, and the antifragile concept convinced me that the harder/riskier path was the best one, as even if my business failed, the lessons I'd learn would make me far stronger and more capable than if I took the easier path.

Six years later, that one struggling company is now two successful companies, I'm in a strong financial position personally, and I've learned unique insights that could have a major, broad impact if I continue on this path.

</comment><comment><USER3> Antifragile seems to be basically a remarketed version of "complex networks". Networks which have dense connection and removal of nodes doesnt change network radius by a lot.

Complex societies can be graphed as network and complexity would be evident in network structure. So results would hold i guess. I usually find talebi very verbose

</comment><comment><USER4> The more you optimise something, the more fragile it gets. So to make something antifragile, you have to make something far from optimal. That book really didn't inspire me like some of his earlier work.

<comment><AUTHOR> Do you have a particular recommendation? I just started antifragile and havent read any of his other work...

<comment><USER5> Fooled By Randomness I would read first for sure.

</comment></comment></comment><comment><USER6> It was only yesterday that I wrote up my thoughts about Taleb's ideas and how the apply to software development.

tl;dr

antifragile is testing, fuzzing and chaos engineering

skin in the game is devops

[http://petr-tik.github.io/talebian-software-development.html](http://petr- tik.github.io/talebian-software-development.html)</comment>


Show HN: Hybrid Cloud Networking with WireGuard - <AUTHOR> https://trustgrid.io/solutions/trustgrid-for-wireguard/ <comment><AUTHOR> Though we've relied on TLS tunnels universally this required a node on each end of the connection. Great for management and availability, not so great for ease of use and cost. With Wireguard users can manage their own endpoints and still expose networks/hosts into our virtual network overlay.</comment>


Whopper Sacrifice: Ditch 10 Friends, Get a Free Whopper - <AUTHOR> http://www.sogoodblog.com/2009/01/07/whopper-sacrifice-ditch-10-friends-get-a-free-whopper/

<comment><USER2> You can't deny that Crispin Porter has some brass. They come up with some random ideas, but if it will get people talking, they dutifully see through to completion.

I still can't believe they actually commissioned Burger King video games for the Xbox for a store promotion and made a full book for their Angus Diet campaign.

</comment><comment><USER3> brutal.

Dear Ex-Friend, You have been dropped in exchange for a 10th of a $3 burger prepared at a fast food chain by pimply teens. That's right, you're not even worth 30 cents to me. Goodbye. My life is truly, marginally better without you.</comment>


Show HN: PaletteList – Generate 10k color palettes after picking 2 colors - <AUTHOR> https://www.palettelist.com/ <comment><AUTHOR> Hello Matt here, a friend of mine and myself built this website to make it easy for developers and designers to find colors for your projects. It's built with React and Ruby on Rails, hosted on Heroku. You can download palettes in CSS, Sass, and SVG.

I was frustrated with current solutions so we built PaletteList.com. I also built [https://materialpalette.com/](https://materialpalette.com/) for Material Design colors. I hope you like it.</comment>


Ask HN: How do hackers make friends? - <AUTHOR> I've been a CS major at an engineering university for about eight months now, and I don't have any friends. I'm a web engineer who's really passionate about design and UX, and I've joined a few "computer" clubs, but I feel like I have hundreds of acquaintances but no friends. Everybody else seems to have a great time with their friends, and only talk to me about academic things (or how the weather is), etc. I've never been invited anywhere, hung out with anyone, celebrated someones birthday, had a meal with someone except my roommate, or just done something fun with another person. Sometimes I hate other people for ignoring me but mostly I just wish that people would accept me as a peer.
I've gotten so lonely that for the past three months, every Friday and Saturday night, I've walked aimlessly around campus for hours, hoping to find a friend since I don't have anyone to talk to. I'm just desperate for someone to like me enough to do something with me, or think that I'm more than just someone to say "Hi" to in class. It doesn't help that I was diagnosed with Asperger's syndrome when I was 16, which obviously makes things tougher, but I'm sure many hackers face related problems in finding similar interests. I have no physical impediments for social affairs (I'm tall, take care of my health and exercise regularly).
If you guys could offer any tips in terms of ways to turn acquaintances into friends, or how to be more social, I would be very grateful. I'm feeling more and more depressed every day because of this and it's starting to make me lose hope for my future. <comment><USER2> It's hard. I'm not sure what to say, and can't promise to be an authority, but here goes.

I've always felt like I have very few __friends__, and many friendly acquaintances. I'm not sure I can tell you how to make them: in some cases it was as simple as finding another nerdy kid with whom to talk about things (computers, math, puzzles, chess), and in others my close friend said, "This is ___.", and at some point (years later) I realized that I was good friends with the guy he had introduced.

Are there things you like to do besides programming? Do you have interests in science fiction, movies, or the outdoors? You might try team sports (like ultimate frisbee) or computer team contests (ACM, I think?). Consider going to clubs, or looking for other people that are similarly as secluded as you, and talk with them. (It's hard. I'm terrible at it. Sorry I can't give better advice.)

People aren't (usually) friendly with you because you are inherently awesome, or they are your perfect friend -- rather, people will want to hang out with you if _they_ feel that you care about them, about what they think, and about their wellbeing. That is, you are acting like a friend to them. I'm not sure how to tell the difference between someone acting like a friend to you and __being__ a friend, but the former seems to come as reciprocity. (I likely don't understand this at all!)

I've found friends (and my wife) in the SCA (history nerds) and while playing games online -- not because I went there to find friends, but because I found people who shared a common interest, and who for some reason were interested in sharing their thoughts and time with me. Most often, my friends have been within my peer group at the time (most of my friends now are parents, like I am).

See if you can find something to do that involves time with other people, where everyone has a plausible pretext for being there together. Whether it's your campus film club, computer club, people who already share something in common with you are more likely to engage in small talk. If you have Asperger's, that may be hard. Consider listening, rather than trying to "solve" when they share problems. Ask questions, find out what they like. I'm not even sure how to do this - I've found most of my (few) friends by accident.

<comment><AUTHOR> Thanks so much for your response. I guess I've been thinking if I was "inherently awesome" that people would want to hang out with me. Sadly I'm not the best at empathy and showing that I care about people. I'm thinking about asking someone I sit next to and talk to in my math class every week if they'd like to hang out some time, since at least that shows that I care to a certain extent.

<comment><USER3> Here's a tip that's worked well for me. Avoid asking "Would you like to hang out sometime?" The reason being that it is easy for the person to say "yes" but never act on it.

Instead, make it easy to convert their "yes" into an actual activity by arranging the activity before asking them. There are two ways to do this:

1) "Hey, I'm planning on seeing Jurassic Park 3D on Friday, would you like to join me?"

2) "Are you planning on doing anything fun this weekend?" (if they respond with some activity that you're interested in) "Oh, that sounds cool, would it be cool if I tagged along?"

Obviously you can replace seeing a movie in option (1) with any interesting activity. The key in both of these cases is that you make sure you have concrete plans to actually do the activity. If they agree, offer to call them to meet up at a convenient time/location.

</comment></comment></comment><comment><USER4> _I've never been invited anywhere, hung out with anyone, celebrated someones birthday, had a meal with someone except my roommate, or just done something fun with another person._

Oh dear, sorry to hear that. I'd invite you out but I'm on the West Coast.

Well, what you are going to have to do is start inviting other people out. When you're talking to an acquaintance that you find interesting, propose a dinner date or some other relevant activity (eg if they say they're curious about a movie or some upcoming sports game that you might also enjoy, propose going together). If you're not sure what a person is interested in, or don't know much about them, ask - when's their birthday, what do they think of that upcoming movie you're intersted by, what type of movies,/music/activities they like in general. Don't interrogate them, obviously - limit the number of guestions and give them time to answer.

You can also be frank about your own difficulties; mentioning Asperger's may sound like a medical problem, but it's perfectly OK to say 'I'm bad at finding cool places to go' or 'I'm bored hanging around the campus all the time, do you know of anything cool going on next weekend?' without making people think of the word 'syndrome.' And make plenty of time for listening to others (which I had to learn as a skill), because often they'll tell you about similar challenges they face. You _don't_ need to have solutions for those challenges; eg if your acquaintance also mentions that s/he doesn't know anywhere cool to go, you could say 'let's just check out some place at random next weekend then.' It's OK to be shy, and to say that you're shy. If you're in a conversation and can't thinkof what to say, _it's fine_ to say you don't know what to say. Social awkwardness is normal enough that nobody's going to hold it against you for admitting to it from time to time.

Think of friendships as a bit like gardening - you plant some seeds (make acquaintances) and you need to water them (regular social contact, pleasantries, small talk), but it takes a while for them to break ground and start growing up out of the earth, and staring at them won't make that happen any faster. So for the time being, just keep being good to your existing acquaintances, and display your interest in getting to know them better. Sooner or later you're bound to discover mutual interests, and once you have something to talk about in depth it's easy for a relationship to grow from there.

</comment><comment><USER5> One piece of advice that I really liked was in David Kelley's book about the virtue of benevolence: treat strangers like acquaintances, treat acquaintances like friends, and treat friends like family. Building relationships with people is a progression, and one of the two parties has to make the gesture to become closer.

In short, don't wait for acquaintances to treat you like a friend and ask you to do stuff, treat them like a friend and make the first move.

</comment><comment><USER6> I'm going to play devil's advocate here and say that it's a good thing to be lonely.

Some background: I'm fifteen years old, have but one friend, and never attend any parties or the like. I spend most of my time banging out code in front of my laptop.

Is it lonely? Certainly. Does it feel crushing, unbearably melancholy? Yes, it does. But I love it. You have so much time for productivity, so much time to do things _you_ love, rather than having that time spent whilst pandering to the whims of others.

No girlfriend. No best friend. I tend to keep my distance. Ulcerative colitis doesn't help my cause much. But being social is something I see as a thing of my past. It's replaceable. Sporadic.

Learn to love loneliness. It's the only thing that will consistently love you back.

<comment><USER7> Not to be pedantic or anything, but I wouldn't necessarily _expect_ a 15 year old to have had a girlfriend or have gone to parties in the past. But as you grow older, the desire to have a girlfriend only _increases_ , it doesn't decrease.

While it is good to be someone who doesn't mind loneliness (as I am), I long ago understood that human relationships are incredibly important and powerful. Opportunities present themselves to you through other people. The most enjoyable experiences in my life have involved other people.

The ironic thing is that if you ever freelance - the epitome of not talking to other people (because you get to work from home all day), your "network" becomes even more important than ever, because that is how you get new work opportunities. And unless you want to be condemned to forever having to apply to jobs through an application process (hint: highest chances of getting rejected), social relationships matter.

I cannot tell you how many times people remembered me and thought I was an interesting person (and the opportunities that presented themselves through these associations) simply because I come off as very articulate, opinionated, and curious. The mechanistic "trick" to doing that is to keep asking people questions and then run a "pattern matching" algorithm whereby you see if anything you know or any stories you know relate to their answer, and then you relay that back in your reply.

Again, I don't want to be a downer, but as you grow older, social relationships only _increase_ in importance. The ironic thing is that as its importance increases, the surface area of opportunities for new social relationships decreases.

</comment></comment><comment><USER8> I would recommend developing some hobbies, and joining some groups and clubs. I was involved in my university's outdoors club, in karate club, and in several types of social dance. I recommend all of these, or any other activity that piques your interest. But try something genuinely new, not just a computer club, gaming club, or other club populated by like-minded people.

These are all great ways to meet a diverse range of people. They are not just about "hanging out" (which can sometimes be awkward for an introvert), there is something to _do_ , and something to focus your attention on if you don't have anything to say.

Volunteering can also be great, but pick some volunteer organization that does actual work, like Habitat for Humanity. (Beware of volunteer gigs with a lot of volunteers but very little work. These are fun for extroverts, but perhaps not for you.)

Also, as other posters say, just try inviting random people to do random things. You will learn the pain of rejection (don't try to avoid this). But sometimes the responses will surprise you, and open doors you never knew existed.

I understand exactly what you're thinking. You can succeed. Good luck to you!

</comment><comment><USER9> I've always been in that weird zone that I could go out partying with the cool kids.. but never enjoyed it. Going into a club and I'd always ask myself "Why the fuck am I here, I hate this place.". And that's my only regret.. I should have spent more time in the "Linux group" or hacker meetups. This is the folks I always liked and had fun being with. Why am I telling you this? Because screw the apparences. If you like design, UX, and have been diagnosed with Asperger's (I'm definitely a bit aspergers too!), well, you should definitely hit more UX / design / hacker clubs. Working on a cool project and giving a talk of it definitely help to spark discussions.

Also, it's not in the quantity. Find a good team to start working on cool projects, and they'll soon be your best friends. Don't force it, just be yourself and try to be nice.

One last suggestion: Offer yourself as a volunteer for events that you care about! Not only you'll get to meet awesome people, but you'll also have some privileged moments with well-known speakers and organizers.

</comment><comment><USER10> > _I've never been invited anywhere, hung out with anyone, celebrated someones > birthday, had a meal with someone except my roommate, or just done something > fun with another person_

Take initiative. Find events happening that sound cool (school calendar, city calendars, local bar calendars), and invite other people out. Ask people if they'd like to grab lunch, or if you can join them at their table in the dining hall. Acquaintances become friends mainly through repeated exposure and one-on-one interaction.

> _for the past three months, every Friday and Saturday night, I've walked > aimlessly around campus for hours, hoping to find a friend_

This is much less likely to succeed than by attending something that's _meant_ for people to make social connections. Join clubs (activity groups, meetups, etc.). The more people you regularly interact with, the more likely it is you'll make a connection.

Your school wants you to succeed at this, and you should take advantage of the resources they provide to do so. Ask your RA if he knows of anything fun happening this weekend. Tell them you're looking to make new friends and could use some recommendations of events you should check out. Tell your professors you're really interested in connecting with people who'd like to collaborate on UX projects, and ask him if he knows any other students who are taking the class because of more than just credit. Ask people in the Student Life committee which events are most likely to have people attending who want to make new friends, rather than people attending with existing friends.

And if you're feeling depressed or having difficulty connecting with people you'd like to be friends with, talk to counselors in the student health center. Like you said, many young engineering students face problems like these -- they will have advice both specific to you and from helping hundreds of students like you.

</comment><comment><USER11> I went to 5 different high schools before college.

Here are some tricks I found 1) Join or walk into clubs randomly(It's fun) If you feel particularly crazy change your name each time.

It will probably be easiest to walk into 1) book club 2) anime or 3) math/science club 4) syfy club Most of the time these clubs have very simple(or atleast straightforward) agendas and will contain lots of introverts.

If you see someone passionate about something ask about their opinion.

For example "What is your opinion about the most release book, science, topic, etc?"

In college I have had some of the coolest discusses in my Speech class. Some schools combine it with English, but if you can take a Speech class try to. Now it depends on what you find interesting, but it has brought up a lot of fun discussions.

Find a Linux/Hackers group. If you don't have one at your current school, check at the website for a close Community Colleges. If you are lucky they will sometimes have some pretty cool veterans heading the group that remember the good ol' days.

</comment><comment><USER12> First, don't give up. Your not the only one who faces such issues, trust me. And you may not feel it, but it's brave of you to ask for help.

I am an introvert, didn't really interact with people much when I was younger, but when I got older I found that roleplaying games, specifically live action roleplaying dramatically improved my social skills, taught me how to interact on a team, how to lead, etc. It's geeky, but that shouldn't frighten you, because you will meet people with a range of social skills. One place you can check is owbn.net, see if there are any games near you.

gknoy suggests the SCA which is another good way to meet people.

The other thing you could do is involve yourself in the internet, and socialize that way. Join a group minecraft server, or second life, or something. Even interacting on forums or subreddits.

Finally, try hanging out in the computer lab. Maybe help people. Become a lab tutor... that's one way to have a built in group of people to interact with.

</comment><comment><USER13> Hey,

You mentioned that you are somewhere in New York State.

Send me an email (address in profile) with your college.

I'm actually in a similar situation (i.e. passionate about programming but lacking in the social areas) and will most likely be going to an educational institution in the state of New York next year.

If you're attending the one that I plan on attending, we can help each other out.

<comment><AUTHOR> Sweet, just sent you an email.

</comment></comment><comment><USER14> Might sound a little unorthdox, but I'd recomend Dale Carnegie's "How to win friends and impress people". I started university somewhat socially awkward and feel the book helped me better capture social nuances. Worth a shot.

Sorry you feel that way, feel free to PM. Promise I won't ask about the weather.

</comment><comment><USER15> Do you have any interests/hobbies outside of CS? There's probably clubs for every interest you can think of at your college. Even if you don't have any strong interests, just be open to try different things. Some people here suggested reddit, secondlife, and online gaming - you have the rest of your life for that but your college years will go by before you know it so really take advantage of what your school has to offer first. I was extremely introverted in college as well so i can definitely relate, happy to talk more, contact info is in my profile.

</comment><comment><USER16> I never interacted much with others in CS courses until my last year. I took Japanese, though... you are forced to talk to others in language courses, and have plenty of opportunities for fun (mistranslations, lots of confusion, etc). Figure out which language department is the most fun in your school and give a 101 course a go. It lead to me studying in Japan for a year, which was some of the best times I had in college.

</comment><comment><USER17> Go to your local 2600 meeting.

Or, find a volunteer group; they all need computer people.

Then expand your role to something that requires people interaction.

Otherwise, you'll get the mushroom treatment: they'll keep you in the dark and feed you cow feces.

Either way, you'll get to practice socializing, which is a skill like any other (think of it as learning to code recursively) and get to meet some new people, some of whom might become friends.

</comment><comment><USER18> Where are you located? I can relate to how you feel. I was like that for few years until I finally find few close friends (not long ago).. Sometimes, I even think finding a good friends depend on luck.. Are you freshman at your university? When I was in my first year, I was very lonely as well. Anyways, add me on gtalk.

<comment><AUTHOR> Hi, unfortunately I'm located in New York state. I am a freshman.

<comment><USER19> There is a small chance you attend the same university I do. If you do, message me (FB, twitter, email... I don't care). I'd be happy to grab a coffee or something.

</comment></comment></comment><comment><USER20> I immediately thought of this blog post when I read your comment - [http://joethepeacock.blogspot.com/2012/04/thats-why-you- dont...](http://joethepeacock.blogspot.com/2012/04/thats-why-you-dont-have- any-friends.html) I've experienced your situation and have always found this uplifting.

</comment><comment><USER21> Start a club. Run an event. Get yourself in a position of power, you might even become popular, but you still mightn't find any friends. Do outreach for an organization of some sort. Run stories for the college newspaper and interview people. Try to get press privileges.

</comment><comment><USER22> Preamble: I am 28 years old and have returned to school as a full-time student. I am finishing my first year. I live on campus as an RA and am in freshman level classes. I feel like I can offer a unique perspective to you, here are my thoughts for whatever they are worth.

Don't discount your relationship with your roommate. I know you are looking to other people, and thats fine, but if you two get along that is important. My first time through college was the typical drink/party/girls experience. I made friends and lived with the same group of guys all 4 years. Now, 5+ years later, there is ONE person from college that I am still close with. He is the only one I consider a "life-long" friend. After school he moved in with me and got a job at my company. He met his wife at work, they moved to Cali then to Chicago. They're doing great. A single friendship can make a huge difference...also, this friend and I didn't even know each other freshman year.

Freshman year is tumultuous. Many of the people you see all buddy-buddy right now will hate each other before the end of next year. A lot changes during college and much of it in first two years. Don't stress about friends too much yet, nothing is settled, it just APPEARS to be settled.

Don't try too hard. This will sabotage your efforts. In my first freshman year I had a tough time when my group of friends started mixing with this other group and those new kids didn't like me very much. I tried so hard to earn their approval and be a part of the group but nothing worked. Eventually I got flat-out fed-up and angry. I said "F __* them." I started doing my own thing and almost instantly they responded with acceptance. Kids can tell when you are trying hard to make something happen and, for whatever reason, they respond negatively to that. Do whatever it is you like to do, do it well, be proud, be confident, be pleasant and people will gravitate towards you. This will create opportunities for you to create a relationship.

PLEASE don't internalize this. What you are going through does NOT mean people won't/don't accept you or people don't like you. It just means that you haven't made the right connection yet. Making friends is serendipitous to a large degree, the right comment at the right time, a well placed quip, etc. Things come together and it just happens.

And now for some advice,

In high school I moved from the east coast to the west coast for my father's job. I had never had to "make friends" before. I experimented and ranked the best ways to "make friends" They were: talk about sports, talk about music, talk about movies. I'm a big movie fan so I used movies a lot. Quoting movies is an incredibly effective way to start conversations. I still use it to this day. (I don't know what you kids watch these days, the harry potter and whatnot but for me its lots of Jurassic Park, Star Wars, and American Psycho.) They can be obscure quotes and/or obscure movies, whatever. Quotes are good because when someone else recognizes the quote it says "you and I like and notice the same weird/funny things." without saying it. You don't need to be funny or over-the-top about it, just throw it out there and see who responds. If no one responds don't feel awkward, its just something you've seen that they haven't.

This year I have found the after-class-food tactic seems to work pretty well. Towards the end of class, when you are packing up ask someone if they want to get some food, I have found that most kids without another class head to the cafeteria. This is an easy, low-pressure approach.

Practice, practice, practice. Socializing is a technique like a golf swing. Practice makes perfect. Try different things out, now is the time to do that. You will crash and burn sometimes, THATS OK, everyone does. Those crashes will mean nothing to you looking back. Just keep practicing and you will get better. Remember what works and what doesn't. Incorporate and adapt.

I hope some of this helps, I tried to be honest and straight-forward. I'll leave you with this postamble,

I've lurked on HN for quite some time now. A couple years I think. I've never posted anything because I've never felt confident enough in any of my thoughts to broadcast them to such an intelligent and awe-inspiring community. This is my first post because I feel confident in saying to you that it will work out. I can see just from what you've written that you have good things to offer. It's in the honesty and thought of your words. I know this is important to you but don't stress too much. Don't get too caught up in it. It will happen for you.

Please feel free to message me if you want to talk more.

</comment><comment><USER23> Find the juggling club. There probably is one. Learn to juggle. It's an intensely social activity (juggling clubs and conventions) usually filled with interesting and diverse people.

</comment><comment><USER24> Why not join clubs at uni doing what you like to do? I found friends at uni playing chess, taking swimming lessons and working on tough team assignments.

</comment><comment><USER16> Have you considered study abroad? In a friendly country, people will initiate conversation with you just because you're from a foreign culture.

</comment><comment><USER25> I'm in MA, go to school as a Computer Engineer. I go to NYC every so often. Hit me up on Skype: knowledgegranted.

</comment><comment><USER26> making friends is a contact sport. The more contact you have, the more likely you are to land a true friend. Also use reciprocity. Help out at a community center, invite an acquaintances to movie, be genuine.

</comment><comment><USER27> Hey bro hit up on my Skype still_x_i_rise. Lets talk about whatever lol

</comment><comment><USER28> ( _disclaimer_ ) This is not for everybody ( _disclaimer_ )

If you walk alone on a street you probably don't interact with other people, but if you walk the same street with a medium-sized or small dog this is a very different history. Is very curious but a lot of small talk is generated with other people, even strangers, specially with other dog owners. If our dog looks well cared, not specially dangerous, healthy and happy a lot of people will hang around to touch him, and will talk with you.

A dog is not a toy, is a responsability, with expensive vet bills, food, maybe the urge to bark "hello world" in the middle of the night, and needs two walks each day, (even if you wake-up sunday morning after a party with a big headache). But if you feel alone and depressed and you can have one in your house a good dog is a powerful antidote for both, one of the best antidotes of the whole world in my opinion.

Every owner of a dog need to deal with the cleaning of dog faeces. This means to carry with you a plastic bag and a pair of gloves every time you exit your home. Don't forget this. Travels and hotels can require also some special measures.

A more easier option that could fit better for you is a ferret.

Advantages: don't make much noise, needs only about an hour of attention/day, You can have it safely in a cage in your house, they sleep most of the day whereas you work in the computer

Problems: can bite when angry but the main problem is the odour. They smell, specially in the mating's season. The problem is much avoided if the odour glands are extirpated. If you have only a female you need to assure either to breed or to sterilize her (The ferret females can die by "lack of sex", sounds funny but is very sad to see). Ask in the pet shop.

Ferrets feel the urge to explore any hole in the floor, (including WC's) or any crevice in a wall. Don't permit this, you can lost your pet. Use an harness to stop the small livingstone.

They steal and hide also any thing that they found interesting for a further review, from potatos to plastic caps. Under the beds, etc.

See also: <http://www.seniorlink.co.nz/interests/pets/ferret.shtml>

Cats: I say ferrets and not cats because you can walk a ferret in the park with a harness, but if you walk a cat you will be a little more in the weird side, with the spider, snakes, cricket and lizard's owners. Cats are cool and a great theme of conversation; You can atract all girls in a mile if you have a small kitten in your hand (is a scientific fact), but this kitten will grow, escape and do some nasty things with your curtains some day. Different advantages and problems.

Any small mammal, like a fancy mouse, can make you feel better and help you to generate a conversation. But they are rarely carried or seen outdoors.

Just remember that you need to implicate and care any pet, and this can lead to some troubles or discomfort in your life. There is not a thing like "the perfect pet" (maybe fishes?).

</comment><comment><USER29> They don't.It's a lonely life..

<comment><USER30> There's something pretty universal about making friends. Rarely, if ever will people come up to you if they don't know you and invite you out. I made a point of doing it when I saw someone sitting alone at the dining hall, but it's not something that happens often.

People you know don't invite you out because they don't know that you like them. Invite THEM to go catch a movie, or play pool, or grab food. Why on earth would someone want to hang out with you if they don't even know that you want to hang out with them?

Stop relying on other people to be friends with you, go out and be friends with other people. Be that guy.</comment></comment>


Live Literate Programming [video] - <AUTHOR> https://www.youtube.com/watch?v=HW7sqMjTkI0&feature=youtu.be <comment><USER2> For _me,_ it seems that liveness and literacy are in some tension because liveness allows acting without the intent of producing a document and literacy facilitates an intent to produce a document.

I think the tension may revolve around scope. For example, liveness allowing a document's text to be translated from Hebrew to English seems more likely to be consistent with the an author's intent. Liveness that allows changing "In the beginning" to "Check out my new website" seems less likely to be so. The tension is that the scope of liveness which is appropriate in a particular case will vary. An author may want to allow the transformation to "check out my new website" but not "The future is already here."

In a truly live system, the rules for what is and isn't alive would also be alive. It's turtles all the way down...until you get to StackOverflow or something something static. The tension, at least for _me_ is that the system has to decide where the liveness stops and like abstractions, adding one more layer of liveness is always attractive to a systems architect.

The alternative where liveness is added by the author and things default to dead may be better for many use cases and perhaps what is needed are better tools for adding liveness. Some of the use cases I am thinking about are situations in the same class as an Excel spreadsheet executing malware. Part of what makes this plausible _to me_ is that this --interactivity enabled explicitly by the intersection of author and reader permissions -- is the way Emacs org-mode works. And org-mode is relevant to this particular video because it was used to prepare the interactive presentation {mentioned somewhere between 40:00-45:00 in the video}.

<comment><USER3> I agree that there are times where you want to nail things down so they cannot be changed. It's just that it's easier to restrict the behavior of a live system than to customize a "dead" one. Hence liveness needs to be at the foundation.

<comment><USER2> I had not yet listened to the QA portion of the talk when I wrote my comment, so maybe I did not entirely account for how much my take might have been a response to what was said for effect...and now I have also had a bit of time away from my comment to think a bit more.

Openness may be a third axis that relates the design of platforms/systems intended for liveness and literacy. A sketch of contrasting approaches to openness might be between Emacs and a traditional Smalltalk IDE. Emacs is open in the sense that the designers designed the tool around user customization and extension. Smalltalk IDE's tend not to have that as a first order design principle. Over the long haul (openness in Smalltalk seems to happen at a different layer of abstraction). I think it may be more practical to add liveness to a programming tool with openness as a primary design goal than openness to a programming tool with liveness as a primary design goal (with the premise that openness is not also a primary design goal of a particular programming tool).

</comment></comment></comment><comment><USER4> I found the video did describe live programming quite a bit, but it was not clear to me how this was a merger with literate programming.

In my journey into literate programming, a large portion of its benefits is being able to sculpt the story into a well-ordered fashion that works for humans. That is, I think of it as a path of stepping through the plan and into the details.

In the talk, it seemed that the live portions would start with editing various final details with perhaps a literate description of the widget, but the widget's relation to other stuff seemed to be less present. This would be more like going up from the details and maybe up into a plan, a direction which I feel is rather typical non-literate programming.

I do think that live programming is useful in literate programming, particularly in more stylistic choices (such as choosing font-sizes if programming up a document display system) and simply making the check of working speedier.

What could be an interesting intersection of the live widget editing is if in editing a widget, the whole design hierarchy leading to that widget became visually available. In similar fashion, the widgets being in a hierarchy already would naturally create a placement for a new widget, encouraging higher level explanation of the widgets in the appropriate human story place while allowing for spur of the moment changes and additions.

The biggest danger in literate programming is the same danger as in other programming styles: modifying the plan in mid-coding and not sufficiently documenting that.

<comment><USER2> There were some explicit examples early in the talk: the mention of Java Applets in web documents and the creation of inline buttons in StrongTalk. The discussion of WYSIWYG a bit further along seems somewhat related to the intersection of literate programming and interaction.

My sense is Bracha's presentation asymptotes toward literate programming more from the programmer side versus from a starting point writing prose. My utterly unsubstantiated suspicion is that Knuth's asymptote was more from the direction of writing prose since a substantial proportion of the code he writes seems to be to be to support his prose writing habit...or to put it another way, Knuth seems to have a strong sense of self-identity as a writer as well as a programmer. But I could be wrong on both counts.

Or to put it another way, one concept (among many valid concepts) of literate programming might be literate programming as writing _about_ code with the intent that all the examples run as a meaningful program or library. That is as an extension of writing an article or book about programming. That's a bit different connotativel y from approaching literate programming as a different way of writing programs or libraries...even if the end artifacts of a prose document and source file(s) are logically similar.

</comment></comment><comment><USER5> Abstract: Literate programming was conceived by Donald Knuth in the 1970s. Live programming has its roots even earlier, but the classic examples date from that same time. Both live programming and literate programming are now experiencing a resurgence. While these ideas were introduced separately, the two were made for each other from the start. This talk celebrates their happy, literate and live marriage.

Bio: Gilad Bracha is the creator of the Newspeak programming language and a software engineer at Google where he works on Dart. Previously, he was a VP at SAP Labs, a Distinguished Engineer at Cadence, and a Computational Theologist and Distinguished Engineer at Sun. He is co-author of the Java Language Specification, and a researcher in the area of object-oriented programming languages. Prior to joining Sun, he worked on Strongtalk, the Animorphic Smalltalk System. He received his B.Sc in Mathematics and Computer Science from Ben Gurion University in Israel and a Ph.D. in Computer Science from the University of Utah.

SOURCE: [http://2017.programmingconference.org/event/programming-2017...](http://2017.programmingconference.org/event/programming-2017-keynotes- live-literate-programming)

</comment><comment><USER6> a TL;DR? with a video where the projected screen can be seen? a more on the point demo?

<comment><USER3> I'm very sorry that the recording doesn't show the screen properly. Especially for this talk, where the demos are crucial. I may have to recreate the talk as a screencast.

<comment><USER3> FWIW, I made some videos of the demos; these are linked to from [https://gbracha.blogspot.com/2017/05/dead-programs- society.h...](https://gbracha.blogspot.com/2017/05/dead-programs-society.html)</comment></comment></comment>


Ask HN: Best non-apple laptop screen? - <AUTHOR>

Although the general quality of laptop screens have dramatically improved this last couple of years, while comparing to macbook/pro (or even a solid desktop IPS ) screen  it still seems that most ultrabook (even expansive one, looking at you X1 carbon :) ) can't quite match. What the best non mac screen out there for programming? I use laptop mostly for coding and reading online so for me quality is about deep contrast, high brightness and non saturated accurate colors. PS : nothing below 1080p (thanks god this is starting to become the norm now) <comment><USER2> My System76 Galago Pro has a 1080p matte screen. When the weather is nice I like to work outdoors. With a shiny Apple screen this is virtually impossible.

I believe the Galago Pro and most other System76 models are actually customized re-branded Clevo laptops. Another company that offers customized Clevos is Sager. You can buy Sager latops online from Xotic PC. My last laptop was Sager and it also had a 1080p matte screen.

By the way, my laptop costs a fraction of what I would have paid for an Apple laptop with the same specs. It's also extremely light.

My laptop doesn't overheat and spin its fans so fast it sounds like an airplane taking off. I didn't have to buy any stupid adapters to use ethernet and I'm not vulnerable to two major security issues that are all over the news lately (I'm looking at you, MacBook Pro).

Good luck.

</comment><comment><USER3> Lenovo Thinkpads do often have very good matte screens. My previous T520 and T530 machines' 15" 1080p screens were excellent, and my current T450S 14" 1080p IPS is even better (all machines generally excellent on all other counts as well). T450S is shaped like a rectangular prism rather than a wedge, but is still called an ultrabook at 3.5 lbs.. I frequently use retina MacBook screens for brief spells, and I'd say mine is better :)

<comment><AUTHOR> Interesting! I am actually using a T440s as daily driver and i though it has the same screen as the T450s. Mine is the touch screen version though, so maybe that makes a much bigger difference in screen quality than i tought

<comment><USER3> Indeed, mine is _not_ touch.

</comment></comment></comment><comment><USER4> The Chromebook Pixel 2 has a fantastic screen: 2560x1700 (about 239dpi), excellent contrast and color, great brightness range, and it even does multitouch if you care about that. Also the aspect ratio is 3:2 rather than 16:9 aspect ratio, which is proving to be quite nice.

Plus the battery life on this thing is so good it's hard to believe. Like 12 hours.

</comment><comment><USER5> I have that x1 carbon. Figured why cheap out on something I use everyday.

<comment><AUTHOR> Yeah that was the laptop i was getting initially, but the screen is just not up to my standards

</comment></comment><comment><USER6> Now Apple equips macbook only with shiny screens: you can't buy a macbook with opaque screen, like some years ago. So I suggest to use a external monitor as me.

</comment><comment><USER7> If you recognise MacBooks have high quality screens, why not just buy one?

<comment><USER8> Not everyone wants to pay the apple "tax" just to have a quality display. Although I work on a Macbook, Apple gets a solid premium for what goes into their laptops so the OP may just be trying to get a better value for his money.

As for me, I'll stick with my Macbook for now because of the work I do and that fact I really do appreciate the hardware and I don't mind paying the premium.

As for others to check out, I saw a really nice display on a Samsung laptop not too long ago, not sure the specs but man was it super crisp.</comment></comment>


Best time to post on social media? - <AUTHOR> http://blog.jasonsamuels.net/post/22723944499/best-time-to-post-on-social-media <comment><AUTHOR> In accordance with the guidelines I posted the direct link to the original blog post from bit.ly, but it was DOA. Bit.ly is one of the banned sites on HN, so I found this blog post about it instead.</comment>