Skip to content


How to ‘Do’ Web Design

When i first started making web applications complaints about my designs, (which can be super frustrating…”i gave you a website…now you want it to be gorgeous too…sheesh”).

So I started taking note of what I liked and didn’t like about site designs. I made a delicious list and tagged the sites i liked with “webdesign-inspiration” if they have something that specifically stood out to me. Design is an art, and every artist learns by imitating. Find a feature you enjoy and try to duplicate it. Firebug is your friend.

But never get too attached. Just because a child spends hours on a macaroni picture doesn’t mean everyone will love it. Listen to your users/friends and take their advice with a grain of salt. Re-design, is just part of design.

Find a few design blogs that you can relate to, i like css-tricks, and check them every once in a while. If you like sparten designs, read http://www.alistapart.com/ . A typography based webpage design takes more skill and patience to make look good than just throwing some blue web 2.0 buttons on your nav bar.

Keep a folder of screen shots of web designs you like and constantly ask yourself what makes you like them, and how can you incorporate those features in your site. Check out http://www.designmeltdown.com/ for some good ideas. Some people have also recommended the non-designers design book.

Mockup your design in photoshop or another graphical programming, to seperate your method (css, html) from the design process. It may feel like your wasting time when your not putting text into an editor, but being able to generate several potential mockups and pick the best can save you huge amounts of time.

Finally, if you have any limitations (mine is colors) there are plenty of resources to help you out, just search for them. Such as http://www.colourlovers.com/ Good luck!

Check out my webdesign in action and let me know what you think of my Free Email application.


Posted in Uncategorized.

Metric Units

Why don’t we (Americans) use metric units?

Seriously.

We could easily implement a 200 year change over plan. So when something has to be replaced it is replaced either with metric, or with a combination metric and english units. The next time it gets replaced it has to be metric. One world one set of standard units. VIVA la revolution!!

Posted in Musings. Tagged with , , , .

Pretty Permalinks with Wordpress and Nginx

A permalink is a permanent link to an article or blog entry. Its what you get when a user clicks on the titles of one of your wordpress entries, so if they want to give the link to someone else, the url will always be the same. By default wordpress will make the permalink to the article the articles ID, so it would look like example.com/?p=123, which isn’t very descriptive. Instead if you log into your admin panel and select settings and then permalinks you can change the format of your links to something a little more human readable, and much more search friendly such as http://www.thinkbohemian.com/2010/01/29/national-instruments-extreme-video/ which tells you not only the date it was published but the title too.

