HNHacker News
TopNewBestAskShowJobs

joshma

855 karma · joined December 5, 2010

submissionscomments
joshma··on IE10 falls below IE9 in market share
Pretty misleading title, since IE10 isn't the latest version. IE11 is the latest and went from 11.51% to 12.80% (big jump compared to Chrome, 16.28% to 16.84%). Interesting (and slightly sad) that Firefox isn't gaining - in light of these stats, I'd say things don't look too shabby for IE.

I'm not too familiar with IE (heh), but is the upgrade mechanism better in IE10? That might explain the higher drop.

joshma··on We spent a week making Trello boards load fast
We've had good success with the "queued rendering with interrupts" strategy as well. The 5.9s to 960ms drop is _slightly_ misleading, since a lot of the rendering has yet to be done, but as long as one remembers they're measuring "perceived" rendering time I'm in full agreement.

Other than allowing the browser to paint in the middle, I'd say it's equally (if not more) important that the _.defer calls allow user events to interleave rendering, so you get a bit of scrolling, clicking, hovering, etc. Not doing so is akin to running an intensive operation in the UI thread (for those coming from Swing or Android), and you get a frozen browser page instead.

The one caveat we've seen, though, is your code gets more complicated due to the async rendering. For us the async render was just a subcall in a larger render method, and some later calls relied on the async rendering being complete for some measurement purposes. We had to move those calls to a callback after the queued rendering was done, but ideally only wanted SOME of it to be deferred (some click handlers, etc, we wanted set up earlier so the user could interact with the page), but in a larger codebase you get into a refactoring nightmare, etc etc.

All being said, though, it was probably worth it. :)

joshma··on Twitter Files For IPO
Secondary to intent, but still pretty valuable, is interest. With Twitter, interest is VERY clear. If you want to target web developers, or fashion lovers, or car enthusiasts, you just have to look at who they follow to figure it out.
joshma··on Why you should not pirate Google’s geo APIs
I don't understand this feeling of self-entitlement - who are we to judge whether or not an API has been offered "in a reasonable manner?" I'm guessing it's very resource-consuming to collect, process, and maintain the data necessary for geolocation APIs (especially given the upstream providers).

It'd be one thing for Google to be deceptive about it, offer a free service, and try to upsell you every point along the way. It's quite another thing for Google to dedicate an entire section in the API intro page [1] about Usage Limits.

Saying that "Google has nobody to blame but itself" is interesting when the blame is usually from developers to Google, not the other way around.

[1] https://developers.google.com/maps/documentation/elevation/

joshma··on Chief Architect of Google+ requests clarification on Google Reader
This is not demonstrably false, as the Quora post you linked to is 3 almost 2 years old. (For comparison, the latest answer is right around when G+ launched.) The large majority of the population doesn't even know what RSS is, let alone use it for their day-to-day reading.
joshma··on AnandTech: Microsoft Surface Review
How can you attempt to summarize a review as "not very favorable" when you haven't been "convinced" to read the rest of it? At least read the closing paragraph if you're not going to bother spending more time: "If you're ok being an early adopter, and ok dealing with the fact that mobile devices are still being significantly revved every year, Surface is worth your consideration. If you've wanted a tablet that could really bridge the content consumption and productivity device, Surface is it."

If anything, this review seemed to lean positive. I wouldn't say it was gushing with love, but it's certainly left me with a solid impression of the hardware and a sense that the Surface won't be a complete flop.

The mix of damning judgement and deliberate ignorance here is amusing.

joshma··on Steam Expands Beyond Games
It might not end up being "equivalent" to Dropbox, but that would still compete with Dropbox in terms of backing up and syncing files.
joshma··on Steam Expands Beyond Games
Well the press release says right there: "Many of the launch titles will take advantage of popular Steamworks features, such as easy installation, automatic updating, and the ability to save your work to your personal Steam Cloud space so your files may travel with."

I'm assuming my work is more than my save game files. :)

joshma··on Chute releases jQuery lib to collect photos from users with 1 LOC
Sounds like you guys are competing with filepicker.io[1] What kinds of features differentiate your service?

//Edit to somewhat address the downvotes: Sorry if this sounded brusque, I'm genuinely interested in what these sorts of services take into consideration wrt their customer base.

[1] http://www.filepicker.io/

joshma··on Steam Expands Beyond Games
Did I read this right? Did Steam just announce that it was becoming a cross-platform application store? Easy installing / automatic updating sounds nice, given my past experience with Steam games, while a personal Steam cloud sounds very much like an iCloud/Dropbox/Google Drive competitor.

I'm a bit apprehensive about having to decide between Yet Another Storage Provider, but I'm (naively?) hopeful that the open-minded folks at Steam will consider something like Dropbox / Google Drive integration. Valve seems like an incredibly appropriate company to do so.

