Charles v3.9 released
Charles v3.9 has been released today, it includes a number of new features and bug fixes. You can read the release notes, and I’ll talk about a few of my favourite changes here.
For a long time I’ve wondered how to improve the signal to noise ratio in Charles: you’re generally interested in a couple of hosts, but your browser (and system) connects to lots of them. Overtime the signal to noise ratio has become worse and worse. I should note at this point that you should add things like Dropbox and iCloud to the ignore list in Recording Settings because they’re always popping in when they’re not welcome, but generally I wanted to have a way to tell Charles the hosts I’m interested in, but without hiding the others – sometimes part of the issue you’re trying to debug is that an unexpected new host is involved, I don’t want to hide that or fail to capture it…
We’ve solved this in Charles v3.9 with two new features. The first is Focus. You can right-click on any host in the Structure view and choose to focus it. This will keep that host on the top level of the tree, and tuck all the other hosts into a folder. You can focus multiple hosts – just open the folder and choose as many hosts to focus as you’d like. You can see a list of all focussed hosts in the Focussed Hosts option from the View menu. There, you can add and remove hosts, including wildcards using the familiar Charles format, so you can easily focus all of the subdomains for your project.
Combined with focussing is highlighting. Charles now highlights hosts (or path folders) where a new request has been added. This helps you see where things are being recorded. This can get a little noisy, but it helps to identify where requests are going. If the highlighting drives you crazy you can always turn it off in the Preferences.
I’ve found these two new features a pretty significant improvement to the way I use Charles. I hope you do too!
Another thing that people want to do with Charles is to share traces. Charles supports a few different export formats, but often the easiest way to share is to show someone what you can see. So we’ve added a Publish Gist option. You can publish Gists anonymously, or to your GitHub account; we recommend the later, as anonymous Gists can’t be deleted. You can publish one or more requests & responses to the same Gist. We think it’s going to be a pretty useful feature!
Finally, there have been a few improvements on the Mac. We’ve got more retina icons, and fullscreen support. I’m sorry I haven’t got the app completely retina, that’s a work in progress. The Apple Java version is still our preferred version on the Mac; we’ve found OpenJDK to be not quite as stable, but I’m keeping a close eye on it. If you have problems with SSL, such as TLS issues or SNI, then please switch to the OpenJDK version. We’ll get there!
There are a bunch of other changes too. I’m really excited about this update to Charles. We’re continuing to work on improving the app and adding new features. Congratulations to the team on 3.9 and stay tuned!
Run ssh-agent when you login, and kill it when you logout. Put the following into your ~/.bash_profile:
eval `/usr/bin/ssh-agent -s` trap "kill $SSH_AGENT_PID" 0
PostgreSQL streaming replication status
There is a handy view which shows the state of streaming replication:
You can add an “application_name” parameter in your database connection string to identify your application. This is also the name that PostgreSQL uses for “synchronous_standby_names”.
Note that you can set “synchronous_standby_names” to “*” to let PostgreSQL choose any slave to be the synchronous one.
Pretty print JSON from the command-line
This simple Python tool will pretty print the JSON it receives on stdin.