daily minutia on Twitter

  • http://twitpic.com/mr4a - Someone had a little fun with the monkey display. 11 mins ago
  • @storytlr There was a combination of Twitter downtime and and a Gnip upgrade over the last 36 hours. You should be ok now. DM me for help. 50 mins ago
  • Yay! They just replaced the broken anntenae on the marble snail on Pearl Street. I grew up playing on those animals. 1 hr ago
  • Enjoying lunch conversation with my coworkers and taking advantage of the gorgeous weather in Boulder. 3 hrs ago
  • @joshlarson I believe it is true that your nose is the only part of your body that continues to grow your entire life. 5 hrs ago
  • More updates...

I'm Ingrid Alongi, a developer in Boulder, Colorado. I'm currently a software engineer at Gnip. My world is now all about API integration. Diving into Google's data visualization API now. Previously, at OneRiot, I wrote web applications using Java/Wicket/CSS. I've also got a side project where I use CodeIgniter for PHP and absolutely love it. Diving into JQuery next.

I've been in the web development/interactive agency world for almost 10 years, with most of my experience in building database-driven web applications (PHP, ColdFusion) for consumer facing clients (e-commerce, email marketing, advertising, cms, etc.). Lots of strategy, lots of driving traffic back the web site types of stuff. Oh, and managing an amazing team of develoers.

I'm an electronic music snob, ex national level cyclist, I play violin and cello, and have an MA in Women's Studies. You can contact me at ialongi at yahoo . com.

Simple SVN setup on MediaTemple (dv) Hosting

June 25, 2008, 8:37pm by electromute

I just got myself a (dv) account at MediaTemple and set out to install SVN. I found pretty much nothing in their knowledge base on how to do this. I do this task so infrequently (but yet often enough to care), that each time I have to re-familiarize myself with how to set up Subversion repositories. Hopefully this post will save us all some agony when it’s time again to set up a new svn repo.

Contrary to some other blog posts out there, the (dv) hosting package actually DOES include Subversion, but you have to enable it through the developer tools [A complete list of the developer tools you get can be found here].

I have a brand new server and nothing on it yet, so I’m comfy doing this cowboy style. However, if you are adding SVN to an existing server, consider purchasing a snapshot that will preserve all settings prior to starting this process. Unfortunately, the free backup won’t do the trick.

Here’s how to do it

First off, be sure that you have an account that has ssh privileges into your server. This could be your ftp account or another ssh user you set up for these purposes. This can be done in the Plesk control panel (process not covered here but can be found via the MediaTemple knowledge base).

Log into your MediaTemple Access Control panel at https://ac.mediatemple.net

Go to the overview tab

Click on your primary domain

Click “Root Access and Developer Tools”

Click “Install Developer Tools”

Now that your developer tools are enabled, you want to enable root access so that you can administer your tools.

In the same area of the account center, click Enable Root Access

Now you’ve opened up a can of worms enabling root access. One of the ways to contain those worms is to disable ssh for root as outlined here.

Next, ssh into your server using the user account created prior to starting this task and run the following command:

% su root

You will be prompted for the password you created when you enabled root access. You have to install and configure svn as root so that it has the correct permissions to write/save/generally do it’s thing.

Create a new directory at /var/svn

We’ll pretend our new repository name is called reponame but you can choose any name you want here and this is what you’ll do each time you make new repositories that are served from this instance of Subversion.

Run the following commands:
% svnadmin create –fs-type fsfs /var/svn/reponame
% chmod -R 777 /var/svn
% svn mkdir /var/svn/reponame/trunk /var/svn/reponame/branches

Please note that I did not use Berkeley DB (instead I used fsfs as noted in the create command above). I have not had good experiences with Berkely DB and avoid using it, no offense I’m sure there’s a place for it and good intentions behind it.

Next, you’re going to do a little editing so use your favorite command line editor (mine happens to be vi):

% vi /var/svn/reponame/conf/svnserve.conf

configure the following items thusly:
anon-access = none
auth-access = write
password-db = passwd
realm = My Repo Yay

(ok, not really sure what realm is for other than it’s cute and displays when you checkout, but if you know a secret awesome benefit, please share!)

Next it’s time to create the authentication piece. Time for more vi

% vi /var/svn/svnreponame/conf/passwd

Each name = password pair must be in plain text. There are ways to set this up so that the passwords can be encrypted using Perl’s crypt but that is not covered here as this is the “Simple SVN setup” :-)

Finally you need to start your svn daemon. Please note that there are other options for svnserve and you should familiarize yourself with the documentation just to be sure.

% svnserve -d

So, there you have it. You have a simple Subversion setup on your MediaTemple (dv) server.

