skysight-inc/HackerNews huggingface dataset:
Considering how ridiculously cheap an anonymous VPN service is these days I am surprised how many people do not use them.
No. I'm just saying the old days are not always as we remember.

I've never been a huge Simpsons fan: I like the show, but I've never gone out of my way to watch it. I also didn't watch it back during the old days because growing up in rural VT we didn't get a Fox affiliate.

But last month when FXX did their every Simpson marathon, I was home with a non sleeping newborn, so I watched a lot of Simpsons. I probably saw around 70% of the episodes. When I occasionally slept, I dreamed of yellow people.

From my perspective, it was all pretty good. The tone changed over the course of the show, and I can see how people who grew up with the original version may not like the new, but I still don't think the newer episodes are the terrible dreck they are often made out to be. They're just different.

I've just read through Zombie Simpsons, and while it makes a compelling argument, the facts don't seem to bare it out.

Take a beloved episode like the monorail one. This is a beloved episode, it makes everyone's best of lists. But in the end, other then an entertains song sung by Phil Hartman, it's fits into the mold that Zombie Simpsons characterizes as bad. Homer gets a new job, a larger part of Speingfield is destroyed, and it's terribly unrealistic.
Most devices will connect if the SSID and the security protocol is the same. If they set up a network with the same SSID and security protocol, using the same password (that they asked the waitress for!), then devices will automatically connect to it.
I didn't know that Reg came out with another book. Allonge is really good. I have high hopes for Spessore.
Could someone who can parse (reverse engineer?) this write up an explanation? (if you exist)
A Bridged History of Königsberg
If I am from another planet, and say I don't know why programs are so big and slow and buggy, and the most complicated program you see I've produced is a glorified calculator, it's too easy to be patronising and say well, that's because you haven't done anything complicated.

However if I then show you a programming language, a database engine (similar in capability to SQL but around 1000x faster), a graphical desktop with icons, mouse, editors, filesystems, ISR, and so on- and it's still under 400 lines of C code, then maybe it's easier to have this conversation that I think we need to have: That maybe all you programmers have simply been doing it wrong, and there's something fundamentally wrong with the way you and everyone else programs computers.

I think most programmers take so much offence from the thesis: that everyone programs wrongly (or badly) and that a fundamental shift in the way we program could make programming much better, that it's been difficult to actually work on this problem. Just look at all the people who are complaining about the text editor being difficult to read without saying I can't read this, and I want to get better.

And I think it should be obvious: You've built bridges for thousands of years, so you expect you're pretty good at it now, and yet there are still improvements in bridgemaking today; why do you expect programming to be any different? Why do you have "best practices" for programming if you've only been doing it for a few decades and don't really know how to do it yet?

Maybe it's much easier to think we're working on giving non-programmers the ability to program, but we're not: we're trying to make programming suck less.
From the article:

> In contrast to the usual manner of European warfare which he terms "face to face," Keegan depicts the early Arab armies in the Islamic era as masters of evasion, delay, and indirection.12 Examining Arab warfare in this century leads to the conclusion that Arabs remain more successful in insurgent, or political warfare13—what T. E. Lawrence termed "winning wars without battles."14 Even the much-lauded Egyptian crossing of the Suez in 1973 at its core entailed a masterful deception plan. It may well be that these seemingly permanent attributes result from a culture that engenders subtlety, indirection, and dissimulation in personal relationships.

In other words, Arab guerrillas are effective but Arab armies are not. Which explains why Arab guerrillas (Hamas, Hezbollah, ISIS) wield so much power in the region--there are no organized military forces that can effectively oppose them.
Because it's difficult to setup and configure for most people?

People struggle with connecting their laptops/tablets to WiFi. Expecting them to configure a VPN on their own is a stretch.

You could start a small SaaS business that could make "lifestyle business" type money if you did this well.
Even though the question is good, the article answer is disappointing.

