Justin Carmony
Web Designer & Software Engineer
  • Home
  • Pages
    • Utah PHP Users Group
    • PHP Bob
  • About
  • Portfolio
  • Talks
    • Demystifying CSS and WordPress
    • Blazing Data with Redis
  • Contact

Being a Productive Developer

Posted in: General|Tags: Goals, productivity, Programming, Web Development |September 15, 20093 Comments

Doh! I meant to schedule this for Thursday, so oops! Already off my schedule, but oh well. :P

These last few weeks my productivity seems to have been fluctuating, and it has been irritating. So I’ve decided over the next few weeks to keep track of how I work, see what works well and what doesn’t, and figure out how I can be more productive.

Just as I would suggest any company with scaling/growth problems, I’m going to do the same with me: metrics. You can’t really know where and what to fix if you can’t tell how they are performing. So I’m going to start to keep track of my time in a lot more detail. I think this will help me in so many fronts, and I’ve known for a long time I need to do this. I’ve signed up for a demo account with Harvest, a time tracking software. Why? They seem to have a great interface, both Windows and Mac apps, and iPhone web and native app. So it will be easy to keep track of what I’m doing no matter what or where I am.

Over these next few weeks I’ll write how things are going, see where I can approve, and how that goes.

jQuery Tip: Better Toggle

Posted in: Programming, Web Design|Tags: html, JavaScript, jQuery, Tips and Tricks, Tutorials, Web Design |September 15, 20094 Comments

For many web developers, jQuery is the most awesome JavaScript library out there. For me, it has turned JavaScript from being a nightmare into a power tool. I love JavaScript now, where as before I truely hated it. Takes all the hassel out of most compatibility issues across browsers. I spend less time debuging it and more time writing it. While I’m on my goal to write more blog posts, I’m going to share a few jQuery tricks.

Today’s trick is using a better toggle method than the standard toggle function. Don’t get me wrong, it works great, but only if it is the only method for “toggling” the given element. Traditionally you pass is several functions, typically two. Function #1 that executes the first time that the event is fired, and a second function that fires the second time you click on it.

The problem arrises if you want to have more control over who, what, and where executes the toggles. Lets say you have a hidden div that is rather large, and a link above it that says “More Information.” You click the link, it fires Function A and it slides down the div. Since it is so big, at the bottom you of the div you put a link that says “Close.” The user clicks this link, and it hides the div again. The problem is the toggle function isn’t away that another part of the website hid the div. So if the user clicks “More Information”, it will still call Function #2, which will re-display the hiding annimation.

How do we solve this problem? Instead of using the toggle function, we write our own like so:


<h2>Better Toggle Method</h2>
<div id="new">
  <a href="#" class="toggle">Toggle More</a>
  <div class="more" style="display:none;">
    <p>More Text Here</p>
    <p><a href="#" class="close">Close</a></p>
  </div>
</div>
<script type="text/javascript">
  // Assign Events on Page Ready
  $(document).ready(function(){
    // Create Toggle Function
    $('#new .toggle').click(function(){
      // If display is none, that means it is hidden
      if($('#new .more').css('display') == 'none')
      {
        $('#new .more').slideDown();
      }
      // Second Click
      else
      {
        $('#new .more').slideUp();
      }
    });

    // Create Close Function
    $('#new .close').click(function(){
      $('#new .more').slideUp();
    });
  });
</script>

If you want to see an example of the old method, as well as the new method in action, you can see them here. Hopefully this can help you out.

So You Want To Be A Web Developer?

Posted in: Programming, Technology, Web Design|Tags: advice, learning, MySQL, PHP, programing, Web Design, Web Development |September 14, 20091 Comment

<tangent>

This last week I’ve been talking with my brother Brack, who to say the least, absolutely abhors his job. Well, maybe abhor is a little strong, but he is extremely frustrated and unsatisfied. He works at a air force base in the human resource department and he basically helps provide statistical data for departments on who, what, and where to hire new help. Since he is a “wiz” at solving problems, computers, and making this more efficient, he has streamlined his work process with several nifty Excel spreadsheets and Java programs. He can now take a weeks worth of work and do it in one morning.

Needless to say, he is now doing all sorts weird things that aren’t in his job description. Worse, if he isn’t “staying busy” he gets reprimanded by his superiors, since he needs to be “working.” Even though he has done triple the amount of work that his job really entails. His immediate boss and co-workers really enjoy his work, because he helps them out a lot and they see all that he does. Its those hirer than that who don’t both about quality or quantity of work, and just see “if you don’t look busy, you must be slacking off.”