You may find after you’ve changed your permalinks that your articles now all get a 404 error. This is because your server thinks that your looking for a file in the /2010/01/29/national-instruments-extreme-video/ directory. So we need to let our server know not to do that. There are plenty of examples of how to do the re-write if you’re using apache, but if you’re an nginx fanboy like I am, there wasn’t very much information. So to make this happen we need to add a few extra lines under our nginx.conf under the location / { section like this:

       location / {
        if (!-e $request_filename) {
            rewrite ^.*$ /index.php last;
         }
        }

Enjoy the pretty permalinks!!

Update:

Posted in Web Development, systems administration. Tagged with , , , , , , .

National Instruments EXTREME Video

This is the completely ridiculous video that my team made for an inter office competition. I don’t know if anyone else will appreciate the subtleties in the work or find it half as enjoyable as I do, but I truly love this video. Shot and edited in under 24 hours, lets see if you can guess the theme of this years compeition!!



Posted in Austin, Tx. Tagged with , , , .

I Wear Sandals, so What?

In case you were wondering, my footwear of choice is sandals, and my favorite sandals todate are Teva’s mush. They don’t have any leather, so you can get them wet. No plastic or seams touch your feet, the soles are super comfortable, and they last a reasonably long time. All that and they only cost $24 new, (if you look you can probably find them for around $11 especially in winter)

Teva Mush

Posted in Uncategorized.

Test Model Changes in Script/Console Without Exiting

So if you’ve ever tested changes to a Ruby on Rails model in the script/console, it can be a pain having to completely quit and restart the application each time you make an adjustment. Instead you can use the reload! command

So this:

reload!

Acts as if you just did this:

exit
script/console

So not only does it require one less command, but you can still use all previously defined variables. Awesome!

Posted in Ruby On Rails, Web Development. Tagged with , , , , , .

$300 Donated to Hati If WhySpam.Me Wins Video Contest

WhySpam.Me my free email service, entered a video for Rackspace’s “Coolest App In The Cloud” contest and if it wins, I will donate $300 to Haiti relief. Voting ends January 27th, so make your vote count now!

WaterLooLabs I am also the webmaster for waterloolabs.com, the rascals who enjoy riding on  top of iPhone controlled cars and playing first person shooters with real guns. And they  agree that WhySpam.Me is the coolest app in the cloud http://twitter.com/WaterlooLabs/status/7951520586. So don’t wait, vote today!


Update: I lost by 100 votes…boo. But i’m still donating $50  to Hati. Just because I lost doesn’t mean that they have to lose out.

Posted in Uncategorized.

Remove Item From Git Branch

If you accidentally  put your password or underwear size on your public git repository, you may want to remove that item first get it out of future repositories by modifying the .gitignore file

mate .gitignore

add the file you don’t want to show up in the public repository, such as config/environment.rb

Then you can call this command to force the branch to be filtered. Note this command will remove the actual file from your hard drive, so make sure to have a backup.

git filter-branch --force --tree-filter  'rm config/environment.rb' HEAD

You can then push your newly super secure repository.

git push --force origin master

Posted in Ruby On Rails, Web Development. Tagged with , , , .

How to Start from the Finish

Most people on this planet have dreams, ambitions, but don’t have very clear goals. Saying “I want to be a millionaire” is a little different from saying: “I want to have a million dollar stake in a corporation in the next five years”. Once we have a clear goal, we can divide and conquer.

Maybe a million dollars is a bit much to bite off right now, so lets do something most adults want to do, “lose weight “. Does that mean tomorrow, next week, next year, or when? Does that mean one pound or fifty? That goal doesn’t really help answer any of those questions so we revise our goal: “Loose 10 pounds by next year” this isn’t a very technical problem, but we can troubleshoot it just the same. Lets take a look a how we can help use our goal to break up the problem

First Break it down:

Need to lose 10 lbs in a year? We’ll it turns out that’s 0.83 lbs per month, or 0.026 lbs per day roughly, thats doable .

Set milestones:

Take those sub steps and make milestones, to ensure that everything is  on track.

Get More Data:

How can we be sure we’ve met the milestones without some metrics? In this case a bathroom-scale seems reasonable. Maybe we want to take some photographic evidence of changes…just make sure the data fits the goal. If we want add extra data, we can add extra goals. If we get a tape measure then another related goal could be “lose one inch from the waist in a year”

Normalize Milestones:

So 0.026 lbs per day sounds like a good milestone right? We go out, buy a scale and then realize that the data is horribly wild. Seemingly random weight losses or gains per day don’t make any sense. So that’s not a good measure of success, so ignore the static and wait for a month to go by.

Normalize Data Collection Methods:

Okay so a month goes by, and  we still have crazy data…if we measure weight today, we see a gain of 3 lbs for the month, and if we take a measurement yesterday, it seems like we lost 3 lbs for the months.  So there needs to be  a way to smooth out the data a little. Since a glass of water can change someones weight on a very sensitive scale, it is decided to weight take a measurement the same time every day. Right after we wake up, the data starts smooth out quite a bit, but its still not quite where it needs to be.

Normalize Data:

Take an average of all of the data. In this situation especially we are looking for trends over a large period of time, so don’t get hung up on individual data points.

Profit (? ):

So now that we’ve got our end goal, milestones, and data collection methods all defined we are good to go, right?

Well those steps alone aren’t enough to ensure our solutions success in this scenario. If we are still not losing weight we need to go back to our milestones and break those down. How many calories does it take to lose a 0.023 lbs? Set that as a new milestone to either give up that many calories per day, or to burn off that many calories.

Once we’ve set our new milestone, get the data…normalize…and repeat.

Even when we do all these steps, sometimes we fail to achieve our goals. This doesn’t mean that the technique failed, it means we failed defining our problem and breaking it into manageable pieces. A little harsh I know, but if we don’t have failure to motivate us, then what is there?

Don’t get hung up in the details of the weight loss example, its just an example…these troubleshooting steps are good for everything. We have to meet our milestones to meet our goals. Rome wasn’t built in a day, and it took Edison over a 1000 attempts to make a commercially viable light bulb. Start with a clear vision of the finish line, and as long as we take each step along the way without falling, then we can’t fail!

This is part of Richard’s series How To Troubleshoot Everything. He used this specific technique to lose 30 pounds in 4 months. He currently works for programs web things such as WhySpam.Me, a disposable free email tool.

Posted in Musings, Problem Solving, method, technique. Tagged with , , , , .

Custom Error Pages With Rails and Authlogic

Everyone wants their site to be pretty, even when its crashing horribly. So check out these two resources:

Custom dynamic error pages in Ruby on Rails

Authlogic and rescue_from ActionController::RoutingError

Enjoy, and happy erroring!

Posted in Ruby On Rails, Web Development. Tagged with , , .