MacOS Mojave removes subpixel anti-aliasing, making non-retina displays blurry - <AUTHOR> https://reddit.com/r/apple/comments/8wpk18/macos_mojave_nukes_subpixel_antialiasing_making/ <comment><USER2> I released a build of iTerm2 last year that accidentally disabled subpixel AA and everyone flipped out. People definitely notice.

But the reason I'm sad is that this wonderful hack was short lived: [https://docs.google.com/document/d/1vfBq6vg409Zky-IQ7ne- Yy7o...](https://docs.google.com/document/d/1vfBq6vg409Zky-IQ7ne- Yy7olPtVCl0dq3PG20E8KDs/edit)

My pet theory is that macOS is going to pull in a bunch of iOS code and iOS has never had subpixel AA.

<comment><USER3> > _My pet theory is that macOS is going to pull in a bunch of iOS code and iOS > has never had subpixel AA._

Some Apple engineer said on reddit that it's because subpixel AA is not so useful in Retinas and HiDPI, but slows down processing and complicates pipelines.

So it's part of the move to Metal and increasing graphics performance, even if it means external lo-res monitors will suffer.

<comment><USER4> > but slows down processing and complicates pipelines.

Rendering in monochrome is also faster than true 32-bit color, but we use 32-bit color because it provides a better experience to the user who is the ultimate consumer of the graphics pipeline.

<comment><USER5> I actually use Nocturne pretty frequently to turn my screen monochrome if I am doing stuff outside of iTerm or my text editor — I find the use of color unmotivated and distracting in most programs, and especially websites

<comment><USER6> Here, here for Nocturne! I use it at night, switching to monochrome red night mode, and brightness down to the last setting. Sometimes in the morning I forget and think the screen isn't working.

<comment><USER7> It's "hear, hear."

</comment></comment></comment></comment></comment></comment><comment><USER8> ex-MacOS SWE here. Subpixel antialiasing is obnoxious to implement. It requires threading physical pixel geometry up through multiple graphics layers, geometry which is screen-dependent (think multi-monitor). It multiplies your glyph caches: glyph * subpixel offset. It requires knowing your foreground _and_ background colors at render time, which is an unnatural requirement when you want to do GPU-accelerated compositing. There's tons of ways to fall off of the subpixel antialiased quality path, and there's weird graphical artifacts when switching from static to animated text, or the other way. What a pain!

Nevertheless there's no denying that subpixel-AA text looks better on 1x displays. Everyone notices when it's not working, and macOS will look worse without it (on 1x displays).

<comment><USER9> "Listen guys the code for this is a mess. Can you just buy the new Macbook?"

(love my latest gen Macbook Pro, but this is the classic problem with Apple's approach to product design)

<comment><USER3> > _" Listen guys the code for this is a mess. Can you just buy the new > Macbook?"_

More like:

"Listen guys, the code for this is a mess AND slows your graphics down even when it's not needed. We already have had Retina displays for 6+ years already, and Hi-Dpi displays are the norm these days for third party too, so there's no reason for everybody to suffer from old tech, like there was no reason for everybody to have a floppy disk or CD-ROM on their laptop just because 5% had a real use for it. Part of the way it is with Apple, and has always been is that we move fast, and cut things off first. Until now, this exact tactic got us from near bankruptcy to being the #1 company on the planet. So, if you don't like it, don't let he door hit you on your way out".

<comment><USER10> > Hi-Dpi displays are the norm these days for third party

Are they? Nearly every monitor in my company's mainly mac based office is a 1080p dell. All the monitors I personally own are 1x.

I would even go so far as to say that the majority of people who want to buy a monitor for doing text based things (ie business) will buy a bog standard monitor.

<comment><USER11> It's taken a while party because of cost and perhaps a bit more because of the horrible ways Windows and Linux deal with HiDPI. You wouldn't want heterogenous DPIs or non-integer scales on those platforms. On Linux it seems heterogenous DPI is still very experimental and ugly. On Windows some apps are buggy and others are ugly when dealing with heterogenous DPI. On Windows non integer scale does actually work, but it makes some apps size things horrifically. Needless to say Microsoft's multiple approaches to DPI scaling have made a mess, and Linux never really had a unified way of dealing with it.

If you're on a MacOS platform, with the current price of HiDPI IPS displays, the time is right to grab just about anything. If you're on Windows or Linux, it's still a great time so as long as you're keeping all monitors the same DPI and probably integer scale.

<comment><USER12> The only HiDPI monitor I'm willing to use is $2000. I consider 60hz to be unacceptable for work.

<comment><USER3> > _I consider 60hz to be unacceptable for work._

Well, the vast majority of the people consider 60hz totally acceptable for work - and work fine with it.

For the huge majority of the people refresh ration > 60hz isn't even a concern.

Better resolution on the other hand is a marked improvement (either as more screen real estate or as finer detail retina style).

<comment><USER13> You're absolutely right, but I'd wager it's mostly because they haven't been exposed to 120Hz yet. The moment Apple introduces a 120Hz screen on their iPhones, people are going to want it everywhere. Much like HiDPI displays.

<comment><USER3> They have it on the iPad IIRC.

But isn't that more for quick moving stuff, like games or (in the iPhone) quicker visual response to pen input and such?

For regular computing (reading webpages, editing stuff, programming, watching movies) I don't see much of a difference.

Heck, movies are 24p and we're fine with it.

<comment><USER13> I absolutely love scrolling on 120Hz displays. It feels so much more natural when the letters aren't blurry as they move under your fingers. Indeed, the iPad Pros have the feature, but they aren't nearly as popular as iPhones. I tried on the Razer Phone, can't wait to have it on mine.

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER14> I hope we are all somehow misunderstanding how terrible this is.

The idea that they would downgrade the display support so that non-retina monitors--- and let's be serious, that is _nearly all_ monitors that people dock into at work or at home-- are going to look worse in Mojave, is almost too absurd to be true.

I want to see this for myself.

Does anyone know if you can simulate this now, without installing the beta? Or if you can install or somehow use the beta without nuking what you already have?

 _Edit_ : I am still on Sierra, because the buzz around High Sierra made it sounds like it was a bad idea to upgrade. This is sounding more and more like Mojave is a no-go as well.

<comment><USER15> You can simulate this by going to System Preferences-->General-->Use LCD Font Smoothing When Available and unchecking it.

It also makes Retina-class devices look far worse. The fonts on my 5K iMac became much less readable after this change.

<comment><USER16> I do not think this is an accurate way to simulate the issue reported. This simulation will look worse than the actual issue, which is not present on 4K+ displays.

<comment><USER17> Yeah – on Mojave that checkbox still exists and unchecking it still makes fonts look different (less bold).

<comment><USER18> that's good to know! Then the difference shouldn't be that big on Retina displays.

I just compared on High Sierra and it's mostly that without subpixel AA types look thinner

</comment></comment></comment></comment></comment><comment><USER19> This is the software equivalent to moving exclusively to USB-C. 18 months after the 2016 MacBook Pro, the vast majority of hardware currently in use still requires a dongle, and 18 months from Mojave's release, the vast majority of external monitors in use will still look blurry without subpixel AA.

Someone at Apple really seems to believe in pain as a motivator. And it may work in the short term, but in the long term, it always drives customers to other platforms.

<comment><USER20> > _Someone at Apple really seems to believe in pain as a motivator._

I think they simply believe they're large enough player to make such calls unilaterally, and that the rest of the industry will follow. And I fear they might be right - such decisions enter into the calculations of more "commoditized" vendors like peripheral manufacturers when they design next iterations of their products.

I mean, that's why removing the headphone jack is such a big deal even for people not using iPhones. Not just because we sympathize with iPhone owners - but because Apple is big enough to make this stupidity a new standard everywhere.

<comment><USER21> With MacOS, I believe, they still know they're the best. As much as I'd want to move away from Apple because of their recent maneuvers, there's nothing that comes close to MacOS - it just works great. Users will see more appreciation if other Unix-like operating systems will catch up on their GUI. Once a BSD or Linux (I'd really want it to be a BSD!) gets a great UI, I'm switching.

<comment><USER22> GNOME is great, I personally like it as much as macOS. Try running it on Fedora. The latest Ubuntu also ships GNOME by default but I haven't tried it and I'm not sure if it's a tweaked version (if it's tweaked it's surely for the worse).

<comment><USER23> Gnome really is great. It's very simple though. If you transition to a search based launcher then you won't go back.

</comment></comment></comment></comment></comment><comment><USER24> One guys dell monitor doesn't - subjectively - render input from a beta OS as pretty as it did the non-beta, and suddenly everybody is bringing out the pitchforks.

If you read through the comments, you'll find this link buried, which shows a developer showcasing the difference in the new AA. Basically font-smoothing is grayscale-only in Mojave.

