life


I don’t know what else to call this post, I’ve been doing a little bit of everything in past few months. I’ve changed jobs and thats taken much of my freetime to ramp up and get going on new projects. SO, I will write up a little of what I’ve been doing.

Facebook — Yes, I worked on some facebook projects. Some were fan pages and some were applications. It was pretty interesting, I hadn’t done much with facebook other than get addicted to some stupid games (Yes, cafe world, i’ve quit again.. for now..). Developing on facebook can have some frustrating moments, as if you are using FBML, then facebook takes liberty to rewrite things at will and not give you much information on errors. Programming in FBML can be irritating but, when using iframe in an application canvas url… its pretty cool because then you can code in the familiar word of jquery. The new stuff coming out like the social plugins/widgets is pretty handy.

Python — Yes, I like to gripe about python and the sometimes functional and sometimes OOP nature of it. But.. I worked on a project where they already had apps in python and they weren’t interested in supporting a rails app, I am not interested in supporting a rails app (they didn’t want to use heroku) so.. python it is. And postgresql … I had more problems with postgresql then python. We had our moments but we are good now. I just needed a lightweight framework so I used web.py which is pretty similar to Sinatra for Ruby. So, that was pretty good. I didn’t find it as irritating to program in python as I thought, it didn’t bother me about the intenting/whitespace at all.. and only a few times I forgot the : at the end of a block statement.

PHP — I tried Zend Framework.. I did PHP for 6 years of my life, never really gave the MVC framework from Zend a fair shot. So I set out to give it a whirl, I started working through the tutorial on zend .. when I got to the part where I had to do all this coding to setup the database.. I was like, ack, i can’t take it. I am not going to knock it if you like it..but its not for me :)

Grails — Yes, I’ve always thought that other frameworks that try to mimic rails FAIL. I haven’t gotten too much into grails, but.. so far I haven’t run screaming. Hehe. One thing I noticed.. the first time you run the app, it will go ahead and install all the plugins. No need to run something like bundler or rake gems:install … it has meta-programming aspect because of Groovy, so I think that it might be successful where other frameworks zend, cakephp, etc don’t quite cut it for me (I’ve always held fast to the reason that rails is so successful is because its made with Ruby).

Groovy — This is the scripting language that Grails uses… it compiles to the JVM and i haven’t quite got it all figured out .. but i found this Koans to learn the language (I love ruby koans and go back every now and then and work through them)…I know that if I knew about groovy when I was doing java a few years ago I would have been alot happier. Java just requires so much typing, ack. Groovy (although i think it could use a better name) might make java programming fun again…

Javascript — Been doing more javascript/jquery. I’m always on the lookout for for screencasts/tutorials and I subscribed to ThinkVitamin. They have great tutorials on css/html5/javascript and a growing section of frameworks. Its 25 a month but I think its well worth it. They have a series now about making an HTML5 game .. exciting!! I’ve been looking at javascript game frameworks. Keeping a collection of options in mind for when I figure out what kind of game I want to make.

Misc — I finally got the Seven Languages in Seven Weeks by Pragmatic Programmers. When I first saw it, I squealed with delight but held off buying it till I had some time to dig in. I got it, did most of the ruby which I knew most of but it was good. Now I am working on the Scala section. I was listening to the Java Posse podcast and heard the excitement and joy in Dicks voice, so I was intrigued to find what is scala? Once I tried it, I understood his excitement. Scala has clear syntax (like ruby) and one thing I like for learning an interactive console…the completest (or maybe its compulsive crazy person) in me is not wanting to try the others until I finished the Scala section.

My <3 still belongs to Ruby, but I like to try out other things from time to time...I basically strive to use the best tool for the job and sometimes that means using whatever is going to be supported (as in the case of using python for one project) or one that is already in use (the grails site I am working on) and I don't want to begrudge anyone on their choice of languages.

And Happy New Year!

Go forth and program!

For this years Finding Ada post, I would like to highlight several members of DevChix and their contributions and inspirations to the group.

Desi McAdam – One of the co-founders of DevChix. She is always there to put some perspective on things and teach me about diplomacy. Sometimes I get frustrated and speak without thinking things though :)

Susan Potter – Very technical and has very good reasons for why and how she does things. Whenever I see her post on DevChix mailing list, I will pay close attention to what she says.

Jen Stander – Another of the co-founders of DevChix, always a good friend to listen to me and helps me plan DevChix activities in Chicago.

Ginny Hendry- Member of Chicago Ruby group, she has been instrumental in planning Hack Nights for the group and enthusiastic about learning!

Sarah Allen – Inspired me to learn more about mobile development and I am amazed at the variety of things she is doing!

Sarah Mei – Along with Sarah Allen, they both have inspired me to do something for women in Chicago. A one-day workshop or something, the Chicago DevChix have a meeting in a few weeks to plan this!

