Header Image
"Faster performance for optimum laziness"... This took  seconds to load
Countdown To Phil's Birthday    --   

Partners

Current News and Events

2/9/10: Calendar data has been entered and is now updated every 15 minutes with my live schedule!

2/7/10: Fixed many broken video links on the site. Also added the calendar page back into the website. Expect calendar data to become available within a few weeks.

Archived News

Posted on: March 11th, 2010 by Famous Phil

For all of you who have no clue what single user mode is, it is a recovery environment for Linux based servers.  Single user mode allows for the system administrator account (root) to login via the local server (the console) to fix problems that prevent the server from coming up normally.

Single user mode can be triggered by a lot of factors, but there are two huge factors that can cause this.  One is when the system’s drive information file (fstab) becomes inconsistent with the server’s configuration.  The other time when a system will boot into this mode is when a file system is found to have errors on it.  Linux automatically checks its file system occasionally on boot, which is why single user mode may occur without much notice (that is if the check can’t quickly fix the problem on its own).

Single user mode presents only the root file system (/) to the root user after login and this file system has only read access.  This is to allow for file system checking since this mode is used commonly for running file system checks and repairs.  If your file system becomes corrupt, the last thing you want is for your computer to write to the file system and lead to further corruption.  The admin must mount the file system as read write in order to modify anything on the drive.

I’ve been in single user mode twice now for neglecting to verify all the information in the fstab file.  My first time in single user mode was not fun and I ended up using a Ubuntu live cd to fix the problem since I didn’t have enough patience to look up the command.  After my first time, I looked up the command in case I ever needed to enter single user mode again.  This effort paid off since I knew that I would be rebooting one of the servers a little earlier that had significant edits to the fstab file.  Although I was certain I didn’t make any mistakes, I didn’t check for duplicate entries.  This caused the server to boot into single user mode.  My job was to simply remove the duplicated line and reboot the server.  Since I can never remember the command, I decided to write this blog.  Remember this is a Centos 5.4 server running CPanel.

The command is: mount -n -o remount /

That command will mount the root file system (/) as a writable file system, thus allowing for a text editor such as vi to write edits back to the file system.  I simply used vi to remove the duplicated line in the /etc/fstab file and rebooted and the server is back up.  Hopefully I won’t see another time of single user mode, but as an admin, I’ve grown to expect stuff like this.  I thought I would share the command so I don’t ever get lost again trying to find it :)

Tags: , ,
Posted in Hosting / Server Administration
|| No Comments »

Posted on: March 11th, 2010 by Famous Phil

Today, I will pursue a topic that all of us wish wasn’t necessary to discuss, but it is a fact of life. Backups are required in life and this isn’t a new concept, but poor backups can be devastating when you find out that it doesn’t work (and that is usually when you need it the most). I’ve spent a lot of time making changes to my backup systems over the years, but they are never perfect and I constantly find new flaws that I constantly work to fix.

A few weeks ago, I found a major flaw in my backup system that I never really thought about in the past.  My backups would run every night by essentially pushing the latest backup to another server that I run.  This server had an account on it where the backup would neatly upload then not be touched again until the next backup cycle ran.  To access the backup, all I had to do is login as root on my production system (the system that runs famousphil), then request the backup.  Passwords are entirely controlled through keys, so I didn’t have to do anything special or know anything to gain access to my backup server.  Unfortunately, if all I needed was my root password / key to do that, if a hacker got into my system, they essentially could completely destroy my backup system as well.

With the ever growing threat of hackers attempting to compromise my network of servers, I’ve began giving more thought to hack attempts and prevention along with hard disk and other physical server failures (which also happen).  Because of these thoughts, I’ve implemented a new backup routine that fixes most of my issues with a hacker gaining access to my network.  If I discover a hacker has penetrated one of my servers within 12 hours, I will always be able to restore a backup that is no more than 3 days old now.  The same goes for a hard disk failure / natural disaster. I do not feel it is in the best interest of Matthouse to disclose the new backup system and exact scheduled times, but I thought that it would be appropriate to share a little insight into that thought that I’m sure many other system administrators might fall into at one point or another.