First, I really don't like the angle taken, then the question of abstraction (why we do it, how) and choices made by languages designers (and variations in their idioms) are so vast that you really can't treat the question through a <1000 signs blog post.

Some quick points:

- You don't code for the machine, you code to be read by another human (possibly you) in the future. I insist, you will be read regularly and frequently. Thus, your code needs to be clear, precise, and concise. This must be the first thing in mind when coding: program what need to be done in a way that a fellow stranger could understand.

- Abstraction is a way to keep a structure of code clear when the interactions become complex and/or abundant. If you can avoid them when still being crystal clear in your code, do it. Direct speaking is always better than convolution.

- The main requirements when you code are often one or two of: quick to develop, easy to maintain, extensible, efficient (you control your big-O and _WORST_ exec times), correct (no bug. at. all.), real time (when X happens, Y is done between n µs and m µs during p ns)

- So, know when performance is a goal, and know when it's not. Choose your language, your techs, your team considering these goals.

- And yeah, C89, C99 and the C++es have a very high overhead of abstraction: clarity, concision, and sometimes performance (all abstractions can't be inlined). Think of it.
Buffer Overflows
Some say its old and others say as long as there is the stack the overflow will always work.

What say you kind sir?
I suspect it's not plain old sniffing. He might give fake DNS records to point to his own phishing site (facebook clone). It's trivial to re-post the credentials to the real facebook check the password and then actually log them in. curl can be used to do this, as I am sure many others.

Edit: SSL does not have to be used on the clone. Most people will not notice/care.
I think you misunderstood me. We are in agreement.
The last line of TFA reads like the beginning of some sort of movie in the drama/thriller category. "kOS is coming. Nothing will be the same afterwards."

That's what irritated me most.

What I'd like to understand is - what led the author to this particular conclusion? Is it the fact that this language is super expressive and concise? Is it that it routinely [1] outperforms its C counterparts even if it ultimately translates to C? Is the Z graphical interface so superior that it'll blow the pants off Cocoa and Quartz and X.org or Wayland or what have you? Why would one rewrite emacs or vim on it? I don't want some basic 4 line text editor - I would like to be productive. Why would Mozilla spend energy porting firefox to it? Or Google, chrome? Or bash?

Simply talking about the history of K/kdb+ and how brilliant its creator is simply doesn't help the reader understand why they should be excited about it. If that was the intention of this article, then the real points to make should've started after that line.

That would've been much more interesting.

[1] - No pun intended, of course
k/q really doesn't have to be this unreadable, that's just Arthurs style. Here's some code in C by him for comparison: http://kx.com/q/cs107/a.c
How internet tough guy of you.
I'd also have to add the companion to Grossman's book "On Killing," "On Combat." [0]

[0] http://www.amazon.com/gp/product/0964920549/ref=pd_lpo_sbs_d...
> By 'write-only visionary', I mean someone who no longer has a working feedback loop telling them they're sometimes wrong.

well put. kudos. i hope you don't mind as I'm sure I'll repeat this in the future.
This celebration of plutocracy gone wild is one of the more disgusting things I've read on Hacker News, and that's saying a lot. His corporation only exists through our societal forebearance. He has an obligation to the society that gave him the legal structure and protections thereof. Part of that is not deleting history just because he's in a snit.
What on earth is wrong with the fonts?
Yes. They are called probe requests, and can be easily intercepted and viewed. Multiple programs exist to grab these requests off the air and stand up wireless networks with that SSID.[1]

[1]http://digi.ninja/jasager/
Yep. Whenever wifi is enabled, your device is sending out probe request frames, which includes your list of preferred networks/networks you've connected to before.
If someone produces smaller and faster code than me, then I should want to learn from it. I wonder why other people have the exact opposite reaction.

Why do you think that is?
Cool. Will definitely read more about this then.
Maybe, this person should understand what they are timing.
The time command is a wonderful tool, but comparing the execution time of a 4 line C program with the start up cost of a VM and interpreter is inane.

One needs to measure the program doing the real work. And in this case for the C program you might find that bash forking is the actual cost not the C code running through the loop.

JRuby and PyPy are starting to do things with their specialisation tricks that mean that the overhead of abstraction is 1000 loops before it goes away.

A performance benchmark running for less than a few minutes is a joke. Startup variance alone will dominate the results.
PrivateInternetAccess.com gives you an installer with all the credentials in it ready to go. It was so easy my dad could do it.

I don't think ease is a barrier anymore. I think it's just lack of education about how necessary these measures are.
Even moreso because they ascribe the right to get this information because "it's not covered by this thing we made up," the Third Party Doctrine.
Hardware ID/MAC address, for example.
Private internet access (dot com) provide a point and click interface for windows and mac os x. On linux one has to manually config but it's not that hard. I have had non-technical people use it with no issues. I am sure there are others out there.

I am not associated with them in any way.
I'm sympathetic to the idea that classic episodes were superior. But when the classic episodes first aired, there were literally five channels in most homes. Simple rating trend analysis is doomed. The world around the show has changed too much.
You can't spoof a certificate with DNS. Even if you spoofed a DNS response and made facebook.com point to 192.168.1.2 then the server at 192.168.1.2 (which could be yours) would still need a valid certificate for facebook.com.

The only way to have done this is by having the user click "continue" or "ignore" or something on an ssl error page. I know from experience that a company full of programmers will happily do that. Only a few percent would go "wait a minute, this is Facebook. That certificate should be valid." Some people here might reply "no way", but HN generally contains the one percent.

Edit: This is almost correct. You can actually prevent being redirected from http to https when typing in "facebook.com" without https:// in front. My bad.

Still though, the attentive user would notice the missing padlock. I check it 3/4 times, and 4/4 times when using a public network. I also refrain from using http sites where I log in (some forums I visit do that). But again, probably less than one percent of the tech people do that.
also, most people are not savvy enough to check the ssl credentials or to even see that they are not on a ssl enabled site. even if the phishing attack was slow, people have lower expectations for speed in a coffee shop.
There's a contradiction I always see in these pieces: they talk a lot about the importance of using the right data structure. But these languages get their incredible conciseness by not giving you any choice about your data structures; their array type is hardcoded into the language, and if you want to use something else then your code balloons.
The language looks fascinating. Check out Kona, an open source implementation: https://github.com/kevinlawler/kona
The same story told again -- it's aim is to generate this magical atmosphere around a fast db engine and language that's deliberately obfuscated to make people who work in it feel smart, so they try to spread that it's the best. KDB/Q is a nice tool, not the holy grail how they put it. And it's not fast because they know something better - it's because it lacks almost any safety measure.
Dirty Words: How English Became Such a Suggestive Language
I'm interested in a kOS with a "god says ..." program built in ...
Government is an inherently immoral/unethical institution because it does not abide by the same rules that private citizens are expected to abide by. Many think government is a necessary evil needed to protect our lives and property.

Maybe those down-voting this would rather ignore the fact that individuals in government destroy more life (war) and steal more property (taxes) than individuals not in government (of whom there are more of)?

Ignorance is bliss.
It's not difficult. I use Cloak https://www.getcloak.com you install the app and you are done.

People are just not aware of these problems, and when you tell them they often downplay them, because they seem far away and until something goes wrong they think it can't happen to them. Also, it's not easy to convince people to pay for prevention rather than to fix an existing issue.
I couldn't have put it better myself. If you look at the history of Visa & interchange fees, they've gone UP precisely because banks are competing to deliver more benefits to their customers. The "lower fee" advocacy is mainly coming from merchants. It's easy to sell a lower-fee system to merchants. But Marc Andreessen needs to ask: what's in it for consumers?
The written a lot of different ways is also the case with Arabic, except for the one word limitation, since obviously Subject-Verb-Object encoding in one word requires the word order.

If we loosen that req, it gets more interesting. I assume Russian will line up with the following.

In Arabic, the default in formal Standard Arabic (not the dialects, that is another can of Bedouin worms) is Verb Subject Object. You can, however, have VSO, SVO, OSV, OVS, depending on context. I think you decline and conugate verbs in Arabic as you would in Russian. So you can probably play with written form, emphasizing different parts as you suggest in a similar way.

Am I way off? That is what I gathered from Russian/USSR republic kids I have befriended over the years. Not sure if that scans.
Entrepreneurship Uncensored: What It’s Really Like to Be an Entrepreneur
The thing is it's possible to go back and watch those early seasons. If today I watch a random episode from the early 90s then I watch a brand new one from last week, it's harder to say my memories of the 1990s are making me prefer the old one. In fact when I do watch an old episode, I often laugh hardest at jokes that I didn't remember. There are definitely ups and downs but on average the first few seasons hold up very well.

It's not uncommon to observe that with writer staff turnaround a television series can decline. The only thing that makes this topic slightly absurd is the length of time The Simpsons has been airing new episodes.
Wow... And I was thinking that using my phone to hotspot in cafes was mitigating things like that. Thanks for sharing!
Well, you know this pattern...

1) people have discussions on a mailing list, and someone has an idea to do something

