<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Justin Carmony &#187; Technology</title>
	<atom:link href="http://www.justincarmony.com/blog/tag/technology/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.justincarmony.com/blog</link>
	<description>Web Designer &#38; Software Engineer</description>
	<lastBuildDate>Wed, 01 Feb 2012 04:30:16 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>How I Became a Web Developer &amp; CTO</title>
		<link>http://www.justincarmony.com/blog/2011/02/23/how-i-became-a-web-developer-cto/</link>
		<comments>http://www.justincarmony.com/blog/2011/02/23/how-i-became-a-web-developer-cto/#comments</comments>
		<pubDate>Wed, 23 Feb 2011 11:57:56 +0000</pubDate>
		<dc:creator>Justin Carmony</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[ASP .NET]]></category>
		<category><![CDATA[cevo]]></category>
		<category><![CDATA[clipish]]></category>
		<category><![CDATA[cto]]></category>
		<category><![CDATA[Dating DNA]]></category>
		<category><![CDATA[Education]]></category>
		<category><![CDATA[kiosks]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[scaling]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Web Design]]></category>
		<category><![CDATA[Web Development]]></category>

		<guid isPermaLink="false">http://www.justincarmony.com/blog/?p=763</guid>
		<description><![CDATA[Note: many of the screenshots of websites I had done in the past are from the Internet Archive and many of the images are missing. But it can give an idea on the projects I had worked on. One day I&#8217;ll try and track down the original files and update the screenshots. Today some memories ...


Related posts:<ol><li><a href='http://www.justincarmony.com/blog/2009/09/14/so-you-want-to-be-a-web-developer/' rel='bookmark' title='So You Want To Be A Web Developer?'>So You Want To Be A Web Developer?</a></li>
<li><a href='http://www.justincarmony.com/blog/2008/07/15/web-development-10-years-ago-now/' rel='bookmark' title='Web Development 10-Years Ago &amp; Now'>Web Development 10-Years Ago &#038; Now</a></li>
<li><a href='http://www.justincarmony.com/blog/2009/09/15/being-a-productive-developer/' rel='bookmark' title='Being a Productive Developer'>Being a Productive Developer</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p><em>Note: many of the screenshots of websites I had done in the past are from the <a href="http://www.archive.org/web/web.php">Internet Archive</a> and many of the images are missing. But it can give an idea on the projects I had worked on. One day I&#8217;ll try and track down the original files and update the screenshots.</em></p>
<p>Today some memories came from when I first started with web development. So before I forget anymore of the details, I thought I would share my <em>unique</em> way I became a web developer. I never went to school to learn Computer Science or Information Systems. I&#8217;ve had a total of 2 programming classes, which were my in sophomore and junior years of High School, one of which we lovingly nicknamed Warcraft 101, because we would spend the entire time getting out butts kicked in <a href="http://en.wikipedia.org/wiki/Warcraft_II:_Tides_of_Darkness">Warcraft 2</a> by my classmate Daren (We all got A&#8217;s, we had just finished the entire coursework in 2 and a half weeks). </p>
<p>The reason I share this is perhaps others who hope to become a web developer can learn some of the valuable lessons I picked up along the way. That, and that my close programming friends and colleagues can get a kick out of my humble roots.</p>
<h3>Heritage</h3>
<p><span id="more-763"></span></p>
<p><a href="http://c747925.r25.cf2.rackcdn.com/blog/wp-content/uploads/2011/02/photoshop3.png"><img src="http://c747925.r25.cf2.rackcdn.com/blog/wp-content/uploads/2011/02/photoshop3-150x150.png" alt="Photoshop 3" title="photoshop 3" width="150" height="150" class="alignright size-thumbnail wp-image-764" /></a>How I ended up in Technology to begin with is probably because part of it is in my blood. My Father, <a href="http://kevincarmony.com/kcprofessional.htm">Kevin Carmony</a>, has been the owner of several technology businesses. So I was exposed frequently to computers and other technologies my whole life. I remember some time when I was about five or six, in the late 1980s, playing against my younger brother on a multiplayer ASCII LAN game at the old Streamlined Information Systems office. It was wandering around a 2D maze hunting these 8-bit monsters, and each other, and it was amazing fun. </p>
<p>I also had access to a lot of expensive software that were hand-me-downs. One of them I remember is Photoshop 3 and 4, spending hours trying to design websites with it. To give you an idea how old that is, the current version is CS5 (aka version 12). The first program I really used to make a website was (and get ready to gasp) <a href="http://en.wikipedia.org/wiki/Microsoft_FrontPage">Microsoft FrontPage</a> in 1997. There were also a couple of website books laying around that I would read, or at least try to.</p>
<p><a href="http://c747925.r25.cf2.rackcdn.com/blog/wp-content/uploads/2011/02/visual_studio_6.jpg"><img src="http://c747925.r25.cf2.rackcdn.com/blog/wp-content/uploads/2011/02/visual_studio_6-150x150.jpg" alt="" title="visual_studio_6" width="150" height="150" class="alignright size-thumbnail wp-image-785" /></a>On the other side of the equation was my mother, while herself wasn&#8217;t extremely technical, encouraged and &#8220;sponsored&#8221; my learning when I was young. By sponsoring I mean she many times bought computers, digital piano keyboards, DSL (we were some of the very first people to have &#8220;high&#8221; speed internet in our town), and paid for many other expenses. I remember a several hundred dollar long distance bill because I would call the &#8220;Provo&#8221; dial-up connection instead of the broken &#8220;Ogden&#8221; phone number. I even once ordered a &#8220;temporary&#8221; AOL dial-up account, with her credit card and <strong>without</strong> permission, because our ISP was down, and I needed to check my website. I forgot to cancel it afterward, and it racked up a few months of fees before my mother realized what had happened. She never yelled or mad over these &#8220;expenses&#8221;, that I realize now as an adult, were not cheap. She just told me in the future what to do to avoid causing them again.</p>
<p>She was also very patient with a son whose grades weren&#8217;t the best, and who would rather work on a website than do his homework. I know if she would have came down hard on me, my GPA would probably be higher (its wasn&#8217;t bad, just not great), but I wouldn&#8217;t have learned what I did, <strong>nor make the connections that eventually fast tracked my career</strong>. I owe her a great deal (I love you mom!)</p>
<h3>Humble Beginnings</h3>
<p>I first learned about websites, and how <strong>I</strong> could make them, while sitting in my 7th Grade Band Class. My fellow clarinet player Kenny Cottrell explained to me in between songs about <a href="http://en.wikipedia.org/wiki/HTML">HTML</a>, <a href="http://en.wikipedia.org/wiki/Notepad_%28software%29">Notepad</a>, and how I could learn to make my own website. So I set off to learn HTML. In my excitement, I found an online book on HTML, and printed the entire 400 page book on my mother&#8217;s home printer. Single page, of course, because I couldn&#8217;t figure out how to easily do double page, and it was on her expensive laser printer (this was 1997) with expensive cartridges. </p>
<p><a href="http://c747925.r25.cf2.rackcdn.com/blog/wp-content/uploads/2011/02/amazon1999.png"><img src="http://c747925.r25.cf2.rackcdn.com/blog/wp-content/uploads/2011/02/amazon1999-150x150.png" alt="Amazon in 1999" title="Amazon in 1999" width="150" height="150" class="alignright size-thumbnail wp-image-765" /></a>My very first website was hosted on one of my father&#8217;s web servers, and using FrontPage, I made a website about a game called <a href="http://en.wikipedia.org/wiki/The_Realm_Online">The Realm</a>, one of the very first graphical Massive Multiplayer Online games (MMO, think World of Warcraft). It was bad, really bad. I can&#8217;t find any pictures or old files from it, but you can take my word for it. When spending weekends at my Grandma&#8217;s house with my Dad, I would spend hours designing and writing websites, or at least try to. They were all bad, but I learned a lot by trying over and over again. I would design a site, look a a professional site, and try to see why mine stunk while the professional ones were so much nicer. I remember looking at <a href="http://www.amazon.com/">Amazon</a>&#8216;s rounded corner tabs for <strong>hours</strong> trying to get mine to look just as nice.</p>
<p><a href="http://c747925.r25.cf2.rackcdn.com/blog/wp-content/uploads/2011/02/granstre_screen018.jpg"><img src="http://c747925.r25.cf2.rackcdn.com/blog/wp-content/uploads/2011/02/granstre_screen018-150x150.jpg" alt="The Granstream Saga for PSX" title="The Granstream Saga for PSX" width="150" height="150" class="alignright size-thumbnail wp-image-768" /></a>I then got my first domain, RPGLegacy.com, in 1998 and started a website with game reviews and walkthroughs for PlayStation RPG games. I remember writing reviews and information for games like <a href="http://en.wikipedia.org/wiki/Final_Fantasy_VII">Final Fantasy VII</a>, <a href="http://en.wikipedia.org/wiki/Suikoden_%28video_game%29">Suikoden I</a> &#038; <a href="http://en.wikipedia.org/wiki/Suikoden_II">II</a>, and even more obscure (and terrible) titles like <a href="http://en.wikipedia.org/wiki/The_Granstream_Saga">The Granstream Saga</a>. I started to get perhaps 100 visitors a month, and I thought that was great. I even got emails from people asking me for help. One subject in particular was in <a href="http://en.wikipedia.org/wiki/Breath_of_Fire_III">Breath of Fire 3</a> dozens had emailed me about getting stuck in a castle. I myself had gotten stuck in the same place for hours, and posted an in-depth solution for finding Honey the Robot in the castle. For being a 15 year old kid in junior high, it was a lot of fun, and I learned a lot. I had moved to Dreamweaver for making the website, and the designs weren&#8217;t half bad. However, I don&#8217;t have a screenshot of how the old site used to look.</p>
<h3>Counter-Hack</h3>
<p><a href="http://c747925.r25.cf2.rackcdn.com/blog/wp-content/uploads/2011/02/CSS_Hacked.jpg"><img src="http://c747925.r25.cf2.rackcdn.com/blog/wp-content/uploads/2011/02/CSS_Hacked-150x150.jpg" alt="Counter-Strike Source Hack" title="Counter-Strike Source Hack" width="150" height="150" class="alignright size-thumbnail wp-image-770" /></a>I was 16 and I in high school. My classmate Daren (the same who whooped me at Warcraft 2) introduced me to a game called <a href="http://en.wikipedia.org/wiki/Counter-Strike">Counter-Strike</a>. It was a <a href="http://en.wikipedia.org/wiki/First-person_shooter">First Person Shooter</a>, and it was a lot of fun. However, at the same time, there were a lot of these &#8220;cheats&#8221; and &#8220;hacks&#8221; programs that were coming out. My friends and I would be accused of &#8220;cheating&#8221; and &#8220;hacking&#8221; when in reality we weren&#8217;t. Also, some of the claims on how we were cheating were rather absurd. So I started to investigate the truth and fiction behind these programs. I learned a lot, and thought I would share that knowledge, so I started Counter-Hack (http://www.counter-hack.net) in the summer of 2001.</p>
<p><a href="http://c747925.r25.cf2.rackcdn.com/blog/wp-content/uploads/2011/02/counterhack-v1.png"><img src="http://c747925.r25.cf2.rackcdn.com/blog/wp-content/uploads/2011/02/counterhack-v1-150x150.png" alt="Very First Version of Counter-Hack" title="Very First Version of Counter-Hack" width="150" height="150" class="alignright size-thumbnail wp-image-780" /></a>Little did I know how extremely popular this website would become. Within a week or two I had a website wtih decent content up using Dreamweaver. This was 100% HTML based, no CSS, trying to use Dreamweaver&#8217;s Template system. What I would have given for some PHP or even WordPress. While with RPGLegacy, I had maybe a max of 5,000 visitors over it&#8217;s entire lifespan, within a month I had 30,000 visitors to Counter-Hack. Soon I was getting thousands of visitors per day. About the same time I met <a href="http://www.anthonyro.com/">Anthony Ouwehand</a> (nicknamed H3X), who had ran another popular website about video game hacks. He graciously helped me with his PHP/MySQL skills. He designed, and developed, the Counter-Hack website that was launched in 2002 and ran until 2008 when everyone involved with the project just were too busy, and the site had ran it&#8217;s course and purpose. Two years of that time the project ran with the rest of the volunteers while I served an LDS Mission in Torreon Mexico. </p>
<p><a href="http://c747925.r25.cf2.rackcdn.com/blog/wp-content/uploads/2011/02/Capture.png"><img src="http://c747925.r25.cf2.rackcdn.com/blog/wp-content/uploads/2011/02/Capture-150x150.png" alt="Counter Hack Version 3 by Anthony" title="Counter Hack Version 3 by Anthony" width="150" height="150" class="alignright size-thumbnail wp-image-782" /></a>During the years with Counter-Hack, a few highlights were interviews with Wired for news stories, working with Valve Software to help recover the <a href="http://en.wikipedia.org/wiki/Half-Life_2#Leak">HL2 Leak</a>, and an interview and article with Rolling Stone Magazine. During it&#8217;s height, Counter-Hack was covering dozens of games with hundreds of thousands of visitors a month. During it&#8217;s later years, Counter-Hack implemented a Wiki system for much of it&#8217;s content, something that was pretty new at the time. All and all, it was a great experience with dozens of volunteers and great memories. For a hobby during High School and the year after graduating, I couldn&#8217;t have asked for a better experience. I learned a lot before even starting college.</p>
<h3>Developing Out of Necessity for CEVO</h3>
<p><a href="http://c747925.r25.cf2.rackcdn.com/blog/wp-content/uploads/2011/02/cevo-v1.jpg"><img src="http://c747925.r25.cf2.rackcdn.com/blog/wp-content/uploads/2011/02/cevo-v1-150x150.jpg" alt="CEVO Version 1" title="CEVO Version 1" width="150" height="150" class="alignright size-thumbnail wp-image-774" /></a>The reason why for the background story is for two reasons: I had started practicing web design and development from a very early time, and I gained a unique background and knowledge with my work with Counter-Hack. So in March 2005, being home only a few weeks from Mexico and still with a heavy mexican accent, I was approached to work with a company called <a href="http://www.cevo.com/">CEVO</a>. It was an online video game league that was emerging, and their first game was Counter-Strike. They needed someone to help consult with preventing cheating and &#8220;hacking&#8221; in their matches, and I was a perfect fit. So I joined as a consultant, and quickly became the Operations Director within a few months. CEVO also had brought on <a href="http://www.linkedin.com/in/rivulent">Eric Ping</a> to be the CTO, and the company started to grow.</p>
<p><a href="http://c747925.r25.cf2.rackcdn.com/blog/wp-content/uploads/2011/02/cevo-v3.jpg"><img src="http://c747925.r25.cf2.rackcdn.com/blog/wp-content/uploads/2011/02/cevo-v3-150x150.jpg" alt="CEVO Version 3" title="CEVO Version 3" width="150" height="150" class="alignright size-thumbnail wp-image-776" /></a>One of the challenges CEVO faced was it was a completely distributed team. Charlie Plitt, the owner, lived in Baltimore, MD, Eric lived in Ephrata, WS, and I lived in Ogden, UT. We had staff and volunteers that literally lived in all 50 states except Hawaii and Alaska, as well as some across Canada. Our customers also lived all over North America, and we relied on the Website, Email, and VoIP to run the entire company. It was insane and awesome at the same time. This put a ton of demand on Eric, our only developer for the website, to get new features implemented quickly. During the first two years, we had re-designed the website a total of 6 times before finally settling down on the current design, which is being redesigned now as well. Eric couldn&#8217;t handle it all, and since we didn&#8217;t have the funds to hire another developer, I thought since I knew something about web design and programming, I could help out.</p>
<p><a href="http://c747925.r25.cf2.rackcdn.com/blog/wp-content/uploads/2011/02/cevo-v4.jpg"><img src="http://c747925.r25.cf2.rackcdn.com/blog/wp-content/uploads/2011/02/cevo-v4-150x150.jpg" alt="CEVO Version 4" title="CEVO Version 4" width="150" height="150" class="alignright size-thumbnail wp-image-777" /></a>Eric took me under his wing and basically mentored me along as I started to take on project after project. I had become familiar with PHP and MySQL when I was tinkering with Counter-Hack&#8217;s code, but now I was really learning. I was also learning extremely quickly because I had no other option. It wasn&#8217;t like working at another company where I had a team of Senior Developers that could bail me out. Eric worked such late hours that normally if I was awake, he was asleep, and we meet for a few hours in the afternoon and evenings. But if I had a bug, or a problem, there was only one person who could solve the problems: <strong>myself</strong>. Working on a team of two developers for a start-up company is extremely demanding, and I was constantly looking for ways to work more efficiently. It was the only way to meet CEVO&#8217;s growing demands, by learning how to be a quicker and better developer. So while I had a day-job of doing Tech Support for a local company, I spent every other free moment working for CEVO. As CEVO grew, we ran into scaling problems and performance problems, things a normal &#8220;Jr. Developer&#8221; wouldn&#8217;t have hands-on experience dealing with. </p>
<p><a href="http://c747925.r25.cf2.rackcdn.com/blog/wp-content/uploads/2011/02/cevo-current.jpg"><img src="http://c747925.r25.cf2.rackcdn.com/blog/wp-content/uploads/2011/02/cevo-current-150x150.jpg" alt="CEVO Current Version" title="CEVO Current Version" width="150" height="150" class="alignright size-thumbnail wp-image-778" /></a>Eventually, I had learned so much working for CEVO, that I was able to quit my day-job doing tech support, and did contract work on the side. I helped launch some e-commerce websites, some basic business websites, and spent the rest of the time working on CEVO. I had started to go back to school for my Business Administration degree at WSU, and I was pretty much busy non-stop. But it was a lot of fun, and allowed me a lot of freedom not having a normal 9 to 5 job.</p>
<h3>Ambient Partners, LLC</h3>
<p>In 2006, I had the most amazing thing happen to me: I met my wife. We had dated for almost a year and we decided to get married. So by the end of 2006, I had a serious realization: I needed a steady income. While contract work paid really well, I could go a month or two without a check from clients. When living at home with relatively no expenses with the exception of my car, I could get away with this. But health insurance, rent, groceries, etc. I couldn&#8217;t live that way. So I decided to find a full-time programming job. Fortunately, the company I had worked tech support at had split with their California office and changed names. They were a company primarily doing software for DVD Rental Kiosks, and needed a Web Developer to do work on their web technologies. So by January 1st, 2007, I became a full-time employee for Ambient Partners. Our development team consisted of myself, a Senior Developer, and the CTO. As I look back at what the three of us accomplished as a development team, it amazes me. </p>
<p>When I joined, our main client had about 100 kiosks in the field. After doing the company website, I was given a very big project: RBO, Rent-Buy-Online. We wanted to provide clients with &#8220;white-label&#8221; solution to allow people to reserve and buy DVDs on a website, and then go pick them up at a Kiosk. There were two parts to this solution. The website itself, and the web services to supply the website with data. I had never written web services before, so I had a lot to learn very quickly. Also, it was to be written completely in ASP .NET, a framework, and C#, a language, I had never worked with before. So I started to learn how to build this project in .NET. It was very difficult on multiple fronts, but on in particular that I had underestimated was going from a loosely-typed language (PHP) to a strongly-typed language (C# .NET). So I tried several different methods, started a few different projects, and after a three months I got an email from my boss. It was short and sweet: &#8220;Justin, money is tight and we can&#8217;t afford to keep you on staff if you&#8217;re unable to make real progress on RBO. Either we need to see some real progress very soon, or staffing changes will be made.&#8221;</p>
<p><a href="http://c747925.r25.cf2.rackcdn.com/blog/wp-content/uploads/2011/02/blockbuster-express.png"><img src="http://c747925.r25.cf2.rackcdn.com/blog/wp-content/uploads/2011/02/blockbuster-express-150x150.png" alt="" title="blockbuster-express" width="150" height="150" class="alignright size-thumbnail wp-image-771" /></a>I learned very quickly that spinning your wheels trying to do something perfect, but never getting done, is an excellent way to stay unemployeed. I immediately shifted gears after the thought of explaining to my new wife that I had lost my job. Fortunately, after the fear of doing something wrong was overcome by my fear of not finishing anything, I completed RBO to version 1 in record time. I had made some ugly coding decision that we refractored out later, or scratched completely, but it was a working prototype. My boss was happy, and I was happy and still employed. While the front website has been redone for <a href="http://www.blockbusterexpress.com/">Blockbuster Express</a>, it is powered by the same web services I built in 2007. </p>
<p>After building RBO, I was tasked with building a reporting &#038; support suite that would manage millions of transactions. This second project went much smoother, and I put a lot of effort into it. I knew the people making the decision whether or not to buy our multi-million dollar software suite would be personally using this piece of our solution, so I wanted it to make them really smile. I was told after the demo of our new software suite, the executives all mentioned they were looking forward to using their &#8220;executive reporting tool.&#8221; Several months later, after successfully building some pretty slick software with the rest of the team (of which other things were even cooler then what I made, like Chris&#8217;s auto-updater system), Ambient Partners was purchased by <a href="http://www.ncr.com/">NRC</a>.</p>
<h3>Dating DNA</h3>
<p><a href="http://c747925.r25.cf2.rackcdn.com/blog/wp-content/uploads/2011/02/ddna-0.jpg"><img src="http://c747925.r25.cf2.rackcdn.com/blog/wp-content/uploads/2011/02/ddna-0-150x150.jpg" alt="Dating DNA" title="Dating DNA" width="150" height="150" class="alignright size-thumbnail wp-image-787" /></a>By 2008 when the NCR deal was underway, I had a choice. I could stay, take a very nice raise, and work for a very large corporation. But, deep down inside, I had a bad feeling about working for NCR. As a small team, we were very effective and there was almost zero political or bureaucratic non-sense in Ambient. As for NCR, I would go from being a developer in a company of three developers to a company of hundreds, if not thousands, of developers. I was also tired of working in .NET and Web Services, as I was moving away from what I loved to do: building cool websites with cool technology. </p>
<p><a href="http://c747925.r25.cf2.rackcdn.com/blog/wp-content/uploads/2011/02/datingdna-1.jpg"><img src="http://c747925.r25.cf2.rackcdn.com/blog/wp-content/uploads/2011/02/datingdna-1-150x150.jpg" alt="" title="datingdna-1" width="150" height="150" class="alignright size-thumbnail wp-image-788" /></a>My father at the same time was working on his new business: <a href="http://www.datingdna.com/">Dating DNA</a>. They had a web developer in San Diego, but he was expensive because living in San Diego is expensive. So Kevin asked me if I would be interested in working for Dating DNA. We tested the waters by having myself build a Web-based iPhone App for Dating DNA (the App SDK hadn&#8217;t been released yet.) It worked really well, so I turned down the offer to become an NCR employee, and returned to my roots as a developer: working from home working with code I love.</p>
<p>Through 2008 and 2009 I worked as a full-time developer for Dating DNA. I took over all responsibilities for all their technology. <a href="http://c747925.r25.cf2.rackcdn.com/blog/wp-content/uploads/2011/02/ddna-iphone.jpg"><img src="http://c747925.r25.cf2.rackcdn.com/blog/wp-content/uploads/2011/02/ddna-iphone-150x150.jpg" alt="" title="ddna-iphone" width="150" height="150" class="alignright size-thumbnail wp-image-789" /></a>In those two years, we did a lot. I&#8217;ll have to write a new blog post to completely cover everything we did that was awesome, but here were a few highlights: Built a real-time score generation system that could calculate hundreds of scores per second. Built the iPhone&#8217;s first Dating App, and to this day is a top ranking App in the charts and highest rated dating app. We scaled from 3,000 users to hundreds of thousands of users. We built a handful of new iPhone Apps, the main one being Clipish. We built custom chat rooms using Ajax and Comet, and a bunch of other stuff.</p>
<h3>Alienware &#038; CEVO</h3>
<p><a href="http://c747925.r25.cf2.rackcdn.com/blog/wp-content/uploads/2011/02/alienware-arena.png"><img src="http://c747925.r25.cf2.rackcdn.com/blog/wp-content/uploads/2011/02/alienware-arena-150x150.png" alt="" title="alienware arena" width="150" height="150" class="alignright size-thumbnail wp-image-772" /></a>All this time, I was still doing work in the evenings with CEVO. In 2009, we were approached with the opportunity to do something we hadn&#8217;t done before in CEVO. Dell&#8217;s brand <a href="http://www.alienware.com/">Alienware</a> wanted us to make them a website like CEVO&#8217;s, only completely branded for Alienware. We built, from the ground up, and custom solution for Dell and Alienware, and <a href="http://www.alienwarearena.com/">Alienware Arena</a> was born. This was a great project to work on, and we were able to get it done on an extremely tight timeline and a strict budget. I did 100% of all the graphical design, following Alienware&#8217;s look and feel, and I&#8217;m very proud with the result. It was built by myself, Eric Ping, and our new talented developer Mike Stevens. While I can&#8217;t say how many members Alienware Arena now has, it is <strong>a lot</strong>. Building such a successful website for a large company like Dell doesn&#8217;t come around very often. Each year Dell has us add more and more features to it, and it has been a great project for CEVO.</p>
<h3>Utah Open Source</h3>
<p><a href="http://c747925.r25.cf2.rackcdn.com/blog/wp-content/uploads/2011/02/utosc.jpg"><img src="http://c747925.r25.cf2.rackcdn.com/blog/wp-content/uploads/2011/02/utosc-150x150.jpg" alt="" title="utosc" width="150" height="150" class="alignright size-thumbnail wp-image-792" /></a>One thing that happened in November 2008 that I would consider one of the crucial events that &#8220;fast-tracked&#8221; my education as a web developer was being introduced to the local Open Source groups in Utah. I <a href="http://www.justincarmony.com/blog/2008/11/13/speaking-utah-php-usergroup-streamlined-web-development/">spoke</a> at the <a href="http://uphpu.org">Utah PHP Usergroup</a> and was introduced to the <a href="http://utos.org">Utah Open Source Foundation</a>. Through these groups, I met dozens, and eventually hundreds, of  talented, passionate people. While through CEVO I fast-tracked my web design and PHP development, through the Open Source groups I broadened my knowledge of so many more technologies. I learned about <a href="http://nginx.org/">nginx</a>, <a href="http://www.nagios.org/">nagios</a>, <a href="http://redis.io/">redis</a>, <a href="http://memcached.org/">memcached</a>, <a href="http://php.net/manual/en/book.apc.php">php apc</a>, linux server administration, and <a href="http://git-scm.com/">Git</a> just to name <em>a few</em> off the top of my head. What is great is not only did I learn about these things, but I met people who know a lot about them. So when I ran into problems, I already knew a solution that could work, <strong>and</strong> knew people I could ask questions too. That, and I&#8217;ve made a lot of great friends through the different meetings, lunches, and <a href="http://www.flickr.com/search/?q=%23utosc&#038;s=rec#page=0">conferences</a>. I&#8217;ve picked up some contract work through my connections with these groups, and overall they have been extremely beneficial and great.</p>
<h3>Chief Technology Officer</h3>
<p>All of these different things played a part in me having the job I have today, CTO of Dating DNA. <a href="http://www.justincarmony.com/blog/2010/10/19/new-job-cto-of-dating-dna/">I&#8217;ve written already</a> about my new responsibilities as our new CTO, and what it means for the company. These few short months as CTO we&#8217;ve made a lot of changes to handle even more scaling (especially with holiday surges and such). We&#8217;re in the process of improving our already fast score generation system, and moving our user photos to a more scalable solution in the near future. We&#8217;re evaluating our usability and such for our website, and seeing if a redesign on certain areas would be beneficial. There is a lot of work to be done, but I truly enjoy it.</p>
<h3>Advice &#038; Lessons Learned</h3>
<p>After reading and thinking about the different things I&#8217;ve experienced and gone through to get me to this point, I&#8217;ve had a few thoughts that I think can help anyone in our field, and other fields of work:</p>
<ul>
<li><strong>Surround yourself by people who help each other learn</strong> &#8211; Looking back, all of the people who have really helped me along with my career and education (not just schooling) have been people who help everyone learn. They each others things, and then learn from others. They harbor a culture of continual learning, and being in the tech industry which is always changing, this is critical.</li>
<li><strong>Always be learning something new, always</strong> &#8211; Trust me, there is always something to learn in this industry. Even if you&#8217;re learning something that isn&#8217;t directly involved, you never know what it might lead to. My work with Counter-Hack lead me to CEVO, which in turn lead to an accelerated web development &#8220;course&#8221; of &#8220;holy crap, we need to get this done and working or we crash and burn.&#8221; Even to this day, a lot of the things I learned about how hacks work I apply in other areas of computer science.</li>
<li><strong>Don&#8217;t let formal education be your <em>only</em> source of knowledge</strong> &#8211; Those that know me know I can be a little &#8220;harsh&#8221; when talking about formal educational institutions. Especially my frustrations with certain types of developers that are produced from these institutions. But the bottom line is this: they can be a great source of knowledge, and you can learn a lot from them. However, if you don&#8217;t learn additional information outside of the classroom, you are going to be sorely disappointed at how much you know when you graduate. Fundamentals are crucial, but practical application is just as important.</li>
<li><strong>Apply and build something important to you</strong> &#8211; There isn&#8217;t a better teacher than experience, and getting is as soon as possible, and as frequent as possible, will help a lot. I&#8217;ve spent more years unprofessional doing my job than professionally (at least for another year or two). Working on something meaningful to you, not just going through the motions of tutorials, really teach someone what it is like to do this kind of work.</li>
<li><strong>Networking and getting to know people is crucial</strong> &#8211; There is such an important emphasis on skill in the technical world, that knowing people and their actual abilities is vital. Also being know for your set of knowledge is important. That way when you want to learn something new, you know who to seek out. Before becoming Dating DNA&#8217;s CTO, and the rumor went out I was considering a new job, I had <strong>a lot</strong> of people contact me to see if I was interested in certain positions. There is no down side to being a &#8220;social&#8221; developer. Just because this isn&#8217;t &#8220;Marketing&#8221; doesn&#8217;t mean social networking isn&#8217;t important. I personally don&#8217;t like the term &#8220;networking&#8221; since it makes it seem like a chore. Make lots of friends in the programming groups and circles in your area and community, and it will be beneficial.</li>
<li><strong>Love what you do</strong> &#8211; If you don&#8217;t love what you do, then there is a good chance you will not go far in this industry. It doesn&#8217;t mean this is the <em>only</em> thing you do. Other hobbies and activities are important. But if you dread going to work, and do your work, every day, then it&#8217;s time to find something else.</li>
</ul>
<p>This went a lot later in the evening than I thought, so I hope my thoughts are coherent, and if nothing else, entertaining. Its been a great deal of fun since those first days with Photoshop 3 trying to design something that didn&#8217;t look terrible. I look forward to the next few decades to see where web technology takes us.</p>


<p>Related posts:<ol><li><a href='http://www.justincarmony.com/blog/2009/09/14/so-you-want-to-be-a-web-developer/' rel='bookmark' title='So You Want To Be A Web Developer?'>So You Want To Be A Web Developer?</a></li>
<li><a href='http://www.justincarmony.com/blog/2008/07/15/web-development-10-years-ago-now/' rel='bookmark' title='Web Development 10-Years Ago &amp; Now'>Web Development 10-Years Ago &#038; Now</a></li>
<li><a href='http://www.justincarmony.com/blog/2009/09/15/being-a-productive-developer/' rel='bookmark' title='Being a Productive Developer'>Being a Productive Developer</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.justincarmony.com/blog/2011/02/23/how-i-became-a-web-developer-cto/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Music in a Digital Age</title>
		<link>http://www.justincarmony.com/blog/2010/10/05/music-in-a-digital-age/</link>
		<comments>http://www.justincarmony.com/blog/2010/10/05/music-in-a-digital-age/#comments</comments>
		<pubDate>Wed, 06 Oct 2010 05:54:38 +0000</pubDate>
		<dc:creator>Justin Carmony</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[guster]]></category>
		<category><![CDATA[Music]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://www.justincarmony.com/blog/?p=647</guid>
		<description><![CDATA[Ten years ago, I remember my father introducing me to a band named Guster. They were opening for Barenaked Ladies (BNL) and he wanted to check them out. That CD, Lost and Gone Forever, became one of my favorite CDs. I remember driving on the highway to get to Media Play, searching through all of ...


Related posts:<ol><li><a href='http://www.justincarmony.com/blog/2008/11/06/digital-conversion-video/' rel='bookmark' title='Digital Conversion Video'>Digital Conversion Video</a></li>
<li><a href='http://www.justincarmony.com/blog/2010/02/03/php-hiphop-what-it-means/' rel='bookmark' title='PHP HipHop – What It Means'>PHP HipHop – What It Means</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p><a href="http://c747925.r25.cf2.rackcdn.com/blog/wp-content/uploads/2010/10/guster.jpg"><img src="http://c747925.r25.cf2.rackcdn.com/blog/wp-content/uploads/2010/10/guster-300x198.jpg" alt="" title="guster" width="300" height="198" class="alignright size-medium wp-image-655" /></a>Ten years ago, I remember my father introducing me to a band named <a href="http://www.guster.com/">Guster</a>. They were opening for Barenaked Ladies (BNL) and he wanted to check them out. That CD, Lost and Gone Forever, became one of my favorite CDs. I remember driving on the highway to get to Media Play, searching through all of their records and buying it. It was then lost to a friend, and I had to go drive down again to a store and buy it. I owned maybe 20 CDs total my entire teenage years.</p>
<p>Now, ten years later, I find out on Facebook from my brother that their new CD just came out. Sixty seconds later, I&#8217;ve responded to his facebook post, tweeted about the new CD, went to iTunes, and spent $12 bucks on their deluxe edition for their new Album, and downloaded it. As I write these words, I&#8217;m currently listening to Track 4, &#8220;This Could All Be Yours, &#8221; and loving it.</p>
<p>It is amazing what technology has now enabled me, as a fan of Guster, to quickly buy and participate in telling my friends about their new Album. When I look back at what has changed over the last 10 years, it blows my mind. It is absolutely crazy what all is going on. But I&#8217;m even more excited what the next 10 years hold for us, especially working in the technology world. I&#8217;ll most likely have an announcement about my career in the technology world to make, but we&#8217;ll wait until all the I&#8217;s are dotted and T&#8217;s crossed to talk about it.</p>
<p>Well, if you like good music, I recommend checking Guster out. Oh, and smart people listen to Guster, <a href="http://musicthatmakesyoudumb.virgil.gr/">science says so</a>.</p>


<p>Related posts:<ol><li><a href='http://www.justincarmony.com/blog/2008/11/06/digital-conversion-video/' rel='bookmark' title='Digital Conversion Video'>Digital Conversion Video</a></li>
<li><a href='http://www.justincarmony.com/blog/2010/02/03/php-hiphop-what-it-means/' rel='bookmark' title='PHP HipHop – What It Means'>PHP HipHop – What It Means</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.justincarmony.com/blog/2010/10/05/music-in-a-digital-age/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google Wave Jargon</title>
		<link>http://www.justincarmony.com/blog/2009/07/20/google-wave-jargon/</link>
		<comments>http://www.justincarmony.com/blog/2009/07/20/google-wave-jargon/#comments</comments>
		<pubDate>Mon, 20 Jul 2009 18:55:57 +0000</pubDate>
		<dc:creator>Justin Carmony</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Funny]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[wave]]></category>

		<guid isPermaLink="false">http://www.justincarmony.com/blog/?p=440</guid>
		<description><![CDATA[I got my new Google Wave Demo Account. It is very, very alpha, but the concept is pretty awesome. I saw a funny &#8220;wave&#8221; 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 ...


Related posts:<ol><li><a href='http://www.justincarmony.com/blog/2008/09/10/is-google-following-microsofts-footsteps/' rel='bookmark' title='Is Google following Microsoft&#8217;s footsteps?'>Is Google following Microsoft&#8217;s footsteps?</a></li>
<li><a href='http://www.justincarmony.com/blog/2008/09/11/why-google-chrome-is-good-for-firefox/' rel='bookmark' title='Why Google Chrome is Good for FireFox'>Why Google Chrome is Good for FireFox</a></li>
<li><a href='http://www.justincarmony.com/blog/2008/08/23/two-way-sync-between-google-calendar-windows-os-x-and-iphone/' rel='bookmark' title='Two-Way Sync between Google Calendar, Windows, OS X, and iPhone'>Two-Way Sync between Google Calendar, Windows, OS X, and iPhone</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>I got my new Google Wave Demo Account. It is very, very alpha, but the concept is pretty awesome. I saw a funny &#8220;wave&#8221; and thought I would share.</p>
<p>Here is a list of <span style="font-weight: bold;">Evolving Google Wave Terminology:</span></p>
<p><span style="font-weight: bold;">Sea Sick</span> When a wave is way too busy with activity, causing dizziness</p>
<p><span style="font-weight: bold;">Wavejacking</span> When you post a wave and someone hijacks the contents to where it no longer resembles the original idea</p>
<p><span style="font-weight: bold;">Ocean/Beach/Treasure</span><span style="font-weight: bold; color: #000000;"> Chest! </span>New Name for the Inbox</p>
<p><span style="font-weight: bold;">Ocean </span>New Name for the Wave Server</p>
<p><span style="font-weight: bold;">Puddle</span> A private conversation</p>
<p><span style="font-weight: bold;">Lake</span> A private conversation with a lot of people<span></p>
<div style="display: none;">
<div style="display: none;">
<div>
<div style="display: none;">
<div>
<div>
<div>12:24 pm</div>
<div>
<div>
<div>
<div><img src="https://wave.google.com/a/wavesandbox.com/static/images/unknown.gif" alt="" /></div>
</div>
</div>
</div>
<div>Michael Lundin:</div>
</div>
<div></div>
</div>
</div>
<div style="display: none;" title="Continue the conversation here">
<div><span>Continue</span></div>
</div>
</div>
</div>
</div>
<p></span></p>
<p><span style="font-weight: bold;">Puddle Jumper</span> Someone who has lots of private conversations at the same time, for the Atlantis Fans <img src='http://c747925.r25.cf2.rackcdn.com/blog/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p><span style="font-weight: bold;">Drip</span> Stupid question no one answers</p>
<p><span style="font-weight: bold;">Borking </span>Putting stupid bots in the wave. (aka The Swedish Chef or rickrolley or the borkforceone bot)</p>
<p><span style="font-weight: bold;">Borked</span> A wave that has been destroyed by useless bots.</p>
<p><span style="font-weight: bold;">De-Borking</span> Getting rid of stupid bots in a wave.</p>
<p><span style="font-weight: bold;">Fishing</span> Finding Waves which interest you</p>
<p><span style="font-weight: bold;">Tidal Wave/Overflow</span> A wave that is too busy and you get the &#8220;Wave of Death&#8221; message</p>
<p><span style="font-weight: bold;">Tsunami </span>A wave that insta-crashes the client.</p>
<p><span style="font-weight: bold;">Tuna</span> AKA Spam</p>
<p><span style="font-weight: bold;">Dyke/Dike</span> Spamfilter</p>
<p><span style="font-weight: bold;">Waveticate </span>Appropriate behavior on waves</p>
<p><span style="font-weight: bold;">Wavepocalypse</span><span><span> </span></span> &#8211; Point at which a wave turns from conversation to group free-for-all.</p>
<p><span style="font-weight: bold;">Rip Tide </span>When someone jumps into an edit and starts changing the point (or arguing with you)</p>


<p>Related posts:<ol><li><a href='http://www.justincarmony.com/blog/2008/09/10/is-google-following-microsofts-footsteps/' rel='bookmark' title='Is Google following Microsoft&#8217;s footsteps?'>Is Google following Microsoft&#8217;s footsteps?</a></li>
<li><a href='http://www.justincarmony.com/blog/2008/09/11/why-google-chrome-is-good-for-firefox/' rel='bookmark' title='Why Google Chrome is Good for FireFox'>Why Google Chrome is Good for FireFox</a></li>
<li><a href='http://www.justincarmony.com/blog/2008/08/23/two-way-sync-between-google-calendar-windows-os-x-and-iphone/' rel='bookmark' title='Two-Way Sync between Google Calendar, Windows, OS X, and iPhone'>Two-Way Sync between Google Calendar, Windows, OS X, and iPhone</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.justincarmony.com/blog/2009/07/20/google-wave-jargon/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Great PHP Article: Leadership in Software Development</title>
		<link>http://www.justincarmony.com/blog/2009/01/25/great-php-article-leadership-in-software-development/</link>
		<comments>http://www.justincarmony.com/blog/2009/01/25/great-php-article-leadership-in-software-development/#comments</comments>
		<pubDate>Sun, 25 Jan 2009 18:24:48 +0000</pubDate>
		<dc:creator>Justin Carmony</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Project Management]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Web Development]]></category>

		<guid isPermaLink="false">http://www.justincarmony.com/blog/?p=376</guid>
		<description><![CDATA[I just read a good article on PHP Development by Cal Evans, an active member in the PHP community. Its about managers, developers, and the problems they face in the IT industry. Here is an excerpt: There are very few professions that combine the creativity involved in good software development and the rigorous deadlines, often ...


Related posts:<ol><li><a href='http://www.justincarmony.com/blog/2008/07/15/web-development-10-years-ago-now/' rel='bookmark' title='Web Development 10-Years Ago &amp; Now'>Web Development 10-Years Ago &#038; Now</a></li>
<li><a href='http://www.justincarmony.com/blog/2008/09/24/zend-studio-vs-php-development-tools/' rel='bookmark' title='Zend Studio vs PHP Development Tools'>Zend Studio vs PHP Development Tools</a></li>
<li><a href='http://www.justincarmony.com/blog/2008/11/20/streamlined-web-development-in-depth/' rel='bookmark' title='Streamlined Web Development: In-Depth'>Streamlined Web Development: In-Depth</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>I just read a <a href="http://blog.calevans.com/2009/01/25/leadership-in-software-development/" target="_blank">good article</a> on PHP Development by Cal Evans, an active member in the PHP community. Its about managers, developers, and the problems they face in the IT industry. Here is an excerpt:</p>
<blockquote><p>There are very few professions that combine the creativity involved in good software development and the rigorous deadlines, often imposed from the outside. Hurry up and create! The ideas have to keep flowing, they have to be scheduled, and they have to be completed on time. If you have to go figure something out, go. But make sure you are back after lunch and make sure your schedule doesn’t slip. Developers, especially now as we work in Web years, are under increasing pressure to “Get it out the door fast!”.</p>
<p>The rigorous detail work of quality software development, however, has not changed. It still takes time to develop quality software. (You can have it good, fast, or cheap; please pick two.) To those on the outside, it may sometimes seem that what we do is easy. (Heck, we may feel that what we do is easy!) The ease with which developers manipulate the tools of the trade is often misconstrued as ease with which the task can be completed. Only a developer understands the countless hours it takes to master new tools, new languages, and new concepts. In this age of rapid development, new concepts come at us like a fire hose of knowledge. We are supposed to know how to soak it all up and be able to use it in our next project. This is almost a bearable burden if management understands what we are faced with. The problem is that, having never been there, most managers cannot empathize. (And most don’t even bother to sympathize.)</p></blockquote>
<p>It brings up a lot of good points on how we can improve the relationship between managers and developers.</p>


<p>Related posts:<ol><li><a href='http://www.justincarmony.com/blog/2008/07/15/web-development-10-years-ago-now/' rel='bookmark' title='Web Development 10-Years Ago &amp; Now'>Web Development 10-Years Ago &#038; Now</a></li>
<li><a href='http://www.justincarmony.com/blog/2008/09/24/zend-studio-vs-php-development-tools/' rel='bookmark' title='Zend Studio vs PHP Development Tools'>Zend Studio vs PHP Development Tools</a></li>
<li><a href='http://www.justincarmony.com/blog/2008/11/20/streamlined-web-development-in-depth/' rel='bookmark' title='Streamlined Web Development: In-Depth'>Streamlined Web Development: In-Depth</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.justincarmony.com/blog/2009/01/25/great-php-article-leadership-in-software-development/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Characteristics of Good PHP Code</title>
		<link>http://www.justincarmony.com/blog/2009/01/11/characteristics-of-good-php-code/</link>
		<comments>http://www.justincarmony.com/blog/2009/01/11/characteristics-of-good-php-code/#comments</comments>
		<pubDate>Mon, 12 Jan 2009 01:20:02 +0000</pubDate>
		<dc:creator>Justin Carmony</dc:creator>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Best Practices]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Web Design]]></category>
		<category><![CDATA[Web Development]]></category>

		<guid isPermaLink="false">http://www.justincarmony.com/blog/2009/01/11/characteristics-of-good-php-code/</guid>
		<description><![CDATA[At the time I am sitting in the Las Vegas airport waiting for a very delayed layover flight to San Diego. Wonderful weather causing all sorts of headaches. So I&#8217;ve decided to make the best of my time by writing the introductory article to a series of PHP articles. I&#8217;ve had this idea for a ...


Related posts:<ol><li><a href='http://www.justincarmony.com/blog/2008/01/22/asp-net-gridview-access-to-data-in-code/' rel='bookmark' title='ASP .NET GridView Access to Data In Code'>ASP .NET GridView Access to Data In Code</a></li>
<li><a href='http://www.justincarmony.com/blog/2008/09/24/zend-studio-vs-php-development-tools/' rel='bookmark' title='Zend Studio vs PHP Development Tools'>Zend Studio vs PHP Development Tools</a></li>
<li><a href='http://www.justincarmony.com/blog/2008/07/15/web-development-10-years-ago-now/' rel='bookmark' title='Web Development 10-Years Ago &amp; Now'>Web Development 10-Years Ago &#038; Now</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>At the time I am sitting in the Las Vegas airport waiting for a very delayed layover flight to San Diego. Wonderful weather causing all sorts of headaches. So I&#8217;ve decided to make the best of my time by writing the introductory article to a series of PHP articles. I&#8217;ve had this idea for a while, and now I&#8217;m going to finally sit down and write it.</p>
<p><strong>A Different Type of Article</strong></p>
<p>Over the years I&#8217;ve seen many great tutorials on programming better in PHP. Many start with a number, then with a word like &#8220;techniques, practices, patterns, etc,&#8221; and end with a phrase like &#8220;for better PHP.&#8221; Examples like &#8220;8 Tips for Cleaner Code,&#8221; &#8220;5 Practices that make you&#8217;re life easier,&#8221; and the list goes on. I&#8217;ve enjoyed and learned a lot about making my PHP code better. However, there is a subject I&#8217;ve never really read or heard about before: characteristics of good PHP code.</p>
<p>What is the difference between characteristic and the other subjects above? To me tips, techniques, and practices are well-defined instructions that are straight forward. They may be advanced topics, but they are well-defined. In lots of ways I think of them as rules to follow.</p>
<p>A characteristic, for me at least, is a more abstract concept. Let me give you an example: readable. Several techniques and practices help towards having more readable. However, if a developers follows a few rules, it doesn&#8217;t necessary mean his code will be readable. Characteristics are traits that code have that exists, but aren&#8217;t easily defined into a set of rules.</p>
<p><strong>Real Life Example</strong></p>
<p>Lets look at a non-programming example. A person can have the characteristic of being &#8220;nice.&#8221; We all know nice people, and people who are not nice. A nice person might have a habit of saying hi to their co-workers in the morning. However, just because a person says hi to a co-worker in the morning doesn&#8217;t mean they are nice. It is impossible to quantify being &#8220;nice&#8221; into a set of rules and regulations. Being nice is a so much more than just following a few guidelines, hence it is a characteristic. Its the way a person acts in a large variety of situations.</p>
<p>If I am a person who isn&#8217;t nice, but I want to become nice, I can&#8217;t just google &#8220;10 tips on being nice,&#8221; follow them, and declare myself a &#8220;nice person.&#8221; I can&#8217;t just emulate things nice people do and expect the same results. Becoming a nice person requires hard work and serious reflection. I would need to take a step back and continuously analyze my actions over time.</p>
<p><strong>Why Characteristics?</strong></p>
<p>So why list characteristics? Writing great code is so much more than following guidelines. It is impossible to write a book of rules that will guarantee great work, yet so many people take this approach when programming. I&#8217;ve met several developers, that while reviewing their code, list rules and guidelines as to why they did everything they did. &#8220;I&#8217;ve commented every section of code.&#8221; &#8220;I&#8217;ve used the DAL for all the queries.&#8221; &#8220;I used X pattern for Y situation.&#8221; The list goes on, but the code they&#8217;ve produced looks, feels, and runs sub-par. The reason I like to focus on characteristics is that is helps me recognize there is more to programming than rules and guidelines. Best practices will only help you out so far. The ultimate test is after everything is said and done, and I review my work, is going through my list of characteristics and seeing if my code follows the list.</p>
<p>Like personal characteristics, programming code with great characteristics can take time and experience. Every year I learn more as I write more. I find weaknesses in my code. I make it a personal goal to improve the quality of my code, and I find it helpful to have a list of characteristics I strive for.</p>
<p><strong>What Characteristics?</strong></p>
<p>So what are desirable characteristics of good PHP code? Here is my own list, in no special order. This article is the first of a series which I will describe how to achieve these characteristics with the your code, and how to evaluate your code. So without further introduction, here is my personal list:</p>
<ul>
<li><strong>Readable</strong> &#8211; Being able to easily read code is vital. Don&#8217;t ever assume you will be the only developer to ever read and maintain your code. I can&#8217;t think of a single project for the exception of my blog that I have been the only one who worked on it. Readable code has meaningful variables, good comments that help describe what&#8217;s going on. However, good variables and comments doesn&#8217;t necessarily mean your code is readable.</li>
<li><strong>Organized</strong> &#8211; While some people think this is the same as readable, organization is different and crucial to me. Readability is the ability to read your code, however organized code helps you find what your looking for. There are many techniques to help keep your code well organized, but the most important thing is at the end of the day, can your fellow developers find what they are looking for?</li>
<li><strong>Modular</strong> &#8211; I hear this word tossed around a lot when talking about programming. However, what really is modular? I like to define it as being able to take a part of your code and use it elsewhere with the least amount of headache.</li>
<li><strong>Relevant</strong> &#8211; While I hear a lot about Modular code, I don&#8217;t hear a lot about relevant code. While people might consider relevant in the modular or organized characteristic, I find it helps me to separate this out. Relevant to me means that code is where it belongs. Its easy to have code blur together and have purposes mixed. Relevant code means the grouping of code belongs together.</li>
<li><strong>Efficient</strong> &#8211; What good is code if it is slow, doesn&#8217;t scale, and will have to be re-written? Is being efficient is just following a handful of rules and guidelines?</li>
<li><strong>Practical</strong> &#8211; It may be efficient, it be organized, but is it practical? In the past I&#8217;ve written the &#8220;coolest&#8221; class, or so I thought, only to have a fellow developer tell him that my implementation is confusing, and overly complex. While many times we create code that isn&#8217;t robust enough, but it is possible to make stuff just complicated, over-designed, or just impractical. Keeping your code practical helps you and your team to make a good solution that is easy to maintain.</li>
<li><strong>Documented</strong> &#8211; Code that isn&#8217;t well documented will be a time drain. I know many developers who think keeping up documentation slows the development process down. However, without that documentation, the overall development process will suffer. Bringing new developers up to speed, maintenance, even just general development will be slowed down by &#8220;figuring stuff out.&#8221; Documentation is also more than just having a &#8220;wiki&#8221; or using comments.</li>
<li><strong>Longevous</strong> &#8211; The definition is to live a long life. There are two parts to having longevous code. First of all, when you&#8217;ve programmed or maintained some code, ask yourself. &#8220;How long will this last? Will this solution work well over time?&#8221; Then, the second part which I think is almost never asked: &#8220;when the time comes, how easily can I extend, or replace this code?&#8221; To often programmers &#8220;dig ruts&#8221; so-to-speak in projects. They code an aspect of a project that locks them into a situation that is extremely difficult to code out of.</li>
<li><strong>Secure</strong> &#8211; All of the time spent on development can be for nothing if it isn&#8217;t secure. Security in web development is a must. It doesn&#8217;t matter the size of the website, large or small, eventually someone will try to break it. Someone will try to compromise it. The consequences vary, from an annoyance, to destroying the entire business. Making your application secure is a skill all developers need.</li>
<li><strong>Safe</strong> &#8211; While some people think of this as the same as secure, for me safe PHP code means it handles errors correctly. Great PHP code handles errors correctly. If a PHP class fails, it should handle the error properly. It should also throw errors correctly when needed. If code is safe, I know that it will behave as it should, and properly let me know when it is not.</li>
</ul>
<p>This article is the first of this series for me, and I&#8217;ll try to write an article for each characteristic. I will start on the top of the list and work my way down. Hopefully I can write one every week, and this can help PHP developers take a broader, overall look at their work. Principles, tips, and techniques are great, the are helpful, but without a broader view of things, developers can still develop sup-par code. Knowing the characteristics of good PHP code can help us strive to ensure we make great solutions. It allows us to sit back and really ask ourselves &#8220;does this code really have these characteristics?&#8221;</p>


<p>Related posts:<ol><li><a href='http://www.justincarmony.com/blog/2008/01/22/asp-net-gridview-access-to-data-in-code/' rel='bookmark' title='ASP .NET GridView Access to Data In Code'>ASP .NET GridView Access to Data In Code</a></li>
<li><a href='http://www.justincarmony.com/blog/2008/09/24/zend-studio-vs-php-development-tools/' rel='bookmark' title='Zend Studio vs PHP Development Tools'>Zend Studio vs PHP Development Tools</a></li>
<li><a href='http://www.justincarmony.com/blog/2008/07/15/web-development-10-years-ago-now/' rel='bookmark' title='Web Development 10-Years Ago &amp; Now'>Web Development 10-Years Ago &#038; Now</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.justincarmony.com/blog/2009/01/11/characteristics-of-good-php-code/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>HTML Education in Universities</title>
		<link>http://www.justincarmony.com/blog/2008/12/10/html-education-in-universities/</link>
		<comments>http://www.justincarmony.com/blog/2008/12/10/html-education-in-universities/#comments</comments>
		<pubDate>Wed, 10 Dec 2008 19:24:46 +0000</pubDate>
		<dc:creator>Justin Carmony</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[Best Practices]]></category>
		<category><![CDATA[College]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Education]]></category>
		<category><![CDATA[Frustration]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Web Design]]></category>
		<category><![CDATA[Web Development]]></category>

		<guid isPermaLink="false">http://www.justincarmony.com/blog/2008/12/10/html-education-in-universities/</guid>
		<description><![CDATA[Why, oh why, are website classes so extremely out of date in universities, colleges, and schools? I just spent the last few hours helping my wife with her Information Systems class. I&#8217;ve had to do similar assignments for technology classes, yet the things they are teaching are extremely out of date and a waste of ...


Related posts:<ol><li><a href='http://www.justincarmony.com/blog/2008/10/03/css-id-vs-class/' rel='bookmark' title='CSS – ID vs Class'>CSS – ID vs Class</a></li>
<li><a href='http://www.justincarmony.com/blog/2008/09/22/php-6-books-did-i-miss-something/' rel='bookmark' title='PHP 6 Books &#8211; Did I Miss Something?'>PHP 6 Books &#8211; Did I Miss Something?</a></li>
<li><a href='http://www.justincarmony.com/blog/2008/05/20/iphone-sdk-learning-the-basics-by-removing-the-touch/' rel='bookmark' title='iPhone SDK &#8211; Learning the Basics by Removing the Touch'>iPhone SDK &#8211; Learning the Basics by Removing the Touch</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p><a href="http://c747925.r25.cf2.rackcdn.com/blog/wp-content/uploads/2008/12/graduation-cap.jpg"><img src="http://c747925.r25.cf2.rackcdn.com/blog/wp-content/uploads/2008/12/graduation-cap.jpg" alt="" title="graduation-cap" width="200" height="162" class="alignright size-medium wp-image-313" /></a>
<p>Why, oh why, are website classes so extremely out of date in universities, colleges, and schools? I just spent the last few hours helping my wife with her Information Systems class. I&#8217;ve had to do similar assignments for technology classes, yet the things they are teaching are extremely out of date <span style="font-weight: bold; font-style: italic;">and</span> a waste of time. Why? After taking these classes, to actually use HTML, I would have to unlearn 80% of what they taught, and re-learn from scratch.</p>
<p>It is one thing to keep things very simple. However, if I have a basic Account class, and I would expect to learn about Credits, Debits, and keeping a ledger. There isn&#8217;t a need to get into complex concepts or advanced journal entries. However, if I take an Accounting class, and they teach me incorrect concepts, that class would be 100% worthless. I&#8217;ve uploaded the project my wife had done for her class, after following their textbook and professors instructions. This is also after helping her remove as much &#8220;junk&#8221; HTML.</p>
<p><a href="http://www.justincarmony.com/blog/files/website/">Her Website Assignment</a></p>
<p>For those HTML Gurus out there, if they look at the source, they&#8217;ll cringe. I haven&#8217;t seen this poor of HTML since the 90s. Also, guess what? The book they were following was published in 2008. How well does this example validate? <a href="http://validator.w3.org/check?uri=http%3A%2F%2Fwww.justincarmony.com%2Fblog%2Ffiles%2Fwebsite%2Findex.html&amp;charset=(detect+automatically)&amp;doctype=XHTML+1.0+Strict&amp;group=0&amp;user-agent=W3C_Validator%2F1.606">Terrible</a>. This was after I helped her strip every bad piece of HTML I could without &#8220;breaking&#8221; the instructions.</p>
<p>Why teach your students to use very, very old markup? I guess is the authors don&#8217;t have a clue. However, if I hired a person who says they know HTML, and the produced the stuff books teaches, I would very upset. I mean, who teaches their students to use background images like that? Here is what HTML classes need to teach:</p>
<h2>HTML Structure</h2>
<p>Don&#8217;t worry about styling at first. Just worry about the structure. That is why they invented CSS (Cascade Styles Sheets). Teach your students how to use your correct markup. Use strong, emphasis, and span tags. Here are some examples:</p>
<pre class="brush: xml; title: ; notranslate">
&lt;!-- Bad --&gt;
&lt;img src=&quot;image.jpg&quot;&gt;

&lt;!-- Good --&gt;
&lt;img src=&quot;image.jpg&quot; alt=&quot;My Dog&quot; /&gt;

&lt;-- Bad --&gt;
&lt;b&gt;Bold&lt;/b&gt;, &lt;i&gt;Italics&lt;/i&gt;

&lt;!-- Good --&gt;
&lt;strong&gt;Bold&lt;/strong&gt;, &lt;em&gt;Italics&lt;/em&gt;
</pre>
<p>Once they have a good base for HTML structure, then you can move on to Styling. There is no need to use Font, B, or I tags. </p>
<h2>Cascade Styling</h2>
<p>I can see why a professor would be leery to teach about Cascade Style-sheets. They can be confusing, and a new concept for their students. Also, Information System classes usually only have 2-3 weeks before moving onto another subject. So keep is very, very basic. Don&#8217;t even touch on ID and CLASS attributes if you don&#8217;t have time. Just show changing the colors of links, and maybe making strong and emphasis tags different colors. Keep it simple. However, do NOT resort to deprecated methods that may seem easier to use at first, but hurt the student&#8217;s full education on the subject.</p>
<h2>Teach Principles, Not Motions</h2>
<p>My wife&#8217;s professor held an optional saturday class to help with the assignment. If a student went, the teacher would walk through, step-by-step, what to put into notepad to make their websites. However, there wasn&#8217;t any discuss as to why they were typing what they we&#8217;re. Unfortunately, I feel like they were probably just going through the motions. The goal of teaching students is that they walk away with something. If you&#8217;re just spoon feeding the students what to type, what good is it doing? Isn&#8217;t it just a waste of time?</p>
<p>Don&#8217;t spend time getting a better &#8220;end result&#8221; by sacrificing the learning process. Teach students the &#8220;why&#8221; for what they are doing. If that means you only mention CSS, show how it works, but not require the students to write any, so be it. I know technology can be extremely difficult to teach. Many students have a hard time grasping concepts. Technology professions, such as website designers, usually rely heavily on self-taught technologies. Traditional classes usually aren&#8217;t well adapt to keeping up with the content.</p>
<h2>What Should Professors Do?</h2>
<p>Don&#8217;t worry about crazy backgrounds, changing colors, and different font sizes. Focus on good, validated content. If its super simple, thats fine. You can tell your students if they are interested in learning more, point them to websites like <a href="http://www.w3schools.com">W3Schools</a>.</p>
<p>Also, I would say a large portion of the blame lies on the Book Publishers. I would assume many of these teachers and professors are teaching general information systems classes. They aren&#8217;t experienced web designers and just teach what is in the books. The fact that students are buying brand new books with outdated content is rediculous. Maybe 2-3 years out of date, but not a decade.</p>
<p>I don&#8217;t know what else, other then there is nothing that drives me crazy more than sitting in a class learning something the wrong way.</p>


<p>Related posts:<ol><li><a href='http://www.justincarmony.com/blog/2008/10/03/css-id-vs-class/' rel='bookmark' title='CSS – ID vs Class'>CSS – ID vs Class</a></li>
<li><a href='http://www.justincarmony.com/blog/2008/09/22/php-6-books-did-i-miss-something/' rel='bookmark' title='PHP 6 Books &#8211; Did I Miss Something?'>PHP 6 Books &#8211; Did I Miss Something?</a></li>
<li><a href='http://www.justincarmony.com/blog/2008/05/20/iphone-sdk-learning-the-basics-by-removing-the-touch/' rel='bookmark' title='iPhone SDK &#8211; Learning the Basics by Removing the Touch'>iPhone SDK &#8211; Learning the Basics by Removing the Touch</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.justincarmony.com/blog/2008/12/10/html-education-in-universities/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>100th Blog Entry &#8211; First Year of Real Blogging</title>
		<link>http://www.justincarmony.com/blog/2008/12/06/100th-blog-entry-first-year-of-real-blogging/</link>
		<comments>http://www.justincarmony.com/blog/2008/12/06/100th-blog-entry-first-year-of-real-blogging/#comments</comments>
		<pubDate>Sun, 07 Dec 2008 05:03:48 +0000</pubDate>
		<dc:creator>Justin Carmony</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Blogging]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Web Design]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://www.justincarmony.com/blog/2008/12/07/100th-blog-entry-first-year-of-real-blogging/</guid>
		<description><![CDATA[This is my 100th entry into my blog, and 25 days before my first year mark for writing on my blog. It&#8217;s been a great experience, and I&#8217;m starting to see some real traffic. I&#8217;ve found that publishing meaningful content, whether a simple bug fix, or a full blown tutorial, can be very satisfying. Seeing ...


Related posts:<ol><li><a href='http://www.justincarmony.com/blog/2008/06/28/blogging-meeting-up-with-family/' rel='bookmark' title='Blogging &#8211; Meeting up with Family'>Blogging &#8211; Meeting up with Family</a></li>
<li><a href='http://www.justincarmony.com/blog/2008/09/16/blog-wordpress-theme-experiment-grunge-style/' rel='bookmark' title='Blog WordPress Theme Experiment &#8211; Grunge Style'>Blog WordPress Theme Experiment &#8211; Grunge Style</a></li>
<li><a href='http://www.justincarmony.com/blog/2008/06/09/redesigning-blog/' rel='bookmark' title='Redesigning blog&#8230;.'>Redesigning blog&#8230;.</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>This is my 100th entry into my blog, and 25 days before my first year mark for writing on my blog. It&#8217;s been a great experience, and I&#8217;m starting to see some real traffic. I&#8217;ve found that publishing meaningful content, whether a simple bug fix, or a full blown tutorial, can be very satisfying. Seeing the handful of thankful comments has been great, and even the contentious comments have been fun.</p>
<p>I thought I&#8217;d write some of my thoughts on my impressions of my first year of blogging. I&#8217;ve tried to blog several times before, wrote maybe three or four entries, and then never used it again. I think one of the reasons I had so many problems was that I spent the majority of my time setting up my blog, verses using my blog. I spent the majority of the time tweaking my blog, customizing themes, installing plugins, that I kinda burnt out before I even got writing.</p>
<p>This time I set up the blog, picked a theme, and then started writing. I slowly made changes to the theme and plugins over time, instead of a huge up-front investment into making the blog. Another big difference is before I was blogging with the idea of becoming this big programming blogger. My focus was on &#8220;what can I do to drive the most traffic?&#8221; This time around, my focus has been on &#8220;what do I want to write about and share today?&#8221; There hasn&#8217;t been this huge concern about generating a huge audience. The irony is that when I started to focus on blogging for myself, the more traffic I got. The more meaningful my entries, the more people liked them.</p>
<p>Some months I had lots of creative juices and wrote 15+ articles a month. However, when I got really busy, or just didn&#8217;t feel inspired, I didn&#8217;t let it get to me. Only 2 posts in a month? Oh well, it isn&#8217;t the end of the world. When I had this attitude, I ended up not feeling guilty about not writing, and the next month or so I would write more.</p>
<p>The year 2009 holds lots of potential, as a blogger, a developer, and an entrepreneur. <a title="Free Dating Website - Social Networking" href="http://www.datingdna.com/">Dating DNA</a>, my current full time project, is going very well. We&#8217;ve had our ups and downs, but we&#8217;ve been able to do a whole lot with very little. I think we&#8217;re very close to exploding with user sign-ups. <a title="Onling Gaming League" href="http://www.cevo.com/">CEVO</a> has been going very well, and I&#8217;ve been able to help move them to a more robust infrastructure. I&#8217;ve been enjoying my time with the <a title="Utah PHP Usergroup" href="http://www.uphpu.org/">Utah PHP Usergroup</a>, and gave a presentation this last month. I thought it went really well.</p>
<p>Only time will tell, and while the country might be in a recession, I think the future looks very bright.</p>


<p>Related posts:<ol><li><a href='http://www.justincarmony.com/blog/2008/06/28/blogging-meeting-up-with-family/' rel='bookmark' title='Blogging &#8211; Meeting up with Family'>Blogging &#8211; Meeting up with Family</a></li>
<li><a href='http://www.justincarmony.com/blog/2008/09/16/blog-wordpress-theme-experiment-grunge-style/' rel='bookmark' title='Blog WordPress Theme Experiment &#8211; Grunge Style'>Blog WordPress Theme Experiment &#8211; Grunge Style</a></li>
<li><a href='http://www.justincarmony.com/blog/2008/06/09/redesigning-blog/' rel='bookmark' title='Redesigning blog&#8230;.'>Redesigning blog&#8230;.</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.justincarmony.com/blog/2008/12/06/100th-blog-entry-first-year-of-real-blogging/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHP 6 Books &#8211; Did I Miss Something?</title>
		<link>http://www.justincarmony.com/blog/2008/09/22/php-6-books-did-i-miss-something/</link>
		<comments>http://www.justincarmony.com/blog/2008/09/22/php-6-books-did-i-miss-something/#comments</comments>
		<pubDate>Tue, 23 Sep 2008 02:46:30 +0000</pubDate>
		<dc:creator>Justin Carmony</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Books]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.justincarmony.com/blog/2008/09/22/php-6-books-did-i-miss-something/</guid>
		<description><![CDATA[Update 01-21-12: since I was contacted by the Author of one of these books, and a few years have gone by and I&#8217;m more familiar with the publishing industry, I was unfair to place blame on the author for the decision to market these books as PHP6. Authors have almost no say in how their ...


Related posts:<ol><li><a href='http://www.justincarmony.com/blog/2008/07/15/web-development-10-years-ago-now/' rel='bookmark' title='Web Development 10-Years Ago &amp; Now'>Web Development 10-Years Ago &#038; Now</a></li>
<li><a href='http://www.justincarmony.com/blog/2008/07/06/avg-the-new-popular-anti-virus/' rel='bookmark' title='AVG &#8211; The New Popular Anti-Virus'>AVG &#8211; The New Popular Anti-Virus</a></li>
<li><a href='http://www.justincarmony.com/blog/2008/02/19/starting-book-reviews/' rel='bookmark' title='Starting Book Reviews'>Starting Book Reviews</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p><strong><em>Update 01-21-12: since I was contacted by the Author of one of these books, and a few years have gone by and I&#8217;m more familiar with the publishing industry, I was unfair to place blame on the author for the decision to market these books as PHP6. Authors have almost no say in how their books are marketed. Thus, the blame for these types of tactics, rest solely on the publisher.<br/><br/>On a side note, it is now 3 1/2 years later, and we&#8217;re only on PHP 5.3 with 5.4 coming out. Still no PHP 6 on the horizon.</em></strong></p>
<p><img src="http://c747925.r25.cf2.rackcdn.com/blog/wp-content/uploads/2008/09/php-6-books.jpg" width="500" height="350" alt="php-6-books.jpg" /></p>
<p>The other day I was walking down an isle at <a href="http://www.bn.com/">Barnes &amp; Nobel</a> and I a <a href="http://search.barnesandnoble.com/PHP-6-and-MySQL-5-for-Dynamic-Web-Sites/Larry-Ullman/e/9780321525994/?itm=1">two</a> <a href="http://search.barnesandnoble.com/Php-6-Fast-and-Easy-Web-Development/Matt-Telles/e/9781598634716/?itm=4">books</a> caught my attention. PHP 6? Did I miss something? I opened each book looking for something that said &#8220;PHP 6 is still in development&#8221; or &#8220;future technology.&#8221; No such luck. They each just looked like PHP 5 books with PHP 6 slapped on their cover. Looking at <a href="http://en.wikipedia.org/wiki/PHP">PHP&#8217;s wikipedia page</a>, I verified that PHP 6 doesn&#8217;t even have a release date.</p>
<p>After looking at what version 6 will do for PHP, I guess these authors can get away with it. PHP 6 is really just cleaning up some of the legacy problem The only reason I can see for labeling a book now as &#8220;PHP 6&#8243; is to sell copies to unknowledgeable consumers. People who think 6 is better than 5, which it is, but they don&#8217;t state PHP 6 hasn&#8217;t been released yet. I&#8217;m sure these &#8220;fast and easy&#8221; web development books are pretty basic and not very good. It just makes frustrated with some authors who sell books just to sell, instead of making really good books. I think this is very misleading.</p>
<p>Anyways, back to watching Heroes&#8230;..</p>


<p>Related posts:<ol><li><a href='http://www.justincarmony.com/blog/2008/07/15/web-development-10-years-ago-now/' rel='bookmark' title='Web Development 10-Years Ago &amp; Now'>Web Development 10-Years Ago &#038; Now</a></li>
<li><a href='http://www.justincarmony.com/blog/2008/07/06/avg-the-new-popular-anti-virus/' rel='bookmark' title='AVG &#8211; The New Popular Anti-Virus'>AVG &#8211; The New Popular Anti-Virus</a></li>
<li><a href='http://www.justincarmony.com/blog/2008/02/19/starting-book-reviews/' rel='bookmark' title='Starting Book Reviews'>Starting Book Reviews</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.justincarmony.com/blog/2008/09/22/php-6-books-did-i-miss-something/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Comcast Limit to 250GB a month for Residential</title>
		<link>http://www.justincarmony.com/blog/2008/08/28/comcast-limit-to-250gb-a-month-for-residential/</link>
		<comments>http://www.justincarmony.com/blog/2008/08/28/comcast-limit-to-250gb-a-month-for-residential/#comments</comments>
		<pubDate>Fri, 29 Aug 2008 04:52:19 +0000</pubDate>
		<dc:creator>Justin Carmony</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[Comcast]]></category>
		<category><![CDATA[Computers]]></category>

		<guid isPermaLink="false">http://www.justincarmony.com/blog/2008/08/28/comcast-limit-to-250gb-a-month-for-residential/</guid>
		<description><![CDATA[According to Slashdot: Comcast has confirmed that all residential customers will be subject to a 250 gigabyte per month data limit starting October 1. &#8216;This is the same system we have in place today,&#8217; Comcast wrote in an amendment to its acceptable use policy. &#8216;The only difference is that we will now provide a limit ...


Related posts:<ol><li><a href='http://www.justincarmony.com/blog/2008/07/01/mysql-php-sql_calc_found_rows-an-easy-way-to-get-the-total-number-of-rows-regardless-of-limit/' rel='bookmark' title='MySQL &amp; PHP  – SQL_CALC_FOUND_ROWS – An easy way to get the total number of rows regardless of LIMIT'>MySQL &#038; PHP  – SQL_CALC_FOUND_ROWS – An easy way to get the total number of rows regardless of LIMIT</a></li>
<li><a href='http://www.justincarmony.com/blog/2008/06/17/os-x-and-tabs-skipping-drop-down-controls/' rel='bookmark' title='OS X and Tabs &#8211; Skipping Drop Down Controls'>OS X and Tabs &#8211; Skipping Drop Down Controls</a></li>
<li><a href='http://www.justincarmony.com/blog/2008/06/12/iphone-3g-my-personal-perspective/' rel='bookmark' title='iPhone 3G &#8211; My Personal Perspective'>iPhone 3G &#8211; My Personal Perspective</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>According to <a href="http://tech.slashdot.org/article.pl?sid=08/08/28/2339207&amp;from=rss">Slashdot:</a></p>
<blockquote><p>
  Comcast has confirmed that all residential customers will be subject to a 250 gigabyte per month data limit starting October 1. &#8216;This is the same system we have in place today,&#8217; Comcast wrote in an amendment to its acceptable use policy. &#8216;The only difference is that we will now provide a limit by which a customer may be contacted.&#8217; The cable provider insisted that 250 GB is &#8220;an extremely large amount of data, much more than a typical residential customer uses on a monthly basis. &#8230; As part of our pre-existing policy, we will continue to contact the top users of our high-speed Internet service and ask them to curb their usage,&#8217; Comcast said Thursday. &#8216;If a customer uses more than 250 GB and is one of the top users of our service, he or she may be contacted by Comcast to notify them of excessive use,&#8217; according to the AUP.
</p></blockquote>
<p>What the heck? 250GB a month? Yes, for a typical, non-technological household, then the 250GB seems okay. What about my house? I have 3 PCs, 2 Laptops, 2 iPhones, and one xBox 360. I work full-time from my home and I am a software engineer. I manage dozens of large web servers and many of them make backups to my &#8220;backup server&#8221; weekly. Anywhere from 10-20 GBs will be sent to my pc every week. Thats 80-100GB a month. I also stream movies, music, tv, and many other things daily. I download games on Steam and my xBox, and download legal things via BitTorrents.</p>
<p>I can see myself easily going over the 250GB a month limit, several months in a row! I&#8217;ve already felt internet throttling when ever I download legal content via BitTorrent from Comcast. The last few weeks I&#8217;ve had days where my Internet just seems to stop. But my biggest gripe I&#8217;ve ever had with Comcast is this&#8230;.</p>
<p><strong>When I request business class internet, Comcast tells me I can&#8217;t, because I live at a residential address.</strong> Thats right, I can&#8217;t get higher speeds, or static IP addresses, or a better service level agreement because I work from home. When I asked why, I was told that if I really was a big business, I should get an office. Oh yeah? I want to spend $1000 dollars more a month to have an &#8220;okay&#8221; office, have to spend money driving to work, only so I can have a &#8220;business&#8221; internet connect? Oh yeah Comcast, I love the idea! You are so in touch with the home office.</p>
<p>Ugh, I&#8217;m tired of Comcast, but my only other internet option is DSL, which in my old neighborhood can only get speeds of 256K&#8230;. which is slightly faster than my phone.</p>


<p>Related posts:<ol><li><a href='http://www.justincarmony.com/blog/2008/07/01/mysql-php-sql_calc_found_rows-an-easy-way-to-get-the-total-number-of-rows-regardless-of-limit/' rel='bookmark' title='MySQL &amp; PHP  – SQL_CALC_FOUND_ROWS – An easy way to get the total number of rows regardless of LIMIT'>MySQL &#038; PHP  – SQL_CALC_FOUND_ROWS – An easy way to get the total number of rows regardless of LIMIT</a></li>
<li><a href='http://www.justincarmony.com/blog/2008/06/17/os-x-and-tabs-skipping-drop-down-controls/' rel='bookmark' title='OS X and Tabs &#8211; Skipping Drop Down Controls'>OS X and Tabs &#8211; Skipping Drop Down Controls</a></li>
<li><a href='http://www.justincarmony.com/blog/2008/06/12/iphone-3g-my-personal-perspective/' rel='bookmark' title='iPhone 3G &#8211; My Personal Perspective'>iPhone 3G &#8211; My Personal Perspective</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.justincarmony.com/blog/2008/08/28/comcast-limit-to-250gb-a-month-for-residential/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Two-Way Sync between Google Calendar, Windows, OS X, and iPhone</title>
		<link>http://www.justincarmony.com/blog/2008/08/23/two-way-sync-between-google-calendar-windows-os-x-and-iphone/</link>
		<comments>http://www.justincarmony.com/blog/2008/08/23/two-way-sync-between-google-calendar-windows-os-x-and-iphone/#comments</comments>
		<pubDate>Sat, 23 Aug 2008 21:43:36 +0000</pubDate>
		<dc:creator>Justin Carmony</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[OS X]]></category>
		<category><![CDATA[Tips and Tricks]]></category>

		<guid isPermaLink="false">http://www.justincarmony.com/blog/2008/08/23/two-way-sync-between-google-calendar-windows-os-x-and-iphone/</guid>
		<description><![CDATA[Since my wife and I got our new iPhones, I&#8217;ve been playing around with a way unify our calendars. When we first got married we started to use Google Calendar. We have three calendars: mine, hers, and ours. Its great for staying organized, especially when we&#8217;re trying to organize two lives. It worked well for ...


Related posts:<ol><li><a href='http://www.justincarmony.com/blog/2008/07/03/mac-keyboard-quirks-making-mac-more-like-windows/' rel='bookmark' title='Mac Keyboard Quirks &#8211; Making Mac more like Windows'>Mac Keyboard Quirks &#8211; Making Mac more like Windows</a></li>
<li><a href='http://www.justincarmony.com/blog/2008/07/09/alright-an-iphone-app-that-is-definitly-going-te-cause-horror-stories-friend-book/' rel='bookmark' title='Alright, an iPhone App that is definitly going te cause horror stories: Friend Book'>Alright, an iPhone App that is definitly going te cause horror stories: Friend Book</a></li>
<li><a href='http://www.justincarmony.com/blog/2008/06/12/iphone-3g-my-personal-perspective/' rel='bookmark' title='iPhone 3G &#8211; My Personal Perspective'>iPhone 3G &#8211; My Personal Perspective</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Since my wife and I got our new iPhones, I&#8217;ve been playing around with a way unify our calendars. When we first got married we started to use Google Calendar. We have three calendars: mine, hers, and ours. Its great for staying organized, especially when we&#8217;re trying to organize two lives. It worked well for several weeks, except one thing&#8230;</p>
<p><strong>We had to be on-line and on the browser to view our Google Calendars.</strong> Lot of the time when we needed to see our calendar we were with family or friends without computer access. Also, when I work I have twenty or so browser windows open, and it can be difficult to find my calendar in the mix. I also am biased towards desktop client applications when I&#8217;m using them every hour of the day. So I set out on my quest to find a way to sync across all the different mediums I use. Now that I think I&#8217;ve found my solution, I thought I would share my findings with the rest of the world.</p>
<p>When I tried to decide how to sync my calendars, I started with several goals:</p>
<ol>
<li>Google as my &#8220;main&#8221; hub for hosting the calendars.</li>
<li>No &#8220;hosting&#8221; services on my end &#8211; I didn&#8217;t want to have to have a server or something on one of my PCs required to be on all the time for this system to work.</li>
<li>Over the air syncing for the iPhone &#8211; I don&#8217;t want to have to plug in my phone to my PC to &#8220;update&#8221; my calendar.</li>
<li>No hassle, &#8220;it just works&#8221; mentality.</li>
</ol>
<p></p>
<p>Here is a diagram of how I&#8217;m syncing:</p>
<p><img src="http://c747925.r25.cf2.rackcdn.com/blog/wp-content/uploads/2008/08/200808231150.jpg" width="683" height="374" alt="200808231150.jpg" /></p>
<p>Here is how I set it up:</p>
<p>1) Google is the &#8220;center&#8221; for my calendar &#8211; I&#8217;m using google as the main hub for my calendars. It is a great source for hosting my calendars because I know they are always up to date, they have great apis for developers to use to implement with, and you can access them anywhere.</p>
<p>2) <a href="http://www.calgoo.com/">Calgoo on Windows</a> &#8211; Since I don&#8217;t use Outlook for numerous reasons (mainly because it is a slow pig), I was flexible for my window client. I settled on using Calgoo because it was free, the interface is great, and it just works.</p>
<p>3) iCal and <a href="http://www.busymac.com/">BusySync</a> on Mac &#8211; I like the iCal interface for using a calendar, and BusySync allows for bi-directional syncing. It happens automatically without any manual intervention.</p>
<p>4) <a href="http://www.nuevasync.com/" title="iPhone Calendar Sync">NuevaSync</a> to iPhone &#8211; This is the best syncing system for the iPhone and Google (that I&#8217;ve found). It doesn&#8217;t require any third party software on your iPhone, it uses an exchange account to sync between Google and your iPhone. Best of all, it is over the air, so it work greats. I&#8217;ve set my iphone&#8217;s fetch to ever 15 for email and calendar.</p>
<p>How do I like it?</p>
<p>I love it. It gives me easy access on my phone, my work PC, my laptop mac, and anywhere with a browser. Depending on your sync frequency, it can take as little as 15 mins for a new entry to get sent across to my other devices. My wife can add something to our calendar and it will show up on my phone.</p>
<p>Let me know if anyone has any questions on how I set this up, but each of the websites explain pretty well how to do it.</p>


<p>Related posts:<ol><li><a href='http://www.justincarmony.com/blog/2008/07/03/mac-keyboard-quirks-making-mac-more-like-windows/' rel='bookmark' title='Mac Keyboard Quirks &#8211; Making Mac more like Windows'>Mac Keyboard Quirks &#8211; Making Mac more like Windows</a></li>
<li><a href='http://www.justincarmony.com/blog/2008/07/09/alright-an-iphone-app-that-is-definitly-going-te-cause-horror-stories-friend-book/' rel='bookmark' title='Alright, an iPhone App that is definitly going te cause horror stories: Friend Book'>Alright, an iPhone App that is definitly going te cause horror stories: Friend Book</a></li>
<li><a href='http://www.justincarmony.com/blog/2008/06/12/iphone-3g-my-personal-perspective/' rel='bookmark' title='iPhone 3G &#8211; My Personal Perspective'>iPhone 3G &#8211; My Personal Perspective</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.justincarmony.com/blog/2008/08/23/two-way-sync-between-google-calendar-windows-os-x-and-iphone/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Page Caching using memcached
Database Caching 37/133 queries in 0.052 seconds using memcached
Content Delivery Network via Rackspace Cloud Files: c747925.r25.cf2.rackcdn.com

Served from: www.justincarmony.com @ 2012-02-07 23:06:42 -->
