HTTPie as a cURL replacement

I’ve been giving HTTPie a try recently. It’s a command line HTTP client that aims to be simpler to use than cURL while providing a richer experience.

As an example, if you’re developing against a REST API it’s useful to send requests:

curl https://public-api.wordpress.com/rest/v1/sites/3584907/

curl-example

http https://public-api.wordpress.com/rest/v1/sites/3584907/

http_example

Now you can see what is happening! (although, it seems, I need a better terminal colour scheme)

You can certainly use tools such as jq to prettify cURL (or in the case of the WordPress.com API, pass ?pretty=1), but it’s built-in with HTTPie.

If it’s specifically JSON you want to see then you can use a Chrome extension such as JSONView may be easier still.

Although the above example is very simplistic, when you start digging into an API with HTTP verbs and authentication headers, HTTPie’s syntax is easier and less obscure than cURL.

How do you get this tool? Using brew you can just:

brew install httpie

MAMP Slow Queries

Ever wanted to track down slow SQL queries while developing with MAMP on OS X? From the MAMP control panel edit the my.cnf template:

Track down the section starting with [mysqld] and add the following highlighted lines:

# The MySQL server
[mysqld]
log_slow_queries=/Applications/MAMP/logs/mysql_slow.log
long_query_time=1

Restart MAMP and any slow queries (queries over 1 second, configurable via the long_query_time option above) will be logged to /Applications/MAMP/logs/mysql_slow.log.

Now I have no excuse to forget this.

Remote editing with Sublime Text 2

I’ve been quite taken with Sublime Text 2 recently, and I’ve been trying to find a way to introduce it into my daily work flow. While it’s perfect for editing files locally, it doesn’t have any built-in remote editing facilities such as Coda. As I work remotely, this is a pain.

I do have ExpanDrive, and depending on the speed of your server, this can work fairly well. However, you do miss out on some of the extra features of Sublime Text, such as ‘find in files’ and web development plugins.

I’ve experimented a bit with a mix of rsync and directory watches, but the best solution has been the simplest, and also a quick introduction into the world of Python.

Using the Sublime Text API, I wrote a plugin to monitor any changes to a file and simply scp (secure copy) it across to my remote server. All password details are already setup by dint of it going over SSH.
Continue reading Remote editing with Sublime Text 2

Close a frozen SSH session

Just a short one here, but I spend a lot of time using SSH to connect to a remote server and occassionally a session will freeze. Usually my solution is to close the terminal and start again, but there’s a neater way to just cancel the SSH session itself. Enter these keys, one after the other (not together):

[enter]
~
.

That is, the enter key, the tilde, and a period. Your SSH session should close and you can re-open it without starting a new terminal.

Related Thumbnails with YARPP

I’ve been using YARPP (Yet Another Related Posts Plugin) for some time to add a short list of related links to the end of all posts on this site. The plugin works great, and is written by the capable Mitcho (who gave a very good presentation at WordCamp San Francisco).

I was thinking about the post thumbnail feature of WordPress and wondered if I could get thumbnails to appear instead of text links. A bit of searching later and it seems I wasn’t the only one to think of this, but I thought I’d give my take on it, and explain how I ended up with something that looks like this:

Continue reading Related Thumbnails with YARPP