Anyway, he has been exploring other options of employment, and he has decided to experiment with Web Development to see if he would enjoy that line of work. So we’ve been talking about possibilities of teaching him how to do web development, in the hopes that he will pick up on it quickly, and we could soon throw some basic work his way.

</tangent>

So over the last days I’ve been thinking about advice to give aspiring web developers, or those who are looking to improve on their skills. Here is my list of advice (or at least just a few items) to help you out.

Prepare to be a “Self Learner”

If the concept of “learning stuff on your own” doesn’t sound appealing, I’d like to share one crucial piece of information: The majority of your learning will be on your own, doing your own research. Yes, there are classes that can help you learn. Yes, you can get help from other developers. However, 90% of the stuff I’ve learned has been through my own research, study, and experimentation with technologies. The other 10% has been working with others to improve on my 90% I’ve already done. No one is going to take your hand and walk you through each and every lesson you need to learn. No one is going to spoon feed you your answers. You have to be willing to “figure stuff out on your own.”

If this doesn’t sound appealing, I’d highly recommend you re-evaluate your future as a web developer. Its not because you wouldn’t necessarily be good at it, but that the shear volume of new information, techniques and technologies is so vastly great that it would be impossible to have someone else teach you everything.

Web Development is Creativity & Problem Solving

Weh development requires a LOT more problem solving and creativity than people think. The best way to describe it is for most people think web developers are like construction workers. People hand you instructions, and you use your skill set to accomplish the task. Also, many people think each website is basically he same, and so it is like building houses. While they all might look different, the challenges they provide are all the same.

Web development is nothing like that. The best description is it is more like you are the architect, contractor, and construction worker all together. Unless you work for a giant firm, most of the time you’ll be planning how to execute just as must as you do the actual building. If you don’t enjoy this concept, once again you might want to re-evaluate. However, if you love challenges, then web development is for you. It seems every new site has something to bring to the table to make your brain really work.

Don’t Overdose On Information

There is a lot of information out there on web development. While I was explaining it to my brother, I realized that the average LAMP developer had to deal with a lot of technology. Linux, Apache, PHP, MySQL, HTML, CSS, JavaScript, Ajax, and many other things. Each one could give you hours upon hours of information to study. You’d never be done.

Start small and worry about just one topic at a time. If you rush to learn it all, you’ll be overcome with the vast amounts of knowledge you can learn, get overwhelmed, and lose all desire to learn more.

Be Aware Of Many Technologies, Focus On A Few

This can go hand in hand with the previous idea, but learning about a technology is much different than learning how to use one. An example would be Memcached for me. While for years I’ve known about it, I haven’t had a real need to implement it. However, I knew exactly what it was used for: lightening load on databases and improving website performance. So when the time came when I needed what Memcached provided, I knew where to look.

There are many other technologies like this that I haven’t used yet (Comet, Advanced MySQL Replication, Amazon Web Services, etc) but I know of. That way, when I do need them, I know where to look.

Find People, Groups, and Communities to Ask Questions

Find someone you know who can help you answer questions you will have. It is important to have this resource of experience the benefit from, but not abuse. Do your homework and research so you can go to these people with well defined questions, not “I don’t get this, show me.” There isn’t a quicker way to lose the attention of others than wanting them to do your homework for you. While many web developers are willing to share knowledge, we’re not willing to do your research for you.

I recommend finding a local user group, like the Utah PHP Usergroup that you can find people who can help answer questions. There are also national and international groups of people who can help you out. Just remember, be nice and kind to these people. You won’t get anywhere if you’re a jerk.

Don’t Get Discouraged

It can seem like there is a lot of information out there. There always will seem like there are things you should know, but don’t. Keep at it. If you find that you really do enjoy it, keep working hard at it. If you honestly try, and put for hard work, you will get better.

Always Think: How Can I Do This Better?

I think this is severly overlooked by many web developers, and yet it is crucial to their growth as skillful developers. There are always ways to improve, and if you actively seek them, you’re work will get better. Why is this so bloody important? You will spend 80-90% of your time maintaining code and projects rather than writing new code and websites. So if you can write a website that is easy to maintain and has very few bugs, you’ll be loving life. If you continuously spew out garbage, and don’t activately seek more efficient ways to code, you’ll be miserable.

Good Luck