I hate to play the extrapolation game, but this could potentially encourage cross-platform apps, much like Valve is doing for gaming on Mac/Linux, especially if Valve releases dev tools to help support the process. (Hopefully it doesn't turn into a GTK/Swing nightmare.)

All in all, interesting times should be ahead. It'll be interesting to see how a "gaming" company like Valve adapts to a new field.

joshma··on Some Fresh Twitter Stats (as of July 2012, Dataset Included)
Can you explain what it means to "check the data"? The point here is that, for the last year, Twitter has NOT been generating sequential IDs. Just look at the source code[1]. They save a few low bits for the worker ID, data center, and worker-specific sequence. The highest bits are the timestamp bits.

Maybe you can correct me if my assumptions based on the code are wrong, but my guess is you'll magically find that Twitter's highest ID grows linearly with time. Then you're just randomly sampling within this maximum timestamp. At this point you're assuming that Twitter sees a constant rate of signups wrt time, which I highly doubt.

[1] https://github.com/twitter/snowflake/blob/master/src/main/sc...

joshma··on Passing Pointers
Nice, didn't notice that! (For those interested, it's actually documented here: https://developers.filepicker.io/docs/web/#fpurl-contents)

A 501 sounds like the closest error code, and I'd say having both asynchronous and synchronous modes of locking might be useful. Synchronous just holds the connection open (certain frameworks don't mind long-lived connections) while an asynchronous method might pass in a callback_url in the request to be hit when the file is ready, in the case of lockage.

(NB: to be honest I'm not too sold on the demand for locking vs ovewriting, I guess I threw it in the list of [things that files can do]. Might be interesting to see this need evolve as files move to the "cloud" though.)

EDIT: While I'm at it, a PUT method for creating files could be cool too, to let people use filepicker without the JS widget.

// oops, missed the link. meant to reply to sibling comment

joshma··on Passing Pointers
I'd also point out that URLs aren't exactly pointers as they don't (all) support writes in addition to reads. It'd be interesting to see a webservice support locking, reading, and writing from URLs as pointers.
joshma··on Scaling lessons learned at Dropbox, part 1
It's not exactly the same, though. If you're late 5 minutes by your watch you're on time naturally, without any action. If you're "overloaded" on your servers, you at least have to consciously decrease the extra load or risk having real consequences.
joshma··on Filepicker.io (YC S12) launches SDK for iOS and Android
It's nice to see this on iOS - ironically, the future in iOS app inter-operability might just be in the web (connected with services like Filepicker) instead of waiting for Apple to go native.
joshma··on Divine intervention: Google's Nexus 7 is a fantastic $200 tablet
This seems like a lot of fuss over 1) an unannounced ship date and 2) a web page that deleted your carefully composed message.

Personal anecdote: I wanted to change the credit card on the order. So I went to the Nexus page[1], clicked "Customer support" in the sidebar, clicked "Managing your order", and called the number they show, 1-855-83-NEXUS. Someone picked up in maybe 30 seconds (and I expected really bad wait times for Google customer support...).

I explained I wanted to change the credit card, and he asked me for my email address + a piece of personal information. He told me he couldn't change the credit card, but could instead issue an order cancellation and I could rebuy the Nexus 7. Not ideal, but I said it was okay (after confirming that they weren't out of stock or anything). He saw that I only had one order on my account, cancelled it for me, and we ended the call. No order number needed; took all of 4 minutes.

Granted, I'm a pretty big fan of Google so I'm definitely biased. And I do agree that Google's customer support sucks. But it's a bit disheartening to see the top comment be such a petty complaint.

[1] https://play.google.com/store/devices/details?id=nexus_7_8gb...

joshma··on Interface Design with a Homeless person
A good anecdote re: the value in (not being afraid of) striking up conversations with strangers. I think a lot of people, myself included, have a tendency to shy away from such encounters - ask the right questions, and you can get really interesting stories.

On the other hand, the man's comment about "wanting to be his own man" got me thinking about doing startups for the sake of not working at a large company. While it's probably a nice touch, I think I'm getting more cautious about letting that be a determining factor.

joshma··on Show HN: FeelHN - Sentiment analysis for HN comments [Stripe hackathon project]
Side note: the detective in me has noted that the mystery mods somehow knew this was a Stripe hackathon project, as the original title didn't have the tag.

whodunnit?

joshma··on Show HN: FeelHN - Sentiment analysis for HN comments [Stripe hackathon project]
text-processing.com[1] has a nice api, the bonus was that they restrict API calls on a per-IP basis. So client-side extensions work well here. :)

