BlendConf 2014 Discount Code

In September I will be presenting a talk at BlendConf 2014 in Charlotte, North Carolina! I have never been there, so it will be quite the vacation for me. I’m super excited and humbled to be chosen to present among many talented people in the tech and design industry. I can’t wait to see what everyone will be presenting about!

If you are in the Charlotte area or are interested in making the trip to the conference, I have my personal discount code to share with you to receive 10% off the ticket price!

Use rachelisfabulous at checkout!

Register for BlendConf 2014 here and check out the list of amazing speakers at Lanyrd!

An End to Front-end & Ruby on Rails Session 7

This past Saturday I had the pleasure of watching the culmination of 8 weeks worth of work that went into the final projects of the students who took my class over at General Assembly. I saw everything from an aggregator of fitness clubs in the greater New York City area to a social trip planning web app.

I am always amazed and inspired by the things people dream up, especially people who may not have programmed a day in their life. Often, programming novices see the “web” and have no idea what goes into it, just “magic.” By having introductory courses like the one I teach at General Assembly, we begin to demystify the web so that students can gain a better understanding of the time and energy that goes into making a website or a web app.

Not all of the students I have taught or met want to become developers. Some just wanted to have a better fluency in “developer speak” so that they can go on to hire someone to finish up their prototype. One student and his wife want to start a business and he constructed a web application for potential customers to order window blinds. Many found that they were able to solve problems that they were having in their personal lives. A student in the class felt that she and other parents had difficulties keeping track of their children’s school activities. She developed an application to keep track of the school’s functions and be edited by her and other parents in the school to keep these events up to date.

When we as teachers, mentors, and role-models have a better understanding of what a novice’s goals are, we can better target how to answer their questions and frame it in the context in which they want to apply it.

8 weeks is not a lot of time to complete a full-fledged web application—especially when you’re also dealing with a full-time job and 3 hours of class time twice a week. I hope I was able to convey to them that it was really an achievement to go from no knowledge of Ruby and Rails to presenting in front of their peers their idea—even if they didn’t get everything they imagined completed. If nothing, they all learned to better hone what it meant to reach a minimum viable product and concentrate on the most important features.

It was a pleasure teaching you, and good luck in your future programming adventures!

Photo1

Resources for Learning Ruby’s Pry

During my teaching, one obvious effective tool for learning Ruby is the Interactive Ruby Shell (IRB). It helps students figure out how to play with Ruby’s syntax before they go on to write their first script. I’d heard about Pry before, but it wasn’t until lately that it came up on my radar again. Here is a small collection of links to blogs, resources, and screencasts that I have found helpful in understanding how powerful it is in development.

I can’t see myself using it just for a plain Ruby program, but it definitely is better than the basic Rails console.

I just use it like this from within the base of my project:

$ bundle exec pry -r ./config/environment

Resources
http://pryrepl.org/

Blogs
http://www.philaquilina.com/2012/05/17/tossing-out-irb-for-pry/

Slides
https://speakerdeck.com/conradirwin/pry-the-good-parts

Screencasts
http://railscasts.com/episodes/280-pry-with-rails
http://vimeo.com/26391171

Growl 2.0 — Some Headaches, Some Workarounds

Like a lot of people I know who are on Macs, I use Growl for the different alerts I have set up on the different applications I use. For my IM client, Adium, I want to know when I get a new message and maybe know when my husband signs on or off. On Twitter, I want to see when I get a new private message and I use Propane to access my job’s Campfire and want to know when someone has mentioned something like my name or the work “Thai.” Growl recently updated to version 2.0 and I have encountered a couple of nagging problems.

The Headaches

Over the years, this functionality has become indispensable. I, like many people I know, either donated to the Growl project when it was free, or decided to purchase it on the Mac App Store whenever its newest version moved over to that platform.

That being said, I was really disappointed with some of the issues I have been having with Growl’s recent point release at 2.0 that came out a few days ago. All of a sudden, I noticed that I couldn’t click on the notifications anymore and have it open the appropriate application. When I see a new Adium message, I expect it to open Adium and show me that message. Instead, the notification pop-up would disappear into the GUI ether.

I insisted to myself that the problem just HAD to be user error and tried mercilessly to watch what it was that I was doing so I could debug. When that didn’t work, I then began to pour over the Growl preference panel to see if I may have accidentally unchecked/checked a box I didn’t mean to. No dice! There is no setting there that mentions any type of click behavior that could be modified.

My last stop was opening up the Mac App Store and looking at user feedback, I couldn’t possibly the only person experiencing this problem, right? Right. When I looked at the most recent reviews, ‘lo and behold, other users were having the same problem. A little more digging brought me to the Growl Google Group and latest gripes from the most passionate of users.

Another issue I encountered this morning was that roll-up and/or limits to how many Growl notifications appear at once also seems to be broken. As an example, when I logged into my account, Twitter was still running and was racking up notifications. I had to wait about a minute for the log to cycle through before I had access to my screen again, I’ve never had this problem before! Again, I don’t see a preference option for this, and it seems other people are experiencing the same issues. I don’t have “roll-up” enabled, because frankly, I only want those notifications if I am actually sitting at my desk, not later, but this could potentially resolve this issue. I’ll try again tomorrow morning to see if I encounter it again!

