Apple upgrades MacBook Pro line with faster processors, gfx cards, more storage - <AUTHOR> http://thisismynext.com/2011/10/24/macbook-pro-specs-update-october-2011/ <comment><USER2> I'm never buying a computer that lacks an SSD again. SSDs make launching programs instantaneous, compiling code much faster, and rebooting and/or switching user accounts painless. These things save me so much cumulative time, and when I touch a computer without an SSD it's a shock to the system.

<comment><USER3> I get the feeling Apple knows and uses extremely SSD upgrades to drive higher checkout prices with artificially depressed advertised prices. (Yes, I am bitter that my old MBP is not user upgradeable. I understand that the newer ones are, though.)

<comment><USER4> There are guides at <http://www.ifixit.com/>

You can look through the steps it would take to see if your comfortable doing it yourself.

I have done many repairs on my MBP and they were pretty easy. just required patience.

<comment><USER5> If one were to get a MBP with the standard Serial ATA Drive, could it later be replaced with SSD? I've never seen an SSD drive, I'm wondering if the conector is the same as Serial ATA?

I'm thinking I might just get the standard drive and upgrade it aftermarket.

<comment><USER6> I've done this with the two MBP's we have at our house. It was very simple (around 8 screws). Just make sure you have a tiny screwdriver set (like those used for glasses). You can usually search for macbook screwdriver and find ones that work for <$10

</comment></comment></comment></comment></comment><comment><USER7> I find 1280x800 for 13'' and 1440x900 for 15'' pathetic. I have a 15'' ThinkPad R60 with 2048x1536, yes, you read that right.

But today not even ThinkPad screens have a good resolution, X220 has a 1366x768 screen. I had a better screen resolution in 1995.

I like MacBooks and ThinkPads from a hardware perspective but I won't buy a new one until they start using higher resolution screens.

<comment><USER8> OS X doesn't have resolution independence. That's why the resolution is what it is.

Apple tried (for years) and it was working – more or less – but with Lion they just dropped that. What they have now is a HiDPI mode which quadruples the size of UI elements. It's not yet completely done (some bitmaps still have to be updated). They are following the lead of iOS in that respect.

What this hints at is a 2880×1800 screen in some future 15" MBP. To figure out when a MBP like that will arrive you only have to find out when it becomes feasible to sell it for around $2000 (while also keeping the performance and battery life at least constant).

I'm not sure whether it's currently even possible to buy 2880×1800 panels for any price, not sure where screen technology is standing in that respect. By the way, a 2880×1800 15" panel merely (well …) has 230 PPI. Apple couldn't even call it a Retina display.

<comment><USER9> You must have absolutely amazing eyesight. 2800x1800 is entirely too many pixels on a 15" screen. I could see a resolution that extreme on a 27" iMac, or possibly even a 21.5" iMac, but on a 15" screen, no way.

Resolution for resolution's sake is pointless if its not useable.

<comment><USER10> This is the point of resolution independence. Increasing resolution only shrinks graphical elements if the operating system isn't smart enough to render them using more pixels. With good resolution independence moving a higher resolution screen will make everything look sharper (higher pixel density) but not significantly smaller (same physical size).

Compare the screen on the iPhone 4 to the iPhone 3G. Graphical elements are the same size on both but the iPhone 4 has twice the resolution.

</comment></comment></comment></comment><comment><USER11> It seems that you still can't get a gaming-worth MacBook (upper model discrete GPU) for less than 2500 bucks when spec'd appropriately. A PC-based laptop with Core i5 and AMD HD6630M (also used in the upper model Mac Mini) goes for $950 and is smaller/lighter than the 13" MBP, or $850 with a GT 540 and similar size/weight.

<comment><USER12> I noticed that you can't get a reasonable graphics card in the 13" model anymore. That was actually a feature that helped convince me to switch back -- I wanted a portable laptop with some gaming options. Intel HD Graphics 3000 doesn't really cut it.

Ah, well. It may well return in a future model.

<comment><USER13> Yeah, I got the mid-2009 13-inch MBP, with the NVIDIA Graphics. Still waiting on newer 13-inch MBPs with NVIDIAs / ATIs, though. Very sad they decided to switch back to Intel... :/

<comment><USER14> _Still waiting on newer 13-inch MBPs with NVIDIAs / ATIs_

Those are probably never going to come; there physically isn't room.

</comment></comment></comment></comment><comment><USER15> I am optimistically holding out for a 15" Macbook Air with 8GB RAM. Failing that within the next 6-9 months, my next Macbook will be the 13" Air