Web development is awesome. I love it, and I believe it can offer a very rewarding career for people who enjoy challenges and use their creative side. I don’t want to discourage anyone from following their dreams, I just believe it is important to have realistic expectations going into it. The last thing you want to do is spend five years learning how to be a web developer, only to find out you do not have a passion for it.

If you ever have any questions, please feel free to leave a comment or contact me. While I don’t know everything, hopefully I can point you in the right direction.

A Post A Day, Getting Back Into Writing

Posted in: General|Tags: Blogging, Goals, writing |September 13, 2009No Comments

I’ve decided as of Today, September 13th, 2009, I am going to try to publish a post a day. My reasoning is simple: I want to improve on my writing and proof reading skills. One can never be too good of a writer. I hope to achieve this by several ways.

Smaller, Concise Entries

I have a tendency to write longer, more in-depth posts about subjects that are more like full fledged articles rather than blog posts. While this isn’t necessarily a bad thing, its difficult to have long drawn out posts and post frequently. These posts can take a week or two to put together over the little spare time I have. I think if I have a more in-depth topic, either I’ll work on it while publishing smaller posts, or split it up into small sets of series.

After examining the blogs that I follow on my Google Reader, I like blog posts that are easy to read in a few minutes, because any longer and I tend to just skim it and skip the details. Hopefully it will be useful to readers, as well as keep me being more consistent in writing something.

Scheduled Posts

While each day I can’t hope to write, I can keep a “buffer” of scheduled posts. So perhaps one day I’ll write three posts, accounting for a day of travel or vacation. Hopefully I won’t fail, but I really do believe my writing can benefit from frequent postings.

Broader Topic Scope

Before I would try to keep my blog posts focused on PHP, Web Development, or some other topic. What I’ve found out is I’ve had great blog post ideas that weren’t exactly about those topics, but I think would appeal to my audience. Back when I was posting several times a week I would have ten times the traffic that I do now, and I think I can my traffic back up. Worst case scenario I just improve my writing skills, which is never a bad thing.

September 13, 2010

Hopefully I’ll see you in a year with 365 more blog posts to my name. I think if I focus and really try to be consistent, I can pull this off. Wish me luck, and I hope you enjoy reading.

Project Management & Entrepreneurship

Posted in: General, Programming|Tags: entrepreneurship, Personal, small business, Web Development |August 29, 20094 Comments

My dear friend Eric Ping pointed out I only had a few days left before I’d break my year and half record of posting at least every month. I was wondering what to write about, and last night I figured out what to write.

Yesterday after going to dinner with Joanna, my wife, we went to our guilty pleasure store: Barnes & Noble. Since I already have the entire Wheel of Time series to re-read for the upcoming books, I walked over to the technical section of books. I looked over the majority of titles, most of them for beginners learning a new type of language. It got me thinking. Over the last five years I have spent most of my time and energy working on becoming a great web developer. I’ve been working hard on my design skills, searching the web for examples and resources. I’ve been trying to make my PHP code more maintainable, efficient and clean. These last years I’ve been asking myself over and over “how can I do this better?” “How can I be a better developer?”

I can honestly feel that this hard work has paid off. I feel my skills as a web developer have grown greatly, I have an awesome job as a web developer that challenges me every day, and I really enjoy doing what I do. However, there is one caveat: I don’t want to be a web developer for my entire career.

Don’t get me wrong, I love doing web development. However, in twenty years, I don’t want to always be the guy doing the web development. I’ve always wanted be the guy in charge of the developers, talking with clients and developers to direct and guide the process.

So after looking at the programming books, I decided to check out another section. I started browsing the small business section and selected a book called “The E-Myth Revisited.” Between last night and today, I’ve read about half of it and have really enjoyed it. It has its flaws, but overall a lot of the ideas are really good, and many of the pitfalls I’ve seen in a lot of small businesses are addressed.

I’ve decided over these next few years to study up on running a business and project management. I think with my current employment there is a lot potential for expanding my career. I feel if I start studying and learning about being more than just a web developer, when opportunities present themselves I’ll be ready to seize the moment. I’m still going to keep on learning more and more about web development, but I feel broadening my learning will be a great benefit.

Google Wave Jargon

Posted in: General, Technology|Tags: Funny, Google, Technology, wave |July 20, 20092 Comments

I got my new Google Wave Demo Account. It is very, very alpha, but the concept is pretty awesome. I saw a funny “wave” and thought I would share.

Here is a list of Evolving Google Wave Terminology:

Sea Sick When a wave is way too busy with activity, causing dizziness

Wavejacking When you post a wave and someone hijacks the contents to where it no longer resembles the original idea