And I would like to thank all of DevChix, veterans and newcomers alike! We are nearing 400 members and really I don’t know how to explain how supportive and inspiring they are!

/tear You Ladies Rock!!!

Its been a crazy December through January and I haven’t written much!

I’m glad the GWT posts helped some of you from the comments. I spent some time on figuring them out from the limited docs on google’s GWT site, mostly I think it helps to have complete examples since they dont make it real clear what file each snippit of code goes in. I’m glad the pain I went through to figure them out help some of you :) A few of you had problems but i haven’t gotten around to seeing what is wrong. I was using the trunk version of GWT, so if you are using 2.0 then you might have some differences.

I’ve been diving my head back into rails after spending a spell in perl/mason and GWT in some projects for work. I think other languages are neat but I really love ruby. So I’ve been re-watching some of my episodes of PeepCode.com and RailsCasts.com those guys are awesome. I love this stuff. Why else would I be spending my Saturday night with Ruby vs watching a movie or playing a game!

I’ve also been playing with android a bit, its pretty fun to see my app on a phone! Working on a TODO List app, which seems almost like “hello world” but it has a twist… more later when i have something to show.

Been working learning jQuery. I had seen it before, but saw class names mixed with programming and having a ugghhhh feeling. But.. I decided to give it a shot and dang! I would have given my right arm to have this 5 years ago when i was experimenting with ajax (though it wasn’t called that…) with setting the src of a script tag with a php url to load and save data. Anyways, its cool and neat. I think the name is horrible since you aren’t really quering anything… IMHO :) Maybe if I can think of a better one I can suggest it, but seems like it is here to stay since there are stay since there are 4 books already about it!

To help with reviewing ruby I have been working through Ruby Koans. Hats off to EdgeCase. I have already written them and thanked them! This goes along with my post How To Get Better At Programming where I wrote about how i was working at getting better at programming. It all comes down to practice! … I think when I finish the rubykoans exercises, i will revert and start going through them again. Almost like doing pushups every day (I push up to get more coffee at least 3x a day!).

Git … I did my first pull request on github, very cool how that works.

Have some ideas for some more substantial posts… coming soon :)

In my constant battle to get stuff done and feel good about what I did, I am finding the Pomodoro Method very handy.

Basically you set a timer for 25 mins, work unhindered for that time, then take a 5 minute break. Repeat 3 more times, then take a 15-20 min break. This has helped me for a few reasons

  • If my task is BORING.. I procrastinate, go read facebook, email a friend. If I can tell myself, ok 25 mins of this then usually I get into the swing of it and get it done!
  • TOO MANY EMAILS! … I could sit and watch my inbox fill up before my eyes. Usually, any email can wait at most 25 mins to be read or responded to. Using my break time to glance over email has improved my inbox organization. Knowing i have just 5 mins to sort through the mails that have arrived makes me choose what is most important
  • I use http://www.tomatoist.comto keep track of my timer. It seems to work the best. I like looking at the list for today and seeing “oh wow, I did 7 pomodoros!”
  • I feel good, even when I don’t complete the task, it makes me feel good to know I spend some uninterrupted time on that task. I am under alot of pressure from various fronts, and feeling good is something that keeps me going.

I have used other time keeping things, like Awake for mac. Timers on my android. Some people keep a list of tasks and how many pomodoros they believe that task will need. Reading the Pomodoro Method has alot of good tips!

Post in the comments if you have tried this sort of thing before!

Edit: Found a mac app that is cool and integrate with twitter! http://pomodoro.ugolandini.com/

I had a pcmcia sierra wireless broadband card for my old laptop for the past 2 years , since I have a loooong commute and its just plain boring being off the grid. I am usually programming on the go and sometimes I need to look something up or ask a friend or install a library. On one hand, it was a distraction. I would get on the train and just browse the web instead of concentrating on a project. On the old laptop i dual booted – so when in linux, no internet, I could not set it up for the life of me. So I had to boot to windows (another reason to NOT use the net, ugh windows). So, I could get alot done without the distraction. Well, I want internet back!! even so much so that I am not getting a crackberry or iphone or any other fancy phone for awhile (secretly holding out for a android phone in the fall)

So I am happy to say — the new aircard is on the way!

Being off the grid I found “offline” things to do….