You can check out (or run similiar svn commands) from your local machine thusly:

% svn co svn://domain.com/var/svn/reponame/trunk

Note that your domain.com is yours and could also represent a subdomain if you know how to configure that.

There are lots of other fine tunings and tweaks you can do to fit your needs, but this is the Simple svn setup, no? Tools like Eclipse’s SVN plugin make it even easier to utilize this method in terms of password caching and the like.

Lastly, the grad school training in me wants to cite sources, so here you go:
Version Control with Subversion reference
gregsidberry.com
tonyspencer.com
MediaTemple.net (dv) Developer’s Tools and Packages Listing
An Introduction to the Root User
How to disable ssh for root user
MediaTemple backup options

Tags: , ,

   Read More »




5 Tweets

June 19, 2008, 8:40am by electromute

I love Twitter. It fits into my multitasking life perfectly. I can keep up with my friends and even get to know new people over time via their tweets. I make plans through Twitter, I vent my frustrations through Twitter, and I share my joys through Twitter.

Over time, I have noticed a few patterns emerge and this post is dedicated to 5 common tweets.

1. The Boring TMI Tweet

The boring TMI tweet is the type of twitter that is pretty much useless to the mass audience. It’s too much information but not even in a sexy, gross or cheeky way. Common tweets include “Good morning Twitterverse!” and “Eating cereal”. “Stepped in dog shit” or “Cleaning up cat puke” also fall into this category.

2. The Namedrop

The namedrop tweet makes one appear( to have a heavy social calendar filled with parties, outings and meetups (or, tweetups if you’re one of the cool kids). The tweets are filled with a long list of @. Little do you know that they are merely standing next to the person, but it’s all about the spin, right?

3. IM through Twitter

These tweets are entire conversations between twitter users IM-style. If you are not following both of them, you only get the partial story. While sometimes this can be amusing and can lead to learning about interesting new people, the volume of tweets for this case makes the distraction level a bit too high–even for a power multitasker.

4. Auto self promotion

This kind of tweet is usually a bot that automatically feeds links to Twitter. While in moderation can be cool, the robotic tone of these tweets is a turn off. I mean, how hard is it to announce that you posted on our blog yourself? My worse experience with this type of tweet was when Twitter wasn’t letting you page through to old posts and someone’s feed re-posted each and every one of their blog entries. LEAVE

5. The Love Fest

Love fest tweets are those where lots of kudos are handed out in a public forum. These are fun tweets and they make a person feel all warm and fuzzy. There should be a twitter app called “share the love” where you can review them all when you are about to cry because your regex isn’t working.

BONUS: The Mental Twitter

This type of tweet doesn’t make it to Twitter and is perhaps my favorite kind. These are tweets too inappropriate for the mass audience or are inside jokes that end up not being funny to anyone else (and fall into the boring TMI tweet category). My friends and I will often tweet these directly to each other, just to have an outlet, however many mental tweets are just that–mental, said in your mind in under 140 characters.

You can find me committing most of the above crimes at www.twitter.com/electromute

   Read More »




Wicket dojo integration: Tooltip on text field hover example

June 9, 2008, 6:45pm by electromute

Although it is tempting to write your own javascript or use external javascript libraries such as jquery, Wicket has its own built in dojo integration.

This integration makes using dojo pretty easy, but styling your UI is not so straight forward. In this example, I implement the DojoTooltip on a form text field on the hover action. The use of the standard DojoTooltip as well as other dojo/wicket examples can be found here.

I highly recommend installing the Jad decompiler for Eclipse if you are going to delve into this as documentation is very light and having the decompiler will help you understand what is available to you in the libraries.

Here is a screenshot of the wicket example I started from, note the black border–this is not acceptable for my UI:

Wicket DojoTooltip

I need something that looks more like this:

Wicket DojoTooltip

The key to getting exactly what you want is overriding the CSS that comes with the framework.

MyTooltipPage.java:
public class MyTooltipPage extends MyPageTemplate
{
 private WebMarkupContainer hoverTarget;
 public MyTooltipPage()
 {
 super();
 hoverTarget = new WebMarkupContainer("hoverTarget");
 add(hoverTarget);
 DojoTooltip hoverTooltip = new DojoTooltip("hoverTooltip", hoverTarget);
 add(hoverTooltip);
 hoverTooltip.add(new TooltipPanel("tooltipPanel"));
 }
}

Next I create the panel that will display the tooltip upon the hover:

TooltipPanel.java
public class TooltipPanel extends Panel
{
 private Page page;
 public TooltipPanel(String id)
 {
 super(id);
 }
}

Here is the HTML snippet for the input–this is the page where my form field lives that I want to apply the over state on.

MyTooltipPage.html
<span wicket:id="hoverTooltip"><span wicket:id="tooltipPanel "/></span>
<div wicket:id="hoverTarget">
<form>
<input type=”text”>
</form>
</div>

Here is the HTML for the panel that will pop up on the hover state.

TooltipPanel.html
<div id="searchTooltip">
<div class="tooltipPointer"><img src="/images/darkPointerUp.gif" alt="" /></div>
It's a search box you know you want to try it.
enter anything you like and let us find it for you
</div>

Finally, the most important piece of this puzzle is overriding the .dojoTooltip class which is contained in the framework CSS. Using the !important designations will ensure that your attributes are used rather than the default despite the ordering of the CSS files themselves:

Tooltip.css

.dojoTooltip {
background-color: #ffffff !important;
border: 2px solid #ff6d04 !important;
position: fixed !important;
left: 35px !important;
top: 130px !important;
}


#searchTooltip {
margin: 0 5px 10px 5px;
font-weight:bold;
size:14px;
position:relative;
top: -10px;
}