Ocean/Beach/Treasure Chest! New Name for the Inbox

Ocean New Name for the Wave Server

Puddle A private conversation

Lake A private conversation with a lot of people

12:24 pm
Michael Lundin:
Continue

Puddle Jumper Someone who has lots of private conversations at the same time, for the Atlantis Fans :D

Drip Stupid question no one answers

Borking Putting stupid bots in the wave. (aka The Swedish Chef or rickrolley or the borkforceone bot)

Borked A wave that has been destroyed by useless bots.

De-Borking Getting rid of stupid bots in a wave.

Fishing Finding Waves which interest you

Tidal Wave/Overflow A wave that is too busy and you get the “Wave of Death” message

Tsunami A wave that insta-crashes the client.

Tuna AKA Spam

Dyke/Dike Spamfilter

Waveticate Appropriate behavior on waves

Wavepocalypse – Point at which a wave turns from conversation to group free-for-all.

Rip Tide When someone jumps into an edit and starts changing the point (or arguing with you)

Writing Effictive PHP Caches with Memcached

Posted in: Articles, General, Presentations|Tags: memcached, PHP, Programming, Web Development |June 24, 20091 Comment

*** Update: I gave a presentation at the Utah PHP Usergroup about memcached that went really well. Here are the slides I used:

Effectice Caching w/ PHP + Caching

View more presentations from Justin Carmony.

Delayed, yet again, at the airport. Time to get this article written once and for all.

This is a rough draft, I still need to go through and proof read this article. However, several friends were anxious to read it, so here it is rough for now. :P

When your website or project grows, demands on your architecture and infrastructure can dramatically increase. You can then run into “bottlenecks”, or parts of your project that cap out their abilities, and cause the rest of your application to slow down. One of the more common parts of your architecture to reach its limits is your database. There is a reason for this: its called ACID. While I won’t get into the details, basically databases are awesome because of it’s “ACID compliance.” You can store information and get information easily. However, these requirements of being a good database can also require a lot of leg work for your server. So when you have hundreds, thousands, and even millions of queries executing on your server, it can require a lot of CPU, Memory, and I/O to do all the work.

This is where memcached comes in. I’ve implemented with great success in the past, and you can too. This article is not a step-by-step how-to setup memcached. There are plenty of articles that show you how here and here (to name a few). You also have the php documentation for memcache + php. Instead, we’re going to discuss the theory behind creating an effective cache. Our memcache servers at Dating DNA run at about 99.9% efficiency (meaning 99.9% of all requests to our cache find a valid entry and doesn’t hit our database). We’ll cover a few basic concepts, and then talk about the two types of caching methods.

General Concept

What is a cache? To quote Wikipedia:

In computer science, a cache (pronounced /kæʃ/) is a collection of data duplicating original values stored elsewhere or computed earlier, where the original data is expensive to fetch (owing to longer access time) or to compute, compared to the cost of reading the cache. In other words, a cache is a temporary storage area where frequently accessed data can be stored for rapid access. Once the data is stored in the cache, it can be used in the future by accessing the cached copy rather than re-fetching or recomputing the original data.

So basically it is a collection of data that sits between your code and server. You typically check the cache first to see if it has a valid entry. If so, you use the information in the cache. If not, you generate the information manually. After generating the information manually, you put it in the cache. Ideally you want your cache to be full of good information to save your database the work again.

Why cache? In a perfect world where servers have no limitations you wouldn’t need a cache. Your database would be able to handle trillions of queries without ever running into locking issues, slow responses, expensive joins, etc. However, we live in a realistic world where our databases have limitations. So we implement caches to help alleviate those limitations.

Read More

Utah Monthly Geek Lunch

Posted in: General|Tags: events, geek lunch, Open Source, PHP, utah |May 28, 2009No Comments

Just thought I’d advertise this a little. I’m going to this month’s Geek Lunch in Layton at Pad Thai. I’ve never actually been there before, but I’ve heard goo things. If you’re in the Layton area on Friday around 12:30 to 2:00, come have some Thai food! They are also having one in SLC and Provo area. Here is the info:

Salt Lake County

Fri, May 29, 12:30pm – 2pm
My Thai, 1425 S 300 W, SLC, UT (map)

Davis/Weber County

Fri, May 29, 12:30pm – 2pm
Pad Thai, 1986 N Hill Field Rd #8, Layton, UT (map)

Utah County

Fri, May 29, 12:30pm – 2pm
Thai Chili Gardens, 430 West 800 North, Orem, Ut (map)

