I recently released a simple API to un-shorten URLs. A few people wanted a super-simple interface to this, so I whipped one up: /unroll/. Enjoy!
Some notes about the tools I’ve used:
React -- I’ve used React in portions of sites before, but this is the first, albeit simple, full-page React app I’ve made. Brunch -- used by default in Phoenix apps, it’s just what I’m used to these days. Just like the service that runs the API, the UI is also open-source.
As a small side project, I recently launched a “link unroller” service. This is a very simple service. You give it a URI, and it follows any redirect chain for you. Then it spits out the final URI via a friendly JSON API.
Give it a spin:
https://unroll.kbys.me/unroll?uri=http://bit.ly/1QZ6acT
Basically, all you do is send a GET request to:
https://unroll.kbys.me/unroll?uri=<URI to unroll> Done. If there are no problems, you will get a JSON response:
I recently released my first app on the Mac App Store, Toki, and I decided that talking about the inner workings of the sync mechanism I’m using would not only be interesting, but helpful for me to think about some of the problems I’m having[footnote]This is inspired by the “Vesper Sync Diary” series of blog posts by Brent Simmons[/footnote].
Toki uses an App.net sync mechanism that I’ve been thinking about and working on for a while – I thought that Toki would be a good low-profile app to test out some ideas in real-world use.
A few days ago, I posted a small JavaScript snippet.
Retina, Please! is that JavaScript snippet on steroids. It is a combination of JavaScript and PHP to allow your Retina users to only download Retina images, while non-Retina users only download the standard-resolution version.
Check it out: https://github.com/keichan34/KKRetinaPlease WordPress Theme Writers: just require it in your functions.php. I may package it into a real plugin later on.
I’ve tested it with CakePHP as well.