Show HN: Practice interview problems for front end developers - <AUTHOR> https://www.acefrontend.com/ <comment><USER2> I am so glad to see this. However, I feel often the problem is on the interviewer end as its very common to shoot algorithmic problems at FE engineers.

I wrote down some of my ideas for hiring questions here: [https://medium.com/@lifeinafolder/not-so-crazy-ideas-for- hir...](https://medium.com/@lifeinafolder/not-so-crazy-ideas-for-hiring- software-engineers-ea5684298502)

Also out of curiousity, why haven't you made your profile public on the site? I think it would add more credibility.

<comment><AUTHOR> Great blog post. I will incorporate some of those ideas (like testing) into the challenges.

I agree that the interviewer side is a mess and one of the long term ideas for this is to create interview packages for companies to help assess and calibrate FE candidates.

To avoid any conflicts I'm trying to keep my employer out of it, but it would definitely help with reputation.

</comment></comment><comment><USER3> Very well done! I like that these are plain JavaScript challenges, however, I think including more traditional interview questions such as algorithms and data structures that are presented in your way would be valuable.

<comment><AUTHOR> Hey thanks! I actually stayed away from those kinds of problems because they're well covered by other sites, but I'm interested in what you mean by presenting then in my way?

Do you mean algos in a practical front end context?

Thanks again for checking it out!</comment></comment>


Super-Spreader - <AUTHOR> https://en.wikipedia.org/wiki/Super-spreader <comment><USER2> Also of note: asymptomatic carriers like Typhoid Mary: [https://en.m.wikipedia.org/wiki/Mary_Mallon](https://en.m.wikipedia.org/wiki/Mary_Mallon)

</comment><comment><USER3> I saw a thing about Typhoid Mary a couple years back. I hadn't realized that she was contagious for most of her life.

She was a cook, and they told her she should never handle food for others again. They later caught her working with food, and she went (back) into mandatory quarantine for the last 23 years of her life. She lived to 69, having spent a little over half of her adult life imprisoned.

They had a theory that removing her gallbladder would cure her, but she refused.

<comment><USER4> > They had a theory that removing her gallbladder would cure her, but she > refused.

Um, it's not a theory--it really works most (>90%) of the time. The gallbladder is generally the site of the chronic salmonella infection that couldn't be treated before antibiotics.

Now, whether you want to have _surgery_ back in a time before antibiotics is an independent problem.

<comment><USER5> How did they narrow it down to the gallbladder back then?

<comment><USER4> Presumably correlation on soldiers. Medicine was kind of hit or miss back then but quite often got lots of data from war wounded.

Typhoid had a lot of attention because it tended to be one of those things that killed a _LOT_ of soldiers. The vaccine for it was developed in 1896 by the Almroth Edward Wright at the British Army Medical School. And the Second Boer War was the first time that war casualties were actually larger than disease casualties because of the vaccine.

</comment></comment></comment></comment><comment><USER6> Fascinating how these events are traced and studied. Most compelling one for HIV traced to 1959 in Congo - [https://en.wikipedia.org/wiki/History_of_HIV/AIDS#History_of...](https://en.wikipedia.org/wiki/History_of_HIV/AIDS#History_of_spread)</comment>


People don't really like unselfish colleagues - <AUTHOR> http://www.eurekalert.org/pub_releases/2010-08/wsu-pdr082010.php <comment><USER2> Rather a strange article for a website frequented by startup folks or wannabees. I would think the altruistic ones are quite valuable when there's a small team and a lot's on the line...</comment>


Random Numbers in Virtual Machines - <AUTHOR> http://rhelblog.redhat.com/2015/03/09/red-hat-enterprise-linux-virtual-machines-access-to-random-numbers-made-easy/

<comment><USER2> Entropy in VMs is hard to get, it's nice to see an "easy" way to access better system-level entropy. There are also a few utils that let you distribute entropy amongst your VMs[1], but getting everything directly from the system feels better from a security perspective.

I've been forced to use rng-tools and / or rng-usleep to get enough randomness in some Ubuntu VMs in the past. It's maddening to see SSL slowdowns for no good reason, and to have to trace it back to a blocking call to /dev/random for 8 lousy bytes.

[1] [http://www.vanheusden.com/Linux/#security](http://www.vanheusden.com/Linux/#security)

<comment><USER3> Over at Greenhost we use entropybroker from vanheusden to spread entropy to our VM´s. [https://greenhost.net/2015/03/16/spreading-chaos-and- entropy...](https://greenhost.net/2015/03/16/spreading-chaos-and-entropy/)

<comment><USER4> this looks good comparing to the virtio-rng approach

</comment></comment></comment><comment><USER5> Until three weeks ago, ArchLinux shipped with a dangerous and completely useless rng-tools package, which was used by major EC2 AMIs:

[https://bugs.archlinux.org/task/34580](https://bugs.archlinux.org/task/34580)

</comment><comment><USER6> Canonical released Pollen/Polinate a while ago to address this problem. The idea is that each virtual machine queries a pool of entropy servers to seed it's own generator, and as log as at least one entropy server isn't compromised, you should be fine.

</comment><comment><USER7> > Red Hat Enterprise Virtualization starting version 3.5 also has exposed this > feature.

Anyone know what relationship that product has with oVirt ( [http://www.ovirt.org](http://www.ovirt.org) ) ? I thought oVirt was kind of the upstream. So wouldn't they be adding this to oVirt as well.

<comment><USER8> The original product was called Solid ICE by a company called Qumranet. Red Hat acquired Qumranet in 2008 and as we do with all acquisitions, we started to liberate the proprietary code. It became oVirt in about 2010, and parallel to that is the downstream (but also fully open source) RHEV management product.

Interesting fact: The original product was written in C# and ran only on Windows. It was translated into Java, largely automatically at first with manual tidy ups, so it could run on Linux or Windows servers. (Well there are some Python and other bits too)

[http://lpeer.blogspot.co.uk/2010/04/switching-from-c-to- java...](http://lpeer.blogspot.co.uk/2010/04/switching-from-c-to-java.html)

[http://lpeer.blogspot.co.uk/2010/05/casing-moving- target.htm...](http://lpeer.blogspot.co.uk/2010/05/casing-moving-target.html)

<comment><USER7> Thanks for explaining. That is a pretty cool history.

I am working with a bunch of C# code written for windows as well trying to make it work on Linux and went the Mono way. So far it worked pretty well (as long as no Desktop GUI forms are involved).

</comment></comment></comment><comment><USER9> > generating random PIDs for processes

Just curious, but why should PIDs be randomized? Using 'watch pidof pidof' on my laptop, PIDs seems not so randomized.

<comment><USER10> On a multiuser system there are various cases where being able to predict the PID of a process allows attack against naive code. eg. If a process uses the pid to generate a tmp file name, someone sneaks in first and makes it a link and uses that to put content into an arbitrary file they shouldn't have write access to.

Now, there is a valid contention that any code doing that is broken anyway and should just be fixed, and most code is much better about this now than 15 years ago. There is another contention that randomizing pids can help so why not.

See [http://marc.info/?t=94754302700001&r=1&w=1](http://marc.info/?t=94754302700001&r=1&w=1) and [http://marc.info/?t=94759485200001&r=1&w=1](http://marc.info/?t=94759485200001&r=1&w=1) for old discussion.

</comment></comment><comment><USER4> It seems hwrng is mandatory otherwise /dev/random will block easily for virtio-rng.

<comment><USER8> Modern Intel processors have an RDRAND instruction which (cue conspiracy theorists) is a hardware RNG. [https://en.wikipedia.org/wiki/RdRand](https://en.wikipedia.org/wiki/RdRand)

<comment><USER11> However, it's RDSEED that needs to be used as input if we use the Intel instructions.

[https://software.intel.com/en-us/blogs/2012/11/17/the- differ...](https://software.intel.com/en-us/blogs/2012/11/17/the-difference- between-rdrand-and-rdseed)

Edit to add: we can obviously pass on the RDRAND instruction directly to the VM, but that's less portable, because not all servers in a server farm may have that instruction available, limiting live migration capabilities.

So we can just pass on output from RDSEED into the host's /dev/random, and feed the VM /dev/random by default as described.

</comment></comment></comment><comment><USER12> how many apps or software follow the random number recommendations described here?</comment>


Ask HN: How critical was "time-to-market"? - <AUTHOR> I am seeking (only) first-hand experiences where time-to-market determined success vs. failure of a startup.<p>For a story to be relevant, the anecdote must be first-hand, and time-to-market must be the factor that predominantly influenced the outcome. <comment><USER2> Can I ask why you are seeking this? In my personal experience success or failure is never the result of a single cause.

<comment><AUTHOR> My experience is aligned with yours, too. That is why I specified that time- to-market must have been the _predominant_ factor.

<comment><USER2> It is really hard to pin down a predominate factor. I could say the difficulties of the early days of my business were predominantly caused by time-to-market because if we had got our products out soon we could have avoided the problems caused by 9/11, but it really was multifactorial.

I have written up about my experience if you want to know more [1].

1\. [https://www.tillett.info/2015/06/24/why-i-kept-my-startup- in...](https://www.tillett.info/2015/06/24/why-i-kept-my-startup-in-australia- and-why-it-was-crazy/)

<comment><AUTHOR> Thanks for sharing!</comment></comment></comment></comment>


On-call - <AUTHOR> https://medium.com/@copyconstruct/on-call-b0bd8c5ea4e0 <comment><USER2> I've been on call continuously for the last fifteen years and agree that women and minorities are underrepresented in operations, but I'm not sure (even after reading this long/rambling post) what missing thanksgiving three years in a row has to do with getting more minorities on the rotation.</comment>


Ever wonder how Google autoupdates its software? - <AUTHOR> http://omaha.googlecode.com/svn/wiki/OmahaOverview.html

<comment><USER2> I love Paint.NET's update system, which I've rarely seen implemented. It asks you if you want to update... as you're quitting the program, not before you launch it. This is such a spectacular idea I can't believe so few people implement it.

It's a good idea because a) it gives me a choice whether I want to update or not b) when I don't need to wait for the update in order to use the software

<comment><USER3> Yup. Quite a few indie Mac programs do this, too, or similarly will ask on startup, but one of the dialog box's buttons reads "Install on quit".

</comment></comment><comment><USER4> I've always wondered about auto-updating software being flagged as a virus. That has always been troublesome for me. So I haven't really explored it, but it seems to be relatively smooth sailing for Google.

The one thing that I have preferred about interactive updating is that it lets users know that things _may_ break during the update. And sometimes, you just prefer running an older version because it works better for you than the newer version.

The problem I have with auto-updating software, including Chrome, is that when big changes are made, I have no point of reference to test, and there is very little I can do to reject a version upgrade. Of course, this has its benefits since you know all users will be forced to upgrade Chrome and you know that you only have to test your site against one version of Chrome.

</comment><comment><USER5> This is an interesting use of .NET ClickOnce. It is probably the largest Clickonce app I've ever used.

</comment><comment><USER6> Personally I find giving this much control to any software on my system (to essentially install anything at will) is too dangerous. I've actually stopped using Chrome and moved to the buggier Chromium because of this worry.

Interesting technology though.

</comment><comment><USER7> On the Mac side, Google uses <http://code.google.com/p/update-engine/>

I don't particularly care for this solution because an update engine is started when the user logs in, and thus is running even if no Google application is. If you know what you're doing you can disable this and Google apps will still be able to update themselves when they are running.

Fortunately, I've not seen Update Engine used outside of Google apps. Most Mac apps use <http://sparkle.andymatuschak.org/> which I think is a far less intrusive solution.

<comment><USER8> It's not necessarily intrusive just because it's running. I bet it's just swapped to disk and using ~0% of the CPU most of the time.

<comment><USER7> There is no configuration for the update engine. It periodically checks for updates, and in the background will download and install those updates. There may situations where I don't want it doing so: e.g., if I'm on a low-bandwidth link. I can maybe understand this if I've got a Google application running, but to do so w/o any Google applications running is unacceptable.

To be clear, I think auto-updating software is a fine default. But every other Mac app I have (since they almost all use Sparkle) will only update itself when running, and further, give me a preference to disable the auto-updates as well as specify how often I want update checks to occur. It is un-Mac-like to silently update in the background and w/o providing the user any control.

</comment></comment></comment><comment><USER9> Great that is it open source and liberally licensed. Auto updating desktop software is a difficult problem to solve, esp with supporting Win95+ and even more difficult once you attempt to support Mac, Linux etc.

There were solid open source solutions until Omaha, even Firefox used a commercial solution until recently.

The one feature request I would have is support for SSL and client certificates, to prevent DNS poisoning and having the auto-updater download, install and execute any arbitrary code. Otherwise, this is fantastic.

</comment><comment><USER10> For me I like having Chrome auto-updated in the background on my Mac, because it always works whenever I need it, and I don't have to think about it at all. However I can understand not wanting auto-updates for software that is less likely to work properly after an update...

I wish that I could set most of my applications to silently auto-update, and then set a few back to manual if I ever decided one had an issue. Auto- updating is an awesome idea for browsers and for frequently updated things like Chrome.

</comment><comment><USER11> Clever as this is, it seems that this should be something provided by the operating system rather than each app doing its own thing.

And I definitely want the option to manage and disable updates. As a sysadmin, Chrome is a nightmare because I never know which version my users are running.

<comment><USER7> _What is Google Chrome for Enterprise? Is it a different build than the Google Chrome I install from google.com?

Google Chrome for Enterprise is just Google Chrome. Every Google Chrome has the same features, so it's equivalent to the Google Chrome you can download from google.com.

What enterprise features does Chrome offer?

Support for group policy and centralized configuration, a specialized MSI installer, and control over auto-update frequency._

[http://www.chromium.org/administrators/frequently-asked- ques...](http://www.chromium.org/administrators/frequently-asked-questions)

</comment></comment><comment><USER12> You can get the source code here:

<http://code.google.com/p/omaha/></comment>


Example Redis binds to just 127.0.0.1 - <AUTHOR> https://github.com/antirez/redis/commit/1024664247a0853569bcd8abe1127cd107a20fc8

<comment><AUTHOR> tl;dr: @antirez just modified the default redis.conf so that it does not bind to the world. In a tradeoff between first-user experience and security, secure-by-default is the way to go.

Just a heads up: when you are freshly installing/configuring Redis from source, be sure to comment out "bind 127.0.0.1" if you wish to access Redis from other servers. (Some distributions, such as Debian/Ubuntu, change the default to bind to localhost only.)

Hopefully this change will minimize exposed Redis boxes with minimal impact. (note, memcache is open to the world by default as well.)

<comment><USER2> thank you Jamieson - a small but an important change in light of recent dramas :)</comment></comment>


Javascript Framework Popularity graphed by Github Archive - <AUTHOR> http://caliper.io/blog/2013/Javascript-Framework-Popularity/ <comment><USER3> It's a damn shame that knockout.js [1] receives so little attention. Both in terms of not being included in the article, and if it had been included it would look quite poor next to the others (currently "only" 3750 stars). But it's a great framework and for some reason it's often overlooked in spite of other lesser libraries (e.g. spine, if we use the github stars metric)

First and foremost, it has excellent documentation. Everything is explained clearly on the site, and it's got a great interactive tutorial [2]. Contrast this to everybody (myself included!) moaning about the angular, ember docs etc.

Besides that, it's got _deep_ browser support (all the way back to IE6!), two- way data-binding, plus it's intuitive and simple. In fact, combined with the excellent docs, I'd wager any competent dev could have the gist of knockout and be quite productive within an hour. It is also extremely easy to extend if you wish to plugin external functionality. Which leads to the final point - <USER2> plays well with other libraries that you're probably familiar with. e.g. I usually pair with Zepto, jQuery and/or AmplifyJS.

In the interest of being balanced, I must say it does have some bad points. The main thing for me is lack of architectural guidance. Nowhere is it explained the best practices for structuring apps. Nor is there any guidance on unit testing. You can, of course, work out all these things yourself, but why must the same problem be solved over and over? Set some conventions and be done with it! That said, there's a framework of sorts being built on top of knockout called Durandal [3] that aims to solve some of these problems. I've not used it yet, but it looks very neat. Also you'd be remiss not to check out Ryan Niemeyer's website [4] for lots of guidance and useful plugins (he's one of the core contributors I believe)

[1] <http://knockoutjs.com/> [2] <http://learn.knockoutjs.com/> [3] <http://durandaljs.com/> [4] <http://www.knockmeout.net/>

<comment><USER4> Knockout gets excluded by many people because it comes from the .NET ecosystem, but that's completely unfair. It's pure JS and has nothing in it that ties it to .NET or Microsoft in any way.

I just picked it for a new project. It's very, very clean and nice.

<comment><USER3> I definitely echo your sentiment. However I think you're slightly off in that it doesn't come from the .NET ecosystem. IIRC Steve Sanderson had released KO before he began working for MS. The affiliation you allude to comes from them pushing it quite hard since he was hired - as you would if you had Steve as your employee!

EDIT: good luck with your new project if it's your first with KO. If it is, let me know and I can give you some quick tips to get you on the right track

</comment></comment></comment><comment><USER5> I'm a big fan of Backbone. I'm used to do most of the scripting by myself and I don't like to mess my html data-attributes with javascript libraries. Also the source code is pure and self-explainatory, supports underscore and is used to be paired with CoffeeScript. Because of that, I'm pretty fast and flexible.

<comment><USER6> I was like you until i try Angular ...

Having an entire data driven view save loads of time,trust me. You can have complexe nested objects, and you dont have to worry about how the view will be updated. Change a value in the object , and the view updates. And Angular works very well with jquery plugins once you get the directive thing.

I still use Backbone for "brochure" sites and campains though, when i port old Flash sites to HTML5.

</comment></comment><comment><USER7> Google Search Trends between Javascript MV* Frameworks: <http://goo.gl/ONZwe>

<comment><AUTHOR> I saw that earlier today. I wonder how much of that just indicates how many developers are searching for help on the framework :)

<comment><USER8> Yea I definitely believe that's the # of searches. I, for one, bookmarked backbone's API and never had to search for it

</comment></comment></comment><comment><USER9> I wish there was also a (stacked) percent graph, to show relative growths.</comment>


Cooper Union Ends a Longtime Custom: The Free Degree - <AUTHOR> http://www.nytimes.com/2013/04/24/nyregion/cooper-union-to-charge-undergraduates-tuition.html?pagewanted=all&_r=0 <comment><USER2> _According to Cooper Union's president, Jamshed Bharucha, it currently operates at a $12 million annual deficit. The number reflects several factors: ... most significantly, $10 million a year in payments on a $175 million loan the school took out a few years ago, in part so that it could invest money in the stock market._

And this, ladies and gentlemen, is why meaningful bank regulation is long overdue. The signs of the present crisis were there to see for anyone with eyes in 2005: in that year my ex-landlady, who was from Bushwick, one of the poorest parts in New York, bought five rental properties with no-money-down loans.

Let's have this again: Bank of America found nowhere better to invest than in this clueless lady that perceptibly could not run her rental empire successfully, and they loaned her the funds anyway.

<comment><USER3> I find the whole idea of borrowing money for investment purposes a little strange. Isn't that basically just gambling?

<comment><USER4> It's a gamble along the lines of "I bet I can invest money better than the bank". Often turns out the bank can invest money better. I wonder who convinced them to invest, er, gamble.

<comment><USER5> If the bank's so smart at investing, why did they give the money to someone who was going to lose it all on the stockmarket? :)

<comment><USER6> Because the borrower had good collateral, and this was good business for the bank. It is what banks are supposed to do.

Bottom line: I think this is _not_ a good case why you need more regulation of banks. It may be a case why you need more regulation of universities.

<comment><USER7> Before we discuss more regulation of either banks or universities, perhaps we should first consider the extent to which we need more regulation of _regulation_.

<comment><USER6> Indeed. That is perhaps the first priority.

Too often the approach "this didn't work out, so we need more of it".

</comment></comment></comment></comment></comment></comment></comment><comment><USER8> One of the biggest problems in higher ed shows its face here: increased administration costs[1]. It is ridiculous how bureaucracy has insinuated itself so thoroughly and, as a result, has driven so many costs up, especially during a time when people should be getting more productive thanks to technology.

1\. [http://www.bloomberg.com/news/2012-11-14/bureaucrats- paid-25...](http://www.bloomberg.com/news/2012-11-14/bureaucrats- paid-250-000-feed-outcry-over-college-costs.html)

<comment><USER9> That is always my question. Where is all this money going? Tuition goes up well above inflation, that money doesn't disappear? Are more professors hired, more facilities built? Keep adding middle managers and secretaries?

<comment><USER2> State and federal funding has shrunk dramatically, and universities must make up the shortfall through tuition. At my university they are building new dormitories, from money out of the general fund, and they hope to recover this through increased enrollment.

They are expanding the faculty, too. But here is the problem: there isn't an infinite supply of capable students; the squabble that is going to happen for the few capable students in the mediocre horde isn't going to be fun. I predict that the model isn't going to be successful, but I cannot see what is going to take its place.

<comment><USER8> That squabble started happening 10 years ago, as universities started shifting far more money to marketing efforts for prospective students. I was working for one of the biggest companies in the higher ed space at the time, and following those dollars became its highest priority.

But you are right, it is going to get _ugly_ as more students question the value of an education versus not or look to other alternatives. The higher ed balloon is stretch pretty thin right now and easy student loans are the only thing left inflating it, IMO.

It's going to pop, and I wouldn't want to be employed in higher ed when it does.

</comment></comment></comment></comment><comment><USER10> The part that I find the most repulsive about this – aside from the fact that the school got itself into debt by borrowing money to gamble it, and then lost it – is that its board of trustees went from a visionary model of free tuition, and against the advice of the professionals it hired to analyse the decision, opted, _on purpose_ , for a sliding scale.

Schooling in america is not fucked up because it charges tuition; that's fine. It's fucked up because it charges tuition so unequally. Often, half the student body does not pay a dime, while the other half gets itself in massive debt because of bureaucratic technicalities. In my case, I paid full $50k/yr tuition, by myself, because not being a US citizen made me ineligible for all scholarships, whereas many of my peers got a free ride even though their families were much wealthier than mine. All around me, and throughout the academic culture of the united states, I see this. Students struggle to battle for the few scholarships schools offer subsidized by the financial hardships of other students.

We'd all be much better off if we abolished all scholarships and dropped tuition to a price much more reasonable for everybody. School ought to cost 5-10k a year, not 50. And everybody should pay it, or take out a loan for it, because at that price, it's a no-brainer.

<comment><USER11> To be fair, I've examined the way college admissions works in the US, and by and large those who get financial aid actually need it, and those who are charged full freight tend to actually be able to pay full freight.

Secondly, in the case of private institutions, they _are_ private institutions and are largely free to spend their endowment as they wish. Most thus choose not to give financial aid to internationals, but some do give aid.

<comment><USER12> Well, and then you have people like me who had to wait 6 years to become eligible for enough aid to even pay tuition, much less pay for food or rent. (I applied for about 40 scholarships when I was 18, so it's not like I didn't try or anything.) I wasn't out to study Chicano Lit or whatever, either; I'm an EE+physics major. Meanwhile, many of my friends who studied liberal arts with thousands of dollars of financial assistance from the state and federal government continue to work the same level of job they held in high school.

<comment><USER11> Without knowing more about the reason you never got aid (wealthy parents refused to pay tuition?), there's not much I can say about the general applicability of your anecdote.

<comment><USER12> There are plenty of articles out there documenting the inaccessibility of higher education. In my experience, and many others, the "aid" system is a ploy to make people who can afford college feel good that they're there on merit (instead of ability to pay, even if that's the actual primary criteria), as well as to give colleges excuses for jacking up tuition even more ("well it -says- $50,000/year, but act now and we'll give you it for $29,999!"...inflates people's egos that they're "so smart" that the college is giving them a $20,001 discount, increases perceived "value" of an institution, and also helps to obscure the real price of attendance so that the only way to find out if you can afford to attend is to gamble away $100+ in application fees before they'll tell you or not).

<comment><USER11> That does not match with my experience, especially considering that the majority of scholarships are need based. Especially at top universities, where merit scholarships are vanishingly rare (except at top LACs - liberal arts colleges).

edit: changed colloquial use of word.

<comment><USER12> Unfortunately, your experience does not match reality, wther it "jives" with it or not. Blithely ignoring the actual situation is, of course, almost guaranteed to ensure that poor but smart people will continue to be priced out of college educations in the US.

<comment><USER11> You see, now your arguments are just devolving into non sequiturs. Do you have any evidence to back up your claims?

The Ivy Leagues, for example, have a strict policy of not giving out merit scholarships or even athletic scholarships. That is a fact.

<comment><USER12> "Over all, the report found, published college tuition and fees increased 439 percent from 1982 to 2007 while median family income rose 147 percent. Student borrowing has more than doubled in the last decade, and students from lower- income families, on average, get smaller grants from the colleges they attend than students from more affluent families."

<http://www.nytimes.com/2008/12/03/education/03college.html>

"While 79% of students born into the top income quartile in the U.S. obtain bachelor's degrees, only 11% of students from bottom-quartile families graduate from four-year universities, according to Postsecondary Education Opportunity."

[http://www.forbes.com/sites/danielfisher/2012/05/02/poor- stu...](http://www.forbes.com/sites/danielfisher/2012/05/02/poor-students-are- the-real-victims-of-college-discrimination/2/)

Anyway, if 1 trillion dollars in student loan debt doesn't sound like a problem to you, there's probably not much to be gained from continuing the discussion.

People like you have no idea what it's like to live below the poverty line.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER13> >...it currently operates at a $12 million annual deficit. The number reflects several factors ... most significantly, $10 million a year in payments on a $175 million loan the school took out a few years ago, in part so that it could invest money in the stock market.

In case you were wondering what is the real cause of this event, 85% of the problem is due to an ill advised stock market gamble.

Which brings me to my hobby horse; why are stockbrokers, financial advisors and investment bankers able to collect such huge pay? Y'all should stop feeding these leeches.

<comment><USER14> I hope the entire board that approved the gambling scheme has been removed.

If not the state attorney general, who is responsible for supervising non- profit boards, should open an investigation.

<comment><USER15> I'm not sure what precedent there would be for either of those actions.

All of the major universities "gamble" with their endowments in the various markets. There's the corny adage that Harvard is a hedge fund with a university attached.

<comment><USER14> It's one thing to gamble with an endowment, that can be couched as investment, and another to borrow money to gamble with and endanger the operational budget of the non-profit you are overseeing.

That may well violate the fiduciary duty of prudence under the New York Prudent Management of Institutional Funds Act.

<comment><USER15> Borrowing money against the endowment is how it's done everywhere, though.

<comment><USER14> I'm sure most endowments use some margin, but there are different leverage ratios. The Harvard endowment has since eliminated net levage, but before the crisis they were levered to 105%. The borrowing that Cooper Union did amounted to 30% leverage.

Further each the duty of prudence has to be measured against each sitution individually, according to the eight factors listed in the law:

(1) general economic conditions;

(2) the possible effect of inflation or deflation;

(3) the expected tax consequences, if any, of investment decisions or strategies;

(4) the role that each investment or course of action plays within the overall investment portfolio of the fund;

(5) the expected total return from income and the appreciation of investments;

(6) other resources of the institution;

(7) the needs of the institution and the fund to make distributions and to preserve capital; and

(8) an asset's special relationship or special value, if any, to the purposes of the institution.

Which is not to say that other boards aren't also violating their duties of prudence, but an egregious case is a good place to start.

</comment></comment></comment></comment></comment></comment><comment><USER16> This article has a less forgiving take on the finances: [http://blogs.reuters.com/felix-salmon/2012/04/25/why- cooper-...](http://blogs.reuters.com/felix-salmon/2012/04/25/why-cooper-union- cant-be-trusted/)

And this fairly extensive piece goes into it as well: <http://nplusonemag.com/save-cooper-union>

It seems like administration and trustees have been treating Cooper Union with the standard expansionary approach that is the norm for universities – spending money to make money, extravagant capital projects, overpaying and overstaffing administration. Disappointing. There are few institutions left for those that value frugality.

</comment><comment><USER17> Note to self: If I ever find myself a billionaire industrialist and I want to start a tuition free school, bake into the rules for operation that any administration that decides to charge a tuition anyway becomes immediately fired along with all administrative positions at that time. If they really feel its best for the institution, let them prove it with unemployment.

<comment><USER18> Well, that's exactly what Peter Cooper did. Education being "as free as air and water" is even in Cooper Union's charter.

With that being said, that's exactly what I would do too.

</comment></comment><comment><USER18> It's a sad day for education. I'm a Cooper alum and have been following this fiasco for quite some time. Feel free to ask me any questions you may have and I'll do my best to answer them.

<comment><USER19> So, its this really caused by them borrowing $170m to play the stock market? What were they thinking?!

Also: What happened with the failed fundraising drive? I would have thought such an exclusive school would have had many well off graduates, who would be happy to help out their old school in its hour of need.

<comment><USER18> Not quite. The media saying that the loan was for playing with the stock market is erroneous. The $175M loan was to build a new building in the east village. However, when the building was complete, some geniuses decided that the leftover money would be better spent in the stock market rather than using it towards paying back MetLife. They did calculations and saw that the gains from new investments would outpace losses from the additional interest. It was a hedge, basically. But then the recession hit, and naturally that investment failed, leaving Cooper both without gains from the investment AND with extra debt burden.

</comment></comment></comment><comment><USER20> What is the level of alumni donation like at Cooper Union? I would think a free education in architecture or engineering (I can't say the same about a free education in art) ought to have some real economic value, and allow some alumni to pay it forward to keep alma mater financially sound.

[http://www.collegeresults.org/search1b.aspx?institutionid=19...](http://www.collegeresults.org/search1b.aspx?institutionid=190372)

<comment><USER21> Apparently, you are unfamiliar with the economics of architectural practice. Six figure salaries are for senior licensed staff. The typical age these days for completing licensure requirements is about 33 based on the few states which have made such data available...and new graduates, well New York City has a long tradition of unpaid internships ( graduates are interns in the licensure process). In the heady days of the boom, an intern from a top school at a big firm might make 60k - for 70 hours a week and holding a degree which takes at least five years to complete.

To put it in perspective, Frank Gehry was unknown until his mid-forties, and only came to the national spotlight for work he did on his own house. How many programmers do you know who are still running a company in their 80's?

Edit: Mathew Arnold did the study which extracted the age at which licensure is achieved. It is presented here: <http://www.di.net/blog/tag/ncarb/>

Matt is a Cooper Union Alum. I played a minor role in the data collection phase - I egged him on.

<comment><USER22> All that. And, if you're at a small firm, you're often chasing small commissions with cheapskate clients who use all kinds of methods to stiff and delay payments. It's tough to build a good portfolio that way. (Like lots of design work in that regard.) Add in the cyclical nature of the construction trade, and it's a rough business.

</comment></comment></comment><comment><USER23> I understand the financial mistakes (underperforming investments). I understand the building mistakes (extravagance, over-spending). What I don't understand is this policy that will (in my opinion) destroy The Cooper Union's core asset: the student body. Having attended, I whole-heartedly believe that nearly all of Cooper Union's value-add is in being surrounded by incredibly intelligent peers. Peers who are now less likely to apply or attend.

Me: Spent two years at Cooper, currently graduating from NYU.

<comment><USER12> Why did you transfer? Just curious.

<comment><USER23> Basically, I derive a significant amount of esteem and happiness from making things that people use. It was this that lead myself and those around me to believe I should pursue Engineering. Unfortunately, I derived very little to no esteem from what I felt was merely "book learning" at Cooper. The school system I grew up in was extremely liberal and forward-thinking, so Cooper Union felt extremely rigid to me (although I acknowledge the possibility that all Engineering programs are like this). I simply couldn't survive four years like that.

Ultimately, I studied Economics at NYU, so I moved away from Engineering to allow myself to pursue development on my own. There are other reasons why I moved to Economics, but thats the gist of it.

<comment><USER18> I'm a Cooper grad -- the first two years are book learning, the second two were hands on. I built lots of fun stuff; interactive art projects with the art school, lots of robots, and even a race car for my senior thesis.

<comment><USER12> Race cars sound quite exciting.

</comment></comment></comment></comment></comment><comment><USER24> This really feels like a smaller version of the American story. Corporate boards make large investment gambles, stock market tumbles, the regular people end up paying when it all goes south. Nobody on Cooper's board has been asked to step-down for the decisions that led to this crisis.

<comment><USER18> We alumni have actually asked basically the entire board and the Cooper president to step down. (Edit: though I don't believe we've made an official petition yet. I'm sure that'll happen soon.)

<comment><USER24> glad to hear it, they are so incomprehensibly bad it is hard to put into words. They took a beautiful thing and ruined it for what I do not see. A new building? Higher profit margins? A desire to keep-up with the aspirations of the other corporate boards they are on?

</comment></comment></comment><comment><USER25> I had never heard of cooper union before, but am curious, did they have a huge endowment to fund the school for so long? The article states they own land under the chrysler building, and the founder endowed them with the buildings and land 100+ years ago. However for ongoing expenses (staff, upkeep, etc), how were they funding this prior?

<comment><USER15> They just have one building, small staff and student body, and don't have to pay taxes. The main expense is salaries.

<comment><USER25> Yeah but with no tuition how do they even pay that?

<comment><USER15> They have (had?) a $600 million dollar endowment.

I also looked it up on wikipedia, and it looks like the endowment also owns the land underneath the Chrysler Building.

 _A substantial portion of the annual budget, which supports the full-tuition scholarships in addition to the school's costs, is generated through donations from alumni in both the public and the private sector. In addition, real estate has become a very important asset to the College and has drastically increased its endowment to over $600 million.[43] The land under the Chrysler Building is owned by the endowment,[44] and as of 2009, Cooper Union received $7 million per year from this parcel. Further, under a very unusual arrangement, New York City real-estate taxes assessed against the Chrysler lease, held by Tishman Speyer, are paid to Cooper Union, not the city. This arrangement would be voided if Cooper Union sold the real estate. In 2006, Tishman Speyer signed a deal with the school to pay rent that will escalate to $32.5 million in 2018, $41 million in 2028 and $55 million in 2038. Cooper Union investment committee member John Michaelson acknowledged to the Wall Street Journal that Tishman Speyer "would not have signed a generous agreement like that had it been approached in 2009."_

<comment><USER18> Cooper has a $600M endowment. $120M of that is non-real-estate, and $60M is restricted.

</comment></comment></comment></comment></comment><comment><USER26> When your expenses are greater than your revenue, increasing your risk exposure is not a real solution...

</comment><comment><USER27> Hardly the first university to step up to the chopping block faced with growing expenses y/y.

FRBNY website has some nice chart porn for those looking for more insight into the student loan debt bubble thats in full upswing :D

</comment><comment><USER28> They borrowed money to gamble with it on the stock market?

And now they are going to drain their userbase to cover for their gambling debts and their overblown salaries?

That's not an institution I'd like to attend to.

<comment><USER18> Not quite. They borrowed money to build a building, but used the leftover cash to invest in the stock market. They calculated that capital gains would outpace the additional debt interest. But then the recession hit, and they basically lost that money.

</comment></comment><comment><USER29> Oh, my poor institution! :-(

</comment><comment><USER30> from free to 40 grand a year...

<comment><USER31> To be fair, every semester we were given a bill for the total cost with tuition "discounted", so it usually looked something like:

        Subtotal: $37,000
        Amount Due: $1400 (student fee)

I thought they were just making passive hints until the new president came in and had to tell us all the bad news...</comment></comment>


College Apologizes for Serving Mexican Food During Sci-Fi Event - <AUTHOR> http://thepunditpress.com/2015/04/16/college-apologizes-for-serving-mexican-food-during-sci-fi-event/

<comment><USER2> "The college received complaints saying the combination was racist because of the association between Mexicans and illegal immigrants."

So if they had Chinese food buffet, would people also call it racist??

This is Political correctness gone awry and the only people making the racist connection between tasty Mexican food and Space are actually racist themselves.

<comment><USER3> >>So if they had Chinese food buffet, would people also call it racist?? If it could be used to hate on "guilty" whites, they certainly might try it.

</comment></comment><comment><USER4> The future suffers from apologizing for silly things. Self-censorship is good in many ways, but it gets perverted by everyone's desire to not "get in trouble" combined with the ease of upsetting someone and having that upset amplified unjustifiably. This is crowd-sourcing big brother and absolutely should not be celebrated.

</comment><comment><USER5> The connection between an "intergalactic" theme and Mexican food is so tenuous as to be extant only in the minds of those who are either a) actually racist or b) really digging for something to get upset about.

</comment><comment><USER6> As a mexican I wish all you of you ate mexican food more often - I don't understand how someone could complain about this.

Maybe they should have added shreded cheddar cheese and called it tex-mex

<comment><USER7> BTW (real) mexican food is so fresh, tasty and nutritious, I don't get why all the hate.

</comment></comment><comment><USER8> "the event "demonstrated a cultural insensitivity on the part of the program planners"

Should be:

"the complaints "demonstrated the cultural over hypersensitivity on the part of political correctness in some people."

</comment><comment><USER9> I think that serving any dish at a popular event is a compliment to that particular chef, caterer, or dish being served.

I don't imagine anyone felt racist going back for seconds.

</comment><comment><USER10> Assuming it wasn't _illegal_ Mexican food I fail to see the problem. Maybe it was? Aha!

</comment><comment><USER11> Mexican food is just Mexican food... And it is yummy.</comment>


Lenovo CEO shares $3.25m of his bonus with employees - <AUTHOR> http://knowtifier.com/news/269/lenovo-ceo-shares-325m-of-his-bonus-with-employees/ Thats a great way to encourage the employees to work harder. anyone disagree? <comment><USER2> blogspam…

original source: [http://www.bloomberg.com/news/2013-09-01/lenovo-chief- yang-s...](http://www.bloomberg.com/news/2013-09-01/lenovo-chief-yang-shares- bonus-with-workers-for-second-year.html)

<comment><USER3> But how's his English accent?

<comment><USER2> you'll be the judge of that: [http://www.youtube.com/watch?v=qIKaushS72k](http://www.youtube.com/watch?v=qIKaushS72k) B)</comment></comment></comment>


Ask HN: What methods do you use to see if there's a market demand for a product? - <AUTHOR> <comment><USER2> Start with problems that have a large enough market, understand the issues, find a solution and package it as a product.

If the problem is big enough, and the solution solves the pains, then the demand will be there.</comment>


Alzheimer's could be the most catastrophic impact of junk food  - <AUTHOR> http://www.guardian.co.uk/commentisfree/2012/sep/10/alzheimers-junk-food-catastrophic-effect <comment><AUTHOR> Version with sources can be found here: <http://news.ycombinator.com/item?id=4507694></comment>


Textecution Hopes To Put An End To Texting While Driving - <AUTHOR> http://www.techcrunch.com/2008/12/22/textecution-hopes-to-put-an-end-to-texting-while-driving/

<comment><USER2> """ Textecution on their child's Android phone, they are asked for an 'admin phone number', which will be contacted if the child ever needs to temporarily deactivate the app (like if they're on a train or in the passenger seat). """

This could be really annoying if the train is underground which is probably the case for most subway systems.

</comment><comment><USER3> with that name I expected a web app that links an execution chamber to a sms system.

Every time someone texts to the account with [1] the voltage is increased by 1. And when a person texts with [0] the voltage is dropped by 1. All users would be able to watch the result on a webcam.

The app would be monetized by charging $.99 per message. And by letting users buy volts in bulk at a discount.

Instant millions!</comment>


Show HN: Luculent, a new code/terminal font - <AUTHOR> http://eastfarthing.com/luculent/ <comment><USER2> Still haven't found anything that beats Consolas (at least on Windows machines). Inconsolata comes close, but the strokes are a bit thin and spacing is too crowded.

EDIT: OK actually I just tried the hinted TTF version of Inconsolata from Google Fonts [0] and the stroke width is way better. Still crowded - like each glyph takes up juuuuuust a little too much of its bounding rectangle (whatever you would call that).

[0] [http://www.google.com/fonts#UsePlace:use/Collection:Inconsol...](http://www.google.com/fonts#UsePlace:use/Collection:Inconsolata)

<comment><USER3> I use Mac, not Windows, so I'm sure I see them rendered quite differently than you, but I prefer Source Code Pro.[1][2] They are extremely similar and I agree nothing else comes very close.

It's the lower-case 'i' that does it for me.[3]

Fewer serifs in general allow me to read more quickly, I feel. 'i' has 1 to Consolas' 3, while lower case 'l' (L) has 2 to Consolas' 3.

One negative is that I much prefer Consolas' 0-with-slant to Source Code Pro's 0-with-dot.

By the way, the first link below is from a very cool resource I just found with votes and comparisons of many of the most popular choices: [http://www.slant.co/topics/67/~what-are-the-best- programming...](http://www.slant.co/topics/67/~what-are-the-best-programming- fonts) (It seems the web has become more informative on this topic than the last time I surveyed all the font options.)

Finally, this is what the designer of Source Code Pro, Paul D. Hunt, had to say about the two[2]:

> _Consolas is narrower than most monospaced fonts at 55% of the Em square, > where I stuck with 60% for Source Code. If the narrowness is a top selling > point for you, then Consolas is definitely king._

[1]: [http://www.slant.co/topics/67/viewpoints/5/~what-are-the- bes...](http://www.slant.co/topics/67/viewpoints/5/~what-are-the-best- programming-fonts~source-code-pro)

[2]: [http://blogs.adobe.com/typblography/2012/09/source-code- pro....](http://blogs.adobe.com/typblography/2012/09/source-code-pro.html)

[3]: [http://blogs.adobe.com/typblography/files/2012/09/Confusable...](http://blogs.adobe.com/typblography/files/2012/09/Confusable_Chars.png)

<comment><USER4> I felt the exact same way about Consolas' i and l… so much so that I hacked its metrics to remove the extra serifs.

[http://mbauman.net/geek/2009/03/15/minor-truetype-font- editi...](http://mbauman.net/geek/2009/03/15/minor-truetype-font-editing-on-a- mac/index.html)

<comment><USER5> This is such a nerdy comment, and I love it.

</comment></comment></comment></comment><comment><USER6> Always appreciate a new code font. This one seems to have a very laid-back, "fun" style, which is really not for me, but still nice to see work in this area.

(For reference, I use DejaVu Sans Mono, which is wonderfully plain and simple.)

<comment><AUTHOR> Thanks. I can't say that I ever really thought of it as having a particularly "fun" style. Monaco and Monofur and some others always seemed far more so to me. It could just be that it feels plain to me at this point due to familiarity, however.

And yes, Deja is a good alternative too. I certainly used that one for a while.

<comment><USER7> Overall, great font! The only thing that I don't like is the lowercase i, but maybe I am just being picky. All of the characters are very easy to distinguish.

</comment></comment></comment><comment><USER8> I am enjoying this font. At first when I saw the screenshots I thought I wouldn't. But, I like to give every new "programmer" font a try. I tried it and I didn't like it at first but it's quickly growing on me. Seems to work best at 13px in SublimeText 3 on my rMBP. If I make it smaller then I feel the need to add line padding.

Before this I was using Fantasque Sans Mono[1]. Thanks for sharing!

[1]: [https://github.com/belluzj/fantasque- sans](https://github.com/belluzj/fantasque-sans)

<comment><USER9> Fantasque is really nice, thanks!

</comment></comment><comment><USER10> Here's an incomplete list I tested awhile ago:

      Andale Mono
      Bitstream Vera Sans Mono
      Consolas
      Courier
      Courier New
      DejaVu Sans Mono
      Droid Sans Mono
      Inconsolata
      Liberation Mono
      Lucida Console
      Monaco
      Source Code Pro
      Verdana  // yeah, Verdana is still a king of small

Luculent appears awkwardly tall, thin, and squished in Sublime. Very hard on my eyes. Playful "i" but way too hectic altogether. I appreciate the thoughtfulness in approach and hope it works well for others. For all the people who love Verdana: the DejaVu or Bitstream (nearly the same, same author) typefaces are the closest. Still using DejaVu Sans Mono for now.

<comment><USER11> What do you think of Dina?

[https://www.donationcoder.com/Software/Jibz/Dina/](https://www.donationcoder.com/Software/Jibz/Dina/)

<comment><USER10> Good addition. Dina is thinner but _very_ similar in proportions to DejaVu at size 8. But at 8 or above, it doesn't cut it, having less lines and lacking enough weight to focus. (Note: I use a white background, which obviously affects everything.) That said, Dina outshines DejaVu in readability for anything smaller.

Edit: Dina has a lot of beauty. Nice blocky style once it's large enough. It's also excellent at a very tiny scale in a web browser.

Edit2: Sublime is giving very different and inconsistent results vs. some IDEs and other interfaces. Blah, really depends.

</comment></comment></comment><comment><USER12> Thanks for this. I think I will stick with Inconsolata but I'm glad people are making new fonts and trying things out.

<comment><USER13> Inconsolata is my favorite too. I've actually moved to Inconsolata-g because of the "0"s [http://leonardo-m.livejournal.com/77079.html](http://leonardo-m.livejournal.com/77079.html)

<comment><USER14> I moved away from Inconsolata because of the lowercase g, and I was excited about your link until I saw that despite it being called Inconsolata-g, the g has remained the same. Instead I now use the packaged font that comes with Espresso (Espresso Mono) (but I use it with Sublime Text, you can find the font in the Espresso package) and it's treating me well so far.

Here's an example, you might not like the zero: [http://i.imgur.com/QNpR2Og.png](http://i.imgur.com/QNpR2Og.png)

</comment></comment></comment><comment><USER15> My current favorite monospaced/coding font is (or, was) "Cosmic Sans Neue Mono"

It's apparently been renamed to "Fantasque Sans Mono", in part because it was suffering from the name similarity to Comic Sans... (a shame, I thought that was kind of funny :)

[https://github.com/belluzj/fantasque- sans](https://github.com/belluzj/fantasque-sans)

[http://openfontlibrary.org/en/font/fantasque-sans- mono](http://openfontlibrary.org/en/font/fantasque-sans-mono)

I find it nicely quirky/playful looking compared to the somewhat stolid appearance of many monospaced fonts, while still being extremely readable and practical... :]

</comment><comment><USER16> Terminus at 16pt - [http://i.imgur.com/cHk7yUE.png](http://i.imgur.com/cHk7yUE.png)

I spend my life in idea IDE's on Linux and thanks to the shonky font rendering in swing apps on Linux the only two that I can standard are Deja Vu Sans Mono (which is nice) and Terminus at 16pt which then looks like Terminus bitmapped.

<comment><USER17> You're probably already aware of this, but just in case: it's possible to force Swing (and AWT) apps to use the system's font rendering with the "swing.aatext" and "awt.useSystemAAFontSettings" respectively.

I have the following in my IDEA .desktop file:

export _JAVA_OPTIONS='-Dawt.useSystemAAFontSettings=on -Dswing.aatext=true' && idea.sh %u

This is the result: [http://i.imgur.com/3V9Nf3k.png](http://i.imgur.com/3V9Nf3k.png)

<comment><USER16> Thanks and yes I've played with those settings.

While much better not quite right still and also I have some screens rotated so I have hrgb and vrgb which looks fuzzy, I played with setting it to gasp/lcd.

Using Terminus because it is a pixel perfect font with no aliasing means that rotation etc just don't matter.

</comment></comment></comment><comment><USER18> The first thing I always, always look at when reviewing a new monospace font for coding is I look at the 'l'.

The first time I googled monospace fonts, you see, to decide what I wanted to use when I was setting up my first IDE (intelliJ, I think it was), I saw a bunch of images of different fonts, and when I saw the 'l' of DejaVu Sans, my jaw dropped. It was beautiful.

You have that similar style of l. Source Code Pro has it, as does Ubuntu Mono and Menlo. It's that straight notch at the top with the curvy tail at the bottom. I love it. It's kinda quirky but elegant at the same time.

I'm still using DejaVu because many of those other ones have the asterisk symbol appearing too low for my taste.

I like your font. I see what someone else meant when they said it looks kinda 'fun'.

In your screenshot in the top left, I noticed the word 'int' looks a bit wonky. the n and t are kinda leaning into each other, with the i leaning outward. Character balance is a hard thing to achieve, I've read. Keep working on it, it's a very lovely project.

<comment><USER18> Found Menlo for Windows and gave it a shot. The "i" italic is way too slanty, it looks weird with syntax highlighting.

Then I found Meslo, which is some guy's attempt to copy Menlo and make it available for windows; this fixes my problem with Menlo, and also fixes my only problem with DejaVu : the dotted zeroes as opposed to slashed zeroes.

Current monospace font recommendation: Meslo [https://github.com/andreberg/Meslo-Font](https://github.com/andreberg/Meslo- Font)

<comment><USER18> screenshot of meslo in action in dark ide (pycharm) [http://i.imgur.com/dSw8e2W.png](http://i.imgur.com/dSw8e2W.png)

</comment></comment></comment><comment><USER19> The site claims that it's 'crisp,' but the sample pngs are blurry on my Mac.

(Yes, I know why this is the case technically, but I don't need to get into that to make my point.)

<comment><AUTHOR> Macs ignore hinting when rendering antialiased. Try the prehinted version (probably 72 or 144 DPI). It also works best with dark on light on the Mac due to gamma.

Regarding PNGs, the samples are rendered with hRGB subpixel rendering. I don't think Macs have ever used anything else, but that may be a possibility. Hopefully its not just browser resizing.

<comment><USER20> The fact that light-on-dark text looks terrible on Macs isn't due to gamma—it's due to the fact that subpixel rendering for light-on-dark text is broken on Macs.

More info: [http://www.lighterra.com/articles/macosxtextaabug/](http://www.lighterra.com/articles/macosxtextaabug/)

Generally I like Mac OS X's font rendering much better than Windows's, but this is one aspect that drove me up the wall when I was redesigning my personal website. (I wrote a bit about the issues I had with this bug in this article: [http://kronopath.net/blog/dawn-of-a-new- day/](http://kronopath.net/blog/dawn-of-a-new-day/). Search for "The bug".)

</comment></comment></comment><comment><USER21> The "i" seems to be positioned weirdly (not a font expert). What I mean is that "int", "unsigned" and "Wizard" all look like the "i" is shifted slightly to the left.

<comment><USER22> That's commonly referred to as Kerning: [http://en.wikipedia.org/wiki/Kerning](http://en.wikipedia.org/wiki/Kerning)

I find that the biggest problem with the font as well. For a monospaced font, it doesn't look all that monospaced. Many of the glyphs have odd positioning. It gives the font a look of activity or "fun-ness" that doesn't match well with it's intending purpose as a coding font.

<comment><USER23> relevant: [http://xkcd.com/1015/](http://xkcd.com/1015/)

</comment></comment></comment><comment><USER24> My terminal font of choice in recent times is Hermit ([https://pcaro.es/p/hermit/](https://pcaro.es/p/hermit/)) - very readable anti aliased font both in the terminal and within IDEs (on Linux). Somehow doesn't render as well on Windows (but then again, who uses Windows for serious work anyway ;)). I can't wait to try this out once I get my hands on my personal workstation, since there's no such thing as too many programming fonts.

</comment><comment><USER25> Luculent looks interesting, but I still haven't found anything that beats Ubuntu Mono on my machine. I think it's interesting that coding font preferences differ based on operating system. Regardless of operating system, the favorites I tend to see on threads like this are Ubuntu Mono, Dejavu Sans Mono, Inconsolata, Consolas, Source Code Pro, and Monaco.

<comment><USER26> I like to test drive new fonts whenever they pop up, but I always come back to Ubuntu Mono! For anyone wanting to see/try it -

[http://font.ubuntu.com/](http://font.ubuntu.com/)

</comment></comment><comment><USER27> Definitely appreciate a new code font, even if this one doesn't so much look like it'd meet my everyday use. It's a bit too "thin", for lack of a better word, even if it does meet most of my requirements for distinguishing characters/numbers quickly.

But oh man do I love how readable that is at 5x11 pixels. That's beautiful, good work.

<comment><AUTHOR> Thanks, glad you like the small sizes.

By "thin", do you mean narrow and condensed, or do you mean the weight of the stems? For the former I wanted a decent amount of code to fit on a line -- I tend not to like the expanded look of some fonts and prefer something a bit more condensed. If you mean the weight, that's something of a design constraint due to trying to keep it crisp at low resolutions by grid-fitting to whole pixel boundaries.

<comment><USER27> I think it's the weight that's throwing me off--and yeah, I realized they were probably linked after I said it.

</comment></comment></comment><comment><USER28> OS X user here. While I generally prefer Menlo¹ myself, I've found myself predominantly using Everson Mono² simply because of the wide range of characters it supports in Unicode's BMP (and unbelievably, SMP as well!). I'm pretty sure it contains glyphs for more Unicode codepoints than any other monospaced font mentioned here. Not to mention that it was created by Michael Everson³, who has made a sizeable number of contributions to the Unicode Standard himself.

――――――

¹ — [https://en.wikipedia.org/wiki/Menlo_(typeface)](https://en.wikipedia.org/wiki/Menlo_\(typeface\))

² — [https://en.wikipedia.org/wiki/Everson_Mono](https://en.wikipedia.org/wiki/Everson_Mono)

³ — [https://en.wikipedia.org/wiki/Michael_Everson](https://en.wikipedia.org/wiki/Michael_Everson)

</comment><comment><USER29> Two quality fonts that I haven't seen mentioned here yet: Bitstream Vera Sans Mono, Pragmata Pro.

<comment><USER30> Pragmata Pro has been my favourite for the last year or so, and was the first font to truly displace fixed 6x13

... but recently I've been addicted to Cousine.

<comment><USER31> I can still remember a time when monospace, aliased bitmap fonts were preferred by the majority of coders, but it seems things have changed especially in the past few years... but I still prefer the standard X fixed fonts with their zeros slashed and find antialiased fonts more difficult to focus on.

<comment><USER32> > things have changed especially in the past few years

In one word: Retina.

</comment></comment></comment></comment><comment><USER33> Cool looking font, it reminds me of my handwriting style (especially the italicised version). If the author is around, can you explain why you chose to extend the brackets and parens below the base line of the other characters?

<comment><AUTHOR> Thanks, and I'd be happy to explain. They extend from the bottom of the descenders to the top of the ascenders. So if you look at something like: [h][a][g], you'll see the 'a' is roughly centered and the top of the h and the bottom of the g line up. So for things like foo() and class blah { ... }; the o and semicolon are roughly centered vertically on the opening paren and closing brace, respectively.

If you look at Consolas, for example, you'll see this is hardly unique.

<comment><USER34> Interesting. Thanks for sharing this font! I've been trying it out for a bit and really like its feel. Great work!

</comment></comment></comment><comment><USER35> This looks decent but not so great when using large sized fonts. I have yet to find a better font for my terminal than NanumGothic ([http://dev.naver.com/projects/nanumfont/download](http://dev.naver.com/projects/nanumfont/download)). It was created from a large Korean web company called Naver and I love the horizontal spacing especially when using larger sized fonts (ie size 16 and above since I like fonts large on terminal)

</comment><comment><USER36> Not unpleasant. The 'i' feels funny and I'm not sure about the curvy 'y'. Maybe it's too similar to 'g'. But really not unpleasant.

</comment><comment><USER37> Looks good and I'm sure it'd appeal to a good chunk of people, but it's not for me I don't think.

User feedback: for me a font is more than something that is easily read. I value font's that, in some way, make it _fun_ to write. For example, the font with iA Writer is almost addicting in the way it tempts me to write more. Of course, however, you would want monospaced fonts for coding...

</comment><comment><USER38> Good work, though I largely prefer Source Code Pro (Medium). This is probably the most well-done monospace font I've seen.

If you want to take a look see here : [http://store1.adobe.com/cfusion/store/html/index.cfm?event=d...](http://store1.adobe.com/cfusion/store/html/index.cfm?event=displayFontPackage&code=1960)

</comment><comment><USER39> Do the ISO-8859-2 charset pretty please!

<comment><AUTHOR> I certainly plan to keep expanding it. That one's on my list.

</comment></comment><comment><USER40> Always happy to try out a new monospace!

NB: In Mac Terminal, the box drawing characters don't connect. This is far more common than not, the easiest-access font that does this correctly is Monaco. I mention because the home page lists the box drawing characters as a feature.

<comment><AUTHOR> Interesting. I thought I'd tested that fairly recently, but I'll check that again. Do you see the gaps vertically between lines or horizontally between adjacent characters? (Or both?)

</comment></comment><comment><USER41> I'm all about the DejaVu Sans Mono: [http://dejavu- fonts.org/wiki/Main_Page](http://dejavu-fonts.org/wiki/Main_Page)

Best combination of readability and _massive_ selection of Unicode glyphs of any fontface I've found.

</comment><comment><USER42> I want it on my iPad [http://www.reddit.com/r/jailbreak/comments/1ztsah/requestfon...](http://www.reddit.com/r/jailbreak/comments/1ztsah/requestfont_luculent_a_family_of_scalable_vector/)

<comment><USER43> There's an app for that:

[https://itunes.apple.com/gb/app/anyfont/id821560738?mt=8](https://itunes.apple.com/gb/app/anyfont/id821560738?mt=8)

</comment></comment><comment><USER44> Nice work. I'm in the middle of a big project so I don't want to take time to get used to a new font right now, but will try it again when I have some downtime.

N.B. I'm using Inconsolata right now, and have been for quite a few years.

</comment><comment><USER31> I stared at the example and something kept catching my attention but I didn't know what it was until I compared it to my usual coding font (xterm6x13, modded with slashed zero) - the zero is slashed backwards!

</comment><comment><USER45> Very nice. I'll stick with Proggy Clean but, as it is fixed size, and displays' densities keep increasing, I'll have to ditch it some time. Luculent is a prime contender for that spot.

</comment><comment><USER46> Mensch, an older code/terminal font. [http://robey.lag.net/2010/06/21/mensch- font.html](http://robey.lag.net/2010/06/21/mensch-font.html)

</comment><comment><USER47> Any size larger than 10 is cut in the bottom of the glyphs when rendered in plan9port's acme windows. 10 and 9 look correct. Happens with pre-hinted and normal version.

</comment><comment><USER48> This reminds me a bit of the programming books of old, where the paper was a bit cheap - a similar colour to the background of this H/N page in fact.

</comment><comment><USER49> Definitely agree with some of the other posts here: looks like something I would use if I still played MUDs due to its playful feel.

</comment><comment><USER50> Are these characters exactly 1/2 em wide? For Chinese and Japanese users we need them to mix with 漢字(which are 1em wide).

<comment><AUTHOR> Not exactly. Their designed advance width is 1120 "font units". The TrueType convention (which I followed) is 2048 font units per em. So they're close but not quite 1/2 em wide.

However, many rasterizer round the widths to whole pixel sizes. Taking that into account, I do see them coming out to exactly half the width at certain sizes on this machine.

</comment></comment><comment><USER51> Like this font, reminds me of old soviet books, also the 'handwriting' effect is neat. Please try to expand more.

</comment><comment><USER52> This font is too condensed and becomes unclear because of it.

</comment><comment><USER47> Is there no good serif monospaced (preferably bitmap) font?

<comment><USER31> I prefer the Xterm default Fixed fonts ( [http://en.wikipedia.org/wiki/Fixed_(typeface)](http://en.wikipedia.org/wiki/Fixed_\(typeface\)) )

The IBM VGA font is a close second: [http://i.imgur.com/XtzqR.png](http://i.imgur.com/XtzqR.png)

</comment></comment><comment><USER53> Reminds me of the TwitchPlaysPokemon phenomenon lately.

</comment><comment><USER47> Any chance of a PCF version?

</comment><comment><USER54> Pragmata Pro works for me

</comment><comment><USER55> God damn, that's an ugly one. Super-thin, and look at the lowercase "i" slant backwards so much, it merges with the character before it, especially at small sizes.

<comment><USER15> It's the "square/angular" look I don't like. I prefer a rounded font.</comment></comment>


Ask YC:  Getting In the Zone? - <AUTHOR>

Noprocrast is a great feature, however in my experience anti-addiction tools have a limited effect on procrastination.  Procrastination is avoidance behavior by definition, and I've found that I can always find something to do instead of dealing with the large context switch that comes with hacking.
One thing I'm trying is looking for opportunities to leave easy compiler/interpreter errors in my code, so that when I sit down to work I can just run the module I was working on and the compiler will immediately point me to a place to get started.  This is somewhat similar to the advice pg gave in Hackers and Painters about saving up bugs to do when you're tired, but I've found it works really well for remembering where you were.
Even if you don't leave a bug on purpose, sometimes having a routine like that can help.  What techniques do you use? <comment><USER2> I don't try to avoid procrastinating.

Ok, that sounds wrong. Let me try again: I find that when I'm procrastinating about writing a particular piece of code, it's because there's something nagging at my subconscious telling me "this isn't the right way to solve this particular problems -- go away and think some more".

Once I know what the next step is and know that it's the _right_ next step, I find that I don't procrastinate any more.

<comment><AUTHOR> Excellent advice, though not always compatible with scheduling, deadlines, or competition.

</comment></comment><comment><USER3> It's all about eliminating distraction. That means an isolated location, with sound isolation, and no irrelevant people around. Getting in the zone is just a matter of time for me. Spending 20 minutes on something means I should be able to get a good few hours.

The biggest barrier to this is the "i'll start right after [X]". Go the the bathroom, chat with someone about an idea, get a cup of coffee, check my mail, comment on a news article, write a blog post about a cool dancing robot, submit a time card, get a long lunch, go to a neighboring cube to get a piece of candy, get a glass of water, check on my finances, etc.

People fill days doing junk like this. Even if interleaved with real work, the lack of focus prevents the coveted "zone". Identify and eliminate everything besides work that you're doing when you should be in a long stretch of work.

</comment><comment><USER4> A variation of what you propose: advocates of test driven development suggest you always leave your coding session for the next day with a failing test.

A common advice for variants of writer's block is to have some sort of ritual to get you started cranking away. The exact actions are not that important. It could be taking a shower, doing a tea, tidying up your desk, taking some deep breaths, whatever. When you do these things everyday in the same order, your 'muscle memory' eases you into a creative state. I haven't tried this, though.

I'm bad at fighting procrastination. When it gets really bad, I just abuse until I feel the honest urge to get back to work (I mean honest urge as opposed to remorse).

There are some things I found that help when I follow them, although I admit I don't follow them consistently enough:

\- Find the time of the day that works best for you. It doesn't need be the same clock time every day. In my case I have screwed sleep patterns (tending to a longer day), so I set it as a delta from my waking time. (I'm considering trying to settle into a 28 hour day, as in <http://xkcd.com/320/> , but I'm digressing.)

\- Be proactive and aggressive about freeing such time from interruptions.

\- Allocate time to do other things you want to do too, including the things you procrastinate in. Doing this helps you not to feel more deprived from (other) fun than from work.

When work time comes and I feel like doing something else, I make myself realise I'm practically missing the working day if I do so. Most times that will get me an honest urge to work. When it doesn't, I just go ahead and do something else all day. I can chain a few days like this, and not everyone can afford this. Eventually I come back refreshed and with no remorse. Other people (and myself, in my late teens/early 20s), would just get into a procrastination/regret spiral instead. YMMV.

<comment><USER4> Another thing that helps: when my last session was spent mostly coding, and I'm having trouble getting back into it, I will just take pencil and paper and sketch stuff away. Often, I'm blocked because I don't really understand well enough some part of what I'm doing, or of where I want to get to. Drawing or (otherwise) restating the problem gets me back to the state where you spend hours just knowing what to do next.

And viceversa, if I've spent too much time 'designing' or otherwise thinking about the problem, I unblock by going off and making _something_ I can run. I may eventually throw away that code, but it got me going forward.

So I don't have much of a methodology. Thinking about doing and actually doing are things I do to procrastinate from each other, if you want.

One technique that does help: I keep a stack.txt document, where I write my current tasks (a short phrase each), organized hierarchically (I use indentation because of a Python background; a Lisp native might use sexprs instead). When I stumble into a subtask that I need to do sometime, but which I can get away without for the time being, I 'fake it til I make it', and I enter a reminder of the proper solution in my 'mind stack' as a subtask of the current one. Whenever I think of an unrelated task that I want to do later, I will enter a reminder at the end of the stack. [Edit: OK, so it's a tree, where each path to a leave is a stack of context about what you're doing.]

That avoids two problems that used to get me lost when hacking: getting lost in subtasks and losing context of what I was doing, and trouble deciding what to do next (it's easier to decide with confidence if you can see your options written together).

</comment></comment><comment><USER5> First i used to sit on the couch in my lounge using my coffee table, as my laptop table... couch was becoming uncomfortable, so built myself one of those little indian/chinese/japanese styled desks, where you sit on the floor, cross legged... Then I moved from the lounge (with the TV) into a study/music room. Did miracles to my levels of concentration with absolutely no distractions. Any time I was out of the room, I "knew" i wasnt working, hence forcing myself to get back into the den! Plus being in the den meant lesser and lesser interruptions/nagging from the wife!

</comment><comment><USER6> The hardest part for me is getting the ball rolling. My primary method is to pick the most fun thing I can think of to do. I try not to feel guilty for starting with something easy or fun, because it's such a good way to get going. Once I'm on a roll it's not nearly as difficult to tackle the nastier problems.

<comment><USER7> Isn't that a way to fall behind on schedule and implementing things you don't need? I guess you're assuming that what you can pick from is what you HAVE to do.

<comment><AUTHOR> I think the idea is that you make a point not to let the idea of drudgery get you down early-on, because it can be overwhelming to the point where you get _nothing_ done.

In the context of an afternoon's work, it might mean you start with a small utility that you know is good but might not have any immediate value, or some optimization tweak that's been itching you for awhile. That'll get you immersed into the project and excited about further possibilities, so tackling drudge-work won't seem so bad.

That idea also applies more generally, and is often the idea alluded to when you hear people around here talk about banging out a 'Version 1' as fast as possible.

</comment></comment></comment><comment><USER8> I have two methods:

One, think of what you _have_ to do and find the smallest possible task that's still interesting (e.g read the first paragraph of a book, write the cornerstone function of your program and leave the menus for later) and start with that. Chances are that, as you go along, your interest in the subject will build and you'll end up working for hours.

Two, find a way to make that disgusting job fun. Maybe you can write the most important part of your program in your favourite language and the GUI in the one you've wanted to learn for years but haven't had the time, so you are still using your time wisely in spite of writing a GUI.

It's all about tricking yourself.

</comment><comment><USER9> WWJBD - What Would James Bond Do. Treat hacking like what it is: a tough, rigorous activity that requires huge amounts of energy and persistence.

So whenever you feel like procrastinating, tough it out, clench your teeth, and just start.

</comment><comment><USER10> Written while at my last job: <http://issackelly.com/blog/2007/04/815-am- daily-battle.html>

note: <\-- just a joke, obviously

</comment><comment><USER11> My number one method to get in the zone is quiet.

I use a pair of Audio-Technica ATH-ANC7 QuietPoint Active Noise-Cancelling Headphones - they have been a god sent for me.

</comment><comment><USER12> I have a sand clock on my desk.It brings a spatial dimension to the passage of time which the lower parts of my brain understand better.

My clock gives me one hour, when I find that I am procrastinating, I turn the clock and promise myself not to do much else other than work till the clock is running. works every time. But their is some sort of ritualistic behaviour involved. you have to respect and even fear the sand clock for this to work.

</comment><comment><USER13> It all comes down to passion/love. It's easy to get in the zone while hacking with new technology, eating Thanksgiving dinner, or having sex you know... but there's no way I could get in the zone while baking cookies.

It's simple, if you're not excited enough to automatically "get in the zone," then it's not worth struggling or trying to get in the zone... do what you love, the rest comes naturally

<comment><USER6> Dangerous advice I think. No matter how fun a subject is for you eventually there's a build up of nasty and complicated problems to solve. If you run away every time a project gets to that point you won't finish anything significant.

<comment><USER13> True. But you should have more motivation to keep at it and work around complicated problems. There was no mention of running away every time a project gets challenging. Just pointing out that if you truely love what you do, nothing can hold you back. If you truely love and have a passion for what you do, you should want complicated, nasty problems. You should have courage and confidence in facing these problems...

Yes, dangerous advice. But it's the truth.

</comment></comment></comment><comment><USER14> <http://brlewis.com/y/2007/devscreen.png>

In ideas.txt, what I'm focused on now is always at the top.

Everything you see in that screenshot is done and released. I work mostly in 35-minute train rides. Some weeks about 5 hours is all I get to spend. Am I getting more done than you? Be embarrassed and crank. Better yet, post what you're going to do and do it.

More about public embarrassment as motivation can be found here:

<http://www.paulgraham.com/die.html>

</comment><comment><USER15> I like chilling and engaging with a nice station on Pandora.com. Music really seems to do it for me. It has to have the right sort of ebb and flow to bring me up and down and back, just like my attention, for a mood optimized for building :-) Right now my favorites are John Fahey, John Adams, Explosions in the Sky, and Tommy Emmanuel. For some reason, instrumental, folksy tunes do wonders for my productivity.

</comment><comment><USER16> I try to break my project down into parallel tasks. If I get tired with one track, I can switch around to something that's newer / less frustrating.

</comment><comment><USER17> Ease yourself in. Either by just filling in that difficult piece of code with comments outlining what it should do and fill it in line by line, just sketching it out on a pen and paper.

Or, just promise yourself that you'll do just 5 minutes on it and usually once you get going you don't want to stop.

</comment><comment><USER18> I build up a list of todos of small things to take care of. If I am having trouble getting into something bigger I work on that list until I am drawn into the code and the project and then I switch to larger / more complex tasks.

<comment><USER19> To get into the zone, Mountain Dew + Nine Inch Nails, and keeping small dev tasks on hand, as suggested elsewhere, works wonders. I like todo lists (BaseCamp), haven't tried GTD.

To stay in the zone, /away on AIM/Gtalk, check email once per hour (thanks, The 4 Hour Work Week), phone on vibrate or off. Making sure processes are handled as a queue and not a stack so as to avoid the mania (stress++) of putting out 1000 small fires.

No re-prioritizing anything if someone manages to get through the screens above.

Most of all, as mentioned in another thread earlier, remembering that this is a lifestyle; "ok I'll just binge now and start doing x,y,z when I've [launched, fixed those bugs, implemented the next feature, gotten funding, ... ]" is a way to burn out and ignore the value of and need for finesse and balance in all things.

</comment></comment><comment><USER20> I think of my project as my woman. Sure she nags and has all kinds of quirks that drive me nuts, and there's so much about me that she simply doesn't understand, so I just wanna get away from her from time to time. But I love her so! She's like a magnet for me, calling me back, tempting me back in a way only she can do. Oh, and that sweet nectar of clean compiles, finely tuned common functions, and her lightning like response to my clicks and keystrokes that just drives me crazy! Face it, fellow hackers, it's in our DNA. Nature has designed us to follow that path of least resistance to propagate our digital genes into perpetuity. We can't resist. We must get back to her. SHE is my zone. (Sorry, I can't continue this post, my mouse is getting hard, I'm in the zone, gotta go...)</comment>