Another threat that I found with my backup system was that part of my backups were incomplete.  For any admin that thinks backing up /var/lib/mysql is appropriate to backup MySQL, think again.  About 2 months ago, I thought this was appropriate, so I began backing up MySQL this way (I never really thought to check it initially since the server was brand new).  I normally check the redundancy of my backups about once every 2-3 months.  During my redundancy check, I always check everything and I discovered that I could not restore the MySQL database server from that directory easily.  Since I have the original server still running, I came up with a new backup procedure that works much better and can actually be restored.

For all of you who need to backup an entire MySQL server, here are the 2 commands that will help:

  • Backup: mysqldump -u root -pPASSWORD –all-databases > backup.sql
  • Restore: mysql -u root -pPASSWORD < backup.sql

Those are the 2 major points I wanted to make in this post.  In conclusion, I recommend that you make a backup schedule for your servers and verify that loop holes don’t exist in it.  I’m constantly looking for loop holes and I patch them as I find them.  Also, verify your backups!  I would have never realized that MySQL wasn’t being backed up unless it was for verifying that my backups are in tact and can be restored.  I verify my backups every other month and I recommend that every system admin does so.

For anyone at home, HARD DRIVES DO FAIL.  I strongly recommend keeping any data that you could not afford losing on a flash drive or external hard drive where if your computer did fail, you would still have your data.  Unfortunately, data is unrecoverable at cheap rates, making a backup is a cheap insurance policy to avoid complete disaster!

Tags: , , ,
Posted in Hosting / Server Administration
|| 1 Comment »

Posted on: February 28th, 2010 by Famous Phil

As of late, I’ve been focusing many of my efforts into Windows more than on Linux.  I suppose my only reason is because my Windows administration knowledge is quickly becoming outdated, but it is also because I spend 99.9% of my time developing and administrating Linux based machines.  I am usually under the impression that Windows makes stuff so easy with the “next next next finish” principle, but Windows has just as many problems as Linux does, it just does not make them evident until you actually want to do something with Windows technology.  The only great thing about Windows is that normally, the fix is 99 times easier than the same type of fix on a Linux based system.

Over the past couple of months, I’ve been wanting to put together a Windows based web server for myself.  Its purpose was originally to keep my Outlook 2007 application on Exchange open (to update my website calendar / update my webmail RSS feed folder).  I’m beginning to run other stuff on the server (e.g. my instant messenger) so that I can have a better online presence (lets face reality, email isn’t as live as some of my friends would like).  Since I chose to run Windows Server 2003, I decided that it might be worth my time to enable Internet Information Services and work on developing some ASP based web applications just for the fun of it.  Of course, when the time is right, I will open up a few more accounts on the server through Matthouse for others who share my desire to learn ASP for fun.  For those of you who are wondering, I’m waiting for a good billing system to come along, I have one, I’m simply waiting on the developer to make a few changes.

Anyways, today I was playing around with the server and I enabled FTP publishing so that I could easily upload a few files to the server through my local computer.  Unfortunate for me, going to the windows components page under the control panel’s add/remove programs section to add FTP Publishing wasn’t enough.  Sure enough, the server did install FTP and made it available in the Internet Information Services Manager section of the computer management console.

After I deleted the default ftp site and made a new site with isolated user home directories, ftp didn’t work correctly.  Note that this server does not connect to nor run Windows Active Directory, so all the accounts are local.    Anyways, after some research, I found that under the ftp root, I needed to add a folder called “LocalUser” and then I had to add the username of the account under that directory.  To ensure that other users could not read files / data the directory, I changed permissions on the user folder to allow only that user and administrators access. At this point FTP began to sort of work!

