It took 10 minutes to convict a 14-year-old and 70 years to exonerate him (2014) - <AUTHOR> https://www.washingtonpost.com/news/morning-mix/wp/2014/12/18/the-rush-job-conviction-of-14-year-old-george-stinney-exonerated-70-years-after-execution/ <comment><USER2> I've always wondered, in cases like this: did they actually believe he did it? Maybe they did, motivated by pure racism and bigotry despite any evidence? But if they knew he probably didn't do it (but decided to scapegoat him anyway), weren't they ever thinking about the real killer who has presumably gone free, with the potential to strike the community again? Maybe they knew they stood no chance of actually figuring out who did? Or maybe they knew who really did it, but corrupt officials were eager to protect them and blame an easy target.

<comment><USER3> From the article:

At the time a law enforcement officer named H.S. Newman wrote in a handwritten statement: "I arrested a boy by the name of George Stinney. He then made a confession and told me where to find a piece of iron about 15 inches long. He said he put it in a ditch about six feet from the bicycle." Few other documents from that time exist.

James Gamble, whose father was the sheriff at the time, told the Herald in 2003 he was in the back seat with Stinney when his father drove the boy to prison.

"There wasn't ever any doubt about him being guilty," he said. "He was real talkative about it. He said, 'I'm real sorry. I didn't want to kill them girls.' "

<comment><USER2> Yes thank you, I read it. I was speaking generally ("cases like this"), as there are many similar cases from the era. And these are the cases that actually went to trial, instead of ending in mob justice.

Even in this case, if the concession was coerced, that still means the real killer remained free. Now whether the interviewer one they were coercing a false confession or not is not clear. But either way getting a false confession is pretty counterproductive to actually solving a case, and bad police work. Unless your real goal is not the truth, but to blame the "right" person, regardless of guilt.

</comment></comment></comment><comment><USER4> Wikipedia has an informative article about the case.

