24-core CPU and I can't move my mouse - <AUTHOR> https://randomascii.wordpress.com/2017/07/09/24-core-cpu-and-i-cant-move-my-mouse/ <comment><USER2> Full disclosure: I work for Google on Chrome.

A Chrome build is truly a computational load to be reckoned with. Without the distributed build, a from-scratch build of Chrome will take at least 30 minutes on a Macbook Pro--maybe an hour(!). TBH I don't remember toughing out a full build without resorting to goma. Even on a hefty workstation, a full build is a go-for-lunch kind of interruption. It will absolutely _own_ a machine.

How did we get here? Well, C++ and its stupid O(n^2) compilation complexity. As an application grows, the number of header files grows because, as any sane and far-thinking programmer would do, we split the complexity up over multiple header files, factor it into modules, and try to create encapsulation with getter/setters. However, to actually have the C++ compiler do inlining at compile time (LTO be damned), we have to put the definitions of inline functions into header files, which greatly increases their size and processing time. Moreover, because the C++ compiler needs to see full class definitions to, e.g., know the size of an object and its inheritance relationships, we have to put the main meat of every class definition into a header file! Don't even get me started on templates. Oh, and at the end of the day, the linker has to clean up the whole mess, discarding _the vast majority_ of the compiler's output due to so many duplicated functions. And this blowup can be huge. A debug build of V8, which is just a small subsystem of Chrome, will generate about 1.4GB of .o files which link to a 75MB .so file and 1.2MB startup executable--that's a 18x blowup.

Ugh. I've worked with a lot of build systems over the years, including Google's internal build system open sourced as Bazel. While these systems have scaled C++ development far further than ever thought possible, and are remarkable in the engineering achievement therein, we just need to step back once in a while and ask ourselves:

Damn, are we doing this wrong?

<comment><USER3> > Damn, are we doing this wrong?

Yes, and I mean "we" as in "this industry".

I just recently talked to someone whose Swift framework(s) were compiling at roughly 16 lines per second. Spurred on by Jonathan Blow's musings on compile times for Jai[1], I started tinkering with tcc a little. It compiled a generated 200KLOC file (lots of small functions) in around 200 ms.

Then there are Smalltalk and Lisp systems that are always up and pretty much only ever compile the current method.

We also used to have true separate compilation, but that appears to be falling out of favor.

Of course none of these are C++ and they also don't optimize as well etc. Yet, how much of the code really needs to be optimized that well? And how much of that code needs to be recompiled that much?

So we know how to solve this in principle, we just aren't putting the pieces together.