I say sort of work because FTP only worked in active mode, meaning the Windows Firewall was getting in the way.  After spending a few minutes looking for a solution, I figured that I would try adding the internet information services executable to the exceptions list.  Sure enough, this fixed the passive mode problem.  The steps I took to fix the problem were: 1. open up the Windows Firewall control panel console under the Windows control panel.  I went to the exceptions tab and added a problem.  I browsed for additional programs and added “C:\WINDOWS\system32\inetsrv\inetinfo.exe” to the exceptions list.  After this was added, passive mode worked as expected.

Although Server 2003 is outdated by now, it is still a very stable system to do any experimental work on, which is why I choose to run it over a better and never version of Windows.   It is also much cheaper to run than a newer version of Windows like the current Exchange Server which is running Windows Server 2008 R2 Datacenter.

Tags: , , ,
Posted in Hosting / Server Administration
|| 2 Comments »

Posted on: February 27th, 2010 by Famous Phil

Today, the other admin of Matthouse Hosting came to me with a serious concern.  He was able to single handily bring down Matthouse and the entire infrastructure that I have spent countless hours on securing.  After learning a little about this attack he used, I was able to successfully bring down other major sites that run on Linux based servers, which makes me wonder how old this attack really is and how well known it is.   Naturally, it is a major security concern when a system administrator like myself finds out how easy it is to completely bring a network server to its knees, so I immediately dropped everything and began researching a solution to the problem.  In the process, I decided it would be beneficial to blog about what I’ve learned.

A typical DoS attack works by sending TCP/IP packets to the web server in massive quantities.  These packets of data clog the lines that run to the server and cause it to overload.  Think of a typical DoS attack as a couple hundred of people knocking at your front door at once asking something from you.  You will be naturally overwhelmed and give up entirely.  Servers are not any different when subjected to these attacks.  Although there are no real prevention tips for these kinds of attacks, there are special routers that can reroute these attacks to black holes causing the service to never go out entirely.  Depending on the network capacity, any server on that network may exhibit slow connectivity.   The datacenter that hosts Matthouse experiences huge DoS attacks about 5 to 6 times a year and during this time, some of our servers are entirely unreachable.

DoS attacks tend to be caused by lots of hackers going after a certain site / service that they don’t like.  For example, often on Internet Relay Chat (IRC), hackers get mad at other hackers and they use their networks of compromised computers to send packets to the service, bringing it down.  DoS is by far the hardest type of attack to prevent, and admins such as myself dread them.  Matthouse has some redundancy, but I doubt it could handle a large scale attack without at least some period of downtime, then again, many smaller networks couldn’t handle a large scale attack, so Matthouse isn’t alone.

