skysight-inc/HackerNews huggingface dataset:
PHP is ubiquitous. Not many people can walk into a company and convince their bosses to dump their entire stack, retrain all of their developers and then migrate to a new platform. If someone is programming for fun it may make sense to work with a platform that is more developer friendly (although as I mentioned, PHP is heading that way already so it's no longer the case that obviously PHP is terrible for everyone) but most developers don't get to choose to work in their favourite environment and fortunately a lot of people that had to work in PHP decided to make the most of it and work towards improving the ecosystem. All that matters is the people working with PHP build stuff, whether they do it with a skip in their step or they go to events and tell people how great PHP is doesn't matter, what matters is that they write code and a lot of people work in PHP because a lot of websites use PHP. There are currently 2000 jobs open on freelancer.com for PHP, for Rails there is 20.
Try not to bring the job work home. I'd usually take a 1hr nap after work so I could work on my side project with a fresh brain. Hack until 3am then sleep to reset again before work.
Top shelf necessities?
I have both production systems (ircrelay.com) and well-used client software (packer.io) written in Go, so I'd like to comment on this from both perspectives, server-side and desktop-side.

First off, both from the get-go have been extremely reliable. IRCRelay has a custom IRC router that is able to route IRC connections to their proper bouncer server, then just stream the contents to and from. This server was written once, and has been running in production for over a year without a single downtime incident or crash incident.

Likewise, Packer reliability has been astounding, even to me. It really rarely crashes, and when it does it is because I'm usually skirting around the type system of Go (casting).

The PRIMARY reason Go is so reliable is also a reason many people hate go: you _have_ to handle every error. There are no exceptions, you know if a line of code can fail or not, and you have to handle it. This leads to a lot of "if err != nil" checks, and it can be really, really annoying sometimes. But the truth is: once you get that thing into production, it is never going to crash. Never. MAYBE nil slice access, but that's about it. Note the compiler doesn't actively enforce this, but it is Go best practice to handle every error.

(Pedantics: yes, you can assign errors to "_" variables to ignore them or just not accept any return values, but this is very actively discouraged in Go and it is one of those you're-doing-it-wrong kind of things)

Also: a compiler. Coming from Ruby, having a compiler is just amazing. Obviously compilers have been around forever and Go's isn't special in any way. But after living in a dynamic language heavy environment for many years, I can't imagine going back to not having a compiler. It just makes writing new features, refactoring old ones, etc. all just so easy. It catches all the bone-head mistakes that cause a majority of crashes in code I previously wrote.

Another reason: Testing is heavily encouraged and baked right into the official build tool. This makes it so easy to write tests that you always do. It isn't really an opt-in thing, because it is one of those things you just DO if you write Go. This makes it so that even with explicit error checking and the type system, you're fairly certain your logic is reasonably correct as well.

And finally, you're statically compiling your applications. Once they're running, no external dependencies can mess that up. Dependency management from _source_ form is a problem with Go, one that is actively acknowledge and being worked on. But once that program is compiled, it is safe forever as long as you run it on a proper kernel.

So my experience is anecdotal, but there are real language features and community ideologies at play here that make Go a really stable language to write programs in.
Not enough data to be useful though. If they can't make behavioural predictive models of you to make ads & sell to the NSA it's not useful
For me Wikipedia is the second most valuable resource on the web after Google. I donate $30 every year without hesitation.
I agree more might get involved but I'm less than convinced it would be enough to stave off the accumulation of power by warlords etc, and the eventual degeneration to a neo-feudal society.

But it's all just opinion at this end of the debate.
We've been using Go in production for 4 or so months at customer.io and have been tremendously happy with the performance. My cofounder will rewrite some core function in go, deploy it to prod and get a 10x improvement. We are total converts.
Politics > money.
This is quite useful to hide away casting from one type to another or to "build" objects - say you have an object represented by a JSON or XML structure, now you can have functions that accept either/or.

Is this method overloading or am I missing something?
Ok, this guy is using a couple of methods off BlackHatWorld (Probably the biggest SEO forum around if you haven't heard of it)

So essentially this guy is building this site, ranking it in Google using the churn 'n Burn method, then once its ranking well he'll contact local business saying he can link to them in return for a fee.

Even though the domain is 6 months old, if you look at ahrefs this guy has 33k backlinks to the homepage. Google had a major SEO update on October 4th which essentially fucked up their algorithm more than it already was. This churn 'n burn method means that you spam out a zillion backlinks and you will rank really well until the next Google update comes along (which is around 3-4 months) You could do this in the previous Google update (Penguin 2.1) and I thought Google would fix this but they just made it easier. This is a good example of the method: http://www.blackhatworld.com/blackhat-seo/black-hat-seo/5769... (This was the one of the guys that essentially figured out this method from what I can tell)

So with this new Google update, they are getting rid of some of the spammy sites, but more spam sites just taken their places in the rankings. Now they are focusing on the amount of content on your site rather than the backlinks. So now 10 year old sites with hundreds of legitimate, high authority backlinks are getting outranked but spammy sites with 14 backlinks and 300 gibberish articles.

I've also been reading that with local Google searches, you get results from completely different countries. For example, people in the UK were reporting that they were getting results from sites in Russia, Argentina and New Zealand instead of UK results. I don't think this happens as much in America from what I know.

So I'm guessing Google is eventually going to iron out these problems, but it's a battleground at the moment.

If you do get outranked by this guy, make a video with your keywords in the title, same with a Facebook and LinkedIn page and then buy a bunch of backlinks off Fiverr. They should outrank pretty much any other website in a matter of days.
Obamacare, Failing Ahead of Schedule
It depends on the user. In my experience, older users (55+) are particularly incensed when there's any inconsistency between what's visible in the editor and the outputted page (e.g. "I've been trying for hours, but I can't get the 'e' in this line to line up with the 'h' in the line above it!").
It is possible for something to be unknown and still boring, not "magical" or "intriguing".
What are your blockers?
This was a bit difficult to follow, but if it says what I think it says, markdown is a step in the right direction for device-agnostic content. With markdown, the content creator is not responsible for design and layout - this is handled independently by a designer, or several designers, with different designs for different outputs (desktop, mobile, pdf, ePub, etc). One major upside to markdown is that it can be written in any text editor on any device - from desktop software (notepad) to forms in a browser. Another upside is uniformity - with multiple writers collaborating on content, or if a specific style should be followed, there's little to no possibility for deviation - just write some '##' for headers and '-' for lists and the output always looks uniform.

The problem is that there is a learning curve to markdown, and while it's a small learning curve, it's still a hurdle. Toolbars and pseudo-WYSIWYG editors that output markdown are good baby steps. Fortunately, it's becoming more commonplace and picking up steam outside of developers with integration on sites like Reddit.
Funny post. But what would a world be like where everyone knew everything about everyone?
What if you use a vector whole length is indexed by a Natural in the type signature? It would still allow permutations and such (like reverse), but not tail.

Using a dependent type system, it would actually be possible to statically ensure that map can only map, and do nothing else whatsoever, but it does become rather unwieldy.
I'm not sure this is good 'analysis'. The entire premise is for a certain subset of the population to subsidize universal coverage. The US Supreme Court backed the legislation under this rationale. It is by design a 'synthetic' tax increase.

The problem for everyone is that this is not saving anyone money on a net basis. The original purpose/goal of universal healthcare was to achieve the extension of coverage with a net synergy to the US Fed. budget (which picks up the tab for the uninsured). And this will be a failure if the risk-pool is not of proper metric.

There is a story in the NYT today that details this.

The system’s sustainability depends on getting enough healthy people to sign up, he pointed out, and if they don’t then insurers “will have to raise everyone’s premiums,” which “could create what actuaries call a ‘death spiral’: Rising premiums prompt people to drop out, causing premiums to increase even more.”

https://news.ycombinator.com/item?id=6581817
`brew search` + `brew info` is about a million times more sane than `apt-cache show`, which I find sucks (is usually too aggressive or too specific in its fuzzy matching) and is poorly named. Plus, why the hell have apt-get and apt-cache separated in to two commands? Insane.

The output of a `brew install` command is much easier to parse than the output of a `apt-get install` command. So is the output of a `--dry-run`.

The UI for dependency conflict resolution in `apt-get` is bizarre. And the one in `aptitude` isn't much better.

I also like that brew is built on git. This is part of the UI for managing versions (the other being the semi-undocumented and unpublicized `brew switch` command), and `brew` is a lot more understanding of being able to switch between versions of packages on the fly.
Doesn't work on OSX like this. See below for portable version [1].

import readline
import rlcompleter
if 'libedit' in readline.__doc__:
readline.parse_and_bind("bind ^I rl_complete")
else:
readline.parse_and_bind("tab: complete")

[1] http://stackoverflow.com/a/7116997/10583
How are you measuring filesize? Looking at compression_test.py, it looks like you encode a color image and use that filesize. But chroma takes bits to encode, and if you're only measuring greyscale (which is basically luma depending on what formula rgb2gray uses) then you're penalizing better chroma quality.

If you use a greyscale/luma-only metric, you have to encode greyscale from the start, not convert a color image after encoding. Otherwise you're measuring chroma bit cost, but not chroma distortion. Thus, invalid.

Actually, is PSNR-HVS-M greyscale-only as well? In that case, only the RGB-SSIM results would be valid...

And actually, thinking about it even more, converting to greyscale at the tail end just for Y-SSIM and IW-SSIM is fundamentally flawed (if it doesn't result in exactly the same bits as the luma plane), as now you're measuring distortion from an image that the codec was never asked to encode!
A small amount of discussion of this article is here: https://news.ycombinator.com/item?id=6581059
See my comment about clarifying UI vs GUI.
no link to the repo :(
My personal experience is very different.

In 2011-ish (don't remember the exact date), we noticed that the battery on my wife's white (2006) Macbook had started to swell.

I looked into it and realized that there was a recall on the battery, and you could have gotten a free replacement, but the recall timeframe had expired.

I took the macbook to the Apple store anyway, as the computer worked perfectly otherwise (in fact, we didn't really notice any significant battery life issues anyway), and asked them about the recall.

They said, yes, the recall had expired, but they could do a one-time special thing and replace the battery for free anyway. They did that, and also replaced the keyboard "tray" which had started to crack a little bit.

The macbook still works perfectly today - 7+ years after purchase.

Second, the replacement cost for the "un-replaceable" battery in my 2012 Macbook Air is $129[1]. That is not "distressingly close to the price of a shiny new mac", and really not that far off of the cost of any other replacement battery for a machine in its class.

[1] http://support.apple.com/kb/index?page=servicefaq&geo=United...
Find a different ping or inet_aton implementation and it won't necessarily work.

At best, you seem to be picking nits. More likely though I think you just have a very surface level understanding of what is going on here.

The bottom line is that, as I said already, an IPv4 address is a 32 bit number. It's also true that various tools that communicate with IP addresses utilize different methods to arrive at the underlying 32 bit number. But it's not right to say that "this only applies to systems using ping from iptools and glibc" as the article you linked says. Many of these "tricks" worked in all manner of operating systems and applications. I was discussing many of them in IRC using Windows 3.1 and Trumpet Winsock before 1994.

Again, the bottom line is that an IPv4 IP address is a 32 bit number and there are dozens of ways that various applications allow you to arrive at that number. It's silly for an article or someone quoting it to attempt to say it only applies to one implementation.
Finally, a statistics module!
Actually though, simple methods for measures of center and spread have been on my Python wishlist since, like, forever. The mean() function is going to be especially useful. So excited!
I've done a little bit of light editing, mostly fixing or adding links and correcting the occasional typo. Probably averages to once or twice per year.
There are generally two types of "editors" on wiki. The talent who contribute content, and the bureaucrats who do administration. Some of first type are intellectuals, and most all the latter are anything but.

Much of the internal conflict within wiki exist because the power rests with the bureaucrats but they often lack the domain expertise to appreciate much less write the material people come to the site for. So whenever there's contention over content, it quickly turns into contention over people, and it's not hard to figure out who wins in such a conflict.
The reason is simple: If power suddenly dies, there is no energy to keep fan running. So laptop would take much longer to cool down, possibly damaging some sensitive parts.
I'm still on Python 2.7. I've built up a lot of infrastructure at work surrounding the "scipy stack".

Are there any major libraries that have not yet been ported to Python 3? I'd be interested to hear about others' experiences making the plunge.
You could offer straight bounties for the work. Those are great for motivating simple low cognitive tasks and getting good results.
I am not sure what you mean by "had been so wronged by "science""
Fishing techniques have improved rapidly over the past few decades. The price of fish is only a measure of supply in as much as we can continue extracting fish. It's no indication of how close we are to running out.
What do you base your initial known good JS on though? What is the user supposed to do with the information that the JS has changed? A diff of minified JS isn't that helpful.
Single page (print) version: http://www.bicycling.com/print/99136
Lazarus [1] solves this problem. It auto-saves what you fill into forms, and allows you to go recover previous versions. You can right-click on any input, pick a saved copy, and restore.

Firefox: https://addons.mozilla.org/En-us/firefox/addon/lazarus-form-...

Chrome: https://chrome.google.com/webstore/detail/lazarus-form-recov...

Safari: http://getlazarus.com/download
17,558 edits since 2003.
I have to continually beat this argument into my boss's brain, who insists things should always be black.

I follow the same principle for white. Keep #ffffff for the highlight on the really light thing you want to show.

Also I find asking most displays to show #ffffff often pushes them too far into the nonlinear, which ends up causing some odd artefacts when used with e.g. gradients.
So who are these "best and brightest" they are bringing in? Surely they are HN readers or an HN reader knows them. Would love to hear about an in depth postmortem. Joking aside, if you are Obama & Co. and your entire administration is hinged on the success of this program, how do you not get the "best and brightest" from the outset to make what you can control about this - the technology component - work? Not to say there is that much complicated technology here. We've known how to make sign-up sheets for a long time. Also, surge protection is also somewhat of a solved problem - just use AWS or one of their competitors. Didn't the Democrats crush the Republicans in their pre-electioneering with a much better system built on AWS? Why didn't they get those guys to do this stuff? Oh well.
I've donated $10 once or twice. Feels good to support it! Too many people take it for granted.
Ask HN: How do I un-apply from YC?
I've submitted an application and am having second thoughts about applying to YC. Is there a way to unapply?
Hexa addresses can be in one single number too:

http://0xb8ac0a4a/
As a designer it's really useful to be able to save that #000000 for e.g. an emphasized section on your body text.
I can do it manually if you want. Just let me know.
You could have simplified that a lot:

I disagree with you because I subscribe to hedonism and you don't
the odds of you getting in are tiny

no matter what, they've seen your project

besides, if you did get accepted, why the hell would you turn that down??

let it ride
Tool to help non-tech users email browser details to support staff
TESLA & The LAMPLIGHTER - animated short movie
The last time this was submitted, I noted it down as something to test in the future in my site. I did a multifactorial A/B test (fg/bg: #303C3C/white/black/#FCFCFC ) measuring reading time: http://www.gwern.net/AB%20testing#text-background-color

At _n_=231,599, when I stopped it, the best-performing version was... white background, black foreground.

So for my site, seems like pure black isn't so bad.
What would you need to get into a master's program? If you could meet those requirements in less than 2 years it might be worth it to do that.
I generally don't contribute, because the rules are incredibly complicated and I don't really care for them.

Recently I stumbled onto an article with a [citation needed] after watching a video that (I suppose) would have been the perfect citation for it (I mean a mustached retired high school teacher, speaking about the old times, that's the best source you can get!).

Hell broke loose, the doc for video citation is intractable, so I wanted to put the link on the talk page for someone with knowledge to do it, but youtube is banned in text. So my wikipedia career in on hold until my motivation crosses a certain threshold. It's not beginner friendly, and i don't really care about their editing procedure (it's mostly based on the scientific one which is bogus too).

If someone cares, it's on White Lead talk page.
I edited quite a lot in the early days, gave up after an administrator decided to wiki-lawyer me to death on the C++ page (he/she seemed to think that C++ should be defined as "things that g++ accepts"). Realised it was a battle I would never win.

Now I occasionally edit very minor articles if I look at them, but never anything that gets more than an edit a month, as such changes will be swallowed up and spit out fairly quickly, in my experience.
As the other person who replied only really addressed pollution, I'll add that you should stop eating fish. And if that's asking too much, catch it yourself. And if that's asking too much, there are definitely operators out there who are concerned about sustainability, you should insist on purchasing your fish from independently certified sustainable sources
You realize PHP powers well over 70% of websites around the world?

Why wouldn't people use it, and create new things in it?

Sorry you had horrible experiences with it, but seriously, get off your high horse.
Yes, but I've substantially reduced my editing over the last 3 years.

http://en.wikipedia.org/wiki/User:Gwern / http://www.gwern.net/Wikipedia%20resume / http://www.gwern.net/tags/Wikipedia
I think the rule is correct in general, and if you really know what you're doing, then I'm sure you can make black look good.
Indeed.. I would have liked to hear what took the Python script 3x longer. The longest part I would assume would be the network requests themselves which is inherent regardless of language.
I never doubted it's ubiquity. If necessity and inertia are the answer to my query then I suppose I get that. I'd still be the guy in the room pushing for a piecemeal rewrite though.
Or maybe it could just be that we've had a taste of politics in our private lives, and decided we would much rather spend our time coding.
If you're in a position to buy this book and support the author you should do so. Our team used it to do the Rails 4 upgrade, and we EASILY saved greater than the minimal $75 cost of the book.
It's an app to help you collect, remember and share the nuggets (of wisdom) that you learn. We are launching it next week. For more -

http://blog.nuggetsapp.com/post/63541384813/remember-everyth...
#11. Ads selling - #NSAAdSense: based on the mobile meta data and past patterns to sell local ads to individual where he or she would be in half hour or 24 hours. Or, based on phone conversations to sell products or services. i.e. Mr. A on the phone: honey, i just got my bonus! we could afford that swimming pool you want. Next NSA could show ads of swim pools on his wife's tv.
It was based on fvwm code, but it evolved independently.

What was good is that it enabled fvwm modules to be ported very easily.

Good memories from a long time ago (started doing that in 1997 ... wow! cf http://www.afterstep.org/visualdoc.php?show=copyright&sub=ol...)
Amazon's AWS docs:

http://aws.amazon.com/documentation/

And +1 for Eric Hammond's AWS blog, which you can find here:

http://alestic.com/
About 5% of the YC applications so far are for nonprofits
it seems very obvious that that is exactly what will happen if people are left without constraints. Those who can get some power will get more, and there's nothing to stop them

Then clearly after we abolish government, we just need to establish some kind of power structure to limit this effect. Perhaps to keep things fair, we can put this power structure subject to votes by the people.

There. Solved. Anarchy!