HNHacker News
TopNewBestAskShowJobs

ianb

515 karma · joined February 17, 2008

Hi, I'm Ian Bicking. I'm an open source programmer. Working at Mozilla. In the interest of clarity I switched my main user account to ianbicking

My main project these days: https://togetherjs.com

My homepage: http://ianbicking.org

Blog: http://ianbicking.org/blog/

Projects: http://ianbicking.org/projects.html

A lot of Python in the past, mostly Javascript now.

submissionscomments
ianb··on Bay Area BART Salaries
Things start looking weird when you get to the later pages (I'm looking at page 130, sorted by TCOE). For instance: Bodin, Gwendolyn (Train Operator, R-Line Rail Operations): Base pay: $2,901, Medical/Dental/Vision: $20,183

There's a bunch of people who I assume retired, with low base pay but a high "Other" (which includes vacation day payouts).

Of course near the top there's a ton of overtime, lots of police, which is "normal" (no idea if it's actually legitimate), but lots of other jobs too, including some that I'd expect to be salary, like "Moore, Timothy (Principal Marketing Rep, Communications): Base $100,595, Overtime $40,165"

ianb··on Putin Says Snowden Must Stop Hurting U.S. to Stay in Russia
Does Russia really not give up anyone? There's lots of crime that is much less complicated than this case. I assume this is hyperbole?
ianb··on NeoCities
No API? Sigh. It could be a nice backing host for a through-the-browser CMS – a little OAuth, a little CORS, and it could work pretty nicely.
ianb··on Maybe buses should be free
I've been riding and thinking and griping about buses lately. While this notion has seemed very appealing to me in the past, I'm less sure.

Even right now, I feel like a major problem with buses is that they really don't need or even want customers. Customers are a liability. Fares don't cover expenses. Political capital is useful, but indirect, and bus systems have lost most customers that might provide political capital.

My bus system isn't particularly bad. The drivers are okay, but mostly they just don't want any trouble. The bureaucracy has smoothed out certain edges. The buses are clean. But the crowded bus lines stay crowded, until they get further out then they become empty and useless. Lines don't evolve, they aren't adjusted, there's no attempt to maximize ridership. They can't experiment with pricing; really they can't do much of anything without approval from a political structure that doesn't much care about buses. Customers don't fit into any equation.

Oh, and did I mention they are slow? Buses are so terribly painfully incredible slow that only people who place very little value in their own time can justify being on a bus. Door-to-door times on a bus range from 2x a car to 6x, often walking speed, almost never faster than biking. But as time goes on the buses just get slower.

Making buses free maybe could help. It might draw customers who actually have a way of effecting positive operational change through the political process. It might diversify the ridership in a way that positively effects social standards of civility on buses. I certainly wouldn't fight it, but it's a long shot.

ianb··on Shame.css
This is a really indirect and complicated alternative to putting FIXME comments into the source.
ianb··on Cooper Union Ends a Longtime Custom: The Free Degree
This article has a less forgiving take on the finances: http://blogs.reuters.com/felix-salmon/2012/04/25/why-cooper-...

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.

ianb··on Bughub: A native Github Issues client for Mac and iPad
Something like a one repository limit would work well for me; enough to really get the feel, no real risk since I just revert to the web interface if I don't like it, but if it's good I'd definitely want to use it with more repositories.
ianb··on Instacart Launches Costco
Can someone tell me how exactly Instacart is working this? Do they have an agreement with Costco? (I'm guessing not.) Do they have individual shoppers who just do their thing as though they were individuals, and then deliver? Are those individuals employees or freelancers?

I'm guessing Costco would be a bit reluctant to formally allow something like this, as I also presume that one reason they get lower prices from suppliers is that they only sell to members, so there is less of a perception that a supplier is undercutting other retailers by letting Costco sell at a reduced price. A sort of price discrimination... but if stuff gets resold without a markup to bring the price in line with other retailers it would make their negotiations more difficult.

ianb··on Researchers Finally Replicated Reinhart-Rogoff, and There Are Serious Problems
Sometimes people will distinguish between "replicating a result" and "reproducing an experiment" – with the differences more prominent when you are dealing with straight data. Replicating a result simply means you confirm that the results aren't made up – you start with what they say they started with, you get the result they say. Reproducing an experiment might mean working from their conclusions, not trying to repeat every detail, and seeing if you come up with the same result – you might not if you mess up the experiment, but you might also confirm the interpretation of the result because you've eliminated aspects that the theory considers insignificant.

With results derived strictly from data this is a clearer line, as repeating the process exactly is quite possible (the spreadsheet in this case is the "process"). This might seem trivial, but it's pretty common that even repeating the purported process is very hard.

From a techy point of view this post helped me see the distinction: http://ivory.idyll.org/blog/replication-i.html

ianb··on Mozilla TowTruck – real-time collaboration on any site
The server is super-simple, it just relays messages between the clients, it doesn't interpret or change messages at all. We're keeping the server simple so that we can do things like replace it with WebRTC data channels, or... just basically keep our options open. It's also great for development or freezing – since the changes are almost exclusively in the client there's no special coordination you have to do to switch versions, you just make a copy of the client code.

I'm guessing at some point we'll have to make the server a little more sophisticated, like maybe for authorization. But maybe not! We'll try our best to find other ways.

Also of course it's completely open source, so we can't actually pull a Reader ;)