Moving on, The Slowloris attack (located at: http://ha.ckers.org/slowloris/) is classified as a special kind of Denial of Service (DoS) attack on a web server.  This attack works by sending partial request packets to the web server to request data in return.  It sends fully constructed internet packets so it doesn’t clog the network, but the packets it sends are not fully constructed, and the web server thinks that data is missing so it requests a resend of the packet.  Normally the web browser will send a full request again and the server will complete the request.  Notice that the server never drops the initial connection for a period of time.

The idea of slowloris is to send incomplete packets at specified intervals to take up all the available slots of a web server, thus effectively making the server wait for that single client.  It is basically an attack that makes the server sit there and wait for a full request instead of freeing its resources to handle other people who may want a page from it.  Usually web servers only have enough open slots to fill up 512 requests or about there.  So if you can get a single computer to utilize all of these resource openings, you can block service to everyone else.  The cool part is that the server logs will not note anything suspicious because the requests are legitimate, just incomplete.  Once the attack is finished, the log file will show a bunch of 400 errors for bad requests.  When this attack is stopped, the server will return to normal within seconds because servers don’t wait a long time before giving up on the connection.

So what exactly is affected?  I’ve found that all of my Linux based servers which run the Apache web server are vulnerable to this attack.  To my surprise, both of the Microsoft Windows Servers running Internet Information Services (IIS) were NOT susceptible to this attack, likely because they wait for a complete request before responding to it.  I’ve also read that lighttpd isn’t affected in this type of attack.

Now for the fun part, the solution.  Justin beat me to the punch line, but his solution is very effective at protecting all of the servers that we manage at Matthouse and Amphosted.  Both of us run updated versions of CSF and LFD (http://configserver.com/).  With CSF, there was a very simple configuration directive that can be added to the configuration file that effectively blocks this attack. You should add the following to your configuration file for CSF (on the appropriate line) “PORTFLOOD = “80;tcp;20;5″”.  After testing the server for this vulnerability again, CSF effectively blocked the attacking server, thus fixing the vulnerability.

Hopefully you can protect your servers from what I have learned.  I’ve found several major websites that are vulnerable to this attack!

Tags: , , , ,
Posted in Hosting / Server Administration
|| 1 Comment »

Posted on: February 15th, 2010 by Famous Phil

I feel like starting this post on the topic of recycling.  If you are like me, you have heard of the 3 R’s.  For those of you who don’t know what I’m talking about, the 3 R’s are Reduce, Recycle, and Reuse.  A good portion of the news and current events in society encourage recycling and saving the environment.  For the most part, the world is moving towards saving the environment and the world as we know it, and that is great.

You may be asking what the heck does the movement to save the environment have to do with an IP title.  IP stands for Internet Protocol and the internet runs on this protocol (means of communication).  When using IP, your computer uses an address that makes it reachable by all other computers in the world.  Normally, you can think of IP as the United States Postal Service (USPS) and an IP Address as your mailing address or P.O. box.  The internet currently uses 2 major versions of IP, version 4 and version 6.  IP version 4 has been around since the dawn of the internet and can support a little over 4 billion computer addresses at once.  Due to special addresses within the IP version 4 range, only about 2 billion of these addresses are actually usable.  Due to this limitation, IP version 6 was born around 10 years ago to support a much bigger address system (it still has a limit, but its far bigger than anything could ever use).  The problem is, IP version 6 is going to be a pain to shift to because it will require everyone to switch at once.  Most system admins believe in not fixing something unless its broke, which could hinder this a lot.

Quite a few years back, there were a few ranges of ip addresses that were reserved to be private addresses.  This means that if you used a private address, no router on the internet would accept traffic from this range of addresses and forward it onto other networks.  This allowed for the usual wireless router at home with that all too familiar ip address 192.168.0.1 or something similar.  I’m sure if you’ve ever touched one of these, you would see that number somewhere in the documentation.  The idea of this is to put a bunch of computers behind a single internet ip version 4 address and allow all the computers to communicate with the internet without actually needing to be directly on the internet.  This process is called Network Address Translation (NAT) and all routers practice this.  the 192.168.0.x range allows for 255 computers to be connected simultaneously.  For bigger networks in need of more addresses, there is the 10.x.x.x where x is a variable number from 1-255.  This allows for many more computers, about 16 milion addresses to be a bit more precise.

Technically, using all 10.x.x.x network addresses on the internet, we could likely last a long time to come without requiring IP version 6. So, why don’t we use more private addressing?

I asked myself a very good question, and my answer is that I don’t know.  Obviously, we need to have public IP addresses to some degree to allow for websites, virtual private network gateways, and other services to the internet.  Putting internet accessible services behind NAT devices would knock out the entire internet.  On the other hand (and the main purpose of this post) is that there are several universities and companies and institutions that horde public IP addresses and do absolutely nothing with them.

A prime example of this hording can be seen here at the University at Buffalo.  UB owns a class B block of ip addresses 128.205.x.x and recently licensed another block of ip addresses in another range to support their continued growth.  Normally I wouldn’t be against this, but UB is in a tight position because the state government is failing at maintaining a good budget and IP addresses now cost a lot since there aren’t many left.  UB probably gets a volume discount, but for me, I pay $20/year for each public IP address that I am assigned and most of that cost goes directly to the naming corporation that handles all IP addresses.  This is a classic supply and demand problem.  Also, UB firewalls most of their IP addresses entirely, I can name no more than 20 computers on the UB network as a whole that I’ve accesses that absolutely need access to the internet (Web servers, etc).  The rest of the UB network computers are holding onto valuable public IP addresses that are 100% fire walled and inaccessible from the outside world.  Why does UB waste money and horde IP addresses that it doesn’t need?

Many other universities like Berkley, and Princeton have similar sizes of IP address blocks and I’m sure that they do the same basic stuff.  Now onto the ISPs.  Wildblue and Verizon both assign public unfirewalled IP addresses to their customers.  I can see why they might do this, but really, do customers need a public IP address just to potentially compromise the network and the internet computers around them?  Probably not.

I really feel that public IP addresses should only be handled by the major internet providers and datacenters that handle internet accessible servers.  Private companies that want real IP addresses should need to justify the use of those addresses.  If this was enacted, I’m sure that the internet addressing crisis would be a lot less of a problem.

Nat can definitely be the key to fixing the problem, but first, these big institutions that horde IP addresses need to give those addresses up and use them as they need them, just like many of the major hosting companies currently do.

Tags: , , , , ,
Posted in Hosting / Server Administration, Technology
|| 12 Comments »

Posted on: February 2nd, 2010 by Famous Phil

This post is going to be short, sweet, and to the point :D   It seems that every time I build a new server, I’m constantly at a loss for memorizing the commands that generate public keys in SSH (Secure Shell).  SSH for the computer illiterate is the Linux equivalent to Windows Telnet Services.  This basically gives you a command prompt that is running on a remote computer.

SSH is the heart and soul of linux based computers because *everything* can be done through the command line simply.  Unfortunately, Windows is just starting to catch up with Telnet using a new application called powershell.  Powershell is very unlike the linux command line though since it is more a scripting language than a command based language.  This is why I always scratch my head when working with Microsoft Exchange Server’s Powershell commands and end up reverting to the famous Microsoft graphical administration interface which gives me the option of “next next next finish”.  I really do appreciate the Microsoft wizards that make software so easy to administer.  Anyways, Linux never started with a graphical desktop (Unlike Windows and Macintosh), therefore, the command line in linux is far easier to use when administering a system.

To get back to my original topic, I am a fan of passwordless entry into my own systems.  With linux and SSH, there are a few authentication methods, 1 being password entry, and 2 being public key authentication.  With a password login, you basically enter a username and password and you are logged into a command prompt on linux.

With public key authentication, you generate 2 keys at your local computer, one being a private key and the other being a public key.  Basically, you give the server you wish to connect to the public key, and only you hold onto the private key.  When you connect to the server, it will first give you the public key so that you can verify that the server is actually the server that you want to connect to.  This will be ignored on the first connect, but in the future, if this key changes, you will be notified that the server was possibly compromised.  Upon allowing the connection, you will give the server your private key and it will run some calculations on the key you provided.  If the result matches that of the server’s public key, you will be granted access.  Since keys are generally 256 hexadecimal characters long, these are much more secure than normal passwords, and they are generally much easier to use (unless your laptop is stolen).

So now onto how to actually use these keys:

1. Generate the key on your local machine (not the remote machine).
A. ssh-keygen -t rsa
2. Verify that your remote server has an ~/.ssh directory.  ~ in linux is the home directory.
3. Copy the local public key to the server
A. This can be done with: scp ~/.ssh/id_rsa.pub user@remote_server:~/.ssh/authorized_keys2
B. Notice I specified authorized_keys2… this is actually for SSH Protocol 2 which is a more secure SSH protocol than the original.
C. scp is secure copy in linux and it copies files between computers using SSH tunnels.
4. Attempt to ssh into your remote machine.  It should not need a password anymore.
A. ssh user@remote_server

Hopefully this helps make sense of SSH keys.

Afterthought on 2/4/10:
when using the scp command as a copy / paste above, this will overwrite your authorized_keys2 file on the remote computer.  To prevent this from happening, append to the file using this command (thanks Cris for pointing this out to me):

cat ~/.ssh/id_rsa.pub | user@remote_server “cat >> ~/.ssh/authorized_keys2

Tags: , , ,
Posted in Hosting / Server Administration
|| 5 Comments »

Posted on: January 20th, 2010 by Famous Phil

Hi, and welcome to the new FamousPhil website!  It isn’t actually all that new, but it is a major revision of my website.  This has been coming now for at least the past 5 months because I completely hated the colors that I chose for the overall site theme.  I can’t believe that I thought mixing all sorts of colors would even remotely look good. Anyways, I fixed it and I feel that the site looks better.

So what exactly changed?

I changed the color scheme a little bit and this is what you will likely notice the quickest.  I decided to go with a traditional blue theme using the same blue that I selected before, but this time with a color guide.  For anyone in need of finding colors that go well together, I strongly recommend: http://colorschemedesigner.com/.  That site helped me a lot!

In addition, FamousPhil now validates to XHTML Strict 1.0, it used to validate to XHTML Transitional 1.0.  This is basically technical language saying that FamousPhil is guaranteed to look the same on all compliant browsers that can display this website.  This was very difficult to achieve considering the old website base uses many elements of XHTML transitional that don’t exist in strict.  Regardless of the difficulty, I managed to get everything updated and working well :)   You may ask why I didn’t choose HTML 5 (I know one person who did), and my reasoning is, its standards aren’t fully established yet and aren’t mainstream enough for my personal preferences.

Finally, the major component that I really wanted to fix for a long time has happened.  On my end, FamousPhil now has a real content management system.  I wrote a theme for Wordpress (thanks to John) and I now use Wordpress as my content management system.  Doing this has made my life much easier since changing the site has gone from manually editing source code to “drag and drop”.  Hopefully I can continue to make my sites easier to manage so I can perhaps find more free time in the future :)