2) Then you recreate all that information on some project management tool, and tell the participants to subscribe to updates there.

3) the project management tool makes it searchable, taggable, tracks progress, and others don't have to be spammed with your updates. And it probably sends out email every time something changes.

Threadable is like that except there's no step 2.

It's sort of a mailing list manager that can do a lot of tricks with threads and tagging them. You can see all your threads and tasks on the web, or keep on using it via email.
Taws: a personal private search engine
And how would you verify the MAC address of the router at the coffeeshop/train station/bus?
Just a note: if your shell is set to something in `/usr/local` (e.g. `/usr/local/bin/zsh`), remember to set it back to `/bin/bash` before doing the move.
If you don't type the https url, you start by visiting the http website. Normally the http version will redirect to https, but a man in the middle can easily prevent this.
Plea bargaining, and racist/classist apology-rejecting, among factors like this, seem to be what's broken the US justice system. Or so it seems from articles like this, and the horrible reports of unapologetic police brutality in places like Ferguson, Missouri.

The USA really really needs to do something about this, if I'm (and many other aliens like me are) ever to believe a criminal conviction there has anything to do with reality.
Cool. I will check those out.

I still want to underline, how can this OP website not mention anything with him.

(Unforunately, he ended up working at Georgetown, and I could not stand him after that, haha.)
> My problem with this solution is readability. Functions get extracted in the name of reusability

