Eric Wendelin's complete blog can be found at: http://eriwen.com

Items:   6 to 10 of 24   « Previous  | Next »

GroovyRTM is now featured on Remember The Milk’s API List!

I have always wanted to give something back to the wonderful creators of the Remember The Milk to-do list service. It has been a great tool for me the past couple years by helping me keep organized. Thank you, RTM crew!

Over the last couple months I’ve been taking a bit of spare time to write something that I hope all of us can benefit from: GroovyRTM

What is GroovyRTM?

GroovyRTM allows you to easily take advantage of the Remember The Milk REST API using any language on the JVM. In short, you can now write apps for Remember The Milk without having to worry about all the HTTP transaction stuff, error handling, etc. As its name implies, it’s written in Groovy, which made it much easier to write and test.

How can I use it?

To get started, you’ll need 3 things:

  1. Download groovyrtm-all.jar from the project on GitHub
  2. Request an API key (you’ll probably want an RTM account to test it with, too)
  3. Create a RtmService.properties file as explained in the project Wiki
I’ve created a quick-start project that has everything you need to get started quickly! I included an application authorization example because that’s the first hurdle. Download it here

Just how easy is it? Suppose you want to write a little Java app that adds a new task:

1
2
3
4
5
6
7
8
import org.eriwen.rtm.*;

class MyGroovyRtmTest {
    public static void main(String[] args) {
        GroovyRtm rtm = new GroovyRtm("api-key", "shared-secret");
        rtm.testEcho();
    }
}

It’s that easy! Now, it’s a little deceiving because the first time your app runs you have to allow it access via the RTM website. The best part is… it’s open source! You can check out the source with Git:

git clone git://github.com/eriwen/groovyrtm.git


Twitter LogoI recently read a poll about why people use twitter. It was very interesting seeing the reasons people gave and I’d like to share my thoughts on why you should, too.

You might be laughing to yourself if you already do tweet, but you’d be surprised at how many don’t.

Network with other programmers

Networking is one of the best things you can do for your career. Not only can networking help you find a job, but I’ve found that programmers are generally very helpful and accessible on twitter. Programmers love it when you ask about a project they are involved with. Call it an ego thing.

One other really cool networking use for twitter: having something to talk about when you meet at JUGs or conferences. A follow request is an instant icebreaker and gets the networking process started for you.

Keep up on trends

You already know that software engineering is a constantly changing field. Twitter is a great way to learn how and when to branch out from your areas of focus. Even better, if you have a question about a new technology you can ask your posse without fear.

Be careful, though, there are a TON of cool things out there. Pursuing all of them is idiotic, you’ll just end up burning yourself out. Trust me ;)

Promote yourself

Networking in today’s world seems to be just as much about building your personal brand as meeting others. Hiring managers love to find passionate and honest programmers. There is little better proof than tweets that show you’re thinking in the programming world (the best proof, though, is open-source code IMO).

Why do you use twitter? Share with a comment or a tweet!

WARNING! Shameless plug: Don’t forget to follow me on twitter. If you show passion for programming, it’s likely I’ll follow you back :)


I recently switched to hosting all of my own websites. While it is liberating to have much more control over my web host, it begs for more maintenance time and better tools to help you monitor your server.

While browsing my GitHub account I came across Mark Sanborn’s site monitoring script and thought: “Hey this is a good idea, let’s see what I can make of it”. I have been meaning to post more Python here so I updated his code a bit and thought I’d share it with you. I hope you have ideas for improvements.

It looks like Mark has made this a full project on GitHub and added timing the requests and command-line options! This is a perfect example of how OSS projects are started. Check out his introductory post

Checking site availability with Python

I didn’t feel that this script was big enough to go full OO with it, but if you want to add to it, fork the gist on GitHub and provide a link in the comments. You know what’d really be cool is if someone used timeit to get the response time and set thresholds for when the site is too slow.

Basically, this script just checks if the internet is available, then checks each site. If the previous result is available and is different, it sends an email with the headers received so you might get a good idea what’s going on. Even cooler, you can use the email specific to your cell phone carrier to get text messages when your sites’ availability changes.

NOTE: You must have some sort of mailer daemon installed. See How to setup Gmail with sSMTP. You can try it out by editing the appropriate parts of the script and then doing:

1
2
chmod +x checksites.py
./checksites.py eriwen.com yoursite.com

Scheduling it up with cron

I’ve already showed you the ins and outs of basic cron scheduling. We can have this run every 5 minutes by typing crontab -e and then adding:

*/5 * * * * ./path/to/checksites.py yourwebsite.com othersite.org

What do you think? Tell me how you’d make it more “pythonic” or otherwise improve it in the comments.