Thats all for now.  I still need to do some blogging on some important issues, but that will come someday in the near future :)

Tags: , , , ,
Posted in My Site
|| 1 Comment »

Posted on: January 1st, 2010 by Famous Phil

At the time of beginning this post… it is 12:01am Eastern Time, January 1, 2010.  My first words are: Happy New Year! and Happy new decade!  Hopefully this decade will bring a lot more fortune than the last one :)   I just want to quickly look back on the last 10 years of my life and the funniest videos of the year that I’ve found.

Ten years ago from today, I did not know much about a computer.  I can assure you that I did not know how to turn one on, and I only had a slight clue about what the internet was.  At the time, I had high hopes of becoming an electrical engineer and I loved playing around with circuits.  I was also much younger and had a lot to learn (obviously).  I also wasn’t entirely sure about what all the Y2K stuff was all about, so it didn’t really affect me.  Finally, a last tiny tidbit… I have spent *every* new year of my life in my own bedroom here at home.  I might be a few feet off from the same position each year, but I’ve basically in the same spot.  This is only the third year of my life that I’ve been up to witness the new year come in.

So, how does it feel?  I doesn’t feel any different… its just another day.  For some people, its an iconic day I suppose, being a new year and all, but for me, nothing has really changed.  I will continue to live and will continue to do what I do every day.  The only difference is, I will have to get over the annoyance of not remembering to write 2010 on any documents I create for at least the next few weeks (probably about a month or two in reality).

