Ionide – F# Dev Tools for the Atom Editor - <AUTHOR> http://ionide.io/ <comment><USER2> Just want to let You all that I'm an author of most stuff ( but of course we have also some cool contributors!) so if You have any questions feel free to ask them here.

<comment><USER3> This is really awesome! How are you finding Funscript? Last I tried to look at it following the tutorials to get started was not a smooth process due to being out of date. It's also, unfortunately, not a terrible active project :|

<comment><USER2> FunScript for sure is not perfect and have many rough edges - getting started as new user is hard, getting started with different type of project even as experienced user is not perfect (for example Atom plugin requires completely different approach than normal web application), it has problems with "OO" features of JS so using it with frameworks which requires such approach is bit hacky, generated code is not perfect.

But i still like it and managed to create fancy stuff with it - Ionide, React.js + Material UI applications etc. Wouldn't recommend using it on production ( unless You want to commit really hard into FunScript project and probably fix lot of this stuff) - WebSharper is providing more complete, richer solution and commercial support if needed

</comment></comment></comment><comment><USER4> What a coincidence? I installed Win 10 through bootcamp just to practice & develope a hobby project in F#. I logged in to Win 10, installed VStudio 2015, F# tools etc. & then checked HN. And found this. So Now I just shut down Win and came back to Mac to Install Atom and then Ionide.

<comment><USER2> F# has been working well enough on Mac for many years. Even if You won't like Ionide (I hope You will like it ;) ) it's worth checking different projects which allow for F# development on Mac - Xamarin Studio has very good F# support, there are also Vim, Emacs, and Sublime Text 3 plugins / modes for F# (all 3 for core F# language services features are using same backend as Ionide).

Also in context of cross platform development - there exists also F# yeoman generator which provides some nice templates for F# projects outside of VS.