Cheqlist LogoCheqlist has a new website! Check it out for downloads, screenshots, and more!

Anyone looking to stay productive with their work, errands or chores keeps a to-do list. You need to have that to-do list available at all times and be easy to manage.

With that in mind, I am introducing an application that I think will help you with that: Cheqlist. A desktop application powered by Remember The Milk that does 2 things very well: make managing tasks very efficient and look sweet on your desktop.

What makes Cheqlist awesome

I wanted to build an application that I, myself, would use everyday. There are a few key features that would make that happen:

  • Adding tasks quickly using RTM’s Smart Add feature
  • Visual appeal and lots of room for customization
  • Easily search tasks and use RTM’s custom search keywords
  • Works on all of the major OSes: Windows, Mac, and Linux

On top of that, I think there are some things you’ll come to appreciate:

  • Easy-update: Cheqlist checks for updates on startup, and if you want to upgrade, it takes just seconds!
  • Free and open-source
  • A few “easter egg” features for those of you who take time to find them ;)

A quick look

I’ve created a short (3 minutes) introductory video to show you the main features. View it here.

Here are a few screenshots:

  • Smart Add
  • Task List
  • Lists
  • Settings

Try it out!

What you need:

Other resources

Having trouble installing on Mac OS 10.8 “Mountain Lion”? You have to update your GateKeeper settings to allow applications to be installed from anywhere (under System Preferences > Security & Privacy).

Something missing? Having trouble? Visit the issue tracker or email me.

You can find more information on the official Cheqlist site.

Enjoy!


After launching Cheqlist last week, I felt compelled to give you a peek under the covers to see the tools involved and why I chose certain technologies. I hope to give you insight for times where you decide what to work with.

Getting started

Before I could really start working on a major project, I had to choose a VCS. I went with mercurial based on a friend’s insistence that I introduce myself to a DVCS (specifically Hg) immediately. I knew what it was but never took time to try it myself. I am very glad I tried it.

Looking back, though, I think git may have been a (very slightly) better choice. Regardless, mercurial has served me very well and I strongly encourage anyone who hasn’t given a DVCS a spin to do so!

After getting some code and tests written, it was time to pick a project host. I chose kenai.com because it integrated well with NetBeans (which is THE IDE for JavaFX), it supported mercurial, and I like the direction Kenai is taking.

Communicating with Remember The Milk: GroovyRTM

RTM has a REST API that you can use to interact with the service. I decided to start by creating my own Groovy consumer of that API that would do the heavy lifting of interacting with Remember The Milk so I could keep my options open when looking for a UI technology.

I chose Groovy because:

  • I didn’t want to write and maintain a lot of code
  • I wanted to be able compile to Java classes I could use with other languages that run on the JVM
  • It has great utilities for parsing XML and making HTTP requests

In the end, Groovy totally came through for me. It did everything I needed and more, easily.

UPDATE: I’ve been polishing GroovyRTM a lot since May and I’m confident in saying it is, by far, the best Java API kit available. If you have suggestions or improvements, let me know!

The UI

JavaFX was a natural choice for me since I’d been playing with it since before it was 1.0. I was eager to develop something more than a demo app with it. The two key features here were:

  • Easily using Java classes - just an import
  • Deployment to the desktop AND mobile phones (hoping to deploy to Android eventually). I’m holding off on mobile right now because RTM introduced their own Android app which I can’t compete with (yet)
  • Java Web Start deployment gave me a lot of goodies for the desktop (title, icon, auto-update etc.)

Frankly, I don’t think JavaFX was ready for building real applications until version 1.2 (released in June). Even then, including the JFXtras project is a must. There is no way I could have done this without them. I still had to create or adapt a few custom components. In all fairness, JavaFX is a young technology and I know that the team is working very, very hard on producing a lot more for JavaFX 1.3. Oh, and I can’t wait for the Sun to release the JavaFX visual designer.

Launch

Last but not least, I needed to easily make a screencast to introduce Cheqlist. After listening to Faceoff Show’s excellent screencasting review, I chose Screenr. The only thing that caught me by surprise is that the video didn’t embed in my aggregation feeds. Could have been my idiot mistake, though.

You can catch my intro video here if you haven’t for some reason.

Updates!

  • Where’d my edit button go? Oh yeah, you don’t need it anymore since all task edits occur immediately now.
  • Create and delete lists (including smart lists)
  • Toaster looks and acts much better ;)
  • Cheqlist is now on twitter! Follow @cheqlist for news and updates.

Launch Cheqlist

In addition, you should know that I’m currently working on notes management, minimizing to taskbar icon, and undo functionality. Anything else you want? Hit me up on twitter, email me or submit an issue.

What would you have done differently? Comment!


Items:   6 to 10 of 24   « Previous  | Next »