Google Reader — offline mode is freaking awesome. Before i log out at night I sync and download my blogs. Read them on the train, get to work – sync and download. If I remember I will sync and download them again before I leave to get the afternoon content. Today for some reason, its not working. :(

Print to PDF — if I find a page with a blog, tutorial, whatnot I will print to pdf to read it offline. Its pretty cool. I can search it easy too. Generally webpages look decent, though I’ve had some sites where the text runs off the edge of the page into who knows where?

Stockup on PDF books — This has more to it then just being off the grid, but for the last Apress book review I am doing I asked for a PDF book. Nice, I got it within an hour! Rock on. I still like paper books though, for home. And for reading at the gym.

Sleep — usually I can never sleep on train and usually never ever nap unless I am deathly sick. If I skip the after lunch/afternoon coffee I can sleep on the train usually. I usually have to set my backpack on my lap soI have something to lean over on. My rain poncho that folds up into a little pocket actually makes a nice pillow! I don’t sleep every day, but every so often. I haven’t had much success sleeping in the mornings, even if I dont bring coffee with me.

Read paper books — obviously… I’ve been reading some fantasy books: Warcraft Archives, its fun to read about these places and people i hear about in the game of World of Warcraft. I’m also reading Elminster, a book about a wizzard. Its pretty cool.

Playing DS — some days I bring my Nitendo DS with me. I am working through thew New Zelda game and Final Fantasy III. Boy is FF hard, I get so far then die…and I have to start over. Where’s the freaking save point? Its the first time I have played a game of this type, my husband warned me it was hard core and difficult! But I feel up to the challenge.

Write Blogs — I’ve been writing more lately I think, I will write them offline then upload them when I get to a net connection. I will sometimes even compose emails into a text file to people and then copy-paste them to emails when I get net.

Lately I’ve been burned out on all things programming, even ruby. I need a break from the usual. I’ve been playing World of Warcraft. It appears as usual, i am late to the game. Everyone I talk to is “oh yeah! I used to play that” … I was hoping I could find some of my geek friends in the game, oh well!! I’ve found some friendly people and have made a few friends.

Its quite a fun game. I find the professions very fun. I guess thats why I have 6 characters so far… I started a wow blog so I could write about them! The url is wow.rubygeek.com :) I used a default template, since most people use a rss reader I don’t see much point in making a pretty site!

misc stuff:

DevChix is growing like crazy! We have well over 100 members.

Its finally getting warmer out … this will help my winter blues I’m sure. I’ve been feeling more motivated to get my lazy behind to the gym too. yay!

I upgraded one of my sites to Rails 2.0 .. didn’t have any problems, just needed to upgrade rspec to latest too, so not too bad. I was using a dev version of rails from last fall, but I still expected there to be a few bumps in the road.

Getting Things Done – we had a seminar on this at work and it re-inspired me to get stuff done, in fact, thats the only reason I have this post out now :) Its on my list! :)

I’m in the middle of a 5 day vacation … so I’m going to get back to chilling out :)

I’m alive!

No, really I am.

I’ve spent the past 3 months (seems like 6 months) helping a startup company get rolling with rails in my limited spare time. It was an interesting experience but I’m glad my part in it is over. Talk about stress. I am not the sort of person who wants to run her own business, I’m content to work for someone else. I like to put in my 8-10 hours a day, and then be done.

On December 10th, I was riding home on the train and an email “Thank you for registering your mac!” .. huh?? I have wanted a mac for so long, but have been trying to be content with a dual boot windoze (for evdo) and linux (for real work). I ask my friend if he got me one — he always said he would if he could. No, he said he didn’t get me one. Ok, well since MrNick, my husband, hates macs – I thought surely he didn’t get it for me. Its gotta be spam! … I check all the urls in the email, they seem legit. I search on the sentences in the email to see if has been reported as a phishing or spam attack. No. Weird, if it is spam – its sure a cruel joke. I then remember to call MrNick and tell him I was running 20 mins late. I ask him …

“Hey, uhh… you didn’t buy a mac did you?”
“Whhaawhat gave you that idea?”
“umm well I got this email… thank you for registering your mac”
“umm yeah”
(me squealing) “what!?! you did!?!? awwwww”

His plan was, if I got home at the right time, he was going to be gone to his piano lesson and I would walk in and see this mac on the table playing X-Men (one of my favorite movies!) … but he had turned it on to make sure it worked and had registered it with my email … hence the email to me.. so… it wasn’t quite like he expected, but I was really surprised and really happy. :)

I love doing ruby on the mac. I got Textmate of course and am slowly learning the short cuts. I’ve been doing exclusively vi for the past 3 years, so its a bit of a switch. I can press cmd-r to run the tests… and I have autotest running in the background. I have a spiderman skin, so spidey tells me my test status. :) Its pretty fun.

As a break from coding, I’ve been playing World of Warcraft. Yep, it runs on the mac and only crashes once in awhile! MrNick plays, so its something we can do together. Its pretty fun. I used to play DnD online, but al you could do in that game is fight. I also played Ragnarok, which was sort of fun but there’s only so much you can do in that game. WOW seems to be the perfect game. I can party with Nick and do quests or on my own gather resources to make and sell stuff. Its all good. :)

Now that I am freed up from some of my obligations I am going to write more. I have 3 books waiting for a review to be written up! .. one on ActiveRecord, Perl, and PHP. Look for those in upcoming weeks.