HNHacker News
TopNewBestAskShowJobs

jsankey

1,088 karma · joined August 6, 2009

Just another programmer.
submissionscomments
jsankey··on When You Don't Make the Front Page of Hacker News
The upside is that people have to be quick to spot the typos, e.g. "miriad" ;).
jsankey··on CmdrTaco's Trove
There's a web version too. Besides which: they just launched, so have presumably just decided to support iOS first (seems sensible to me).
jsankey··on Sweden closes four prisons as number of inmates plummets
There's nothing offensive about it, this certainly is plausible and need not be due to any inherent racial differences. But you really should back up your claims with evidence rather than copping out as in your last sentence. If anything the omission of statistics makes it more likely someone will attack you rather than debate the facts.
jsankey··on Flaskr: Intro to Flask, Test-Driven Development, and jQuery
Wouldn't that mean you lose one of the reputed benefits of TDD: writing tests as a way of exploring the problem space, informing the design of the code under test? More generally while there is a place for testers that are at arm's length from the implementation, giving the implementor some of the testing responsibility (TDD or otherwise) has the benefit of investing the implementor directly in the QA process.
jsankey··on Tweetbot 3
It's sad that the app store's lack of support for paid upgrades has created this totally unrealistic expectation that a $5 purchase entitles you to a lifetime of upgrades. Do you really think that is sustainable? You still have the original version you purchased, it's not like the developers have taken something away from you!
jsankey··on Why Android First is a Myth
...building and releasing on Android costs 2-3x more than iOS. This is due to a multitude of reasons: less sophisticated tools, generally more cumbersome APIs, fewer exposed advanced features, enormous QA issues brought on by fragmentation...

I've developed on both platforms and only one of these reasons rings true to me -- the QA headaches of testing on many devices. IMO Android tooling is superior, the APIs are pretty much a wash and there are more advanced features exposed on Android (though not in every area). On Android you also: don't have to worry about retain cycles (and don't get me started about pre-ARC days); have access to the source code and bug tracker (a huge time saver in some situations); don't have to deal with provisioning profiles for development and beta testing.

jsankey··on Who’s afraid of Jeff Bezos?
State controlled media is certainly bad, but that is not implied by state ownership. In my experience state owned organisations provide better quality journalism than their commercial counterparts, and the gap is widening as commercial media race each other to the bottom.
jsankey··on Show HN: UI improvements for Jenkins
I'm another competitor in this space -- in fact more a competitor to Jenkins than CircleCI in that we don't offer CI-as-a-service (if anyone's interested the details are in my profile).

I think you're unfair to Jenkins in a couple of ways:

1) It's not as hard to set up as you make out. If you want to see what it's really like for nothing to work out of the box then head to the pre-Jenkins (then Hudson) era when CruiseControl was king (and I mean no disrespect to CC, it was a groundbreaking project). I agree, though, that the overall UX leaves plenty to be desired, and indeed this is one way we compete with Jenkins.

2) The strength of Jenkins is support for a huge range of environments and tools, with contributions in the small from a massive user base. Part of the trade off for this flexibility is some extra complexity.

I gather CircleCI approaches this space from a different angle, by narrowing focus thus making a streamlined UX a lot easier. That's a fine approach, and I wish you great luck, but it's not a way to "vanquish" Jenkins because you won't be able to satisfy most of the Jenkins user base.

Our approach is somewhere in between, and the balance is our greatest challenge. We've spent a lot of effort focused on ease of setup, and even more on ease of ongoing maintenance (especially for large build farms). I don't expect we'll ever compete with Jenkins on pure flexibility, rather I think there is room for many competitors in this space. After all, everyone should be into CI!