[https://en.wikipedia.org/wiki/George_Stinney](https://en.wikipedia.org/wiki/George_Stinney)

</comment><comment><USER5> Who gets thrown in jail for such a crime? Who is responsible for this?

<comment><USER6> Respectfully, those are the wrong questions to ask.

Instead: What injustices are happening today that we tolerate as part of the status quo? What can we do to ensure - today and tomorrow — that innocents are not preyed upon because it is easy and convenient to look the other way?

<comment><USER5> Respectfully disagree. such questions are relevant. No system is perfect and every system can be exploited to serve the prejudices of individuals. Everything from the super rich exploiting tax loop holes to putting innocent people on death row. Not only one must close the loop hole, but the exploiter must be punished as an example.

Part of ensuring things is to enforce consequences. The more extreme the crime the more extreme the consequence. The consequence serves two roles. One role is to help the criminal learn, but more importantly it's to help other people learn that you cannot commit such heinous acts without repercussions. Without consequences no system of enforcement will work.

What this article describes was never tolerated by society. It was a loop hole that when exploited had little consequence.

<comment><USER7> > One role is to help the criminal learn

Do you believe that punishment is an ideal way to learn? How do you imagine this `punishment` to be carried out [0]?

Assuming you're American: the primary systems prisons have been modeled after have been the Auburn system and the Separate system and both of these models have a pretty heavy recidivism.

I'm danish and our prisons are mostly built on the premise of rehabilitation and have attempted to shy away from what was perceived as "meaningless" oppression (although this is slowly changing towards a more Kantian view of punishment, something the general media portrays as being bad). In contrast to the American system ours is one of relatively low recidivism.

[0]: My question might seem snarky, it's really not. From my perspective "punishment" is rarely discussed, so I'm genuinely curious regarding, not so much the justification that much is clear, but the intended "carrying out" of said punishment is interesting to me.

<comment><USER5> >Do you believe that punishment is an ideal way to learn? How do you imagine this `punishment` to be carried out [0]?

Clearly punishment works to deter both humans and animals from doing certain things. This has been shown to be true in experimentation. Additionally the threat of punishment is by far more important.

However there are many instances where punishment can serve to do nothing or even make things worse. In the general case this is not true, but there are many specific instances where it is true. One example is the drug addict. You cannot clean up a drug addict by punishing him. Or even less clear is how do you stop a career criminal from doing the only thing he has known how to do for his entire life? A punishment will not suffice in both cases. BUT the punishment must exist.

I'm not saying that the American System is the way to go. Clearly from the data it is not. But I am saying that the question of consequences must be enforced. The consequence must be negative as well. Additionally to get to your point, the punishment probably shouldn't be so extreme as to have detrimental effects, additionally programs for rehabilitation can be implemented as well for effectiveness. Even in the danish system, there must be negative consequences for negative actions in order for a society to function.... there is no way around it.

Find me an example of a society that has zero punishment for criminals that still functions and I can probably change my mind.

<comment><USER7> I think the trouble for me is the difference between _rehabilitation with punishment as an unintended but ultimately necessary bi-product_ and _rehabilitation _and_ punishment_. A difference, to borrow from Mao, in "motive force", where the motive becomes a physicality in that it affects the mental world of the, so called, prisoner.

I can agree to the fact that "punishment" of some form is unavoidable but I think that the rehabilitation serves as a punishment in itself. I fear that "the prisoner mind" is affected by what it itself deems "appropriate" and what it deems "unnecessary" punishment [0].

[0]: You might exchange the words "appropriate" and "unnecessary" with "private" and "public", as in what is done for private benefit and what is done for public benefit.

<comment><USER5> In japan where the crime rate is so low, old people voluntarily commit crimes so that they can go to jail and be cared for. This occurs because the punishment is basically not negative at all. It's hard to say whether this is actually a really bad thing given the state of japan.

On the other end of the spectrum... the abstract threat of punishment itself can mold a society. Look at singapore where you can get whipped for spitting gum on the ground. Such policies have created a city that is virtually spotless. I don't think it is the punishments that cause the city to be like this but it is the threat of the punishment that keeps the city this way.

The problem is people are too intelligent. Can the threat of punishment be deployed without an actual punishment? I don't think so. It's also questionable in singapore whether or not the punishment fits the crime. It's hard to say whether lashes till your back bleeds for defacing public property or even death for possessing drugs serve to rehabilitate the criminal.

I don't know why singapore chose such extreme policies. One thing is for sure though, the death of a drug dealer serves as a sacrificial lamb to generate the abstract threat of extreme punishment. The death of one prevents the creation of many. Moral or not moral? Either way you can't argue with the results.</comment></comment></comment></comment></comment></comment></comment>


DDoS protection - <AUTHOR> https://wiki.hetzner.de/index.php/DDoS-Schutz/en <comment><USER2> I'm from Germany but Online.net is the way better alternative to Hetzner for me. Server grade hardware, cheaper, no compromises, internal network, etc. etc. I think they even hired a lot new support people recently so you get an answer pretty fast. Hetzner always has this "cheap feeling" even though the hardware looks good on paper.

<comment><USER3> Have you been using online.net for long? Their offer looks interesting except for availability rate 99.5%. That's almost 4 hours of downtime every month. within availability range.

<comment><USER4> So they're willing to provide a SLA with 4 hrs of downtime every month. This does not however mean that you will have 4 hrs of down-time per mont - it's a managed risk.

Also, depending on the nature of your application, you can often get away with that kind of downtime. Something trivial (yet extremely popular) like Twitter had lots of down-time and it made the users love the service even more.

<comment><USER5> Huh, never heard of that. Care to explain how that happened?

<comment><USER6> The claim that downtime "made the users love the service even more" is probably a stretch, but Twitter's error page became a bit of a phenomenon in its own right for a while:

[http://www.theatlantic.com/technology/archive/2015/01/the- st...](http://www.theatlantic.com/technology/archive/2015/01/the-story-behind- twitters-fail-whale/384313/)

I think the main lesson here is that your error messages are part of your UX and need to be treated as such.

</comment></comment></comment></comment></comment><comment><USER7> We are switching away from hetzner managed server as we had ~30 hours of downtime this sunday. They suddenly swapped our valid ssl certificate with a self signed one. They offered no immediate support (i called them three times) and open tickets were left unanswered for another ~20 hours. As i ranted about their customer service on twitter, they finally took care of it. So please stay away from them.

<comment><USER8> > we had ~30 hours of downtime this sunday

30 hours in a 24 hours day? :O

<comment><USER7> From Sunday 11 pm to tuesday morning

</comment></comment></comment><comment><USER9> Cloudflare is a major source of centralization.

The more providers offer something like this, the merrier. I understand that this isn't a layer 7 solution, but that has it's downsides as well - Cloudflare (or any other reverse proxy) will MITM all your TLS traffic, for example.

It's also time to address the elephant in the room: AWS. "Oops, you got DDOS'ed? Here, have a $50k invoice"

<comment><USER10> [disclaimer: I work for CF]

CloudFlare also regularly speaks about attacks and mitigations, therefore is helping the community to build better defences. Other providers stay shy and never disclose their magic. We believe DDoS is an internet wide problem and one of the ways to solve it is to spread the mitigation know how.

Examples:

\- DNS attacks [https://www.youtube.com/watch?v=UcAygzNSxlI&t=2h13m20s](https://www.youtube.com/watch?v=UcAygzNSxlI&t=2h13m20s)

\- Iptables is great [https://www.youtube.com/watch?v=pCVTEx1ouyk](https://www.youtube.com/watch?v=pCVTEx1ouyk)

\- Our DDoS mitigation pipeline [https://www.youtube.com/watch?v=XiK4643YdOk](https://www.youtube.com/watch?v=XiK4643YdOk)

\- BPF for DNS [https://blog.cloudflare.com/introducing-the-bpf- tools/](https://blog.cloudflare.com/introducing-the-bpf-tools/)

\- BPF for SYN [https://blog.cloudflare.com/introducing-the-p0f-bpf- compiler...](https://blog.cloudflare.com/introducing-the-p0f-bpf-compiler/)

\- Kernel bypass with netmap [https://blog.cloudflare.com/single-rx-queue- kernel-bypass-wi...](https://blog.cloudflare.com/single-rx-queue-kernel- bypass-with-netmap/)

\- NTP attacks [https://blog.cloudflare.com/technical-details- behind-a-400gb...](https://blog.cloudflare.com/technical-details- behind-a-400gbps-ntp-amplification-ddos-attack/)

\- DNS amplification [https://blog.cloudflare.com/deep-inside-a-dns- amplification-...](https://blog.cloudflare.com/deep-inside-a-dns- amplification-ddos-attack/)

\- Recent attack trends [https://blog.cloudflare.com/a-winter-of-400gbps- weekend-ddos...](https://blog.cloudflare.com/a-winter-of-400gbps-weekend-ddos- attacks/)

\- L7 attack with ad networks [https://blog.cloudflare.com/mobile-ad-networks- as-ddos-vecto...](https://blog.cloudflare.com/mobile-ad-networks-as-ddos- vectors/)

<comment><USER11> Cloudflare gets so much undeserved hate on HN. You guys do amazing work, provide an incredible service and your writeups are awesome. Thank you.

<comment><USER12> Yeah, but they've also the "Wifi Captive Portal" of the internet, which frequently creates trouble (if you're using Tor for example).

<comment><USER13> As a site operator you basically must use Cloudflare and highly aggressive policies regarding Tor.

I like Tor as a concept, the problem is that there is no way to stop people massively abusing Tor.

Whatever you want - nazi/hate speech, swatting, trolling, DDoS (by hitting expensive render paths or by forcing cache bypasses) - operate any kind of site with user interactions and you will get messed around with by mostly Tor- using scum, since trolls have understood by now that exposing their real IP will lead to them being v&d.

I don't like Cloudflare as a SPOF for half the internet, but for now they seem to be the only one able to reduce the impact of crap you have to deal with as a site op to a manageable level.

Trolls are destroying the Internet.

<comment><USER14> As a site operator, I have Tor (T1) whitelisted on all of my CloudFlare websites and have no additional spam problems or anything else. CloudFlare doesn't even catch all of my malicious traffic (spammers, mostly) -- even StopForumSpam doesn't do a 100% perfect job.

<comment><USER15> Counter-anecdote: I run a fairly small community and deal with an absurd amount of problems (spam, child pornography, threats, attempted attacks) sourcing from Tor and VPNs like PrivateInternetAccess.

I'm very glad CF exists. It certainly doesn't catch all bad traffic in my case either, but it helps. I don't think any cloud security service can ever stop all spam or bot activity.

</comment></comment></comment></comment></comment></comment></comment><comment><USER16> I used Hetzner, they have one of the worst support teams out there. Everything is next to unlimited and blah blah blah but the reality is really painfull for their customers including myself as a former one.

<comment><USER17> Sadly I have the same experience. They lost me after a small ddos (which results null routing our ip).

</comment></comment><comment><USER18> It was about time. So far the approach for DDoS on hetzner was not really business frendly (let's say so). (e.g. [https://news.ycombinator.com/item?id=6577465](https://news.ycombinator.com/item?id=6577465))

</comment><comment><USER19> That's a great move by Hetzner. Glad to see that OVH is not the only main player doing it anymore.

The only issue with both is that they don't handle l7 DDoS, which seems to be getting more common. I also don't like that they leverage TCP rst's for syn floods, but I guess thats better than going down.

But so far, for l7 attacks you still need ddos mitigation strategies or something like CloudFlare.com or [https://sucuri.net](https://sucuri.net) in front of your site.

thanks,

<comment><USER20> It seems you're affiliated with Sucuri, I wonder why you don't include that in your profile?

<comment><USER19> Because I am not. Just like their service and use it along with CloudFlare (which I always recommend).

<comment><USER20> It's just surprising when more than two thirds of all the comments you ever made were somehow telling people to use it.

That just creates a wrong impression.

<comment><USER19> I can see that. I just tend to engage on threads about ddos/security where I share what I do and tools I use.

</comment></comment></comment></comment></comment><comment><USER21> What always strikes me is the amount of free traffic Hetzner includes in their plans, always 20TB and upwards.

AWS charges a whooping 90$ per TB, it keeps me wondering why their traffic is SO much more expensive than Hetzner's...

<comment><USER22> Can you actually use that traffic though? I can run AWS bandwidth at max for the entire month and (assuming I'm not spamming or whatever) I just get a bigger bill.

With places like Hetzner you may be shut down for abusing their services if you use that limit too frequently.

<comment><USER23> nah, wrong. If you go over the allowed bandwith, you can get either limited to 10Mbit/s or pay 1,37€ per TB. In comparison, this is pretty cheap, but that is about waht you pay, when you buy transit. Source: [https://wiki.hetzner.de/index.php/Traffic/en](https://wiki.hetzner.de/index.php/Traffic/en)

<comment><USER23> correction, 1,17€/TB

</comment></comment></comment></comment><comment><USER24> Free? How about mandatory? I hate blackboxes in my communication channel that decide which communication is acceptable and which isn't. Plus all the security vulnerabilities and other bugs that the complexity of such systems probably brings with it, making it harder and harder to debug network problems.

And all that is especially true in the case of Hetzner, who have repeatedly demonstrated how to build hilariously broken networks. Even ignoring that they were vulnerable to ARP spoofing for a long time and other things that have since been fixed, just some blunders of their current offerings: virtual servers behind v4 NAT (yes, you can't make that shit up ...) and IPv6 assignments of a single /64, even for dedicated machines (with an option to extend it to a /56 for money). So, if their new blackbox screws something up, what are the chances that they will care?

</comment><comment><USER25> Hetzner announced this a couple weeks ago on their German language forums. What's concerning is they still have not stated their filtering capacity and the bandwidth and throughput protection levels being provided. If it's only 5 gbit and 500k PPS of filtering it won't be all that helpful.

</comment><comment><USER26> If I remember correctly, didn't this host have their entire address space banned from a couple IRC networks because their support wouldn't act on abuse reports?

</comment><comment><USER27> We used to run some basic infrastructure on Hetzner. The support was appalling – any requests for help were swiftly met with short answers such as "Unfortunately we can not help you here". That makes me question how responsive and understanding Hetzner's staff will be in case of an on-going DDoS that their automated systems are unable to detect and take care of.

What sort of scenario would benefit from the announced DDoS protection? People are surely not running websites on commodity hardware.

<comment><USER28> What type of support issues? I had servers with hetzner for years and I never had any problems, which also means I never contacted support, so I can't say.

I'm trying to figure out if you were expecting support for things that most dedicated, colo and cloud providers wouldn't support (OS updates, install nginx, ....) or if these were clearly provider issues (hardware and network).

       > People are surely not running websites on commodity hardware.

Huh? That's been the growing trend for...decades? It feels like the two places where pure server-grade equipment is used, high end dedicated hosting and collocation, are losing market. I'd go as far as to say high-end dedicated hosting is flat out dying (yay!).

<comment><USER27> It didn't come across in my comment – my amazement was regarding WordPress, etc. websites being run on commodity hardware without proper backups. E.g., get that ludicrous 128GB machine and run Apache on it with a single website for years. What could possibly go wrong?

The most recent issue we had with Hetzner was when we requested a LARA remote console to connect to a failing machine. The standard keyboard on the remote is German and much of the non-Latin keys are remapped. It was impossible to log in to a shell. All we got from support was "This is a standard Generic 104 key layout". That was it.

Before that Hetzner rebooted a whole raft of machines and on one of them this corrupted ext2. We asked what prompted the reboot (not bothered by the dead server) and we got (as above) "Unfortunately we can not help you here".

There were many more incidents before that and at the end it was just too much to swallow so we moved away.

Just out of interest, what's your use case for Hetzner?

<comment><USER28> Read-heavy APIs, which I like to setup as:

A central location to take writes. Writes to this location go into a database and a durable, at-least-once, queue (writing to the queue is as important as writing to the database).

Then you put your API servers in different geographies (and preferably different hosting vendors). They listen to the queue and update their own storage (which could itself be a full relational database).

Edges aren't caching layer, since all the data is expected to be there (so, no miss). But certainly some of the data could be loaded in this way. The edges can also take some writes and send it back to "central", but you have to not care too much about the consistency (and maybe even accuracy) of that specific data.

Throw a latency-aware DNS on top of it (anycast, geo) with a short TTL and good health checks and you don't care too too much about uptime, allowing you to focus on raw price and performance.

Ironically, the only time I remember a serious outage (at a single location) was during a DDoS against a specific location at a much more expensive provider (not-rackspace-but-the-other-one-you're-thinking-about) which, of course, null routed us.

<comment><USER27> Sounds like a well thought out CQRS system. Thank you for taking the time to reply.

</comment></comment></comment></comment></comment><comment><USER29> I host at Hetzner and have noticed reduced Fail2ban notifications and shorter Logwatch emails recently.

If this has kicked it, I guess that might explain it.

<comment><USER30> That'd be somewhat worrying, DDoS protection shouldn't be dropping non DDoS packets. If the chinese bruteforcers can't get to your server there's a very good chance your users can't either.

</comment></comment><comment><USER31> Can someone from the EU or DE talk about where Hetzner sits reputation-wise for those not familiar with them. Are they a solid provider?

<comment><USER32> We run a SaaS business there on ~25 servers with Hetzner. Besides small issues we are pretty happy. Feel free to email me if you want to know more details.

Funnily I saw a thread on the customers forum at forum.hetzner.de today about why Hetzner does not have a better reputation social-media wise. Seems not to be on their priority list. There is even an English subforum, you may try to register there and ask for experience by other customers.

<comment><USER33> Social media is a wet rag in Germany: few companies see the point to invest with the relative low user engagement. It's typically seen as a distraction and/or too compromising on privacy.

There is also the 'German' view of customer service to consider (i.e. the customer is not always right).

</comment></comment></comment><comment><USER34> Does it mean Hetzner won't pull the cable off your server now if/when it's under heavy DDoS? I read horror stories about customers being attacked and Hetzner disabling their servers. Never experienced it myself, but I host my playground server with them and chose OVH for a more serious project due to DDoS policies..

</comment><comment><USER35> I wish that Hetzner would provide me with DDoS protection from THEIR users. I've blacklisted their entire IP space for several different customers because of the relentless onslaught of malicious and aggressive attacks originating from their networks. They have never responded to a single abuse notification.

</comment><comment><USER36> I see great future for companies like Hetzner which are providing dedicated hardware with reasonable prices. While Amazon and Azure are making the live of virtual server providers difficult, I believe it is harder for them to compete with companies like Hetzner without eating their own business.

What these companies need are just additional services and nice management tools which make the whole dedicated server and network stuff look more like what we see on AWS or Azure.

My assumption is that at some point more people will come to the conclusion that _part of their workloads_ such actually run on cheap dedicated hardware. On Hetzner €60/month buys you 4 cores, 32GB, 480GB SSD, 30TB traffic. Compare that to Azure A2, which at €64/month gives you 2 cores, 3.5GB, 60GB.

</comment><comment><USER37> Official announcement: [https://www.hetzner.de/hosting/news/hetzner-online- bietet-um...](https://www.hetzner.de/hosting/news/hetzner-online-bietet- umfassenden-ddos-schutz) (german)

<comment><USER38> Also in English: [https://www.hetzner.de/ot/hosting/news/hetzner-online- bietet...](https://www.hetzner.de/ot/hosting/news/hetzner-online-bietet- umfassenden-ddos-schutz)

</comment></comment><comment><USER39> This is what I expect from any serious hosting company know: DDoS protection for every customer as part of the service. It's part the hosting duties and should not be offloaded to any third party company, say Cloudflare.

</comment><comment><USER40> Recently moved from Google Cloud (8x less price - 4x more power) and we got ~100kb/s of constant traffic from countries like china. fail2ban usually locks me for day or two until i disabled password-based auth and fail2ban.

<comment><USER41> Disabling fail2ban doesn't sound like the best solution. Why did it lock you out? If your username is not public and root has no password the locks shouldn't affect you.

</comment></comment><comment><USER16> I wouldn't buy DDoS protection from Hetzner, not to talk about using it for free. There is no such things as free ddos protection which means tons of free bandwidth, this cheap marketing.

</comment><comment><USER42> I always liked Hetzner and I have a few dedicated servers there. Their service was always fast and very competent. However they are not soo cheap compared to other hosters anymore.

</comment><comment><USER43> I'd have to say that webtropia.com or even myloc.de great service great value myloc has some real nice bells and whistles. webtropia has great vps and the dedi servers too. I'm at 2 locations east side USA and Deutschland. Check it out, I'm happy.</comment>


Open source App to help with CoronaVirus spread - <AUTHOR> As we have seen the coronavirus spread across the world and affecting people, I feel powerless working from home on my day to day job as a backend engineer.
I wonder what application could help reduce the impact of the crisis.
I believe the South Korean and China have introduced some apps to mitigate the disease but that comes with some privacy concerns.
https://www.wired.com/story/phones-track-spread-covid19-good-idea/
I wonder if an open source solution could be develop mitigating the privacy concern. I don't have any expertise with this but I'm thinking encryption / blockchain / federate ...
This app / servicer could then be used by countries with less technically advanced countries as the virus spread.
Does anyone know if such project exist or would be interest in starting something like that ? <comment><USER2> Hello,

At [https://jogl-covid-19.slack.com](https://jogl-covid-19.slack.com) people is proposing and developing FOSS to help</comment>


Hackers? Techies? What To Call San Francisco's Newcomers - <AUTHOR> http://www.npr.org/blogs/alltechconsidered/2014/01/16/263088398/hackers-techies-what-to-call-san-franciscos-newcomers <comment><USER3> > That prompted Sam Biddle of the Gawker site ValleyWag to suggest referring > to the newcomers as "Software Americans."

What is the word when you know you shouldn't look at something, but the urge to do it is too strong? Masochism doesn't quite cut it. "Mild death drive"? Anyway, I had to check the article. Here's how it ends:

 _" So, the next time you see someone taking up a seat at a coffee shop to work on a cold cut delivery app at 2 pm, resist the urge to slur—instead of "techie," just call them a fucking loser dork with inconsequential ideas and a dumb life."_

No, those "techies" don't make the search engine you use to find the information you need in your work and your daily life. They don't make the operating systems that run on your computers and mobile devices, nor the devices. They don't make the software that runs in your appliances, the automation systems that allow billions of people around the world to have products and services only the rich could afford in the past. They don't make novel ways to discover drugs and the origins of diseases. They don't make the communication services that allow you to stay in contact with people you know and discover people you didn't know. They don't make CMSs, blogging engines or web browsers.

They make cold cut delivery apps. Fucking cold cut delivery app making loser dorks.

<comment><USER4> Okay, that's it. Next time I have to put my ethnicity on any paperwork.... I'm now a "Software American".

\- I immigrated from Softwaria.

\- Our flag is a bunch of 1s and 0s.

\- Our national anthem ends with "return 0;".

\- All of our city streets look like logic-gates from a bird's eye view. [http://doc.union.edu/PL/ee_master_gate.jpg](http://doc.union.edu/PL/ee_master_gate.jpg) (yeah, I know... this is more on the side of hardware)

\- Our homes & buildings square footage are always divisible by X where X = 2^N, where N represents all real numbers. (what was that symbol for all real numbers again?)

<comment><USER5> So basically 'Software Americans' are doing to Americans what Americans did to Native Americans?

<comment><USER6> What goes around, comes around.

</comment></comment></comment></comment><comment><USER7> The title of this piece really sums up my frustration. You're trying to come up with a label for a group of diverse people? Why? So you can judge, belittle, and intimidate them without feeling guilty?

Why not judge newcomers as individuals? They're people first. Some of them are assholes. Others are awesome people who are positive for the community. Same as any group.

Rents are going up. It sucks, and something should be done about it. The city should permit more construction. The Ellis act should be repealed.

One thing I'm pretty certain won't make rents go down: labeling a group of people and pressuring them to leave.

<comment><USER8> > The Ellis act should be repealed.

Communist.

</comment></comment><comment><USER9> They always said nerds would inherit the earth, people shouldn't be so surprised.

Haters gonna hate though, especially in SF the snob capitol of the world[1].

1.[http://www.cnn.com/2013/07/03/travel/snobby-cities- usa/](http://www.cnn.com/2013/07/03/travel/snobby-cities-usa/)

</comment><comment><USER10> "I still use it as an amiable label for the nerdy guy who comes to my office and rolls his eyes when I ask why my computer won't talk to the printer down the hall."

why does this piss me off so much? it was all well and good when we were servin' you, and now we make something of ourselves and you mad?

while I can see that change is happening a little too fast for most people, I do believe it was society that set us up to be nerds at the unpopular table. WELL ITS MY CAFETERIA NOW BITCHES! WHAT?

<comment><USER11> Well, then, I refer you a few sentences on:

'"Techie" used to suggest a computer whiz with no social skills, now it suggests one with no social conscience.'

This article boasts several choice phrases: "chronic obliviousness", "hermetic subculture", "techie theme park". I'd venture Mr Nunberg has visited our golden city some.

</comment></comment><comment><USER12> The nerds come to live in the vibrant and cool city so that they could have some of its "coolness" reflected on them. Little they know the (fairly new) pretentious residents are everything but cool, SPECIFICALLY in the mission area, where large percentage live their lives believing they are unique & progressive, while in reality they are prisoners of their conceptions - <USER2> ones that got seeded in their heads by the companies the nerds are working for.

the truth is that this city is: dead at nights. have a lame hipster wanna-be community. too expensive.

p.s older san francisco residents are extremely nice!

<comment><USER8> The city is kinda dead at nights, but it's more alive in the Mission Area than most other areas. It is too expensive, but the software engineers can afford it readily enough.

But I don't think it's about the "coolness" reflecting on you that these software developers are actually going for. I think it's more along the lines of having a store nearby that sells liquid nitrogen ice cream during the summer. Which is pretty cool. (And other establishments including night life and dining establishments, naturally.)

<comment><USER12> Summer you say ..... :-)

</comment></comment></comment><comment><USER13> In my high school, the preferred term was faggot.

Homophobia is passe now, but I hope the word "nerd" will serve people who want to stir up hate against us just as well.

</comment><comment><USER14> "I lived in Palo Alto myself for a while. It's a nice place to raise a car." \- Geoff Nunberg

<comment><USER15> That's so true.

I've never seen a place with so many well-bred automobiles in my life.

</comment></comment><comment><USER16> Here's a few: "Taxpayers", "Customers", "Voters"

</comment><comment><USER17> I hate hipster hackers as much as anyone, but what we have here is a case of [http://en.wikipedia.org/wiki/The_Two_Cultures](http://en.wikipedia.org/wiki/The_Two_Cultures)

The arts and culture establishment, with their refined humanities backgrounds, and accustomed to being the social elite, are disturbed to see that not only are vulgar techies making lots of money, but that nerds are now being seen as _cool_. This is simply too much to bear.

</comment><comment><USER18> I left SF after the first Internet bubble burst - I needed a vacation from IT and went to film school. I finally ended up in London, which is a MILLION times better than the entire Bay Area. As expensive, but far more livable, interesting, and varied than a IT centric socio-ecosystem. Not that I hated SF, I'd probably still be there if I'd sold all that NSOL stock at the right time... The first bubble was something - it really felt like something new was being born. Now, it seems like everyone is just trying to get rich.

Based on everything I've read about this new bubble and how SF is changing even more, I doubt very much I'd want to live there. Any sort of 60s vibe that I did 'pick up' (that was one of the attractions for me) seems to have faded away. $250K for new grads at Google? God almighty. There is too much money sloshing about in the Bay Area now and money always changes things.

The fruits of IT are useful, at the top commenter points out, but I think some humility needs to be learned. Then more effort will be spent on useful stuff, and not making cold cut apps or figuring out how to manipulate users into clicking more ads. Man is a tool making animal, but happens when one's ego becomes tied up in those tools?

</comment><comment><USER19> "Employed"?

</comment><comment><USER20> "the private language of the nerds' table in the high-school cafeteria, where the kids cared more about being smart than being popular." Damn right!

</comment><comment><USER21> > _" Actually, though, the distinctive feature of tech culture isn't arrogance > so much as a chronic obliviousness, which is why some tech people can't even > understand the resentment they engender."_

Besides the linkbait title, this article is full of painfully accurate observations, which will ironically be completely ignored by most of HN's SV population.

</comment><comment><USER22> "n00bs"?

</comment><comment><USER23> Definitely call us Techies. -Dan Gailey

</comment><comment><USER24> "Three year natives."

</comment><comment><USER25> "Residents"?

</comment><comment><USER26> Hackies.

</comment><comment><USER27> Hatchkies.</comment>


Future of TypeScript on ESLint - <AUTHOR> https://eslint.org/blog/2019/01/future-typescript-eslint <comment><USER2> It's very nice to see all of this consolidation going on in the Typescript ecosystem. For example Babel 7 shipping with direct Typescript support back in August, [https://blogs.msdn.microsoft.com/typescript/2018/08/27/types...](https://blogs.msdn.microsoft.com/typescript/2018/08/27/typescript- and-babel-7)

I am a Typescript convert myself and would suggest any daily JS developer give it an honest try.

<comment><USER3> Typescript is amazing!

I spent the last 90 days porting about 350k lines of code to Typescript plus implementing another 400k.

[https://getpolarized.io/](https://getpolarized.io/)

It's basically a document and annotation manager for PDF and notes. Kind of an Open Source Mendeley/Evernote/Github if you will.

This code base is changing often and I really hit a dead in in terms of JS scalability.

I was just refactoring too much, breaking things, etc.

Now I can just rely on the compiler when I break things.

If I want to change a function type in TS it's no problem.

In JS it's a nightmare.

<comment><USER4> your project is amazing, i would love to help contribute as i have time. please reach out if you need development help.

<comment><USER5> WTF. The project seems completely useless and gimmicky to me.

My problem is that I read a LOT of articles and publications. If I started highlighting things in articles, I would never have enough time to go back to them. Besides, why would I want to? I already read it, which means that it's already in my mind! What's the point of reading stuff if not to put information inside your mind? I'd rather use my time to read more new stuff than to revisit things I already know.

Maybe the solution is not more tools, it's just to stick to topics that interest you and to pay attention and put more thought into what you're reading.

<comment><USER4> maybe you should be a little less critical about someone who actually built something extremely useful and spend some time investigating the topic of "incremental reading" \-- reading info and retaining info are two different things

[https://www.supermemo.com/help/read.htm](https://www.supermemo.com/help/read.htm)

<comment><USER5> >> reading info and retaining info are two different things

I apologize, I projected my own experience and assumed that other people were able to remember the main points of what they read. I guess most people don't have have great memory. I never thought of myself has having good memory but I remember the main points of most of what I read.

</comment></comment></comment></comment></comment></comment><comment><USER6> One of my favorite things about typescript was being able to ditch Babel and eslint and their myriad of requirements to get things that are considered standard. I get why they do it, it's just something I prefer.

Take create-react-app and the now deprecated create-react-app-typescript. The node_modules folder of the CRA app is over a hundred megs bigger than that of CRA-ts, and it doesn't even have feature parity.

<comment><USER7> Is this still dependent on browser adoption? I recently had to transpile a Typescript library via Babel to JavaScript since Chrome didn't like the original import statements.

<comment> crooked-v Typescript is not intended to work in browsers without a compile step being involved.

</comment></comment></comment><comment><USER8> Finally the JavaScript community is stabilising! This is exciting

</comment><comment><USER9> Would it be possible for TS to skip JS and compile directly to Wasm? Would that bring noticeable difference? At least for mobile browsers?

<comment><USER10> With AssemblyScript you can do exactly that, but I've never seen it being used for big projects, since it doesn't support the "any" type.

[https://github.com/AssemblyScript/assemblyscript/blob/master...](https://github.com/AssemblyScript/assemblyscript/blob/master/README.md)

</comment></comment><comment><USER5> I'm disappointed by the growing popularity of TypeScript.

My very first programming language was ActionScript 2 (which was also based on the ECMAScript standard without types; just like JavaScript) and I clearly remember that I was really enjoying ActionScript 3 when it came out in 2006 (that's when ActionScript became a statically typed language; very similar to TypeScript).

Then a few years later, I got back to JavaScript/Node.js (dynamically typed) and I noticed that I could create libraries and applications a LOT faster without types and that writing libraries was also a lot more enjoyable.

My view now is that statically typed languages are like training wheels on a bike. Statically typed languages force you to think about software in a structured way and in doing so, they teach you some fundamental concepts about abstraction. That said, if you're experienced enough to know how to structure and test your code correctly, then, much like training wheels on a bike; they only slow you down.

I've been using TypeScript for the past couple of years at work so I can confidently say that it creates more obstacles than it solves for me.

Pros:

\- Easier to keep track of all the places in the code which are affected by a refactoring (especially if the code is messy, poorly tested and components have poor separation of concerns; it gives useful warnings).

\- Easier to find class and method definitions in the code.

\- Easier to rename classes, functions and properties.

\- Much less likely to leave forgotten unused variables or functions in your code.

Cons:

\- Slow debug cycle due to increased compile time. If using TDD, it takes longer to run tests.

\- Sporadic source mapping issues/bugs which makes it hard to fix things (I had an issue with Mocha tests last week where it was always telling me that the issue was on line 1). I've worked with TypeScript on multiple projects across different companies but every single time, there has been source mapping or configuration issues of some kind.

\- Type definitions from DefinitelyTyped are often out of date or have missing properties/methods. It means that I can't use the latest version of a library.

\- Third party libraries are difficult to integrate into my project's code due to conflicts in type names or structural philosophy (e.g. they leverage types to impose constraints which are inconsistent with my project requirements).

\- Doesn't guarantee type safety at runtime; e.g. If parsing an object from JSON at runtime; you still need to do type validation explicitly. The 'unknown' type helps but it's not clear that this whole flow of validating unknown data and then casting to a known type adds any value over regular schema validation done in plain JavaScript.

\- Whenever I write any class/method, I have to spend a considerable amount of time and energy thinking about how to impose constraints on the user of the library/module instead of assuming that the user is an intelligent person who knows what they're doing.

\- Compiler warnings make it hard to test code quickly using console.log(...); I'm more reliant on clunky debuggers which slows me down a lot and breaks my train of thought.

\- The 'rename symbol' feature supported by some IDEs is nice, but if a class or property is mentioned inside a string (e.g. in a test case definition) then it will not rename that; so I still have to do text search after doing a symbol rename and manually clean up.

\- It takes a lot of time think of good names for interfaces and they are renamed often as project requirements evolve. It's not always clear whether similar concepts should be different types or merged into one. It often comes down to what constraints you want to impose on users; This adds a whole layer of unnecessary mental work which could have been better spent on thinking about logic only.

\- Setting up TypeScript is a pain.

\- Adds a lot of dependencies and complexity.

\- Makes the bundling step a necessity. This goes against innovations like HTTP 2 which could potentially remove the necessity of the bundling step by allowing us to preemptively push scripts to the client.

<comment><USER11> Any project of substantial size needs types. Either explicit (TS) or implicit (JS with tons of type checking and assertion garbage). TS makes this much, much better.

<comment><USER5> I strongly disagree. A well structured project which is broken up into meaningful modules with good separation of concerns and where each significant module is tested in isolation; that kind of project does not need TS.

You don't need to do type assertions with JavaScript; in the tests you may need to assert that certain properties exist but only to the extent that this property is relevant to the test case. This is purely a logic concern, not a typing concerns.

Types are just labels which try to make sense of reality so it makes no sense to assert their correctness.

<comment><USER12> Any project of sufficient size will have warts. Python added type checking after Guido saw how hard it was going to be to port Dropbox's 2mil LOC codebase to python 3. There is a reason the two most popular dynamic languages have added a type system.

<comment><USER5> There is also a reason why Java lost popularity. People think that languages like TypeScript are somehow different, but they're not. TypeScript encourages exactly the same patterns as those used in Java. Mark my words, it will suffer from exactly the same problems. It will just take a few years for people to realize this.

<comment><USER11> Comparing the type systems of Java and Typescript shows a lack of understanding of the differences between them. Modern type-safe language have numerous things that Java never had and probably never will.

Any project of size will need types. Either they will be explicit (static typing) or the project will be riddled comments, tests, assertions, and bugs.</comment></comment></comment></comment></comment></comment>


Codex Seraphinianus: A new edition of the strangest book - <AUTHOR> http://dangerousminds.net/comments/codex_seraphinianus_a_new_edition_of_the_strangest_book_in_the_world <comment><USER3> I'd say the Voynich Manuscript (which the article mentions) is still the strangest book in the world.

We can understand how the Codex Seraphinianus came about. Serafini presumably looked at the Voynich Manuscript and said "that looks like fun, I want to write a modern version of that". And he did so, and he made the text look convincingly like language without being decipherable as any known language, which would seem to require applying modern knowledge of linguistics and information theory.

But we don't know how the Voynich author did the same thing, many centuries earlier.

<comment><USER4> For those who don't know what the Voynich Manuscript is, this article was on HN a while back ([http://www.newyorker.com/online/blogs/books/2013/07/the- unre...](http://www.newyorker.com/online/blogs/books/2013/07/the-unread-the- mystery-of-the-voynich-manuscript.html)) and you can view the whole thing online ([http://brbl-dl.library.yale.edu/vufind/Record/3519597](http://brbl- dl.library.yale.edu/vufind/Record/3519597)).

Definitely more intriguing than this book, imho.

<comment><USER5> Relevant xkcd:

[http://xkcd.com/593/](http://xkcd.com/593/)

</comment></comment></comment><comment><USER3> > For instance, [this group] discovered that the numbering system is base 21, > and [this guy] discovered certain grammatical rules governing the script, > and even created a sort of transliterator you can use. [This lady] claims to > have hallucinated herself into the world of the Codex, even prior to having > heard of it.

Clearly the writer of the article is giving equal time to bizarre theories, which I suppose is allowed for such a bizarre book. But I'd say the second [this guy], the one with the transliteration, should have at least been described as " _claims to have_ discovered certain grammatical rules", just like the woman _claims to have_ hallucinated herself into the Codex world.

The stuff you find on his page ([http://www.paleoaliens.com/event/seraphinianus/codex/](http://www.paleoaliens.com/event/seraphinianus/codex/)) is not linguistics. In fact, it's not really anything but batshit. He even seems to be losing track of the fact that the "world" of the Codex Seraphinianus is not real.

It's like people who read the Hitchhiker's Guide to the Galaxy and start seriously looking for the number 42 everywhere, forgetting that it was just a gag, in a work of fiction, written by a human. It's like that except more so.

<comment><USER6> > rspeer 42 minutes ago

<comment><USER7> OMG! And my flat number is 42!

<comment><USER7> Ooops, I tried to be funny on HN :-(

<comment><USER8> Fun? On HN? 'Tis a silly thought.

<comment><USER9> Humor on HN is strongly moderated in an attempt to forestall the degradation of signal/noise ratio that eventually will evolve it into a sea of memes and pun threads.

</comment></comment></comment></comment></comment></comment><comment><USER10> I have a copy of C.G. Jung's _The Red Book_ , which is also pretty strange:

[http://en.wikipedia.org/wiki/Red_Book_(Jung)](http://en.wikipedia.org/wiki/Red_Book_\(Jung\))

I haven't bothered to try to read most of it, but it makes for a good conversation piece, at least. It's very big and, well, red. Jung's drawings are quite beautiful, his medieval-style handwriting is strangely intricate, and of course everybody knows Jung by name, so it has that aura of celebrity genius.

<comment><USER11> Yes, in this case the hidden meaning of the Red Book is the unconsiousness itself. Holding the secrets to the meaning of life. My question is, are the Voynich, Antichthon Universalis of Codex_Seraphinianus manuscripts, Valis (Philp K. Dick), Michael J. Topper's or even Castaneda's work merely artificially constructed fantasies (like Scientology or the Church of Subgenius) or also pointing to or connecting with a deeper layer of reality of archetypes rooted in our biology like in Jung's the Red Book? Is there a deeper meaning?

<comment><USER12> Since when is Scientology artificially constructed? I think "thinking about Scientology" is not the same as "the subject of Scientology" \- and after all, who is to say that the Voynich manuscript itself doesn't contain some seriously intersting, deep, secrets on the nature of the universe, being overlooked by the ignorant who do not know its language. Like so many other subjects in the world, alas, of the human soul.

<comment><USER11> Hi fit2rule, a good question.... i assume Scientology's metaphysical subject was articulated by L. Ron Hubbard in "Scientology: A History of Man" (1952) [http://en.wikipedia.org/wiki/Scientology:_A_History_of_Man#T...](http://en.wikipedia.org/wiki/Scientology:_A_History_of_Man#The_book.27s_role_in_Scientology) I am not sure if L. Ron Hubbard actually believed in the things he wrote as it's so far out and contradicting scientific insight, or that he wrote it to create an artifical overarching framework (a sacred canopy) to hold dianetics together by rooting it in the transcendent (as such I think Scientology is a religion). The same uncertainty I have while evaluating Castaneda's work. The underlying question remains the same - do they (and I was explicitly including Voynich) seriously interesting, deep, secrets on the nature of the universe or do they remain a fantasy and dream meaningful only to their respective authors?

<comment><USER12> What we think about Scientology, and what Scientologists think about Scientology, are two different things - are they not?

Jung theorized that the collective human consciousness had many archetypes that could not be explained through environmental means, and Hubbard seems to have capitalized on that idea and attempted to push it forward, which is what I understand "History of Man" and Hubbards' common Time Track theory to be all about. While I am not a Scientologist - I do believe that collective unconscious and conscious 'reality about _something_' is what Scientology _really_ attempts to dissect. But this is based on a naive investigation of the subject beyond the tabloid 'everyone knows the subject is bullshit' collective agreement ..

The point I wish to make is that there are two versions of Scientology - <USER2> indeed, other esoteric topics - what "everyone knows about" the subject, and "what only the true practitioners know about" the subject. These two points of view are often diametrically opposed. Maybe Voynich is the result of a cargo- cult that observed some other, greater subject? Same could be true of a lot of subjects dealing with metaphysical esoterica ..

</comment></comment></comment></comment></comment><comment><USER13> In 2007 The Believer ran what I think is the definitive account of the Codex Seraphinianus: [http://www.believermag.com/issues/200705/?read=article_taylo...](http://www.believermag.com/issues/200705/?read=article_taylor)

The Codex was likely inspired by the Borges story "Tlön, Uqbar, Orbis Tertius" which involves encyclopedia articles about an imagined world: [http://art.yale.edu/file_columns/0000/0066/borges.pdf](http://art.yale.edu/file_columns/0000/0066/borges.pdf)

<comment><USER14> Which, in turn, is one of the inspirations for urbit:

[http://www.urbit.org/2013/09/25/continuity.html](http://www.urbit.org/2013/09/25/continuity.html)

</comment></comment><comment><USER15> The style reminds me to some of H. Bosch's paintings, which also give you vibes of symbolism and complexity

[http://en.wikipedia.org/wiki/The_Garden_of_Earthly_Delights](http://en.wikipedia.org/wiki/The_Garden_of_Earthly_Delights)

[http://imgur.com/FaYLjTm,CFxmjNN,flVaZbz#0](http://imgur.com/FaYLjTm,CFxmjNN,flVaZbz#0)

</comment><comment><USER16> It's weird... a lot of the stuff around this talks about Borges' story but it's a total misinterpretation. He was talking about memetics and the need for us to bring our fictions into reality through drastic means that blend it with our history.

This is different. Also, can anyone tell if J.P. Harding posted his/her translation anywhere? [http://www.codexseraphinianus.org/](http://www.codexseraphinianus.org/)

</comment><comment><USER17> Probably like all books that are meant to be strange and mysterious, it's actually quite boring. The strangest books to me are those the authors meant to be understood. One example (for me) is Valis, by PK Dick.

<comment><USER14> ...no. My copy of the Codex is among my most treasured tomes.

It is so far from boring that I have agreements with myself about when and how I peruse it, to keep the pleasure and wonder of discovery going for as long as possible.

If you're not a fan of incredible, surreal, self-consistent art, then the Codex is not for you. The text is kinda hard to read. ;-)

<comment><USER18> The artwork is consistently wonderful: baffling, amusing, worrying, imaginative, and surprising, not to mention beautiful and incredibly skilful. And there are nearly 400 pages of it. (And that's just the PDF...)

</comment></comment></comment><comment><USER19> I bought it. Quite fun to have it laying around on the coffee table when having guests. Some don't get it at all, some find it hilarious.

</comment><comment><USER20> Leafing through it, I'm kinda' reminded of the first time I had a copy of Knuth's _The Art of Computer Programming_ in my hands.

Just me?

Yes, I thought so.

</comment><comment><USER21> A book reminding us all that we thought, and all that we think, and that what we create may be underwhelmingly backminded.</comment>


Mistakes to Avoid as a Lean Startup - <AUTHOR> http://uxceo.com/post/26338362669/7-huge-mistakes-to-avoid-as-a-lean-startup Mistakes I've made over the past two years working on two startups. <comment><USER2> It's refreshing to see someone admit to their mistakes and grow from them!</comment>


Highlights from Git 2.28 - <AUTHOR> https://github.blog/2020-07-27-highlights-from-git-2-28/ <comment><USER2> I'm a somewhat advanced user of Git. My coworkers use me as a reference when they have a problem of a difficult merge to solve.

I don't follow each Git release, but I also didn't notice a great productivity enhancement for a long time. Sure it is a sign of a mature project, but I'd like to know:

What's the somewhat recent Git feature that you really improved your productivity?

<comment><USER3>
      git range-diff

Very useful to get an overview of what changed after a rebase.

[https://git-scm.com/docs/git-range-diff](https://git-scm.com/docs/git-range- diff)

<comment><USER4> Thank you for mentioning this. I wrote my own bash script to do something similar ages ago, but I'm betting this will be much less janky.

</comment></comment></comment><comment><USER5> I just came back to git and gitlab from Perforce and while it's felt like coming home and some things are improving around submodules and LFS there's still a lot of rough edges I'd like to see smoothed over.

Its not easy to set up git config settings for a distributed team. I assume for security reasons a repo can't configure its own settings just from a pull but even still I want that functionality.

Why do I check in the name of the merge tool used for a file type in the .gitattributes but I can't check in what that name points to?

I work with less technical artists and they really don't want to think about git configs at all. They just want to save and push. As far as I know there's no solution to preconfigure a repo to pull submodules or set up custom merge drivers. Best thing I've found is to maintain repo setup scripts but its pretty cumbersome and you have to manually target the tools you want to support.

Is there a way to request this sort of stuff or a place to look at roadmaps without getting into the whole mailing list scene?

Maybe this sort of thing should be the responsibility of github/gitlab and not git itself?

<comment><USER6> You can add a small script to your project that you tell people to run the first time after cloning. Then with that script you can setup everything you want. Such as symlinks to git hooks also stored in the repo (so that they stay up to date), or set up the merge tool that you want.

<comment><USER7> Our team had started a practice of "devbox setup" scripts in each repo a few years ago. They're invaluable. Instead of following pages of instructions in various state of decay, running just one script puts you into the ready state in a few seconds. Any questions about why something is not working has only one answer: run the setup script.

Highly recommend this.

<comment><USER8> I love having idempotent makefile tasks that can do this kind of thing.

And as far as "pages of instructions in various states of decay," couldn't agree more that those aren't a good solution. I usually observe those instructions containing lots of terminal commands. I'd rather have those in an executable format, with commenting if explanation is needed. Then it's (usually, hopefully) pretty obvious where something breaks, instead of rotting instructions nobody can say 100% what is or isn't current.

<comment><USER9> How do you make sure your makefile tasks are idempotent?

<comment><USER10> A simple way is to use output files to indicate if a command has been run.

Example:

git-setup.out: touch $@

</comment></comment></comment></comment></comment></comment><comment><USER11> _Git now includes a GitHub Actions workflow which you can use to run Git's own integration tests on a variety of platforms and compilers. There's no extra effort required on your part: if you have a fork of git /git on GitHub, each push will be run through the array of tests necessary to validate your change.But wait: doesn't Git use a mailing list for development? Yes, it does, but now you can use GitGitGadget on the git/git repository. This means that you can open a pull request, and have GitGitGadget send it to the mailing list on your behalf. So, if you're more comfortable contributing to Git like that instead of composing emails manually, you can now contribute to Git from start to finish using GitHub._

Nice to see efforts to reduce barriers to contributing.

</comment><comment><USER12> Someone please give me the missing link here:

1\. I do `git log` which helpfully pipes to `more` where I can use vim-stsyle search to find the commit I'm interested in. 2\. I find the relevant commit. 3\. Now I want to `git show` that commit.

Currently I double click on the human unreadable commit, copy it, quit `more` to get back to the command line, type `git show`, then paste the commit. Navigate, click-click, shortcut, 'q', type a command, paste. That's six pieces of business.

That seems very wrong and time-consuming.

How do I go gracefully from browsing git log to git show _without_ retyping/pasting the human unreadable commit? Preferably with fewer than seven steps.

<comment><USER13> You could use `git log -p` instead of `git log` so that the diff is included.

To navigate efficiently between the commits, you could pre-seed less with a regex that matches commit (and file) lines, so that "n" and "N" jump from one commit (or file) to the next, something like this

      LESS="-R --pattern ^(commit|diff) " git log -p

Delta[1] makes this convenient: delta --navigate.

[1] [https://github.com/dandavison/delta](https://github.com/dandavison/delta)

(Disclosure: I am the author of delta)

<comment><USER14> The one issue I've seen with using `-p` here is that `git log -p` has worse performance when compared to plain `git log` because it needs to calculate diffs, and when searching in less ends up searching the diff contents (even when this is not desired)

<comment><USER15> If you know the specific string (or regex) you're searching for in the commit messages, combining `-p` with one of the pickaxe [0] options might be a bit faster.

0: [http://www.philandstuff.com/2014/02/09/git- pickaxe.html](http://www.philandstuff.com/2014/02/09/git-pickaxe.html)

</comment></comment></comment></comment><comment><USER16> I can almost hear all the fragile tooling built around `master` branches in git screaming.

<comment><USER17> Most people will keep using the default anyway.

</comment></comment><comment><USER18> > [1] Note that since Bloom filters are not persisted automatically (that is, > you have to pass --changed-paths explicitly on each subsequent write), it is > a good idea to disable configuration that automatically generates commit- > graphs, like fetch.writeCommitGraph and gc.writeCommitGraph.

Not sure I understand this note

Does this mean that:

        git commit-graph write --reachable --changed-paths

is not a persistent setting, or it is a persistent setting?

<comment><USER19> The data is stored in your `commit-graph` file by this command, but those other ways to update the `commit-graph` file don't pay attention to the fact that the data exists in order to persist it.

There is work in progress to fix that issue, hopefully in the next version: [https://lore.kernel.org/git/f1e3a8516ebd58b283166a5374843f5c...](https://firstname.lastname@example.com/)

<comment><USER18> so, then if I want to run

        git log -- /path/to/file

I should always execute

         git commit-graph write --reachable --changed-paths

first, if i've made any changes to the repo (e.g. commits), since the last time i've run it (unless I disable the configuration that automatically generates commit-graphs with fetch.writeCommitGraph and gc.writeCommitGraph) ?

<comment><USER19> If you don't disable fetch.writeCommitGraph and gc.writeCommitGraph there is a chance that those operations will overwrite your commit-graph and delete the changed-path filter data. (fetch.writeCommitGraph uses the --split option so it might not actually erase the data until you have accumulated enough "new" commits)

You don't need to rewrite the commit-graph file every time you want to run "git log". The "git log" command will parse the newer commits the old- fashioned way until you reach the commits encoded in the commit-graph file. If you do it once now, then you'll still be fast even if a few commits are added on top of your existing history.

If you update the commit-graph with that command once a week, then you'll stay fast even in a very large repository.

<comment><USER18> > The "git log" commit will parse the newer commits the old-fashioned way > until you reach the commits encoded in the commit-graph file. If you do it > once now, then you'll still be fast even if a few commits are added on top > of your existing history.

Thanks, this is the context I was missing.

Just wanted to avoid a "dirty read" situation.

Thank you for providing the answers here- very helpful!

</comment></comment></comment></comment></comment><comment><USER20> I like that you can change `git init` to have a different default branch name.

At work we've renamed all `master` branches to `main`

<comment><USER21> Just curious - what reasons do people have for not using master?

<comment><USER22> Though in the context of git, master is not intended to be a reference to master/slave [1], it is ostensibly widely mis-identified as such. The change therefore is being made by many as an attempt to be more inclusive. I pulled this [2] Bitbucket blog entry from the original article if you want to read what they have to say.

1\. [https://twitter.com/xpasky/status/1271477451756056577?s=20](https://twitter.com/xpasky/status/1271477451756056577?s=20)

2\. [https://bitbucket.org/blog/moving-away-from-master-as-the- de...](https://bitbucket.org/blog/moving-away-from-master-as-the-default-name- for-branches-in-git)

<comment><USER23> I feel like on the one hand my opinion is "this is stupid and doesn't matter", which makes me think the change was not needed.

But also my opinion is "this is stupid and doesn't matter", which makes me not really care that they did I guess.

<comment><USER24> This change isn't done because master is super offensive or racist in the context of git. It's done to show some kind of support to the movement.

Might not much very much, but I think showing you care is something.

If it breaks a bit of shitty tooling that relies on hardcoded values, then I think we can live through that.

<comment><USER25> I think that propaganda got the better of you. But I can live with that if you can.

</comment></comment></comment></comment></comment></comment><comment><USER26> It's sad to see people complain about git for complication because people just jumped on the "It's made for kernel development by Linus, so it should work for me" bandwagon when he wasn't obviously targeting for the masses...

For sake, I was using bazaar back then as it looked to be aiming to be user friendly but I guess everyone jumping to git killed it.

Now every new git users are crying how it's not intuitive while every developer ecosystem is being built around git.

It's the price we pay for blindly following "coolness".

</comment><comment><USER27> Wish they'd bake in some sort of a solution for managing huge files. A lot of people have this problem.

<comment><USER28> LFS?

<comment><USER27> Not baked in. Also, unreliable and slow.

</comment></comment></comment><comment><USER29> I wonder about which primary branch naming convention they'll arrive at. "primary" is my personal favorite ;)

<comment><USER30> I saw somebody on Twitter call theirs "canon", which I've really taken a liking to. It fits nicely in regular speech too :D

<comment><USER31> Canon is excellent, but I fear it wouldn't catch on due to its religious origins / connotations.

<comment><USER30> I can appreciate that "canon" is used in religious contexts, but its meaning and origin go back further than that. Wiktionary (hardly the best source, I know) lists _three_ secular meanings before the religious ones begin. The most relevant is this one:

> A group of literary works that are generally accepted as representing a > field.

Also, the coinage "fanon" (as in derivative works by a fanbase) comes directly from the treatment of the source material as "canonical". (Frankly, "canonical" is the best argument I can make for "canon".)

<comment><USER32> > but its meaning and origin go back further than that

master/slave goes back to Mesopotamia, 4 thousands years ago and was used to describe the relationship between men and gods

> Man was believed to have been created to serve the gods, or perhaps wait on > them: the god is lord or master (belu) and man is servant or slave (ardu)

I guess being that old is not good enough nowadays

<comment><USER33> But git doesn't use master/slave (noun). It uses master as an adjective ("master branch"). Think cassettes and vinyl records or "master boot record". It means being the definitive source of truth and has been used in that form for centuries [citation needed, but I don't remember where I read it].

This isn't just an instance of "not old enough", it's an instance of it not even being the same word, so I guess you just can't win this...

<comment><USER32> Yep

I made the same point here

[https://news.ycombinator.com/item?id=23970140](https://news.ycombinator.com/item?id=23970140)

</comment></comment></comment></comment></comment></comment></comment><comment><USER34> They still did not add support for a secure hash it seems.</comment>


On Preferring A to B, while also preferring B to A - <AUTHOR> https://marginalrevolution.com/marginalrevolution/2018/07/preferring-b-also-preferring-b.html <comment><USER3> This relates to the Presenter's Paradox, where the presenter has seen both options while the recipient sees only one. As such, they prefer different things.

One study even quantified it[1]. For example, they found that people perceived the value of an iPod at $108, while an iPod with plus a free music download was valued at $86. Side-by-side, the choice is obvious, but individually humans tend to evaluate bundles based on some average rather than a sum.

This has immediate, practical applications for us in everyday life:

* If you're going to buy someone an expensive gift, don't add any extras or bonus accessories.

* If you're sending out resumes, mention your most relevant experience without padding it out with less relevant ones.

* If you're up for a review, "I fixed serious issue X" will make you seem more valuable than "I fixed serious issue X, and this unaligned icon on the web site"

[1] [http://bear.warrington.ufl.edu/williams/Mar_3503/MAR_3503_Ho...](http://bear.warrington.ufl.edu/williams/Mar_3503/MAR_3503_Home_files/Weaver%20et%20al%20-%20Presenter's%20Paradox.pdf)

</comment><comment><USER4> Would giving things "star" ratings count as evaluating them separately? I've always been bothered by star ratings. If I give ItemA 5 out of 5 stars, and then later find ItemB which is even better, how do I indicate that?

I made a simple proof of concept ranker app that shows you two power metal songs and asks "Which is better?" Then it uses your answers as the comparator to binary search each items' positions in the ranking list.

[http://rcfox.ca/Power-Metal-Ranker/](http://rcfox.ca/Power-Metal-Ranker/)

</comment><comment><USER5> Here is the citation for the actual paper, including a link for its download without fee or login:

Sunstein, Cass R., _On Preferring A to B, While Also Preferring B to A_ (March 21, 2018). Forthcoming, Rationality and Society; Harvard Public Law Working Paper No. 18-13. Available at SSRN: [https://ssrn.com/abstract=3132428](https://ssrn.com/abstract=3132428)

</comment><comment><USER6> I've become increasingly skeptical of appeals to "rationality"... the idea works when you're approaching reasoning as a formal system with clear inputs that everyone agrees on, but that doesn't apply to most of the decisions we make on a daily basis.

What's "best" is going to be determined by the specific nature of your values. Rationality, in my opinion, is value-relative, and therefore it makes little sense to speak of rationality as an objective property of a decision. For toy examples where all of the variables are agreed upon, sure, but not much else.

</comment><comment><USER7> I think that at the core of this problem is: 1.) Separate evaluation is done in absolute terms. 2.) Join evaluation is done in relative terms in a specific model. Which specific model? The model that only takes into account the union of features of both items. So this is similar to a relative comparison with conditional probability of occurrence.

The relative evaluation is done thinking about: In which situations would item B be more valuable than item A. All those situations are weighted according to the avaiability heuristic: easy to recall situations seem more frequent or important. To give a simple example: Perhaps a dictionary with 20000 words is enough for you, and you don't need a greater dictionary. But you can think than may words are in the 40000 words dictionary but not in the 20000 word dictionary, so the difference seems to be more important that what really is for you.

</comment><comment><USER8> This is interesting to me because it gives one a way to evaluate if they are valuing something fairly (usually in comparison shopping) like mentioned with the monitor example. Keeping this in mind reminds you to determine the value of a factor independent of other products, thus assigning a significance to you on its own and at different levels. It's also an indicator of how knowledgeable we are about the metric.

For example: One can visualize 128 colors as being not that many. Once we get into the thousands this gets more and more abstract & less important.

Another: A has a 5ms response time, B has a 10ms response time. A seems better, but on its own each doesn't seem to make much sense - lets go learn more about what this metric means.

Another : A is 5kg and B is 10kg. A might seem better but when we look at each independently we look at why weight matters. We realize both are OK - <USER2> monitor isn't going to be moving around much.

<comment><USER9> A 10kg monitor is probably better because it's gonna feel less flimsy and wobbly any time you kick the table. Depending on how the weight reduction was achieved.

<comment><USER10> Any monitor that doesn't bend your desk is light enough. Even ones that do bend your desk are OK if they're a Sony Trinitron. :P

</comment></comment></comment><comment><USER11> >Sellers could take advantage of the bias of joint evaluation by emphasizing information that consumers might think is important but actually isn't–our computer screen has 1.073 billion color combinations while our competitors only has 16.7 million–while making less salient 6 hours of battery life versus 8 which may in practice be more important.

Is there a specific computer manufacturer that this is taking a shot at? Apple maybe?

<comment><USER12> Top two things that come to mind are camera megapixels and 4k screens on phones. Apple always used a smaller number of megapixels but ultimately a better sensor, while other manufacturers touted the raw count. Similarly there were some 4k phones with an unnecessary dpi. I think Samsung had one and although the screen was 4k the OS resolution was defaulted lower to save battery life.

</comment></comment><comment><USER13> > Congressional Candidate A: Would create 5000 jobs; has been convicted of a > misdemeanor > Congressional Candidate B: Would create 1000 jobs; has no > criminal convictions > > In each case B tends to have a higher value when > evaluated separately but A tends to evaluate higher with joint evaluation.

Wait, what? The other examples make sense, but this one doesn't. Even with the joint evaluation, the choice is still highly debatable depending on the actual crime as well as the jobs. Creating jobs doesn't automatically make up for assault, which is considered a misdemeanor in some places.</comment>


Why HTTP/2.0 does not seem interesting (July 2012) - <AUTHOR> https://www.varnish-cache.org/docs/trunk/phk/http20.html

<comment><USER2> Here's a previous HN discussion of this write-up:

<http://news.ycombinator.com/item?id=4253538>

</comment><comment><USER3> The author completely misses the point of SPDY - latency reduction by significant reduction in the number of network roundtrips due to slow start, etc. It makes me wonder, how can Varnish claim to be a web accelerator if the author doesn't understand latency?

The author also seems to prioritize his own convenience of development over end user experience (the prime benefit of performance).

Google hasn't had any trouble implementing SPDY proxies. SPDY is actually an opportunity for a proxy like Varnish because anyone could get the performance gain of SPDY just by plugging a SPDY-to-HTTP1 proxy in between.

</comment><comment><USER4> I know this doesn't pertain to the article specifically, but I wanted to say it anyway.

I would like to see a built in password-based mutual authentication in addition to Basic and Digest authentication.

Additionally, I would like to see a header to drop and forget HTTP authentication.

Also, can't the server just send a multipart message with assets in it (like SPDY's server push) already (by the spec...support is a different question)?</comment>


Ask YC: Why not just redirect to homepage on Unknown or expired link - <AUTHOR>

I really don't get why I should have to do this on my own, and I can't imagine that this should be all that hard to fix. <comment><USER2> (The poster doesn't mention it but I'm sure he's talking about the Hacker News pagination links- if you dig a page or two deep and get caught up in an article for a few minutes and then try to click to the next page again, you get an ugly, worthless error message about the link being expired.)

or better yet, just make it so that HN's pagination links _don't expire_.

</comment><comment><USER3> Honestly, of all of the sites I frequent, Hacker News has the worst user experience. This is how I use the site:

1\. Go to page 1

2\. Read a couple of articles on page 1

3\. Hit next page and receive error.

4\. Go back to page 1

5\. Go to page 2

6\. Read a couple of articles from page 2

7\. Go to next page and receive error.

8\. Go to page 1

9\. Go to next page

10\. Go to next page

11\. Read article from page 3

...

I would be curious to know what percentage of requests to HN return "Unknown or expired link". If I were in control of this website, I would consider this behavior to be unacceptable.

</comment><comment><USER4> Silently ignoring errors that are require user interaction and serving the user something that is a valid response to a different action is terrible for ux.

Say I take too long entering a comment, I get distracted at work, then hit submit. I'm taken to the homepage. Did the comment go though nor not? How an I supposed to know what the hell happened?

</comment><comment><USER5> Otherwise how does a user know that the URL they went to is unknown or expired?

I agree 404 etc pages /should/ be better designed to inform the user then give them links/options to carry on their journey.

Here: <http://www.bbc.co.uk/cbbc/404.shtml> \- we tried to explain a little about the problem, to a young audience and then offer them two ways of continuing their journey - go to homepage or use search.

We also made other URLs fail gracefully. If a user was at: <http://www.bbc.co.uk/cbbc/thingstodo/by/type/printgames> and then 'hacked' the URL to get <http://www.bbc.co.uk/cbbc/thingstodo/by/type> \- we still offered them a page that correctly renders and has the information they were looking for - though we'd never link to this page ourselves (the correct root here would be <http://www.bbc.co.uk/cbbc/thingstodo> )

</comment><comment><USER6> I'm kind of annoyed by it as well but I've learned to click on the top left logo every once in a while and start over from page 1.

So it seems like there's some real UX concerns expressed below re: auto redirect to homepage w/o sufficient error messaging. One solution would be to render the error message on the top of the homepage "Sorry, articles expired like milk so we brought you back to the homepage for fresh articles.".

I would actually prefer an infinite list of stories with stories moving up and down in a clean AJAX'ed way based on live votes so at any given time you are seeing the most up to date list of articles.

</comment><comment><USER7> I never really understood why pagination links expire. Most sites don't expire, you just have to deal with knowing that content that WAS on page 3 when you loaded page 2 might have changed.

</comment><comment><USER8> The way I overcome this problem is by using ReadItLater. 1) Open Page 1. 2) Open new tabs of all the links I want to read in that page as a new tab in the background (I use Opera). This leaves me still in Page 1 while the other tabs open in the background 3) Repeat process for next few pages 4) Finally, go to each tab and click on the ReadItLater Add bookmarklet. 5) Close all tabs. (I don't close the tabs separately but move on the next tab as I find it more efficient that way)

</comment><comment><USER9> Oh yes, this is about the only thing that annoys me about HN. I love the clean, simple interface. But the expiring continuations are... annoying. Like some enterprise systems that log you out after a few minutes of being idle (luckily, you don't have to reenter your password in this case :-)

</comment><comment><USER10> I don't think there should be a redirect. That's unexpected behavior. It wouldn't be bad to have the "Unknown or expired link" actually link to the home page--or better, have all or part of the navigation header on the page as an escape hatch.

</comment><comment><USER11> Would there be much overhead from increasing the expiry time to 3 hours or so? After 3 hours I wouldn't care about pagination, but it seems to be less than an hour currently.

</comment><comment><USER12> I too think pg should do it...</comment>


Show HN: Visio – Social networking for visually impaired people - <AUTHOR> http://myvisio.website <comment><USER2> How many blind people did you speak to about this? Why would I want to use a braille keyboard when I can use a qwerty one just fine? Why do I want to filter my news through your app when Twitter, Facebook, and AP all have accessible apps and websites? As a blind person I don't see a point to this, and effort should be spent improving general computer literacy if required, not creating a blind specific interface that is limited.</comment>


What if the Singularity does not happen - <AUTHOR> http://www-rohan.sdsu.edu/faculty/vinge/longnow/

<comment><USER2> A defuser of singularity could be lack of trust in too complex systems, both in hardware and software. Maybe we could thank the NSA for that.

</comment><comment><USER3> What if the bird will not sing?

<comment><USER4> You mean, like most hummingbirds?</comment></comment>


Ask HN: What to Do with a List of UK Fintech Journalists? - <AUTHOR> My partner has been working for more than 10 years as a PR professional. We now live in London and she has a list of UK's Fintech Journalists. We don't want to sell the list but create a SaaS service using her expertise. The SaaS would help startups to create and send personalised pitches to different journalists among other features like "where you've been featured", "write press releases", "doing follow-ups with journalists"... Would you think is it something useful to be built? <comment><USER2> I would use a service like this! Definitely ping me firstname.lastname@example.com if you need any testing help!

<comment><AUTHOR> thanks, I'll do it</comment></comment>


"qqqq ... qqq" is a strong password according to Microsoft - <AUTHOR> https://www.microsoft.com/security/pc-security/password-checker.aspx

<comment><USER2> Does anyone else find it super annoying with sites tell you what to use as your password? "You have to use a capital letter, at least 3 numbers, a symbol, it has to be 12 characters long, and it can't be one that you've used before." This type of attitudes leads to people writing down their passwords on paper and then getting hacked when someone finds it. As this password shows, not all passwords need to have all those things in order to be secure.

</comment><comment><USER3> Its not going to be in a rainbow table nor will most attacks try anything of significant length. It may be easy to shoulder surf the password, but a typical attack probably won't succeed. That is unless the attacker has some way of guessing the length, but a hash will take care of that.

</comment><comment><USER4> Passwords have to satisfy multiple security issues. Brute force by code is just one. Shoulder-surfing is another. A password like that is going to be incredibly weak as an observer might easily be able to detect it. Same thing goes with longer phrases if they're based on something well known or easily guessed.

</comment><comment><USER5> 12 characters long ... you'll be waiting a while to brute force that one, I'd have thought...

<comment><USER6> Pure brute force is a bad metric, every 12 character password is equally good or bad by that standard. The problem is in how accessible the password is to faster, less random searches. I would think that anyone writing a cracker program would check for single or double character repetitions pretty early in their search.

<comment><USER7> > Pure brute force is a bad metric, every 12 character password is equally > good or bad by that standard.

This is not entirely correct. If you had 12 q's in a row (or any 12 lower case letters) there would be 12^26 permutations that computer would have to check in order to guess it. Adding a capital Q would increase the number of permutations to 12^52. For each additional character set you throw in the mix, you would add the total number of those characters to the exponent part. Adding numbers would make it 12^62 etc. Not all 12 character passwords are created equal and some (like 12 numbers in a row) can quite possibly be brut forced.

<comment><USER8> Are brute force attacks always sequential?

<comment><USER7> I am not entirely familiar with modern day algorithms behind brut force attacks, but the math I described above is the theory behind them. I would imagine that it would have to be in some kind of ordered sequence so that you didn't miss any possibility and that your brut force time would average out (assuming infinite number of tries over rendom selection of passwords). It is, however, reasonable to assume that once the attack got part way though a word, that it would then try most common words etc. But assuming a random compilation of characters, sequential would be the most efficient over many number of tries.

Note: the above does not apply to brut force attacks that try most common passwords and other techniques that include human element. It's just math behind the algorithm.

</comment></comment></comment></comment></comment><comment><USER9> FWIW, @e31z.P8 is considered 'weak', which most people would consider a pretty hard password.

<comment><USER10> The thing about password entropy is that it doesn't matter how many special characters you have in your password, only that they are present because then the computer has more combinations to search through. For example, Foxtr0t! is just as secure as @e31z.P8, but much easier to remember. Helpful hint: long pass phrases are far more secure than random strings of letters and symbols, but easier to remember. thequickbrownfox would take around 5 million years to crack, compared to your example taking 87 years, which probably doesn't matter, but still a fun thought experiment

</comment></comment><comment><USER11> Hm. It tells me "Worst Password Ever!" is a "Best" password. Better start using that one!

<comment><USER7> That is actually a very good password.

<comment><USER12> Not anymore! I'm adding it to my brute-force dictionary.

</comment></comment></comment><comment><USER13> That might be strong, but "qqqqqqqqqqqqqqqqqqqqqqqqqqqq" is BEST!</comment>


NYU releases the largest LiDAR dataset ever to help urban development - <AUTHOR> https://techcrunch.com/2017/07/12/nyu-releases-the-largest-lidar-dataset-ever-to-help-urban-development <comment><USER2> I wonder whether there will be a sort of 3d model version of openstreetmap one day. Especially with drones, it would be relatively easy for individuals to start recording the world in 3d.

There are all sorts of cool parishes one could do with that (too bad Google didn't seem to have an API for their 3d map anymore).

<comment><USER3> [http://wiki.openstreetmap.org/wiki/F4_Map](http://wiki.openstreetmap.org/wiki/F4_Map)

take a look at the city of geelong, victoria, Australia - they collected lidar data and opened it up, so got imported.

Many users are doing the same. We are a long way from Google maps 3D coverage; but is all open data.

In Australia also have addresses datasets as open ("GNAF"), and many industries tie back to that to do variius levels of building information modeling (BIM).

Feels like in 10-20 years those movies where they pull up the blueprints to plan a heist will be a reality.

</comment></comment><comment><USER4> What applications? Like most Techcrunch articles seems incomplete, more like a press release summary.

</comment><comment><USER5> I wonder how many games and movies we'll see set there?

<comment><USER6> None? At least for video games, for some reason producers don't seem to like to include real cities. They recreate architectural styles, put a lot of work into making the place _feel_ like the real city, but if you pull out an actual map, it turns out the virtual buildings and streets don't exist.

I first realized that when I played Modern Warfare 3 around the same time I visited Prague. I pulled up the Prague level map and compared to the city map and my photos; lo and behold, it turns out the city plan in the game was completely made up, even though it features sorta-like real buildings.

</comment></comment><comment><USER7> Not sure why this is particularly exceptional. Very high resolution lidar has been commercially available for a while. And the EA in the UK has released approx 4 TB (compressed) under an open licence.

<comment><USER8> To be fair, at 300 points per square meter it's a lot higher res than the highest EA 25cm resolution data, with its very patchy coverage. But the EA's 1m data covers about half the country so you're right, this featured NYU data is a long way off being the "largest public LiDAR data set ever collected", unless I'm missing something.

If anyone's interested, here's something I made with the Environment Agency (and Natural Resources Wales) data:

[https://houseprices.io/lab/lidar/map](https://houseprices.io/lab/lidar/map)

<comment><USER9> Fantastically beautiful!

Had this strange feeling as I was roaming, zoomed in so I had no idea where I was, when suddenly I recognised a village - I've lived there!

</comment></comment></comment><comment><USER10> I wonder if there are any privacy implications.

<comment><USER5> Not really given the existence of photography. I don't think the shape data would be that much ore revealing.</comment></comment>


Ask HN: Books of Problem Sets - <AUTHOR> Hi all,<p>Considering going through some MOOC's to brush up on and learn some new math. One thing I'm looking for are books containing tons of problem sets so I can practice (maybe ones with answers in the back). Are textbooks my only option here? <comment><USER2> A lot of times you can find old problem sets, quizzes and tests on the course websites for past sections of courses. Just google something like

[https://www.google.com/search?q="linear+algebra"+problems+si...](https://www.google.com/search?q="linear+algebra"+problems+site%3A.edu)

[https://www.google.com/search?num=50&newwindow=1&q=calculus+...](https://www.google.com/search?num=50&newwindow=1&q=calculus+tests+site%3A.edu)

[https://www.google.com/search?num=50&newwindow=1&q=calculus+...](https://www.google.com/search?num=50&newwindow=1&q=calculus+quizzes+site%3A.edu)

or variations on that theme. There's a ton of stuff out there.

If you want a print book, check the various "Schaums Outlines" books, or books in the "For Dummies" series with "Workbook" in the title (ex, "Calculus Workbook for Dummies", etc.) There's also the "Problem Solvers" books and those "Humongous Book of X" books. For example:

[https://www.amazon.com/Schaums-Solved-Problems-Calculus- Outl...](https://www.amazon.com/Schaums-Solved-Problems-Calculus- Outlines/dp/0071635343/ref=sr_1_2?s=books&ie=UTF8&qid=1466045579&sr=1-2&keywords=calculus+problems)

[https://www.amazon.com/Humongous-Book-Calculus- Problems/dp/1...](https://www.amazon.com/Humongous-Book-Calculus- Problems/dp/1592575129/ref=sr_1_1?s=books&ie=UTF8&qid=1466045579&sr=1-1&keywords=calculus+problems)

[https://www.amazon.com/Calculus-Workbook-Dummies-Mark- Ryan/d...](https://www.amazon.com/Calculus-Workbook-Dummies-Mark- Ryan/dp/1119013925/ref=sr_1_1?s=books&ie=UTF8&qid=1466045660&sr=1-1&keywords=calculus+workbook+for+dummies)

[https://www.amazon.com/Calculus-Problem-Solver-Solvers- Solut...](https://www.amazon.com/Calculus-Problem-Solver-Solvers- Solution/dp/0878915052/ref=sr_1_1?s=books&ie=UTF8&qid=1466045679&sr=1-1&keywords=problem+solvers+calculus)

and so on...

<comment><AUTHOR> Schaum's. Now that you mentioned it I think someone on HN was talking about that but couldn't for the life of me remember. Thanks for the feedback.

<comment><USER2> Anytime.

</comment></comment></comment><comment><USER3> I believe reddit has a daily programming subreddit: [https://www.reddit.com/r/dailyprogrammer](https://www.reddit.com/r/dailyprogrammer)</comment>