<comment><USER16> Same here... 15" MBA is what I've been waiting for for a long time. I'm on 2nd generation 15" MBPro, which can die any day now. Not sure why this is not considered a priority for Apple, since it would be a perfect work machine (13" is just too small).

</comment></comment><comment><USER17> I went to see if I could load one up with more than 8GB of memory, and alas, one still cannot get this for any amount of money.

I may be the fringe, but a 16GB MBP would be very hard to beat.

<comment><USER18> You can get 16GB upgrades from OWC... And as a related point maxing out memory directly from Apple has always been more expensive.

<comment><USER17> You're right, but the OWC upgrade is fairly pricey at $629.

I was thinking that if Apple supported it right from the store, it would drive down third party prices?

<comment><USER19> The 4GB DIMMs were stupidly expensive about a year and a half ago, but they're stupidly cheap now. Give it a year and they'll be $80 each, not $310. There's just not much demand for them yet.

</comment></comment></comment></comment><comment><USER20> Just got a 15" MBP, 8GB memory, 500GB 7200 RPM disk, with a Thunderbolt display. What a nice setup. I'm upgrading from a 2007 MBP that died, and the new machine is _so_ much faster. I would have preferred a redesign without the optical drive but that's a minor complaint.

<comment><USER21> "I would have preferred a redesign without the optical drive but that's a minor complaint."

Thankfully there are ways you can install an extra HD drive bay in your MBP replacing the optical drive.

But most people believe that the big redesign next year will not only include Ivy Bridge and a new form factor but also the removal of the optical drive.

<comment><USER22> "also the removal of the optical drive" That will make me very, very,...very happy! I hate the idea that I have a thing in my Mac that I don't use and adds extra weight and complexity to the design :|. That will be my main reason to upgrade my 2010 15" hi-res anti-glare Macbook Pro.

(I'm sticking with the Pro line because it has a 15" screen, bellow that I don't like).

</comment></comment></comment><comment><USER23> Was hoping they might have taken the chance to drop the price in the UK to bring it more in line with the US price (a bit above the US price due to VAT of course). Without that change I refuse to buy one.

<comment><USER24> AFIK, their prices are pretty standard across the world excluding import tariffs, sales taxes and other state-imposed costs. I live in China, where imports are taxed heavily and as a result Apple computers cost nearly 25% more than in the US. In Hong Kong, however, there are no such import taxes and the prices are the same as in the US.

I sincerely doubt Apple is the culprit here.

<comment><USER23> I havent' done the math recently but even if you assume no sales tax in the US and factor in the 20% VAT in the UK the difference is still large.

In fact lets do it quickly for an Air. In US its $1600 which is pretty much £1000. UK is £1349. US won't have sales tax whilst VAT is 20%, so thats part of the difference but there's an additional £150 overhead. It varies between products and has been documented online before. Other companies do it but I find it pretty blatant with apple products and so tend to avoid their computers.

</comment></comment></comment><comment><USER25> So that's why I was able to pickup a 13" for $999 a couple weeks ago. I figured an update was in order, but I don't really care that much about a modest CPU bump.

</comment><comment><USER26> Any ideas on when we are going to get MacBook Pros that are Air-like skinny and have incredible battery life?

<comment><USER27> Well, you could buy a MacBook Air. Actually, I'd like to see an external GPU over Thunderbolt possibly built into the next line of cinema displays, which would remove the need for the GPU in the Pro line.

<comment><USER28> Is the Thunderbolt bandwidth sufficient to run a modern GPU? AFAIK you'd only have one 10 gbit/s lane to use for it, and modern PCIe video cards use a lot more than that connecting directly to mainboards over multiple PCIe lanes...

<comment><USER29> Yes. Thunderbolt bandwidth falls between a PCI-E 2.0 1x slot and 4x slot.

Tests that have been done comparing the performance of relatively high end desktop cards on 1x, 4x, 8x and 16x slots have established that while there is a performance penalty, such a solution would still out perform most mobile GPUs.

[http://www.techpowerup.com/reviews/AMD/HD_5870_PCI- Express_S...](http://www.techpowerup.com/reviews/AMD/HD_5870_PCI- Express_Scaling/25.html)

[http://www.techpowerup.com/reviews/NVIDIA/GTX_480_PCI- Expres...](http://www.techpowerup.com/reviews/NVIDIA/GTX_480_PCI- Express_Scaling/24.html)</comment></comment></comment></comment>


How To Marry The Right Girl: A Mathematical Solution - <AUTHOR> http://www.npr.org/blogs/krulwich/2014/05/15/312537965/how-to-marry-the-right-girl-a-mathematical-solution <comment><USER3> _... the best way to proceed is to interview (or date) the first 36.8 percent of the candidates. Don 't hire (or marry) any of them, but as soon as you meet a candidate who's better than the best of that first group — that's the one you choose! Yes, the Very Best Candidate might show up in that first 36.8 percent — in which case you'll be stuck with second best, but still, if you like favorable odds, this is the best way to go._

Maybe I haven't had enough coffee this morning. Can someone explain how you would get second best in this case? Wouldn't you never meet a candidate better than the best of that first group and exhaust the rest of the candidates?

<comment><USER4> Imagine you had 11 candidates like he described, and you interviewed them in random orders. For ease, we will describe them by number, which will also equate to their "goodness" by arbitrary criteria (known to the interviewer only).

One of the worst possible cases would be that you interview them like:

1 2 3 4 5 6 7 8 9 10 11

In this case, you would see them decreasing in "goodness" without ever increasing. You would get to 11 and be stuck with the crappiest whatever possible.

In the average version though, you might get something like:

7 3 4 6 5 8 11 1 10 9 2

Using their strategy, you would check the first 4 candidates (7 3 4 6) and then you would stop when you hit better than max(7 3 4 6) = (3), which in this case would equate to finding (1) at the 8th position.

 _You are correct_ that if the best is in the first block it screws everything up. In the specific version you mention, a possible arrangement that triggers could be:

3 9 8 1 5 10 2 6 4 7 11

You would interview the first set with a best of (1). All the rest would then not compare, and you would get (11).

<comment><USER5> (FYI, the scale used in parent's is 1 is best, 11 is worst. Confused me for a bit.)

[Edit - Ignore me. I guess you can't recall rejected candidates.] In your final example though, because you had now interviewed all the candidates, you could go back and offer jobs to the best candidates. The point of interviewing four and then interviewing until you find a better one is that it should keep you from wasting time interviewing the whole list. If you end up doing that anyway, you know who the best was and can hire them.

</comment></comment></comment><comment><USER6> Immediately reminded me of this:

A store has just opened in New York City that offered free husbands. When women go to choose a husband, they have to follow the instructions at the entrance:

"You may visit this store ONLY ONCE! There are 6 floors to choose from. You may choose any item from a particular floor, or may choose to go up to the next floor, but you CANNOT go back down except to exit the building!

So, a woman goes to the store to find a husband. On the 1st floor the sign on the door reads: Floor 1 - These men Have Jobs

The 2nd floor sign reads: Floor 2 - These men Have Jobs and Love Kids.

The 3rd floor sign reads: Floor 3 - These men Have Jobs, Love Kids and are extremely Good Looking.

"Wow," she thinks, but feels compelled to keep going. She goes to the 4th floor and sign reads: Floor 4 - These men Have Jobs, Love Kids, are Drop-dead Good Looking and Help With Housework.

"Oh, mercy me!" she exclaims. "I can hardly stand it!" Still, she goes to the 5th floor and sign reads: Floor 5 - These men Have Jobs, Love Kids, are Drop- dead Gorgeous, help with Housework and Have a Strong Romantic Streak.

She is so tempted to stay, but she goes to the 6th floor and the Sign reads: Floor 6 - You are visitor 71,456,012 to this floor. There are no men on this floor. This floor exists solely as proof that you are impossible to please. Thank you for shopping at the Husband Store.

</comment><comment><USER7> I married the first girl I dated because I waited to date someone I was truly attracted to, that I felt was my mental equal and who could hold a real discussion (plus she's beautiful). We've now been married 27 years ... I hope it's not a fluke!

<comment><USER8> I've noticed a trend with computer people who married the first person they dated and the marriage being very successful (in terms of longevity at least). I haven't quite figured out why that is but I would say the vast majority of my software engineering friends are like this.

I've been told by women who are in my other circle of friends that they wouldn't want that because then they feel like they aren't the first choice but whatever the guy can get. But then I think about the marriages that have resulted and how happy those people are. Sometimes I wonder if people over think these things.

Forget the Kepler strategy. Forget getting the "best", if there is such a thing. If you click with the other person and both people care for and are kind to each other, then go for it and enjoy love and life.

<comment> muuh-gnu > married the first person they dated

> the marriage being very successful

> I haven't quite figured out why that is

It is not about software engineers, it is a general correlation to the "numbers" of pre-marital dates.

The lower the number of partners before marriage, the more likely is the marriage to succeed:

> [http://socialpathology.blogspot.com/2010/09/sexual- > partner-d...](http://socialpathology.blogspot.com/2010/09/sexual-partner- > divorce-risk.html)

<comment><USER9> Isn't this data very skewed by the fact that not believing in cohabitation and not believing in divorce are highly correlated? This group includes lots of marriages that I wouldn't consider good outcomes even though they don't end in divorce.

<comment><USER10> > The most salient finding from this analysis is that women whose intimate > premarital relationships are limited to their husbands—either premarital sex > alone or premarital cohabitation—do not experience an increased risk of > divorce. It is only women who have more than one intimate premarital > relationship who have an elevated risk of marital disruption.

As far as I can see this suggests that believing in cohabitation is not a strong factor when it comes to divorce.

</comment></comment></comment></comment></comment><comment><USER11> The 38% sample allows you to build a model of the population distribution based on which you take your decision.

But this does not mean you have to do this EVERY time. Say you have done a round on interviews before and you are tasked with interviewing for a new position: you might hire the first person you speak with because you know the population model, and they are high up with respect to that.

In common parlance, this is called "being experienced"

<comment><USER12> This isn't literally about selecting wives.

<comment><USER13> In that case the term is "divorced".

</comment></comment></comment><comment><USER14> For those who are interested, this is a nice write-up: _Knowing when to stop_ [1]

[1]:[http://www.americanscientist.org/issues/id.5783,y.2009,no.2,...](http://www.americanscientist.org/issues/id.5783,y.2009,no.2,content.true,page.1,css.print/issue.aspx)

<comment><USER15> _Thank you_. This is a much better article since it actually lays out and explains the reasoning behind the solution, as opposed to blandly stating "it has something to do with _e_ " and padding up the rest of the note with grotesque drawings and minutiae.

(Also I appreciate what seems to me the less stridently gendered tone of the American Scientist article. Just a personal and subjective opinion though, so please be tolerant and try not jump on the hate.)

</comment></comment><comment><USER16> This formula is great for "good enough" problems. The way I use it is to mark the first thing that is good enough, but then keep looking for something that is better than that, then stop. Works great for apartments, books and ice cream.

The key is to realize time and effort is finite, and that you can always keep on looking if you don't have a stopping point.

<comment><USER17> Also, a normal distribution would help, so you don't encounter values way off that would skew the results.

</comment></comment><comment><USER18> This is great; however, I don't quite understand how you can 'be stuck with' (i.e. choose) the _second-best_ option if the _very-best_ occurs in the first 37%... Surely you wouldn't be able to realise/decide that there is no one better than the best from the first group, if that is the case, until the end — by which point it's too late?

Am I missing something? Surely...

<comment><USER19> If you follow the rules of the equation, if you get to the end, you're marrying the last person you dated.

However, as noted in the article and by yourself, real life is never so constricting as only allowing you one chance at any particular person.

On the other hand, once you've passed on someone, there's nothing to guarantee that you'll be able to go back (they could be engaged, have moved away, hate your guts for evaluating mates by a mathematical formula, etc).

<comment><USER20> Hating your guts is so often a dealbreaker in relationships :(

<comment><USER21> Have you ever dated/married Indian, Catholic, or in more conservative groups?

<comment><USER20> So _that 's_ how you can make someone love you!

<comment><USER21> What does love have to do with marriage?

</comment></comment></comment></comment></comment></comment><comment><USER22> Forget about finding the right girl only. You also need to pay as much attention to her family and HER mother. Your wife will very much likely turn out the way her mother did, in terms of how well she keeps the home in order, raise kids, and AGE as time goes on.

IMHO, it's remarkable how a girl ages the way her mother aged. And some age well while other don't (both in physical/emotional).

So, don't get hung up with the girl only. Think about her family in your 'equation' too.

<comment><USER23> > Your wife will very much likely turn out the way her mother did, in terms of > how well she keeps the home in order, raise kids, and AGE as time goes on. > IMHO, it's remarkable how a girl ages the way her mother aged.

IMHO, it's remarkable how your primary measures of a woman's worth are housework, childbearing, and physical beauty.

<comment><USER24> A woman's worth as a human being and her suitability to marry some particular man are two different things. Most men want attractive wives who are good mothers, just as many women want attractive husbands who are good fathers.

<comment><USER25> moreover, those attributes can serve as proxy measures for others.

My mother-in-law's skill and dedication in keeping house is reflected in my wife's skill and dedication in writing clean code.

</comment></comment></comment></comment><comment><USER26> I've always wondered if this is a sensible way to buy shares. Say I wanted to buy Google shares in the next 30 days. I could monitor the price for the first 36.8%, and then choose the best price in the remainder. Does that make sense as a strategy?

<comment><USER27> No. This method assumes normally distributed potential wives. If a stock was normally distributed (i.e. has volatility) around a stable average, then yes, you could do that - but so can thousands of automated trading algorithms.

<comment><USER28> No, it doesn't assume that at all. It just assumes that they are i.i.d. (so all permutations of ranks are equally likely). Still probably not a good model of stock prices (which presumably are correlated more with the previous day than ten days ago)

</comment></comment></comment><comment><USER29> The OP makes the rookie mistake of confusing the Marriage Problem and the Secretary Problem. The Marriage Problem is the famous article by Gayle & Shapely (1964), on optimal matching (two-sided), and is the basis for The Match, used to place medical residents into hospitals. The Secretary Problem is a problem of optimal choice (one-sided).

As an aside, the best thing about the Marriage Problem is that it shows that it is much, much better to be the side making invitations instead of the side awaiting invitations. So being a guy is a pain in (generally) having to invite the woman, but that power translates into guys tending higher in their ultimate stable matching range than women. (Surprise! Hospitals make invitations to residents, not the other way around.)

</comment><comment><USER30> Meticulously detailed account of Kepler's bride computing process can be found in his letter to unknown nobleman (dated from Linz, 23 October 1613). I've read just fragments of it from "The Sleepwalkers: A History of Man's Changing Vision of the Universe", the book by Arthur Koestler.

Introductory paragraph (p. 399): "Kepler's first marriage had been engineered by his well wishers when he was penniless young teacher. Before his second marriage, friends and go-betweens again played a prominent part, but this time Kepler had to choose between no less than 11 candidates for his hand...".

What follows could hardly IMHO put in any proper mathematical formula. In the best case it has to be modeled by some stochastic process with exponentially increasing number of random variables.

Anyways, the book is more important than that and I cannot recommend it enough. There is nothing else to my knowledge that so convincingly describes how process of scientific discovery can be arbitrary, fragile and random. The mentioned 'choosing ideal bride' episode is merely anecdotal chapter in the book that better explains Kepler's role and importance in the history of science.

</comment><comment><USER31> Interestingly enough, this is a topic that has been studied in behavioral economics, where the described strategy is known as "satisficing" (as opposed to "maximizing"). The model assumes that when humans try to make choices, rather than trying to pick the "best" choice (the choice with the maximum benefit), they attempt to find the first choice which meets or exceeds an internally set "threshold" benefit and pick it. The relative optimality of the two strategies has not been conclusively decided on, but "satisficing" generally appears to be more in line with how humans naturally behave based on experiments. The details have been given in a paper by Caplin, Dean, Martin [1]

[1] [http://www.econ.brown.edu/fac/mark_dean/Pub_Paper_6.pdf](http://www.econ.brown.edu/fac/mark_dean/Pub_Paper_6.pdf)

</comment><comment><USER32> I like this article, and I love Krulwich & Radiolab. Its a lesson in statistics and not in marriage though, just in case you weren't sure. So just for fun, my inner monologue while reading...

Now that's love. "Honey, you were better than the 37% of women I was going to try. It is statistically likely that you're probably the best, or at least second best, of all my immediately available options. Will you marry me?"

I'm somewhat amused that the conclusion is to date (sample) for a while, then start getting serious once you get an idea of what you want. Sounds a lot like what everyone does already, at least the ones whose marriages aren't arranged for them.

Kepler got what he wanted and sampled 100% of his options. He didn't get a statistically likely "Right Girl", he got "The Right Girl", and he never wondered whether or not he got the best one.

</comment><comment><USER33> I'm surprised that utility doesn't come in here anywhere. Imagine a bimodal distribution, one set of matches that you hate, and a much smaller set of matches that you love. Why try to wait for the best after the first 1/e? Why not just pair off with someone that is 99% as good as #1?

<comment><USER34> Sadly, correct answers are too complicated to be fluff blog posts.

</comment></comment><comment><USER12> _it does give you a 36.8 percent chance_

My understanding is that this also give you 36.8% of not finding a wife at all because the best one is in the learning set. So 36.8% chance of success (picking the best one), 36.8% chance of no wife and 26.4% chance of picking the wrong one. I suppose there are different algorithms for different types of bachelors. Bachelors working under marry-or-lo-your-inheritance conditions are better off using different algorithms.

Using this method on a population of 100 prospective wives, what are the probabilities that: (1) you will pick the best wife (2) you will pick a wife in the top 3.

Thinking of this problem and eating a fun-blog level understanding of them is one of those things that give you "mental thinking models" of the Charlie Munger kind. Very useful.

EDIT: clarity

<comment><USER35> For endless sample groups there is no chance of failure - there are always more individuals in every category including 'better than the first set of samples'.

Also - I met my wife and continued to date but returned to her, because obviously it would have been futile to try to beat what she had going on. So you don't have to be a slave to the algorithm.

<comment><USER12> You must ask her immediately or she won't marry you.

</comment></comment></comment><comment><USER36> For most "computer guys" the real question is "how to be the guy worth marrying."

</comment><comment><USER37> This solution only applies if you have a finite number of secretaries that is known at the start to interview. Anything else and the equations get freaky. You can also add probability distributions for how many interviewies you expect.

</comment><comment><USER38> The title is link bait and inaccurate. It's not about "how to marry the right girl". It's about "how to marry the right girl, given an unrealistic set of constraints".

</comment><comment><USER39> Another version of this is "the last torpedo problem": A submarine with only one torpedo left is hiding in a cave. In front of it an enemy convoy is passing. The number of ships in the convoy is known in advance, but not the individual ships, and through the opening of the cave the submarine can see only one ship passing each time. So the question is how to decide in which ship to fire its last, unique torpedo?

</comment><comment><USER40> This doesn't work in the event higher quality participants are pairing off earlier (i.e., attractive partners get committed earlier in their lives) or in the event attractiveness isn't life static. The Secretary Problem provides a lot of great insight, but you need to be very careful applying stylized stories to real problems.

</comment><comment><USER41> this also assumes every candidate is fully willing to accept the offer. what if your first best candidate accepted the offer but was in the 36%. Then the 2nd best candidate after 36% rejected the offer, leaving you with potentially a bad choice in candidates. This seems highly probable too...

If everyone did this, you have to assume the other candidate is doing the same, thus your choice after 36% may end with you being insider their 36% bracket. This works only at a selfish scale and dubious at best.

This only really works for a gameshow situation. You have 20 boxes with money inside. You don't know what is the minimum or maximum amount, you get to look at a box and determine yes/no. So you do the 36%. Then the very next box that is close enough or above the maximum of the first 36% is what you chose.

</comment><comment><USER42> A bayesian approach. If you know what you real aspirations are act according to it, if you haven't the fanciest idea then use the first 25% as a sample and from that sample estimate the mean and the variance, make a chi-square test to see if the population is normal, now you can compute and estimate for the probability of finding a candidate in the rest of the sample according to your valuation. The length of this interval is related to the risk of your election. If you are not very picky you have a long interval and a high probability to succeed, if you put high stakes then you can get the best girl for you, but you are risking to live alone or to miss good opportunities. (Sorry for the English).

<comment><USER42> I must apologize because I didn't read the post, but I know that the reasoning is based in permutations and here is the flaw in the argument. Anyone of us could rapidly recognize that a girl is wonderful and without second thoughts promise her eternal love, this kind of knowledge is not encoded in the permutation of numbers. Bayesian reasoning give you this advice: use your knowledge girls are not numbers.

<comment><USER42> My last comment. Just suppose that you know there is one or more girls that are wonderful for you but you also know that there are a lot that are no way for you. In my case I should without second thoughts get the first wonderful girl. I am risk averse and I don't want to miss this one in a life opportunity. This reasoning takes into account the kind of people you are.

</comment></comment></comment><comment><USER43> I wrote a blog article about this (contains a bit more math) [http://www.datagenetics.com/blog/december32012/index.html](http://www.datagenetics.com/blog/december32012/index.html)

A slightly different variant, is how to make it totally random selection [http://www.datagenetics.com/blog/june52013/index.html](http://www.datagenetics.com/blog/june52013/index.html)

</comment><comment><USER44> Couldn't this be applied to startup ideas? Say you have savings to last you 12 months. Try one startup idea (/MVP) every month for 12/e = 4 months. Then keep going producing 1 MVP per month until you find one that looks more promising than the best of the first four. If the article is right then with a probability of 36.8% you will have found the best idea with some time to spare in your 12 months to make some money with it. No?

<comment><USER45> No, because you can go back to a better idea anytime you want to do so. If you estimated that you have 12 months of savings and that it takes you a month to build an MVP and six months to take an MVP to ramen profit, you should spend the first six months building six MVPs, then evaluate them and pick the best to work on for another six months.

<comment><USER44> Ah yes, of course.

</comment></comment></comment><comment><USER46> Optimal stopping theory can be applied to many things where you need to make a decision without full information, like finding a job for example ... [http://www.roletroll.com/blog/the-plight-of-the-long-term- un...](http://www.roletroll.com/blog/the-plight-of-the-long-term-unemployed- and-how-to-possibly-avoid-it/)

</comment><comment><USER47> For anyone interested in how the solution is derived, one alternative is to use dynamic programming. For example, see these lecture notes: [http://www.cim.mcgill.ca/~decinfo/courses/ecse506/winter-201...](http://www.cim.mcgill.ca/~decinfo/courses/ecse506/winter-2014/notes/MDP- structure.pdf)

</comment><comment><USER48> Now I have another alternative to "It's not you, it's me"

</comment><comment><USER49> This formula doesn't account for non-monogamous configurations. I'd be interested in seeing a mathematical representation of the maximum bonding pairs a person could reasonably handle.

</comment><comment><USER50> The problem is that in real life the number of applicants is unknown and might change drastically depending on your luck and behaviour over the years.

</comment><comment><USER51> So how do you select 36.8% of an infinite pool? (3.5 billion is an infinite pool for all intents and purposes)

<comment><USER52> The pool is way lower:

\- Girls in your range (age, available, and close geographically)

\- Average time you need to 'learn' a girl (it is, to know the best/cons, and to take a decision if dropping her or not). On some it will take 2 hours, others will take 6 months or even years in some cases.

\- Time when you start dating.

\- Time when you plan to marry.

\- Average time between dates.

So if living in a city big enough, and you start dating at around 18 and plan to marry at around 30, while being skillful enough to get a new date in less than 2 months, you can expect to date around _24 girls._ That means you can discard the first 9 dates, and wait until you are almost 22 (3.75 years later) to take things seriously.

<comment><USER51> I've been on dates with about 20 girls in the last 6 to 7 months alone ... only two different cities. Tinder is a magnificent thing.

But maybe the difference is that I never plan to actually marry. Makes things easier.

<comment><USER53> Nice tinder plug. From their website it looks like an application to connect smiling people with dogs on beaches.

</comment></comment></comment></comment><comment><USER54> Sounds like some of the girls were practicing some form of queueing theory.

</comment><comment><USER55> Are there any companies using this strategy for hiring?

</comment><comment><USER56> Ahh yes, the constant magic of _e_. More concisely, it can be explained as thus: _If you 're both on e, you're guaranteed to find the right partner... straight away._

</comment><comment><USER57> I am sobbing mathematically out of sheer joy !

</comment><comment><USER58> This is a good way of choosing a song on your iPod while shuffling. Assume you have a tolerance of shuffling through 40 songs before picking one.

You should click through the first 40/e (roughly 15). Then start clicking until you come across a song better then the best one in the first 15.

Listen to that one.

<comment><USER59> do you actually do that? it sounds interesting _in theory_ but i find it actually quite impossible to "remember" the satisfaction my favorite gives me so that i can reference it against every other track.

<comment><USER58> Yes. This is my 'walking to and from the gym' strategy.

But then again I'm a giant nerd.

<comment><USER60> Automatically disqualified as a "giant nerd" by going to a gym.

<comment><USER61> No way. Going to the gym is one of the nerdiest things you can do if you approach it the right way. I mean it is basically the real life equivalent of grinding levels in an rpg:

You choose a class (endurance, strength, or something in between). You have items and skills which you have to skill up individually (barbells, dumb bells, gymnastics equipment, running, cycling, etc.). The same dilemma exists for leveling up: skill points added to one category are skill points you can't add to another category. Thus if you split your time between strength and endurance you will never achieve as much as someone who exclusively trains one of the two.

The skill curve is even similar to that of a well designed RPG: in the beginning you make a lot of gains quickly but eventually you slow to a halt and it takes months to even gain a few skill points in one item/skill.

The gym in real life is like hardcore mode: If you don't play for a while, your skills degrade as a penalty. However, the skill lost as a penalty is easier to reattain then skill you never had.

There are even boss fights and co-op mode if you decide to compete.

There are too many parallels to list them all here, but I think you get the idea.

<comment><USER53> Going to the gym in itself is still not a 'nerdy' activity. All you did was describe going to a gym in a very nerdy way by comparing it to an RPG - <USER2> could most likely apply this practice to just about any activity one could do.

edit: I do disagree with that statement of the poster to whom you replied, you can still be a pretty big nerd and go to a gym.

<comment><USER61> > Going to the gym in itself is still not a 'nerdy' activity.

Neither is moving pieces on a chess board until you start to obsess over it, read about it in your free time, track your progress as a player, and constantly try and improved yourself as a chess player. No activity is really "intrinsically nerdy" (whatever that means), that's why I said "if you approach it the right way".

<comment><USER53> Still, society generally views playing chess as being nerdy, no matter how involved you are with it. They don't make these distinctions you're making. Whether or not they're accurate in their description is another discussion entirely, but I think we can all understand this in the context of the conversation.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER62> Advise from an old man--I have no reason to lie: Don't ever tell "the one" you love her. If you are somewhat good looking don't marry the first girl who gives it up. She will change mentally and physically. Never tell them you have money, or have the potential to make money. Keep a large portion of your money buried--she might leave you. Twice about having spawn--you have a say these days. If she loves you after you have a nervous breakdown she's a keeper--do anything for her.(Make sure she's not using your bad luck to feel better about herself. Charles Bukowski,'She loved me when I was broke, and humble.' Or disregard this "advise", I spent my twenties looking for the perfect person, and never found her, or was too stupid to know I found the right one? I think the latter. I used to say, "But she's too nice, and conventional?" Yea--I screwed up, but I'm still glad I didn't get married. oh yea, make sure to listen to her talk to her friends and mother; that's the real girl you are living with a long time.

</comment><comment><USER63> The only way to win this game is not to play

<comment><USER64> Exactly. Modern marriage is like a game of Russian Roulette for men. The difference is that your odds are worse, and the gun has financial incentive to destroy you.

Divorce rates are over 50%, divorce is initiated by women over 70% of the time, women get custody of children 90% of the time.

Laws like VAWA and the Duluth Model give women a surefire way to have you arrested and charged with zero evidence. Now you have a criminal record and no access to your children - 100% legal! Guess what happens to the suicide and addiction rates of men in these situations?

Enjoy your archaic life-long alimony payments, 'supervised visitation' with your children, drug testing, mandatory psychological evaluations, dumping thousands into a custody battle to end up with 4 days/month with your kids, and a child support system that rewards the payee for alienating your children from you.

Hey, your lawyer's kids will have no problem paying college tuition! Don't worry about yours.

Do you like the things you've earned over your life? Hold on to them by avoiding marriage like the plague its become.

<comment><USER25> > _" Divorce rates are over 50%"_

"Divorce rate" is a misleading statistic. It compares marriages in year X to divorces in year X, but divorces in year X can come from marriages in many prior years -- so it's not exactly a direct comparison.

People often mistake it for "the chances of an average marriage ending in divorce", which is a bit lower (the data I've looked at puts it in the 30-40% range.)

But wait, there's more! There are ways to determine, beforehand, which marriages are more or less likely to end in divorce. There are mathematical models based on behavior (James Murray, John Gottman). There are statistics related to various life decisions and behaviors and shared interests. You can dig through all sorts of interesting statistics and figure out your own risk profile if you so desire (see, for example, the General Social Survey at [http://sda.berkeley.edu/cgi- bin/hsda?harcsda+gss10](http://sda.berkeley.edu/cgi-bin/hsda?harcsda+gss10) ). People like to act like divorce is just a thing that randomly happens through no fault of your own, and on occasion that's true, but there are a lot of choices you can make to reduce the chances it'll happen to you. (Making choices like my grandparents seems to work out -- one pair celebrated 65 years last month, the other celebrates 67 years this weekend. And yes, the statistics bear out that making similar choices to them results in lifelong marriage a very high percentage of the time.)

<comment><USER64> The difference is that your grandmother didn't have a guaranteed payday and a "strong independent single-mother's movement" awaiting her if she decided she was tired of your grandfather.

The quickly disappearing stigma against single-motherhood combined with the demonization of men as deadbeats and child molesters, when paired with massive amounts of state handouts to single mothers (wic, welfare, child support, alimony, state medical insurance, housing subsidy, single-mother scholarships, affirmative action jobs, etc.) has made divorce as inconsequential as possible for women while dramatically raising the consequences for men.

Marriage is broken and men who go into it without understanding the disparity of legal, psychological, and economic outcomes between the genders are in for a rude awakening.

<comment><USER25> ... yes, I'm sure you've identified the _only_ relevant difference.

Which _totally_ explains why my parents and my wife's parents, both married in the 1970s when those social movements were in full bloom, also have wonderful and happy marriages going on 40 and 38 years, respectively.

<comment><USER64> Are you arguing that our social environment hasn't changed since the 1970's or that our obviously dramatically changed social environment has had no effect on male-female relationships?

Either way, your advice is more of the same feel-good nonsense that we feed our young men, hand-waving away the outcomes of divorce and custody law, and pushing them towards a statistically likely devastating outcome.

It may feel good to preach the traditional loving family of your grandparents, but the data shows that they are the outlier. A much more likely outcome is a split family and emotional and financial devastation for the husband.

<comment><USER25> I am arguing neither of those things.

I am also not giving "feel-good nonsense" advice, nor hand-waving. I'm suggesting avenues of research that require a level of effort commensurate with the task at hand, namely, creating a long-term stable relationship.

Statistically, relationships with the same attributes as my grandparents' relationships _don 't_ fall apart. Statistically, the most likely outcome _in that case_ is "til death do us part". (You really should read some of JD Murray's books/papers. We can predict with a fairly high likelihood which relationships are going to lead to a split family and emotional/financial devastation for the husband, and which are not. But it takes a level of introspection and a level of honesty from friends and observers that most people don't have.)

<comment><USER64> Again - is it your assertion that our drastically changed social environment has had no effect on the stability of relationships?

I whole-heartedly agree with you that there are many factors that can help predict the success of a marriage. This is somewhat besides the point.

It's shortsighted and a case of "ignoring the elephant in the room" to pretend that a dramatic shift in our social environment is having no effect on the stability marriage or that factors which contributed to past-generation's successful marriages have been unaffected by this shift.

<comment><USER25> > _" is it your assertion that our drastically changed social environment has > had no effect on the stability of relationships?"_

I have already said explicitly that it is not. Please don't be obtuse.

> _" there are many factors that can help predict the success of a marriage. > This is somewhat besides the point."_

No; it's exactly the point. Your initial comment used misleading statistics to argue that marriage is a "plague" that should be avoided, and you later hinted that my grandfather would have been a victim of this plague if my grandparents had lived in a different era.

I've countered that those statistics don't apply to every situation, and that in fact marriage remains quite a worthwhile pursuit especially for those whose circumstances and life choices put them in the "very high probability of success" category. My grandparents, my parents, and my wife and I are all in this category.

Repeating your assertion that current marriages lead "towards a statistically likely devastating outcome" is useless. The assertion, while true for many couples, ignores the reality that _some_ couples are statistically likely to enjoy the benefits of marriage for their entire lives.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER65> This seems like it works on the same principle of the Monty Hall problem, where statistically you win more often by always throwing away your first choice - [http://en.wikipedia.org/wiki/Monty_Hall_problem](http://en.wikipedia.org/wiki/Monty_Hall_problem)

<comment><USER66> Sounds similar but the Monty Hall problem isn't just about throwing away your first choice - it's about throwing away your first choice after you've been given more information about the remaining two choices.

<comment><USER65> Ahh, thank you - that is a very important distinction.

</comment></comment></comment><comment><USER34> Yay, sexist and inaccurate metaphorical framings for math problems.

<comment><USER67> How much of your day would you say you spend thinking about how oppressed you feel?

</comment></comment><comment><USER68> Is there a "you should never get married" solution? ;)</comment>


Programming Languages Suck at UX - <AUTHOR> http://evincarofautumn.blogspot.com/2011/10/programming-languages-have-bad-user.html

<comment><USER2> _Programming notation is the way it is primarily because of the fallacy that programming is mathematics. In reality, writing software is also very much like, well, writing._

Programming is much more like mathematics than writing. In fact, I'd argue that the only thing programming shares with literature is the fact that programs are expressed using character strings rather than with more specialized notation. Literature can be ambiguous, and can rely on the reader to infer what the author meant. Program must not (and indeed, in many cases cannot) be ambiguous.

 _Larry Wall is a notable (partial) exception to the norm, appropriate considering he studied linguistics back in the day. Perl is what you might call a semi-naturalistic programming language._

That is Perl's greatest strength and its greatest weakness. It's very hard to write Perl that doesn't run. The interpreter will go to great lengths to parse your program in the most generous way possible (if you let it). However, most of the time, if you've written something ambiguous, it's wrong, and should be flagged as such. This has led to a host of addons (like use strict) which attempt to make Perl less generous.

 _Another thing Perl mimics in natural language is implicit reference. $_ is like the pronoun "it", a default thing, the current subject of discussion, which in many situations can be assumed. Programming languages use explicit reference almost exclusively. In order to perform a series of operations on a value, the programmer must explicitly name that value for every operation._

Explicit references are _uambiguous_. Has the author ever read a legal document? In legalese, just like in programming, all nouns, save for the most common ones, are defined before they are used. The reason for this is the same as in programming - it is best to be unambiguous when attempting to communicate in a formal manner.

In fact, when I'm dealing with Perl, I absolutely _hate_ the use of $_. It adds massively to the state that I have to carry in my head when I'm reading the code, because it's so easy to miss cases in which $_ gets modified.

 _Naturalistic programming languages will never be pretty. They are not minimal, or elegant, or simple, but despite all that, they are intuitive and useful. More importantly, they meet users' expectations about how language is supposed to work._

I don't care about how "expressive" language is. I care about how easy it is to write 1) correct and 2) maintainable programs in that language. These 2 criteria militate for minimal syntax (less syntax mean less syntax to screw up) and a level of formalism that catches errors as quickly as possible from the point they occur.

 _Erroneous Errors_

I'm not even sure where the author is trying to go with this section. We've gone from talking about programming language design to... compiler error messages? The language is not the compiler and the compiler is not the language. Most programming languages have more than one compiler or interpreter. These compilers will give differing error messages. As another comment demonstrates, Clang gives better error messages than gcc. Is C somehow a better language if you use it with Clang? Is it somehow a worse language if you use it with gcc? No! The language remains the same, regardless of what you use to compile it.

 _Terrible Typography_

Programmers prefer monospace fonts because there are fewer variables, and therefore, fewer things to mess up. With a monospace font, I don't have to worry about kerning. I don't have to try to guess how far my code is indented. If I use spaces for indentation, I don't even have to worry about my code looking different on different computers. Wherever I go, my code should look exactly, unambiguously, the same. For me, that concern trumps readability a thousand times over. I'll take an ugly font that's unambiguous over an ambiguous pretty font any day.

 _Impossible Input Methods_

APL tried to have funny characters as operators[1]. It was a bad idea. I don't want to have to switch my keyboard around to match the programming language. I don't want to have to type ALT+<code> to get an operator. It's much easier if programming languages use standard characters that are guaranteed to be present on almost all keyboards. Indeed, the C preprocessor defines trigraphs[2] for keyboards that don't have characters like '{' and '#'.

Even worse, when I'm reading code, I don't want it to be peppered with blank boxes just because I don't have the particular font for this programming language installed.

 _Perhaps the biggest problem with programming language design is that, because it is so bad, people are afraid to use tools that can help them._

Either that, or because many of these ideas have been tried and rejected when hard experience proved that they didn't enhance productivity very much and hurt maintainability immensely.

[1] <http://www.wickensonline.co.uk/apl/unicomp-apl-top.jpg> [2] <http://en.wikipedia.org/wiki/Digraphs_and_trigraphs#C>

<comment><USER3> Well said! I don't think I found a argument in that article that I would agree with. The mentioning of Perl as a great example is probably the worst. The purpose of a programming language is to express things as precisely as possible, both to a computer and to a human. Perl's extreme context- sensitivity is what I dislike most about it.

Regarding Unicode support, I see it having some advantages, but current editors don't support Unicode input well. Emacs has an input mode where you can type \alpha and it replaces it with the appropriate unicode character, but I haven't seen any other editors with support for that. For some more obscure symbols, it can also be difficult to find out how to input them.

I'm wondering whether that article is actually meant seriously -- some of these claims are just so absurd.

</comment></comment><comment><USER4> The arguments in favor of Perl largely favor writability of code over readability. Code needs to be read, and most importantly understood, many more times than it is written, which is the whole reason Perl has fallen out of favor.

Elastic tabstops look interesting, but they won't solve any user experience problems until all major editors support them.

Using actual characters instead of substitutes like >= makes sense, except when I look down at my keyboard and try and imagine where all the extra buttons would go. I suppose you could still type the substitute and your editor could convert them to the actual symbols (LaTeX modes in emacs do something like this for you), but you'd have to get all editors to use the same substitutes to prevent another usability nightmare.

<comment><AUTHOR> Easy solution: you enter your source with ASCII approximations, and the language implementation can prettify it in-place with the canonical Unicode characters if you choose.

<comment><USER5> > the language implementation

No need to touch the language, it can be done on the fly by the editor.

It's already possible to do such things in Emacs, for instance: haskell-mode can be configured to replace `\\` by `λ`, `>=` by `≥`, `.` (the function composition operator) by `∘`, etc…[0] in the visual display of the file (the underlying source keeps the original tokens).

Of course you could add these new characters in the language's definition itself as well, so the editor can perform direct source replacements.

[0] [http://www.haskell.org/haskellwiki/Haskell_mode_for_Emacs#Us...](http://www.haskell.org/haskellwiki/Haskell_mode_for_Emacs#Using_Unicode_symbols) for the list

<comment><AUTHOR> Good point. Plus there's something to be said for separating content from presentation, which seems to be a pervasive problem in programming languages, given all the petty arguments about formatting.

<comment><USER5> > Plus there's something to be said for separating content from presentation

Indeed, I would enjoy a world where this is done better (and more often), for instance having things like alignments, line-breaks or indentation be completely independent from the actual source.

Of course, this generates a number of other problems in turn: different software on a given machine have to all use the same configuration (or be independently configured to match), communications becomes much harder unless new data pointers are invented as the concepts of line and column become fuzzy, some tools/concepts become impractical to say the least (a context diff for instance, would have a hard time working correctly unless it was token- aware and language-aware with diff/patch reader software able to use the global source formatting configuration for the language to display the diff as the user expects), and shared data display (e.g. a github source view) would be rife with strife.

At the end of the day, I'm not sure this wouldn't create as many problems as it solves, if not more.

</comment></comment></comment></comment></comment><comment><USER6> As a native English speaker who's tried to learn Japanese, the distinction between Perl, APL, and their ilk and other languages to me seems more akin to ideography vs. syllabary/alphabet (i.e., characteristics of the writing systems) than to natural language vs. computer language.

My big problem with reading and writing Perl is the same as my problem reading and writing Japanese: there's just so much you have to flat-out memorize. Look at the index to the Perl book: it begins with a vast collection of arbitrary symbol pairs. Sort of like written Japanese words are collections of often somewhat arbitrary ideographs, because many words were borrowed from Chinese over many centuries, while the Chinese writing system was evolving.

Of course, people still learn to read and write Japanese fluently; it just takes a long time (12 years of schooling). I bet I'd be fluent in Perl if I spent 12 years learning it as well. But I'd rather not have to do that to use a programming language well.

<comment><USER7> It's like me studying biology and finally didn't continue because there are just too many words to memorize.

<comment><USER8> Except that it's not, because there are many good alternatives to Perl that have equivalent, if not greater, power, and require very little memorization. You can be up and running with a full understanding of the syntax for most flavors of Lisp in a few hours...

</comment></comment></comment><comment><USER9> This article is clearly a troll, specifically the issue of monospace. Also, some monospace fonts are better than others. I was using consolas for a while, and have recently switched to ubuntu mono for the sake of beauty and clarity. I would never use a proportional font for programming, in part because positions of things matter and inform your reasoning. Here's a good blog post about beautiful programming fonts: <http://hivelogic.com/articles/top-10-programming-fonts/>

In particular, this claim is totally unsubstantiated: "Fixed-width fonts are a typographical oddity that survived through tradition and little else."

As a pretty young programmer, I don't use monospace or really anything only for the sake of tradition. It's the best tool for the job, even if it was by accidental means. I don't think a language optimized for proportional fonts would be superior in any way for it. In fact, monospace is superior in that you can choose to convey information with STRUCTURE. This capability becomes muddied and confused with proportional fonts.

</comment><comment><USER10> Stroustrup's C++ book stands out in my mind as one of the few programming books that I own (possibly the only one) that does not use a fixed-width font for code examples, and I find it very unpleasant to look at. Accordingly, I have avoided variable-width fonts for programming altogether.

But the font in that book is by no means the only variable-width font. Could anyone here recommend a variable-width font that you have had good experience coding with?

<comment><USER11> My concern for using a variable-width font is knowing how deeply indented I am at any point. With a fixed-width font, I can simply look up and see how many characters deeper I am compared to the previous line. I don't know how that would work with a variable-width font. I'd probably have to move my cursor back and forth, which would be a pain.

<comment><AUTHOR> I don't understand what you mean—it doesn't really matter how many characters or columns you're indented, and can't you discern depth visually in the same way regardless of typeface?

<comment><USER11> It does if you're using Python...

<comment><AUTHOR> No, it doesn't. Your _indentation_ level matters, but provided your indentation is consistent, it doesn't matter whether you use tabs or spaces, and the notion of "column" isn't relevant to proportional-width fonts. If you're worried about invalid indentation hiding from you, don't use spaces for indentation with a proportional font—it doesn't make sense anyway.

<comment><USER12> It matters more when you've got a statement broken over multiple lines. If you've got a function which takes a lot of arguments for example, lining them all up vertically can make the code a lot easier to read. This can be difficult or impossible to do with a proportional width font (and would almost certainly look very strange to anyone else looking at the code in a fixed- width font).

</comment></comment></comment></comment></comment></comment><comment><USER13>
      $ clang -x c -
      int f(X x);
      <stdin>:1:7: error: unknown type name 'X'
      int f(X x);
            ^

<comment><USER7> They did invest quite some resources for that:

[http://blog.llvm.org/2011/05/c-at-google-here-be- dragons.htm...](http://blog.llvm.org/2011/05/c-at-google-here-be-dragons.html)

</comment></comment><comment><USER14> On errors: Yes, this is the main point I agree with. Fortunately most languages have frameworks with do this now. The main thing I would wish for would be a more configurable 'warning' or 'notice' level wich would indicate e.g. type coercion or addition of strings or other nonsense when debugging.

On typography: seems like a lot of trouble for no substantial gain.

On Input Methods: People know `x - y` is left to right. `x = y` is easy enough. These points take a couple minutes to memorize each.

I am intrigued by nested quotes, however. In some languages such as Chinese they use arrow quotes -《》 - which would be easily nested and visually distinguishable.

<comment><USER7> For long times Chinese doesn't use much punctuation until like 20th century. May be that's why better marks are used instead.

</comment></comment><comment><USER15> Lost me at suggesting Perl is the exception because of its use of sigils.

I'd advocate for pascal et al over C-like languages simply because of case insensitive identifiers. The way modula-2 handles block commands (if endif) also helps make code much more readable.

<comment><USER16> > I'd advocate for pascal et al over C-like languages simply because of case > insensitive identifiers.

Then what happens when a German programmer has an identifier called weiß? Will accessing it as WEISS work? When dealing solely with US-ASCII, case- insensitivity _might_ be useful, but Unicode and the use of non-English non- Latin writing systems opens a whole new can of worms.

<comment><USER17> How about NOT using a German identifier? His code could sometime end in the global community, and the meaning will be lost, while almost every programmer understands basic English (it's kind of a prerequisite).

</comment></comment></comment><comment><USER18> Whenever I try to learn e.g Haskell, the small things stand in my way; for example everything looks like a series of identifiers separated by whitespace, and the only way to understand it is to manually parse it in my mind, knowing the arity of every function, data constructor, and the like. Probably a minor thing to most Haskellers, but still an obstacle to me..

Besides being easily able to visually parse a source file, a usability issues in some languages for me is 'voicing' the code in my head or reading it to another programmer; a problem I also have with mathematical notation sometimes.

When creating my own language for teaching programming, I decided to have a 'canonical reading style' so that teachers and students always know how to read a given code snippet out loud or in their head, facilitating understanding and communication.

<comment><USER19> Well, Haskell functions are curried, so you could think of the arity as always being 1. ;-)

If you're writing code, you can always use redundant parentheses at first. Then you refactor, gradually removing the parentheses or replacing them with an appropriate combination of ($) and (.).

Another useful thing to learn is how to write point-free code. An example:

        strToUpper xs = map toUpper xs
        strToUpper' = map toUpper

These are essentially the same function, but the latter is often preferred. Note also that they have the same type, namely _String - > String_.

If you're reading code and you find it hard to parse, you probably need to read easier code (for instance, from LYAH or RWH), but more likely you need to write more code of your own.

<comment><USER20> Besides LY and RW, the Stanford lectures notes are an excellent resource:

<http://www.scs.stanford.edu/11au-cs240h/notes/>

<https://github.com/bos/stanford-cs240h>

Somewhere in here are notes from Washington U of St. Louis studnets that were really helpful:

<http://www.haskell.org/haskellwiki/Tutorials>

<http://haskell.org/haskellwiki/Category:Tutorials>

<http://haskell.org/haskellwiki/Learning_Haskell>

</comment></comment></comment><comment><USER21> This reminds me of the quote which I believe I read in Programming Languages: Application and Interpretation but cant seem to find right now in the pdf version - "Syntax is the Vietnam of programming languages."

</comment><comment><USER22> If you're going to generalize across programming languages and assert that they suck at something, I expect so see evidence of knowledge in many, many programming languages. Not to be a jerk, but I don't see that sort of evidence here. (Then again, I don't have the kind of knowledge that would qualify me to make such assertions, or contrary ones, either.)

"Bad" typography isn't a big deal IMO. Yes, it's slightly embarrassing and ugly, in this Unicode-enabled era, that we use <= for "less than or equal to" and != for "not equal to", when Unicode has given us better glyphs. But honestly, I don't see how that costs us much time to get used to. It's like the parentheses in Lisp: more time is spent complaining about things like that than just adapting to it and making the problem go away. Parentheses wouldn't even crack the Top 5 of my complaints about Clojure (which is, despite some flaws, a great language).

Regarding monospace fonts, monospace is a huge asset. Sometimes you want to align a column of numbers, and you don't want 11111 to be narrower than 8888. Code isn't supposed to be "pretty" in the sense as a word document or marked- up Latex file. It's supposed to be easy to read and understand. Aesthetics are a part of this, but beauty at the expense of clarity is a no-go. Technical book writers could easily use non-monospace fonts for code examples and they don't-- for good reasons.

What matters is how the language looks after you've been using it for months. After 6 months using it, does the language still piss you off on a regular basis (note: no language is perfect and all will piss you off sometimes) or do you generally enjoy working in it? I've found that statically typed functional languages (Scala, Ocaml, Haskell) perform the best in this regard. The worst I've seen are Java and C++. But until you get comfortable with the languages, they all look the same (hideous, confusing, foreign).

 _We need to get rid of that kind of thinking—not just so that language design can move forward, but so that we can quit worrying about languages and get shit done._

Sorry, but... language differences aren't really about superficial appearances. Ocaml could be re-written with S-expression syntax and it wouldn't be much different. These differences are much deeper than that. The shape of code that emerges in a Haskell codebase is dramatically different (more "foreign" compared to conventional imperative programming, but generally less verbose and easier to maintain) from what appears in a C++ or Java codebase.

<comment><AUTHOR> Many well-designed proportional fonts have fixed-width numerals (if not by default, then available as alternates) to address alignment.

I don't think tech writers necessarily use monospace fonts for good reasons—most likely they're simply accustomed to it, and it doesn't occur to them that there's something better out there.

And this isn't just about superficial appearances—I focused on poor legibility because it's a readily apparent detriment to usability, but there are _plenty_ of other things wrong with programming languages—enough to fill a book, which I should probably write. Strictly imperative programming, for instance, is a degenerate style of problem-solving that forces developers to exert far more effort than necessary to get the same amount of work done. Haskell is better, and more productive for me, than any procedural or object-oriented language I've used.

Thanks for the comments, though. I really appreciate this kind of long-form feedback because it helps me improve my future writing.

<comment><USER9> counterexample, try this with a proportional font:

      abcde 11111

      ilili 22222

</comment></comment></comment><comment><USER23> Surface syntax issues (most of what the complaint is) by and large go away for the experienced programmer.

The gcc error is a meaningful problem though. :-/

<comment><USER24> But that's gcc-specific. Clang does a much better job of error reporting, for example.

<comment><USER23> Absolutely. The idea that a compiler/interpreter _should_ give reasonable and intelligent errors is a good one. It's probably the only reasonable critique in the entire blogspew.

</comment></comment></comment><comment><USER25> UX implies usability as well as aesthetics. Any time spent worrying about the aesthetics of code is time not spent solving problems. In terms of usability, off the top of my head, two things that I find useful are: 1) Editors with syntax highlighting. I can't be bothered to worry about what typefaces or encoding it supports. 2) Languages that force a consistent approach to implementing a given task. I'd have to throw out Perl and its Tim Toady ethos.

<comment><USER17> """UX implies usability as well as aesthetics. Any time spent worrying about the aesthetics of code is time not spent solving problems."""

Only an ignorant can separate aesthetics from coding.

The top programmers agree that good code is also beautiful. In fact this is often stated also about good maths.

<comment><USER25> Perhaps I wasn't clear, but I was referring specifically to the aesthetics of the typeface. Good code in monospace is no less beautiful than good code in font X.

<comment><USER9> I very much believe in beautiful and clear monospace. This can translate into benefits for the time it takes your eyes and brain to interpret what you see. Time is money.

</comment></comment></comment></comment><comment><USER26> Alternative title: UX guy sucks at programming language design. And if Perl is the answer, you're asking the wrong question.</comment>


The problem with our data obsession - <AUTHOR> http://www.technologyreview.com/review/511176/the-problem-with-our-data-obsession/

<comment><USER2> "Campaign donation databases, for example, could be designed so that records cannot be sucked out of them en masse."

No, they really can't. What Morozov is asking for, in essence, is effective DRM.

</comment><comment><USER3> The problem seems to be coming to conclusions that the data doesn't back up, or having emotional reactions to that data that aren't helpful.

The solution proposed here is "Don't have data". Because if we stick our heads in a hole, it'll all get better?

This is obviously nonsense.

<comment><USER4> "The solution proposed here is "Don't have data". Because if we stick our heads in a hole, it'll all get better?"

I don't think this is the solution Morozov is proposing. He's just saying that collecting and distributing more data will not necessarily be beneficial because data interpretation is subjective and data collection may be biased.

<comment><USER5> So who governs what is the correct application and interpretation of data?

I hate to be overly dramatic about this, but didn't the Church worry about the Truth being perverted after Gutenberg? Didn't penny newspapers cause problems for the Founding Fathers?

<comment><USER4> "So who governs what is the correct application and interpretation of data?"

Morozov doesn't worry about the correct application of data but, from what I understood reading the link, is more worried about this:

"Morozov fears a future in which such "intuitive knowledge" about how to deploy resources is overruled by algorithms that can work only with hard data and can't, of course, account for the data they don't have."

It could be argued that decisions based on "intuitive knowledge" without any data are as biased as the one's based on only data.

<comment><USER6> As per your last point, his argument essentially turns into "i want to base decisions on gut feelings and assertions".

He tries to weasel word differentiate between "intuitive knowledge" (really: human based algorithms) and "algorithms", when they are all really just algorithms.

He doesn't explain at all why his algorithms are better than any a computer could use, or for that matter, why a computer couldn't implement the same algorithms that back his "intuitive knowledge".

</comment></comment></comment></comment></comment><comment><USER7> Reminds me of the central reason for the InGen Incident on Isla Nublar.</comment>


Airbnb REQUIRES recording you call but if you want to record they REFUSE call - <AUTHOR> Called Airbnb today and they said they are REQUIRED to record me (wont talk to me without it) and will NOT allow me to record them (they will hang up if you try)?  Totally unfair, just like their service, VRBO anyone? <comment><USER2> IANAL while this does vary by jurisdiction, it's my understanding that even in two party states the consent is given to record the call and not consent as to which party is doing the recording. So if they ask and you agree, you can also record without telling them because consent has been granted.

<comment><USER3> Nitpick: I think the reasoning -- in jurisdictions where this applies -- is that the presence of a third party listener removes the expectation of privacy (for both parties) and makes recording by either party legal, not that it counts as consent per se.

</comment></comment><comment><USER4> Are you in a two-party consent state [0]? If not, you can legally record the conversation without informing them. I record all phone interactions with corporations by default.

[0] [https://en.wikipedia.org/wiki/Telephone_call_recording_laws#...](https://en.wikipedia.org/wiki/Telephone_call_recording_laws#United_States)

<comment><USER5> If the corporation notifies you that you are being recorded, then that is also the consent you need to record them. Why do you need to give them notice? They already notified you.

Where is it in law that stipulates that it matters who's doing the recording?

<comment><USER6> This is an interesting point, some jurisdictions may indeed only require the notification in an ambiguous way, so regardless of whether it's 2 way recording or 1 way it may be covered.

Though this raises the question of whether companies that don't accept 2 way recording but mandate 1 way recordings to their advantage are companies you should do business with.

</comment></comment></comment><comment><USER7> Every time someone tells me they are recording my call for {quality, customer care, whatever} purposes, I tell them I'm also recording the call and pause to start recording the call. I get hung up on a lot.

<comment><USER8> Often it is a robot that says that, do the robots hang up or do you wait for a human?

<comment><USER7> No I let the robot says it's spiel, then, after the human connects, I inform the human I am also recording the call.

</comment></comment></comment><comment><USER9> No worries, in new versions of Android google already decided that call recording is not something that common folk is allowed to do.

</comment><comment><USER10> What follows works 99% of the times with airbnb:

Customer service representative: "For training purposes this call is being recorded. Are you okay with it?"

Airbnb member: "Well, you know if you feel comfortable that we record this call for quality purposes, I'm totally fine with it, no worries."

CSR:"Haha, sure I am. I just have to ask, you know."

AM: "Sure, me too, it's important to me that you're comfortable with it, too. So... here's the issue why I'm calling..."

<comment><USER11> I always wondered, given how disingenuous they are by saying "training purposes", doesn't that weight in in any way during a legal process?

You'd still have yourself to blame if you naively believe everyone, but is it legal to present evidence obtained in bad faith? Can you blatantly lie and say the recording is automatically deleted after a minute, and still present it in a court of law?

<comment><USER12> It's not reasonable to list every possible use. Any call center routinely uses call data to train and evaluate agents.

</comment></comment></comment><comment><USER13> When you say you want to record you are asking for a legal document. Wanting low wage ill trained employees who have difficulties communicating to say things in a way that passes muster for a legal department is expecting a lot of a phone call. I'd blame a litigious society for preventing your record keeping.

</comment><comment><USER14> One way to record calls is to setup a voip number that you can call and put them on three way conference. Voip.ms makes this easy, I've also done it with Twilio. I also live in a 1 party consent state.

<comment><USER15> Could you not just flip on your devices screen recorder?

</comment></comment><comment><USER16> i never talk when someone records me. there is never a positive outcome of such call. if they want some kind of proof, they can send me an email. when they record you you often agree to things you would normally not or changed your mind later on, since you have no time to think about it. they know what they are doing. so never, ever, be part of such calls. use email, think before replying and you're good.

</comment><comment><USER17> How do they know if they are being recorded?

<comment><USER10> They don't. But you'll have trouble to admit possession of a recorded call unless you're sure you legally obtained it. So unless you merely use it for your private training purposes its of limited value.</comment></comment>


Cory Doctorow: RIP, Aaron Swartz - <AUTHOR> http://boingboing.net/2013/01/12/rip-aaron-swartz.html <comment><USER2> Aaron Swartz's presence in various networks:

In HN: <http://news.ycombinator.com/user?id=aaronsw>

Pinboard: <https://pinboard.in/u:aaronsw>

His last tweet was on Jan 9th, <https://twitter.com/aaronsw>

In reddit: <https://aaronsw.jottit.com/reddit>

Google Scholar: <http://scholar.google.com/citations?user=PGTlB14AAAAJ>

Writings: <https://aaronsw.jottit.com/writings>

Things he made:

<https://www.jottit.com/>

<http://openlibrary.org/>

<http://watchdog.net/>

<http://reddit.com/>

<http://webpy.org/>

HN will miss your contributions.

Rest in Peace. #Love.

<comment><USER3> Also <http://lesswrong.com/user/aaronsw/overview/>

</comment></comment><comment><USER4> My sympathies to the family and friends of Aaron.

tl;dr While it hurts to lose a loved person, at least that person no longer suffers.

One point from the blog I have a hard time relating to: "Because whatever problems Aaron was facing, killing himself didn't solve them. Whatever problems Aaron was facing, they will go unsolved forever. If he was lonely, he will never again be embraced by his friends. If he was despairing of the fight, he will never again rally his comrades with brilliant strategies and leadership. If he was sorrowing, he will never again be lifted from it."

I'm not sure what your religious beliefs are, but to atheists [like me] it's pretty clear that death is the end, and while he may have suffered a lot in his life, he surely is no longer suffering, and "his problems" no longer exist. They're gone with him. And in that sense, yes, he solved them for himself. Yes, he gave up the potential rest of his life, but I can relate to the idea of letting go at some point, possibly even without much regret as to what might happen in the future.

I can see how people close to him will now suffer a great deal at this loss, but again, the problems a man struggles with are his own, and I'd rather not mix the perspective of his loved ones with that.

I sense that many people (even non-religious) have a very 'judgmental' view of suicide, like it's some kind of disgrace or stupidity. I'm not saying the blog post author is one of those people, but really, having seen lots of [absurd] suffering in my life I am very understanding of people who are brave or desperate enough to let go.

To me it was the same with a couple friends who died in young age of serious illness. It hurt both sides when they were ill; now it only hurts me, but I am glad they didn't suffer endlessly (or for an extended period of life). To some, extended suffering is hell. I can imagine that it's not the case for everyone though.

<comment><USER5> That struck me as just poetic language -- completely justifiable mourning for a possible future that suddenly, jarringly, became impossible. It's a genuine tragedy when everything that could possibly happen to someone in the rest of their life is simply deleted.

</comment></comment><comment><USER6> Thank you, Cory. This wonderful post will bring understanding (and maybe even comfort) to many of us who are sad and confused today.

It will also probably save some lives.

<comment><USER7> hypocrite.

<comment><USER8> I don't think that word means what you think it does.

<comment><USER7> I dont think you know what I thought it meant.

</comment></comment></comment></comment><comment><USER9> Last year someone else did this. <http://news.ycombinator.com/item?id=3231531>

Two years ago someone did this. <http://news.ycombinator.com/item?id=2074109>

In between, before all this, there have been people insisting that suicide is the cheaper option compared to living. This is very much a thing.

I don't purport to have a solution because I fight depression, suicidal thoughts myself and at best I can only say depression is something that you don't get rid of, only something that you learn to co-occupy your mind with.

But one thing I can say we here all live and work in a field that deals with great extremes. Great extremes of success and great abyss of failures. So take care to not be swallowed, by success or failure.

<comment><USER10> "I don't purport to have a solution because I fight depression, suicidal thoughts myself and at best I can only say depression is something that you don't get rid of, only something that you learn to co-occupy your mind with."

I will say to you that depression is a state of mind that you could totally get rid of. How do I know? I got depressed myself and my family members have the tendency to depress, seriously. Members of my family that almost killed their selves now are much much better.

The are also very smart too (probably it has something to do with it when you think too much while in a negative state).

A lot of people believe that when you are depressed you just could uplift your spirits,making you smile or laugh and in fact you can, for a very short time, but not too long, because depression is an addiction of the brain. The brain has a very powerful chemistry inside and you can't change it too fast.

In the western world, depression is epidemic, because we have things like cars and iphone, but the essential things that people need we don't, like friends and lovers or freedom, or time with yourself or with others, or time outside.

Like rats on a cage since birth, they don't know what they don't have but someway they know they need it, because they feel empty inside.

As you probably know even dogs get depressed if they don't go outside and run enough, people try to care for them but if the basics are not met the dog does not improve.

My advice is:

0-Understand that it took years for you to get into depression and it will take a lot of time to you to get out completely, but you will eventually. Don't try to get out in a weekend because it is impossible, your brain chemistry will change over months, not days.

1- Look at the normal things you need for your life and get them: sleep well, eat well, do exercise every day and love the people around you. Everything else is secondary, Internet, TV, "too much work".... they could wait.

2-Start designing and changing your routines, and change them one by one. Only one every 30 days. The body can't change faster than this, the reason most people fail changing is that they try too much, and this is not reasonable. You can change 12 routines a year, like getting outside very day.

3- Learn to do meditation or if you believe in God, pray. Every single day start thanksgiving (another very important routine).

4- Break the negative cycles in your brain, there is a meditation technique for that called something like "leave your thoughts pass like clouds".

5-Learn from other people, you are not alone: [http://www.mortylefkoe.com/rid- depression/?utm_source=rss...](http://www.mortylefkoe.com/rid- depression/?utm_source=rss&utm_medium=rss&utm_campaign=rid-depression#)

You get the idea. Hope it helps you.

<comment><USER10> I'm very curious of why people down vote me on this.

<comment><USER9> I appreciated the response. The reply was information I already know, thought about, and have concluded on but they are helpful nonetheless.

As for the downvotes, my best advice is to not stress about it. It means nothing and the community has grown over the years to downvote instead of just ignoring something and moving on.

</comment></comment></comment></comment><comment><USER11> A beautifully written article.

I only knew Aaron Swartz from the things written about him on the Internet. But it really feels like he had a lot more to contribute to this world, not just technologically, but socially and philisophically as well. His death to me feels much like when Kurt Cobain died, back in 1994. Both were artists who had much more to contribute, but their lives were cut much too short by mental illness/depression. It's sad.

Kurt Cobain died just a few years before the Internet really took off. I always imagine that he would have embraced this, and would have done things like released his music for free, and would have radically changed the way music was distributed. In a few years, there will be even more technology invented, and it could very well be that had Aaron Swartz stayed alive, he could have found other ways to contribute new things as well.

</comment><comment><USER12> Aaron was someone who I only knew tangentially until yesterday, and now can only wish that wasn't the case.

I happened to be with some people who knew him much better than I did, and I could only imagine how they're handling this.

Aaron was by all definitions a brilliant guy. His death is visibly shaking the hacker community 2nd only to Jobs (measured by front page stories but also personal experience).

RIP

</comment><comment><USER13> Cory, a sad and wonderful tribute to Aaron. Thank you.

</comment><comment><USER14> So where can I get my Aaron Swartz t-shirt?

</comment><comment><USER15> Wonderfully written article. Thank you.</comment>


Show HN: EngCrunch – Engineering Blogs - <AUTHOR> http://engcrunch.com <comment><USER2> Awesome. You're probably already working on this but would be nice if there are tags of companies you're crawling and also forms to suggest/personalize new companies. This was a nice list I came across a while back: [https://github.com/kilimchoi/engineering- blogs](https://github.com/kilimchoi/engineering-blogs)

</comment><comment><USER3> Love reading blogs. Hope you can keep this updated. It will be nice if it allows filter/search.</comment>


Oracle's New Supercomputer Has 1,060 Raspberry Pis - <AUTHOR> https://www.tomshardware.com/news/oracle-raspberry-pi-supercomputer,40412.html <comment><USER2> > ServeTheHome asked Oracle why it chose to create a cluster of Raspberry Pis > instead of using a virtualized Arm server and one company rep said simply > that "...a big cluster is cool."

Honestly that's a totally valid reason to make something like this. This _is_ super cool.

</comment><comment><USER3> Does anyone know what power supply they are using? I am having trouble finding a good, rack-able USB power supply for my cluster of raspberryPis.

If anyone at the conference can sneak a peak at the PSU brand / model number, that would be great!

<comment><USER4> I helped assemble this, the guy you would want to ask is [https://twitter.com/chrisbensen](https://twitter.com/chrisbensen)

</comment></comment><comment><USER5> $201M if you want to spin up an Oracle Enterprise instance on it ($47,500/core x 1060 x 4).

</comment><comment><USER6> Is that what they were gonna offer for the JEDI contract? :D</comment>


Ask HN: Suspicious SMS sent to my phone on my birthday - good-citizen

from some random # i don't know to my phone: "Happy Birthday! Sorry I'm not there to enjoy it with you, but we can grab a drink and some other fun goodies when I return"<p>must be spammers, knew my birthday was today, and are trying to trick me into replying? <comment><AUTHOR> Did not know your birthday, sent it to 1000s of people to confirm phone number if you replied so they could send you more spammy stuff later or sell info to spammers.

Or

Someone you know sent the message using some service that allows free SMS to be sent.

</comment><comment><USER2> [https://en.wikipedia.org/wiki/Birthday_problem](https://en.wikipedia.org/wiki/Birthday_problem)</comment>