jsankey··on iOS 7 Lock Screen Vulnerability Discovered
If someone gets physical access to the phone, most data is certainly compromised. But there is still value in a passcode, as the system/apps on an iPhone can store the most valuable data (e.g. saved passwords) encrypted using the passcode as the key. Without a passcode losing your phone means immediately losing the keys to your entire online kingdom. Especially if you have email credentials set up. (Even if you have been using a passcode when you lose your phone you should still change your credentials, but in the meantime it is much less likely that your accounts are compromised.)
jsankey··on Excel can't save to paths over 218 characters
You're assuming all paths are created and consumed by humans. Automated processes could easily generate and work with long paths for perfectly-valid reasons. A limit this low causes grief for people that "deserve" better.
jsankey··on Hong Kong’s Massive High-Rise Neighborhoods
The Hong Kong we tend to think of is the very densely populated Hong Kong Island and Kowloon area across the bay. Actually there is a huge area beyond Kowloon to the north known as the New Territories which is much less developed:

http://en.wikipedia.org/wiki/New_Territories

jsankey··on frak: Transform collections of strings into regular expressions
This was the subject of my honours thesis[1] back in 2000. I was actually inferring DTDs from sample XML documents, but it's the exact problem as DTDs use regular expressions and I only had positive examples to go on.

Based on existing methods my solution started with the same trie and then generalised to a more flexible DFA by merging states. I used information theory (specifically Minimum Message Length) to turn it into an optimisation problem and tried a few different algorithms, in the addition of Ant Colony Optimisation to an existing algorithm produced the best results for my tests. (They were pretty limited, though.)

[1] http://www.cse.unsw.edu.au/~wong/Papers/jason.pdf

jsankey··on iOS 7 vs. Android – A Quick Feature Comparison After the WWDC Keynote
Sure, Apple is playing catch-up in some areas. They are inspired by Android, which certainly took ideas from the success of the iPhone (and both have been influenced by WebOS, Windows phone, etc etc). Not a story, really, it's simply good competitive pressure at work.
jsankey··on 1984
It's a pretty dark form of humour, I guess. I found Winston to be quite comical character himself, which I think makes the book easier to endure in the darker parts. The extremity of some of the scenes/ministry policies and other characters made them both comical and scary. The former because they seem ridiculous, the latter because you feel it is not actually outside the realm of possibility (when you think on modern history).
jsankey··on 1984
I only finally read 1984 about a year ago. Everyone should read it: it's a great combination of entertainment and insight; funny, yet terrifying. The classics don't always live up to the hype, but there's a reason so many terms from the book ended up in our vocabulary.
jsankey··on Xctool: a replacement for xcodebuild to build and test iOS and Mac projects
Agreed. When first I encountered these differences with xcodebuild I found it incredible that the IDE and command line builds are not based on the same backend (indeed the IDE could just wrap the command line tools if well-designed).