* [https://developer.apple.com/videos/play/wwdc2018/209/?time=1...](https://developer.apple.com/videos/play/wwdc2018/209/?time=1683)

If I take a screenshot of some text and zoom in, I can see the colours, just like in the video. If I zoom back to normal size and change the saturation to zero (only greyscale) I cannot see a change in sharpness of the text on my 2009 macbook pro.

<comment><USER25> >Basically font-smoothing is grayscale-only in Mojave.

This is actually better for me. I wrote to Steve Jobs a long time ago and asked him if he could switch to gray-scale font smoothing because the tricks they use with colours don't actually work with people like me who are red green colour blind. The end result was that text on apple products looked terrible to me and I couldn't use any of their products until the retina displays came out. In windows, you can use grayscale font smoothing easily.

Anyway, he replied "we don't have any plans to do this" or something like that. Turns out I won in the end.

<comment><USER26> Very strange, this has been configurable in System Preferences > General (currently "Use LCD font smoothing when available", previously there were more choices) for ages.

<comment><USER27> I don't think that setting switches between grayscale and subpixel anti- aliasing.

<comment><USER26> It does. [https://imgur.com/a/8g9AsqA](https://imgur.com/a/8g9AsqA)

</comment></comment></comment></comment></comment><comment><USER28> Subpixel AA only works when you know exactly what the output pixel layout is, when you aren't being scaled by some other technology and when you aren't showing the same thing on disparate displays, and it requires you to adapt whenever the screen rotates, which is common on tablet-style devices. Also, some people (like me) can see the discoloration it imbues. So I'll be glad to see it go.

(Attempts to disable it tended to get various results in various operating systems, but rarely consistently disabled it)

<comment><USER29> Really? Somehow that 'only' has included every LCD monitor I've used for more than a decade. Windows AA is more aggressive, but it is still a huge improvement over the jagged over-hinted font rendering you get without ClearType.

No AA makes sense for DPI greater than about 300, but for anything less, with visible pixels, which is probably most non-4K monitors, I would bet most people prefer AA on. In general, people always prefer AA for 3D and all sorts of other rendering, at lower DPI.

So, this is a typical Apple decision to abandon anyone who doesn't have the latest device from them.

<comment><USER30> > So, this is a typical Apple decision to abandon anyone who doesn't have the > latest device from them.

And those who bought a Macbook Air from an Apple Store yesterday.

<comment><USER31> What about today? Are they updating all the Airs with retina displays?

</comment></comment></comment></comment><comment><USER32> MacBook Air.

PDFs looks very blurry and dirty since High Sierra (Mojave too). In Preview.app and in Safari. You can compare it if open PDF in Chrome (looks sharp in chrome). [https://imgur.com/a/TRpk1Oi](https://imgur.com/a/TRpk1Oi)

fonts on some websites looks blurry [https://imgur.com/a/o450Mlr](https://imgur.com/a/o450Mlr)

<comment><USER33> So are you saying the High Sierra PDF rendering catastrophy is not a bug but a precursor of this "feature"?

If that is true and the blurred text is going to be the new normal, I do not see how any professional user looking at type all day long can stay on their platform.

<comment><USER32> Every time I open PDF I think about install El Capitan back. One thing that stops me is picture-in-picture mode. I use it heavily on youtube and it is only in Sierra and later.

<comment><USER34> El Capitan had the same issue on my mac. It was fixed in High Sierra, and came back in High Sierra.

</comment></comment></comment></comment><comment><USER35> The problem is that there are no external 2x displays on the market (apart from the recalled trainwreck that was LG ultrasharp 5k): [https://bjango.com/articles/macexternaldisplays/](https://bjango.com/articles/macexternaldisplays/)

Scaling is horrible on MacOS since it basically bumps up the 1x resolution to the next integer multiplier and then does a per-frame raster resize leading to performance drops, blurry edges and other render artifacts.

Meaning that your only reasonable option was to run a 1x monitor without scaling. Now they killed that option too.

Basically what they did, if your primary work machine was a MacBook hooked to a 27" display — is tell you "Buy an iMac and use Continuity".

I mean, I'm all up for removing subpixel antialiasing at the point where everyone is running a 220+ppi monitor. However, we're not at that point yet.

This is a horrible move that may cause me to drop the Mac as a development platform, since I'm looking at text for 8+ hours a day, and I'm not planning on shelling out 3k€ for an iMac or 2k€+ if they get back into the display business, just to fix something that they broke.

<comment><USER36> I use a display in the 'red zone' described in the article (a Dell P2415) daily paired to a retina MBP; there are no issues coming from not being an even multiple, it's the sharpest monitor I've ever had.

<comment><USER35> I recently worked on a 4k 24" monitor (~180ppi) on a 2017 MBP.

The text was either too small when rendered at 1x, or the framerate dropped to a crawl when using a scaling option. Everything was rendering at under 60 fps.

Plus I could clearly see the rendering artifacts when scrolling, mentioned in the article.

</comment></comment></comment><comment><USER34> Here's a comparison, so we can comment on he actual difference:

[http://www.framecompare.com/image- compare/screenshotcomparis...](http://www.framecompare.com/image- compare/screenshotcomparison/KWL7NNNX)

<comment><USER37> Unfortunately on my high-dpi monitor I can't get that page to display the screenshots at 1:1, so I can't see the difference due to filtering :/

<comment><USER38> Enlarge the page using browser zoom. Subpixel AA will make the text look red on one edge and cyan on the other. Without it, the text is perfectly greyscale. This is visible even with extensive bilinear filtering.

</comment></comment></comment><comment><USER39> Okay, this might be an unpopular opinion but I've always actually preferred plain AA (grayscale), not subpixel AA. That's especially on a low-res screen. I discovered this preference back in the flip phones days when a certain J2ME reading app offered a choice between grayscale AA and subpixel AA. I immediately noticed that for subpixel AA, there is a lot of red and blue even when the text is black on white. Those colors just make me nauseated. Grayscale AA makes the text a bit more blurry, but I can actually read that text for hours without feeling nauseated.

When I was using Ubuntu, I was offered four choices for font rendering. The subpixel rendering choice also looked terrible to me.

On macOS Safari (maybe Chrome too) exposes a CSS property called -webkit-font- smoothing. Many websites set this to antialiased, including many built by me, because I truly think this antialias mode looks the best.

<comment><USER40> From a comment someone else made, I'm gonna guess you're red green color blind :P

</comment></comment><comment><USER41> In addition to the MacBook Air and normal non-4K external display, it seems that this will also affect projectors. Therefore, it seems that presentation using macOS Mojave will only make your slides/keynote look bad and less professional. Moreover, the projector is not something you can upgrade. It is usually preinstalled in whatever venue where you give your presentation, and totally outside your control.

<comment><USER42> I doubt that many people will be able to tell the difference in your presentation if they're sitting twenty feet away.

<comment><USER43> Oh no no, on low res projector even if it is twenty feet away it is still definitely noticeable.

</comment></comment></comment><comment><USER44> Apple said during WWDC that the change was made to support a wider variety of display technologies and scaling modes. It's an odd choice considering they still sell the non-retina MacBook Air.

<comment><USER45> It's kind of a funny definition of support.

<comment><USER46> Forcing app developers to live with the same lowest-common-denominator aesthetics that most users see, will make them more likely to raise the bar for the aesthetics on lowest-common-denominator devices.

It's the same reason that video game developers shouldn't be allowed to have powerful GPUs. They need to be testing how the game looks (and works) for most people, not for a group of people only slightly larger than themselves.

<comment><USER47> Do you think most developers are using a non-retina screen? Compared to the general population I bet they skew very heavily towards newer, retina machines. Which means they'll barely notice anything. This is just plain lowering the bar, not raising the average.

<comment><USER48> I'd say most developers are docking with an external screen, and there are very few external screens that are retina. So yeah, I'd say most developers are using a non-retina screen.

<comment><USER49> > I'd say most developers are using a non-retina screen

I don't see this as a problem with 4K screens starting at 260 euros (~ US$ 306).

<comment><USER50> If you work as a dev in a company, they're not going to be issuing 4k screens.

<comment><USER49> So get your own monitor. I understand that many employees make the decision that they will not pay for equipment, to be true. However it's still a decision.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER51> The intent is to provide users with a sense of pride and accomplishment for buying new devices.

<comment><USER52> Can we not just meme here please? This doesn't belong on HN.

</comment></comment><comment><USER53> One thing that I noticed when I had to switch from a Linux desktop to an MBP is how much worse text anti-aliasing is. The crispness just isn't there, especially at smaller font sizes.

Certainly the MBP has a high-res screen and can live without it, but it's highly reflective, and anti-glare external monitors provided by most employers are mere FHD, and most fonts become unpleasant and hard to read without anti- aliasing on them.

Maybe anti-aliasing was just hard to implement nicely in OSX graphics stack, they struggled with it, and decided to remove it.

I suspect that most of Apple's "proper computer" sales are laptops where they put a retina display anyway, and if you shell out $2k for a laptop, you can afford to spend $300 for a 4K external display.

In other words, they (correctly) decided that theirs is the premium segment, and that segment can afford to switch to retina-only hardware.

<comment><USER27> >I suspect that most of Apple's "proper computer" sales are laptops where they put a retina display anyway, and if you shell out $2k for a laptop, you can afford to spend $300 for a 4K external display.

My old windows computer is dying and I am thinking about getting a new mac. It seems the choice is a $2200 imac, or a $2700 mbp + a $1000 4k 21.5inch monitor.

LG is one of the very few companies that sells 4k 21.5inch and 5k 27inch monitors. Even 4k 24inch monitors, which I am guessing you are referring to, are quite rare. They are also not really approved by Apple. I mean, 4k 24inch will make everything look too big I assume, and 4k 27inch isn't retina quality.

So what exactly are we supposed to do? There are no external monitors to buy. Apple doesn't sell any, and the 3rd party solutions are few and far between. Maybe they want everyone to buy an imac and a mbp...

<comment><USER53> Fortunately, there are a quite few Windows-oriented machines with very decent specs now; some of them have an explicit Linux option, too.

21-22" 4k monitors are indeed pretty rare; 23-24" 4k are more widespread. I would gladly buy a 15-17" 3k / 4k display, like another laptop screen, but they seem to be absent from the market for some reason, despite the wealth of ready-made LCD panels for them.

<comment><USER54> Because most people buying monitors want something bigger than a laptop screen.

</comment></comment></comment></comment><comment><USER55> This seems certain to be related to integration of UIKit-on-macOS ("Marzipan") apps. (UIKit has never had subpixel antialiasing.)

<comment><USER56> The reason being that it tends to want to push pre-rendered bitmaps around, and sub-pixel anti-aliased pre-rendered bitmaps don't work well under rotation...

</comment></comment><comment><USER57> High Sierra's Metal rewrite of windowserver still has serious bugs nearly a year after shipping, even on a brand new MacBook Pro.

They managed to ship 10.13 with bugs like this that made it into the Ars Technica review: [http://cdn.arstechnica.net/wp- content/uploads/2017/09/Sep-23...](http://cdn.arstechnica.net/wp- content/uploads/2017/09/Sep-23-2017-12-41-55.gif)

</comment><comment><USER58> I still use a non-retina 13-inch from 2012, as well as an Ultrawide monitor (3440x1440), both of which I apparently wont be using with macOS Mojave.

I can't help but think this is just another in a long line of paper cuts endured by professional users causing them to switch to a Windows machine.

<comment><USER59> Or you know... Linux. Whatever. It's 2018.

</comment></comment><comment><USER15> Signed up for HN (again) just to vent about this terrible news. This is a change that will be hard for me to live with, and I will probably end up selling all my Apple gear.

This is the same change/downgrade that occurs if you go to System Preferences-->General-->Use LCD Font Smoothing When Available.

I did this and the fonts on my 5K iMac display looked horrible. Just atrocious. My plan is to not upgrade to Mojave, and then within a year or so sell all my Apple gear and move back to Linux.

I don't understand Apple's thinking, but I believe a lot of people will do the same.

<comment><USER60> This doesn't affect retina devices so your 5k iMac will look the same it does now...

<comment><USER15> It does affect Retina devices. That's the whole point. I made the same change that Apple is going to make and the fonts looked far worse (almost unreadable). You can observe the same if you have an Apple device by going to: System Preferences-->General-->Use LCD Font Smoothing When Available.

Apple is removing sub-pixel anti-aliasing for all devices, not just non-Retina ones.

<comment><USER61> Try the beta before venting. It's not the same thing.

<comment><USER15> Downloading the beta now, but have seen screenshots of both (here and elsewhere).

<comment><USER62> I've been on the beta for a couple days (using a 2016 12" MacBook) and I haven't noticed anything. There's a visible difference when I disable LCD font smoothing in settings, but not much changes besides fonts appearing somewhat thinner.

</comment></comment></comment></comment></comment></comment><comment><USER63> Subpixel font rendering was a cool hack back in the day, but it's no match for high dpi monitors. Personally I could never get past the color fringing artefacts. Bill Hill himself talked about it as an interim measure to get people reading on screen.

Here he is talking about the original implementation of ClearType: [https://channel9.msdn.com/Blogs/TheChannel9Team/Bill-Hill- Ho...](https://channel9.msdn.com/Blogs/TheChannel9Team/Bill-Hill-How-does- ClearType-work)

Joel Spolsky on the different sub pixel AA approaches taken by Apple and Microsoft:

[https://www.joelonsoftware.com/2007/06/12/font-smoothing- ant...](https://www.joelonsoftware.com/2007/06/12/font-smoothing-anti- aliasing-and-sub-pixel-rendering/)

</comment><comment><USER15> I just installed the Mojave beta on my Macbook Pro. The fonts are just as blurry as if I toggle off "Use LCD font smoothing when available" in High Sierra.

So the contention that it won't be the same in Mojave is disproven. Even on Retina displays, disabling sub-pixel anti-aliasing leads to blurry, indistinct fonts.

<comment><USER42> Mojave doesn't ship with subpixel antialiasing. The "LCD font smoothing" checkbox disables greyscale smoothing.

<comment><USER15> I know Mojave doesn't ship with subpixel anti-aliasing. That is my whole complaint.

My point was if that box is checked in Mojave (that is, greyscale anti- aliasing is on) the fonts still look atrocious. Sorry if that was not clear.

</comment></comment></comment><comment><USER64> From perspective of Web Designers and Web Devs who obsess over font-rendering, the way I see it:

-webkit-font-smoothing: antialiased; will be the default now as opposed to subpixel-antialiased. And you will no longer have control over it.

Seems like it DOES affect Retina displays too. That's a bummer as quite a lot of fonts get too thin without subpixel-antialiasing even on MBP Retina.

</comment><comment><USER65> I've been using Linux for 2 decades, and this year I moved to MacOS, with the newest MacBook and a 5K iMac. Everything pretty much just works, is much prettier by default than I ever got my Linux installations to be.

Given my experiences, I have full trust that the MacOS engineers will do good stuff with Mojave too, at least eventually. I still like Desktop Linux, though, and sincerely wish it will be as good some day. It most definitely is not today.

</comment><comment><USER66> Am misreading this thread, or was this one person's complaint on reddit about beta software (with a single commenter saying they've seen the same behavior)?

Are there any more cases, or could this be a bug? Cause it seems like a bug to me.

<comment><USER56> The change was also announced at WWDC.

[https://developer.apple.com/videos/play/wwdc2018/209/?time=1...](https://developer.apple.com/videos/play/wwdc2018/209/?time=1683)

</comment></comment><comment><USER67> Oh my goodness. And here I was thinking that I'd love the next macOS due to its alleged focus on stability. What the heck....

</comment><comment><USER68> I never upgraded past Mavericks. It seems that the OS has been going downhill. Thinking about installing Ubuntu on my MacBook.

</comment><comment><USER69> I'm not surprised, Apple loves removing configurability and thinks "one-size- fits-all". It would be far better to make the font rendering settings more configurable instead, but sadly this trend is not limited to only Apple.

...and I'm saying this as one of those for whom any form of antialiasing is blurry, subpixel being worse (my eyes water and feel dizzy after prolonged exposure), preferring AA off and pixel fonts with sharp, high-contrast edges instead. Let people have the font rendering they want.

</comment><comment><USER70> Seems like a further shift from user friendliness towards consumer friendliness. That is, alienating core and power user in favour of larger consumer masses.

</comment><comment><USER71> So what's the solution here? Buy a new monitor if we want to use up-to-date versions of macOS?

Anyone who uses Apple's FCPX or Logic knows we'll have to update to Mojave because eventually we'll try to open the latest version of said software and be told "You must be running Mojave to open this"

I'd really ditch Apple because of stunts like this, but I really love Logic and FCPX so I'm stuck with it.

</comment><comment><USER72> Nothing like some frothy sight-unseen outrage on a Saturday morning.

</comment><comment> mark-r I wonder what panel technologies this is supposed to improve? The only one I can think of is a portrait rotated LCD.

<comment><USER73> PenTile, RGBW Quad, etc -- basically everything except plain old RGB stripes. Of all the possible display layouts, SPAA really only works with one (or it has to be re-designed for each, which realistically will never happen).

The stats I've seen are that most Mac users, as of this year, are on @2x displays.

<comment><USER74> The real question is whether they're on @2x disolays exclusively.

I have a Retina MacBook Pro I mostly use it plugged into a 27" Dell 1440p monitor.

Every office I've worked in that provided Macs also provided a 1x monitor of some kind. Never 4k or 5k.

</comment></comment></comment><comment><USER75> Not cool at all. I don't want a high dpi external monitor because it's too laggy. Very annoying change.

</comment><comment><USER76> So is Apple going to stop selling the 21" iMac that has a 1920x1080 panel?

What about someone who buys one today?

</comment><comment><USER77> I so knew it! I even put a reminder in my calendar some time ago (not knowing what the next update holds) to _not upgrade_ until I know for sure that my experience won't get worse.

</comment><comment><USER78> Ok, so what are options in terms of external displays? I guess this will make my Dell 1080p monitor much less appealing... I planned to jump to 4k 24inch anyway... ¯\\_(ツ)_/¯

</comment><comment><USER79> That must be personal, but I always preferred grayscale AA.

<comment><USER80> What's the last time you got an eye exam?

<comment><USER79> I'm a pilot, so every year.

</comment></comment></comment><comment><USER81> Wow. The one biggest advantage my previous MBP had over my current Arch Linux + i3 setup on Carbon X1 is the natural support for HiDPI, as I connect my laptop to external monitors all the time (The only other one is the built-in dictionary). Now Apple are going in this direction further and further I definitely don't see myself returning to Mac any time soon, or indeed ever.

</comment><comment><USER82> So THIS explains why the beta Apple News app on Mojave looks _so bad_ on my 1x display...

</comment><comment><USER83> Wasn't typography Steve Jobs "big thing" he wanted to do well on the Mac?

<comment><USER84> Seeing mac screenshots with amazing font rendering was one of the things that made me switch to mac. I guess I won't be updating past high sierra.

</comment></comment><comment><USER15> In other news, how is Linux's sub-pixel anti-aliasing lately? I haven't used it in years, and never on a 4K or above display.

Since I will now be switching off Mac, Linux is looking likely again. It will probably be two 27" 4K monitors.

<comment><USER85> As of "lately" in the sense of "in the last 10 years", it was always great. Freetype always had great rendering, on part and often superior to both ClearType and OSX to my eyes.

I attribute the bad perceived performance of freetype to the lack of good and/or commercial fonts.

The default configuration in most distributions is decent, but with little tuning _everything_ can be changed to your taste. I ran with grayscale AA since the beginning because I find the color fringing annoying.

I also used to like the bytecode hinter, but in the last years with my laptop having 120+ dpi, I find the freetype autohinter to be actually superior as it better preserves the letterform and provides sharper results even without subpixel AA.

The settings can also be tailored per-font, and apply system-wide, with the exception of some stupid QML and Electron apps.

<comment><USER15> Thanks for that detailed response. I last used Linux full-time as my main machine in 2009 or so. It has indeed been a while. Good to know that it has improved since that time.

</comment></comment></comment><comment><USER86> I'll be that guy and say that I don't like sub-pixel anti-aliasing—I find the color fringes distracting. I turn it off wherever possible. That said, people seem to like it so it's a shame the option is going away.

</comment><comment><USER87> It doesn't surprise me, since even Microsoft is slowly dropping ClearType.

</comment><comment><USER88> I don't know how you can justify making devices so expensive. It's almost like buying Apple calls out for social status. That brand will always remind of class warfare.

</comment><comment><USER89> Could be this a measure to combat hackintosh installed base?

<comment><USER42> How so?

</comment></comment><comment><USER90> This is sad. It should be an option when using 1x displays.

</comment><comment><USER91> I'm betting Apple will launch a family of Retina desktop monitors.

Also, remember it's still beta software. People do public betas to surface issues like these.

</comment><comment><USER92> I must be the odd one out in that I actually prefer my fonts to look "soft"?

</comment><comment><USER93> As long as they find a fix I'll be happy. I want things to look crisp.

</comment><comment><USER94> And here I was thinking I was just getting worse eyesight. Lovely.

</comment><comment><USER95> Since retina I disabled it myself

</comment><comment><USER96> It's a beta. Report it as a bug.

<comment><USER74> Its's not a bug. It was announced as a change at WWDC. It's believed to be a consequence of the move to merge iOS code into macOS. iOS doesn't support sub- pixel antialiasing.

<comment><USER96> That's no reason not to report it either as a bug or file as an enhancement request.

</comment></comment></comment><comment><USER97> Apple strikes again....they recently destroyed having two external displays with a recent update, and now they mess up single screen external displays too.

I have a MacBook Air connected to a 2560x1440 screen and fonts looks good. I was looking forward to Mojaves dark mode.

Now I'm afraid to install Mojave. I understand that Apple wants to simplify their code, but they can't just remove things before having an alternate solution to a problem that exist.

Font rendering is really super important... I really hope they reconsider.

</comment><comment><USER98> Planned obsolescence</comment>


Rethinking JavaScript for-loops  - <AUTHOR> http://javascriptweblog.wordpress.com/2010/10/11/rethinking-javascript-for-loops/ <comment><USER2> There are betterse ways already: underscore.js(<http://documentcloud.github.com/underscore/>) and coffescript(<http://jashkenas.github.com/coffee-script/>, which also has its own underscore.coffee [http://jashkenas.github.com/coffee- script/documentation/docs...](http://jashkenas.github.com/coffee- script/documentation/docs/underscore.html)). All three started by Jeremy Ashkenas (<http://www.documentcloud.org/about>).

<comment><USER3> Hi Daniel - I wrote the article. You reference some excellent high order functions, we now also get pretty much the same functions for free in every browser except IE8. We get them with jQuery and Prototype.js too.

But the point of the article was: now that for-loops are gaining obsolescence as conventional array iterators, what can we use them for (and how do we have fun with them). A bit like a "what to do with those old LPs" discussion - except I still love listening to LPs :-)

</comment></comment><comment><USER4> While I enjoy the creativity of his for loops, javascript is the not language to be doing this in. One of the key advantages of using a foreach loop with a callback function, is that javascript has functional scope. All of those variable declarations in his for loops are just for show, so personally I think the while loops in his examples are more appropriate for javascript as it doesn't fool you into thinking it has block scope.

</comment><comment><USER5> The feeling here seems to be that "for-loop tricks" are not a good idea, mainly because of readability. I disagree. I'm talking about the "idea" of for-loop tricks, not the specific ones shown in the article.

For-loops are used in really limited ways, but they _should_ be used much more often. Programmer _should_ be better versed in how for loops work, the fact that you can add multiple expressions between each semi-color (;), etc. The reason is, for-loops are the most _readable_ constructs for looping. Here's why:

For-loops are the one loop construct which give you all the information about the looping at once. Used smartly, you can read the first line of the for- loop, and discover everything that the programmer would like to do, that has to do with the looping.

For example, adding two variables to be incremented in a for-loop is trivial: for (int i=0, int b=10; i==10; i++,b++)

This can also be done outside of the for-loop declaration, e.g. as the first line inside the for-loop. However, for smart programmers, this signals, to me, that "b" is another variable having to do with the loop that I would like incremented each time. In other words, it gives me more info.

Other good uses can include checking two conditions, checking conditions with side-effects (e.g. instead of i++, use word=read_word_from_file()), etc. Lots of people are uncomfortable with these in a for-loop, but I maintain that's the best construct for these kinds of things, since it gives you all the info you need to understand the loop at one point only.

</comment><comment><USER6> The main point of the article seems to be that the JavaScript for construct is exactly the same as the C for construct. You get the same power, the same freedom and the same responsibility to for the love of god use something better.

Especially in JavaScript. Please stop using for loops in favour of asynchronous recursion (or similar). Thank you.

This is what I've been using lately, pretty neat: <http://github.com/caolan/async>

<comment><USER3> Hi Swizec - maybe the article could have been clearer - the real point was this: now that our standard iteration pattern has made obsolete by higher order functions (forEach, filter, map etc. - which are available natively as well as github :-)) lets see if we can re-purpose it for fun and learning.

It wasn't supposed to be taken too seriously.

BTW for-loops are not exactly the same in C, because JavaScript has no block scope.

<comment><USER6> I know I know, I've done some pretty horrible things with for loops myself. :)

Just fell like it's important to state that one shouldn't use "fun and learning" techniques in a production environment.

</comment></comment></comment><comment><USER7> Re-thought for-loops hurt the brain. Please don't do that.

"Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it." – Brian W. Kernighan

</comment><comment><USER8> A neat collection of tricks, but I'm not sure I would ever actually employ any of them (except perhaps storing the length -- although I'd like to check that it makes a difference first). There just doesn't seem to be a major advantage to any of the tricks, and they all come with some cognitive cost to the reader (and in some cases greater costs, e.g. failure on arrays with falsey values).

<comment><USER9> > except perhaps storing the length -- although I'd like to check that it > makes a difference first)

It makes a difference in the IEs. I don't remember it making much of a difference one way or the other with the JITted engines, though if the ES harmony proxies become widespread, there's a reasonable chance it'll become best practice again.

</comment></comment><comment><USER10> It would have been interesting if these new recommended iteration forms were accompanied by profiling data and performance tests across the major engines. Right now it looks like variety for the sake of variety.

</comment><comment><USER11> I sometimes find this nicer to read when I just want to collect a property from an array of objects (yes, map would work too):

        var ids = [story.id for (story in stories)]

</comment><comment><USER12> I like some of those. Thanks!

</comment><comment><USER13> What is a for-loop? Seems to copy my beautiful jQuery each()!

$.each(new Array(3), function(i){ alert(i); });</comment>


Ask HN: What are some other online communities? - <AUTHOR>

I love Hacker News and will always be a user.  But the community has a very narrow interest/belief set.  I'd like to read some other opinions and get a more diverse opinion on the internet.<p>What I really want to know is where do people that don't care about starting a business or developing software hang out on the internet. <comment><USER2> You might want to checkout Stack Overflow and the community of programmers that converse there. There's a whole network of related sites, too, and there is some really great discussion there. If it's partially the comments that attract you to HN, then you'll probably like Stack Overflow.

</comment><comment><USER3> I used to like the Joel on Software fora about 2-3 years ago. They weren't overly technical, but they had more than a few people who always seemed to have something interesting to say (Bored Bystander comes to mind). Unfortunately, Joel killed them off for varying reasons and I haven't found a good substitute since. There's still one focused on ISV development called Business of Software, and I think the Bingo Card guy (Patrick McKenzie?) posts there quite a bit.

Some of the other Joel posters went to a place called CrazyOnTap, but I wouldn't recommend that. It makes YouTube comments look sane.

<comment><USER4> Maybe we could find a Coen brothers movie community to be a part of.

<comment><USER3> Sign me up. I'd love to know what the hell A Serious Man was really about.

</comment></comment></comment><comment><USER5> There's Reddit: <http://reddit.com>

</comment><comment><USER6> <http://forrst.com> is a good one but invite only.

</comment><comment><USER7> <http://lesswrong.com>

</comment><comment><USER8> Can anyone throw some light on metafilter? What kind of a community is that?</comment>


Show HN: A new News site - <AUTHOR> http://thusnews.com <comment><USER2> I've seen another try of doing something like this some time ago here on HN. Don't remember what was it.

I think it is an awesome initiative, but also one that takes too much manpower to maintain.

</comment><comment><USER2> Another kind of "new news" site I wished to see was something that showed only the hard facts, one line. And numbers, all relevant numbers.

</comment><comment><USER3> Are the articles automatically made or is it a wiki or blog type news?</comment>


How to build an 8x8x8 LED cube - <AUTHOR> http://daid.mine.nu/instructabliss/?url=http://www.instructables.com/id/Led-Cube-8x8x8/ <comment><USER2> I wonder how much it would take to mass produce these and sell as programming toys/tools? I'd buy one.

PS: if someone else would be serious about pursuing this, i'd love to be a part of it

<comment><USER3> Great idea! To be honest though I lean more towards toughening them and selling as nightclub lights. Even the smallest of places spends megabucks on their lighting rigs, and this would be a toy that _every_ bored sound tech would love to play with :)

Edit: I'm not the only one to have thought about this: <http://www.youtube.com/watch?v=_cLLyfop3QI>

Edit2: This company appears to be offering them for sale in sizes up to 32x32x32: <http://www.seekway.com.cn/e/ledsys9.htm>

<comment><USER4> <http://www.seekway.com.cn/e/3d/h32/video.htm>

Amazing video here!

Before you wonder about the 'crappy resolution' do the math, 32x32x32 is 32768 individual leds. The video appears to be of a 32x32x16 array.

<comment><USER5> Those look to be RGB as well. So that is 4 connections per LED (red, green, blue, ground).

</comment></comment></comment></comment><comment><USER6> Our research lab recently created a more involved version of this using fairly cheap materials that's much more expressive:

<http://www.cs.columbia.edu/CAVE/projects/3d_display/>

(Don't miss the video at the bottom of the page.)

<comment><USER7> Really cool. I really want to play that 3D maze-like game.

The link says this was created in 2006/7. Have there been any advances since then in terms of resolution, or otherwise?

<comment><USER6> Not directly, but there was some work on animating speech in virtual avatars[1] (constructed from a single image of a face) which uses the cubes to make animated 3d avatars.

What I found especially interesting is that even though the point-etching in the cubes is static (and of a generic head), faces are mostly similar enough (and the animations required for speech small enough) that looking at the animations actually looks very realistic in person.

[1] <http://www.cs.columbia.edu/CAVE/projects/avatar/>

</comment></comment></comment><comment><USER8> The instructabliss site is almost as excellent as the LED cube!

<comment><USER9> They are stealing content from instructables.com -- how is that excellent?

<comment><USER10> Check the URL. It doesn't look like it's stealing content, just reformatting it. Like Readability for Instructables.

</comment></comment></comment><comment><USER11> I'd love to have this. I'd make a 3D snake game out of it. Unfortunately I don't have the time and knowledge to build something like this cube.

</comment><comment><USER12> This is so cool, it makes me salivate a little. The author said it took 4-5 days for the construction and another 4 or so for the software. Anyone know how long it takes for someone without much electronics background? I have a vision of a bunch of unfinished components sitting around on my kitchen table for... months.

<comment><USER4> The level of the instructions is such that you should be able to hit the ground running, debugging the circuitry might take you a bit longer, I'd start off with a much smaller one to try to get some experience with soldering and handling components, maybe build a few $10 kits to get proficient, then build this. Shouldn't give you any problems.

</comment></comment><comment><USER13> We built a shitty oscillator in passive circuit classes. This type of thing, and Mythbusters, always makes me think how awesome school ought to be.

<comment><USER14> Yea, I know. When I was in school I kept wondering why I couldn't just build things using math / science instead of just learning the rote info / methods.

</comment></comment><comment><USER15> I'm currently building a 4x4x4 cube with full fading/multiplexing, using a bunch of TLC5940 ICs. Placing it in a dark perspex obelisk; it's very dorky .. but I can't wait to complete it.

</comment><comment><USER16> Someone should implement Pong in this cube. Now that would be cool.

</comment><comment><USER17> 1\. Could have put some more movement in the camera work to show off the parallax.

2\. Next: RGB for 4D.

</comment><comment><USER18> Das Labor (a hacker space) has been doing these cubes for a while. They even have a multi-colour cube now: <http://www.das-labor.org/wiki/Blinken_Borgs>

<comment><USER5> The amount of soldering for RGB LED's is absolutely insane.

</comment></comment><comment><USER19> Suggestion for cool side project: attach an accelerometer and do some fluid dynamics simulation. A bit heavy on the math side; you'd need a good foundation of calculus for engineering. All the rest is here:

<http://www.cs.ubc.ca/~rbridson/fluidbook/>

</comment><comment><USER20> Finest example: hanging from the ceiling of Zurich's Central Train Station. 25,000 lights in 24 bit color... Enthralling!

[http://www.thecoolhunter.co.uk/article/detail/1286/3d-led- li...](http://www.thecoolhunter.co.uk/article/detail/1286/3d-led-lighting)

</comment><comment><USER21> Any EBay mass seller willing to buy bulk and sell a package with all the components needed ?

Don't mind paying extra to have it shipped in one box.

<comment><USER22> Sparkfun has a 3x3x3 kit for $69: <http://www.sparkfun.com/products/9867>

</comment></comment><comment> daniel-cussen You could make holograms with this.</comment>


Timeline of Slack's Tech Stack Evolution - <AUTHOR> https://stackshare.io/stack-history-timeline-slack-tech-stack-evolution <comment><USER2> It's interesting to compare Slack's tech stack vs Discord. The tech stack of slack is pretty common, while the tech stack of Discord is very geeky: Elixir/Rust + Cassandra for crazy high concurrency, and React/React Native for fast developing and consistent experience.

Like LAMP for Slack, Discord also used MongoDB prototyping in the first few years, but while they prototyping they prototype in a manner they can easily migrate to Cassandra later. Then they successfully migrated to Cassandra. This is brilliant.

I remember the React community migrated from Slack to Discord[0], I guess one of the reason could be the performance. According to the blog, at that time the team only have "14 people full time", which means they've got a very high velocity, amazing.

I didn't find any summary of their whole tech stack but there are several insightful articles from their blog like[1].

[0] [https://reactjs.org/blog/2015/10/19/reactiflux-is-moving- to-...](https://reactjs.org/blog/2015/10/19/reactiflux-is-moving-to- discord.html)

[1] [https://blog.discordapp.com/how-discord-stores-billions- of-m...](https://blog.discordapp.com/how-discord-stores-billions-of- messages-7fa6ec7ee4c7)

<comment><USER3> I'm an admin on Reactiflux (although at the time of the switch from Slack to Discord, I had just joined as a newbie).

We got kicked off Slack because we got up towards 10K users signed up, and Slack locked us from having any more people join. Clearly, we weren't a good fit for their business model. Worked out well for us - we've loved Discord ever since we switched over!

<comment><USER2> This is So cool! Reatiflux is one of the most energetic community I have ever seen.

Every time I use Slack I found the business model is not as generous as Elixir - there are too many constraints for free users/organizations.

</comment></comment></comment><comment><AUTHOR> Hello HN! We're really excited to share this with you all. If we've missed any key details, or if you'd like to add a new event to the timeline, email firstname.lastname@example.com and we will update it asap. Have a great weekend!

<comment><USER4> Would love to know why you guys think it's a good idea to have a login modal take over the screen out of nowhere after scrolling about 1/3 down the page. So user-hostile

<comment><USER5> That's stackshare, not slack. But yeah, it's impossible to read the article because of that.

<comment><USER6> jdorfman works at StackShare.

</comment></comment></comment></comment><comment><USER7> I've always admired Slack's pragmatic choice for LAMP, despite the amount of slack it gets (pun intended). Despite its reputation, it still has an amazing community, ecosystem, and tooling to get shit done.

I'm currently working with Flask/Postgres and it's simply lacking when you need to scale it (in terms of performance/team size/code size) and there's not great tooling to take it to the next level. Can't wait to get back to Laravel on my next project.

<comment><USER6> Flask is a micro-framework, it's an explicit goal to not have that kind of tooling included: [http://flask.pocoo.org/docs/1.0/foreword/#what-does-micro- me...](http://flask.pocoo.org/docs/1.0/foreword/#what-does-micro-mean)

There are lots of Flask extensions and other methods to extend it (relevant docs page: [http://flask.pocoo.org/docs/1.0/becomingbig/](http://flask.pocoo.org/docs/1.0/becomingbig/)), but it's a framework that practically defines itself around the fact that it doesn't include anything. Pyramid or Django might have been better options.

</comment></comment><comment><USER8> I wonder if they'll consider building the Mac app off of the iOS codebase with Catalyst instead of using the web codebase with Electron.

RAM and battery abuse are the main complaints about their app and I'd think that would improve both of them.

<comment><USER9> Windows is big but I think it's worth it since they already have a team maintaining the Electron app and team managing the iOS app. They need to hire a few iOS engineers to prototype this idea and evaluate if it's something they can go with. I would defiantly appreciate a native app on my Mac.

</comment></comment><comment><USER10> What's interesting is that Slack (the company) was founded in 2009 and yet the initial release of Slack was in 2013. That's 4 years of development, that seems like quite a long time.

<comment><USER11> Slack: They first built a game, it didn't do well, so they pivoted to focus on the message system they built for the game.

Flickr: They first built a game, it didn't do well, so they pivoted to focus on the image hosting they built for the game.

Games are hard.

<comment><USER12> Aren't there other companies that started out as games companies? I mean, it seems obvious, but Discord started out from the wreckage of a videogame company: [https://en.wikipedia.org/wiki/Discord_(software)](https://en.wikipedia.org/wiki/Discord_\(software\))

I was sure there were more examples, though.

Games are hard.

<comment><USER13> Games require all of the latest technology and require maximum compatibility across all platforms.

</comment></comment></comment></comment><comment><USER14> This is really interesting.

I would love to see something like this for other successful companies.

Too often, we see the tech stacks of famous firms, but not the stacks that preceded them.

It would be very interesting to note if, say, 80% of unicorns started their life as RoR, or PHP projects. It tells you one of two things:

1\. Which frameworks were popular n years ago (where n is the average time it takes from launch to unicorn)

2\. Which framework actually helps you get an MVP off the ground

</comment><comment><USER15> Is Hack/HHVM really being used much anymore? I was under the impression PHP7 pretty much reduced the advantages (types, speed).

<comment><USER16> Hack still has a lot of features that is missing from PHP7. Proper data structures (vector, map, set, etc...) including immutable ones, generics, variance, async/awaitable, etc... there is still a heck of a lot for PHP to catch up on.

</comment></comment><comment><USER17> Considering how experienced Slack appeared to be with Elasticsearch by 2017, why did they choose Solr for search?

<comment><USER18> They talked about it at a recent Solr conference Activate: [https://www.youtube.com/watch?v=EQ336PTZfhU](https://www.youtube.com/watch?v=EQ336PTZfhU) (Rebuilding Message Search at Slack - Josh Wills & John Gallagher, Slack )

</comment></comment><comment><USER19> The left out the release that had 3 distinct jQuery versions bundled in the app.

</comment><comment><USER20> The Slack client is a terrible memory hog in my experience. I can't believe they need to use Electron instead of the platform native FWs.

<comment><USER21> I hope they port their iOS app to Mac with Catalyst. It might solve the issue at least for the Mac users.

</comment></comment><comment><USER22> Any more details on your voice and video calling infrastructure? Looks like there is one throwaway line that it was built in elixir.

</comment><comment><USER23> I'm curious if Slack ever considered using XMPP in their stack for core chat? As an outsider, it seems XMPP would fit like a glove (even signing in to a work "domain" screams XMPP).

<comment><USER24> What would be the advantages now that they already have the product built?

<comment><USER23> I'm simply curious if the protocol was ever brought up in discussion and if there was a conscious decision to not go that route due to product needs.

I'm not going to speculate on what the advantages/disadvantages would have been as I honestly have no idea. I suppose if a competing product comes out that is XMPP-based then maybe we'll have some good comparisons. ;-)

</comment></comment></comment><comment><USER25> Interesting read.

I'd always incorrectly assumed they'd started off with a modified IRC stack of sorts & am pleasantly surprised that it isn't the case.

</comment><comment><USER26> One this is for sure, they are all in on AWS.

</comment><comment><USER27> Something that differentiates Slack from other apps, is that there should never be any need to manage data across corporate clusters.

Instead of a massive, complicated back-end, imagine if each Slack 'installation' (i.e. customer) had their own set of services, distinct from one another.

Even with 10K users each for the larger customer accounts, I'd imagine that 'customer backend' might not have be super complicated.

i.e. I wonder if there's an opportunity for systems such as these to 'scale horizontally' instead of vertically, whereby each customer has their own little set of services.

In this manner 'managing billions of messages' wouldn't seem so daunting, rather, no more daunting that some 3rd party running several thousand MS Outlook instances, one for each customer.

<comment><USER28> We decided early on to colocate most aspects of the back-end, in part because we anticipated shared channels[1], but also because provisioning even virtual hardware for each team would be prohibitively expensive: we have over 600,000 organizations in Slack today[2], too many to make hard-partitioning most resources economical.

[1] [https://www.zdnet.com/article/slack-brings-shared- channels-t...](https://www.zdnet.com/article/slack-brings-shared-channels-to- enterprise-grid-intros-bridge-to-email/) [2] [https://sec.report/Document/0001628280-19-004786/](https://sec.report/Document/0001628280-19-004786/)

</comment></comment><comment><USER29> Let me know when they figure out how to build a Windows client that doesn't run an entire CPU core at 100% all day long.

<comment><USER29> Nice downvote. Every single person I know who uses the Slack Windows client has this issue. How about you differ with me if I'm wrong.

Edit: here's a link to others with the same issue: [https://www.reddit.com/r/Slack/comments/bj3ltt/windows_users...](https://www.reddit.com/r/Slack/comments/bj3ltt/windows_users_all_reporting_constant_crashinghigh/)

</comment></comment><comment><USER30> I find it weird that slack has this unintuitive way of signing into my workspaces, that user experience made me stay away as much as possible. I don't know why they don't make it easy to stay, harder to leave!</comment>


Can Remote Work Reverse the Rural Brain Drain? - <AUTHOR> https://www.forbes.com/sites/abdullahimuhammed/2019/03/01/can-remote-work-reverse-the-rural-brain-drain/#7ee230d828d1 <comment><AUTHOR> from the article:

We are looking at a new workplace climate, largely due to demands of Millennials and Gen Z'ers for work and life environments that are very different from traditional ones. Here are their important values that contribute to this new concept of work:

1\. These generations want authentic eco-friendly lifestyles

2\. They want quality of life based upon experiences, not things

3\. Many believe that "living off the grid" is a valuable pursuit

4\. The majority wants to sustain a healthy work/life balance and have flexible work hours.

None of these values are fully satisfied by those "big city lights."

p.s. while the conclusion is not solid; values mentioned would probably appeal to many (myself included).</comment>


The art of building products - <AUTHOR> http://www.codelitt.com/blog/the-art-of-building-products/ <comment><USER2> Ugh. Don't bother clicking through.

At first I was nodding my head, looking for where he ties it all together with the marketing that's the other important side to building a product. Then I realize he's not building products at all, he's doing client work. The whole thing is just an intro to Agile. And not even a very good one at that.

<comment><AUTHOR> Not all readers have the same set of knowledge.

<comment><USER3> How did you get this to front page? Manipulation?

<comment><USER4> A title like "The art of building products" is upvote bait for HN users. I don't do it anymore but I used to upvote submissions with titles like that without reading the article. My thinking being that if my vote gets someone else to read it I can check the comments to see what kind of discussion it generates and whether the article itself is worth reading. These days so much of this fluff makes it to the front page that I am more careful about what I upvote.</comment></comment></comment></comment>


Ask HN: Is a decentralized Internet possible?  - <AUTHOR>

I came across www.redecentralized.org and I wanted to ask the folks here,  if it is possible that the online world will ever move to a decentralized internet ? Would you be willing to run a packaged raspberry-like device at your home which will be used to keep all your online data (emails, social metadata, pictures, documents etc) instead of being kept in the servers managed by the cloud companies (google, dropbox, facebook etc), so that you have most of the benefits of the cloud services coupled with the ownership of data, with the downside being that you may have to pay a price for it ? <comment> Stealth- I think most people would prefer this, even regular people. The problem is that, at least right now, doing that yourself is an _awful_ lot of work. And it's definitely too much work for your average Joe.

I believe the majority of people would rather "own" their data because the idea of a company owning it makes them uncomfortable, however they don't care enough to learn to run their own and they aren't aware that alternatives are even possible.

To me, the key to a decentralized web is ease of use.

<comment><AUTHOR> Ease of use is definitely one factor which looks important, but also remember that there is an added cost of the device as well as a possible recurring cost as someone is doing some work to make your device available on the internet. This added cost might be a deterrent for people who are concerned about privacy but still not too concerned. I am just wondering if a mass adoption is at all possible ? I understand that there will be people who understand the system well enough to need such thing.

</comment></comment><comment><USER2> I'd be interested in finding out more, but www.redecentralized.org isn't working for me. Is there a typo? I wouldn't be against having a machine at my home, but I suppose that means single point of failure would erase all data?

What I would really like to know if it would be possible to have internet over wifi, and no backbone - just purely personal wifi - house to house. I don't see a way that I would find my bank's website if any computer can claim to be my bank, but maybe there's a solution.

<comment><AUTHOR> Regarding you0r 'single point of failure' comment, I think indeed this would be a single point of failure and of course, the data that you own, cannot be protected in a way big corporations can do which is the crux of the argument, that is, do you care about security/reliability of your data more or privacy ? The googles and facebooks are keeping the data secure but we can't know who all have access to our private data. Are privacy concerns a big enough deal for people that they would be willing to move their data from the cloud onto their possession, and in the process, maybe take some hit on the security/reliability ?

</comment></comment><comment><USER3> You always pay a price. There are just different kinds of prices. You can pay in attention, money, time, privacy..

The list goes on. :)

</comment><comment><USER4> For me decentralized internet is: Netsukuku, Hyperboria, cjdns, Serval Mesh and such kind of projects, or at least darknet's "something-over-ip" approach, like Tor/i2p/Freenet...

But not just "Install dovecot/wu-ftpd on home computer and feel like you fight the system" \- this is naive.

</comment><comment><USER5> I would like to keep the hardware with a company that I can trust. (Perhaps someone local)</comment>


DNA Company 23andMe Gets FDA Approval for Consumer Cancer Test - <AUTHOR> https://www.bloomberg.com/news/articles/2019-01-22/dna-company-23andme-gets-fda-approval-for-consumer-cancer-test <comment><USER2> Are any other companies making a true "at home" kit, that keeps your DNA entirely at home and does not upload anything to the internet / cloud? I have zero confidence in companies like 23andMe to protect data that I can not change.</comment>


Twitter has an unlaunched 'Secret' encrypted messages feature - <AUTHOR> <comment><USER2> Tell us more.</comment>


First Ascent – 3-day retreat for European computer science students - <AUTHOR> http://firstascent.io/ <comment><AUTHOR> OP here, I work in the same company that organizes the retreat. If you have any question on the event, I'll gladly reply.</comment>


You Can't Stop Universal From Removing Your YouTube Videos - <AUTHOR> http://www.dailydot.com/news/youtube-universal-music-video-takedown-deal/ <comment><USER2>
        filed a DMCA (Digital Millennium Copyright Act) takedown of the video

An attempt to pre-empt some comments: this seems to be a misunderstanding. The DMCA is not involved at all with these private agreements between Youtube and record labels, Youtube is a private company and can remove any content they want for any reason. They have given these companies permission to remove content they believe breaches their copyright. Anyone can file a DMCA notice with Youtube, what Universal etc. do bypasses it entirely.

If Universal etc. were doing this using a DMCA notice they would be breaching the terms of the DMCA.

<comment><USER3> Exactly. As annoying as it is, this isn't a breach of DMCA in any way, shape or form - it's YouTube saying "it's more important for us to make the record labels happier than it is you". And, for better or worse, that's their perfect right.

<comment><USER4> * cue someone arguing that YouTube can't do that, because it's a violation of the First Amendment

<comment> Tuna-Fish It's not. The First Amendment guarantees you a voice, but not an audience. Youtube has every right to tell you to sod off if they don't like your content for any reason.

<comment><USER4> Of course it isn't. YouTube isn't the government, so it doesn't even apply. My comment was poking fun at people who forget about that.

<comment><USER5> FWIW, I upvoted you back into the black, since I thought your intention was clear. Lots of people seem to make this mistake, that somehow the first amendment means that private companies aren't allowed to censor you.

<comment><USER6> Technically, they are not censoring you, they just aren't providing you a free podium.

</comment></comment></comment></comment></comment></comment></comment><comment><USER7> Although the article claims this was for a DMCA takedown notice, I think we've seen the articles explaining the arrangement between Google and The Media Conglomerates whereby aforementioned Conglomerates get to takedown whatever they want, whenever they want. No courts, no perjury, no fair use. Just outright removal.

What's a creative professional to do? Pay Vimeo or some other site to host your content. Pay a web developer to get you set up to host this stuff on your own site. Turn it into a podcast. If you think YouTube is the only game "in town," you need to get out more.

<comment><USER8> Isn't vimeo a wholly owned subsidiary of Youtube?

<comment><USER9> You might be thinking of VEVO (which is for major label music videos)..

<comment><USER10> VEVO is not owned by Google or YouTube.

<comment><USER11> VEVO has a deal with Youtube where they get their own-branded player (with a VEVO logo in the corner instead of Youtube), and I think there's a way to search for only VEVO-brand videos on Youtube or something.

<comment><USER12> And a way to search for only non-VEVO videos. (I hate the VEVO player.)

In Firefox, click the Searchbar drop-down "Manage Search Engines", and then the link "Get more search engines". Find and install the YouTube search engine.

Now edit the $HOME/.mozilla/firefox/<your profile>/searchplugins/youtube- video-search.xml file. Change the os:URL tag template section from "?search_query={searchTerms}&" to "?search_query={searchTerms}+-vevo&".

Your Youtube searches will now default to excluding the term "vevo" from any result.

</comment></comment></comment></comment></comment></comment><comment><USER13> Actually, the fact that you cannot appeal for fair use (or at least give rationalization) points to how broken the system is.

On the other hand, I can also understand why his appeals fall to deaf ears. When handling the first few DMCAs for Fork the Cookbook, I would contact the user who uploaded the recipe, and talk to the user (and offer the user to post counter notices)

It was a time consuming, draining process, having to feel fire from your users, and the copyright holders. It's very draining, and I was very tempted to write an automated DMCA process for Fork the Cookbook. In the end, I decided not to for a few reasons.

The way we approach copyright in the information age is broken. I have some ideas to fix it, but you'd have to buy my book (c) Chewxy 2014

</comment><comment><USER14> It's stories like this that are the reason I can't wait until P2P video streaming and sharing over WebRTC become commonplace enough to replace YouTube and similar sites. You can't assert copyright via the DMCA against fair use material on a fully distributed P2P network.

Ironically, the quality of comments and discourse on a P2P network would probably be an improvement over what can be found on YouTube.

</comment><comment><USER15> Can a case be made that YouTube is abusing it's effective monopoly on web video? I'm genuinely curious.

<comment><USER16> The case can be made that Google does not have an effective monopoly on web video actually.

</comment></comment><comment><USER17> His only recurse might be to sue both Youtube and Universal seeking a declaratory judgement the work doesn't infringe copyright under the fair use doctrine, injunction to have it reinstated and another injunction forbidding both Youtube and Universal from ever removing it again subject to a massive fine/day.

A good lawyer could even get slander of title up there against Universal for claiming copyright on a video which they clearly don't own, in which case he could get a nice paycheck out of the lawsuit. They could also stick some RICO act in there.

The question is whether suing would be worth the trouble, maybe the EFF would be open to pursue such case to set case law and make an example of them to the rest of the copyright mafia.

<comment><USER18> Except that YouTube is under no obligation to host his video and is free to remove it for any or no reason, so it couldn't be forced to reinstate the video.

<comment><USER17> Yeah, but it is removing it because Universal is claiming it owns the copyright of it, that's slander of title afaik.

</comment></comment></comment><comment><USER19> humm, is it still a safe harbor if there are contractual obligations like this in place?

<comment><USER20> The CDA safe harbor is likely in jeopardy if the right class and attorney got together. This is moving from independent ISP status to discretionary content management. Aka being a publisher.

</comment></comment><comment><USER21> Perfect example of how Music Companies are in the business of distribution and not content creation. They've co-opted YT into allowing them to control distribution "required to remove specific videos from the site, block specific videos in certain territories," of content regardless if it's something they have copyright over or not.

Without absurd efforts to prop up its model the business of distribution of content is near worthless in age of near zero cost, perfect copies and Internet.

</comment><comment><USER22> Music copyright is incredibly messed up, even compared to the rest of copyright. I was doing research for a project I'm working on, and it's nearly impossible to determine if any 20th century recording is in the public domain unless the author explicitly declared it as such.

YouTube (and by extension Google) are actively making this worse with automated ContentID. There are many documented cases of author-released public-domain or creative commons work being claimed by other people [1]. Create a false entry in the ContentID database and issue takedown notices to the original creator and anyone else who used the music. Even if you get caught you can drop the claim and still walk away with the money you made off of their videos.

[1] See <http://incompetech.com/wordpress/category/copyright/> for several examples

</comment><comment><USER23> Time for some more competition in the online video market.

<comment><USER24> There is already plenty of competition, especially outside the US.

Since Google has always heavily "moderated" videos based on American values and American commercial interests, most countries had a viable market for an alternative for a long time.

The same also applies to the other end of the market, because YouTube is a bit of a cesspool when it comes to thing Google doesn't want to censor (like racism and homophobia). Many don't want to be associated with that in any way.

</comment></comment><comment><USER25> Ultimately self defeating as publicity helps. Especially with Rap that doesn't get a lot of replay (vs say classic rock) Unless the review was negative and thus the take-down (this would be troubling).

Youtube seems to have its own music search <http://www.youtube.com/disco>

</comment><comment><USER26> This story was syndicated from the Daily Dot. Original link here: [http://www.dailydot.com/news/youtube-universal-music- video-t...](http://www.dailydot.com/news/youtube-universal-music-video- takedown-deal/)

</comment><comment><USER27> I can testify this. It even seems impossible to get in touch with a Youtube official without a lawyer in place or posting on public boards in the hope for an official response.

</comment><comment><USER28> >Now, when a user wanted to file an appeal, the claim would go directly to the copyright holder.

I put up a Buddy Holly biography a few years ago, Warner (I think) claimed infringement on a song snippet, I filed an appeal that included a link that showed Paul McCartney owned the Buddy Holly catalog and Youtube put it back up in less than an hour. I doubt if the appeal went straight to Warner Music it would have happened quite like that.

</comment><comment><USER29> The way I understand: Google has entered in private agreements and as a private company it can remove even a video celebrating your mom's bday, for reason or no reason.

>> _The problem for McKelzey now is that he's picked up a strike in YouTube's two-strike system. According to the site's Terms of Service, YouTube can terminate an account if its found to be in violation of site rules more than once._

Does that take Adsense, Adwords, GooglePlay, G+ and everything with it? If so, that's scary.

<comment><USER30> Are there still reasons Google cannot use, under U.S. law?

At least in many European companies, particularly in matters of employment or offering services, improper reasons are illegal. For instance, you cannot deny service to someone on basis of race, skin colour, religion, etc. If you cannot prove you have any proper reason, a racist reason can be assumed and you're facing trouble.

<comment><USER31> If you add 'sex' to your list, you have a complete list (of the major factors that matter). So it's not like there are a whole lot of reasons.

"If you cannot prove you have any proper reason, a racist reason can be assumed and you're facing trouble."

No, this is not true. In the general case, the burden of proof is on the claimant, i.e. the person feeling discriminated against. There are specific circumstances where case law stipulates that discriminatory motifs may be assumed unless proven otherwise, but those are far and few in between, and to be interpreted narrowly.</comment></comment></comment>


Ask HN: What is your favorite Continuous Integration Server? - <AUTHOR>

<comment><USER2> TeamCity is pretty cool because:

-it's very easy to set up and configure

-does not depend on one particular technology (we build our .NET site, android and iphone apps with it)

-there are some cool plugins available to extend it

(otherwise go heroku or appharbor)

<comment><USER3> +1 for TC. It's also got a free version which is enough for us.

<http://www.jetbrains.com/teamcity/></comment></comment>


F* – An ML-like functional programming language aimed at program verification - <AUTHOR> http://fstar-lang.org <comment><USER2> This post describes how Mozilla is incorporating F* verified cryptographic code into Firefox: [https://blog.mozilla.org/security/2017/09/13/verified- crypto...](https://blog.mozilla.org/security/2017/09/13/verified-cryptography- firefox-57/)

</comment><comment><USER3> A nice project using F* is the project Everest: [https://project- everest.github.io](https://project-everest.github.io) . They implement HTTPS and all of its crypto, completely verified.

<comment><USER4> "Current status - We generate a C library, but the verification is not complete."

<comment><USER5> One can always look at the empty part of the glass, but the quote does continue with a big full part:

"The TLS 1.3 handshake verification is work in progress and still relies on the OCaml extraction mechanism of F* ; thus, the C library still encapsulates the OCaml runtime system.

We have completed verification of the TLS 1.3 record layer it currently extracts to C.

The AES and SHA2 cryptographic assembly routines are verified and extract to assembly via Vale.

HaCl* provides verified C code for multiple other primitives such as Curve25519, Chacha20, Poly1305 or HMAC.

Our test client implements TLS 1.2 + TLS 1.3 Draft 18 and successfully connects to TLS 1.3 test servers. We have a prototype integration of miTLS within libcurl that one can use to git clone a remote repository."

</comment></comment></comment><comment><AUTHOR> One thing I am amused is the behemoth support by Microsoft Research. Why is it still dormant? [https://www.microsoft.com/en-us/research/project/the-f- proje...](https://www.microsoft.com/en-us/research/project/the-f-project/) [https://en.wikipedia.org/wiki/F*_(programming_language)](https://en.wikipedia.org/wiki/F*_\(programming_language\))

<comment><USER6> Microsoft Research is also behind Dafny and Lean and a whole bunch of more specialized tools: [https://rise4fun.com/](https://rise4fun.com/)

They are very wisely not claiming that any of these is _the_ verified programming language to rule them all. There is still a lot to learn.

<comment><USER7> Much of this uses Z3 under the hood, and Z3 is made of pure wizardry.

</comment></comment></comment><comment><USER8> One cool thing with F* is that it starts bringing real contributions such as the HACL* formally verified cryptography to Firefox. [https://blog.mozilla.org/security/2017/09/13/verified- crypto...](https://blog.mozilla.org/security/2017/09/13/verified-cryptography- firefox-57/) Realistically, even if F* is not fully foundational it seems to be a very good compromise to write security sensitive applications in terms of proof effort...

</comment><comment><USER9> Why was it not named FML?

<comment> 52-6F-62 Phrasing?

I wish they at least named it Fasterisk

<comment> ainar-g "Faster and with less risk!"

</comment></comment></comment><comment><USER10> Can't wait to see someone write some kind of checking program with the name F*ck.

</comment><comment><USER11> Is it easier to write a program that behaves the way you want and a verification to prove the program behaves the way you want, or to just write the program? What if you goofed writing the verification, and now you have a program that is guaranteed to misbehave? How do you verify the verification?

<comment><USER12> Validation vs verification. Validation: "is this the right spec", verification: "does this meet the spec".

Turns out once you have a formal specification, you can do all sorts of things with it that you couldn't do with just the code sitting alone. You can prove properties about your specification. For example, seL4. Even the abstract specification is quite big and can be hard to reason about in complex cases. How do you know that spec is the one you want? Well, they wrote down some security properties they'd like it to have, and then proved that the abstract spec has those properties (eg, you can configure it to act like a separation kernel; it enforces isolation given an isolated initial condition; it enforces integrity).

How do you know those are the right properties? Well, that's the challenge of software validation isn't it :) Ultimately formal methods doesn't make that problem much harder. You just need to figure out a way to formally phrase the properties you want. A lot of software has very fuzzy validation criteria, and isn't necessarily suited for formal verification for that reason.

</comment></comment><comment> ainar-g Why didn't refinement types find their way into mainstream languages yet? It seems like it would have a tremendous impact on how programs are written and tested.

<comment><USER13> Because major organizations only want replaceable developers, as cogs in the enterprise machine.

Better quality of software is irrelevant unless they get fined, like it happens on medicine or aeronautics industry.

<comment><USER14> Those "major organizations", with the exception of Google and Apple, aren't spearheading language design.

Their point of view has no impact on the evolution of language paradigms, and if you told them they could save money on QA and increase the reliability of their product for virtually no overhead with new paradigms, I don't see why many people would reject the idea.

<comment><USER13> Google, as in Go?

"Type system tyranny", page 8 - [https://talks.golang.org/2009/go_talk-20091030.pdf](https://talks.golang.org/2009/go_talk-20091030.pdf)

"Programmers working at Google are early in their careers and are most familiar with procedural languages, particularly from the C family. The need to get programmers productive quickly in a new language means that the language cannot be too radical."

[https://talks.golang.org/2012/splash.article](https://talks.golang.org/2012/splash.article)

<comment><USER15> This is a convenient explanation and you will find a lot of evidence for it, but I think it's superficial.

The real question is, why can they afford to take this approach without being outperformed by companies that use better languages and better developers?

For those of us who enjoy exploring more powerful/innovative languages, there is a convenient explanation and a not so convenient explanation.

The convenient one is that the success of these "Blub companies" is largely determined by factors unrelated to software development.

The inconvenient one is that all these interesting and powerful language features do not significantly improve software development outcomes.

I think it is remarkable that some of the companies that are on the Blub side when it comes to software development are among the most cutting edge, research oriented companies in other regards, such as AI.

Also, companies like Google can not only choose among the best candidates, they also have a lot of influence on what people learn before they even apply for a job there. So I simply don't buy the familiarity excuse, at least not for the entire workforce.

I also don't buy the large existing codebase excuse as that would apply equally to new Blub languages and new PL research based languages.

There is simply very little faith in any positive impact of PL research innovations on software development outcomes. And this lack of faith cannot be explained away by claiming that all those lacking faith are simply incompetent.

The likes of Google and Microsoft can and do hire competent PL researchers, just as they hire competent AI researchers. And they do have a massive incentive to improve software development quality and productivity.

I think the truth is that PL researchers simply haven't made the case for the effectiveness of their work.

In part because it's extremely difficult to make that case empirically. All the empirical studies I have seen suffer from huge and mostly unfixable counfounders.

But I think another reason is that PL researchers seem to largely ignore cognitive science and sociology. I haven't seen much discussion about the impact of particular PL features on developers' state of mind in any realistic context.

Nor have I seen much debate about programming languages as group communication tools or about the different roles in which people interact with code as part of a software development process. All of that is apparently considered out of scope.

And that, I think, is the reason why it is so easy for many practitioners to dismiss PL research out of hand. Even where PL research is being picked up decades later it appears more fashion driven than evidence based.

<comment><USER13> If we look at blub engineering regarding mankind's history, impressive pieces of work were build by recurring to thousand of workers each doing his/her little thing across several years, even generations.

Yet, most likely we would use heavy construction building machines nowadays.

Niklaus Wirth admits on one of his papers that he expected developers would pick Oberon by caring about tools for quality in software engineered, but he was wrong about it.

Hoare has a similar remark on his Turing award speech.

So from my point of view it is a mix of sociology, fashion driven development and office politics.

</comment></comment></comment></comment></comment></comment><comment><USER16> I've always dreamed about ML language with verification support and dependent types. Does it have something like Haskell's typeclasses or OCaml's modular implicits? Does it support ad-hoc polymorphism in any way?

<comment><USER17> It's not intending to be a general purpose language, and as such doesn't have a lot of features that make software engineering easier. In fact, it intentionally has a phenomenally slow compiler, because the compiler is solving or attempting to solve various NP-Complete problems simultaneously.

Think of it as a language that will help build tools, analyzers, and possibly linkable libraries for small scale but highly security-critical components, but not necessarily the language you want to use to build an app server.

<comment><USER18> although, if you don't use any refinement types in your program, i don't see why you can't write general purpose programs and extract code to Ocaml and F#

</comment></comment></comment><comment><USER19> How does this compare with other verification tools such as TLA+ or Coq?

<comment><USER6> Compared with Coq, F* makes it easier to write programs with side effects, i.e., actually mutate variables and memory. There is a language fragment which amounts to programming in a subset of C (and this is used for generating C code for the verified crypto stuff in Project Everest mentioned in other comments).

Also compared with Coq, proofs rely heavily on SMT solving with Z3 instead of lots of manual tactics (yay!). On the other hand, where SMT solving fails, you can _not_ resort to manual tactics because there is no tactic language. You have to write proof terms without interactive support. (This may have changed in the last few months, but I'm almost sure it hasn't.)

I wrote a bit about my experiences trying to prove things in F* two years ago: [https://news.ycombinator.com/item?id=10984306](https://news.ycombinator.com/item?id=10984306)

Don't rely on any of that though, things will have changed in the meantime!

I'm optimistic about F*, but at the moment you have to be quite determined to try to use it for fully verified programming. The same is true for Coq, though.

<comment><USER20> Which language, do you think, is most practical for writing formally verified programs?

<comment><USER21> Probably the four most well-known pieces of software with end-to-end verification of functional correctness are the CertiKOS microkernel from Yale (verified in Coq), the SEL4 microkernel (verified in Isabelle), the Compcert C compiler (verified in Coq), the CakeML ML compiler (verified in Isabelle).

Stopping short of full end-to-end functional correctness, there are lot more notable examples, such as the Verve system at MSR (verified type/memory safety using Boogie), and the Bedrock system at MIT (functional correctness down to a fairly low-level IR, done in Coq), the miTLS/Everest TLS stack (protocol correctness verified in F-star, most of the way down to a C-like implementation), and the Iris project (a toolkit for verifying higher-order concurrent programs, currently being used to formalize Rust including unsafe, in Coq).

In machine-checked proof, the three biggest successes are the verification of the Odd Order Theorem (in Coq), the Four Colour Theorem (in Coq), and the Flyspeck project verifying the proof of the Kepler conjecture (in HOL).

In hardware verification, there has been a huge amount of work using ACL2 and HOL, but I don't know this space as well.

Basically, Coq and Isabelle have the most actual successes, but other things like F-star, Boogie and HOL have all worked as well.

<comment><USER22> CakeML was verified in HOL ([https://hol-theorem-prover.org/](https://hol- theorem-prover.org/)), not Isabelle.

<comment><USER21> Yes, you're right. Thanks for the correction!

</comment></comment></comment></comment></comment></comment><comment><USER23> In terms of buzzword bingo, F* is as close to my ideal programming language as I can think of, but I do wonder if it'll ever get the tooling support to make it more attractive as a general purpose language.

<comment><USER24> What is it missing that something like SML has? Why couldn't I just switch from another language to this today, assuming I don't care about IDE support for it?

<comment><USER23> If you're interested, and you don't care much about tooling, go for it:

[https://github.com/FStarLang/FStar/blob/master/INSTALL.md](https://github.com/FStarLang/FStar/blob/master/INSTALL.md)

</comment></comment></comment><comment><USER25> ...it's unfortunate the name kinda looks like a censored bad word

<comment><USER26> It's compatiable with Coq

</comment></comment><comment><USER27> What is it with this trend of giving languages unsearchable names?

<comment><USER28> Searching for "f*" gives correct link in 1st result in Google. Do you use Yahoo or other search engine?

<comment> ainar-g I am not the other person, but when I try to find a JSON decoding module for F* with "f* json", I get almost completely unrelated results. So, either there is no JSON codec for F* (I guess they could use the F#'s one) or Google can't find it.

<comment><USER29> you would just type "fstar json" instead, just like you'd type "fsharp" instead of "f#"

</comment></comment></comment></comment><comment><USER30> Making another new language with such a short un-search-enginable name is not a good idea imo.

<comment><USER31> Well, type "f*" into Google and it's the second result ... Why Facebook is first, I have no idea.

<comment><USER32> I believe that Google might have created a rule for that, because when you type this in Yahoo [1] (or I believe even Solr, ElasticSearch or any of the other full text based database search engines) you won't find this as a result.

1\. [https://search.yahoo.com/search?ei=UTF-8&fr=crmas&p=f*](https://search.yahoo.com/search?ei=UTF-8&fr=crmas&p=f*)</comment></comment></comment>


Prioritizing: Eight Tips to Help An Entrepreneur Just Say 'No' - <AUTHOR> http://www.caycon.com/blog/2011/02/eight-tips-to-help-an-entrepreneur-just-say-%e2%80%98no%e2%80%99/ <comment><USER2> Sometimes you just have to say no. Being open to ideas is great, but it can shift your focus. Make sure you have your priorities in line before you start taking on more projects.</comment>


GitHub is running extra copies, indexed by Google - <AUTHOR> https://rubygems.pkg.github.com/NixOS <comment><USER2> Seems like it's just some misconfigured DNS. Any subdomain is showing the same thing:

[https://hackernews.pkg.github.com/](https://hackernews.pkg.github.com/)

</comment><comment><AUTHOR> Example google search: [https://www.google.com/search?q=site%3Agithub.com+inurl%3Apk...](https://www.google.com/search?q=site%3Agithub.com+inurl%3Apkg.github.com+inurl%3ANixOS%2Fnixpkgs)

\- [https://docker.pkg.github.com/NixOS](https://docker.pkg.github.com/NixOS)

\- [https://npm.pkg.github.com/NixOS](https://npm.pkg.github.com/NixOS)

\- [https://nuget.pkg.github.com/NixOS](https://nuget.pkg.github.com/NixOS)

</comment><comment><USER3> Pretty sure it's just the package registry, goto [https://rubygems.pkg.github.com/](https://rubygems.pkg.github.com/)

and you get JSON back.

{ status: "ok", message: "Hello, world! This is the GitHub Package Registry." }

But this probably shouldn't be indexed this way.

</comment><comment><USER4> Is GitHub not indexed by Google anyway? I'm probably out of the loop on something here.

</comment><comment><USER5> I don't get it. What is this showing?

<comment><USER6> Duplicates of entire GitHub site (reasons unknown), hosted by GitHub, publicly available and therefore indexed by Google Search, so it's showing up on search results.

<comment><USER7> They're probably not duplicate sites. I wonder if this is some weird config bug.

</comment></comment></comment><comment><USER7> Use rel=canonical tags guys!

</comment><comment><USER8> I wonder if they may be up when github.com is down</comment>


Lars Onsager Lecture on Compressed Sensing Part-1 By Terence Tao (Youtube) - <AUTHOR> http://www.youtube.com/watch?v=i2aY7tZ5S7U

<comment><AUTHOR> See all the 14 videos here : [http://www.youtube.com/user/ntnuinfo#play/user/DDACFCC2C38DF...](http://www.youtube.com/user/ntnuinfo#play/user/DDACFCC2C38DF85C)</comment>