[1] [https://www.youtube.com/watch?v=14zlJ98gJKA](https://www.youtube.com/watch?v=14zlJ98gJKA) He mentioned that a decent size game should compile either instantly or in a couple of seconds

<comment><USER4> Are you serious? You want to make a product: a Web browser. What technology are you going to choose? The one that makes your browser fast but gives you more work, or the one that makes your browser slower but _makes compilation less of a nuisance to you_? It's mind boggling that some would openly say that, hey, who cares about performance that much, these compilation times bother me, the developer. On a browser of all things! Would you be okay with your browser being 2x or 3x slower?

<comment><USER5> False dilemma. You can have both. It's okay if a fully optimized release mode binary takes a bit longer to compile, but compiling a few million lines of code for a debug build shouldn't take more than a second or two.

Also consider the leverage factor. Improvements to the compiler benefit all users of the programming language, so it's worthwhile to invest in high quality compilers.

<comment><USER6> In what language can we have both?

Yes, we can use caching compilers ([https://wiki.archlinux.org/index.php/ccache](https://wiki.archlinux.org/index.php/ccache)) to speed up builds with few changes. We can lower optimization levels (although that barely gives you an increase in compile speed compared to the runtime speed you lose and the fact that it makes your program do slightly different things).

There's no slider from "pessimum" to "optimum". You need to do wildly different things to optimize past this point for compile speed. Erlang hot- reload and at-runtime-code-gen from other langs come to mind. But that will almost definitely slow down your program because of the new infrastructure your code has to deal with.

I have observed that there can be a nice balance with Java and the auto- reloading tools that are available for it. But I am unaware of their limitations and how a web browser might trigger those limitations.

<comment><USER7> > In what language can we have both?

D has very fast compilation times compared with C++.

Rust is another option.

<comment><USER8> Rust doesn't compile very quickly at the moment. Helpfully, there's a live thread about the matter on r/rust [1]. Broadly speaking, it's about the same as C++. Some aspects are faster, some slower. Points worth noting (from that thread and elsewhere):

* Everything up to and including typechecking (and borrowchecking) takes a third to a half of the time, with lowering from there to a binary taking the rest of the time; that means (a) you can get a 2-3x speedup if you only need to check the code is compilable, and (b) overall speed isn't likely to improve a lot unless LLVM gets a lot faster.

* Rust doesn't currently do good incremental compilation, so there are potential big wins for day-to-day use there.

* There is a mad plan to do debug builds (unoptimised, fast, for minute-to-minute development) using a different compiler backend, Cretonne [2]. If that ever happens, it could be much, much faster.

[1] [https://www.reddit.com/r/rust/comments/6m97hl/how_do_typical...](https://www.reddit.com/r/rust/comments/6m97hl/how_do_typical_rust_compilation_times_compare/)

[2] [https://internals.rust-lang.org/t/possible-alternative- compi...](https://internals.rust-lang.org/t/possible-alternative-compiler- backend-cretonne/4275)

</comment></comment></comment></comment></comment></comment></comment><comment><USER9> I grew up on the Commodore 64 (1 Core, 1 hyper-thread :-), almost 1 MHz clock freq, almost 64 K usable RAM).

The machine was usually pretty responsive, but when I typed too quickly in my word processor it sometimes got stuck and ate a few characters. I used to think: "If computers were only fast enough so I could type without interruption...". If you'd asked me back then for a top ten list what I wished computers could do, this would certainly have been on the list.

Now, 30 years later, whenever my cursor gets stuck I like to think:

"If computers were only fast enough so I could type without interruption..."

<comment><USER10> It's all just trade offs. However fast or powerful your machine is, software will use as much of that resource as possible, up to the point where it occasionally interferes with input (but not too much or you'll switch to something else).

<comment><USER11> But why? What good is an operating system on a multi-core device that allows anything to get that close to the performance envelope? This is a fine example of competition driving change for change's sake rather than real innovation and everything ending up worse as a result. I like new features as much as the next person, but not when they compromise core functionality. Not being able to type is _inexcusable_.

<comment><USER12> I agree. However at this point, I don't see anything an OS can do to help.

I see plenty of typing slowdowns every other day now. But I'm not sure just how many of them are the OS's fault. When your typing seems to lag, there are _two_ places that can be slowing it down - the input side (reacting to hardware events) and the output side (drawing and updating the UI).

I suppose keyboard buffers are pretty well isolated, and native UI controls tend to work fine too. The problem is, everyone now goes for non-native controls. You type in e.g. Firefox, and it is slow not because of your OS, but because Firefox does all its UI drawing by itself. And God help you if the application you want to use is done in Electron. There's so many layers of non-nativeness on top of that, that the OS has close to zero say in what's being done. There's no way to help that - resource quotas will only make the problem worse, and giving such program free reign will only take everything else down.

All in all, it's just - again - problem of people writing shitty software, because of laziness and time-to-market reasons. Blame "Worse is Better".

<comment> mark-r It's hard to believe the OS couldn't help when Windows 10 has the problem but Windows 7 doesn't.

<comment><USER12> In _this particular case_ , yes. But this subthread was about a more general principle of letting an app exhaust system's performance. What I'm saying is that, when facing a crappily coded app, the OS can at best choose between letting it suck or letting the performance of _everything_ suck.

</comment></comment></comment></comment></comment></comment><comment><USER13> This is great work. I hope MS can improve Windows 10 by fixing this. I just added a new Win10 laptop with much better specs than my 3 year old rMBP, and I'm shocked by how much apparently random latency I experience with the UI in Windows 10 compared to the Mac. That's not to mention the issues of sloppier track pad (which constantly detects my left hand while I type) or the ungodly slow unzip (via 7z).

If only Apple would give us more than 16GB of RAM (in a laptop)... what a frustrating world for developers.

<comment><USER14> I mean the trackpad issue is generally down to the manufacturer and the drivers they provide, but I take your point otherwise.

A pro tip with 7z is to use the two pane interface to extract and not dragging files to Explorer. The latter option extracts the files to a temp directory before copying them whereas the former extracts directly to the destination.

The Windows file systems are pretty cruddy in general though so decompressing tonnes of small files in general will take longer than on OS X or Linux.

<comment><USER15> _> I mean the trackpad issue is generally down to the manufacturer and the drivers they provide..._

Was just wondering this myself. I tried a Surface Laptop this week, and its trackpad has everything I love from the 2012-era Mac trackpads. A satisfyingly snappy physical mouse click, gestures & acceleration, and a perfect size. (I can't stand Force Touch on the new MacBook Pro, and I don't like their new giant trackpads.)

<comment><USER16> MS is trying to fix the driver situation with their "precision touchpad" initiative: [https://arstechnica.com/gadgets/2016/10/pc-oems-ditch-the- cu...](https://arstechnica.com/gadgets/2016/10/pc-oems-ditch-the-custom- touchpad-drivers-give-us-precision-touchpad/)

</comment></comment></comment></comment><comment><USER17> I was wondering what ETW is, and found in one of his other posts: ETW (Event Tracing for Windows).

He seems to be one of the main contributors of [https://github.com/google/UIforETW](https://github.com/google/UIforETW)

Seems to be quite useful.

\---

About the post: tl;dr: NtGdiCloseProcess has a system-wide global lock which is used quite often e.g. during a build of Chrome which spawns a lot of processes. This problem seems to be introduced between Windows 7 and Windows 10.

I thought that there would be a solution or a fix but it seems this is not yet fixed. "This problem has been reported to Microsoft and they are investigating."

<comment><USER18> As a Windows outsider, I'm puzzled why programs used as part of the Chrome build system (which I'd expect to only use console I/O) are using APIs that cause interactions with the GUI? By analogy, is this not like gcc redundantly setting up a connection to the Xserver each time it is run?

(I'm making an assumption that NtGdiCloseProcess is part of the GUI API (GDI == Graphics Device Interface) which is why it may interact with the GUI message passing.)

<comment><USER19> In the very early days of NT the GDI subsystem was in userland and you wouldn't have this problem. Unfortunately it was too slow for machines of the 90s and so GDI+user32 is very tightly integrated with the kernel.

Even to the point where it does neat things like callback user mode code from the kernel. Unwinding this without breaking things is nigh impossible at this point.

</comment></comment></comment><comment><USER20> Why is everyone talking about how C++ compilation is slow or something instead of talking about the real problem, which is that GDI is doing resource cleanup on process exit, under lock, for console-mode processes that have probably never used any GDI resources?

<comment><USER21> mxatone mentions that "Win32k locking design is just bad" in [https://twitter.com/mxatone/status/884436870955913216](https://twitter.com/mxatone/status/884436870955913216)

<comment><USER20> It's not even bad. It's neglecting any kind of "has this process ever touched win32k.sys" test.

</comment></comment></comment><comment><USER22> I feel like the (brilliant post) is missing the context that if you were debugging the latency on Linux, you would have the source code to continue the investigation until you found and fixed the problem, as opposed to just teeing it up for Microsoft.

<comment><USER23> Most of the problems are solvable, if proper tools are used. Microsoft provides "PDB" files, which contains symbols for ease of debugging. You can get them from Microsoft's symbol server. Load the symbol and the binary in IDA, and the generated pseudo code is enough for most scenarios.

In theory, debugging programs on Linux should be easier. However, for some distributions (like Arch Linux) debug symbols are not provided. You have to compile the program on your own if you want to debug. It's especially painful if the target program has a large codebase!

</comment></comment><comment><USER24> I remember every other book on Windows programming saying "Process creation/destruction is expensive, use thread pools (or at least process pools) instead, that's the way to go on Windows". Perhaps this mindset is ingrained for Windows QA team too - they don't have [enough] test cases for such scenarios.

<comment><USER25> Seems like a feedback loop. It's expensive, so most apps avoid doing that, meaning there's less need to check for performance regressions. Then if there is a regression, it further increases the incentive for developers to avoid it, so in the future even fewer apps will do that, making it even more of an unusual use case, so even less need to test for it..

</comment></comment><comment><USER26> The Amiga prioritized user-input interrupts before all other interrupts, so if there ever _was_ a time you couldn't move the mouse on the Amiga, it meant that the system was well and truly crashed.

30 years on and the peecee industry still doesn't know how to design a fucking system.

<comment> amiga-workbench I was just thinking that, my A1200 never skipped a beat.

</comment></comment><comment><USER27> For my own amusement, when ever I get a new OS build on my machine, I'd open up a task manager and watch CPU load just by wiggling the mouse a lot or maybe simply pressing page up and down. I'm pretty sure it's always pretty easy to generate 25% CPU doing very little. Another thing would be just opening a local file from within a running application and wondering why multiple seconds and hence billions of CPU cycles seems to be consumed what one expects should be doing a fairly menial task. (I am pretty sure in DOS 3.3 with Norton Commander it was quicker )

<comment><USER28> That used to be true back when the CPU did all of the GUI rendering. But now most all of it is offloaded to the GPU. Any GPU that can render Quake 3 Arena at 120 FPS (and that's ALL of them even Intel IGPs) can wiggle a window around very easily.

Not sure about file opens. Simple applications like GVIM don't seem to have seconds of delay for me, but I know what you mean with things like spreadsheet or word processor files. I guess it is all of the unzipping and XML processing.

<comment><USER29> Actually, its not as accelerated as it was back in the winXP days. Here is a random link about it: [https://www.youtube.com/watch?v=ay- gqx18UTM](https://www.youtube.com/watch?v=ay-gqx18UTM).

Basically, the GPU card vendors could hook any part of the win32 GDI pre windows vista, and they did. Post vista, only a tiny portion of the GDI is accelerated. In theory you can avoid this by writing your application using a more modern API, but the vast majority of native windows applications continue to basically be GDI based due to age, or various GUI toolkits still being GDI based. Worse there are a number of toolkits (or browsers) which implement their own drawing routines rather than calling the system supplied ones.

The final composited results with aero are of course accelerated, but that only really tends to add additional latency. Switching to one of the basic themes makes win7 noticeably more responsive, but also tends to tear a lot. I've got an incredibly high end desktop machine, carefully tweaked/optimized and I can frequently see it the ~1/10 of a second lags while windows update after being maximized/etc. Compared to the 10 year old pretty high end XP machine (with upgraded SSD/etc, and also carefully tuned) it doesn't seem to be faster on basic desktop type operations. Fire up a recent game, or doing builds its massively faster but running word/firefox/whatever the old machine "feels" faster.

(tuned, as in I have a dozen or so, tweaks I've been collecting/researching for the past decade+, on ways to make the machine feel more responsive, it all started with MenuShow delay in win95, and has grown from there and now includes all the usual stuff plus tweaking power profiles, and a bunch of less obvious "feel" things like high DPI mice with fast base speeds).

<comment><USER30> _tweaks I 've been collecting/researching for the past decade_

Do you happen to have this available to the public somewhere?

</comment></comment></comment></comment><comment><USER31> Speaking of W10, there was another annoying W10 bug where if you started typing immediately after using the touchpad there was a random delay. If you care about latency and responsiveness, it makes you want to scream at the people who implement these features.

<comment><USER32> That's not a bug. It's some kind of feature by Symantec that can be disabled in the settings.

<comment><USER31> Haha, it never crossed my mind that someone would implement this purposely. I don't have a W10 laptop so I've only noticed this on other peoples machines.

<comment><USER33> I use this feature on my laptop. Without it I would accidentally touch the touchpad and insert characters where there aren't supposed to be.

</comment></comment></comment></comment><comment><USER34> My 16mhz 68000 based Amiga 500 had smoother mouse movement than my 3.2ghz 8 core desktop.

<comment><USER35> IIRC, on the Amigas the CPU was barely involved in the process of reading the mouse events and moving the cursor sprite on the screen.

<comment><USER34> Yep, hardware sprites.

<comment><USER36> Modern GPUs still have hardware sprites for the cursor, and OSes still use them! However, the path between the mouse and updating that sprite has gotten more complex, alas.

<comment><USER35> I imagine a modern day Amiga would run all mouse and window server code on the GPU, only telling the CPU when the app needs to update its bitmap.

</comment></comment></comment></comment></comment><comment><USER37> I think the best summary of how to do this is to take a look at Herb Sutter's three article set on "Minimizing Compile-Time Dependencies". [https://herbsutter.com/gotw/](https://herbsutter.com/gotw/)

"The Compilation Firewall", or pimpl idiom, is a clever mechanism for getting code out of the header: [https://herbsutter.com/gotw/_100/](https://herbsutter.com/gotw/_100/)

<comment><USER38> I use this liberally. Generally, it is a runtime performance issue only on repeated allocations for which you can optimize if needed. Once-only allocations can be ignored when using compiler firewalls.

<comment><USER39> And the second cache miss: 1 for the cache miss, 1 for the actual object.

<comment><USER38> Right. Usually the entire application is not performance critical. Only certain sections are. For that part of the application, profile and optimize.

</comment></comment></comment></comment><comment><USER40> I had the same exact problem. A machine that is overkill spec wise but the mouse and keyboard would freeze up every minute on the minute.

I tracked it down to my desktop wallpaper being on a rotation. Seriously... how bad does that have to be implemented in Windows to actually hang the mouse and keyboard?

<comment><USER41> For all the hate Windows gets, UI lockup hasn't really been a pervasive issue for me in years, whereas on my Linux desktop that's just a typical day.

<comment><USER42> My Linux desktop never locks up. I'd suggest messing around with a different kernel, double checking graphic drivers, etc.

<comment><USER41> I was probably a bit imprecise; I do sometimes get full lock ups where I have to reboot, mostly when running TensorFlow locally, but usually I just get lock ups that last < 10 seconds when compiling things in the background.

It's at the level of "annoying, but doesn't impact my work", so I just live with it.

<comment><USER42> Ah I see. Which scheduler are using?

$ cat /sys/block/sda/queue/scheduler

noop deadline cfq [bfq]

I've been very pleased with the responsiveness of BFQ when multitasking.

And actually, I shouldn't say I never get lock-ups. There's been a couple times where the DE just freezes, and I'll have to hit Ctrl+Alt+F2 to switch to another tty and restart the display manager. But I attribute that to running bleeding-edge version of things and enabling experimental features, so that's fair.

Lastly, my MacBook Pro (2010 6,2) would also experience random freezes on Ubuntu (would have to power off/on) and upgrading the kernel from the Ubuntu default to latest mainline solved that problem completely.

<comment><USER41> $ cat /sys/block/sda/queue/scheduler cat: /sys/block/sda/queue/scheduler: No such file or directory

I guess my work does something weird with our desktop linux installs, laptop says this though:

$ cat /sys/block/sda/queue/scheduler noop [deadline] cfq

</comment></comment></comment></comment></comment></comment><comment><USER43> The first time I had to compile a Linux kernel for Android, it took only a few seconds (on the ridiculously overpowered "build machine" my employer supplied). I was sure I must have done something wrong, but no, that was the entire build. It takes longer for Android to reboot than it does to build the kernel.

It does feel like there's something seriously wrong with the massive C++ codebases we use these days for key infrastructure like browsers, and the massive compilation times we put up with.

</comment><comment><USER44> What Knuth said: "Premature optimization is the root of all evil"

What most developers hear: "Optimization is the root of all evil"

</comment><comment><USER45> Probably not really feasible, but I'd be interested if something comparable happens when your build process uses many threads instead of many processes. I still think using processes instead of threads is a hack, though I know the mainstream opinion says nowadays processes are the way to go and threads are a hack.

</comment><comment><USER46> We've come to the point where building the browser from scratch takes more than building the OS itself.

<comment><USER47> Interesting metric actually. Building Windows takes 12 hours [1]. It's a bit harder to find metrics on Linux. You can build the kernel in 60 seconds apparently [2] but that is not a complete operating system.

[1] [https://stackoverflow.com/questions/226377/operating- system-...](https://stackoverflow.com/questions/226377/operating-system- compile-time) [2] [http://www.phoronix.com/scan.php?page=news_item&px=MTAyNjU](http://www.phoronix.com/scan.php?page=news_item&px=MTAyNjU)

<comment><USER48> Someone's old data from 2012 to build a core-image-sato using Yocto is just over an hour - [http://www.burtonini.com/blog/2012/11/15/yocto-build- times/](http://www.burtonini.com/blog/2012/11/15/yocto-build-times/).

That said, core-image-sato used to be just a simple demo image. In my old build system, we would build the Arago Project for a TI SoC every night and it would take a few hours but that included a lot of the DSP code as well which was really slow too. So a couple of hours on average is my guess.

</comment></comment></comment><comment><USER49> Try running Carthage update for an iOS app with 80 frameworks. Ever seen a Mac hit 55GB of ram? MacOS kills it. It takes many of these runs, and all this does is fetch prebuilt binaries. Yes, everything I said here is beyond stupid.

<comment><USER50> Is it necessary to update _all_ of them at once? I think that's the same problem as OP... rebuilding the whole world is slow, so why not do it incrementally?

Also, 80 frameworks ⊙⊙ I'm assuming some of these are internal, and written in Swift, meaning they can't be compiled into static libs (easily).

</comment></comment><comment><USER51> Can take the alternate approach -

Run your builds in a hugely underpowered VM, and wait much longer.. your regular usage will be largely unimpacted, although the builds take longer.

Source: Currently running a ~1000 package dpb(1)[1] build of my needed openbsd ports on a dual-core KVM machine hosted on a 8-9 year old amd64x2 2.2ghz. 3 Days and counting, will probably be done around next weekend.

From there, incremental updates are mostly slight, and can complete overnight from a cron job.

.. [1] [https://man.openbsd.org/dpb](https://man.openbsd.org/dpb)

<comment><USER52> Out of curiosity why do you keep such an old machine around? I have found that newer machines can be had for free, and 7-year-old Xeon servers can be had for <$200 from IT recyclers.

<comment><USER53> The electricity consumption numbers are also relevant.

</comment></comment></comment><comment><USER54> My workstation was recently "upgraded" from a Window 8.1 workstation with a 4th gen i5 to a Windows 10 laptop with 5th gen i7. The extra RAM and SSD over HDD is great, but whether it's because it went from a quad-core to a dual-core hyperthreaded CPU, or because of the jump to Windows 10, the mouse lag is considerably more noticeable now. I've convinced them to upgrade my laptop again, but now this article doesn't give me much hope for my new work toy.

</comment><comment><USER55> While the issue closing processes slowly is unique to Windows 10, I've found similar situations of not being able to control my OS on RHEL, Fedora, Ubuntu and MacOS.

At this point I genuinely believe latency will be the death of general purpose computing.

iOS and Android very rarely get out of control. Apple is already pushing iOS devices as laptop replacements. But we lose a lot on these devices with their locked down OSs and inability to install the software we want.

<comment><USER56> I've seen Android get "out of control" on lower end devices. If you stick with higher end devices and/or first-party the experience is usually very slick. I don't think I've ever had a OnePlus device freeze up or stutter on me, for instance.

<comment><USER57> My OnePlus X certainly does. When charging or after 10/15 minutes of intense graphical use it starts getting sluggish and unresponsive.

<comment><USER58> Probably the CPU/GPU scaling back because the phone is getting too hot?

</comment></comment></comment></comment><comment><USER59> I just wanted to say good work. I'm impressed you dug so deep. A fix here could really impact the entire Windows 10 user base.

</comment><comment><USER60> Saw the headline and thought "must be Windows".

I'm not a Windows hater, but one of my long standing gripes about Windows is that it just seems to have terrible multitasking compared to OSX.

I'm sure there are reasons but it just seems utterly symbolic of Microsoft that they never managed to get Windows to multitask in a rock solid, smooth and reliable way like OSX.

<comment><USER61> It seems to have improved these past years but beach balls used to be comically widespread on OS X. I'm not at all convinced OS X is in any better shape than Windows.

And OS X certainly doesn't have anywhere near all the kick ass monitoring tools that Windows as, such as the ones shown in this article.

<comment><USER62> You do know that OS X have DTrace?

<comment><USER63> And then with DTrace - instruments! [https://developer.apple.com/library/content/documentation/De...](https://developer.apple.com/library/content/documentation/DeveloperTools/Conceptual/InstrumentsUserGuide/index.html)

</comment></comment></comment></comment><comment><USER64> I have a new Ryzen 7 CPU (you know, 8 cores, 16 threads), with 64GB RAM and for HDD a Samsung 960 PRO M.2 drive.

But when I went and plugged in an external Seagate 4TB drive, and tried to "dd zero" the s#it out of it, my whole system became unresponsive after a while, obviously I had to reset the machine as it wouldn't "kill -9" the process that made the system unresponsive.

Trying to type was a no go as keys would sometimes become "stuck". Moving the mouse around was an exercise in predictability too.

All this happened in the latest Ubuntu 17.04 64bit... #sadstory

</comment><comment><USER65> Seems like a good way to deal with this (outside of trying to convince Microsoft to fix it) is to spin up a VM and just give it a few cores, and do the build inside the VM to isolate this behavior.

</comment><comment><USER66> Why the OS don't prioritize UI threads on one or two cores?

<comment><USER67> How does it know which threads are UI threads?

<comment><USER68> I think it should at least know which thread handles mouse movement.

</comment></comment></comment><comment><USER69> When I converted from Windows 7 to 10 I noticed that I started getting audio latency/glitches/squelches from my external audio interface- a Focusrite Scarlett 2i4. The mouse would also sometimes hang. Doing some basic tests, the problem seemed to be coming from network drivers... but I could never resolve it. I wonder if the author's discovery has anything to do with the issues.

</comment><comment><USER70> Thats why my machine gets that slow after running for weeks... explains everything!

</comment><comment><USER71> I wonder if the "privacy" features in Win10 play a role here. Seems like some extra process accounting could cause delays not present in previous versions.

</comment><comment><USER72> Thank you for bringing attention to this. Experiencing this on our W10 workstations.

I hope MS does something about this immediately. It's maddening.

</comment><comment><USER73> Does this also occur on other OSes, like Linux, or MacOS? Can you move your Chrome build to another OS and not experience this problem?

</comment><comment><USER74> Use the gold linker if your setup permits it.

This issue went away for me when I switched.

</comment><comment><USER75> Wasn't this the title of a Bruce Springsteen song?

</comment><comment><USER21> I can't imagine that moving the Win32k stuff back to CSRSS would help much in this case, right? Though it is still a good thing especially for terminal servers where hopefully one CSRSS process crashing just terminate the session.

<comment><USER76> > moving the Win32k stuff back to CSRSS

Out of curiosity, was there some big move of functionality from CSRSS into Win32k earlier? When and what?

<comment><USER21> In NT4.

</comment></comment></comment><comment><USER77> There's too many spinning wheels. Stop it! People are going to just stop using the internet. If I could, I would. But I can't. So please just build simple websites!

</comment><comment><USER78> I read mouse as house and was confused for the longest time.

<comment><USER79> Same happened to me... initially I thought it must be some 1st world problem.

</comment></comment><comment><USER80> Just use linux

<comment><USER81> Staying responsive (under load) is also still a work in progress on Linux:

[https://www.phoronix.com/scan.php?page=news_item&px=BFQ- Queu...](https://www.phoronix.com/scan.php?page=news_item&px=BFQ-Queued- Linux-4.12)

<comment><USER82> That is a disk scheduler and mostly for spinning disks. I haven't seen a stuck mouse cursor for a long time in linux.

<comment><USER83> I always found this peculiar about linux; even when the system is swapping hard and application windows/window managers completely freeze, the cursor always remains responsive and movement rendered without so much as a hitch.

I wonder if xorg has some sort of kernel support to enable this.

<comment><USER84> Not on my computer. Something like a WM will freeze while it waits in queue to read those 0.2kB it needs of the disk (poor software design, if you ask me). But the mouse will freeze when IO buffers get filled. Just writing a huge file to a (slow-ish) usb stick will make my whole computer freeze, including the mouse, because the kernel usb code doesn't limit the buffer to some sane size (there was a kernel patch, and there is an option, and even with it turned on the problem is still there) (note that the probable reasoning for that is the fact that usb sucks).

A mouse cursor, AFAIK, is a gpu thing, not that it matters (wayland, i remember something that, will use normal gpu rendering to render the mouse). In the UNIX haters handbook there is a section about X where it is written that displays used to have 2-3 planes (IIRC, 2 planes + a cursor plane. I do recommend reading the good book, as it is funny).

I remember some talk about better kernel buffers management just for things like this. Memory management in the kernel is one of those actually hard things.

</comment></comment></comment></comment></comment><comment><USER85> so basically a fork-bomb. I think Linux can still buckle under one, nothing that obscene...

<comment><USER86> A fork bomb exhausts all system resources, this is not that, it doesn't actually use any resources, rather it locks the system out of them by serialising both process termination and UI updates.

<comment><USER85> Well, a fork bomb doesn't really use anything except it makes the process table management extremely time consuming. Not quite the same, but still conceptually similar

</comment></comment></comment><comment><USER87> When I saw his workstation specs, I thought, thats the exact same one I have at work! Then I checked the bottom, yep, he's at Google too.

<comment><USER88> Does yours run Windows? Do you get to choose? If you could choose, which OS would you use? Any clear favourites with your peers for development? Just collecting anecdotes ;)

</comment></comment><comment><USER89> > the C++ compiler needs to see full class definitions to, e.g., know the size > of an object and its inheritance relationships, we have to put the main meat > of every class definition into a header file!

Without knowing _anything_ about modern C++ and its compilers, this seems fixable.

I'm thinking a header compiler "hint" indicating the size of an object. When compiling the full class, you get an error if the number is wrong.

</comment><comment><USER90> He's also written some stuff regarding Visual Studio perf.

[https://randomascii.wordpress.com/2014/04/15/self- inflicted-...](https://randomascii.wordpress.com/2014/04/15/self-inflicted- denial-of-service-in-visual-studio-search/)

Close to my heart as I use Visual Studio all day. Horrid piece of software.

I'll probably get downvoted for this.

<comment><USER56> I live in two worlds at the moment - supporting and maintaining a large PHP application (for which I use phpStorm) and developing .NET applications (for which I, obviously, use VS).

I've been a VS user for nigh-on 10 years now and always found the experience really fantastic. I think it's certainly more coherent that the IntelliJ-based IDEs (which, to be fair, are also very good).

Anyway, I'm genuinely surprised to see VS described as "horrid" \- what specifically do you dislike about it?

<comment><USER90> "what specifically do you dislike about it?"

It's not the tooling I dislike it's the performance. No matter what I throw at it I still get the same experience. It feels like 95% of everything it does is blocking the UI.

<comment><USER91> Improving perf in VS is hard without massive rewrites. The fundamental problem is that this is originally a COM app (as in, heavily using COM to componentize itself) designed back in mid-90s. Consequently, you get all the wonders of things such as STA apartments, and code that insists running thereon.

As it gets rewritten, new managed bits don't care about all that stuff. But so long as there's one bit of legacy code anywhere in the particular flow that needs to run on STA (usually it's UI thread), you get this whole "you have 20 cores and 60 logical threads, but all those threads need to sync on STA, so everything is serialized and slow" thing.

Even for the new code, the problem is that all those old COM APIs that it needs to interact with (not just for VS itself, but also for the sake of backwards compatibility with third party extensions) are usually synchronous. So if you want background processing, you need to spawn a thread - but, of course, threads aren't free, either.

</comment></comment></comment></comment><comment><USER92> So what now ?

Should/does the author wait getting some traction on Hacker News and hopefully be noticed by dev at Microsoft, or is there some way to provide Microsoft directly these data, skipping Tier-1 support ?

The author seem to be working at Google, so he might get some leverage from that, but what about Random Joe ? Keep enjoying the bug "forever", I guess ?

<comment><USER93> There are many many MS bugs that last for years. Pretty much any time you search for a bug in MS software you will find someone in a support forum giving generic advice (known issue that we will work on, not a bug, please reinstall Windows and applications) and users complaining.

Typical example: [https://excel.uservoice.com/forums/304921-excel-for- windows-...](https://excel.uservoice.com/forums/304921-excel-for-windows- desktop-application/suggestions/10374741-stop-excel-from-changing-large- numbers-actually) basic problem that has been there many many years. For this one there are workarounds but many others there are not.

The only real long-term solution is supporting competitive products.

<comment><USER94> >The only real long-term solution is supporting competitive products.

Not really viable when the only OS that has software parity is OS X and the only OS with hardware parity is Linux.

If we drew a venn diagram it would be a straight line of circles with windows sitting in the middle. To switch away you have to make a choice between less software or less processing/GPU power.

<comment><USER93> Yes. That's why Microsoft gets away with not being responsive to customers. However using alternative systems (e.g. Mac, Linux, Google docs, LibreOffice) where possible does help even if only a little.

There are also advantages to the free solutions: no requirements to manage licenses and some improved functionality (e.g. seamless sharing with Google docs).

The fact that MS is including bash on Windows shows that the pressure is working.

</comment></comment></comment></comment><comment><USER95> The terrifying result of having ABI compatibility with the first commercially successful system of its kind from the '80s.

Granted, they aren't doing themselves any favours with their new straight- jacket style application ABI.

<comment><USER88> You are trotting out the same tired line without reading the article carefully? ;)

This is a regression. The article shows it worked fine up to Windows 7.

<comment><USER96> 7 is the best

<comment><USER97> Regardless of how many windows/any other OS versions I use later on, I will remember Win7 fondly. Its just so.. less cumbersome. May be the drastic changes that went into its preceeding and succeeding versions have a role to play in this.

<comment><USER98> There is this old quote that Algol 60 was an improvement not only on its predecessors but also its successors.

The same could be said about Windows 7, I guess. ;-)</comment></comment></comment></comment></comment>


The Last 10%: Lessons From Building Node.js Apps - <AUTHOR> http://fortnightlabs.posterous.com/the-last-10-lessons-from-building-nodejs-apps

<comment><USER2> With the last 10%, I would be thinking the content would demonstrate where the edge cases are and where the polish needs to be done.

I didn't get that, but I enjoyed it because I too heart node.js

<comment><USER3> I was expecting some application of the Lay of Diminishing Results to node.js. Neat slides, anyway.

<http://en.wikipedia.org/wiki/Diminishing_returns></comment></comment>


Grief in Ethiopia as trailblazing Australian doctor dies - <AUTHOR> https://www.bbc.com/news/world-australia-51965688 <comment><USER2> For those who wouldn't click the URL, I just want to state that the good doctor died at 96 possibly due to old age related complications and this story has nothing to do with COVID-19.

<comment><USER3> Thank you for saving many clicks! Pandemics are a great excuse for clickbaits!

<comment><USER4> How is the title clickbait?

<comment><USER3> TBH, right now any death reported in the news is equated as a result of COVID19. At least I equate it so. Hence, it is a clickbait from my POV.

<comment><USER5> And then folks wonder why nobody takes words like click-bait seriously anymore. It's people like you.

</comment></comment></comment></comment></comment><comment><USER6> Very glad to see this on Hacker News.

I had the fortune to meet her, as my dad was the architect of the new expanded hospital that opened in 1999. Amazing woman.

Sydney Morning Herald obituary here : [https://www.smh.com.au/national/gynaecologist-named-a- nation...](https://www.smh.com.au/national/gynaecologist-named-a-national- living-treasure-of-australia-20200319-p54boh.html)

<comment><USER7> I had a chance to meet her as well, around 15 years ago, at a fundraising event for the foundation. She was the real deal. Amazing woman. Amazing dedication to a worthwhile cause.

</comment></comment><comment><USER8> I remember a Nova documentary about this... [https://www.pbs.org/wgbh/nova/body/a-walk-to- beautiful.html](https://www.pbs.org/wgbh/nova/body/a-walk-to-beautiful.html)

Edit: Also available on YouTube... [https://www.youtube.com/watch?v=0HfPV7FEy6o](https://www.youtube.com/watch?v=0HfPV7FEy6o)

<comment><USER9> Thank you for posting this. Documentaries like these shed light on the saints that exist in this world.

</comment></comment><comment><USER10> To find such a clear North Star in your life, and then fully commit to it, in a totally foreign culture no less, and to know your work has literally life changing impact on others overlooked by society, must feel amazing.

<comment><USER11> Meanwhile, I push pixels for a living. Sure gives you an inferiority complex.

</comment></comment><comment><USER12> I first learned of her work from the book "The Hospital by the River". It's well worth reading. It can be bought directly from the Catherine Hamlin Fistula Foundation website, thus helping the charity.

[https://store.hamlin.org.au/collections/books-alpha- asc/prod...](https://store.hamlin.org.au/collections/books-alpha- asc/products/thehospitalbytheriver)

</comment><comment><USER13> The HQ of her foundation is a few kms from me in Sydney. If you want to donate, there's links here:

[https://hamlin.org.au/](https://hamlin.org.au/)

[https://fistulafoundation.org/](https://fistulafoundation.org/)

<comment><USER14> I drive passed it regularly.

</comment></comment><comment><USER15> In the midst of so much confusion, this was a truly beautiful, necessary read.

</comment><comment><USER16> Wow, what a touching story about an amazing woman and human being.

</comment><comment><USER17> I really wish I could make a difference like that.

<comment><USER18> Stories like this one usually give me bunch of really uneasy thoughts and feelings. It is difficult to avoid comparing own life path and choices to other people's - she achieved incredible things, saved lives and will be inspiration for many. And here I am, sitting countless hours behind screen,doing all these irrelevant things, writing code which _maybe_ will increase someone's profit insignificantly. It is like it is.

<comment><USER12> But working under Catherine Hamlin are a bunch of people doing "irrelevant" things. Someone has to empty the garbage bins in the wards, but the hospital wouldn't work without that person. You don't have to run the show to be making a contribution.

<comment><USER19> You can, however, choose the circus you join. If you feel meh about what you do and you feel meh - or worse - about the organization you do it for, it's normal to feel uncomfortable.

<comment><USER20> I've always wondered how an infosec specialisation could contribute to this kind of organisation instead of working exclusively for massive companies. I just have not seen the possibility yet I guess.

</comment></comment></comment></comment></comment><comment><USER21> She seems similar to [https://en.wikipedia.org/wiki/Ruth_Pfau](https://en.wikipedia.org/wiki/Ruth_Pfau)

</comment><comment><USER22> One of the few true saints.

</comment><comment><USER23> sad to see such a great person go

</comment><comment><USER24> My heart goes to her family during this tough time. Her contribution will never be forgotten.</comment>


Google Starts Adding Flight Schedules And Airline Routes In Search - <AUTHOR> http://techcrunch.com/2011/05/27/google-starts-adding-flight-schedules-and-airline-routes-in-search/

<comment><AUTHOR> So Google instantly competes with no less than three YC companies:

Hipmunk <http://www.hipmunk.com/>

FlightCaster <http://flightcaster.com/>

Adioso <http://adioso.com/></comment>


How do you deal with candidates who lie about their qualifications? - <AUTHOR> <comment><USER2> Check references. In depth: [https://money.usnews.com/money/blogs/outside- voices-careers/...](https://money.usnews.com/money/blogs/outside-voices- careers/2012/01/25/reference-checking-secrets-employers-wont-tell-you)

Depending on the type of role, have them FizzBuzz or do some other small project demonstrating ability.</comment>


Show HN: Convert CSS Components to React Styled-Components with Ease - <AUTHOR> https://akashj.pw/stylish <comment><USER2> Thanks for sharing my project

<comment><AUTHOR> No problem!! Glad I could help!!</comment></comment>


Female-led countries handled coronavirus better - <AUTHOR> https://www.theguardian.com/world/2020/aug/18/female-led-countries-handled-coronavirus-better-study-jacinda-ardern-angela-merkel <comment><USER2> Weird article. From my understanding Thailand is handling the corona situation pretty well, as is South Korea. And I guess neither of these countries are female led, or they'd have been mentioned in the article. There's also Japan ...

Maybe this is another interesting perspective: "Why East beat West on Covid-19": [https://asiatimes.com/2020/05/why-east-beat-west-on- covid-19...](https://asiatimes.com/2020/05/why-east-beat-west-on-covid-19/)

Also with regards to Taiwan (since apparently the country is female-led), perhaps the fact that the vice-president was an epidemiologist [0] made a bigger difference than whatever genital was situated between the legs of it's top leader.

\---

[0]: [https://www.todayonline.com/world/taiwans-weapon-against- cor...](https://www.todayonline.com/world/taiwans-weapon-against-coronavirus- epidemiologist-vice-president)</comment>


Offer HN: Free hosted bug tracking and DVCS - <AUTHOR> http://www.fogcreek.com/FogBugz/YCombinator.html

<comment><USER2> That's pretty nice of them!</comment>


Cloudflare and Remote Browser Isolation - <AUTHOR> https://blog.cloudflare.com/cloudflare-and-remote-browser-isolation/ <comment><USER2> It takes your most confidential data and tokenizes, compresses and THEN encrypts in that order. With todays architecture I can only imagine how many different microservices that are involved before the encryption happens. I'll pass</comment>


Boards – A tool for collaboratively organizing notes - <AUTHOR> https://github.com/thenativeweb/wolkenkit-boards <comment><USER2> A hosted alternative to this that has a relatively similar look and feel is Google Keep: [https://keep.google.com/](https://keep.google.com/)

<comment><USER3> I really like the simplicity and even the UI of Keep, but I can't help the fact that with this being a really useful and lovable Google product comes a clock in the back of my mind slowly counting down.

<comment><USER4> Any Google product still has a higher probability of being around for longer, supporting data takeout and having a much longer and user friendly deprecation period, than a similar product by some startup.

If you want full control, your only real choice is to use something open source, host it yourself, and take care of all associated dev ops.

<comment><USER3> full control over notes isn't something I would consider a priority personally. They're flat note files. Taking the effort to migrate them isn't really enough of a deal breaker for me to futz about with hosting my own platform and "all associated dev ops".

Knowing where my note files are and not having to worry about accessing them is a priority.

Whatever metrics you want to point at as to how long Google service x survives doesn't magically make that clock go away in my mind. It's there. It's present.

</comment></comment></comment></comment><comment><USER5> Hmm, is wolkenkit still rather dependency-heavy? Saw it at a presentation once and the default install pulled in both Postgres _and_ Mongo.

<comment><AUTHOR> Yes, currently it's still like this, but it's on our roadmap to change this in the near future (I'm one of the core developers of wolkenkit).

</comment></comment><comment><USER6> Trello type project? Trello has been very handy in my workplace - an open source version would be nice.

<comment><USER7> Wekan ([https://github.com/wekan/wekan](https://github.com/wekan/wekan)) is surprisingly capable as an open source Trello-alike.

</comment></comment><comment><USER8> Looks like this: [https://youtu.be/uUOlzr4XdcY?t=78](https://youtu.be/uUOlzr4XdcY?t=78) but is entirely different

</comment><comment><USER9> All words I love but I am not sure how it fits together. I hope by CQRS they don't mean, figure out the query yourself?

</comment><comment><USER10> Last release 1½ years ago. Minimal activity. I wouldn't consider using it on that alone.

<comment><USER11> Last commit a month ago? Anyway, old == bad?

<comment><USER12> I fight with this at work all the time. Just because it's old doesn't mean it can't be stable. We freeze our versions anyways so if it works who cares?

</comment></comment></comment><comment><USER13> Let me guess, you did a "todo list" tutorial and you just kept going

<comment><USER14> One of my most successful side projects started as a todo list tutorial that just kept going. It (eventually) led to a new job</comment></comment>


Countdown to Live Satoshi Nakamoto Unveiling - <AUTHOR> https://gotsatoshi.com/ <comment><USER2> This sounds like a scam. If that guy is real he has the power to crash the entire bitcoin economy since he premined so much of it</comment>


Apple ordered by UK judge to publicly state that Samsung didn't copy the iPad - <AUTHOR> http://www.theverge.com/2012/7/18/3167346/apple-order-samsung-copy-uk

<comment><USER2> Some copywriter at Apple is going to have lot of fun with this. Expect the quotes from the judge to appear prominently.

I wouldn't be to happy about this part of the verdict if I were Samsung.</comment>


Ask HN: What's your container story? - <AUTHOR> I'm doing my research project on containers, their usefulness and pain points. I greatly appreciate anyone who wishes to share their container story with me :) 1. Do you use or wish to you containers in your company? If so, How many containers do you run in production?
2. What kinds of jobs are running on your container deployment (analytics?, batch processing, CI/CD)?
3. How big is your company(employees, revenue, users)? and what field is it in (mobile, AI)?
4. Do you use any orchestrators/special tools (kubernetes/docker swarm)?
5. What is the biggest challenge in using containers for you? <comment><USER2> I actually really love containers so I will bite on this:

1) We use containers all over our process. From local development to production. In production we run in AWS ECS Service clusters with 9 containers per cluster. These are mostly rails servers and nginx reverse proxy's.

2) We run rails servers, nginx reverse proxy's, CI/CD uses containers, we have jobs for data processing that use containers. Probably other things too.

3) Things :D

4) Yes and no. We don't use orchestration tools but we do have orchestration using customer rake tests and deep integration with our CI/CD environment.

5) It's hard to hug a container... that's the biggest challenge.

</comment><comment><USER3> Happy container user here. At previous company:

1\. Using containers, close to 20 of them in production. Same for homolog, and a few at a time for dev;

2\. Everything: Database (CouchDB+ES), Apps(in PHP, Ruby and Clojure) and auxiliary stuff(proxy, wiki, static server, mailer...);

3\. Small: 2 techs, 1k users. Biodiversity conservation in the government;

4\. No orchestrators. Using docker-compose only;

5\. On boarding new members that are not experienced, sometimes takes a while for the abstraction to "kick in";

</comment><comment><USER4> No details but some insights; 1) We now use 0 containers in production, only in dev/test env. 2) One docker per background service, for now. 4) docker CLI for now, later some GitLab CI tests 5) My Windows workstation.

Thing i want to add on usefulness: To me containers are mostly a way to abstract configuration and document it in code. Lots of server processes go into a cloud, and this can help us iterate faster in the future.

</comment><comment><USER5> If you search for "state containers 2016", you'll get more data.</comment>


Kim Dotcom: The US Government is Wrong, Here's Why - <AUTHOR> http://torrentfreak.com/kim-dotcom-the-us-government-is-wrong-heres-why-120326/ <comment><USER2> _This begs the question of why Mega was so aggressively targeted._

I think it's pretty clear. This was one of the largest and easiest to use file-locker services. I used it tons of times because it was so convenient and the free service was much better than any of the other file-locker services. If you had an ad-blocker installed, the site was almost too good to be true. You could download huge files after a 30 second wait, at reasonably high speeds, no captcha or any other hoops to jump through, and you could download another file from the site immediately afterwards without wait (most sites make free users wait between downloads). Files would stay up on the site seemingly indefinitely, while other file-locker services would delete a file after it was not accessed for a specific number of days.

Also Kim was a larger-than-life target. He was living extravagantly. Right after he was arrested there was a huge Ars article about how ridiculous his lifestyle and persona was. So now the government could say: "Hey look at this asshole, he's getting rich off of piracy and stealing American jobs." They couldn't have hoped for a better target.

Unfortunately, Kim was obviously thumbing his nose at US copyright law and he thought he was untouchable because of his location. That might be a workable strategy for someone keeping a lower-profile but if you piss off enough powerful people they will find a way to get at you, legal or not. (As we are seeing here.)

That being said, since the guy had a family he really should have found a more respectable way to make a living. This was pretty reckless and selfish on his part.

<comment><USER3>
      >Kim was obviously thumbing his nose at US copyright law

I don't think providing a DMCA takedown process which was removing tens of thousands of files a day counts as "thumbing his nose at US copyright law"

<comment><USER4> The site had millions of users. Is the allusion to "tens of thousands" of files supposed to be convincing? Why was there a limit at all? This is a site that had to deal with (say) 10,000 takedowns a day; clearly, it had a rampant piracy problem.

<comment><USER5> The DMCA process allows a right-holder to submit a takedown request that the content host will _review_ and, if found to be correct, act on with "expeditious" timeliness.

The direct delete was not a takedown request; it was a deletion order. This is beyond MU's DMCA responsibility.

I do not have evidence of rights holders abusing this feature at MU. But we do know that the labels have made mistakes before [1]. It would be irresponsible for MU to give a third party the ability to wipe large swaths of their servers clean without oversight.

[1] [http://arstechnica.com/tech-policy/news/2011/12/ice- admits-m...](http://arstechnica.com/tech-policy/news/2011/12/ice-admits- months-long-seizure-of-music-blog-was-a-mistake.ars)

<comment><USER4> _On or about April 23, 2009, DOTCOM sent an e-mail message to VANDER KOLK, ORTMANN, and BENCKO in which he complained about the deletion of URLlinks in response to infringement notices from the copyright holders. In the message, DOTCOMstated that "I told you many times not to delete links that are reported in batches of thousandsfrom insignificant sources. I would say that those infringement reports from MEXICO of "14,000" links would fall into that category. And the fact that we lost significant revenuebecause of it justifies my reaction."_

</comment></comment></comment></comment></comment><comment><USER6> I never used megaupload so I apologize if I'm way off, but I'm really confused: After this "bust" it seems the received wisdom is that MegaUpload was not some shady illegal file sharing site; whereas beforehand (if memory serves), it was common knowledge that that was _exactly_ what it was. Some friends who engage in such sharing tell me they "don't use bittorrent anymore, DD [direct download] is easier."

Have I gone crazy? Do most BT tracker sites that feature "illegal" content not advertise direct download sites as an alternative way to download stuff illegally?

I'm really confused because I thought that "DD sites are a competitor to BT for downloading stuff illegally" was common knowledge, now we're shocked- SHOCKED that such unseemly allegations would be leveled at such respectable Netizens as Megaupload. I am not commenting on whether copyright is broken, merely "was this not a popular site to d/l illegal stuff?"

<comment><USER7> Yes, it was a popular site to download stuff without a proper license. That doesn't mean they were an "illegal file sharing site". Youtube is also a popular site to view illegally shared videos, but they're not an "illegal video sharing site".

<comment><USER4> Youtube is a popular site to view unreliable, low-quality streaming versions of unlawfully shared videos. Nobody thinks Youtube is a substitute for (say) a Hulu+ or Amazon Prime subscription.

People also shared legitimate content on Napster. Once in a blue moon, someone will use BitTorrent to transfer a Linux kernel. But we all know why those services were or are popular.

Nerds appreciate good hacks, and are also infuriated by how fuzzy and nondeterministic the legal system is. So they tend to vigorously adhere to arguments like "how can you prove a DVDRIP of The Muppets wasn't a lawfully- created backup of a purchased DVD stored for entirely legitimate reasons", or, "how can you claim a service like MegaUpload is a gigantic scam that milks millions of dollars out of piracy when people obviously do use it to store Linux kernels". If the legal system worked the way nerds want it to, these arguments would be totally convincing: if you can't prove _as if to a programming language runtime_ that something is criminal, well, you shouldn't even be able to get an indictment.

Of course, that's not how the legal system works. A gigantic portion of almost every criminal case hinges on the question of intent, which involves proving to a jury what someone was _thinking_. That's a head-explodey concept, because you can't write a computer program to evaluate it. But it's also the basis for many centuries of western law.

Similarly, if you find some awesome, clever scheme by which you can profit from piracy without ever touching pirated content, the law is not going to evaluate your culpability simply from the bits on your hard drive. The totality of the circumstances involved in your scheme will be used to make a case as to your interest in and promotion of piracy, much of which will involve trying to read your mind based on tea leaves like "what sites did you choose to run your ads on".

Similarly, the DoJ is _required_ to spend their time on cases they believe they can win. It can be considered unethical for them to prosecute cases they don't have a reasonable shot at. So as audibly as the pattern engine in the nerd cortex may ring with recognition at the similarities between Youtube and MegaUpload, they fact that Youtube isn't being prosecuted is irrelevant. The DoJ will start with the cases it can win.

<comment><USER7> _Youtube is a popular site to view unreliable, low-quality streaming versions of unlawfully shared videos. Nobody thinks Youtube is a substitute for (say) a Hulu+ or Amazon Prime subscription._

Maybe not, but for many people it is a replacement for MP3 downloading services like iTunes. Sure, it doesn't offer all the same features (neither did MU), but it offers enough.

 _People also shared legitimate content on Napster. Once in a blue moon, someone will use BitTorrent to transfer a Linux kernel. But we all know why those services were or are popular._

In my (anecdotal, yes) experience of watching people use it, that's exactly why Youtube is popular too. User created content is an exception.

<comment><USER4> There's a distinction to be drawn between copyrighted content and copyrighted content of such quality that serves as a market substitute for the legitimate product.

In either case, the DoJ has huge discretion about what cases it brings. A major component of that discretion is its belief that it can win the case (much harder against Youtube); another component is "what offender is so weak that we're likely to maximize the precedential value of the case"; another is "how much of a message will this send".

</comment></comment></comment></comment></comment><comment><USER8> No surprise about the weakness of the charges. The goal has already been accomplished. Megaupload has been destroyed without a single valid argument being upheld.

<comment><USER9> This raises the interesting question: What would happen if Megaupload actually managed to win in court? Would any part on the other side be responsible to pay for the damages caused to uptime and reputation?

Considering how profitable Megaupload was pre-takedown, we're talking enormous sums.

<comment><USER10> Yeah, I think the interesting thing here is the flip-side of them (Mega) not being a US entity in anyway. I read a while ago (no links I'm afraid) that essentially a US agency/regulator has to give permission for a US based entity to sue an agency like the FBI. I'd be very interested to see how it plays out for someone like Mega, or their web hosts if in fact they did win. There'd be no protection in place. They'd have to battle.

I'd be interested to know if any HN'ers have anything more solid to add?

<comment><USER11> "I read a while ago (no links I'm afraid) that essentially a US agency/regulator has to give permission for a US based entity to sue an agency like the FBI."

Is "sovereign immunity"[1] perhaps the concept you are referring to? It was mentioned in an HN comment thread a while ago, but I don't remember the exact context.

[1] [http://en.wikipedia.org/wiki/Sovereign_immunity_in_the_Unite...](http://en.wikipedia.org/wiki/Sovereign_immunity_in_the_United_States)

<comment><USER10> Ahh yes that indeed was what I was referring too. Interestingly it is in fact (if I'm reading this right) mentioned as being exempt: "certain claims of monetary damages against the United States are exempt from sovereign immunity" [1]

[1] [http://en.wikipedia.org/wiki/Sovereign_immunity_in_the_Unite...](http://en.wikipedia.org/wiki/Sovereign_immunity_in_the_United_States#Certain_contracts_with_the_government)

<comment><USER11> I'm no lawyer, but it sounds like the Tucker act only applies to cases where the government states or implies that it will pay something and then doesn't, so the government can't just breach contracts with impunity.

</comment></comment></comment></comment></comment></comment><comment><USER12> Don't forget the MPAA CEO is none other than former Democratic Senator Chris Dodd.

Also, Obama's copyright czar received a strong endorsement from the RIAA/MPAA.

It seems like Obama/White House should create another position that "competes" with the copyright czar and takes the other extreme position.

(Obama voter here so don't really mean to make a political statement with this post)

<comment><USER13> My cynical guess is this was the price to keep the money flowing after they opposed SOPA/PIPA publicly.

</comment></comment><comment><USER14> Maybe Dotcom should run for New Zealand's Senate, too.

<comment><USER15> They don't have an upper house. Haven't for quite a while.

</comment></comment><comment><USER16> Now that you think about it, they probably chose the wrong guy to make an example out of. A rich nerd who likes attention? of course he's going to make this into a big deal (whether he's right or not)

</comment><comment><USER17> Hopefully the DOJ will eventually abandon ship. They won't forget how bad the RIAA et. al. made them look any time soon if this happens.

<comment><USER18> Like the politicians who kept the Vietnam War going long after victory was impossible, they don't understand sunk costs. They are all in at this point. No prosecutor of a case this big will accept the embarrassment of merely dropping the charges. They have to win, so this will go to court.

<comment><USER19> There's more than one way to win. They could declare that they "settled for undisclosed terms", declare victory, and walk away.

</comment></comment></comment><comment><USER20> Am I the only one who noticed how ridiculously flimsy this article was? Let me sum it up:

Kim Dotcom says he did nothing wrong. Legal documents say one thing but they're wrong because Kim says that they're wrong. Kim Dotcom would never lie, right? So he must really have never done anything wrong.

There's also this weird backtracking that goes on in the article. First the article claims that Mega is in the clear pretty much based on what Kim Dotcom says and nothing more but then goes on to imply that even if Mega did do something wrong it's totally cool because there are some people using it to share photos and videos of themselves. And those people are US soldiers so the Feds just _have_ to forgive Mega because after all, we can never imply a US soldier would do anything unethical!

Then the 50 Cent thing... "Well, yeah I uploaded the 50 Cent song but I totally bought it first and it was random and the the link was private! Just take me at my word TorrentFreak". And TorrentFreak does take him at his word.

Then, because some big media companies wanted to do business with Mega it somehow absolves them of any sin related to hosting and facilitating the piracy of those same companies' works. Really?

And it just goes on...

Basically as long as what you say supports the TorrentFreak agenda they'll just take you at your word and report what you say as truth. This is 5th grade expository writing, not a news story. The sad thing is that people will read this garbage and take it as truth because it sounds bad like you should be outraged and it kind of sort of includes some semblance of fact.

I can't say if MegaUpload did anything wrong or not based on this story because it's such a terribly written one. Lots of topic sentences, little to no supporting details, and no one seemed to check if what Dotcom was saying is really accurate.

<comment><USER21> I think it's pretty clear from the introduction that this would just be a one- sided response to some of the government's weakest claims. It's essentially just reading one side's legal brief and ignoring the other.

Particularly Dotcom completely ignored a number of the accusations the government has made ([http://arstechnica.com/tech-policy/news/2012/01/why-the- feds...](http://arstechnica.com/tech-policy/news/2012/01/why-the-feds-smashed- megaupload.ars)). Namely, he didn't address at all that they paid users who were popular uploaders with known infringing content. He also cherry picked some instances of his own use of the system without addressing any of the instances of employee abuses cited above.

</comment></comment><comment><USER22> Glad to see someone fight back against the the corruption that is American politics and status quo and it's growing inquality and accelerating movement towards dystopia. Maybe Dotcom committed crimes, maybe he didn't. I really don't know. But I do know that people are bullied and/or fear- and/or debt- slaved into submission every day and that the only to have a chance to change anything is to stand up for other people and yourself and not go down without a fight.</comment>


Ask HN: Large open-source Rails app examples - <AUTHOR> I'm looking for a large Rails app to reference for some design patterns. I have grow a Rails app more or less on my own and it now handles millions of requests per day. The problem is I feel like my code could be cleaner or utilize some patterns that I'm not comfortable with yet. I have read a lot of books but learn better from reading examples, but I want something more than a Blog app. <comment><USER2> Have a look at Real World Rails: [https://github.com/eliotsykes/real-world- rails](https://github.com/eliotsykes/real-world-rails)

</comment><comment><USER3> Mastodon:

[https://github.com/tootsuite/mastodon/](https://github.com/tootsuite/mastodon/)</comment>


A Tale of Two Columbia Classes - <AUTHOR> https://heterodoxacademy.org/2018/01/29/a-tale-of-two-columbia-classes/ <comment><USER2> A very close friend of mine recently received a master's degree in Philosophy at Columbia. She definitely did not fit the mold of many students who were there, being a conservative and an active duty pilot in the military who was preparing to teach at an academy. She found many people and professors to be open minded and mostly fair. However she experienced a few professors of the type described here, where the authority of the professor was used in ad hominem attacks on disfavored groups. Voicing any dissent was greeted with scorn and disgust.

One of the interesting things, at least about the graduate program, is that you can take many credits as "R credits", meaning you don't get graded. You have to show up and submit research papers, but they don't get graded. The idea, I think, is to focus on the learning and not focus on getting an A. I think this can also give the students the ability to disagree with vindictive professors without getting their academic career derailed. I think this really works to provide more intellectual freedom to students at Columbia, and my friend had a good experience there.

<comment><AUTHOR> _She found many people and professors to be open minded and mostly fair. However she experienced a few professors of the type described here, where the authority of the professor was used in ad hominem attacks on disfavored groups. Voicing any dissent was greeted with scorn and disgust._

I went to grad school in English at the University of Arizona and my experience was similar. The same is true of students; people regularly ask me about those crazy students on campus, not realizing that the ones who make the news are the exception: [https://jakeseliger.com/2017/04/24/ninety-five- percent-of-pe...](https://jakeseliger.com/2017/04/24/ninety-five-percent-of- people-are-fine-but-its-that-last-five-percent/)

Most profs are open minded and fair, but the ones who are't yield the best, juiciest, and most absurd soundbites.

</comment></comment><comment><USER3> [http://www.paulgraham.com/say.html](http://www.paulgraham.com/say.html)

> When you find something you can't say, what do you do with it? My advice is, > don't say it. Or at least, pick your battles.

I've noticed this in the work environment lately. It's _palpable_. People are _afraid_ of saying the wrong thing.

Everyone is basically taking pg's approach, and sitting quietly. It's sad. I don't know what to do about it.

But, man, is it a relief when you're getting a beer with a close friend and can explore some good-natured heterodoxy. That sort of interesting conversation is getting rarer and rarer in public.

When I was young, it was the political right that would shut down heterodox opinions, like flag burning or atheism or same-sex couples on TV. But strangely enough, I feel more free to talk openly around my political right friends today. It's strange that "liberalism" in America today feels so illiberal.

<comment><USER4> It seems like you're just complaining about not being able to have the same conversations with your co-workers that you could at a bar with your friend, after a beer or two.

<comment><USER5> I dunno, I feel similarly.

Like, I have strongly-held beliefs that span "both sides." But (as an example) I'm much more comfortable talking with a conservative about why I think the death penalty is wrong than I am with a liberal about why I think abortion is wrong.

From my perspective, many younger (or newer, basically under-30) conservatives have been moderating* some of their views, particularly social views like reforming the justice system, race relations, etc. (I mean, just the other night my SO and I were talking about how a significant number of the College Republican state chairs were openly gay. That wouldn't have happened 10 years ago!) And with this exploration comes the welcoming of different viewpoints.

Unfortunately, I see the reverse with liberals of the same age group. And, sure, generalizations suck because everybody will say, "That doesn't apply to my group of friends!" But, I do want to put up a W in the "openness" column for liberals. It's just difficult to do when talking about certain subjects feels like dancing across a minefield.

*: Yes, the alt-right has been steadily moving in the opposite direction, but they're a very vocal minority that have been steadily fading.

<comment><USER6> > _I 'm much more comfortable talking with a conservative about why I think > the death penalty is wrong than I am with a liberal about why I think > abortion is wrong._

I don't think that's a good comparison for weighing the relative intolerance of a political group.

Support of the death penalty is not as uniform among conservatives as abortion is for liberals. Nor does it have as strong of legal support -- states can outright ban the death penalty, they can't ban abortions and have difficulty not having restrictions overturned by the Supreme Court. Most importantly, the death penalty is an administrative action, whereas abortions are seen as personal health decisions.

If you argue to someone that abortion is wrong, that person is likely to see that an attack on abortion as a personal right. Whose personal right do you threaten when you argue against the death penalty?

<comment><USER5> They're just what popped on my head. I could replace them with about a dozen other things. Regardless, taking it as a personal attack is a huge part of the issue. We should be able to discuss the efficacy (&c.) of ideas without waking on eggshells.

</comment></comment></comment></comment></comment><comment><USER7> From the article: "The other course is called Philosophy and Feminism, in which we learn the core principles of intersectional feminism, queer theory, and feminist epistemology."

Those aren't real intellectual disciplines, so naturally the professor discourages debate.

<comment><USER8> > Those aren't real intellectual disciplines, so naturally the professor > discourages debate.

I think we should distinguish a topic from those paid to teach about it.

It seems to me that regardless of how silly we consider a particular set of beliefs to be, we might gain useful knowledge by studying (with intellectual rigour) why people hold those beliefs, how societies react to the ideas, etc.

But I'm sure it's equally possible for some areas of study to attract foolish or undisciplined professors, and for that pattern to become self-sustaining.

</comment></comment><comment><USER9> Yeah it's hard to imagine having good natured debates around social justice topics in America these days. I once went to a museum event where the staff dressed like renaissance scientists and humorously debated whether the "celestial spheres" rotate around the earth or the sun. It's hard to imagine a similar event about the more politicized subjects of our time.

Perhaps the question is: should we?

</comment><comment><USER10> What is the point of a philosophy class if you can't debate or argue about ideas being taught. It seems like it would be a great class for discussion. Common, how can you read Foucault and not start a debate wondering what he meant.

> She went on to swear at us in this guilt-inducing way a couple more times > before the semester's end.

Why is that ever ok? Why is the professor still teaching there? What if they have tenure. What does a professor have to do then to be kicked out. It would seem like swearing at students in class would be a good reason.

> As hyperbolic as this might sound, voicing a strong pushback against any > idea that the Professor favored was nearly unthinkable.

It suddenly dawned on me, as I was typing this, that it's actually a useful class! It does teach a modern approach to discourse. That's exactly what is popular and so it makes sense to teach it that way - shutting off debate and discussion, swearing at people, demoralizing them, making them feel guilty, punishing if they don't appear guilty enough, etc.

Looking back, I am sure this student would find this class was more memorable and useful than the other one. They'll forget about Thomas Nagel but never forget how they could not discuss Focault.

<comment><USER11> >What is the point of a philosophy class if you can't debate or argue about ideas being taught. It seems like it would be a great class for discussion. Common, how can you read Foucault and not start a debate wondering what he meant.

... and people across the philosophical and political spectrum, especially feminists, have critiques of Foucault. It seems irresponsible and deeply insulting to treat a philosopher as beyond questioning.

</comment></comment><comment><USER12> This is an interesting anecdote picking on one professor, but I can say as a current student, Columbia does an outstanding job of admitting students from a diverse background through the School of General Studies. I'm a student here now, and I've made friends with several of the ex-military folks who make up most of the population of the School of General Studies.

Just earlier tonight, I was chatting with a 35 year old former marine from Mississippi who just completed his undergrad at Columbia and is running the Columbia Republican Club (CUCR). Columbia has always given them the opportunity to have speakers (Charles Murray, Mike Cernovich, Dinesh D'Souza spoke last year, Scaramucci and Jordan Peterson are on deck this semester). Security is always made available to them, and protestors, while permitted, are not allowed to prevent the guest from speaking (unlike Middlebury or Berkley). The events that I've attended are civil and the audience generally acts according to what you would expect from an academic institution.

</comment><comment><USER4> >But I also suspect that many students with little philosophy experience came away with the impression that this class represented what philosophy is, and that's what disheartens me most.

Haven't we all experienced a professor who was good in their field but couldn't teach well, or was too much of a hardass?

Faculty ratings and ratemyprofessor are there for a reason.

<comment><USER13> I don't think this story is about a teacher who isn't good at "just" the fundamental actions of teaching. It sounds like their actual skill and respect for the material is lacking. If your math professor couldn't prove the basic theorems he wanted you to memorize without referring to his authority, that, to me, would be a sign not that he was bad at explaining but that he was fundamentally unskilled in his field.

</comment></comment><comment><USER14> I've noticed the author's view is becoming more common, within the past year.

It's the inevitable reaction to extremism. I accept the existence of privilege but I believe that militancy about it is counterproductive.

Using the state of black people in America as an example, certainly they have higher poverty rates than whites because of slavery and continued discrimination, but there are problems within the black community that must be addressed by the community itself. Broken homes are a huge problem which perpetuate poverty but within the privilege centric framework it's racist to even mention this.

Of course slavery is ultimately to blame for all of this, but focusing on it will not undo it.

<comment><USER15> I've never seen a clear answer about what a cis white male is supposed to do about their privilege. Should they give all their money to the poor? Should they shoot themselves to remove the blight of the Western World, it's democracy, relative tolerance, and ability to reflect upon itself and improve? Should they just say, "You're right and I'm thankful"? The regressive-left makes no sense in their stance.

<comment><USER16> I'm not sure if I count as a member of the regressive left, but I'll try to give a clear answer anyway: be aware of it. The usual phrase is "check your privilege," not "eliminate your privilege" or even "use your privilege". Be aware that there are things that others perceive as hardships that aren't hardships to you, or approaches to life that you can take that others can't take without social (or legal) penalty, or whatever, and show some compassion - certainly do not say "Well, if I could do it, why couldn't you." You are slightly more likely to get the benefit of the doubt from potential employers, or police who find you in a place they don't like, or conservative religious- political leaders suggesting policies, or whatever, than you would if you weren't a cis white man. You also don't have the life experience of _not_ being a cis white men, which certainly doesn't mean that you can't understand other people, it just means you can't extrapolate your own experiences and reconstruct what life is like for them from first principles. That's it.

If you want to give all your money to the poor, great, don't let me stop you. If you want to improve Western civilization and make life better for the poor (and the rich too, perhaps), also great, don't let me stop you either. If you want to improve Western civilization for people who look like you but not for others, well, at least stop for a second and realize that's what you're doing before you do it. (And if you continue nonetheless, there's probably room for criticism, but that criticism is not fundamentally about how you merely _have_ privilege.)

<comment><USER15> I'm replying to you since you have the longest reply (and it's thought out too). The regressive left is the SJW that tells the Norwegians they can't use their own letters because Nazi decided to co-op their culture back in the day [1]. You have individuals like Gazi [2] running around saying that white people need to pay reparations even though most white people in the country descend from immigrants that arrived after the civil war therefore they never owned slaves. We've gotten to the point that some on the regressive left don't think that it's even possible for a white man to empathize or even understand the language used to describe their situations. If enough feel like communication has broken down to this level, they have and will call for war.

My problem is that people that say, "check your privilege" use it to shut down dialogue. We're getting into identity politics. This never, ever ends well for anyone.

I'm all for compassion. I'm not for the hypocrisy of using race and guilt as cudgels against supposed political enemies. I'm not for college campuses insulating themselves with their own group think to the point that it's an arrest-able offense to hand out the Constitution, the very document that defines that we are all equal in the sight of the law, to students on Constitution Day by a student of the college [3]. I absolutely abhor the continued press for ignorance about the very historical facts at hand in which the white man, and only the white man, was to blame or profited from slavery [4].

1 - [https://sputniknews.com/europe/201801311061237928-norway- naz...](https://sputniknews.com/europe/201801311061237928-norway-nazi- attacking-viking/) 2 - [https://www.youtube.com/watch?v=tanz1IxVpVA](https://www.youtube.com/watch?v=tanz1IxVpVA) 3 - [http://reason.com/blog/2017/01/21/students-arrested- constitu...](http://reason.com/blog/2017/01/21/students-arrested- constitutions-michigan) 4 - [https://www.vice.com/en_us/article/ppzevg/hey-v12n5](https://www.vice.com/en_us/article/ppzevg/hey-v12n5)

<comment><USER16> > _The regressive left is the SJW that tells the Norwegians they can 't use > their own letters because Nazi decided to co-op their culture back in the > day [1]._

Ehhhh. I'm of Indian descent, and I am perfectly comfortable with the modern inability to use the swastika in international contexts, where you don't have a culture where people expect the pre-Nazi meaning of the swastika. "They banned an up-arrow" just ... doesn't seem like something worth getting upset about? Presumably if the logo accidentally looked like a penis, they'd change that too, but that's hardly a sign of identity politics or anything.

> You have individuals like Gazi [2] running around saying that white people > need to pay reparations even though most white people in the country descend > from immigrants that arrived after the civil war therefore they never owned > slaves.

I have no idea who this person is, or how genuine they are. Every political viewpoint has extremists and trolls and uninformed folks (I don't know if this person fits in one of these categories, but I certainly don't know that they _don 't_), and many of those people are on YouTube. A much better case for reparations, which includes arguments about why white people who arrived in the US after slavery still benefited unfairly from organized oppression of black people, can be found in, say, Ta-Nehisi Coates' "The Case for Reparations:" [https://www.theatlantic.com/magazine/archive/2014/06/the- cas...](https://www.theatlantic.com/magazine/archive/2014/06/the-case-for- reparations/361631/)

> _it 's an arrest-able offense to hand out the Constitution, the very > document that defines that we are all equal in the sight of the law, to > students on Constitution Day by a student of the college [3]_

As far as I can tell from the reporting, these students were protesting a "free speech zone" policy on campus, right? I'm certainly not about to endorse "free speech zones," but it seems pretty clear that the motivation for the arrest was not that they were handing out Constitutions, they simply chose to hand out Constitutions because they knew they'd get favorable news headlines like this.

> _I absolutely abhor the continued press for ignorance about the very > historical facts at hand in which the white man, and only the white man, was > to blame or profited from slavery [4]._

The fact that your source is from VICE, which is regularly accused (possibly correctly!) of being left-biased, doesn't do much to convince me that these facts are being hidden on the left. Certainly I've never heard anyone on the left make a reasoned argument that only white men were to blame or ever profited from any slavery in history.

<comment><USER17> >but that's hardly a sign of identity politics or anything.

It's a sign that they can't make simple distinctions which in itself is sophomoric.

>Ta-Nehisi Coates' "The Case for Reparations:"

More than a few people are pointing out that Coates is less a part of the solution and more part of the problem. Here's just one: [https://www.nytimes.com/2017/10/06/opinion/ta-nehisi- coates-...](https://www.nytimes.com/2017/10/06/opinion/ta-nehisi-coates- whiteness-power.html)

</comment></comment></comment></comment></comment></comment><comment><USER18> I have tried to read Foucault and could barely understand what he was trying to say. May be most students are quiet because they don't know what to refute :-)

</comment><comment><USER19> I believe there is self-selection in the professorship as to who teaches what, and this explains this student's experience.

Feminism has (relatively) direct political and behavioral consequences, and so the professors who teach it will tend to skew towards people who want those policies and behaviors implemented.

By contrast, what is the agenda of someone who teaches Methods and Problems of Philosophical Thought? Probably that field self-selects for people who don't want, or believe they can, change the world too much in any particular way. Rather, if you asked them why they got into the subject, they would probably say it's inherently interesting, or that they like reading and argument, or have some kind of vague idea about changing the world that lacks much salient political or behavioral implication (e.g., "opening people's minds"). Thus, they will encourage debate and want to make sure the students learn all the ideas correctly (the ideas being what they find beautiful) moreso than actually accept the ideas. After all, who cares if one of your philosophy students goes on to law school thinking it's not impossible he's a brain in a vat?

It would be interesting if the philosophy professors had to swap out who taught what. But this is unlikely because of the division of labor and time required to teach and do research---each would feel frustrated.

In my own field, transportation engineering, many professors often started out like the first type of professor and wound up like the second. They go into the field thinking they're going to help improve transit or get people to stop driving less or design highways better. But after a while they realize the decisions they impact are (i) extremely context-dependent (e.g., bus rapid transit vs light rail), (ii) made by bureaucrats not the public (e.g., diverging diamond interchanges) or (iii) made politically/randomly without any pretense of optimization whatsoever (e.g., Trump's infrastructure plan seems to have been designed partly by an investor, Wilbur Ross, with no prior interest in roads). At that point the professors become more interested than they were in furthering knowledge for its own sake, which is all that's left over to do and is also what will get you tenure. This leads to something of a balancing act when they teach, whereby the professors want to teach the students the big ideas without discouraging their enthusiasm.

</comment><comment><USER20> Seems like this post has been killed, but here's another perspective anyway.

I'm a former student at a school functionally identical (and in many, many ways culturally similar) to Columbia. Aside from my professional-focused studies related to topics many HN readers would be familiar with, I'm a serious philosophy student. I've taken classes in both of these academic categories within philosophy that the author seems to be outlining. For what it's worth, I do not fit the political or demographic mold of a person who would stereotypically pursue the "progressive" branches of philosophy being discussed and in many cases criticized here.

There are many classes with different teaching styles. Some present material as dogma without affording critique, as in the feminist theory class the author described. This is bad teaching, it is possibly even more common in classes on feminist and similar theory. It's there in other areas of philosophy, including mind-focused and analytic topics, but harder to encounter until you're already deep in academia. I promise that there are Plato scholars who act just as the professor in the article did.

There are those here that feel feminist, queer, and race-driven theory is not serious "philosophy" or who will reduce it to cultural marxist or similar terms. This is intellectually dishonest, and probably driven by odious people you've met that espouse beliefs along the lines of Foucault or the Frankfurt School. Yes, Foucault's supporters can be extremely annoying and unreasonable. But there are real insights in many progressive philosophical works, some of them evoking striking and existential moments of reflection, and proposing new ways to live and see the world.

I urge readers here to attempt to look past the frustrations they might have with feminists or progressives and try to find something valuable in these works, because it really is there. I.e., when you hear people talk about things like abolishing the police or that all women or people of colour are violently oppressed, try not to react immediately to these phrases and see what is really being said. Philosophy is often about getting to the very root meaning of a term, or making subtle distinctions, or creating technical terms out of everyday language. You may find that the people who have annoyed you have bastardized the philosophers they espouse, or have at least failed to communicate the meat of their work.

</comment><comment><USER21> Isn't it funny to think that by the end of this century. We may make actually progress toward solving the problem. Of what it feels like to be a bat?

What is it like to be a bat? By Thomas Nagel

[https://organizations.utep.edu/portals/1475/nagel_bat.pdf](https://organizations.utep.edu/portals/1475/nagel_bat.pdf)

</comment><comment><USER22> Does this school of thought originate in the US? I realize it's based on the Frankfurt school but I'm not sure if it was always so militant.</comment>


Charles Manson dies at age 83 - <AUTHOR> https://www.nytimes.com/2017/11/20/obituaries/charles-manson-dead.html <comment><USER2> Refreshingly packed with info, this article. Gets right to the point with the interesting facts rather starting off with the typical "One day as I slowly walked through a corn field and the pitter patter of rain drops danced along the bill of my cap..."

<comment><USER3> The article starts off with "Charles Manson, one of the most notorious murderers of the 20th century,...", but Manson did not perform the murders.

</comment></comment><comment><USER4> Is it just me, or does the world feel lighter?

</comment><comment><USER5> Thanks, death penalty opponents, for insisting that scarce budgets be spent keeping him alive all this time.

<comment><USER6> Life in jail is cheaper than the DP's process with all appeals, death row security etc. Also awaiting a natural (slower, more decrepit, more meaningless and insignificant) passing is more punishment than a quick end. Even more so for a rock-star fool like Manson.

<comment><USER7> I used to be pro death penalty but now they just need to sit and rot. With the caveat that now backwards legislation can ever get them out.

</comment></comment></comment><comment><USER8> And the world wept

</comment><comment><USER9> God called one of his angels back to heaven</comment>