<comment><USER5> > (all 3 for core F# language services features are using same backend as > Ionide).

Would that be Omnisharp[1], or does the F# community use something different?

[1] [http://www.omnisharp.net/](http://www.omnisharp.net/)

<comment><USER2> Omnisharp[1] is build on top of Roslyn so as for now it supports only C# / VB. As far as I know they are working on adding plugin support for it for non- Roslyn language so maybe in the future we will have F# plugin there ( actually, as far as I know, that's MSFT plan for adding F# support in VS Code)

F# has had opensourced compiler[2] (written in F#) before it was cool in .Net stack and for most tooling things we are using FSharp.Compiler.Services[3] project - which basically provides all features of F# compiler (and much more) as normal .Net library. Projects like Visual F# Power Tools[4] and Xamarin Studio F# support[5] are using it to provide very interesting F# IDE features.

Since Vim, Emacs, Sublime and Atom (even though Ionide is written in F# and compiled to JS we can't use all .Net libraries) don't have direct access to .Net assemblies, community have created FsAutoComplete[6] project which is just command line wrapper around FSharp.Compiler.Services and works as "standard I/O server" where we send requests (for example if user wants completion list) and get appropriate responses.

[1] [http://www.omnisharp.net/](http://www.omnisharp.net/)

[2] [https://github.com/Microsoft/visualfsharp](https://github.com/Microsoft/visualfsharp)

[3] [https://github.com/fsharp/FSharp.Compiler.Service](https://github.com/fsharp/FSharp.Compiler.Service)

[4] [https://github.com/fsprojects/VisualFSharpPowerTools](https://github.com/fsprojects/VisualFSharpPowerTools)

[5] [https://github.com/fsharp/xamarin-monodevelop-fsharp- addin](https://github.com/fsharp/xamarin-monodevelop-fsharp-addin)

[6] [https://github.com/fsharp/FsAutoComplete](https://github.com/fsharp/FsAutoComplete)

<comment><USER5> > Omnisharp[1] is build on top of Roslyn so as for now it supports only C# / > VB

That is fairly new code.

It was based on NRefactory in the past which I thought was reflection-based, but I may have been wrong.

<comment><USER6> > for now it supports only C# / VB Nope, there is not any support for VB at > this point in time. It's C# only I'm afraid!

As cloudroutine mentions, the older omnisharp-server implementation is NRefactory based, whilst omnisharp-roslyn (as the name implies) has been built atop roslyn.

omnisharp-roslyn retains a bit of NRefactory (the code actions part[1]), which was called NR6Pack and has now been renamed as Refactoring Essentials [2].

Anyway, there's been a lot of recent changes in the works, as someone has already mentioned, omnisharp-rolsyn currently has an open PR [3] which will provide a plugin system to omnisharp-roslyn. Once introduced, it will mean that the various omnisharp editors/clients can pick and choose which plugins they wish to bundle with their editor. This may include F#, VB, Cake, Fake and many others.

New contributors are, as always most welcome :)

\---

[1] [https://github.com/OmniSharp/omnisharp- roslyn/blob/f62e74324...](https://github.com/OmniSharp/omnisharp- roslyn/blob/f62e74324e76aa702083bfe749d293c2b3eb4777/src/OmniSharp/Startup.cs#L94)

[2] [http://vsrefactoringessentials.com](http://vsrefactoringessentials.com)

[3] [https://github.com/OmniSharp/omnisharp- roslyn/pull/293](https://github.com/OmniSharp/omnisharp-roslyn/pull/293)

</comment></comment></comment></comment></comment></comment><comment><USER7> This looks awesome! I've been meaning to checkout F# (I come from an OCaml background), and I think I've now found my gateway...

Cheers,

<comment><AUTHOR> I started out with OCaml too, it's a really easy transition into F#. You can basically cut and paste OCaml code into F#, unless it involves stuff like Functors, first class modules, and polymorphic variants.

Active Patterns are a pretty cool F# feature that OCaml doesn't have. You can do something that's effectively the same with OCaml macros, but those are a lot more tedious.

The F# intellisense and code completion are great productivity enhancers, especially when it comes to working with unfamiliar libraries.

My biggest hurdle in transitioning from OCaml to F# was learning my way around the .Net ecosystem, so it was still a relatively minor one.

If you decide to get into F# and have any questions about it someone on the #fsharp channel on the Functional Programming Slack[1] usually has an answer.

[1] [http://fpchat.com/](http://fpchat.com/) <\- sign up here, invites usually arrive within 24hrs

</comment></comment><comment><USER8> Will this work with VS Code? If not now, in the future?

<comment><AUTHOR> VS Code does not currently support extensions/plugins. The team has confirmed they're coming at some point[1] but we'll need to see how they set it up to determine the best approach to building an F# plugin for it.

Ionide definitely won't be compatible out the gate, but if the API isn't too different we might be able to reuse some of what we've already done.

The best case scenario would be the if plugin system supports dlls so that we could use the FSharp.Compiler.Service directly[2]

[1] [http://visualstudio.uservoice.com/forums/293070-visual- studi...](http://visualstudio.uservoice.com/forums/293070-visual-studio- code/suggestions/7752408-plugin-system)

[2] [http://fsharp.github.io/FSharp.Compiler.Service/](http://fsharp.github.io/FSharp.Compiler.Service/)

<comment><USER8> Understood. Thanks! Nice work.

</comment></comment></comment><comment><USER9> Looks very nice. Since you're using the FSharp compiler services, does that mean this supports "intellisense" for Type Providers?

<comment><USER2> Yes. It provides same completions list as in VS or XS, so also support Type Providers

</comment></comment><comment><USER10> Do you have document on how to set it up? I'm a newbie with Ionide,fake/paket. May be I'm used to VS too much

</comment><comment><USER11> Either I'm missing something or this doesn't support Windows, because installing the package did absolutely nothing on my machine.

<comment><AUTHOR> Could you try updating the `ionide-installer` plugin? We had some minor issues over the past 30 mins[1] but they should be resolved now.

We definitely support Windows, I'm running it on Windows 10 right now ;)

[1] [https://github.com/ionide/ionide- installer/issues/3"](https://github.com/ionide/ionide-installer/issues/3")

<comment><USER11> Still doesn't do anything. I'll investigate further and create an issue on Github.</comment></comment></comment>


87% of the U.S. Population are uniquely identified by {DOB, gender, zip} - <AUTHOR> http://latanyasweeney.org/work/identifiability.html <comment><USER3> Here's some backstory, from the 1990s when the Massachusetts' Group Insurance Commission released "anonymized" health data:

''At the time GIC released the data, William Weld, then Governor of Massachusetts, assured the public that GIC had protected patient privacy by deleting identifiers. In response, then-graduate student Sweeney started hunting for the Governor's hospital records in the GIC data. She knew that Governor Weld resided in Cambridge, Massachusetts, a city of 54,000 residents and seven ZIP codes. For twenty dollars, she purchased the complete voter rolls from the city of Cambridge, a database containing, among other things, the name, address, ZIP code, birth date, and sex of every voter. By combining this data with the GIC records, Sweeney found Governor Weld with ease. Only six people in Cambridge shared his birth date, only three of them men, and of them, only he lived in his ZIP code. In a theatrical flourish, Dr. Sweeney sent the Governor's health records (which included diagnoses and prescriptions) to his office.''

Source: [http://arstechnica.com/tech-policy/news/2009/09/your- secrets...](http://arstechnica.com/tech-policy/news/2009/09/your-secrets-live- online-in-databases-of-ruin.ars)

<comment><USER4> I had to deal with the converse of the problem when I was working for a company that ran the vehicle smog checking for the state of Illinois. A driver's license id was composed of birthdate, sex, and some location information (I dont remember exactly what) for the reasons mentioned by jdp23 it worked quite well, except for identical twins, who had the same driver's license id. (Registrations ofter were processed by hand at drug stores. The driver's license was used to disambiguate ambiguous renewals.)

The state of Texas complicated things by allowing a family to have the same license plate for all their cars. One family had seven vehicles, all with the same license plate number. Florida would issue the same plate to complete strangers. One man arrested with great drama, because a bank robber (or some such undesirable) had the same (legal) plates.

My GF has such a common name that her doctor has to check which one of three she is. The last time she tried to get her driver's license renewed online, she was told she had to go to the DMV in person. She asked why and was told she was a "Code 5". She reported to the DMV and told the woman that she was a Code 5. There dropped jaws and a hurried conference with a supervisor who called Sacramento and had a lengthy conversation with comments like, "Yes I'm sure. She's right here." Finally she got impatient and asked, "What's Code 5?"

The clerk said, "You're dead and it was verified by medical personnel." She did eventually get her license renewed. Officially I live with a zombie. It isnt as bad as the movies portray.

<comment><USER5> > _...for the state of Illinois. A driver's license id was composed of > birthdate, sex, and some location information...._

It's worse than that: in Illinois the first four characters of your DL ID are your last name's soundex code.

<comment> steve-howard Do you have a source for this? I think it's pretty cool and I'm wondering if there's a reasonably centralized place for other states' formats as well.

<comment><USER6> It's even worse than just a Soundex of your last name, the entire number is derived off your name and DOB.

<http://www.highprogrammer.com/alan/numbers/dl_us_shared.html>

</comment></comment></comment></comment></comment><comment><USER7> This is sort of the reverse of the "curse of dimensionality", for those interested in machine learning (<http://en.wikipedia.org/wiki/Curse_of_dimensionality>). From an ML perspective, as you add dimensions to a dataset, the amount of data you'd need to accurately model the data without overfitting (i.e. without memorizing specific details of the sample rather than underlying trends) grows _very_ fast, because due to the combinatorics you end up with extremely sparse coverage of the overall possibility space even with huge data sets.

The reverse of that phenomenon is that, given a data set in a high-dimensional space (even 3 dimensions, if each dimension has more than a few bits of entropy), it will cover the dimensions very sparsely (even if it's large!), and therefore it's relatively easy to recover specific details of the sample from the aggregate statistics.

edit: Well, I was hoping this might be a new insight, but in fact there's a good 2005 paper exploring that connection in much more detail: <http://www.vldb2005.org/program/paper/fri/p901-aggarwal.pdf>

<comment><USER8> The Curse of Dimensionality is a key piece of knowledge to keep in mind anytime you're building some software that searches/sorts/filters/etc. a large dataset and your users keep asking for things like _"but I want to search based on <some new thing>!"_

Someone has to be the gatekeeper on your dimensions.

</comment></comment><comment><USER9> This is an excellent example of "how to write a title for an HN submission."

For the busy HNer, it's not even necessary to click on the link to get the key idea from the article.

</comment><comment><USER10> I should run that on the Israeli population census - which has been illegally leaked several times [1].

The ZIP codes in Israel are per-street, not city. Given Israel's population of just under 8M, I believe a very high percentage (95% <) of unique people can be found.

[1] - [http://blog.y3xz.com/post/7846661044/data-mining-the- israeli...](http://blog.y3xz.com/post/7846661044/data-mining-the-israeli- population-census)

<comment><USER11> You should definitely update us on that - it will be very interesting to see the results.

Great article, by the way. I especially like the idea of diff'ing the databases.

</comment></comment><comment><USER12> Then there are those of us who have unique enough names that you can pretty much look us up and find there's only two in the whole US (and we're related). Having been a DBA at one point, it's always fun to tell folks that "really, if you just search for my name I guarantee you'll find me faster". Heck in most cases a search in a system that separates first and last names will let me be found with just my first name. If it weren't for that lousy Welsh actor, that would work on Google also (although full name turns me up as most of the front page).

My point is that this shouldn't be THAT surprising. I suspect full name and gender would uniquely identify a fair portion of the US as well. We're not as homogenous as some societies and I think this proves it...

</comment><comment><USER13> I don't find that number surprising. DOB along with zip is pretty good data.

What I'd find amusing would be how much of the population is uniquely identifiable by browser+plugins+os+resolution.

<comment><USER14> The EFF has done some research on that question: <https://panopticlick.eff.org/>

<comment><USER15> Interesting -- using NoScript reduced my "bits of information" from 20 to 14. I would have expected it to increase the uniqueness of my browser.

<comment><USER16> They can get considerably less data if you don't have Javascript enabled.

</comment></comment></comment></comment><comment><USER17> There were no other males, born on october 8th 1990, in Lakeview, Chicago. I'm a little flabbergasted, to be frank.

<comment><USER18> October 8th is an odd date. Since it's my birthday as well (long before 1990 though) I have taken note that I run across very few with that birthday, let alone early October birthdays. Is it statistically a low-birth month? I'd love to know.

On a side note, Happy 21st Birthday in just over a month!

<comment><USER19> October 8th is actually in the top 100 of birthdates by frequency of births, according to the best data table I have seen on the subject.

[http://www.nytimes.com/2006/12/19/business/20leonhardt- table...](http://www.nytimes.com/2006/12/19/business/20leonhardt-table.html)

Of course February 29th is dead last in frequency. Most early October birthdays are above the median in frequency.

<comment><USER20> Note the group of high rankings from 8-Sep, tailing off in early October - <USER2> those NYE babies ;)

<comment><USER21> also interesting is looking at the next lowest frequency dates-- all of them are clustered around major holidays:

365 12 25

364 1 1

363 12 24

362 1 2

361 7 4

360 12 26

359 11 28

358 11 27

357 11 26

356 1 3

355 10 31

354 12 23

353 11 25

352 11 24

<comment><USER22> Not sure if this is the (whole) reason, but obviously no one is going to have a scheduled induction or C-section on a holiday.

</comment></comment></comment></comment></comment></comment><comment><USER18> Putting it to a non-scientific test, where I grew up is within the zip code of 98632. From the 2000 census there are 47,202 within that zip code. This is probably a good average city for America - not too big, not too small. Based on the fact that there are 366 possible (year excluded) birthdays (I'm including Feb. 29th) and only two genders, just about the best I can do for uniquely identifying people in that county is 1 in 64. Add in the year and what I would assume is an even population between the ages of 1 to 50 and that gets you closer to 1:1. Not bad.

A zip code with large populations probably are more around 50% than 87%, and obviously the reverse is true as well. I wonder what the population size for a zip code would have to be to be really close to 100%. Just throwing some numbers in a calculator I'd guess at 15-20k people would be damn close. So 10k is probably just about a unique identifier.

<comment><USER23> Your calculations would be very different if you included the year in the DOB.

<comment><USER18> I didn't at first to show the 1:64, and then I added the year (well 50 of them) to show how I got closer to the 87% with my extremely un-scientific and fuzzy math.

</comment></comment></comment><comment><USER24> While I find this fascinating, I'm sure this is old news to people in the business, like the people that run the grocery/chain store savings programs.

What I'd be really interested to see is why this works, and what it tells us about distribution of population by zip code. I'd imagine the places where this doesn't work as well, are the most densely populated zip codes, where the likely hood of duplicates on the given key increases, but I would never have guessed that the accuracy would be anywhere near 87%. (maybe there's alot more zipcodes than what I thought? maybe they used zip+4?)

<comment><USER25> Simple information theory; in a world of 6 billion people, 33 bits serves to uniquely identify anyone. 33 bits is a really low bar. It works because it can't hardly help but to work, sort of like the birthday paradox. In the US with approx 312 million (wikipedia) that's approximately 28.2 bits.

It doesn't tell us much about zip code distribution because zip codes are chosen to have approx the same number of people in each. As it turns out, that's exactly how you'd go about maximizing the amount of information the zip code carries... which is unsurprising since that's the entire purpose of a zip code. Gender is almost exactly one bit, and date of birth is 15ish bits with some bad uniformity assumptions, zip is another 15ish with bad uniformity assumptions[1], that's 31-ish total, subtract off 3-ish for the bad assumptions and you get 28, which covers 2^28 = 268,435,456 people, which is pretty close to the number cited (.87 times 312,000,000 = 271,440,000). I'll cop to tuning the fudge factor of three bits to nicely match the number given, but the bit count itself just comes from the space of possibilities.

Lots more info on the topic can be found here: <http://33bits.org/about/>

[1]: <http://www.carrierroutes.com/ZIPCodes.html> 43,000 ZIP codes => log2 43000 is approx 15.4 bits assuming perfect uniformity.

<comment><USER26> 1-.5^3 = .875, eerily close to .87.

In general, if you model this as an N balls in M bins problem, then even when N == M, you'd expect a fair amount of anonyonomity preserving collisions. Maybe 1/2 of people would collide. As we then double the number of bins, we'd roughly expect the number of collisions to be cut in half.

If you imagine putting 100 balls (people) into 800 = 100 * 2^3 bins (number of different birthday-zip-gender encodings) at random, about 1/8 of the bins will have more than one ball (person) [okay, this estimate is somewhat off by a smallish constant factor, it's only true that the 100th ball tossed will collide with probability 99/800 ~= 1/8 if there were no existing collisions, and the earlier balls thrown have less to collide with], and not be uniquely identifiable.

</comment></comment></comment><comment><USER27> This is an interesting statistic for another reason aside from de- anonymization, particularly directory listing applications. A lot of web sites have url's to access the user's profile page by their username. For popular sites, it's always a rush to register "yourname" as a username so that you can get website.com/<yourname>. Inevitably, your name gets registered by some one else and you're stuck picking a nick name or appending a randomized letter set to it.

I've been pondering a useful way to have /<yourname>in a URL, so that everyone with that name can use the url containing it without collisions. Of course, I always end up with something like website.com/a3fx/<yourname>. Which is arbitrary, and ugly. However, with this stat it seems we have something close to a non colliding, pretty, meaningful addressing scheme. Ie: website.com/<dob>/<gender>/<zip>/<yourname>, sure it's a bit long but it provides assurance you're getting who you think your getting.

<comment><USER28> A problem with that is that people move, so zip codes change. You could fix that by substituting artificial, user-chosen groupings for zip codes if you used enough of them to have a similar distribution. Users could pick a grouping based on their interests, and you could even keep the geographical aspect of it by treating them as "neighborhoods". People who play the stock market could choose WallStreet, science fiction fans could choose Area51, wine aficionados could choose NapaValley, and so on.

</comment></comment><comment><USER29> Medical and voting records generally ask for sex, not gender. It would be nice if the two concepts would stop being confused.

<comment><USER30> I agree. That said, using actual gender rather than assigned sex only serves to identify people more uniquely. I wonder if that would have an appreciable effect on the stats or if it would fall within error bars.

<comment><USER31> You'd have to have a pretty long dropdown menu in the data-mining centers for all the genders people self-identify these days. Some people might be uniquely identifiable on that value alone.

<comment><USER32> or when someone comes up with a newer more politically correct term!

I prefer writing Sex: Yes, please

</comment></comment></comment></comment><comment><USER33> De-identified patient data does NOT have DOB or ZIP codes:

[http://www.hipaa.com/2009/09/hipaa-protected-health- informat...](http://www.hipaa.com/2009/09/hipaa-protected-health-information- what-does-phi-include/)

Sex, gender or age is allowed.

<comment><USER34> But if you poll the database every day to see when age increases, you can get DOB.

<comment><USER35> Well... if the records are released I don't think they should change. Someone record at 50 isn't the same as at 60. Unless these are live datasets.

<comment><USER33> Correct you would not be able to guess the date of birth - the date of visit is removed.

</comment></comment></comment></comment><comment><USER36> If we want more anonymized datasets, maybe we should be asking for approx. age or year of birth instead. I doubt that most things that ask for DOB need anything more than granular than that.

<comment><USER37> I wish. Unfortunately, most sites need this for legal reasons, to determine whether or not the user is above or below a certain age.

One could theoretically ask "how old are you" but then you don't know when to lift limitations. Say a user joins six months before their 18th birthday. Are you going to block 18+ content for a whole year from then?

<comment><USER38> How many sites filter content based on age _and_ really do so selectively based on a birthdate? Most age verifications, even ones that request a date, seem to be just asking the question, "Are you of legal age?"

(I prefer websites just ask that binary question, like this brewery - <http://www.newbelgium.com> \- instead of making me waste time with a date input.)

</comment></comment></comment><comment><USER39> This might work well in a fixed database, but it would not work in real life since people change zip codes when they move every couple of years, or have more than one zip code (home, office).

The only way to identify people in real life is to issue them a public ID number that can be used in conjunction with a private ID number (SS#).

</comment><comment><USER40> DOB + name is unique in most cases.

Which is why I deliberately give an incorrect DOB on most websites that want one.

</comment><comment><USER41> China's Citizen ID:

Area_ID + DOB + Order Number + Checksum

For order number: Men are assigned to odd numbers, women assigned to even numbers.

[http://en.wikipedia.org/wiki/Resident_Identity_Card#Identity...](http://en.wikipedia.org/wiki/Resident_Identity_Card#Identity_card_number)

</comment><comment><USER42> True unique identifiers are immutable. At least two of those three things can be changed.

<comment> steve-howard Gender is a bit of a stretch, if technically changeable. I don't know much on the subject but I would wager that the proportion of people who have changed gender is not statistically significant enough to change the 87% figure.

<comment><USER42> Identifiers are either immutable or they're not. They can't be sorta-kinda immutable.

</comment></comment></comment><comment><USER43> now im glad i randomize my birthdate on just about every form on the internet.

</comment><comment><USER44> With the density of large cities (though matched by zip codes), I wonder if the 13% live in urban areas and the remaining 87% outside.

</comment><comment><USER45> I'd love to see someone with a large dataset containing those variables to see what % of their set overlaps on those.

<comment><USER46> About a year ago, I did a project for de-duping customer entered contact info. We had less than 100k records for any particular region (Bay Area, New York, etc.) From what I recall, we were able to confirm identity in about 80% of cases using Name, DOB, and zip code.

By far the best metric is phone number, that bumped us up over 97%. If the comparison was limited to only three metrics, then we would use Name, DOB, and phone number. In reality, we also compare zip code, street address, and contacts (like friends on facebook), in that order.

It would be interesting to see if on average, people change their phone number less often than their name (marriage) or address (renters).

<comment><USER47> That's interesting, considering Google is trying to get me to give them my phone number. _puts on a tin foil hat_

</comment></comment></comment><comment><USER48> But most define themselves by asl ;-)

</comment><comment><USER49> The Mark of The Beast is at hand.

</comment><comment><USER50> JOKES ON YOU! I can change 2 of the 3!!</comment>


The best 4K monitor doesn't exist yet - <AUTHOR> http://m.thewirecutter.com/reviews/best-4k-monitor-doesnt-exist/ <comment><USER2>
      ...though you'd be foolish to buy a 24-inch 4K display, we can
      only hope that Intel and Samsung's ambitions can push down
      prices on larger displays.

Unless you're a Mac user, in which case you'd be foolish to buy anything else.

Reposting from my comment last year:

At 28", a 3840 x 2160 panel has a PPI of 157, which sits right between Retina and non-Retina densities. This means that on a Mac, you'll have to use it one of two ways: Either at 1x, where the higher PPI means everything will be much smaller than it is on a normal monitor, or at 2x, where the lower PPI means everything will be much bigger than normal.

...

The best 4K monitor for Macs will be a 24", which will have a PPI of 184, just about right for something sitting a bit further back from the viewer than a 220 PPI Retina Macbook Pro display.

<comment><USER3> I run a Dell 31.5" 4k and find it a perfect fit with the rMBP running at the (effective) 1920x1200 resolution. The Dell runs around 140ppi and the effective ppi of the rMBP is around 140 also. I find it to be an excellent combination. The quality of the Dell is outstanding.

A co-worker got two of the Dell 28" 4Ks and they were too small for 1:1 and just a waste for 1920x1080. Anything in between was jagged. The 30Hz was pretty terrible also.

Maybe two 24" displays would be ok, but I'd rather have the extra pixel real- estate in a single display instead of smoother font and graphic rendering.

<comment><USER4> Can you please mention the full model number of the 31.5" dell that you are talking about? Or a link?

</comment></comment></comment><comment><USER5> What bothers me about 4k is the switching of terms.

4k makes it sound like it has 4 times the vertical resolution of 1080p, but for pure marketing reasons, suddenly instead of the 4k referring to vertical resolution as 1080 did, it refers to horizontal resolution, so is really only twice the horizontal resolution of the 1920 that 1080p had. Overall that's 4 times the pixels because of squaring, but still!

<comment><USER6> We really ought to insist on using more correct terms like UHD (Ultra High Definition = 3840×2160 pixels) and only referring to "true" 4K cinema (4096 × 2160 pixels) content/equipment as 4K.

<comment><USER5> Like "HD" (1080) vs "HD Ready" (720) I think we've already lost that battle, and yet again it's "buyer beware" where people will get sold inferior goods as if they're the good stuff by having the same or similar terms for different quality. (Although in this case it's not as large a difference as HD vs HD ready was)

<comment><USER7> Ive never seen "HD Ready" refer to 720. As I remember it, HD Ready meant that the TV was HD (720 or 1080), but it didnt include an ATSC or QAM tuner. It was more like a monitor than a true TV.

The distinction I've seen with 1080p is calling it True or Full HD.

<comment><USER8> Maybe this is specific per country, but in the Netherlands 'HD Ready' always referred to 720 instead of 1080.

<comment><USER9> Actually, it referred to 768, as that was the number of lines that the cheap panels had. Which meant that even to display 720p content you had to scale it.

</comment></comment></comment></comment></comment></comment><comment><USER10> 4K is going to really not matter much for a while simply because the average computer doesn't have good enough graphics to make good use of it.

The resolution jump is huge and so you need a lot more GPU memory and processing power to do the same things at a higher resolution. Games are now really taking good advantage of 1080p, so we are another 5-10 years away from 4k being a real thing in terms of mainstream gaming.

Also, the average computer is not going to fare well in a 4k world. Sure, you might have videos on Netflix or some Blu-ray successor look nice in 4k, but good luck getting that to be a decent experience on the sub $500 laptop your parents just bought 2 years from now with a 15.6" 4k display with terrible viewing angles, a Celeron processor, integrated gfx, and a 5400 RPM 2TB Hard Drive...

High resolution is great, but as an industry we don't seem to be willing to upgrade the related components - memory, GPU, SSD unless it's on a mobile phone.

<comment><USER11> I think this makes it a perfect opportunity for Apple to swoop in with Retina- based iMacs. It plays right into their style of curating all the hardware components and support developers via their SDKs to create a beautiful 4k experience for end-users.

<comment><USER12> A 27" 4k touch-screen iMac would be perfect.

</comment></comment></comment><comment><USER13> The ASUS PB287Q, AOC U2868PQU and Samsung U28D590D all support UHD resolutions at 60Hz and DisplayPort 1.2 SST. That means that they support working with just "one tile", they don't give the problems the previous dual-tile solutions.

I don't really see the problem with these new monitors that are good enough for most people. Good price, the TN panels are quite decent (confirmed by reviews both at The Tech Report ([http://techreport.com/review/26510/4k-for-649-asus- pb287q-mo...](http://techreport.com/review/26510/4k-for-649-asus- pb287q-monitor-reviewed)) and KitGuru ([http://www.kitguru.net/peripherals/monitors/zardon/aoc-u2868...](http://www.kitguru.net/peripherals/monitors/zardon/aoc-u2868pqu-4k-uhd-28-inch- monitor-review/)).

Yes, you do need the best GPUs in order to take advantage of games in 4K. And yes, OS support is still incomplete. Anyway those trade offs are not that important if you are not a gamer and you can take advantage of that desktop area.

There's always good reasons for waiting. They could lead to never take advantage of improvements: you know, new improvements could be on the horizon when the ones you waited for finally arrive. And the story repeats itself...

<comment><USER14> I don't mind playing games in a lower resolution and letting it scale up to the monitor's res - I consider the stretching to 4K a form of "natural" (if sloppy) anti-aliasing.

<comment><USER15> Scaling is a problem on a lot of 4K monitors right now. IIRC the Dells will display everything at their native resolution - so a 1080p signal will sit as a box in the center of your screen surrounded by black.

There's a reason why the current batch of 4K monitors are considered immature. The lack of "real" (single-tile) input, the inability to handle 60Hz inputs, the inability to scale, etc etc. Looks like the _latest_ round of model updates solve some of these, but IMO it's not quite time yet.

<comment><USER16> I have the Asus PB287Q and it scales perfectly to 1080p (and does the 60Hz input, single-tile input), etc, etc. The only downside is the TN panel but it's much better than any TN panel I've ever used.

<comment><USER17> Please tell us more.

</comment></comment></comment></comment></comment><comment><USER18> On the one hand I can't wait for 4k and high PPI mode adaption. Retina Macbooks already show just how pretty it is.

But the whole thing doesn't seem ready yet outside the Mac ecosystem. I see lots of issues with 4k:

\- Going from 120 hz back to 60 hz, or even less. Seeing how they are struggling to get a 60hz monitor to the market, it's probably going to be a long time until we see 120 hz monitors.

\- Software adaption for high PPI modes is going to take time.

\- Games at 4k at 120 fps are going to be a problem for the GPU.

\- Movies are going to be the biggest bandwidth hog ever, or ridden with compression artifacts.

So I'm not terribly exited yet. I probably still going to end up being an early adapter and eat through all these issues, but I think I'll wait at least one more year.

<comment><USER19> The only reason makers are having an issue with hitting 60Hz is that people are still stupid and keep using hdmi and the monitor makers keep catering for them.

</comment></comment><comment><USER20> I absolutely love wirecutter. If they're not already making ends meet then I'd happily donate for this kind of honesty and quality reviews.

<comment><USER21> For those not familiar with The Wirecutter, is their concept "the best value- conscious buy"?

I was looking for a review for a MicroSD card to use with a Surface Pro convertible tablet I'm going to buy, and they didn't review 128GB or 64GB models, just 32GB and 16GB ones "because they're very expensive and most people don't need that much space on a microSD card". [http://thewirecutter.com/reviews/best-microsd- card/](http://thewirecutter.com/reviews/best-microsd-card/)

<comment><USER22> The idea is "best X for most people". They will occasionally recommend some higher-market stuff (IE $1600 for their recommended standing desk) but only when they feel the low-end stuff is junk. I've found them to be fairly reliable. When I've bought or already owned stuff they've recommended it generally has ranged from "decent value" to "great choice" Since they review a range of products for each thing and give tradeoffs its generally a great one- stop place to make decisions on things you don't want to spend a long time researching

</comment></comment></comment><comment><USER23> I didn't have trouble rationalizing my pre-order of this LG Ultra QHD (3440x1440) for $999. It's not 4K, but it's very competitive. [http://www.amazon.com/gp/product/B00JR6GCZA/ref=oh_details_o...](http://www.amazon.com/gp/product/B00JR6GCZA/ref=oh_details_o04_s00_i00?ie=UTF8&psc=1)

<comment><USER24> FYI, as of this morning it's available at a couple Frys Electronics locations (including Sunnyvale) [http://www.frys.com/product/8069024](http://www.frys.com/product/8069024)

</comment></comment><comment><USER25> I gave in and bought one of the Seiki 4K 39" displays for $330 over the weekend -- it's far from ideal, but it's $330. I'm sure I can resell it for >$200 when I get something better in a few months or a year, but it's an entirely serviceable monitor.

(The $330 deal was a $399 TigerDirect with a $70 MIR, free shipping, no CA tax. Ended Monday, but I'm sure it will return.)

<comment><USER26> I have one of those too, and for the price I've been very happy with it. My only real objection is the amount lag, but it's only really noticeable when web browsing, and even then it's just a little annoying at first.

In case you haven't already, make sure to turn the sharpness and noise cancellation down. It'll make it look a lot better. Also, if you look online, there are other firmware versions you can flash to speed it up.

<comment><USER27> i have one too. The problem I have with it is that its just too much screen real estate, horz and vertical together. I would have preferred one of those ultra wide monitors instead.

</comment></comment></comment><comment><USER28> I'd like to know if anyone is using a 4K monitor and their experience with it. I have an Apple thunderbolt display and I am ok with it.

I do not have a 4K. I use it with macbook pro 15" (retina display) and even though I do not get the same resolution, it does not look flaky at all and is decent enough for reading. Moreover, it connects with the pro using thunderbolt and thus does not require multiple connections for speakers, camera, mic and display.

<comment><USER29> I have the Sharp 4K monitor that Apple sells in its stores and it's incredible. I run it at retina resolution at 60hz (now possible on Mac OS 10.9.3+) with a Mac Pro and it looks amazing.

Very pricey, but in my experience, worth every dollar.

<comment><USER28> Is that an Apple monitor or someone else's? I am sorry, I've never seen a monitor apart from Thunderbolt display. Is that the one?

<comment><USER30> Sharp is a pretty big Japanese company. They rarely make own-brand consumer stuff for markets outside Japan though, which is why you haven't heard of them. [http://en.wikipedia.org/wiki/Sharp_Corporation](http://en.wikipedia.org/wiki/Sharp_Corporation)

</comment></comment></comment></comment><comment><USER31> Has anyone tried the 39" Seiki on a Mac? At $389 seems like an easier purchase. Plus it doubles as a TV.

[http://www.newegg.com/Product/Product.aspx?Item=N82E16889522...](http://www.newegg.com/Product/Product.aspx?Item=N82E16889522025)

<comment><USER32> Two people at work have them. I found it just slightly too small when watching them use a 4x 1920x1080 setup with DiplsayFusion.

I decided to try a 50" TCL 4k display. I find I don't mind the 30Hz refresh rate as I don't game on it. However I do find it just a tad too big.

I believe the sweet spot is somewhere around 44" or 45" for 4k-tv-as-a-monitor but absolutely no one is making one in that range. And if I could just get that curved, I think it would be perfect.

</comment></comment><comment><USER33> By all means wait, but as a programmer, I've found the Samsung 28" UHD monitor terrific. I can get a huge amount of crisp text on the screen at once, and the color accuracy is Good Enough For Me. I have not seen any issues driving the display over DisplayPort 1.2 @ 60Hz - BiOS etc all works fine.

</comment><comment><USER34> Has anyone tried any of the 4k (or Ultra High Definition) displays with Ubuntu? I'd be interested to know what the results are..

</comment><comment><USER35> I hate staring at a blurry/pixelated monitor more than I dislike the viewing angle of this TN panel. The white balance and viewing angle are the problem here - the colours are pretty good, almost as rich as this Retina Macbook. I have the Samsung UD590.

For coding it's perfect really and I've had no problems using display port at 60hz.

</comment><comment><USER36> I agree with their comments on the Dell U2713HM, I've had one for about a year now and it's very good.

<comment><USER37> Indeed, it has just the right pixel density. A 24" 4k display needs DPI scaling to be usable, thus reducing the "screen estate" advantage and >30" 4k displays aren't yet available with all the necessary features.

</comment></comment><comment><USER38> 144hz or bust. No way I'm going back to 60hz.

Quad link DVI is the future.

<comment><USER4> Is there a noticeable difference between 60hz and 144hz for things like reading text and programming? How much?

<comment><USER38> No; Yes; Not much.

</comment></comment></comment><comment><USER39> "30 fps flicker" \- that's not a CRT, it doesn't _flicker_ , because unlike CRTs, a flat display doesn't have a ray refreshing the display top to bottom.

And 30 fps on a CRT wouldn't be enough to produce stable image in the retina at all, which is why CRT TVs used to refresh at a minimum of 50Hz, and that still flickers (it stops "flickering" at around 75Hz).

With flat displays frame rate is about display responsiveness and animation detail.

So I wonder where are the claims about eye-strain coming from. Maybe because people just want better display responsiveness and they like to borrow from the problems low refresh CRTs used to cause, because it sounds scientific and legit as a problem.

<comment><USER40> Persistence of vision depends on the ambient brightness. Movies are 24FPS but they're shown in a dark room so the jitter isn't as bad.

A 30FPS screen in similar conditions wouldn't be as bad, but most people use computer screens in well it rooms.

The flickering on an LCD is different, but presents itself as a serious sputtering when you're moving things around.

<comment> mark-r Film is projected with a shutter operating at twice the frame rate or better, to minimize flicker. It would be unwatchable otherwise. See [http://en.wikipedia.org/wiki/Movie_projector#Shutter](http://en.wikipedia.org/wiki/Movie_projector#Shutter)</comment></comment></comment>


Disney's Rebecca Campbell Caps Remarkable Rise from Stations to Top Role - <AUTHOR> https://deadline.com/2020/05/disney-rebecca-campbell-caps-off-rise-from-stations-to-top-streaming-role-1202937594/ <comment><USER2> But how does this compare to Rx?</comment>


Matt Taibi: The Scam Wall Street Learned From the Mafia - <AUTHOR> http://www.rollingstone.com/politics/news/the-scam-wall-street-learned-from-the-mafia-20120620

<comment><USER2> I think i can thank Matt Taibi for both making me easily recognize and completely turning me off of hyperbole.

Thanks Matt.. now i actually kinda feel like an adult now.

<comment><USER3> I know how you feel. I always enjoy his stories. I just feel that I'd enjoy them more if someone else wrote that.

<comment><USER4> It is the Rolling Stone National Affairs Desk, essentially Taibi fills the Gonzo void. Someone has to do it to sell those cologne scented pages.</comment></comment></comment>


Are you a sad Entrepreneur? - <AUTHOR> http://www.gemnicholls.com/2012/03/sad-entrepreneur.html

<comment><USER2> This is a sad read.

<comment><AUTHOR> I'm not sure anyone can make depression a fun topic, unfortunately.</comment></comment>


Popularity of MySQL and Oracle is decreasing sharply - <AUTHOR> http://www.google.com/trends/explore?q=mysql+#q=mysql%2C%20oracle&cmpt=q

<comment><USER2> It's not just MySQL and Oracle, you'll see similar curves for "Database" and "SQL".

</comment><comment><USER3> Anyone can guess/know why?

<comment><USER4> Probably because Oracle started advertising in movies.

Nothing makes me a hate a company more then when they ruin a perfectly good movie.

Or maybe it's because you would have to be high on cocaine to think Oracles prices for anything are reasonable or worth it.</comment></comment>


DOJ dismisses Apple's arguments against decrypting iOS communications - <AUTHOR> http://www.dailydot.com/politics/apple-ios-encryption-unlocking-doj-reply/ <comment><USER2> > Federal courts should require Apple to unlock encrypted data because the > operating system is "licensed, not sold," to customers, the Justice > Department argued in a reply brief in the U.S. District Court for the > Eastern District of New York.

> "But that is only the beginning of Apple's relationship to the phone and to > this matter. Apple wrote and owns the software that runs the phone, and this > software is thwarting the execution of the warrant."

I kinda like that argument. Later it is somewhat admitting that who owns the DRM keys owns the device. The whole licence not sale scam could backfire in unexpected ways. I would love more clashes like that so we get real ownership of a copy of software or hardware that we bought in the end. Obviously the process of walling a garden could generate some troubles for the wallers.</comment>


Philosophy and Lisp - <AUTHOR> http://jng.imagine27.com/articles/2011-01-08-140227_philosophy.html

<comment><USER2> Edit: I'm not sure if the one who posted this is the author of the post, but this is directed at the author.

It seems to be a nice idea to connect philosophy to Lisp, but it is too short, it lacks coherent arguments and it jumps from one proposition to another without finishing the previous one.

For example, when you explain what you think philosophy is, you cannot simply cast aside everything after Socrates as irrational absolutism (Descartes' "evil demon" certainly is not irrational.) You need to explain why you think it is irrational.

Also, where is your evidence for claims such as "It would follow that the greater the fidelity a programming language has to these mathematical concepts and the more it builds upon them then the more powerful the programming language will be." and "History provides the evidence in that there is no other programming language that has done this better than Lisp."

Also, "Sound philosophy demanded that these mathematical concepts be tested by evidence, logic and rigor from some very basic premises that were built up to more complex and powerful structures of thought which were proved to be true. " So how did one prove these structures of thought to be true?

<comment><USER3> > Also, "Sound philosophy demanded that these mathematical concepts be tested > by evidence, logic and rigor from some very basic premises that were built > up to more complex and powerful structures of thought which were proved to > be true. " So how did one prove these structures of thought to be true?

There is some excellent essays answering the points you raise here in some of the Less Wrong sequences. Rather then butcher them here I will just point you to the "Map and Territory" sequence going into the subject "What is truth?", "Can we determine truth?", etc. the essays are here: <http://wiki.lesswrong.com/wiki/Map_and_Territory_(sequence)>

</comment></comment><comment><USER4> "It is NOT the charlatan 'philosophy' of mysticism, positivism, relativism, perspectivism, nihilism and altruism of Plato, Marx, Imannuel Kant, Kierkegaard, Hegel and so many others whose theories have tragically played out in human history ..."

To the author : you could learn a thing or too about structured thought and clear exposition from these people.

<comment><USER5> Not only that. Promoting Sokrates and defying Plato, doing away with Kant while praising the rise of enlightenment is, too say the least, amusing.

I already feel irritated with the apparent need of the companies to describe themselves as having a "philosophy" (read: 2 points which distinguish them from their competitors), but this rambling is different, though not better.

To enjoy your lunchtime, i suggest though you read through until you find that Lisp is a language with moral baked right in. Bless JMC.

Signal vs. noise => Low.

</comment></comment><comment><USER6> I don't even know where to start with this because there are so many things I would like to respond to and I don't really have the time right now, but I at least want to point out one point that really bothered me:

"This is the classical philosophy of Aristotle and Socrates which is rational absolutism. It is NOT the charlatan 'philosophy' of mysticism, positivism, relativism, perspectivism, nihilism and altruism of Plato, Marx, Imannuel [sic] Kant, Kierkegaard, Hegel and so many others..."

First, it's simply not possible to make a clear distinction between the philosophy of Socrates and the philosophy of Plato, as Socrates never wrote anything himself and all we know of him is through Plato's writings. Even using Plato's writings it is impossible to truly discern what the philosophical differences between Plato and Socrates were exactly, as we only have access to Plato's Socrates.

Also trying to separate Aristotle's writings from a more "religious" tradition is a pretty ironic mistake. Aristotle's biggest contribution to modern society probably comes through his influence on the early Catholic church. In fact, the prevailing Aristotelian worldview of the Catholic church during the middle ages is exactly what was called into question by the Renaissance and Enlightenment thinkers when it was replaced with more rational and humanist philosophies, like those of Immanuel Kant (who is also on the "wrong" side of the author's dichotomy despite probably being the most in line with what the author is trying to espouse.)

I've probably over-generalized myself in the last few paragraphs as I am not an expert on the history of Philosophy and I wrote this quickly, but I at least wanted to point out some obvious inaccuracies in the author's portrayal of that history so nobody gets the wrong idea.

</comment><comment><USER7> Eh. Lisp is just a self-interpreting abstract syntax tree. It's a nice party trick but not really that big of a deal.

//slaps self

Sorry, forgot where I was for a minute. Lisp is the best language ever!!! Anyone that doesn't agree obviously doesn't understand it!!! Only 1% of all projects are in Lisp because only the top 1% of programmers are worthy of it!

Relevant::

<http://www.dilbert.com/2011-01-09/>

</comment><comment><USER8> I love philosophy but for me Lisp is just yet another programming language. (I don't even know what is the definition of Lisp, as there are lots of Lisps. Is it that there is no syntax but the programmer should type in the AST as it is using parentheses?)

I agree that philosophical and mathematical thinking is very helpful for a programmer. Especially mathematical thinking: those guys have found out some very mature thoughts throughout the centuries. But they can also be used in other languages than Lisp.

Also I want to point out that it is not necessarily true that functional languages are based on mathematics and imperative ones not.

Von Neumann was one of the greatest mathematicians of the 20th century and in my opinion his 'fully imperative' invention, the Neumann Architecture is as beautiful an idea both mathematically both philosophically as the Lambda Calculus.

</comment><comment><USER9> what a load of BS</comment>


Ask HN: Do the new tax laws cause you to change your corporation type? - <AUTHOR> For LLC owners, do the new tax laws make sense for you to change to a C Corp?  Especially in CA, where there is an $800 LLC fee? <comment><USER2> In California, even for C corp, there is a 700-800 franchise fee...

<comment><AUTHOR> Whoops, but it looks like the $800 can be waived the first year and count towards income tax.</comment></comment>