2009 brought me 8 hard drive failures in various machines that I’ve worked on, 2 being my own.  It also brought some bad fortune with the passing of my grandmother.  On the brighter side, it brought Windows 7, Microsoft Exchange, XM Radio, 2 new Laptop computers, a new server, and the magic of Verizon wireless high speed internet here at home.  It also brought me a wonderful job at my college and lots of new knowledge about computers.  Overall, 2009 for me was a decent year, especially considering the killing I made on Ebay selling Michael Jackson dolls (I sold quite a few within the first day after his death).  Of all the stuff that 2009 brought, perhaps the biggest was a new and improved FamousPhil.com.  Within the next few weeks, FamousPhil.com will change slightly again to become more smooth in color transitions :)

In 2009, I watched a lot of amazing video.  I think its time to share some of the more memorable youtube links of the best videos I saw in 2010!  I’m also going to leave this blog post here.  I hope that your 2009 was as enjoyable as mine and that your 2010 brings good tidings :)   Enjoy!

Ancient Modem that still works (seen on Yahoo for several weeks back in June, 2009)

World’s Fastest Speed Reader reading the original Health Care Bill – Cavuto (Fox News)

Glen Beck – Turtles on TV (You may have to get half way through this partially edited clip)

Next up is from a movie that was hilarious (Monsters vs. Aliens).  I also liked High School Musical 3.