ianb··on Mozilla TowTruck – real-time collaboration on any site
Yes, Firefox/Chrome only for now: https://github.com/mozilla/towtruck/wiki/Supported-Browsers
ianb··on Mozilla TowTruck – real-time collaboration on any site
There's also an Addon (https://github.com/mozilla/towtruck/wiki/Addon) which is basically equivalent to a bookmarklet like this where you activate the bookmarklet every time you load a new page. It's only intended to trying TowTruck out (like the bookmarklet).
ianb··on Linus on Oregon HB 2748 and US education in general
Another Minnesotan, who also moved to Chicago and moved back when considering where I wanted to raise a child...

I think part of what Linus gets wrong is that he confuses the correlation of high-property-tax well-funded districts with the performance of the schools in those districts. The high property taxes (or property values or however the market works it out) doesn't make the schools good, it filters out people who are indifferent to the school quality, and filters in people who place a high value on education. Once you cluster a lot of people with those values, the schools will be good; in part because of the peers a student will encounter, and in part because of all of the small but concrete things parents do to make the schools better.

Open enrollment without tuitions doesn't challenge that clustering. To participate in open enrollment in Minnesota, you have to really value education: you have to figure out what the school is you want to attend, you have to figure out the bureaucracy to get in to that school, and you have to provide your own transportation to the school. All those hurdles are just as good as high property taxes or high property values.

The irony is that as a result open enrollment is not as progressive as it might seem. It's something the privileged can use to fix their children's education experience without moving, or allow people to trade effort for income. But it doesn't bring the underprivileged up, because they really don't take advantage of open enrollment. Though perhaps I'm using circular thinking, as I generally consider children with engaged, informed, and capable parents as "privileged" regardless of income; and maybe I even think that way because Minnesota supports that particular lifestyle choice via things like open enrollment. It's a particular life arrangement that I didn't see much of in Chicago, and maybe that's no accident.

ianb··on Unfit for work
EconTalk had an excellent interview about this: http://www.econtalk.org/archives/2012/04/autor_on_disabi.htm...

This EconTalk is also interesting: http://www.econtalk.org/archives/2012/12/mulligan_on_red.htm... – the thing that really made me think is the observation that the marginal benefit of work is often negative for people on different assistance programs, and that comes up in the first interview too. To try to get ahead, to try to get off disability, will put you behind where you'd have otherwise been. I think it also offers something of a solution, to look at the entirety of the support systems and make sure that there's always a benefit to being more beneficial to society. I suspect that would largely mean increasing benefits for the not-quite-poor, or the almost-disabled, etc. But if a well managed slope of benefits is achieved, the incentives may lead to less total dependence.

It's also something that, in theory, could be supported by Republicans and Democrats, as analysis is based on ideas that are appealing to both sides.

ianb··on PyCon Code of Conduct changed to avoid public shaming
If you were in the same situation as Adria, would you have wanted that person fired? I'm going to hope the answer is no, and I hope Adria would have answered the same way.

In that context, could you assume that the repercussions of posting that picture would be so high? I certainly would never have expected that.

Now, if I'm sitting in the audience talking to a friend, would I expect anyone to be listening or offended by me making an off-colored joke with that friend? I at least would not. Does that mean no one could have been offended? Clearly not – and this is why guidelines exist, to help inform well meaning people of the consequences of their actions, and create an environment that isn't hostile where people are most able to do great things together.

