The Japanese Art of Self-Mummification - <AUTHOR> http://www.damninteresting.com/sokushinbutsu-the-ancient-buddhist-mummies-of-japan/ <comment><USER2> Such practice is quite common within east asia. It is called 'sokushinbutsu' in Japanese, kanji of which translated into 即身仏, which means 肉身佛 in Chinese, literally 'flesh body buddha'. From wikipedia, monk Hui Neng, dating back to 638 A.D. tang dynasty, seems to be believed the first of such example.

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

I cannot say I understand how this is explained from Buddhism within, because I am not practitioner. But if such thing happens, it is usually viewed as some kind of wonder/miracle by the locals, and also means the monk has ascended to be Buddha.

</comment><comment><USER3> Previous discussion :

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

(With a less catchy title)

<comment><USER4> And Wikipedia

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

</comment></comment><comment><USER5> How could someone who is fully enlightened, full of joy and love for all living beings, and totally at peace with oneself choose to indulge in such a practice?

This was less about enlightenment and more about pride and ritual, two powerful forces in all human cultures but, arguably, a greater force in medieval Japan than anywhere else, before or since.

<comment><USER4> Fear, like in all religions. In abrahamic religions people take the "Hell" story seriously. It's to be avoided as nobody wants the eternal torture. Now the eternal torture in the religions which believe in cyclical births and deaths is simply this thing of permanent new births and deaths! Therefore, as long as the body doesn't decay, the cycle doesn't repeat and that's the achievement.

<comment><USER6> >Therefore, as long as the body doesn't decay, the cycle doesn't repeat and that's the achievement.

As far as I know, this is false. The cycle stops repeating when one has reached enlightenment; to my knowledge, what happens after that point is irrelevant - one can't go back from enlightenment, and certainly not due to the body decaying (which is a major topic of Buddhist meditation anyway).