In my opinion one of the biggest benefits of functions is the ability to name pieces of code. I've worked with a number of teams where a single line function with a single caller and a descriptive name is preferred to a line that needs a comment to say what it does.
You have to have a personal invite to download the code atm. The whole article is telling you it is not available yet, but "if coming".
In my opinion, this is a pretty clear example of two wrongs not making a right.

Sure, Blythe put a lot of effort into irritating the author, perhaps even damagingly so, but how the OP is being downvoted when the author's own admissions concede obsessiveness is a little beyond me.

The appropriate response was to have heeded the dozens of cautions presented to her. "Don't engage". "Beware". "Leave it alone". The appropriate response is to acknowledge that there are trolls out there, and to leave it alone.

So, while I can't go as far as the OP did in calling the author a "dangerous lunatic", I agree that she made a lot of questionable choices that common sense should have dissuaded her from.

Hell, it's not implausible that the entire article was written to spread more information about Blythe, needlessly continuing a vendetta that should never have begun.
Yes! I just thought of this and was going to edit it in, but you are quicker. Many websites still don't use HSTS, and in any case this article is from a few months ago (I remember reading it) and HSTS is pretty new.
Yes.

There is, however, a fundamental difference between codegolfed K and codegolf in essentially any other language:

Codegolfed k uses 1-letter variable names, and drops white spaces (which, unfortunately, is kind of idiomatic). But everything else is idiomatic even for the non-golfers.

