3,572 karma · joined August 15, 2007
http://almostobsolete.net/ (Geeky website stuff) http://tomparslow.co.uk/ (Freelancer portfolio stuff)
I'm a freelance programmer in Brighton in the UK. I work in lots of languages but I seem to use Python and JavaScript the most. I spend most of my time working from a Brighton co-working space called The Skiff (http://theskiff.org/) which is very nice.
I was on Twitter @almostobsolete but who uses Twitter anymore?
Find me on Mastodon at @almostobsolete@mastodon.me.uk or on Bluesky at https://bsky.app/profile/almostobsolete.net
Unfortunately, all the excuses in the world don't change the fact that these tests hurt education and hurt children. The production of these things is a shameful act.
I thought the tests we had in the UK were bad, and they are, but the US obviously has a far greater problem. I hope this changes, because you are hurting your children and damaging your future.
The list of projects on my account isn't a good way to see what I've done, loads of it is stuff I've just forked and not done much with (or maybe fixed one tiny thing), then there's the odd thing I've commit more to, but you can't tell that.
It would be even nicer to have a way to highlight bits I'm especially proud of :)
If I'm viewing some resource in some client that supports version X and I send it to you and you view it in a client that supports version Y (maybe this happens automatically, maybe new versions are in the process of being rolled out, maybe your on the mobile client that hasn't been updated yet) isn't it better that my client gets a representation of it that it can understand?
(I don't think there's one answer for everything, I think both can make sense in different situations. But I think versioning via Headers can be very powerful and can interact well with of RESTful types of things you might want to do, it would certainly make no sense in an RPC style API)
1. Possibly both (the one in the URL being the version of the URL-space and the one in the Header being the more fine grained Representation Version).
2. It depends. For simplicity it often makes sense to put it in the URL. For more generality headers can be better.
3. No
4. They don't have to. They usually do though and it makes most sense when they do.
5. Fully formed URLs are simpler, so go with those if you can. But sometimes you'll need more.
6. URLs are a subset of URIs. All URLs are URIs. URLs give the location of the resource whereas URIs just have to identify it (but could also give the location of course.
7. It depends. I lean towards different but I'm no authority.
8. Using the Accept-Language header. But I'm guessing this is not always the best way to do things.
I think for a lot of people the reason they don't see the benefit of things from REST is they try to use them in isolation. You say "this is useless for my RPC style API!" and you are right.
(I'm quite happy with my RESTful API that allows subscription to resources via Websockets. This works very nicely when your resource representations include their own href)
Of course version numbers in URLs can have their place too. But I think they should only really be used in situations where you have upgraded so much that the original URL space just makes no sense. And if you can avoid huge breaking upgrades like that through good initial design then all the better :)
But more important that is upgrading a version on an API may not be an all or nothing thing. You might want to start using the new features of the API on one resource type but you aren't ready to upgrade your usage on everything else. If the version is in the API you'll have to take apart and put back together urls to get the right ones, this is logic you don't want to have to encode into your client. If on the other hand you use Accept headers to do versioning you can have as fine grained control as you need.
Regarding the custom HTTP verbs it may seem like you need those at first but in practice you really don't and there is almost always a good clean way of doing things that doesn't break anything (or so I've found). I find that the solution is usually to introduce another resource or two, the transactions example from the article is a perfect example of this.
I know it sometimes seems like this is all abstract stuff that has no impact on the real world but it does make sense eventually! It's really lovely to use a properly RESTful API :)
It's extremely readable and you may be surprised at how often people entirely miss the point when discussing it.
(commenting from my phone so please excuse weird autocorrect thingies)
I'm actually considering trying to get my money back, it's that bad.
It's not quite the same thing but Moom is pretty good. It doesn't try to automatically manage windows but it does let you position (inc full size) windows very quickly with the keybaord.
Will exclusive and multi-site license options follow?
Also, on your /sell page there's a heading that says sellers earn between 55 and 75% but in the text of that block it says the non-exclusive share is 35%.
Anyway, as I said below this is awesome and I wish you the best of luck.
This is an awesome idea by the way. I love the choice on Theme Forest but I the flexibility of Bootstrap is brilliant too. I'm also using Bootstrap whenever I prototype anything and being able to just buy and use a theme later on would be incredibly useful (obviously it's not quite that simple, but it could be close). I will almost certainly be buying lots of themes from you assuming you get designs (which I'm sure you will!).
I'm surprised ThemeForest don't have a Bootstrap section yet actually...