You can see the original post here.

Steamlined Web Development Presentation Video

Posted in: Presentations, Programming, Technology, Web Design|Tags: PHP, Presentation, svn, trac, UPHPU |May 27, 20091 Comment

Alright, it looks like the Victor at UPHPU has gotten my presentation up on Steamlining your web development. Since it was the first night Victor had tried to capture video & audio to mesh them together, the video on the presentation is a little bit further ahead than the audio.  However, I think the presentation went quite well. You can view all the UPHPU meeting videos here. Here is the presentation I gave:

Memcached: Simple, Effective, and Powerful

Posted in: Programming, Technology, Web Design|Tags: memcached, PHP, Tips and Tricks |May 20, 2009No Comments

Realizing once again I haven’t written a blog post for quite some time, I thought I would just write a few smaller posts on things I’ve learned these last few months. Hopefully I can get back into the habit of blogging regularly again.

This last month I finally broke down and learned how to use memcached.  While I have known about memcached for a very long time, I just never got around to using it. While I heard it was beyond easy to implement, I still assumed it would take a few days to get the hang of it and figure out its quirks. However, when the forces of high load on a webserver and the file-based caching system that I have previously used were found to be too I/O intensive, I had no choice but to take the plunge.

It took me about 4 hours to add memcached support to my caching class and to be up and running at blazing speeds. That was from the very start to finish. That included reading the documentation and installing memcached on our Ubuntu server. Not only was is very easy and straight forward, but it was extremely effective.

There have been technologies that once I’ve learned I never want to go back to the “old way.” Subversion, jQuery, XAMPP, and xDebug are a few of these. I am now adding memcached to that list. It is so simple and straight forward. There are no complex configuration files or loads of manuals to read. You basically pass it the parameters of the size of the cache, what IP to listen on, and what port to use. That is it, nothing more. Then, in your PHP code, you just pass the memcache class the server’s info and you’re done.

One useful script I found was for a memcached monitor. It allows for you to view the stats and easily flush your memcache instance. Here is a snap shot from this script on our memcached instance:

It gets up to 900 requests per second during peak times. It was amazing to this that before we had about 900 requests a second trying to read from our hard drive. This is so much more efficient.

If you’ve hesitated working with memcached, don’t! It is an amazing simple yet powerful tool. It can help any website. Maybe my next blog post will be on how we’ve made such an effective cache at 99.9%.

« First…«9101112»20…Last »

Tag Cloud

Apache Apple ASP .NET Blogging Computers CSS Dating DNA Designs & Patterns Development Education Errors FireFox Frustration Funny Goals Google GridView iPhone iPhone SDK JavaScript jQuery Linux Mac MySQL nginx Open Source OS X Personal PHP Presentation Programming redis scaling Security Servers Soap svn system administration Technology Tips and Tricks Tutorials Ubuntu UPHPU utah utos Web 2.0 Web Design Web Development WordPress Zend Studio

Archives

  • May 2012 (1)
  • April 2012 (3)
  • March 2012 (1)
  • February 2012 (1)
  • January 2012 (5)
  • December 2011 (1)
  • November 2011 (6)
  • October 2011 (2)
  • September 2011 (3)
  • August 2011 (1)
  • July 2011 (3)
  • June 2011 (1)
  • May 2011 (5)
  • April 2011 (5)
  • March 2011 (1)
  • February 2011 (5)
  • January 2011 (5)
  • December 2010 (2)
  • November 2010 (1)
  • October 2010 (4)
  • September 2010 (5)
  • August 2010 (1)
  • July 2010 (1)
  • June 2010 (1)
  • May 2010 (1)
  • April 2010 (1)
  • March 2010 (2)
  • February 2010 (4)
  • January 2010 (3)
  • December 2009 (1)
  • November 2009 (2)
  • October 2009 (2)
  • September 2009 (14)
  • August 2009 (1)
  • July 2009 (1)
  • June 2009 (1)
  • May 2009 (3)
  • April 2009 (2)
  • March 2009 (1)
  • February 2009 (4)
  • January 2009 (13)
  • December 2008 (13)
  • November 2008 (4)
  • October 2008 (13)
  • September 2008 (16)
  • August 2008 (6)
  • July 2008 (13)
  • June 2008 (17)
  • May 2008 (3)
  • April 2008 (2)
  • March 2008 (3)
  • February 2008 (8)
  • January 2008 (10)
  • December 2007 (2)