Is there any Pali canon source (I'm only interested in Theravada) that backs up the concept of no decay = no rebirth?

This idea, known in the text as annihilationism, was rejected by the Buddha as far as I know.

<comment><USER4> Nirvana is "the liberation from the cycle of birth and death." The cycle is the main cause of suffering. Observing it this way, the first Budda (being born in Hindu environment) who recognized that the enlightment "frees from the cycle" that is, not beleiving in religious stories achieves the freedom. The follovers made the religion from that too.

<comment><USER6> >that is, not beleiving in religious stories achieves the freedom

The way to achieve enlightenment is via the Noble Eightfold Path. This does not require non-belief. At some point, one eradicates doubt about the teachings because one has realised the truth for oneself through insight meditation.

Enlightenment is nothing as benign as removing faith - it's the removing of the need for faith via direct experience.

Besides, the teachings cover a far wider range of ideas than rebirth. Not only that, but the Buddha is written to have said that an enlightened person can recollect his or her previous births.

<comment><USER4> I don't write about teachings of the religion made later. I just consider the context of Budda trying to save himself from Hinduism in which he grew up. He had a simple solution: deciding not to worry about Hindu beliefs of eternal torture through eternal rebirths and lives and deaths, thus achieving his own personal Nirvana.

<comment><USER7> His solution, if you believe it was one, was far from simple though.

It wasn't just a momentary decision to ignore Hinduism that let to his enlightenment, but a deliberate practice of self examination.

Buddhism is actually a kind of psychology, a study of the mind, and the historical Buddha studied his mind methodically for years using introspective techniques (meditation) that he adapted from Hinduism.

But it's also more than that. Just like you can't learn a difficult skill like hitting a baseball by looking at pictures of others doing it, or by thinking about it or by being told how it feels to do so, you can't realize enlightenment without striving for it.

So buddhism is a set of teachings about the nature of your mind, combined with practices to help you fully realize (come to know) the truth of these teachings in your own mind and body.

</comment></comment></comment></comment></comment></comment></comment><comment><USER8> If you find this sort of quirky ( by Western European standards ) behaviour interesting, then I highly recommend The Naked Eye and Known Unknowns by Charles Saatchi.

The self mummification is one of his short essays.

[http://www.amazon.co.uk/The-Naked-Eye-Charles- Saatchi/dp/186...](http://www.amazon.co.uk/The-Naked-Eye-Charles- Saatchi/dp/1861543409)

[http://www.amazon.co.uk/Known-Unknowns-Charles- Saatchi/dp/18...](http://www.amazon.co.uk/Known-Unknowns-Charles- Saatchi/dp/1861543603)

</comment><comment><USER9> With all respect - this feels to me like the most extreme kind of extreme sport. Absolutely pointless, absolutely deadly - and totally awe inspiring.

</comment><comment><USER10> > These monks also believed deeply in self-sacrifice in service to others. > This manifested in a lot of the usual community service: feeding the poor, > caring for the elderly, treating the sick.

Boy, did that change. Now monks in Japan are all about extorting money from people for any kind of service, and ride in ridiculously expensive cars. Buddha would be proud.

</comment><comment><USER11> How did the monks of Kiev Lavra end up mummified?

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

</comment><comment><USER12> In the 80's and 90's you would pay a lot of money for a cassette deck that would minimise hiss. Here we are in 2015 adding it in artificially.

<comment><USER13> That's supposed to be the sound of insects, cicadas, I think.

<comment><USER14> Yes, especially in Japan they put that sound in pretty much any audio to indicate summer because that's what summer sounds like in Japan. Some of the cicadas are louder than ambulances

[https://www.youtube.com/watch?v=eE- _kNWJXNw](https://www.youtube.com/watch?v=eE-_kNWJXNw)</comment></comment></comment>


Obama to Meet With Mark Zuckerberg Thursday - <AUTHOR> http://blogs.abcnews.com/politicalpunch/2011/02/-obama-to-meet-with-mark-zuckerberg-thursday-.html <comment><USER2> Headline makes it seem like they were meeting one on one. Not the case, but still interesting. Not sure what this really accomplishes besides PR for Obama, though. Will they actually get anything done?

<comment><USER3> Obama will successfully use his charismatic speaking abilities to persuade Zuckerberg to finally accept his friend request.</comment></comment>


Ask HN: Best robust laptop for everyday software development - <AUTHOR> Hi HN, I've been a long term user of both Thinkpads and Macbooks. Back in the old days I loved to work on Thinkpads and loved their robustness. I'm owning a X1 Carbon and have to say that the quality is rather disappointing to me, display broke already presumably from lots of traveling. Macbook is okay, but for running and developing on Linux not very optimal. The keyboard on a Thinkpad is also nicer to use (imho). I moan that we don't have the old days where Thinkpads used to be what they stand for, that is, being robust laptops for everyday development. Any experience / recommendation with rugged laptops (e.g. the rugged Latitude)? If you were to buy a new (<i>robust</i>) laptop to work with and travel often, what would it be? <comment><USER2> It'd have to be a 2015 Retina Macbook Pro for me. Magsafe charging is as robust as it gets. Not too heavy but still can be configured with plenty of CPU/RAM/SSD. I've dropped my 2014 plenty of times and it's just got a few scratches around the aluminium but there's no hinge or port damage.

<comment><USER3> Personally, I feel nothing beats a Mac for overall software development, especially if you are a full stack developer and you like to be able to use all kinds of tools if need be.

I see a lot of people like the ThinkPads and I'm sure they are great, but the secret sauce is not just the machine, but the OS, and macOS is still glorious (it's a UNIX desktop OS!)

I'm not going to tell anyone they _must_ use a Mac, but generally if I see a room full of developers, 90% of them will have Macs. Surely that says something.

Same thing with students. Maybe it's different in other countries, but I think this is the norm in both the US and Europe at the very least.

<comment><USER4> "I'm not going to tell anyone they must use a Mac, but generally if I see a room full of developers, 90% of them will have Macs. Surely that says something"

I did not use Mac yet and would like to try it someday. But I know a quite profane proverb for this thinking: "eat shit, ten million fly cannot be wrong"

I have never seen a developer with Mac in my life - only managers. Developers use highest grade of ThinkPads Dells and HP so consider this to be more of a cultural thing around your country/part of world.

<comment><USER3> That's interesting. Where are you located?

</comment></comment></comment></comment><comment><USER5> I always recommend a ThinkPad. I've been using my T420 for years and it's still holding up great. From what I've seen, the newer laptops are just as durable.

I have run OpenBSD, Windows, and various Linux distributions on it without a hitch. Full driver support is the norm since they use very standard parts.

I fit three drives in mine and the keyboard is excellent for a laptop.

<comment><USER6> T450s on Ubuntu. It's been a super-reliable machine. Good battery life and great to type on. Only complaint is that the trackpad sucks. Maybe that's on my and I need to spend more time tweaking libinput; but for Frith's sake, why is Apple the only company in the world that can make a decent fucking trackpad?

</comment></comment><comment><USER7> I only used Apple products for about a decade, but last year I bought a Dell XPS which I run Ubuntu on. If you're looking to run linux, the XPS is a great choice. The hardware quality is extremely high---long battery life, ridiculous screen resolution (and it's a touchscreen), fast processor, and plenty of storage.

My only complaints stem from the fact that, when using linux, there are inevitably things that don't work as smoothly as they do on OSX, e.g., syncing with google drive.

<comment><USER8> I had so many problems with my XPS that I switched to a Macbook for the first time ever after 1.5 years of using it. My development process went something like this:

\- Start to code. \- Find weird quirk (laptop keeps typing multiple letters, screen resolution doesn't match up, random lag). \- Research weird quirk to see if I can fix it. \- Forget why I was even on my computer.

</comment></comment><comment><USER9> The X220/30 is still a very viable Dev machine if you don't mind the screen.

As a word of caution, I went down the MBP route myself and was recently caught with the dust under the keyboard membrane problem. You probably aren't accurately evaluating how annoying it is to randomly lose your laptop for a few weeks while they repair the keyboard. I certainly was not.

<comment><USER10> Compressed air duster didn't fix it?

<comment><USER11> I have a 2016 Macbook Pro 15" that had the keyboard issue. When it occurred, the problem was not as well known about.

It did not feel like a problem caused by dust. Perhaps it was due to the small tolerances in the keyboard mechanism.

The B key would only work with a very firm press.

Because the laptop was fairly new, I assumed the problem was caused by a manufacturing defect with the frame. The problem was typically worse when the laptop was cold vs. hot.

If the problem is caused by dust (which I find hard to believe due to my issue after only 4 months of ownership) the problem must only need a small obstruction in the right place to cause a key to fail.

When the key failure happens, duster does not seem to help at all.

After the replacement, I have had no other failures. It's sad that a wonderful machine can be brought down with this terrible issue.

On a side note, I am very happy with the computer overall. The four thunderbolt 3 ports allow me to run my entire setup over one connection. I run an external RX 580 in an Akitio Node Pro to 2 4k monitors. MacOS UI design in my opinion feels clean compared to Windows currently and application support is fantastic compared to ten years ago!

Just thought I would offer my insight :)

</comment></comment></comment><comment><USER12> I don't buy new computers anymore. I only buy computers that are a few years old. The last one I purchased was a Thinkpad T420s with the wide screen, maxed out the RAM, popped in an SSD, and for under $500. Works like a charm. Linux gives me no major problems.

If I was going to buy another Mac, it would probably be a 2015ish 13" MBP. I currently have an 11" 2012 Air that is perfectly fine for the type of development I do and shows only minor signs of impending failure. I would def get another one of these as well.

</comment><comment><USER13> The perfect thing you are looking for is a Thinkpad of the T4XX series (even if it seems you want to get away from Lenovo). Why? Not because nothing ever breaks - but because they can always be repaired and every part is available for replacement at multiple outlets (eg Amazon). All parts are mounted on a big magnesium Chassis - and you will find out why this is a good thing if you ever work on it. I personally own a X240 and hope I can use it for many years. Had to replace the keyboard (Beer...), but it was doable. Repairing the Samsung I had before could become a bigger issue because of the low material quality.

</comment><comment><USER14> A 2013-2015 Mac Book Pro 15" with the old style keys if you can find one. I know a lot of orgs and devs are snatching them up these days. Mines been going strong for years. My wife bought the current gen MBP and its been in for repairs __twice __already over that damn keyboard.

I also have a T410 Thinkpad running linux and while the screen sucks, its a tank and still runs great. Super repairable too.

Gonna sound like an old guy here but they truly don't make em like they used to. If you are looking for true durability, might be that getting something a few years old is just the ticket.

</comment><comment><USER15> As much as I like to bang on Apple for various and sundry reasons I go back to Apple every time because I can walk into any apple store in the world and I can get the thing serviced on the spot, often for free, but as a dev, time is money and I need something sorted right away.

This is what you're paying extra for when you buy a mac. Make no mistake.

<comment><USER16> The way I look at it, is maybe you shouldn't have to service your Mac so often (often is a keyword in your coment)? Given the premium you pay for a "reliable" product

<comment><USER17> I think the "often" is more that they often will waive repair fees for people, not that they've personally needed a single device repaired often.

Not that Apple doesn't have issues, but they do tend to be on the low side. When they do have them, they are usually good about fixing it, as well.

The keyboard thing is disappointing but it sounds like they flew too close to the sun and are working on it.

The other big one in recent memory are the iPhone 6's bending. The real issue was that they didn't have a good company-wide policy for stores to follow, so it was often down to how nice the manager of the store felt that day.

</comment></comment></comment><comment><USER18> I bought a ThinkPad T480 at the beginning of this year and I really like the quality. The only comparison I have is my old Toshiba Satellite, compared to which the ThinkPad is miles ahead when it comes to build quality. It has two batteries and on a single charge it can work for 8-10 hours.

One thing I dislike about it is when I carry it in my backpack the keyboard keys seem to press on the screen, which would cause it to wear. To protect against it I'm keeping a microfibre cloth sandwiched in there when I carry it around.

</comment><comment><USER19> I used my T61 for 6 years and had to give it up because the graphic chip busted. Since then I have used multiple laptops Dell to Apple. I even installed Ubuntu on my Apple mac Pro, but it would not suspend and heat up inside my laptop bag.. finally shit blew up. I have been using Xiaomi notebook pro for the last 8 months. Even with a hefty customs, it was cheaper by 80% for any laptop of the same configuration. The build quality feels like Macbook Pro. Ubuntu works out of box.. It suspends and everything works except the fingerprint reader. The xiaomi notebook pro is as heavy as high end macbook Pro and the build quality is brilliant! The config is crazy and haven't faced a problem yet. I check the quality of a good laptop by the how much the lid oscillates if you chuck it a little. Macbook Pro and xiaomi don't oscillate at all.. Dell, compaq, Asus oscillate a good 10-20 degrees.

</comment><comment><USER20> Dell XPS has been great for me.

<comment><USER21> Best laptop I've ever had. Comes with ubuntu.

</comment></comment><comment> k-ian If you want something dirt-cheap and easy to repair, go with one of the earlier thinkpad x-series, x200, x201, x220, x230...

They're underpowered, but if you're just SSHing into a remote box it's a good choice.

<comment><USER22> > They're underpowered, but if you're just SSHing into a remote box it's a > good choice.

I feel like this concept doesn't get enough attention. You'll never get a laptop (that you actually want to carry) that has as much power as a server in a rack somewhere. Thinking of the laptop as an ephemeral mobile thin client rather than an entire workstation lets you focus on finding a laptop that's comfortable to type on and not a pain to carry. Trying to combine all of those requirements with a lot of computing power is much more difficult and expensive.

I second the earlier thinkpad X series suggestion. My x201 was less than $200, has fantastic driver support, and you can beat the snot out of them. [https://www.youtube.com/results?search_query=thinkpad+x201+c...](https://www.youtube.com/results?search_query=thinkpad+x201+crash+test)

<comment><USER23> Wouldn't say the i7 x230 is really "underpowered" but of course it shows its age a little

comparison to my T470p (which sadly is not an i7): [http://cpu.userbenchmark.com/Compare/Intel- Core-i7-3520M-vs-...](http://cpu.userbenchmark.com/Compare/Intel- Core-i7-3520M-vs-Intel-Core-i5-7300HQ/m50vsm223877)

</comment></comment></comment><comment><USER24> > I'm owning a X1 Carbon

Just curious, what generation X1? Gen3s through gen5s in our fleet have been quite robust, but Gen6 have been problematic from the linux support side. We have a couple of problematic individual X1 laptops in the fleet that have been in for service multiple times, but knowing the owners of the laptops in question, it is not surprising.

We've got between 40-60 X1s (gens 3-5) and I'd say their issue rate is at or below that of our fleet of 200+ 13" MBPs. In that time, we've had one X1 with a broken hinge, one with a dead fan, and one with chronic user issues :)

The new 13" MBPs have been particularly bad with chronic keyboard, battery and screen issues. So much so that people with the old MBPs are holding off to the very last minute to update. Which sucks because in most cases, their problems with them would be fixed by new batteries and an OS reinstall, but since they're not serviceable, we just bin them for a 3rd party service provider to deal with later.

Also, the fact that Apple refuses to provide any type of pickup or onsite service contract is absolutely ridiculous. The damn things fail so frequently, it's cheaper for us to overstock Mac laptops just because it can take weeks to get a laptop fixed even through our 3rd party service provider. Our service provider often cannot get parts or has to wait for Apple to approve the release of a part to them even though they're an Apple certified shop.

Even going to the Apple Store is a complete and utter yardsale in our experience. Most of the time, it'll take them a week or more to fix anything, usually they say, because of parts availability (we're talking 13" MBP and 13" MBA mostly).

</comment><comment><USER25> If you like the MBP but want to use GNU/Linux, you don't need to install it on the MBP's bare metal. You can use it in a virtual machine. I use my home desktop as a gaming machine (running Windows) and as a coding machine running FreeBSD in a VM and it works great.

You probably don't even need to set up X-Windows on the GNU/Linux guest. You can just run it headless and ssh in from a terminal on the macOS host.

<comment><USER26> This is what I do as well. I'm usually working on remote linux servers, but if I need to do something locally I ssh to a VM.

</comment></comment><comment><USER27> T480s is great. (I think I got my config for around $1600 with deals -- i5 8250U, WQHD, 16GB RAM, 512GB SSD)

You could opt to get the IPS 1440P panel instead of the stock 1080P TN Panel (I'm not 100% positive if it's TN or IPS). I think 8th gen i5 is sufficient for daily dev work. The laptop keyboard is pretty decent compared to other brands (Dell XPS, HP Spectre, MAC, etc).

It does come with some flaws due to Lenovo's _very bad_ quality control.

When I ordered my T480s, I had to exchange it due to very bad backlight bleeding that was worse than the normal circustances.

In terms of weight, it's pretty light, and is pretty good for travelling.

One of the other drawbacks of the T480s is that there is no official hard- shell casing. Honestly, I have no idea why some Thinkpad users have ideas against having a case on their Thinkpads, but I think it is totally viable to get one, as it would prolong the lifetime of the laptop unless you destroy it pretty hard.

I would opt to get the non-backlit keyboard, as I have 0 use cases when it comes to backlit keyboards. I think it gives a more sticky key feel to it as well.

Overall, I think T480s is a great choice.

</comment><comment><USER28> I recently purchased a HP Envy x360 15z [1] and it might not be the most rugged I feel it is a solid laptop with good build quality. I also like that its one of the few on the market today with a AMD Ryzen APU (I got it with the 2700U). This gives the advantage of great linux support with the AMDGPU drivers and a nice compromise between Intel integrated graphics and some of the dual gpu offerings. The only issue in linux is the touchscreen is currently not functional out of the box. There is a bugzilla entry and patches but they have not been upstreamed yet [2].

[1] [https://store.hp.com/us/en/pdp/hp-envy-x360-15z-touch- laptop...](https://store.hp.com/us/en/pdp/hp-envy-x360-15z-touch- laptop-3ec81av-1)

[2] [https://bugzilla.kernel.org/show_bug.cgi?id=198715](https://bugzilla.kernel.org/show_bug.cgi?id=198715)

</comment><comment><USER29> I have owned Thinkpads since IBM days, testing the waters occasionally outside of the brand. My proposition is also a bit easier since I will only ever use Linux or FreeBSD (and never Windows or Mac). I stand by the W530, the P50, and most recently, the P52. I felt so strongly about my initial impression of the P52 that I bought one for myself to use for all of my personal work. Perhaps it's just a thing with the X1 Carbon?

That being said, my personally-owned P52 is the first Thinkpad I've ever had that required me to re-paste the chips. For the benefit of readers, Thinkpads have a not insignificant chance (~5-10%?) you'll need to re-paste the thermal paste on the CPU and/or GPU, and this is the first one I've ever had that _needed_ the re-paste. I have always re-pasted the chips perhaps the last ten years or so -- doing this while changing out the components (usually RAM and disk) with top-of-the-line components I buy separately because they're oftentimes hundreds of dollars cheaper if you install them yourself -- but didn't _need_ to re-paste until this one, which would immediately throttle out under any kind of load.

One more complaint: I wanted a P52 with a 4K display, but Lenovo refuses to sell a configuration with a 4K display that does _not_ have that awful, terrible, shitty fingerprint-magnet glossy TOUCH screen. There is no way in hell I would use that glossy screen or a touch screen of any kind on my daily driver, so I was forced to stick with a "regular" HD display. In hindsight, I'm actually happier not having spent the money on something that I don't typically use (as I am far more likely to use workspace-switching hotkeys than try to make my use of screen real estate more efficient). Anyway, I agree that Lenovo is starting to cut corners, and it seems that eventually (perhaps soon) Thinkpads will no longer be suitable in this role. But today, with my recent history with the W530, P50, and P52, I still stand by Thinkpad as my rugged daily driver and constant life companion.

</comment><comment><USER17> Depending on exactly what you need to do, don't discount being able to run Linux boxes on a VPS for very cheap.

For example, I have a small dev/bastion box that I just use Mosh to SSH into. If you're comfortable on the command line, this has a huge number of benefits. E.g. doesn't have to sleep, huge network pipe (especially to your other boxes), using tmux to re-attach to long-running processes, use a tablet or even a phone to do some things, etc.

If I need something that requires a ton of resources, I can spin up a really big machine, do what I need, and only pay for the hours I used it.

This allows me to have a really tiny if slightly underpowered laptop. Even if you don't have your "dev" box on a VPS, offloading your bigger tasks to them can allow you to still get a smaller laptop.

</comment><comment><USER30> From an ergonomic viewpoint, the best laptop is no laptop at all, but instead use a desktop computer.

<comment><USER31> I agree and never do serious work on a laptop, but some require mobility. I simply dock my laptop and use it as my desktop because occasionally I need mobility.

</comment></comment><comment><USER32> Dell Precisions have always been pretty durable. The newer ones have gotten much thinner and lighter, and I've not used them, but you can often find refurbished sub $500 m4800s that can still support 32GB of ram, multiple sata drives, discrete graphics, etc.

<comment><USER33> Can't stand the weight of it. It is not a portable system. Though very powerful, you need to be muscular to lug it on long walks across business districts! I prefer X1 Carbon or T480s!

Somehow hate Macs!

</comment></comment><comment><USER34> I travel a lot for work with my X1 Carbon (7th gen i7), and have had no issues.

I also have a t460s (current version is the t480s) which is also pretty decent and went through a ton of travel with no issues.

</comment><comment><USER35> If travel is your worry a more protective backpack or hard shell case might serve you well. Every "rugged" laptop I've seen is under-specd and over priced.

</comment><comment><USER36> ThinkPad X200. Cheap, reliable, durable, and with perfect Linux support. It's over 10 years old and still a fantastic laptop.

</comment><comment><USER37> I use an XPS 9560 for personal projects/personal use but keyboard is so so on it and lenovo keyboard is so much better.

At work I use HP 15u g3, which is also mediocre imo.

To be honest I just prefer desktop with a mechanical keyboard. Having 5Ghz CPU really helps.

I have not use latitude in a while, but dealing with dell is usually terrible. However, the on-site service is good.

</comment><comment><USER38> I currently have three battle tested favorites: The Dell XPS 15, the System76 Galago Pro and the ThinkPad T470s. They are all robust, have great hardware, good keyboards (ThinkPad's still my favorite though) and excellent Linux support.

</comment><comment><USER39> I'm a huge fan of the Asus Zenbooks for taking it with me. Also, the Sagers for powerful computing. (But it's not as portable). Sagers are gaming laptops.

All of the machines have Linux. The HP Workbooks/zbooks have been decent for work.

<comment><USER40> I own Asus Zenbook for about 6 months and I'm disappointed with the problems it has on Linux. At least with Ubuntu 16 here are things that don't work out of a box (I didn't try Ubuntu 17 or 18, but based on my readings 17 has similar problems):

* Dual GPU support, several configurations that I've tried cause the system to hang. For now I'm using nvidia all the time, which drains the battery.

* Special keys for things like brightness and sound level do not work.

* Every couple of restarts the sound is broken (unbearable noise while playing).

I'm sure all this issues are fixable with enough time, which unfortunately I don't have (this is not my main development machine, I still use desktop for most of the work). I was just surprised that in 2018 a shinny laptop can work so poorly with Linux.

<comment><USER39> The only issue that I'm getting right now is something to do with the Intel driver freezing after sleep. (Just haven't had time to troubleshoot lately)

Brightness works for me. Dual GPU: I only have the intel graphics. Usually Dual GPU requires optimus.

</comment></comment></comment><comment><USER41> Thinkpad E560 owner here, bought it a couple of years ago for less than $500 on newegg, installed ubuntu on it and that's it. Dropped it a few times, and work like 8-10 hours a day on it, never had any issue. Solid.

</comment><comment><USER42> Thinkpad Carbon X1 6th gen w/ Ubuntu. IR camera is useless but whatever

<comment><USER43> So is the finger print reader. The IR works nicely in dim lit rooms

</comment></comment><comment><USER44> Thinkpad, Latitude or ZBook. All of them are approximately on the same level when it comes to ruggedness -- maybe HP has slightly worse QA but that's only my anecdotal experience.

</comment><comment><USER45> I have just bought a ThinkPad T480 (the latest upgrade of the T4XX series) and I absolutely love it. Great finish, great performance, great battery life.

<comment><USER46> How many hours of real world use do you get? I've been meaning to upgrade from a 440s and want to know how the battery performs on the newer models.

</comment></comment><comment><USER47> Surprised nobody mentioned Lenovo yoga 910 yet. I got it last year, run Ubuntu with i3 on it, haven't charged in 2 days with on and off usage.

</comment><comment><USER48> ThinkPad T or X series, hand's down.

</comment><comment><USER49> Stick with Lenovo (assuming you want to run linux on it). P70 is a good one.

</comment><comment><USER50> MacBook Pro 2018 with an external keyboard and mouse

</comment><comment><USER51> Punch cards and a box to keep them organized

</comment><comment><USER52> Thinkpad T series. Buy it for life.

</comment><comment><USER53> Unfortunately that is a monopoly (dont want to promote the brand) but hopefuly competition will rebound with tablets.

</comment><comment><USER54> not going back since started using macbooks. sure, I cried when I paid 2400£ for it.

</comment><comment><USER55> In the future, you will go out with your keyboard instead of a laptop.

<comment><USER56> In the future, you will go out with a headset and a pair of gloves instead of your keyboard.

<comment><USER57> The future, as seen from early 1990s; banging your fingers into the table is somewhat underwhelming compared to the response of a keyboard. If the gloves could fix that with tactile feedback...

<comment><USER17> I'd hate to be an early adopter for gloves that presumably stimulate nerves in your fingers with electricity or something.

</comment></comment></comment></comment><comment><USER58> ThinkPads have indeed declined in quality. Especially the keyboards have become very fragile and break under normal wear in a few years if not less. Replacing them at that point is normally impossible since that spare part is no longer in stock. Sad :(

<comment><USER59> Not on the good models such as T and X series.</comment></comment>


Ask HN: What are some of your favorite documentaries? - <AUTHOR>

<comment><USER2> Truth in 24 ([http://www.youtube.com/watch?v=FFwoxM1MiBw](http://www.youtube.com/watch?v=FFwoxM1MiBw)) Great engineering, great strategy (underdog must take risks to beat the well- equipped adversary)

</comment><comment><USER3> I had asked the very same question about two years ago.

I would say that the list is probably still pretty good:

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

</comment><comment><USER4> BBC's Tiger Island: [http://www.youtube.com/watch?v=nHOxXOeCI0Y](http://www.youtube.com/watch?v=nHOxXOeCI0Y)

I found a lot of this film incredibly interesting. But just seeing the behavior of wild tigers in the presence of humans (especially compared to what many of us have likely seen in a zoo) was incredible. The look they give to humans just screams pure murder and unexplainable hatred.

Anyway, watching that documentary also made me watch other tiger related ones, of which this one ranked pretty well: [http://www.youtube.com/watch?v=LljDuIUtvbQ](http://www.youtube.com/watch?v=LljDuIUtvbQ) (Operation Snow Tiger) also by BBC (and I recall correctly it is in 2 parts).

</comment><comment><USER5> Man on Wire ([http://www.imdb.com/title/tt1155592/](http://www.imdb.com/title/tt1155592/))

Exit Through the Gift Shop ([http://www.imdb.com/title/tt1587707/](http://www.imdb.com/title/tt1587707/))

The King of Kong ([http://www.imdb.com/title/tt0923752/](http://www.imdb.com/title/tt0923752/))

</comment><comment><USER6> I would say Jiro Dreams of Sushi while not really a documentary, more of a biography, will make you re-evaluate (if only temporarily) your life.

</comment><comment><USER7> Etre et Avoir, about a French elementary school teacher: [http://www.amazon.com/Original-French-Version-English- Subtit...](http://www.amazon.com/Original-French-Version-English- Subtitles/dp/B000296E7W/ref=sr_1_1?s=movies- tv&ie=UTF8&qid=1377024757&sr=1-1&keywords=etre+et+avoir)

</comment><comment><USER8> Earthlings is by far the best documentary I have ever watched. Must watch it. Probably available on youtube and torrents.

</comment><comment><USER9> Werner Herzog's documentaries, for example Grizzly Man, My best fiend (not sure it exist in English), Wings of Hope (That is, if you don't mind a heavy German accent which after watching quite a few I strangely enjoy now as it becomes kind of his trademark)

</comment><comment><USER10> Albert Einstein - How I See the World [http://www.youtube.com/watch?v=HZ_W3EAfp6I](http://www.youtube.com/watch?v=HZ_W3EAfp6I)

</comment><comment><USER11> The Cruise. Preview here: [http://www.youtube.com/watch?v=31199urdlAE](http://www.youtube.com/watch?v=31199urdlAE)

</comment><comment><USER12> If you'll count mockumentaries then Supervolcano, it was about the magma chamber(s) under Yellowstone Park.

</comment><comment><USER13> Smartest Guys in the Room (about Enron) Cocaine Cowboys (about the drug boom in Miami during the 70's)

</comment><comment><USER14> Mixtape, Inc. -- I know it's nowhere near tech related but I was involved.</comment>


My butthole has been a location on Facebook since 2012 I can't get it removed - <AUTHOR> https://old.reddit.com/r/legaladvice/comments/ev28pn/my_butthole_has_been_a_location_on_facebook_since/ <comment><USER2> [https://news.ycombinator.com/item?id=22170749](https://news.ycombinator.com/item?id=22170749)</comment>


Small things add up: 4chan's migration to a cookieless domain - <AUTHOR> http://chrishateswriting.com/post/68794699432/small-things-add-up <comment><USER2> > 50 bytes may not seem like a lot, but when you're serving 500 million > pageviews per month, it adds up.

That's a void argument in the article. If they were serving pages with 500 bytes each this would indeed be a huge improvement, but no page is 500 bytes. I just opened 4chan.org, and the markup _before <body>_ is already 1,836 bytes. The entire frontpage of /b/ is 114,428 bytes, and saving 50 is absolutely negligible. On the other hand, if saving single bytes was significant, there would be a lot more potential in the source by shortening CSS class names etc. rather than picking a short domain name.

EDIT: According to [http://www.4chan.org/advertise](http://www.4chan.org/advertise), there are a total of 575,000,000 monthly page impressions.

<comment><AUTHOR> You're absolutely right -- it _is_ negligible. When you're serving upwards of a petabyte per month, 23 GB isn't exactly a lot!

> On the other hand, if saving single bytes was significant, there would be a > lot more potential in the source by shortening CSS class names etc. rather > than picking a short domain name.

Also spot on, but the point I was trying to make is I was given the choice of choosing a longer domain and a shorter one, and the shorter one resulted in smaller page size, which does result in some (though as you put it, negligible) savings in terms of transfer. CSS/JS refactoring/pruning would definitely be a better bang for your buck if your goal was solely to reduce page weight, but my primary goal was to decrease request overhead and this was just a side benefit at no additional cost to me.

As an aside, I would say the non-technical benefit of the longer domain (4chan-cdn.org) would have been avoiding user confusion, but I feel this is mitigated since visiting 4cdn.org directly bounces you to www.4chan.org and our custom error pages make 4cdn.org clearly 4chan related.

<comment><USER2> Right, if you use a short domain name "because why not" for something new that's alright. It was just the "it adds up" part that I was commenting on.

Do you have (well, you're moot, so -- want to share) some more data of 4chan's current size? I'm sure lots of people would be interested in hearing about that. (This would probably make a great individual post.)

<comment><USER3> I'd be very interested in this... I used to visit 4chan all the time back in the day, not so much now, but I do enjoy reading statistics about the site.

Thanks for this article moot.

<comment><AUTHOR> I've been meaning to write a post about all of the weird stuff we do in the interest of maximizing our limited resources. We've always had to stretch things as far as possible given server, financial, and time constraints, which has led to some interesting/unorthodox "solutions."

<comment><USER3> That's what interests me about 4chan's story... How you do that is amazing.

</comment></comment></comment></comment></comment></comment><comment><USER4> > If you've been linked directly to a Facebook photo, you may have noticed the > domain wasn't facebook.com, but instead something like fbcdn- > x-x.akamaihd.net. Large sites load static content from special domains for a > few reasons, but primarily to reduce request overhead, and sometimes > security.

This works for 4chan, but in case of Facebook, it actually reduces security - since cookies cannot be checked for photos on static domains, _everybody_ can access _every_ photo (as long as they are given an URL), regardless of the photo's privacy settings. In the case of Facebook, they are probably using sufficiently random URLs that mostly mitigate the issue, but a naive implementation could be very problematic.

<comment><USER5> If you give the url of the photo you are allowed to see to someone else, you can give the actual photo as well. I don't get the security risk here.

<comment><USER6> If the urls are guessable then someone could harvest images without having been given urls by authorized users.

</comment></comment></comment><comment><USER7> A quick look shows that you could minify the Javascript quite a bit more (which is relatively easy, and would save a lot more than 50 bytes). You might also look at inlining all of the Javascript into the HTML directly (this is what Google does), which saves the extra HTTP requests. You could also do this with some of the persistent images on the page (logo) and inline them with base64 (but I don't think it actually helps with the page size).

Finally, instead of using the browser extensions (which are helpful), get actual PageSpeed installed on the servers!

Apache: [https://developers.google.com/speed/pagespeed/module](https://developers.google.com/speed/pagespeed/module) nginx: [https://github.com/pagespeed/ngx_pagespeed](https://github.com/pagespeed/ngx_pagespeed)

Regardless, awesome stuff. Big fan. Much love.

<comment><AUTHOR> Thanks for pointing that out. We minify production JS using Closure Compiler but sometimes that leaves room for improvement.

There's definitely a tradeoff between inlining JS and small images, but I think in our case it makes more sense to leave them external to leverage browser (and since we use a CDN for static content -- edge) caching.

I believe I tried to get ngx_pagespeed up and running when it was announced, but couldn't get it to compile from source. Sometimes (read: often) it sucks to be a FreeBSD user.

<comment><USER8> I've found that uglifyjs does about as good a job as Closure Compiler, but waaay faster. Could be a nice speed up in deploy times for you.

<comment><USER9> closure kicks uglify for size when compiling with advanced optimisations.

<comment><USER8> I found that the advanced optimisations broke our Javascript when I compared the two a couple of years back. We weren't interested in rewriting our Javascript to make it compatible with the Closure.

<comment><USER9> The thing that will break your code is this type of notation this['function'] since the compiler can have no idea what renaming should apply. There are aspects of the library that lets you expose public apis.

I can really recommend the compiler in AO mode, the type saving is insane (75% reduction in file size) and type checking is sweet

</comment></comment></comment></comment></comment></comment><comment><USER10> Hey moot, why don't you let pass users bypass individual IP blocks?

I refuse to disable my VPN, so it means I can't post any more. A shame 4chan has no way for privacy conscious users to post, especially given your support of StopWatching.us and such.

<comment><USER11> You can... you just have to shell out money for a 4chan pass :\

<comment><USER10> I have one.

> "4chan Pass users may bypass ISP, IP range, and country blocks" > "Pass > users cannot bypass individual (regular) IP bans."

So, if some random spammer uses the same VPN server, it gets blocked by an individual ban. This rapidly happens to all popular shared VPNs.

</comment></comment></comment><comment><USER12> I never even contemplated the size of cookies before seeing this. It never occurred to me that it could create such an overhead. It'd be incredibly handy if we could set a header like `x-send-cookies: NO` to stop the browser sending cookies along for static content. Great post, a real eye opener.

<comment><USER13> Set a header where (on which request from whom to whom?)

<comment><USER14> The initial request from browser to server, I presume.

</comment></comment></comment><comment><USER15> Maybe it's just me, but I hate how current web technologies force people to register separate domains for static content. This is not how domains are supposed to work.

<comment><USER16> They don't. You could serve your site off of www.domain.com and your CDN off of cdn.domain.com easily.

<comment><USER17> But then you still have to remain vigilant against a clueless dev or random JS lib on www.domain.com setting a cookie for .domain.com, which your browser will helpfully include with requests to cdn.domain.com. With the completely separate root you're protected from that.

[http://en.wikipedia.org/wiki/HTTP_cookie#Domain_and_Path](http://en.wikipedia.org/wiki/HTTP_cookie#Domain_and_Path)

<comment><USER18> So basically it doesn't _have_ to be that way, but to protect yourself from cluelessness/stupidity, you do it.

Kind of like Unix permissions vs. jails/virtual machines. Both are secure, but one is more secure against incompetence than the other.

<comment><AUTHOR> I wouldn't agree. There are completely legitimate reasons to set cookies on *.domain.com -- it isn't "clueless/stupid" to do so, just less ideal.

<comment><USER18> I wasn't making a statement, just trying to clarify and then making an analogy to verify my understanding. I think I omitted a question mark where I should have had one.

Certainly, it is not _automatically_ a bad idea to set such cookies. I see that.

</comment></comment></comment></comment></comment></comment><comment><USER19> I'm very curious why an anonymous site that doesn't even allow registered users gets 100k worth of cookies on a typical connection.

Not saying you're doing anything wrong, just curious. I assume some of it is for ad tracking, but that's still a hell of a lot of data!

<comment><AUTHOR> Well it's a single kilobyte, but 100 KB in aggregate.

It's almost entirely Google Analytics, unfortunately. Our ads are served from a different domain (4chan-ads.org) for specifically this reason (user privacy and cookie bloat).

<comment><USER20> The newest version of Google Analytics eliminates most of the cookie bloat. There's now just a single id cookie that's around 30 bytes or so.

[https://developers.google.com/analytics/devguides/collection...](https://developers.google.com/analytics/devguides/collection/upgrade/)

<comment><AUTHOR> Wasn't aware of this (but was hoping it was in the works) -- thanks a bunch!

</comment></comment></comment></comment><comment><USER21> We wanted to do this at a news site I worked for (since we had way too many cookies) but the problem was Google news.

On Google news thumbnails would not be shown unless they came from the same domain as the other page.

So our content was on "www.example.com" and pictures were on "media.example.com" but the cookies were for "example.com" so got sent with every image request.

<comment><USER22> Set cookie for www.example.com?

<comment><USER21> Unfortunately they used various subdomains for things.

</comment></comment></comment><comment><USER23> moot, given that your site seems like an ideal candidate for WebP, why not use it with pagespeed (and/or let users opt to use the format when posting)?

<comment><USER24> In order to stay compatible with non-WebP-supporting browsers, moot would have to keep two versions of image files on the disk, causing a lot of pain and HDD waste.

It could work for the smaller boards, though...

<comment><USER25> A board for WebP animations would be amazing.

</comment></comment></comment><comment><USER26> Recently a way to save ~33 raw bytes was suggested in the HTML5 Boilerplate issues by using localStorage.

[https://github.com/h5bp/html5-boilerplate/issues/1444](https://github.com/h5bp/html5-boilerplate/issues/1444)

</comment><comment><USER27> Now, what about the extra DNS lookups? That adds 1x roundtrip time for the user, plus 20-40 bytes of IP header (v4/v6), plus 8 bytes UDP header, plus ~25 bytes for the query and ~100 bytes for the reply.

<comment><USER28> Wouldn't that be cached after the first load?

<comment><USER29> Doesn't that depend on the browser? Chromium definitely does cache DNS records (chrome://net-internals/#dns). I remember Firefox relying on a system configured DNS cache (dnsmasq or pdnsd on Linux).

</comment></comment></comment><comment><USER11> 4chan uses cloudflare, right?

Have you investigated the gains to using Cloudflare's Railgun? Seems like it'd be able to save quite a bit of bandwidth on your end.

</comment><comment><USER30> I'm a bit paranoid, don't trust google and never really liked the idea of recaptcha on 4chan because of the illusion of anonymity found there. The cherry on the top is finding out uses Google analytics (mind you I haven't been there in a while. Back then I wasn't nearly this concerned with privacy)

<comment><USER31> I also wish 4chan would switch to open source, self-hosted CAPTCHA and analytics solutions. CAPTCHA especially, because while analytics scripts, tracking images, etc. can easily be blocked, you cannot participate on the site without allowing ReCAPTCHA to constantly phone home to Google.

</comment></comment><comment><USER32> They should probably also force connections trough their SPDY supported HTTPS, rather than making it an option.

<comment><USER33> A huge portion of their user-base doesn't visit with SPDY-capable browsers.

<comment><AUTHOR> Actually 78.75% of our users are on Chrome/Firefox!

SSL is forced on our domain you post to (sys.4chan.org) with redirects and HSTS, and we set cookies with proper Secure and HTTP-Only flags. Maybe some day we'll force SSL site-wide, but I don't think that's the right decision for now.

I definitely encourage people use the EFF's wonderful HTTPS Everywhere extension though: [https://www.eff.org/https- everywhere](https://www.eff.org/https-everywhere)

<comment><USER33> 78.75%? That's great news!

I imagined a lot of people would be using mobile and I know that Safari iOS doesn't support SPDY. Does this mean that > 80% of users are browsing on desktops, or is it possible there's a mobile app that's reporting a false user agent?

Or maybe all the iOS users fell victim to waterproof tests...

<comment><AUTHOR> We get surprisingly little mobile web traffic -- only 16% in November.

</comment></comment></comment></comment></comment><comment><USER34> I doubt domain length will really make any difference, gzip compression should take care of a longer domain name.

<comment><AUTHOR> The 50 bytes figure represents a compressed response. (We actually write all of our pages compressed to disk before serving them -- nothing is served dynamically. But that's for another post...)

The example below isn't the most scientific, but should give you a rough idea.

      Test index page with different static URLs:
      URLs as 4cdn.org -- 23261 bytes compressed
      URLs as 4chan-cdn.org -- 23311 bytes compressed
      URLs as 4chan.org (control) -- 23278 bytes compressed

<comment><USER35> So 4ch.io would have knocked-off another 30 bytes or so?

<comment><AUTHOR> BRB, switching everything now!

</comment></comment></comment></comment><comment><USER36> I don't have any of these problems with 4chan because I block most of their JS and I don't accept 3rd party cookies, and I definitely don't let any Google APIs run on my local machine. Google's APIs are for Google's hardware, which my hardware is not a subset of.</comment>


Do software engineers need mathematics? (2000) - <AUTHOR> http://www.maa.org/devlin/devlin_10_00.html

<comment><USER2> I don't really buy it. I think practice with tackling bigger and bigger problems teaches you more about the need for the specific kinds of abstractions that are most useful for SE. When you get to problems that are too big to fit entirely in your head, you start realizing the absolute necessity for hiding implementation details, and when you work over time with other people using your code, the similar necessity for limiting the flexibility and expansion points in the libraries you write - i.e. not making things too abstract, in many cases.

So much of abstraction in SE is about chunk size - what's comfortable to fit in your head when thinking at any particular level - and minimizing surface area between modules, where enough experience with a wide selection of APIs to develop good taste is important.

Whereas I see a lot of mathematics as being about eliminating redundancy, seeing connections between things and reducing them to their most orthogonal and best factored form, with the minimal number of concepts; but with not a whole lot of concern for complexity specifically. The same approach applied to SE _can_ be useful, but mostly only in central libraries that have the widest variety of uses. I'm thinking of collections in particular; there, you want a wide selection of querying and transformation primitives to make arbitrary data manipulation problems easier to express. But most libraries and APIs don't benefit from that kind of factoring; they are best approached from a UI perspective, looking at use cases and building in affordances that make all the common cases trivial, while making the edge cases possible. This makes them lop-sided and redundant, and probably would offend someone with a heavy mathematical orientation.

tl/dr: mathematical thinking is roughly the right kind of thinking, but practice of reading and writing code teaches thinking that's a better fit.

<comment><USER3> Reading and writing code does not teach you recursion. Certain abstract ideas fall into the domain of mathematics even if you can pick up some of them outside of a formal mathematical education.

<comment><USER2> Reading code using recursion certainly does teach you recursion.

Classification of ideas does not lend the classifier ownership over the idea. Ferns were around long before mathematicians.

(To a certain degree, I'm taking a devil's advocate position. I'm not arguing against the worth of mathematics. But not a lot of SE requires much mathematics; what I am specifically disputing is that teaching a lot of abstract mathematics necessarily results in a better software engineer than deliberate practice. Solving simple combinatorial, tree and graph search problems teaches you more about the practical uses of recursion than any amount of recurrence relations, IMO.)

<comment><USER3> I immediately rethought my assertion when I submitted but left it for argument. Like Picasso saying "computers are useless" to encourage deeper discussion. Mathematics lends rigorous proof, like with an induction proof. It takes a level of abstract thinking to decipher recursive code, the kind of training helped by a mathematics education. Software programming gives you exposure to existing abstractions but direct mathematics training gives rigor to developing new concepts. University disciplines, within the university, do have ownership over domains of knowledge. So computer science is really math and engineering.

Like philosophy, mathematics is about ideas. Understanding the underlying philosophical and mathematical ideas are enlightening and often practical. Benefiting from understanding these ideas or methodology does not necessarily mean I have to be good at the level of philosophical writing, or solving proofs.

<comment><USER2> Unfortunately, very little of software engineering involves new concepts; and when they are introduced, it's often ill-advised. It's usually better to build something out of two or three well-understood ideas that have stood the test of time in the industry than a single novel one, even if it's a lot shorter and less work for the initial implementer. There will be later maintainers who may not have had as much invested in their experience and training, and it's normally better for whoever is paying the bills that specific and exotic skills are not required on a continual basis.

New ideas really pay off when the constraints are such that conventional composition of existing ideas won't work well. But those situations are rare.

It might sound like I'm arguing against talented software engineers, or against education, training etc., but really it's just business pragmatics and economics.

</comment></comment></comment></comment></comment><comment><USER4> Good article. I would just add that Philosophy classes especially the more abstract 19th (Kant, Hegel, Schopenhauer, Nietzsche) and 20th century (Heidegger, Foucault, Mearleu-Ponty, Wittgenstein) philosophers are fantastic and often under appreciated tools for gaining deep abstract thinking skills that mathematics didn't teach me. Often times I've drawn on the modes of thought acquired from learning to read them when solving particularly difficult problems in software design and engineering.

</comment><comment><USER5> Back when I was developing web apps, I was surprised to hear that programming was supposed to require any math. But I've found that, as I've built more interesting and sophisticated things, I needed more math. I took about 15 math courses in school, and I can't think of any I haven't found useful.

Lately I've been looking at using model checking in my work, which touches on much of the math I know. Advanced logic to give a specification, and automata theory to run it. Group theory to express symmetries that let it run orders of magnitude faster. Add a bunch of real analysis and statistics if you want to do it probabilistically. Apparently number theory crops up too.

Meanwhile, a friend of mine develops ImplicitCAD, a programming language for making 3D objects. How does he test whether his 3D models have holes? Algebraic topology.

<comment><USER6> Model checking is a pretty cool idea, except you really need to have it built into the language rather than as an annotation or seperate system. Maintaining a seperate model just gives you two places to make typos.

<comment><USER7> Conversely, it gives two opportunities to _avoid_ not only typos, but "thinkos". Simple declarative definitions can often define the results of complicated algorithms. Algebraic topology is actually a nice example. Presumably a surface has no holes if and only if any loop on the surface can be contracted to a point (given appropriate definitions of all these terms, of course). While this equivalence is easy to verify,

        def has_holes(s):
            for c in all_loops(s):
                try:
                    contract(c)
                except:
                    return True
            return False

isn't an effective algorithm (e.g., "all loops" is an infinite set). But algebraic topology shows how one might instead reduce the problem to computationally tractable linear algebra. Suppose, then, that you've implemented an (presumably nontrivial and therefore error-prone) algorithm to carry out this reduction. Then your patently correct constraint on all loops might be a useful source of tests.

(disclaimer: I know nothing at all about computational algebraic topology, except that it's fascinating. So please take my example with an unbounded grain of salt.)

<comment><USER5> It's actually quite simple: A surface has no holes if its Euler Characteristic is 2. Since 3D objects are already expressed in a triangulated form, this is quite easy to check.

</comment></comment></comment></comment><comment><USER8> Depends on what you're doing.

I've used calculus for physics simulations in games.

I had to do a bunch of performance analysis, and a little bit of knowing what distributions actually meant helped a lot. I regret not having taken more statistics in college.

I was talking with a philosophy prof once, and somehow we got to DeMorgan's theorem. "I use that nearly every day," I told him, and it kind of floored him -- apparently he considered it "advanced" logic.

<comment><USER2> I used DeMorgan's laws when refactoring Boolean expressions for clarity long before I learned that the laws had a name - they're entirely obvious and self- evident. I think the relative pointlessness of specifically classifying and naming them makes knowing of them by name obscure.

<comment><USER9> These ideas are named to honor the person who did much of the grunt work to get them proven/accepted, but we continue to use the name as a convenience.

If you're working with educated people, it's a lot easier to say, "apply DeMorgan," than to say, "why don't you negate the clause, remembering to negate each of the internal clauses, and switching the and's to or's and vice versa."

There exist people who use the names to sound intellectual, and these people are annoying, but just because some people enjoy spouting (in the general public) "obscure" rules and names, that doesn't mean that using such names is without value.

<comment><USER10> In this case you could come up with a short name for it that doesn't refer to a person -- you could call it "logical duality", since, after all, it is both logical and a duality. But people know it as "DeMorgan", and in this context I think the most important thing is being understood. Those who don't know the law probably wouldn't recognize it if you called it "logical duality" either.

<comment><USER7> True, but this leads right back to barrkel's point that the laws themselves are easier to explain than the names. To wit, without words,

<http://jasomill.at/DeMorgan.pdf>

 _In the design of programming languages one can let oneself be guided primarily by considering "what the machine can do". Considering, however, that the programming language is the bridge between the user and the machine --- that it can, in fact, be regarded as his tool --- it seems just as important to take into consideration "what Man can think"._ (Dijkstra [1])

And _this_ is why mathematics is useful to software engineering.

[1] <http://www.cs.utexas.edu/~EWD/ewd01xx/EWD117.PDF>

</comment></comment></comment></comment></comment><comment><USER11> I'm doing a math PhD and I feel ambivalent about this statement even for myself.

In Devlin's article, doing math is conflated with a formal education in it. He should know better as he has previously endorsed heavy criticism of the latter: <http://www.maa.org/devlin/devlin_03_08.html>

"...our present system of mathematics education is precisely this kind of nightmare. In fact, if I had to design a mechanism for the express purpose of destroying a child's natural curiosity and love of pattern-making, I couldn't possibly do as good a job as is currently being done— I simply wouldn't have the imagination to come up with the kind of senseless, soul-crushing ideas that constitute contemporary mathematics education." (pg. 2 of _Lockhart's_ article)

</comment><comment><USER12> An interesting article, but built on the assumption that until a certain age you won't have any exposure to software engineering which wasn't true even in 2000. As a middle-schooler my programming ability was ahead of my math ability and I think I actually found math easier because of it. Stuff like numerical integration were things I "discovered" playing around with computers and I think that learning was much more valuable than later learning it calculus class.

He has a point, but after learning about the numbers and basic arithmetic you certainly have enough knowledge to learn to code, and who really knows if you need to know more math than that.

</comment><comment><USER13> The best part of mathematics is learning how to reduce something into a solved instance of something else. Recognizing when things are the same in abstract. Very hard to do.

As for the question. In english we have many words for those people who work on buildings and even cars because both go back thousands or hundreds of years each. So we have janitors, masons, carpenters, plumbers, architects and civil engineers. Each word clearly delineating a different expertise and scope.

Cars are newer so we have mechanics, automotive engineers and mechanical engineers. No one asks if the mechanical engineer or the mechanic needs math. The answer is obvious and contained in the Words. Electricity is from about the same time as cars and it too has electricians and electrical engineers. Not as many as houses but no doubt with more variations than common vocabulary implies.

Software has words like programmers, computer scientist and software engineer that are overly broad, ambiguous and interchanged indiscriminately. Leading to arguments about what really should be tautologies. I expect in time there will be terms like plumber, detective, architect, scientist, archaeologist and engineer for software and they will all mean something. And the subject will no longer be new and such questions will no longer be asked.

EDIT: I'd also like to chime in for it depends. If you are building a CRUD website it depends. For example: It depends on if you want to A/B Test your site in a non cargo cult manner. It is important if you want to compare A/B Test to multi armed bandits within a general framework. In general, you can only know not enough math.

</comment><comment><USER14> I am an electrical engineer by schooling, but now work as a software engineer. I have done quite a bit of higher math in school, but in my career, I find that basic math is more useful. Interestingly, although I know some higher math, software engineering requires intuitive understanding of basic math, which some of us skimmed over while cramming for calculus exams.

</comment><comment> UK-AL Depends on what problems your tackling. If your doing a basic crud website then no. However if you want to analyse customer data on that crud website, and provide recommender systems for it then yes.

The thinking is similar too, they're not isolated.

I personally think a large amount of value is in using artificial intelligence, machine learning and statistics to analyse data to optimise a business. I think future grads should be focused on that.

<comment><USER15> Agreed. I feel like an idiot for not learning statistics well enough in college. Only want to analyze big data!

</comment></comment><comment><USER16> I don't have a formal CS education, but most of the algorithms, i find that i can find analogies from whatever math i learnt back in school and college. I didn't major in math either. I just had a Mech. Engineering degree. One difference is that when i was in school, i ended up learning math in two different languages. My school used English, and in my free time i was bored enough to pick up and read my dad's classroom textbooks(in my mother tongue Tamil). Currently i work as a s/w Engineer and would agree that a full-time formal math training is not necessary in the current marketplace. OTOH, I also have moments, when i do wish i had seen a consequence a lot earlier, before expending so much effort. And think those would be reduced by a good math training.

</comment><comment><USER17> I suppose that depends on how one defines "engineering". I consider engineering to be a way of formalising methodology to get consistent, repeatable, and verifiable results. My opinion on this topic is based both on this view of engineering as well as experience having worked at different times as an electrical engineer and software developer. I would say yes, mathematics is indispensable for good software engineering, although it certainly isn't the only requisite skill to meet the above definition (nor always the most important).

</comment><comment><USER18> I think the key difference here is differentiating between a "software engineer" and a "programmer." It's a very blurry line, but the idea should shed some new light on arguments of the form "I've never used college calculus to develop web-apps, therefore math is useless for a software engineer."

This isn't meant to disparage programmers; I am merely saying we should take note when we have our "programmer" hat on, vs. when we're wearing our software engineer fedora.

</comment><comment><USER19> I'd say I use some math but that would mainly be high-school level geometry (for game animation and graphics) and accounting math for some business apps. But I'd assume people who are tuning 3D engines and low-level code are dealing with math and algorithms all the time. Up higher at the application layer I think you can get by without too much math, although it never hurts to have the knowledge.

</comment><comment><USER20> By his logic, philosophy must be the best preparation one can get for a career in software engineering.

</comment><comment><USER21> You Don't Need Math Skills To Be A Good Developer But You Do Need Them To Be A Great One

</comment><comment><USER22> To those still not convinced: do you really like to work on an intellectual need-to-know basis?

</comment><comment><USER6> Software Engineers need mathematics. Enterprise Architects need powerpoint and a greater fool.

</comment><comment><USER23> Interesting. Ultimately just one person's opinion. I don't use any college math (since I didn't take any) and dont't find a need for it in most programming. In fact, programming is a lot more like writing. Maybe that's why they call it a programming language. Too bad when I was doing programming using more interesting math, more interesting math was not taught in school (US 7th grade and on)

<comment><USER24> _"I don't use any college math (since I didn't take any)"_

How do you know? It is not impossible to pick up (some of) that knowledge outside of college.

 _"Maybe that's why they call it a programming language"_

Maybe, but it could also be because of the abstract concept 'language' as used in <http://en.wikipedia.org/wiki/Formal_language></comment></comment>


My Letter to the Senate on PIPA - <AUTHOR> http://blog.davejafari.com/my-letter-to-the-senate-on-pipa

<comment><USER2> I don't know that much about the OPEN Act. I think it's not even finished yet. But it could be a good way to _distract_ the politicians that support SOPA/PIPA, at least so they don't think that what SOPA and PIPA are proposing is the only way to stop piracy. It could be useful if it creates confusion when voting for SOPA and PIPA, get them to vote against those bills, and then we can deal with the OPEN Act.

Darrell Issa seems to have a lot more common sense than the SOPA/PIPA sponsors, but after seeing how ITC can ban popular (HTC) products from the market over some trivial patents, I'm not confident that they will deal with the copyright issues in a sane way, either.</comment>


Leaving "gifts" behind on dedicated server hosts - <AUTHOR> http://rachelbythebay.com/w/2018/04/14/flash/ <comment><USER2> This issue was always taken very seriously in other circles, including recognizing that virtualization is no cure-all.

Physical separation of the resource pools into equivalence classes or trust zones is just about the only sane way to recycle equipment. You might shelve and reuse equipment for the same customer or set of customers bound by mutually-covering legal agreements and mutual existential risks. You really have to think twice before putting non-trusting tenants together and consider the worst case. A proper service offering for sensitive workloads should involve decommissioning plans.

Promoting or demoting hardware between classes is difficult. You have to be very confident in scrubbing writable storage to demote hardware to a less trusted class, so you don't leak privileged information. But you have to be even more confident to go the other way, so you don't allow injection of malware as postulated in the blog post.

There was a time when the provider might be able to strip a machine to its bare bones, re-flashing firmware and replacing peripherals which couldn't be sanely verified, to reinitialize it as a new trusted machine. But, there are so many bits of writable firmware storage and different embedded controllers in modern machines, so it becomes futile to imagine scrubbing it all.

</comment><comment><USER3> When I was a junior sysadmin at a hosting company I raised this point in passing. It was acknowledged as a problem, but apparently so hard to fix that it was just ignored (and I didn't care enough to pursue it further).

I haven't given it much thought as I've not worked with physical kit since then. I wonder if virtualization is good enough now that they could take a security stance to only deploy VMs, and deprecate the root "physical servers" product offering (i.e. you can spec out a physical server but you will always get a VM).

<comment><USER4> No, they're not good enough. If you can read what's in the memory or disk images, then you can find all the interesting things there are to find.

<comment><USER5> Huh? Memory and disk should be independent for each VM?

Short answer - yes using VMs should be good enough.

<comment><USER4> If I install a custom bios, it doesn't matter where the VM images are stored, or what format they are stored in. The bios can read them all.

<comment><USER3> I'm quite confused about the situation and attack vector you're describing. Could you explain?

If you had direct (root) access to the hardware, you can replace firmwares/BIOS, which is what we are discussing.

However, as I'm suggesting, if that machine was only ever provisioned with a VM, the bad actor is not given access to the hardware directly (hypervisor bugs aside)

<comment><USER4> You can't count on the hypervisor being bug-free, and hardware moves from machine to machine. If compromised hardware gets into your machine, regardless of the route, the fact that your programs are running in a VM won't save you.

</comment></comment></comment></comment></comment></comment><comment><USER6> To extend this a bit further, I once was tasked with "re-purposing" an old EMC Clariion and found that none of the data had ever been wiped. Completely left intact.

</comment><comment><USER6> I'm always amazed at what "rachelbythebay" writes. I've gone from occasionally reading one of her posts to wanting to read them. The topics are always so interesting and about things I don't ever find myself thinking about.

I wonder if the company I work for could use such a "smart cookie"...</comment>


Is Git a Block Chain? - <AUTHOR> http://domustower.com/blog/post/is-git-a-block-chain/ <comment><USER2> Both git repositories and bitcoin are specialized Merkle trees. Merkle trees are incredibly useful and general; they are used in many kinds of verification, especially of large chunks of data.

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

<comment><USER3> I thought it was a directed acyclic graph. Care to share the distinction?

<comment><USER4> The terminology used in #bitcoin-wizards is to call it a merkelized dag, or merkle-dag.

Similarly, we also refer to "Merkelized Abstract Syntax Trees", a way of hashing code originally proposed by Pieter Wuille and Russel O'connor(1) that will probably be added to Bitcoin's scripting system eventually.

Pretty much any data structure can have hash functions added to it to "merkelize" it, producing an authenticated data structure: [http://www.cs.umd.edu/~amiller/gpads/](http://www.cs.umd.edu/~amiller/gpads/)

1) [https://download.wpsoftware.net/bitcoin/wizards/2014-12-16.h...](https://download.wpsoftware.net/bitcoin/wizards/2014-12-16.html)

<comment><USER5> Bitcoin Script is Forth-like RPN, why does it need AST? Do you mean there are plans to add more languages/DSLs to Bitcoin which with multiple compiler front-ends generating ASTs. which then translated to "machine opcodes"? Something similar to Ethereum?

Or maybe it's a solution for transaction scriptSig malleability? [1]

[1] [https://en.bitcoin.it/wiki/Transaction_Malleability](https://en.bitcoin.it/wiki/Transaction_Malleability)

</comment></comment></comment></comment><comment><USER6> "Blockchain" is generally used to refer to systems that either 1) use the sequence of blocks to model changes in custodianship or 2) (more generally) enforce a set of rules governing the correctness of a given block.

That is, a block in the bitcoin blockchain is valid not only if its hash matches what one would expect given the included transactions, but that those transactions adhere to the rules of bitcoin. (No double-spends, no dust transactions, etc).

While there are data structures in a git commit that must be present and/or follow a particular set of semantics, git does not enforce anything about the _contents_ of those commits.

Another key distinction: blockchains seek consensus, whereas divergent forks in git repos are by design.

EDIT: I should probably not distinguish too much between consensus and rule enforcement, as those two are obviously intertwined. :)

</comment><comment><USER7> No, its not. Its just a chain. There's no block. The block in a blockchain is everything to do with distributed / trustless conscensus.

<comment><USER8> Imagine how cool it would be if I could share a guid for my repo - and then your bit client (let's call it gitcoin, or maybe just bit) can fetch new commits from a distributed block chain (essentially the git log). Github is no longer an intermediary or a single point of failure. Private repo? Don't share the guid.

<comment><USER9> That's a great idea, and some bright folks are working on it! [http://ipfs.io/](http://ipfs.io/)

<comment><USER10> I want to make sure people don't overlook this IPFS link as just a decentralized GitHub. IPFS is building a content-addressable web. Think about how BitTorrent magnet links work—it's a hash of the actual movie (or Linux distribution) you're trying to download, and using that hash, you can connect with all the people who've already downloaded it to get it from them. On a content-addressable web, pulling up the New York Times would be looking up a certain hash, which would pull the content from your neighbor three doors down who read it earlier this morning. The web won't be servers that you hit with your browser anymore. It'll be content that lives forever, always reachable by its hash.

As long as people want to read what you're publishing, publishing is free. And fast. Around the planet. The web is about to get way better, and IPFS and its competitors are going to be what pushes it forward.

<comment><USER11> IPFS does look interesting, but how does it provide updateable references? What's the equivalent of "give me _today 's_ headlines", which is pointedly not content-addressible because you don't know the content yet?

<comment><USER10> I suspect that there's a way to identify the latest content built into IPFS, but if not, it's easy to build that on top of something like Ethereum. If you're new to Ethereum, it's a global, trustless, blockchain-based coordination platform—it gives us the ability to determine what "The New York Times" is, without having to trust someone else to tell you. The New York Times would have an Ethereum contract with storage space that only their private key can write to that would hold the hash of the latest state of the site. A site state would contain set of hashes that point to the day's articles and perhaps previous states of the paper.

In the very near future, the entire New York Times archives will be fetchable just by asking for it. Your computer will ask your neighbor for the front page for July 21, 1969, and they'll send it right over.

<comment><USER12> > I suspect that there's a way to identify the latest content built into IPFS

Yeah-- the IPNS records have a notion of recency, as well as being able to write version history datastructures (e.g. git)

</comment></comment></comment></comment></comment></comment></comment><comment><USER13> Consensus seems like an essential property that distinguishes a blockchain from a Merkle tree, and git does not provide consensus.

<comment><USER12> Yep! entirely agreed.

</comment></comment><comment><USER14> Related is the Gitcoin mining challenge from Stripe's Capture The Flag 3.

Here's a writeup: [https://github.com/ctfs/write-ups-2014/tree/master/stripe- ct...](https://github.com/ctfs/write-ups-2014/tree/master/stripe-ctf3/level1)

A Gitcoin miner updates the ledger (a text file in the repo), and "mines" the next-smaller hash.

It doesn't have consensus, but it does give a neat programming challenge.

</comment><comment><USER15> Not sure I get it. Appears to be technically correct assuming we view the term "block chain" as a basic combination of the words as opposed to a term of art, but without the PoW it seems to be missing the point.

</comment><comment><USER16> I'll quote myself ([http://blog.oleganza.com/post/85111558553/bitcoin-is- like](http://blog.oleganza.com/post/85111558553/bitcoin-is-like)):

Bitcoin is like Git: in Git (a distributed version control system) all your changes are organized in a chain protected by cryptographic hashes. If you trust the latest hash, you can get all the previous information (or any part of it) from any source and still verify that it is what you expect. Similarly, in Bitcoin, all transactions are organized in a chain (the blockchain) and once validated, no matter where they are stored, you can always trust any piece of blockchain by checking a chain of hashes that link to a hash you already trust. This naturally enables distributed storage and easy integrity checks.

Bitcoin is unlike Git in a way that everyone strives to work on a single branch. In Git everyone may have several branches and fork and merge them all day long. In Bitcoin one cannot "merge" forks. Blockchain is a actually a tree of transaction histories, but there is always one biggest branch (which has the value) and some accidental mini-branches (no more than one-two blocks long) that have no value at all. In Git content matters (regardless of the branch), in Bitcoin consensus matters (regardless of the content).

</comment><comment><USER17> Yes they are Merkle trees. But the missing part of a blockchain is the incentive part. Obviously you don't even need git or anything so complicated for a blockchain. All you need is a network of computers that would periodically:

      * receive all the transactions (or their hashes) that occurred
      * sign this with some HMAC, and publish it
      * then we know that the transactions occurred by X time

of course, the question is how do we know transaction A really occurred after X time? Perhaps some will claim it occurred before X, but just wasn't included by anyone in the network for X because they are discriminating against that transaction's participants, or something.

And what if it was included by some in the network but not others? How do we know some are not cheating?

That's where proof-of-work comes in. You can also have proof-of-stake and other mechanisms, by which to solve the Byzantine Generals problem. How do we know that the signers aren't cheating? Who watches the watchers?

<comment><USER18> All of the complexity of bitcoin (including having and paying miners) comes from the requirement to be completely distributed, with no authority that could refuse to include "bad" transactions.

But if you're not signing any black- or grey-hat documents or transactions, then you can just pick a trustworthy central party to receive the hashes and publish the chain.

The startup GuardTime has been doing document timestamping and integrity checks with a blockchain for a bit while longer than bitcoin.

* You hash documents that you want to timestamp, and send the hash to them.

* They hash all received hashes and the previous head of the blockchain together, and publish the head hash in the paper copy of Financial Times: [https://guardtime.com/photos/ft14-2.png](https://guardtime.com/photos/ft14-2.png)

* The exact contents and "created before than" timestamp of the documents can now be fully verified, unless someone can manage to gather and destroy all paper copies of Financial Times published after it was sent to them.

The incentive for them is an usual freemium payment model.

<comment><USER19> The problem is, as zkhalique said, that while it's easy to show a transaction happened before time X, it's hard to show it after. The single publisher (in this case the Financial Times or GuardTime) could have refused to include the transaction. Or the transaction might have not happened. How do you know which it is? What I pay you 10,000 bicoins and I promise GuardTime 3,000 to retract that fact later?

</comment></comment></comment><comment><USER20> The strength of bitcoin is the blockchain. It prevents you from going back and rewriting history--you can only append to the current block.

In Git you can change history. So I don't think Git can be called a blockchain, although it shares the sames concepts, like the merkle tree.

<comment><USER21> I feel like that's not really a fair statement. With git, if you change the history, it effectively tosses out the old tree and creates a new one with new hashes. You're really not modifying the old history, you're saying "Get rid of the current history tree and create a new one with this change in it". You can do the same with Bitcoin, you could modify your copy of the blockchain to insert some new transaction, and then replay all the subsequent transactions that happened on the blockchain (All of these transactions get different hashes).

The result for both is the same, both of them will throw errors if you attempt to pull data from a git repo or blockchain which has invalid hashes that don't match the ones you already have - This is why it's a problem if someone decides to use rebase on a public branch that people are pulling from, the hashes will change and people will get errors when they try to pull because the histories don't match.

<comment><USER22> The difference is that for the git chains it is not possible for anyone to independently verify what the true chain is. You can rewrite history and it will be just as correct as the first one.

PoW (Proof of Work) makes it impossible to just "replay all the subsequent transactions that happened", because your fake chain will have significantly less proof of work.

<comment><USER23> Only if they're getting the chain for the first time. Git becomes... fairly wrothful if someone rewrites the history on a remote branch.

</comment></comment></comment></comment><comment><USER24> Here is how a website can implement git in a decentralised blockchain-like consensus.

Launch Gitcoin.com. The company's shares are called gitcoins which is a premined cryptocurrency by gitcoin.com. The aim of the company is to balance the distribution of shares according to their value, to maximize its own value. Parties who support this company's cause or want to gain a monetary incentive out of the value that gitcoin would gain would mine gitcoins or buy them in exchanges.

Authors publish the meta data about their content hashed with any private key they want. Each of these private key is a separate logical 'view' for showcasing the Authors content. For eg, one private key each for friends, business and everyone, so that one category cannot view the contents of the other, and the share the respective public keys with concerned parties using any medium. The aim would be to earn gitcoins and go and sell them at an exchange to earn a living wage.

The consumers of code would pay for the code they want to view to the public key, which is also a gitcoin address, which they already have! This automatically sends gitcoins to the author.

All code is open to everyone. If you have a public key you can view its associated code and change it, by sending money to it. Gitcoin.com takes a cut in providing this service.

This website also invents two brand new features in a website - no password and no captcha!

\- No Password because you can view any code if you send money to it. Authors will keep the rates very high and share a new private category's public key to people they wanna give discount to. You can have as many identities you like and can club, fork and terminate them.

\- No Captcha because captchas were invented to prevent robots. But robots are not always bad. So we want people to build helpful reddit-like robots but not bad ones. Gotcon.com solves this by allowing all robots according to an economic incentive motive. For ex, a user can build a good robot that shows the issues list corresponding to a gitcoin address. People pay this robot in gitcoins and so this robot has enough gitcoins to open the community desired code. But if a bad robot tries to spam this good robot, people will simply create a new address and copy all previous data and move to it, all of this at a click of 'block' button.

So basically, by changing the behavior of block button to create a decentralised copy of gitcoin.com itself and then moving to it eliminates the bad actor immediately and making it yet expensive for him to keep paying to see the code.

</comment><comment><USER25> As others have mentioned, the one main distinguishing factor between blockchains and git (at least in practice because bitcoin's POW makes rewriting the chain expensive) is the consensus among its general users and in inability to actually change the history of the blockchain. Mathematically they are very similar, but git repos aren't "secure" in the same way. That's why I would argue against the author that git isn't the most valuable blockchain in use today although it could very well be the biggest.

</comment><comment><USER26> Is this list of comments a block chain?

<comment><USER27> Um no, these comments don't have hashes associated with them.

<comment><USER28> They might! Who knows how the HN architecture actually works.

<comment><USER29> Not likely, given that you are allowed to edit comments.

</comment></comment></comment></comment><comment><USER30> I think so:

[https://twitter.com/LukeHoersten/status/588725182489067520](https://twitter.com/LukeHoersten/status/588725182489067520)

</comment><comment><USER31> Would this qualify ZFS as a blockchain as well?

</comment><comment><USER32> but SHA-1 is considered not secure, so you can't just trust commit-id

</comment><comment><USER33> no but wikipedia kind of is</comment>


Show HN: NoteTuning – A music game built with React - <AUTHOR> https://www.notetuning.com <comment><AUTHOR> This is a little ear training game I built with React, Tone.js, MobX, and D3. Enjoy!

</comment><comment><USER2> Love this. Gets wicked hard at level 4 (at least for my untrained ears).

</comment><comment><USER3> This game is awesome!</comment>


The largest war in animal history is going on right now - <AUTHOR> https://www.quora.com/Do-animals-fight-wars-and-if-so-what-was-the-largest-war/answer/Suzanne-Sadedin?share=1 <comment><USER2> There is much to be learned from studies of evolutionary biology. Suzanne Sadedin perception of the role of evolution in systems, both biological and artificial, is exceptional. For example, her article, Natural Police ([https://aeon.co/essays/game-theory-s-cure-for-corruption- mak...](https://aeon.co/essays/game-theory-s-cure-for-corruption-make-us-all- cops)) uses game theory results to explore what the role of corruption is in the behaviors that can be observed in complex systems (e.g., law enforcement, cancer). Her observations are frequently deep and insightful.</comment>


Bangladesh govt disables mobile internet after alleged rape/murdered protesters - <AUTHOR> https://www.aljazeera.com/news/2018/08/bangladesh-officials-restrict-internet-student-protests-180805071428323.html <comment><AUTHOR> Violent protests are ongoing. There is a protester running a live Reddit thread who claims to be in danger for his life: [https://www.reddit.com/live/11e4mknpbhjqr/](https://www.reddit.com/live/11e4mknpbhjqr/)

Also see [https://www.reddit.com/r/worldnews/comments/94ivyd/school_st...](https://www.reddit.com/r/worldnews/comments/94ivyd/school_students_have_been_protesting_in_demand/e3lk9qk/)

None of the major US news outlets seems to be covering this story. It's incredibly brutal.

<comment><USER2> What's the source for the rapes/murders? Is this confirmed?

<comment><AUTHOR> > What's the source for the rapes/murders?

Only the multiple accountings from people inside the country. There are graphic photos and videos being collected and shared inside a google drive (link included in the Reddit thread) that claim to substantiate claims.

> Is this confirmed?

This has been publicly denied by govt. I updated the title to reflect that no mainstream news source has confirmed this . The photos, videos, and first hand accounting strongly suggest that it's true. It's worth noting that a media blackout has been issued and mobile internet access has been turned off.

EDIT: The rape accusation seems to now be confirmed by a news source inside the country ( [http://www.banglatribune.com/others/news/350887](http://www.banglatribune.com/others/news/350887) ). I don't know Bangala but the word করা is referenced in the article in an appropriate context and Google Translate shows the word in it's Bangala translation for rape.</comment></comment></comment>


Play War: Homemade Recreational Battlefields - <AUTHOR> https://placesjournal.org/article/play-war-paintball-battlefields/

<comment><USER2> The bias of this article is annoyingly blatant. The writer ignores the most common forms of the sport, which look more like a sporting event than war, replete with brightly colored uniforms and colorful playing fields. Reminds me of the "journalism" that abounded regarding video games in the 90's and how they would make everyone want to be a killer, etc, etc.

For reference, this is what the large majority of paintball fields look like:

[http://upload.wikimedia.org/wikipedia/commons/f/fd/Speedball...](http://upload.wikimedia.org/wikipedia/commons/f/fd/Speedball_game.jpg)

<comment><USER3> Interesting, I didn't get the impression there was this bias at all. If it was intended to be an article and gallery about paintball per se, then I would agree you. My understanding was that they were writing about and photographing specifically the subset that recreates battlefields, both real and imaginary.

And even though the writer touched upon issues of militarism, even those were even-handed in my opinion. There was no antiwar preaching to be found.</comment></comment>


Soylent Launches Coffiest (Soylent and Coffee) - <AUTHOR> https://www.soylent.com/product/coffiest/ <comment><USER2> Barf! Their photoshopper needs to take a lesson on the physics of coffee and gravity. See level in coffee pitcher.

<comment><USER3> Hah nice catch, I didn't even notice that.

</comment></comment><comment><USER4> I'm excited by the idea of soylent breakfast, but this cost is too high. My coffee and oatmeal are <$1.</comment>