Navigation

The new job

notfound.GIF

Well, I started my new job today. It was great, except the PC i was assigned didn't work, so I had to get a new one all set up (not complaining). This site is actually blocked from work, but i submitted a request to have it recategorized (categorized as message boards at the moment). Please bear with me if a update every other day until this issue is resolved (not that I post at work anyways..).

I've been having issues with my ISP tonight, and I've been getting 404 errors most of the night.. so I got bored waiting for the connection and made the topic picture in paint. Enjoy.

WiredCMS is now Nanobyte

I was playing around with Google this morning, and decided to see where WiredCMS was ranked in the search. It turns out it was number 3. Number one and two were links to WiredSolutions commercial CMS - WiredCMS.

This made me quickly decide that my CMS name needed to change. I have already checked for other CMS names that came to mind, and I finally have decided that the CMS is now going to be known as Nanobyte.

The name is more fitting anyways. I am trying to keep this CMS small and lightweight, but wanted it to be tied to Wiredbyte in some way.

For the time being, the project folder will still be WiredCMS, but I will refer to the CMS from now on by its new name.

A simple XML Parser in PHP

php.gif

I think i just found the coolest command ever in PHP. I was working on WiredCMS today, and started writing an XML parser for module configuration files. I got stuck for a bit, then found simplexml_load_file.

This command will take an input file in XML format, and create an object.

If we had an XML file like:

  1. <module>
  2.     <author>Author</author>
  3.     <title>Title</title>
  4.     <version>0.1</version>
  5.     <status>Dev</status>
  6.     <site>http://www.wiredbyte.com</site>
  7.     <description>This is a test XML File</description>
  8. </module>

and then simply used the simplexml_load_file function:

  1. $xml = simplexml_load_file('myfile.xml');
  2. print_r($xml);

you would get an object name $xml with a structure similar to the following:

  1. SimpleXMLElement Object (
  2.     [author] => Author
  3.     [title] => Title
  4.     [version] => 0.1
  5.     [status] => Dev
  6.     [site] => http://www.wiredbyte.com
  7.     [description] => This is a test XML File
  8. )

And yes, if you are wondering, this is the format that my module config files are going to take for the CMS, with some slight tweaks.

More Updates

wcms_banner.png

I worked on WiredCMS for a good while this weekend, and it is starting to finally take shape.

  • I finished the functionality to edit posts.
  • You can now upload and add pictures into the beginning of an article.
  • I started to style it, and it now has some images, as well as a banner.
  • I put in the right sidebar (as a placeholder for the time being)

One thing I did run into though, If a post is edited, it is blank in RSS... Interesting.

Anyways, Hop on over and take a gander: WiredCMS Development Site

WiredCMS Update

code.JPG

Well, I am still diligently working on WiredCMS (I know, I say that alot). I now have a valid RSS feed generated by it (WiredCMS RSS. RSS feeds are much easier than I originally thought, and with the backend I have built already, it took 29 lines of code to get RSS feeds going.

rss.php

  1. <?php
  2. function RSS(){
  3.         $const = get_defined_constants();
  4.         header('Content-type: text/xml');
  5.         print <<<EOF
  6.         <rss version="2.0">
  7.         <channel>
  8.         <title>{$const['SITE_NAME']}</title>
  9.         <description>{$const['SITE_SLOGAN']}</description>
  10.         <link>{$const['SITE_DOMAIN']}</link>
  11.         <copyright>WiredCMS 2008 Michael Conway - Wiredbyte</copyright>
  12. EOF;
  13.         $posts = Post::Read('1', 10);
  14.         foreach ($posts as $post){
  15.                 $pubDate = strftime( "%a, %d %b %Y %T %Z" , $post->created);
  16.                 print <<<EOF
  17.                 <item>
  18.                 <title>{$post->title}</title>
  19.                 <description>{$post->body}</description>
  20.                 <link>{$const['SITE_DOMAIN']}</link>
  21.                 <pubDate>{$pubDate}</pubDate>
  22.              </item>  
  23.                  
  24. EOF;
  25.         }
  26.         print '</channel>
  27.         </rss>';
  28. }
  29. ?>

Please keep in mind that I am using my own functions and classes for the above code, but I'll try to get a generic tutorial up for RSS feeds generation.

I've also got file uploads (images for posts at this point) working. though nothing is displayed yet, the files do get validated and uploaded. I also have set a config variable to adjust allowable file sizes, file types, and the upload path.

Awww Man!

broken_monitor.jpg

Yesterday was the last day I was required to mow the grass at our apartment complex. This makes me a Happy and Free man. A little less rich, but Free none the less.

After I got done mowing, I came inside and was told my Mary that our LCD monitor on my PC was not working right. I went into the office and powered on my PC, figuring my Cat had loosened the monitor cable or some such nonsense. Instead, The monitor was flickering, and displaying lines and artifacts. I quickly shut down my PC, hoping it wasn't my video card. I plugged the laptop into the monitor and tried again. The laptop booted fully into windows with no issues, and I was starting to accept that my Graphics card was dead. instead, the monitor suddenly flickered violently and the artifacts came back.

This monitor is over a year old, but less than 2. I thought the warranty was for 1 yr, and was very upset with the fact that I now need a new monitor, which I cannot afford. I took down the serial number and submitted a request online. To my surprise, my monitor has a 2 year warranty on it. This makes me extremely happy!

As for my job. I have given my 2 week notice as previously stated, and I just cannot believe I have put up with this place for so long. I have had several calls today from people who do not even know what application they are using, and get mad when you ask them to show you. I even had a lady who could not tell me if she was opening a PDF file, and the name of the file was 2008-52.PDF.

I'm extremely excited to start my new position. The hour I spent at the new company gave me a very good impression of their team, and it sounds like they actually work together. I'll also be able to learn a lot as well on the new job.

Relief

guitar-hero-3.jpg

Well, as expected, I heard about the job position I had applied for. I also accepted it. In 2 weeks, I am free of my soul-eating place of work, and moving on to bigger and better things.

I cannot express the feeling of the weight that has been lifted from my shoulders - then vaporized.

To celebrate, Mary and I played Guitar Hero 3 for most of the night.

Have I mentioned that Guitar Hero is addicting?

Anxiety

blowup.gif

The title describes it all. On Friday, I had an interview with a company that I would Ideally like to work for. While it is still a help desk position, it is also much more. They do most system administration, and I would be subject to a lot of learning potential.

The interview itself went really well in my opinion, and I was told I would hear back no later than this afternoon. its 2:45 and I'm still waiting (yes, I know the afternoon isn't even 3 hours over yet).

