melreams.com

Nerrrrd

Dev tool of the day

You know what’s incredibly helpful? RequestBin! Why is it so great? Because testing webhooks sucks and RequestBin makes it easy. Logging your output is a good start but that can’t tell you which IP your request is actually coming from. RequestBin can, which is awesome when you’re trying to figure out whether the Elastic IP you set up in AWS is working correctly. It also shows you all of your output (in a nice human-readable format, no less), which is handy if you really want to know exactly what your client receives.

It’s also free! On the downside your destination url only lasts for 48 hours and your data may be wiped out at any time (if you need a permanent solution look at Runscope’s Request Captures – seems only fair to plug the paid version when I’m talking about how helpful the free one is), but the price is right :)

Android app of the day

One of my very favourite Android apps is actually one of the ones I use the least. Gentle Alarm does what it says on the tin, it wakes you up gently instead of startling you awake like normal alarms. I don’t know about you but I really hate starting my day grumpy about how I got jolted awake.

Gentle Alarm is a bit more complicated to set up than the usual “blare loud noises” alarms, but I think it’s worth it not to wake up angry. I also don’t completely trust the “safe alarm” option – last time I tested it, which to be fair was ages ago, it was barely loud enough to hear. I’d still set a regular alarm for when you seriously need to be upright – it’s still annoying, but not nearly as bad as starting with the “blare loud noises” option.

There’s also a free version to test it out. The free version doesn’t ring on Wednesdays, but since it’s Thursday you’ve got almost a week to test it out :)

Productivity tip of the day

I’ve been working through the Learning How to Learn course on Coursera, and one of the things the teachers recommend is using the Pomodoro Technique. When I first heard about it it sounded too simple to work, but you know, it’s actually really helpful. I personally have trouble getting started on tasks in part because I feel like it’s going to take all day to get it done and I just don’t wanna :) The Pomodoro Technique helps me because there’s a built-in stop time – when 25 minutes are up, it’s time for a break.

The Pomodoro timer I use is tomato-timer.com. I can’t say I really need another tab open all the time (if I counted correctly I have 42 tabs open right now), but it’s super easy to use and I like not having to install anything. If you have trouble getting started or staying focused, give it a shot. It can’t work any worse than what you’re already doing :)

 

Postman rocks!

Postman is one of my favourite Chrome extensions, it’s so helpful. If you work with REST APIs, you need postman or something like it. Yes, you could just use curl, but you could also not hate your life :)

Postman lets you easily test your REST endpoints by letting you name and save your calls and add them to collections. You can save your authentication data too and you can parameterize your calls so you can test the same call on local and then staging by just switching environments in the dropdown. Another really cool thing Postman added lately is the ability to sync your account across different computers. If you work from home sometimes and curse yourself for not exporting your calls and sending them to yourself (not that I ever do that), you’ll love that feature.

If Postman isn’t your thing, there are plenty of other apps for REST testing. Insomnia, for example, was built by a local!

Cmder rocks!

Cmder is an awesome tabbed command line interface for windows. Unlike the regular windows console, cmder is resizeable, includes handy linux commands like grep, and uses a font that isn’t hideous. Honestly, while the other features are great, being able to resize the freaking window was one of the biggest selling points for me. It’s incredibly irritating to try to read a log in a window that’s only 80 characters wide when you’re running a java server that sometimes throws very wide error messages.

Cmder can also be integrated with programs like Sublime Text. I haven’t done it myself but it’s cool to know I could. For git users, cmder has another really cool little feature – where the prompt usually shows you which directory you’re in, cmder adds which branch you have checked out to the end, and it turns that branch name red if you have changes you haven’t committed. It’s amazing how helpful that is.

Cmder with current git branch
Cmder with current git branch

If you use windows and you run anything from the command line, give cmder a try. Shiny shiny tabs await you :)

 

Scheme tip of the day

Get Racket. Technically the racket IDE is for the Racket language, but it works just fine with scheme if you put “#lang scheme” (minus the quotes) at the top of your .scm file. The thing I really love about Racket is the debugger. You can actually step through your scheme code instead of just littering it with (display <blah>)! So much easier!

Fiddler rocks

Fiddler rocks. Fiddler is a free web debugging proxy for any browser, system or platform. I’ve only ever used it on Windows so I can’t speak to how it performs on any other OS, but on Windows it’s pretty great.

To go into a little more detail, Fiddler captures every request your browser makes and lets you save, retrieve, and analyze them. Mostly I use it for simple things like seeing the full error message and headers returned by a failed api call when all my javascript is telling me is that “something went wrong.” Thanks js, you’re a big help.

A lot of why I like Fiddler so much is just personal preference. The network tab in Chrome dev tools does a lot of the things I use Fiddler for, but I like Fiddler’s interface better. Fiddler does have some differences, though. If you want to save a few rounds of requests across page refreshes so you can compare them to each other, Fiddler lets you do that. It also has a more powerful filtering system than Chrome dev tools, so you only have to see the requests you care about.

Another awesome thing you can do with Fiddler is set up a mobile device to use it as a proxy. Logging from a mobile app is all well and good, but sometimes it takes much longer to add logging, rebuild, and redeploy than it does to just update your mobile network settings to use Fiddler as a proxy.

While I mostly use Fiddler for very simple request/response viewing, you can do some pretty cool stuff with it like performance testing, session manipulation, and security testing. There are also lots of add-ons you can try if Fiddler doesn’t already do what you want, plus you can customize it on your own.

As much as I love Fiddler, there is one caveat I need to mention. Firefox is totally incapable of coping with Fiddler unless you change some settings. I strongly recommend that you do that immediately if you install Fiddler because you will forget that you have Fiddler running, try to test something in Firefox, and freak out because everything is suddenly broken (not that I’ve ever done that. Repeatedly). It’s not, Firefox should just be ashamed of itself. Even IE can handle a freaking proxy. You used to be cool, FF. Now you’re like a broken down racecar that’s getting lapped by a go-kart. With square wheels. That’s been set on fire.

Why should you care about Fiddler? It might be better than what you’re doing right now. Having better tools to do the tedious stuff for you means more time for actual development, even if you have to invest a few minutes up front to figure out if Fiddler is actually better than what you’re using right now. It won’t magically make you a better developer, but it will give you more time for development, which can be pretty close to the same thing :)