(meta: Let's see how much a smiley affects the positivity...)

[1] http://text-processing.com/docs/sentiment.html

joshma··on Show HN: FeelHN - Sentiment analysis for HN comments [Stripe hackathon project]
Hm, strange, it looks okay to me on my VM - Ubuntu 12.04 LTS, Chrome v20.0.1132.47
joshma··on Show HN: FeelHN - Sentiment analysis for HN comments [Stripe hackathon project]
We tried that, but 1) it conflicted with the `gray text` coloring (although we could'be blended the colors together) and 2) we just thought it was less intrusive this way.
joshma··on The Art of Stealth Studying: How To Earn a 4.0 With Only 1.0 Hours of Work
I'm sure this is true of other schools too, but I can confirm that some psets at MIT can take upwards of 12 hours. It's not even a matter of organization at that point - the amount of thinking and planning to just come up with the idea can take a long time.

But of course, there are also classes in which I spend way more time than I should, simply from procrastinating or not paying attention in class. So I guess the original advice is sound ("be organized", "study early") but the reality is much more difficult than the article makes it out to be.

joshma··on Faster Fourier transform among world’s most important emerging technology
With all due respect, this is anything but sensationalism. It might help to understand that the number of FFT coefficients computed is not necessarily the number of data points processed. Theoretically, if we have a perfect cosine, for example, we'd get TWO non-zero coefficients (k=2) even if n was a huge number. Compare O(k logn log(n/k)) to O(nlogn) in those cases!

Granted, this doesn't apply to every single situation. However, citing the article in the case of video signals, you have on average 7 "non-negligible" coefficients (k~7). So there are certainly applications that will benefit dramatically from this.

joshma··on Mathematics for Computer Science
For those interested, I'm almost certain that this is from MIT's 6.042 (Mathematics for Computer Science) class: http://courses.csail.mit.edu/6.042/spring12/ There is a publicly accessible, most-recent-draft of the text at http://courses.csail.mit.edu/6.042/spring12/mcsfull.pdf
joshma··on The Android Font: Roboto
Gruber's post contains nothing substantive except for "The criticism is simply that Roboto is ungainly, homely, unharmonious."

The remainder of the post is a diatribe that only succeeds in saying "nobody else likes it either."

joshma··on Ask HN: What feature do you want to see in online education?
I've seen a lot of mathematical visualizations floating around, with nice JS widgets to tweak function values and formulas and whatnot. It'd be incredible to have a platform to build your own visualizations, built on top of a message board.

I'd imagine an interaction like "why does f(x-a) shift f(x) to the right and not left?", where teachers and students could explain the answer with a graph that showed certain values as you slide a knob to adjust 'a'. Using some cleverly defined/usable toolkit. It sounds really tough to pull off, but I'm optimistic!

joshma··on Hijack - iPhone Sensors Thru Audio Jack
This is really cool! I've been thinking about fiddling with Square readers to read card data, but something like Hijack makes this so much easier.
joshma··on I'm Pirating the Next Version of Windows
I'm not sure if you're joking or not by trying to define a quantitative relationship between piracy and stealing, but here goes anyways:

First of all, relatively pricing should not matter. By your logic, if Toyota's price was suddenly 0.5 * price, then stealing just got two times better! What's wrong is wrong.

Second, your equation does not do justice to math. If your definition of X is the same as mine (i.e. average likelihood an individual will buy this item, independent of the world population) then you're saying Toyota's lost income can potentially be GREATER than the price of the car.

In clearer terms, if

  dX / d(world population) = 0
then

  lost income = X * world population * price
does not have an upper bound! With the explosive nature of the world population, it would seem that theft gets exponentially worse as the years go by.

Where does the logic break down? Well it seems you've modeled the world's purchases of A SINGLE CAR as independent of each other. (In other words, you've modeled the lost income if Toyota had a car stolen by every human in the world.) What you really want, for n people, is

  X*P + (1-X)*X*P + (1-X)^2*X*P + ... + (1-X)^(n-1)*X*P  = P*[1-(1-X)^n]
- and there's our upper bound at P.

So now the comparison is between (1 - (1-X)^N) and X. In the case of software like Windows 7 where relatively few people will go for a free alternative, X is pretty damn high. I won't argue that it's greater than (1 - (1-X)^N), but it's nowhere near your estimate of 7 billion.

In all seriousness, I definitely agree that the "relative virtue" of digital theft is better than other forms. But, as you acknowledge, there is indeed a loss of value.

joshma··on I'm Pirating the Next Version of Windows
It's equivalent in an ethical sense, not equivalent in the legal sense. I think it's perfectly fine to call it stealing, since it embodies the core meaning "steal" is meant to convey. You're depriving another of something that is rightfully theirs, control over their creative content. Let's not get pedantic here, lest we devolve into discussing what "to steal the spotlight" means.
joshma··on Interactive Twitter Visualization: Election 2012 (made with d3.js)
I noticed that too, although I'm not sure how they'd deal with an overly large peak distorting the rest of the data, even years later.
← PreviousPage 2 of 3Next →