Anyways, I'm very proud of myself, I've been posting 'something' here almost every day, and I'm trying to stay on that track, I like having new content for everyone.

I've been playing with The GIMP more and more, and I made my first animation today. it's nothing special, but I'm proud of it. I made the Wire frame Planet, the Exploding planet, scaled them then did the animation. To view the animation, simply click the image above.

A great website I have found for GIMP tutorials is Gimpology. It's kind of like Tutorialized but aimed completely at GIMP.

WiredCMS grows ever-closer to a PRE-ALPHA demo. I hope to have one up soon, as I am very happy with how it is turning out so far.

Save the Developers!

savethedevs.gif

I think I have found the holy grail of websites - Save the Developers. This website is an organization that campaigns to help developers (such as myself) from pulling out their hair trying to make websites compatible with obsolete browser versions.

Their current campaign is against the use of Internet Explorer 6, and includes allowing developers to add a small JavaScript file to their site that will create a message informing any user of IE6 that they should upgrade. This is much less intrusive than some website's attempts by blocking any content at all for IE6 users. Please visit the Save the Developers website for more information.

Breaking into Vista

vista-logo.jpg

This past weekend, I brought home my In-Laws' PC. My sister In-Law had some how managed to set her account to the only admin, and then cleverly forget the password.

I started by first making her think she would lose all of her data if she didn't remember the password. She tried for more than half and hour to remember. I decided to take it home and use some utilities I had used for previous versions of windows to reset admin passwords.

The first utility I tried was the Offline NT password and registry editor. This is about 3 MB, and can be booted from a USB drive. This worked well, and I booted into the Linux shell, but it could not open the registry for editing. The site says to reboot twice in safe mode, and try again. Well i tried for nearly an hour, and no luck. it just kept going into read-only mode.

The next app I found was called John the Ripper. This used a dump file from PWDump (I don't think this is the real name, but it is available and described on the JTR site). The only problem with this app is, for it to work, you need admin rights to the machine.

I then found OphCrack and 'Cain and Abel'. Ophcrack is a bootable CD that boots into Linux and was actually able to read the password hashes. It ran for 10 minutes using a rainbow table, but could not decrypt the passwords (one I knew, but was testing the software).

I took the hashes and tried 3 hash cracking sites where the hash gets submitted, then you wait for them to break it. 24 hours later: 2 sites had given up and the 3rd hadn't started.

I started getting discouraged, until I found the Trinity Rescue Kit . This is a 129MB bootable CD that can also be put on a flash drive. I booted to this and ran the command winpass. After following the menus, I had reset all passwords to blank. This worked in less than 5 minutes, and did what the other Apps I tried could not.

I suggest any system admin, or power user at home, download this tool and keep it safe, who knows when you will need it.