#searchTooltip .tooltipPointer {
position: relative;
z-index: 1000;
top:-3px;
left: 30px;
}

Hope this saves someone some time, enjoy!

Tags: , ,

   Read More »




5 reasons why cycling is the best sport EVAR!

June 2, 2008, 5:45pm by electromute

Growing up in Boulder, you can’t help but be outdoors. When I was a teenager, I was a competitive cyclist eventually racing with the US National Cycling Team. It’s been about 15 years since I did my last race. Although I’ve kept in shape with yoga, hiking and some trail running, I haven’t really gotten back on my bike since.

A few wonderful things happened this spring to help me re-ignite my love for the sport.

  1. I moved back to Boulder to work at a local startup: Me.dium
  2. Steve LeGoff from Performance Bike helped me restore my old racing bike
  3. David Mandell and Brent Daily from Me.dium bought road bikes and wanted to get out and ride

Being in a town where you can actually go out riding on the roads, having a bike that is ready in good repair, and having buddies to ride with are three very important ingredients to making cycling fun.

Brent with David and Stuart in the background

We’ve been getting out on our bikes as much as possible, mostly once or twice on weekends. Sunday, we had one of those epic rides that just reminded me how freaking cool cycling is. US 36–>Greenbriar–>Jamestown–>Olde Stage Road. Here are my top 5 reasons why cycling is the BEST SPORT EVARRR!

1. Fitness

This one is obvious. I sit all day at my desk. I call this the 10-finger workout, in that my 10 fingers are moving and typing, but not much else is happening. This burns about 80 calories per hour. Cycling on the other hand burns upwards of 700+ calories, depending on your current weight, fitness and terrain. Even better, cycling is a low impact sport, meaning if you are a little bit on the heavy side, your joints won’t suffer as they would if you were running.

2. Stress Reduction

They call it the fight or flight response. When stress levels are heightened, our bodies produce over 30 hormones, including adrenaline and cortisol that need to be cleared out of the body via some kind of “flight” response. When we don’t do any physical activity to rid our bodies of the horemones, the stress chemicals sit in our systems and cause damage both physically and psychologically.

3. Comraderie

Getting out on a nice ride with your buddies is one of the best ways of bonding. Hey, I don’t play golf, so being able to do something outside of the office that doesn’t involve drinking is pretty damn cool. Cycling is a gentleman’s’ sport and a hero’s sport, so you gain a lot of respect for the folks you ride with for various reasons whether it be the first time you climb that big hill or that time you pull around and win the sprint for once.

4. Cool toys and gadgets

Come now, have you seen the hipster kids riding fixies? Well road cycling is full of cool toys and gadgets. Cool wheels, computers for keeping your mileage, etc. You can buy cool bike stands for your house so you can tinker around with the wheels, parts, keeping things clean and buffed and it’s way cheaper than fixing cars!

5. Speed

Alright, one of the best things about cycling is riding down a mountain road, after you’ve done a big effort. Being able to go as fast or faster than the cars, taking the turns like a pro and imagining how cool you look. It doesn’t matter how you actually look-this is not the point. It’s imagining you are fast like a pro racer in the Giro d’Italia!

You don’t have time to ride you say? Well, here’s the deal, it took me over a year and a half of being back in Boulder before I got things under control enough to start riding again. I was too busy, tired, working, my bike was not fixed, etc. Even now, I have to ride at ungodly hours both during the week and weekend. My riding mates coordinate with spouses and babysitters, it is not an easy task. Do your best, don’t be too hard on yourself if you can’t get out and get out as much as you can without it being stressful.

Me getting ready for the descent.

Happy riding!

Tags:

   Read More »