Sunday, August 23rd, 2009
You may have noticed that I stopped posting on this blog. That's not because I lost interest in blogging, nor is it related to my laziness. I've actually been working on a new project with my brother. Less Annoying Software is our new business. To get started, we're going do some general tech consulting. Eventually, we plan on transitioning from consulting to pure software development. The goal is to have at least one online application that we can build our business around. We're also starting a blog called The Less Annoying Blog. I plan on posting over there instead of on TylerKing.net from now on. I still may use this site to give periodic updates on my life, but you should really head over to the new blog and subscribe to that if you enjoy reading this one. Let me know what you think about Less Annoying Software, or if you know anyone that could use our services. Posted by Tyler King
Tags: PSA
0 CommentsTuesday, August 11th, 2009
I've mentioned this before, but I want to really focus on this entrepreneurial dream of "The Perfect Idea". I know a lot of people that think they may one day start their own companies but they're waiting to have a great idea to build the company around. Here are some core beliefs that I have regarding this:
You won't ever have the perfect idea
Very few cool tech start-ups were founded on a great business idea. The great ideas like Google Adwords, social networking, etc. all evolved out of stupid (or at least misguided) ideas. Why? Because it's nearly impossible to have a good idea about something that you're not familiar with, and you can't get familiar with an industry without starting to work in it.
If you have the perfect idea, you'll mess it up
Even if you do have a once in a lifetime idea, you're going to botch the implementation if you're waiting to become and entrepreneur. If you spend the first ten years after college working at a giant corporation and then you have a brilliant idea, you'll have to learn how start-up companies work as you're trying to execute the idea. It would be a shame to waste such a brilliant business model on your practice round.
Someone else will beat you to it
Even if there is a perfect idea out there, and even if you do think of it yourself, there are people out there already working in that industry. They're building infrastructure, learning about the market, and gaining valuable experience. Those people will almost always beat the people that are sitting around waiting for an idea.
Blogging offers a great example of this. Sometimes I sit around for hours trying to figure out what to write about. Eventually I give up and start working on an old idea that I'm not wild about (like this post, to be honest). The second I start typing, I come up with tons of new topics. In the time I've been writing this post, I added six new documents to my "drafts" folder with topics way more interesting than this one. But if I hadn't started this post, I never would have thought of the new ideas.
Posted by Tyler King
Tags: Ideas
0 CommentsThursday, August 6th, 2009
I'm not the type of person to care too much about titles. If someone tells me they're the director of national accounts at a five person company, I'm not particularly impressed. However, titles are a useful way to quickly summarize one's job, so I have some interest in getting them right.
That said, one of my main job roles is "web developer". This should be a pretty accurate way for me to describe myself when others ask what I do. The problem is that 10 years ago, web developers made websites with pictures of their cats and lots of flashing, scrolling, comic sans text.
Despite the widespread adoption of web applications like gmail, people still think that "real" programs aren't online. Good programmers don't make websites, they make boring old windows applications. If I majored in computer science and now I build online applications, I must be the most pathetic CS major ever.
When someone asks me what I do and I say I'm a web developer, they respond with something like, "oh yeah, my cousin has Dreamweaver and made her own website. Cool". So instead I have to say something needlessly vague like "application developer" or "software engineer" or just boring old "programmer".
These titles aren't nearly as useful as "Web Developer" but they communicate to people that I actually write real code which I guess is more informative than only communicating that I deal with websites.
So in case you didn't already know, the times they are a-changing and there are real applications hosted online these days. If someone develops web applications, there's no reason to believe that they are any less of a programmer than someone working on a more traditional desktop app. And if you ask me what I do and I say I'm a web developer, please don't assume that I spend all day making celebrity-themed Myspace templates.
/end rant
Posted by Tyler King
Tags: non-sequitur
1 CommentTuesday, August 4th, 2009
As you know, one reason that I really like web applications is because they can be updated without the end user's involvement. Even though desktop apps are inherently disadvantaged in this regard, that doesn't mean that the developers should just give up and accept a negative user experience when updates are required.
Mozilla Firefox is the second most popular web browser out there. There are a lot of great things about Firefox, but a few really poor decisions make using it seem like a chore. I hate to say it, but I sometimes find myself using Internet Explorer instead of Firefox if I'm in a hurry. The worst decision they made has to do with installing updates.
If you had to pick the worst time imaginable to download and/or install updates, what would that be? It seems obvious to me that it's when the user first launches a program. If I don't have a program open, and then I open it, I think it goes without saying that I want to use it for something. This is the only moment in the entire user experience where you're guaranteed that I want to actually use the software. This is the wrong time to bug me about updates.
So why is this the time that Firefox installs all the updates? Why not when I close the program? Why not have a helper program like many newer apps (like chrome) that installs updates behind the scenes? I am almost afraid of starting Firefox because I know there will be an update waiting for me which will require me to install the update and restart the browser before I can do whatever it is that I actually want to do.
This problem is made even worse by the extensions. I realize that I chose to install all of my Firefox plugins, but can't they let me start my browser without prompting me about a foxmarks update every single time? I just want to go to a website. That's what web browsers are for.
And then the cherry on top of all that is how Firefox takes me to a different home page after every update to tell me about the update. Why in the world would I care? I opened Firefox to go to a website, not to spend 5 minutes installing updates and then feeling proud about my accomplishment with a special confirmation page.
So here's a new design principle for you. If you need to make a decision, think about the worst possible solution, and make sure you do something other than that. Firefox might still be my browser of choice if they followed that basic advice with the timing of their updates.
Posted by Tyler King
Sunday, August 2nd, 2009
Here's a quick add-on to the tutorial posts I've been doing. In the first post, I explained how to set up a WAMP server on your computer. What I didn't explain is how to use WAMP to work on multiple projects. I'm going to briefly explain how to do this.
127.0.0.1 localhost
127.0.0.1 tautomata.local
127.0.0.1 tylerking.local
127.0.0.1 ffl
127.0.0.1 whitney.local
127.0.0.1 calendardev
So if you need to work on multiple projects, just figure out what you want the URL to be and add a new line with the text: "127.0.0.1 YOURURL". Save the hosts file when you've made the changes.
Now you need to tell WAMP how to interpret these different projects. Go to C:\wamp and make a folder for each project. For example, I have a folder called "ffl" to host my fantasy football project and a folder called "tautomata" to host that project.
Now go into the alias folder in C:\wamp. Any file in this folder is automatically included as an apache configuration file. Make a new file named "vhosts.conf" (although the name doesn't matter) and open it in notepad.
You'll need to create a "Virtual Host" for each project you have. Virtual hosts explain to apache what folder to send different URLs to. Because you already have your URLs pointing to WAMP in your hosts file, you need to make a virtual host to handle each of these URLs. Here's an example of a virtual host:
<VirtualHost *:80>
ServerAdmin tyler@tylerking.net
DocumentRoot c:/wamp/calendar/
ServerName calendardev
</VirtualHost>
I have a total of seven different virtual hosts declared in my configuration file. The "ServerAdmin" field doesn't really matter, but make sure that "DocumentRoot" points to the folder that hosts the project and "ServerName" matches whatever you entered in the hosts file.
Once you have all your virtual hosts entered, save that file and restart all WAMP services. Create a different index.php file in each project folder, and then one by one, type the URL for each project into your web browser (for example, type "http://calendardev") and make sure that the right index.php file is displayed.
Assuming this worked for you, there's one last thing you need to do. PHP only has one global "include_path" variable and you're going to want to change it based on which project you're working in. Do this the same way you set the include_path originally by opening the php.ini file. Right now, I have this as my include_path:
include_path = ".;c:\wamp\ffl"
If I stop working on my fantasy football site and start working on the calendar, I would change this line to:
include_path = ".;c:\wamp\calendar"
Then I'd restart all WAMP services. You can also use an ".htaccess" file to set the include path so you don't have to ever go into php.ini, but I don't bother doing that. Do a Google search if you want more info on that technique.
So to summarize, here's what we just did:
Let me know if you run into any problems.
Posted by Tyler King
Tags: tutorial
0 Comments |
More about me:
My friends:
Sites that I really like:
Paul Graham Essays
Academic Earth Mint.com Lifehacker The Consumerist Deadspin Turf Show Times Failblog Get Rich Slowly |
|
Blog |
Portfolio |
Resume |
Bio |
Contact |