The code of conduct helps guide and inform behavior in situations where people may not understand the effect of their actions. I see this addition in this light – in the conference environment public shaming has negative consequences that likely exceed intention, and as in this case are contrary to the goals of inclusiveness (there's very little positive spin you can take on how these events have unfolded).

ianb··on Benefits matter, or why I won't work for your Y Combinator startup
I'm not sure if it's safety, or a knowledge that risk assessment also has to take into account the risk that your assessment is wrong. How can anyone make a prediction of any 0.1% chance? The accuracy of the information going into combines in all sorts of horrible ways, and not likely to your advantage. There's no hypothetical in which that chance would make sense, in which it would be calculable and accurate, so instead we intuitively mark it as simply foolishly optimistic belief.

Plus, if you really did have solid odds, you could sell those odds, i.e., have someone invest in you.

ianb··on The PyCon Incident
So... while I'm almost reluctant to even know because it feeds into a mob mentality we've already seen, what was the company that did the actual firing?
ianb··on Checkboxes that kill your product
Most prefs live on in about:config, and can be set in peers.js. This is probably easier to automate anyway.
ianb··on Let's Scrape the Web with Python 3
This is a very poor approach to scraping. SAX parsers aren't good for much of anything, and they are especially bad for scraping HTML. You'll get lots of errors while parsing relatively normal pages, and your logic will become very challenging to follow. There's no good reason not to use a proper parser that parses into a document, like lxml or BeautifulSoup. lxml is also very fast, so there's not even a performance argument for SAX.
ianb··on A really well-designed combination lock
I had the plastic one used in an exterior location, which isn't a good idea – was always finicky and difficult. The metal one seems to be more reliable. I wouldn't trust it somewhere I cared greatly about security, but combination locks aren't generally great in those cases.

One of the difficult parts is telling anyone else how to use it. Up-down-left-left-right, but only after you pushed it in to reset it? With a standard combination lock all I have to tell someone is the combination, and one of the great parts of a combination lock is that you don't need to copy a key or anything in order to delegate opening it.

So in my opinion it's only an okay lock.

ianb··on Ask HN: Webdevs, designers: what devtools should we (Mozilla) build in Firefox?
I think a general pattern is that the console should be smarter about the specific stuff people do in a console, in the browser. Every kind of DOM node should have specific representations appropriate for that DOM node, not just what falls out of some generic printer. There are array-like objects that get printed out funnily because they aren't real arrays – but {0: x, 1: y} is no more clear about the actual nature of the object than [x, y].

Why people won't code vendor prefixes into CSS tools I don't know; the obvious thing is for Firefox to ignore everything but "-moz-*" – and even then, to warn selectively (i.e., if there are old versions of Firefox that require a prefix, even if the new version doesn't, don't warn about it). Or hell, crowdsource the whole thing, when you encounter something invalid fall back on a community edited document about what is valid in other browsers, or represents a common and acceptable CSS hack. There's often good information in the CSS warnings, but there's too much useless information to find it. I'm annoyed things like LESS and SASS don't treat vendor prefixes specially either.

ianb··on Code.org – Dedicated to growing computer programming education
Logo is one of the few programming languages that has been translated into other languages, you might look for a dialect in whatever your native language is.
ianb··on Asm.js: a strict subset of js for compilers – working draft
Storing it and transferring it on the server is one thing; serializing it locally in the browser itself might be a more reasonable goal? That is, it wouldn't be expected to be portable to anything but that very same browser, but it would allow you to cache the compiled result. (I would expect the serialized string to be signed by the browser itself, to prove that it was created by the browser – and for the deserialization to fail on some browser upgrades).
ianb··on Opera moves to WebKit
Wikipedia says that Opera has 777 employees as of a year ago: http://en.wikipedia.org/wiki/Opera_Software

That's a couple hundred more than Mozilla has now (after Mozilla added a lot of employees in the past few years). OTOH, the numbers are no longer that significantly different.

ianb··on Upset about EveryBlock's closure? Check out Nextdoor.com
I think the FUD aspect is unfortunately just part of the kind of communication it facilitates. Neighborhood mailing lists, blogs, Facebook groups – they all end up spreading information about crime in a way that makes the neighborhood feel less safe. If there's a solution to this, I think it would be social instead of technical. Also at a certain point as the neighborhood communication matures it gets better, IMHO – people need to learn how best to communicate with each other, and there's no other way to do that than practice.
ianb··on Farewell, neighbors
This site has seen a little traction in my neighborhood (which surprised me because there's also a mailing list that about 20% of the neighborhood is subscribed to): https://nextdoor.com – it seems well executed. None of the aggregation stuff Everyblock did, though.
ianb··on What happened with LEGO
Where I think this analysis is wrong is using the general inflation number. If your inflation basket of goods was full of products similar to Lego – plastic toys – the real price of Lego would not appear to be going down. Well, "wrong" isn't perhaps the right word, but it doesn't address the perceived price of Legos in a world where plastic goods are constantly going down in price relative to other goods.
ianb··on Review: BlackBerry 10 is better, much better, late than never
Out of curiosity, and having never used it, what is cool about BBM?
ianb··on Hello Firefox, this is Chrome calling
Unfortunately, no: both browsers need to exchange volatile information to establish the connection. It includes information like how to traverse NATs to get to the other browser. You need some more centralized service to exchange that information and bootstrap the process.
ianb··on Hello Firefox, this is Chrome calling
The Same Origin Policy can be overridden by the site accepting the connection (http://www.w3.org/TR/cors/), so assuming that site is hosted by the attacker it wouldn't be helpful. If the site used (and the browser supported) a Content Security Policy (http://www.w3.org/TR/CSP/) you could restrict such outgoing connections.
← PreviousPage 2 of 8Next →