HNHacker News
TopNewBestAskShowJobs

lmorchard

228 karma · joined August 12, 2009

https://lmorchard.com

{web,mad,computer} scientist; {tech,scifi} writer; home{brew,roast}er; mozillian

submissionscomments
lmorchard··on Who Cares about GET vs. POST? NoREST
Most of the things you describe have nothing to do with REST. That might be part of your problem :)
lmorchard··on Who Cares about GET vs. POST? NoREST
I take it that no one's seen JSON-RPC? http://json-rpc.org/
lmorchard··on Who Cares about GET vs. POST? NoREST
REST doesn't add "restrictions". REST describes constraints that - if you can work within them - provide certain guarantees and benefits and capabilities. It solves a bunch of real problems. REST wasn't just pulled out of thin air - it was an attempt to describe how the web itself works at global scale.
lmorchard··on Who Cares about GET vs. POST? NoREST
You have missed the point of REST. REST is an architectural pattern for a World Wide Web global-scale system. Your API may not fit that description. Thus, REST may not be appropriate for your API.

Following the REST patterns means you can take advantage of things like standard agnostic intermediaries for caching & filtering. You can switch or even spread across service providers by changing domain names in URLs. You can mitigate network issues through guaranteed idempotence and using conditional headers like if-none-match. These are all issues that you'll probably have to rediscover and re-solve on your own, if your API lives long enough.

It is not about SEO or visually "clean" URLs. REST says nothing about that, despite many misconceptions otherwise. In fact, in a truely RESTful service, resource URLs can be obscure garbage like http://example.com/A13D-DE45-32BC. If you're using the HATEOS principle, those URLs will be picked up from links in your responses.

"Pidgeonholing" your errors to standard HTTP error codes means that you've followed a shared standard, rather than inventing your own from scratch. Also, 4xx errors generally refer to something in the client's request, while 5xx errors generally mean something has gone wrong while generating a response on the server side.

If you don't need any of these things - because, say, you're building an API that will only be used between two parts of your own small system - then don't worry about REST. Go ahead and build something along RPC lines.

You might regret it someday, if you find yourself needing the scaling characteristics of the WWW. But, many systems never grow to that point anyway.

lmorchard··on The “Web Application” Myth
> It can be summed up as "don't use technology without understanding it, and don't blindly follow the crowd." But then again, how are you supposed to learn when a certain piece of technology should be applied, other than apply it and see how it goes?

That's called research. You do it on your own time, while using more mature & proven solutions for daily work. Play with it, review all the source code. Like it or not, it's going to be your code, once you start using it in earnest. Don't treat it like a friendly black box.

Is that too much to do? Then you're going to have a lot of surprises. Maybe that's fun for you, but I have to say it gets really old over the years.

> It requires a certain amount of cognitive dissonance to point to Etsy's 2000 files as a failure while at the same time they are a successful company.

Er, no, it doesn't require cognitive dissonance at all. In fact, the folks at Etsy blogged about the issues themselves.

It's a common thing for a fast moving, highly successful project to accumulate gunk under the excuse of "it works for now, we'll clean it up later". But, if the clean up never comes, that gunk eventually becomes a noticeable drag on daily development.

> And it's not a particularly interesting one, imho. I'm not sure why so much ink is spilled on it other than it's easy to form opinions around.

If it's not particularly interesting, then why are you reading about it and responding to it? :)

lmorchard··on Mozilla to sell '$25' Firefox OS smartphones in India
I'm on T-Mobile in the US, been swapping a SIM card between an Android daily driver and an FxOS dev phone for months now. Works fine.
lmorchard··on Building Cordova apps for Firefox OS
As far as I'm aware, the intent is to develop any non-standard Firefox OS API into a web standard API. Any API that starts out as non-standard on FxOS, starts that way so that it can be shaped to serve practical uses before it gets standardized.
lmorchard··on Building Cordova apps for Firefox OS
Web as native on Firefox OS is not an argument or an illusion. Seriously, no kidding, it's the entire point for the existence of Firefox OS.

There will never be access to run native binaries on a Firefox OS device. Web APIs are as close to bare metal that it will ever expose.

Seeing that as "totally lacking any sort of real native software development support" misses the whole purpose of the OS, because the web is native on Firefox OS.

lmorchard··on Building Cordova apps for Firefox OS
Yeah, I would say that the problem is the "little phone" hardware moreso than the web tech. I wouldn't be surprised if a "native" (ie. Dalvik) Android app had similar issues on the same hardware.
lmorchard··on The Mozilla Developer Network has a New Face
Probably the most relevant code can be found here:

https://github.com/mozilla/kuma/tree/master/apps/search

lmorchard··on The Mozilla Developer Network has a New Face
Rendering page content after edits is exactly what we do. Most page views are served up from a pre-built cache, either from a straight caching HTTP proxy or from a single DB column.
lmorchard··on The Mozilla Developer Network has a New Face
The site started on MediaWiki. But, probably around 7 years ago, it switched over to a platform called DekiWiki, later renamed to MindTouch.