Codegolfed JS or C much more often than not is non-idiomatic in order to save all that space.

e.g., compare the K Sudoku solution from http://kparc.com/z/game.k to any other language, and you'll see that the K code is almost a generic solver (the 3, 9 and 10 stand for box size, board size and number of options respectively while setting up the constraints for the solver), whereas every other short solution (that usually come about twice as long to 10 times as long) is extremely specific to the standard sudoku table.

That's not random - idiomatic K solutions tend to be more generic than other languages. The syntax and semantics gently push you towards more general and more efficient solutions compared to most languages, in that the more general (and/or efficient) solution is usually shorter and simpler to code than a specific case.

I know it sounds unbelievable. But you might believe it when you see example after example and realize that it's not just a "one trick pony". And still, most people surround it with a SEP field. I recommend spending the time needed to grok it instead. [Or APL or J; my personal preference is K, but to each his own]
Ridiculous comment. Have you at least tried q? K? Kdb+?
Kind of curious to play around with that text editor. Any chance of K running on OSX?
Cash-backs are effectively loyalty programs with the card issuer.

Couldn't we replace them with merchant's own loyalty programs instead? Merchant would issue loyalty points to the user, redeemable for future goods and services. They would lose money, but gain repeat business, so it's good for them. The users would get their cash-back value, so they are happy as well. For example during slow times of the year my favorite steak place kicks back 100% of the steak price, to be used by the end of the lull period (Jan 1st - Apr 15th).

There could be also a secondary market for loyalty points - even if you're going home and don't plan to come back to the same Hawaiian restaurant, you could sell your points to someone fresh off the boat.

Then the restaurant owner could even moderate traffic by selling/buying his own loyalty points on the secondary market, replacing groupon and their likes. Exciting stuff!
I use that on my desktop and laptop but trying to get it to connect on my nexus 5 was a nightmare - I eventually gave up.
Thanks in part to software I wrote! I feel like I've made such a useful contribution to society!
It's important to separate spoken information density from written information density. Some languages win at one while losing at the other. Your arabic example was shorter than the equivalent english on paper, but longer when spoken (4 syllables vs 3).

In terms of information density per syllable, mandarin wins, with english coming in a close second. When speaking, english usually has more syllables per unit time than mandarin, so english has the highest spoken information density of any language. Japanese is the on the opposite end of the spectrum. Despite having the highest syllabic rate, it has the lowest information density.[1]

For written information density, logographic languages win. This is pretty obvious if you've seen a Chinese or Japanese translation of something familiar, such as a Harry Potter book. They're ludicrously thin.

1. See the figures at the end of this paper: http://www.ddl.ish-lyon.cnrs.fr/fulltext/pellegrino/Pellegri...
You are speaking in vague platitudes, most of which don't contradict what I wrote in the article at all.

I was speaking of a specific context in which I was working (writing C or C++ extensions for Python and Ruby), and addressing a specific design question (how much of the library should be in C or C++ vs. Python or Ruby). I guess I didn't specifically say this, but I thought I made it pretty obvious that I'm working in a situation where performance is a factor.

My observations were also specific to the question of the relative cost of creating layering abstractions in Python/Ruby vs. C/C++.

> And yeah, C89, C99 and the C++es have a very high overhead of abstraction: clarity, concision

Now you're just being silly.

Abstractions are sometimes good, making things clearer and more concise. The wrong abstractions can make code less clear and concise.

Here is my solution to that problem: if an abstraction is not making your code clearer and more concise, don't use it. Saying that abstractions in C and C++ are inherently less clear and concise just shows anti-C/C++ bias.