On Mountain Lion, I have the option of turning on Notification Center to handle my Growl notifications, but it gets grouped as a Growl application notification. That kind of sucks and defeats the purpose of quickly knowing which application is notifying me in the first place. I quickly turned this option off.

The Workarounds

As a preface, I use Mac OS X Version 10.7 (Lion) at work and Version 10.8 (Mountain Lion) at home. Both had issues.

In this thread, someone complains about the Growl notification clicking not working. One of the fixes, or “workarounds,” is to download the Growl Version Detective and analyzing the different registered apps utilizing the Growl framework — I didn’t know this tool existed!

If you download the application, you’ll get a great bird’s-eye view of how each of your Growl-enabled application is using the Growl framework.

When you click on an Application name, you’ll either see an option to “Upgrade FW” (upgrade the framework,) “Revert FW” (revert to the original framework,) or a message stating that it can’t be upgraded because Growl doesn’t have permission to upgrade the framework because the application was downloaded via the Mac App Store. In that instance, the application developers will need to update their application to work with the latest version of the Growl framework and release that update in the Mac App Store.

Can't Upgrade Growl Framework VersionI Can Upgrade the Growl Framework Version

An important change from version 1.3 to 2.0 was that Growl is now sandboxed. What does that mean?

In the Apple Sandbox Design Guide it goes over the importance of using sandboxing in your Mac apps. The idea is that you want to add additional protection to your apps and how user data is accessed. When Apple rolled out the Mac App Store, one of the biggest gripes from developers and users alike was the ability for low-level access to system functions to control more minute behavior and preferences. As designed, apps available through the Mac App Store can’t access root level privileges, nor should they as a safety concern! Apps that need that kind of access won’t find themselves in the App Store any time soon. That being said, Growl decided to trade off certain niceties and features so that they could offer their product in the App Store as well as having the additional pluses of having a sandbox.

That said, because of the sandboxing, it adds additional problems that haven’t been figured out quite yet, like the notifications not always opening the application after being clicked:

The old method for click feedback was using NSDistributedNotifications, which we could fire at any time, but these are not allowed under sandboxing with a payload (the context that we send back to the app would know what the click was in relation to).  The new system uses GNTP networking, and eventually we have to close that socket, or we run into the problems that 1.3.x and 1.4 had with running out of socket slots and pegging a CPU, we do this after the display times out or 15 seconds, whichever comes first.  We have plans on improving this, but we haven’t gotten that far yet. - Daniel Siemer

I will have to check back tomorrow to see if the “roll-up” option will fix the issue I was having with Twitter flooding my screen when I logged in this morning. I don’t have the option of upgrading the version of Growl framework for Twitter, so I’m hoping roll-up will work.

If you want to be able to use Notification Center with Growl in Mountain Lion, I would suggest you use a free product like Bark which will take the pain out of all the notifications getting grouped under the generic Growl App notification.

The Take-Away

I have to wonder, now that Growl is a pay product, if enough due-diligence was taken to bug test this latest version. I can excuse these types of issues if it’s a free product because, hey — it’s a great tool and it’s free. But if I am paying for it, AND it’s available in the Mac App Store, isn’t that supposed to convey an additional expectation of quality?

If you’re upgrading your framework drastically between 1.3 and 2.0, shouldn’t there be some sort of notification to all developers out there to prepare for framework 2.0? I shouldn’t expect my users to dig through Google Groups (which by the way is apparently favored over filing a bug ticket in the first place!) to look for workarounds to upgrade something that developers should be responsible for.

These issues aren’t going to prevent me from using Growl, but it does make my experience less enjoyable and less useful. I would really hope to see that in the long-run that the Growl team take some precautions when making large changes like this and give users/developers more of a heads up or at least delineate known issues within the upgrade description on the Mac App Store.

Help Me Design My Home Office

Help. I can’t stand it anymore and now that I am starting a new full-time job, I will have even less time to sit around and brainstorm ideas on how to fit my creative world into a small second bedroom of our condo in Brooklyn.

We’ve lived in this space for almost 2 years now, and I would really like to get this fixed before our second anniversary of living here rolls around.

This where you, my friends and stalkers, come in. I need ideas. And most importantly, even though my husband doesn’t use the space very often, he needs to be on board as well. I fought so hard for a second bedroom whenever we were looking for houses 2 years ago, and I’m glad I did. I don’t know how we would fit all of my crap into a one bedroom flat considering my varied and shifting interests and his technical and architectural pursuits.

That being said, it’s a pretty small room, has a huge glass sliding door out into a balcony currently occupied with storage and our newly installed central air conditioning unit, and NO CLOSET space. The room is 8′x10’11″. What do I do?

What I am looking for:

  1. No knocking down walls (as much as the hubby would probably have fun doing that.)
  2. Separate “his” and “hers” working desk space.
  3. I do scrapbooking, various crafts, and of course the occasional programming (grin.)
  4. Adam likes to program and I’m trying to get him to do his photography again.
  5. We have various programming books and I need separate storage for my crafting projects from his photography needs.
  6. I’d also like a place to have a nice printer/scanner station.
  7. We probably have to fit a dog kennel in there somewhere.

And now I will hereby embarrass myself by posting some crappy pictures of the room:

 

 

 

 

Reflecting on Code and the Front End