Every project's main build should be scriptable -- for reproducible releases, continuous integration etc. I wonder how Apple internally builds things for release when something this simple doesn't work (maybe they don't use OCUnit?).

jsankey··on Our Regressive Web
Were they really not worth doing? Or just not worth Google doing? The latter has a much higher bar given the rate at which other parts of Google print money.

I could certainly see a minority of Reader customers paying enough for the service to make a small team very comfortable. It would have been nice for Google to spin it out for this reason, though I suspect there were significant technical barriers.

jsankey··on The Positive Programmer
You can help by flagging submissions on (mostly US) politics that are off-topic. I rarely flag, but do in such cases as those threads suck a lot of oxygen out of this place.
jsankey··on LivingSocial: Employees' and Founders' Common Stock Now Worthless
You're assuming it costs LivingSocial nothing to enlist a new business willing to offer a deal. I'm sure this is a huge cost for them, especially considering this is a "land grab" phase where there is fierce competition from other deal sites.
jsankey··on iOS Development Tips If You're Just starting Out
My experience is all pre-autolayout, which is very new. It sounds like I definitely need to take another look for future work.
jsankey··on iOS Development Tips If You're Just starting Out
Pretty good tips. Re: being aware of retain cycles -- this is not just for blocks but really in general. When you start out you should immediately learn the conventions and adhere to them strictly. (Unfortunately the APIs don't always, I'm looking at you NSURLConnection!)

Another tip: try both Xcode and AppCode: http://www.jetbrains.com/objc/. It's a subjective thing but for myself AppCode is far better (it helps that I also use IDEA for Java, including Android).

jsankey··on iOS Development Tips If You're Just starting Out
I started out using XIBs, but also found myself moving a lot of my controllers away from them as soon as things got non-trivial. The biggest problem I found was weak layout support, so if you had a lot of dynamic content in a screen, it was easier to make a flexible layout in code.

I also agree that the lack of "diffability" for XIBs, despite them being XML, is a pain.

Maybe I was missing something, but my experience matches the OP.

jsankey··on Monoprice Announces 27-Inch 2560 x 1440 Monitor for $390
Sorry I haven't tried one, just Dual-DVI to a Linux box.
jsankey··on Monoprice Announces 27-Inch 2560 x 1440 Monitor for $390
If you're a bit paranoid about quality/support for some of the cheaper 27" monitors out there a good compromise is to wait for the Dell U2713HM to be on sale. It's regularly 30% off which brings it down to ~$500 (+ GST in Australia, AUD and USD are comparable). I'm happy with mine!
jsankey··on The Future is Hypermedia APIs
> It's pretty trivial to have the client hit the root on startup, and then cache that and never make another call. API roots don't change very much.

That's true and will work in most cases, but perhaps not when client sessions are short-lived.

> Basically, you can fold elements of the collection up into the parent, and the client will automatically make less requests.

Now it looks like my choices are to either fetch more data than I need, or make more requests than I need.

> Best of both worlds.

Well, both best and worst of both worlds. Each approach needs to stand up to cost-benefit analysis alone or I doubt it's worth maintaining both.

I do see advantages in these patterns, but I think some of them are more theoretical than practical, and I'll take the practical advantage I see today over the theoretical one I might need in the future.

jsankey··on Instagram updates its Terms of Service again based on user feedback
I'm not arguing for compartmentalisation, nor against the importance of all the teams you are talking about working together. There would absolutely need to be back and forth between legal and product as part of the encoding I am talking about, for example.

But it seems to me that if this was happening at even a basic level, then whoever is in charge of the product at Instagram must have known they were adding some pretty onerous terms. And if they didn't, it's a pretty massive failure to take the ToS seriously.

Neither option inspires confidence in a service that people provide with important data.

jsankey··on The Future is Hypermedia APIs
First, are there then multiple roots? If so, you've already sacrificed one level of indirection, moving knowledge to the clients. If not, you're adding at least one request.

Secondly, when your data is hierarchical, it's nice for other reasons to reflect this in your URI structure. It's intuitive (and thus discoverable in its own way) and can make for human-friendly URLs (especially when your datatypes have natural identifiers).

jsankey··on The Future is Hypermedia APIs
“Proper” use of a REST or hypermedia API generally requires you only ever initiate communications with the API from the root (https://my.api.example/ versus https://my.api.example/some/other/url). From there, every response from the API will then contains links to other resources, often with a relation to explain how each resource relates to the next. In this way, you never guess a URL - you are always given it.

Speaking from practical experience using an API like this: it can result in a lot of extra round trips to get to your final destination. The indirection is nice purity-wise, but in practice do you really want to make 3-4 times the round trips to the server for every API interaction? Especially when you might be on a mobile network? All for the sake of flexibility you may never need?

I'd say supporting the discoverability for learning, and consistency etc is nice. But in practice concerns like this (and the DHH example, and others already in comments here) will crop up and clients will start building their own direct URLs. So the idea that you'll be able to change the URL structure without affecting clients is a pipe dream.

jsankey··on Instagram updates its Terms of Service again based on user feedback
I'm not saying you're wrong, in fact I'm quite sure you're right in how things often happen.

However, for a service like Instagram, the ToS are a critical part of the business. Any changes made to the terms should be known, understood, and agreed on by whoever sets the overall strategy for the product. The legal team helps them encode it, marketing and PR help them communicate it outwards, but the strategy should be coming from the top, and the responsibility should rest there.

jsankey··on Migrate Your Instagram Photos to Flickr in One Click.
The limits only apply to the free plan. For $25/year all limits (and ads) are removed: http://www.flickr.com/help/limits/#28. And you're less likely to see dubious changes to the ToS when you are the paying customer.
← PreviousPage 3 of 10Next →