Recent Comments

  • Joseph Scott on Video: Look At Your Data – John Rauser – Velocity 2011
  • Seth on Video: Look At Your Data – John Rauser – Velocity 2011
  • Phil on Creating Chatroom / Walls with Redis & PHP
  • vicky on Restoring Large MySQL Dump – 900 Million Rows
  • Yusuf Irzan on Page.FindControl() Returning Null Issues and Solutions Within Another Control

Popular Posts

  • Mac OS X Lion, /etc/hosts Bugs, and DNS Resolution
    Mac OS X Lion, /etc/hosts Bugs, and DNS Resolution July 27, 2011
  • PHP Design – Biggest Database Oversights
    PHP Design – Biggest Database Oversights October 25, 2008
  • Why Are Some Open Source Advocates Hypocrites?
    Why Are Some Open Source Advocates Hypocrites? July 18, 2008
  • Zend Studio vs PHP Development Tools
    Zend Studio vs PHP Development Tools September 24, 2008
  • Page.FindControl() Returning Null Issues and Solutions Within Another Control
    Page.FindControl() Returning Null Issues and Solutions Within Another Control February 12, 2008
  • XAMPP for Mac – My Frustrations & Solutions
    XAMPP for Mac – My Frustrations & Solutions February 14, 2009
  • MySQL, 40 Million Rows, MyISAM to InnoDB, 45 Minutes
    MySQL, 40 Million Rows, MyISAM to InnoDB, 45 Minutes January 12, 2009
  • MS SQL 2005 (T-SQL) Row Count for Each Table
    MS SQL 2005 (T-SQL) Row Count for Each Table February 19, 2008
  • Web Development 10-Years Ago & Now
    Web Development 10-Years Ago & Now July 15, 2008
  • WordPress Carrington Theme – I’m Impessed
    WordPress Carrington Theme – I’m Impessed September 27, 2008

Recent Posts

  • Video: Look At Your Data – John Rauser – Velocity 2011
    Video: Look At Your Data – John Rauser – Velocity 2011 May 13, 2012
  • PHP-FPM, Nginx, PHP_VALUE, and Multiple Values
    PHP-FPM, Nginx, PHP_VALUE, and Multiple Values April 23, 2012
  • A New Chapter In My Career – Deseret Digital Media
    A New Chapter In My Career – Deseret Digital Media April 22, 2012
  • Standing on the Shoulders of Giants
    Standing on the Shoulders of Giants April 10, 2012
  • PHP, Sessions, __sleep, and Exceptions
    PHP, Sessions, __sleep, and Exceptions March 23, 2012

What I'm Doing...

  • When its late a night, I forget words... I'm going to tweak my #tek12 -slides-... maybe I shouldn't and just go to bed... 9 hrs ago
  • I should go to bed, but I think I'll tweak my #tek12 and make sure I have an offline backup demo if WiFi/Tethering won't work. 9 hrs ago
  • Hello Chicago! It's been a year, glad to be back. :) #tek12 16 hrs ago
  • @CalEvans @eliw Maybe the travel gods were busy enough with @jason_austin's flight yesterday they'll forget about us today. in reply to CalEvans 19 hrs ago
  • @CalEvans I land 5ish, and I'll probably hit shoeless after I drop of my bags at the hotel. in reply to CalEvans 20 hrs ago
  • @CalEvans When do you land in ORD? in reply to CalEvans 20 hrs ago
  • More updates...

Posting tweet...

Powered by Twitter Tools

Pages

  • About
  • Contact
  • Pages
    • PHP Bob
    • Utah PHP Users Group
  • Portfolio
  • Talks
    • Blazing Data with Redis
    • Demystifying CSS and WordPress

Email Us

Your message was successfully sent. Thank You!

Friends & Family

  • http://utos.org/
  • Joseph Scott
  • Kevin Carmony
  • Matthew Kimber
  • Utah Open Source Planet

News & Blogs

  • Andy Budd
  • Lifehacker
  • MySQL Performance Blog
  • Slashdot

What I'm Reading...

  • Patent Troll Lawyer Sanctioned Over Extortion Tactics
    ( Slashdot )
  • The London Riots and Facial Recognition Technology
    ( Slashdot )
  • Password Strength
    ( xkcd.com )
  • The TimThumb Saga
    ( Matt Mullenweg )
Read More Shared Items

Meta

  • Log in
  • Entries RSS
  • Comments RSS
  • WordPress.org
Copyright © 2010 Justin Carmony. All Rights Reserved