Thursday, December 27th, 2007
In this second installment of the Developer’s Toolbox, I’ll be sharing with you another of my favorite tools that saves me a lot of time and energy: phpMyAdmin. As comfortable as I am doing things from the command line, there are certain tasks in MySQL that are quite tedious to do by hand. Having a user interface to use makes these tasks much easier and quicker to complete.
If MySQL is not your DB of choice, there are other applications out there for interfacing the various other database platforms (such as phpMyAdmin’s relative for PostgreSQL, phpPgAdmin), but MySQL is the most widely used and phpMyAdmin is often included or offered as a part of many basic hosting plans.
As of this writing, 2.11.3 is the most current version of phpMyAdmin. It can be downloaded at the main phpMyAdmin download page. Please follow the installation instructions found in the phpMyAdmin documentation. I’m going to show you how to use phpMyAdmin to create a new database, create tables, insert records, backup your data, and import data into your database. There are many, many other things you can do with this wonderful application, but I’ll keep it simple.
Monday, August 27th, 2007
If you read ‘Yahoo Job Interview Questions: Part 1‘ because you were interested in the answers to their questions, then you will definitely be interested in Part 2; which answers questions 12 through 22.
So let’s get started!
Monday, August 13th, 2007
Have you ever wondered what it would be like to interview for a position at Google or Yahoo?
Well at another blog they shared some pre-interview questions from Yahoo for a PHP job. The only problem is they never provided the answers. So that’s what I’m going to do now.
Yahoo, if you’re watching, please check my answers and if they are right, I can start next week!
Tuesday, July 24th, 2007
“Caching” is a term you’ve probably heard mentioned before in various places (including this site). The idea behind caching is to store a copy of some piece of data so you can re-use it again later without jumping through whatever hoops you had to go through the first time to get it. There are different ways you can cache data (queries, objects, etc) and different medium in which you can store the cache (files, database, memory). Any way you do it, the main goal of caching is to increase the performance of your site or application. In many cases caching is used to lessen the amount of interaction with the database, which increases performance and decreases the load on your server.
I would like to talk about my personal favorite method of caching: memcached. I’ll show you how memcached works, how to install it, and how to use it to help your site/application run faster and scale better. According to the memcached site, “memcached is a high-performance, distributed memory object caching system, generic in nature, but intended for use in speeding up dynamic web applications by alleviating database load.” In plain English, this means memcached is an application that you can use to take advantage of spare free memory on any number of machines to cache pretty much anything you want (with a few exceptions) and retrieve it very quickly. Memcached was originally developed by Danga Interactive to help speed up LiveJournal. Some of memcached’s great features are that in runs on a number of platforms (Linux, BSD, Windows), is VERY fast, and has a number of client APIs already written so you’ll more than likely find libraries for any type of project you’re working on. We’ll focus on the PHP API in this article.
Monday, July 23rd, 2007
Search-This would like to officially welcome Jeremy Ashcraft to the team!
<pearl jam rif> Jeremy spoke in class today… </pearl jam rif>
sorry, had to get my Pearl Jam on…
<pearl jam rif> Ooh, but we unleashed a lion… </pearl jam rif>
No, but really, we did unleash a lion, Jeremy joins the team with a strong website development and administration background.
Hopefully you’ve already read Jeremy’s first two articles: Simple Tips to Help Survive The Digg Effect and The Lazy Programmer – Open Source and You. And his next article will be out tomorrow!
Here’s a bit more about Jeremy:
User Name: MrSpooky
- childhood ambition: to be an astronaut, of course
- fondest memory: my son being born
- favorite music: metal! \m/
- retreat: my front porch with a book
- proudest moment: winning the pole vault at the 1999 Outdoor Big Ten Championships
- biggest challenge: managing my time
- alarm clock: 6:30 AM or my son, whichever comes first
- perfect day: doing absolutely nothing
- first job: bailing hay on a farm in rural Indiana
- indulgence: Taco Bell
- favorite movie: Fight Club
- inspiration: knowing that there is someone out there that is better than me at what I do
Wednesday, July 11th, 2007
This past week, I have been undergoing a week of rigorous training learning the key differences between .NET 2.0/3.0 and .NET 1.1. For the past two years our company has been working with the 1.1 framework, and is now migrating towards the 2.0/3.0 framework. This week the instructor said something I knew, but was glad to be reminded about. It wasn’t even a .NET oriented question, it was an object oriented question that does not apply to one specific language, but to all OOP (object oriented programming) models in general.
What is the difference between a struct and a class? When should you use a struct versus a class? How do you know?
Thursday, June 21st, 2007
Larry Wall (of Perl fame) once wrote in the “Camel Book” that the three virtues of a great programmer are laziness, impatience, and hubris. Out of these three, laziness is my favorite. Wall defines this as “The quality that makes you go to great effort to reduce overall energy expenditure. It makes you write labor-saving programs that other people will find useful, and document what you wrote so you don’t have to answer so many questions about it. Hence, the first great virtue of a programmer.”
He goes on to talk about coding and documenting in such a way so as to not create more work for yourself down the road, but he never addresses how to make the initial effort easier. I want to give a few pointers as to how you might get off on a good start.