This is way over-simplifying it, but: MindTouch looks like a fork of MediaWiki (PHP) that's had all the database calls replaced by requests to a local web service running on .NET, with a Lua-based document scripting system (DekiScript) added on.

However, MDN ran all this on Linux servers - rather than Windows servers - so our installation was rather unusual. Eventually, the company behind the software decided to drop support for our kind of setup. So, we decided to move over to software we could support in-house, and launched it around June 2012.

What we have now started from the Django-based wiki that runs support.mozilla.org, called kitsune. From there, we worked on getting some practical feature parity with MindTouch. I added a node.js-based document scripting service (KumaScript) that mostly replaced DekiScript for our needs. We worked up some migration scripts, and moved the whole thing over.

It's admittedly kind of an evolutionary mess, at this point. But, at least it's our mess.

lmorchard··on The Mozilla Developer Network has a New Face
That render() method is called only on page edits or forced refreshes, not on every page view.
lmorchard··on The Mozilla Developer Network has a New Face
Yes, you are correct. We're trying to limit the system to one rendering per page at a time.
lmorchard··on Ask HN: How do you manage your bookmarks?
Pinboard. 25441 bookmarks and counting, carried over from the 15000 or so I imported from delicious a few years ago. http://pinboard.in/u:deusx

The thing is, though, how do you use bookmarks? I hoard everything and rely on search. I feel like once you're over a dozen or so, that's what you need to do. I long, long ago gave up trying to organize them by hand

I use my pinboard to collect links from my tweets and status updates posts, and I use IFTTT and a to:fb tag to post from pinboard to facebook.

I also use a bookmarklet to post to pinboard with tags.

Later, I use pinboard as a personal search engine between tags and search terms. Basically, everything I used to do with Delicious for years

lmorchard··on What can I do for Mozilla?
Even more handy would be to submit a pull request! It's open source! https://github.com/jdm/asknot
lmorchard··on Mozilla is looking for help for its browser-agnostic Web documentation
Computing is hard; let's go shopping.
lmorchard··on Mozilla is looking for help for its browser-agnostic Web documentation
Any ideas, in particular?
lmorchard··on Mozilla is looking for help for its browser-agnostic Web documentation
Believe it or not, HTTP vs HTTPS is not the problem. As I mentioned in another thread:

We're rewriting the wiki basically from scratch [1]. There are problems and growing pains. Pull requests welcome!

[1] https://github.com/mozilla/kuma

lmorchard··on Mozilla is looking for help for its browser-agnostic Web documentation
What would you rather we used, other than developer.mozilla.org?
lmorchard··on Mozilla is looking for help for its browser-agnostic Web documentation
dochub.io pulls data from MDN. They deserve hugs. <3
lmorchard··on Mozilla is looking for help for its browser-agnostic Web documentation
FWIW: I work on MDN.

In short: We're in the process of basically rewriting the wiki software from scratch, right now [1]. There are a lot of growing pains. MediaWiki won't cut it.

Pull requests welcome!

[1] https://github.com/mozilla/kuma

lmorchard··on Is Firefox Doomed?
Most users never touch defaults. I'd bet you $100 million a year that AltaVista would stay default in the majority of Firefox installs, if it were released that way.
lmorchard··on The Amazon Kindle Cloud Reader is live
I'm sure Adobe would love it if "Just use Flash" were part of the <video> spec, too.
lmorchard··on The Amazon Kindle Cloud Reader is live
Oh, and by the way: Microsoft was opposed to WebSQL, too. It wasn't all Mozilla.
lmorchard··on The Amazon Kindle Cloud Reader is live
"SQLite was the spec" was the problem. No arbitrary version of any arbitrary vendor's software should be the core of a web-wide spec, no matter whether it's open source or popular or loved by millions.

The HTML5 authors & editors have already spent years reverse engineering and describing the behavior of existing browsers as part of that spec.

I'm sure everyone was overjoyed at the prospect of starting the same process for every quirk and bug of that specific version of SQLite, and bumping the spec every time the project released a new version. Or, alternately, living with a fork of that specific version of SQLite forever.

Seriously, that's an awesome way to write and maintain a spec. How about you do the web a solid and give it a shot? Come back when you've got something.

lmorchard··on YouTube Founders Acquire Delicious From Yahoo
Which, you know, we hoped Yahoo! would do when I was there working on Delicious. Maybe these guys will figure it out.
lmorchard··on Doug Cutting Leaves Yahoo for Cloudera
Of course that whole time, we on the Delicious team were watching the rise of those apps, thinking "Wouldn't it be cool if we could..." but being told "Maybe, though first you'll need to..."
← PreviousPage 4 of 4