I discovered something about geiko!

And finally, the video that combines it all together perfectly!

To another great year!  Thanks for stopping in!

Tags: , , , ,
Posted in My Site, Personal, Student Life, Technology
|| No Comments »

Posted on: December 27th, 2009 by Famous Phil

Powered by Twitter Tools

Tags: , ,
Posted in Personal
|| No Comments »

Posted on: December 25th, 2009 by Famous Phil

First, I would like to wish you a Merry Christmas!  This has been a long year for me!

6 score and days ago (clever huh? :P ) I was preparing for a new semester at the University at Buffalo.  Little did I know what I would be getting myself into.  I was enrolled in 17 credit hours (8 undergrad, 9 grad) with a really split schedule.  This and an unexpected Teaching Assistant position pretty much took all of my energy away for most of the semester.  Included I’d like to provide some tips after looking back that might help others facing similar schedules.

Unfortunately, I couldn’t make my schedule in such a way that I could have classes in a long solid chunk like I have had in past semesters.  I wasn’t expecting this to be hard to handle, but I was expecting a bit of lost time throughout the semester.  This is because most of my work is project based and I’m not very efficient with doing work when I have an hour here and there to do the work.

The reason why is because it takes me a good half hour to an hour to get into an efficient working rhythm.  I prefer having a large chunk of contiguous time to handle any chunk of work that I need to get done because I enter a mood and I work very quickly and efficiently.  Programming is one of the huge tasks that I do that requires large chunks of contiguous time.

During the semester I couldn’t find large chunks of time to get work done and this probably hurt me a little bit, but I did get through it.  I managed to get by through losing the concept of a “life”.  Most of my weekends were spent working on projects that were due, and I was limiting my sleep to 6 hours a night.  During the last 2 weeks, I had so much work left to do and so little time that I finally gave up on the concept of getting it all done in time.  I switched over to a “best effort” approach and started getting my 8 hours of sleep every night again.  This probably saved me the most because I quit worrying as much and I started being more productive.

After adjusting, I did start a paper todo list.  I found this to be very helpful compared to my computer based todo list because I could cross stuff off and it would still appear on the paper.  My computerized todo list removes my items from the list so I can’t see what I’ve accomplished.  This was a huge set back for me until I realized it was happening.  I will hopefully have a solution to this problem in the next few weeks to prepare for next semester.

Here are my tips: If you are in a situation where you don’t have enough time to do all the work, I recommend taking the stress out of the picture and start sleeping again.  I found that losing sleep wasn’t helping the problem at all.  I just couldn’t focus.  I also admit that I didn’t get everything done, but the tiny details were the things that I left out.  In my best effort approach, I quit doing the stuff that wasn’t worth a lot of points for my time and that was a huge help.  Another huge thing that helped was a todo list on paper.  This managed to keep me organized until I could finish and proved to me that I was moving forward.

All in all, I did enjoy the last semester.  I learned a lot from it in many aspects that I can hopefully take away into future tasks that I need to handle.  I would like to thank everyone who had to put up with me last semester, I probably wasn’t in the best of moods most of the time :P

Tags: , , , , ,
Posted in Student Life
|| No Comments »