total = $this->time = (float)microtime(true); $this->reset(); } public function clock() { return -$this->time + ($this->time = (microtime(true))); } public function elapsed() { return (microtime(true)) - $this->total; } public function reset() { $this->total=$this->time=(microtime(true)); } } class D { protected static $handle; protected static $growlr; protected static $config = array( 'debug' => true, 'warnings' => true, 'logfile' => 'logs/main.log', 'logmode' => 'w+', 'growl' => array( 'host' => 'localhost', 'password' => '' ) ); protected static $timers; static function initialize($config=array()) { self::$config = array_merge(self::$config, (array)$config); self::$handle = fopen(self::$config['logfile'], self::$config['logmode'], true); if(self::$config['debug']) { //"God Mode" //error_reporting(E_ALL | E_DEPRECATED | E_STRICT); error_reporting(E_ALL | E_DEPRECATED); ini_set('display_errors', 1); } else { error_reporting(0); ini_set('display_errors', 0); } } static function log($var=null, $label=null) { if(self::$config['debug']) { if(!self::$handle) { trigger_error('Failed writing to the log. ' . print_r(self::$config, true), E_USER_WARNING); return $var; } fwrite(self::$handle, self::getLogMessage($var, $label)); } return $var; } static function time($timer, $label='') { if(!isset(self::$timers)) { self::$timers = array(); } if(!isset(self::$timers[$timer])) { self::$timers[$timer] = new Timer(); return D::log(0, $label . ' | ' . $timer . ' Started '); } self::$timers[$timer]->clock(); return $label . ' | ' . self::log(round(self::$timers[$timer]->elapsed(), 4) . 's', $timer . ' | ' . $label); } static function growl($var, $label=null) { if(self::$config['debug']) { if(!isset(self::$growlr)) { try { require_once('growl.php'); self::$growlr = new Growl(self::$config['growl']['host'], self::$config['growl']['password']); self::$growlr->addNotification('log'); self::$growlr->register(); self::log(self::$growlr); } catch (Exception $e) { self::warn($a, 'growl failed'); self::$growlr = false; } } self::log($var, $label); if(self::$growlr) { try { self::$growlr->notify('log', $label, print_r($var, true)); } catch (Exception $e) { self::warn($a, 'growl failed'); self::$growlr = false; } } } return $var; } static function copy($var) { /* if(self::$config['debug']) { if(!is_string($var)) { $copy = var_export($var, true); } else { $copy = $var; } D::growl(exec('whoami')); //exec('env '); //escapeshellarg( //$cmd = 'echo "do shell script' . addslashes('echo \"' . escapeshellarg($copy) . '\" | pbcopy') . '" | osascript'; $copy = 'thing to put on your clipboard'; $apple = 'do shell script "' . addcslashes('echo ' . escapeshellarg($copy) . ' | pbcopy', '"') . '"'; $cmd = 'echo ' . escapeshellarg($apple) . ' | osascript'; echo "\n\n" . $cmd . "\n\n" . $apple . "\n\n"; exec($cmd); //exec("echo 'hmmmmmm' | /usr/bin/pbcopy"); } return self::log($var, 'Copied'); */ } static function show($var, $label='') { if(self::$config['debug']) { echo self::getDisplayMessage($var, $label); } return self::log($var, $label); } static function export($var, $label='') { if(self::$config['debug']) { echo self::getDisplayMessage(var_export($var, true), $label); } return $var; } static function getLogMessage($var, $label=null) { return "\n" . (!empty($label) ? '# ' . $label . ': ' : '') . stripcslashes(print_r($var, true)) . "\n\n -~-"; } static function getDisplayMessage($var, $label=null) { return '
' . "\n" . (!empty($label) ? '

' . $label . "

\n" : '') . '
' . htmlentities(print_r($var, true)) . '
' . "\n
"; } static function report($context, $error) { //$temp = "\n There has been an error. Context: " . $context . "\n " . "Error: " . $error . "\n Back trace:" . print_r(stacktrace(), true); //self::log($temp, 'Fatal and kinda expected error'); throw new Exception($context . ' In… ' . $error); exit($temp); } static function error($error='There has been an error') { throw new Exception($error); //exit(self::log("\n There has been an error. Message: \n" . $error . "\n Back trace:" . print_r(stacktrace(), true), 'Fatal and expected error')); } static function warn($warning='Warning') { //D::show('WHAT'); if(self::$config['warnings']) { if(!extension_loaded('xdebug')) { D::show(D::stack(), $warning); } trigger_error($warning, E_USER_WARNING); } } static function stackTrace() { return self::log(stacktrace(), 'Stack Trace'); } static function stack($label='Label') { return self::log( "\n" . join( "\n", array_reverse(array_map( function($v) { //) return ' ' . $v['function'] . '();' . "\n →" . substr(substr(@$v['file'], strlen(realpath(LOC))), 1, -4) . ' | line:' . @$v['line']; }, debug_backtrace() )) ), $label . ' - Stack Trace' ); } static function debug() { self::log(debug_backtrace()); } static function close() { if(self::$config['debug']) { fclose(self::$handle); } } } D::initialize(); A.J. Cates RSS Feed http://ajcates.com/ en-us Copyright 2023, ajcates.com Tue, 30 May 2023 10:50:31 -0700 Tue, 30 May 2023 10:50:31 -0700 CMS Frog CMS Articles for ajcates.com Site Updated To Wolf CMS 0.8.0 I've gone ahead and updated my personal website to Wolf CMS version 0.8.0. Also I've included a Tumblr section in my main navigation. Tumblr section in my main navigation. ]]> Thu, 02 Feb 2012 01:44:52 -0800 http://ajcates.com/articles/2012/02/02/site-updated-to-wolf-cms-0-8-0 http://ajcates.com/articles/2012/02/02/site-updated-to-wolf-cms-0-8-0 Bowtie, your sweet little iTunes controller Bowtie is a stylish application that allows you to control iTunes while displaying album art work. This little iTunes controller boasts theming, Last.fm support, quick search and iTunes shortcuts among it's features. Oh and did I mention it's free. Depending on the theme you choose to use will vary the functionally of Bowtie. Some themes only show the album artwork while others allow you to fully control iTunes and rate your songs. You can override some of the themes settings in the preference pane such as wether it will show on all spaces or the level at which the controller sits at. Among other settings are automatic updates, starting at login and how the application should display. Adding themes couldn't be simpler in Bowtie. Just open any ".bowTie" file, that's it. Included with the Bowtie download is one of these theme files. Bowtie's theming is all controlled via xhtml, css and JavaScript. That basically means anybody who knows how to code a website is able to create Bowtie themes. That's a lot of people. On the Bowtie website they offer a theme pack that will get you started. If your looking for even more themes I find searching on DeviantART and MacTHEMES really helpful if you know of any other sources please list them in the comments. Last.fm support is an awesome feature just because I find the official Last.fm client to be a bit of a resource hog when compared to Bowtie. For those of you that don't know, Last.fm is a social music recommendation service that tracks your music listing habits. If you are really into music and aren't using Last.fm currently, I suggest going and signing up. Another cool feature that Bowtie is the keyboard shortcuts. I don't use the main ones as I prefer the ones that come built into the newer Mac keyboards. However I do use and love the search keyboard shortcut. It pops up this little window and when you start typing it'll search your iTunes library wicked fast, hit enter and the song will start playing your then switched back to your active application(Think Quicksilver). This is allows me to switch songs in iTunes almost effortlessly. Some of the other keyboard shortcuts include ones for Playback, Volume, Rating, and Showing/Hiding of the controller. They're all easily customizable as well. Bowtie Icon ImageBowtie is a stylish application that allows you to control iTunes while displaying album art work. This little iTunes controller boasts theming, Last.fm support, quick search and iTunes shortcuts among it's features. Oh and did I mention it's free.

Depending on the theme you choose to use will vary the functionally of Bowtie. Some themes only show the album artwork while others allow you to fully control iTunes and rate your songs. You can override some of the themes settings in the preference pane such as wether it will show on all spaces or the level at which the controller sits at. Among other settings are automatic updates, starting at login and how the application should display.

General Prefence Pane For Bowtie

Adding themes couldn't be simpler in Bowtie. Just open any ".bowTie" file, that's it. Included with the Bowtie download is one of these theme files. Bowtie's theming is all controlled via xhtml, css and JavaScript. That basically means anybody who knows how to code a website is able to create Bowtie themes. That's a lot of people. On the Bowtie website they offer a theme pack that will get you started. If your looking for even more themes I find searching on DeviantART and MacTHEMES really helpful if you know of any other sources please list them in the comments.

Lastfm LogoLast.fm support is an awesome feature just because I find the official Last.fm client to be a bit of a resource hog when compared to Bowtie. For those of you that don't know, Last.fm is a social music recommendation service that tracks your music listing habits. If you are really into music and aren't using Last.fm currently, I suggest going and signing up.

Keyboard Shortcuts Prefence Pane

Another cool feature that Bowtie is the keyboard shortcuts. I don't use the main ones as I prefer the ones that come built into the newer Mac keyboards. However I do use and love the search keyboard shortcut. It pops up this little window and when you start typing it'll search your iTunes library wicked fast, hit enter and the song will start playing your then switched back to your active application(Think Quicksilver). This is allows me to switch songs in iTunes almost effortlessly. Some of the other keyboard shortcuts include ones for Playback, Volume, Rating, and Showing/Hiding of the controller. They're all easily customizable as well.

]]>
Wed, 13 May 2009 23:26:00 -0700 http://ajcates.com/articles/2009/05/13/bowtie-your-sweet-little-itunes-controller http://ajcates.com/articles/2009/05/13/bowtie-your-sweet-little-itunes-controller
Nifty things to search on twitter. So today I noticed this nifty little thing on the Twitter Search. After some thinking I came up with some of my own: Fat Chicks Going OR heading "one more time" Cramps (via darkmotion) "are such a" "Today I" 2am I also added a projects section to my site and updated my Twitter plugin for Frog. Nifty Search Screen ShotSo today I noticed this nifty little thing on the Twitter Search. After some thinking I came up with some of my own:

I also added a projects section to my site and updated my Twitter plugin for Frog.

]]>
Sat, 25 Apr 2009 23:39:00 -0700 http://ajcates.com/articles/2009/04/25/nifty-things-to-search-on-twitter http://ajcates.com/articles/2009/04/25/nifty-things-to-search-on-twitter
Updated to Frog 0.9.5 RC2 Today I updated to the latest release candidate for Frog CMS In other news I have taken on David's challenge of building an Akismet Comment Plugin. Today I updated to the latest release candidate for Frog CMS

In other news I have taken on David's challenge of building an Akismet Comment Plugin.

]]>
Sat, 11 Apr 2009 01:57:00 -0700 http://ajcates.com/articles/2009/04/11/updated-to-frog-0-9-5-rc2 http://ajcates.com/articles/2009/04/11/updated-to-frog-0-9-5-rc2
Twitter Plugin In the last couple of months I have quietly been working on a Twitter plugin for Frog CMS. It comes complete with a system to cache updates. Download Twitter Plugin Instructions: Unzip and then place the contents in a folder named "twitter" in your /frog/plugins/ directory. Put this code where you want to show your twitter updates. Replacing "Twitter_User_Name" with your twitter username. The second parameter is the number of updates you would like pull. <? $tweets = twitterUpdates('Twitter_User_Name', 4); ?> The $tweets variable will now hold an array of the tweet class. You can simply loop through the array just like any other. <? foreach($tweets as $tweet): ?> <li class="tweet"><?=$tweet->text;?><span><a href="<?=$tweet->date?>"><?=$tweet->date;?></a></span></li> <? endforeach; ?> The tweet object is mostly the same as the Status Element as described in the twitter documentation. I added 2 more items, url and date for convenience. Next you need to set the twitter.xml file to be readable and writable to php. You can do this by using the chmod command: chmod a+r+w twitter.xml In the last couple of months I have quietly been working on a Twitter plugin for Frog CMS. It comes complete with a system to cache updates.

Download Twitter Plugin

Instructions:

Unzip and then place the contents in a folder named "twitter" in your /frog/plugins/ directory.

Put this code where you want to show your twitter updates. Replacing "Twitter_User_Name" with your twitter username. The second parameter is the number of updates you would like pull.

<? $tweets = twitterUpdates('Twitter_User_Name', 4); ?>

The $tweets variable will now hold an array of the tweet class. You can simply loop through the array just like any other.

<? foreach($tweets as $tweet): ?> <li class="tweet"><?=$tweet->text;?><span><a href="<?=$tweet->date?>"><?=$tweet->date;?></a></span></li> <? endforeach; ?>

The tweet object is mostly the same as the Status Element as described in the twitter documentation. I added 2 more items, url and date for convenience.

Next you need to set the twitter.xml file to be readable and writable to php. You can do this by using the chmod command: chmod a+r+w twitter.xml ]]>
Sun, 29 Mar 2009 19:37:48 -0700 http://ajcates.com/articles/2009/03/29/twitter-plugin http://ajcates.com/articles/2009/03/29/twitter-plugin
It's Here! ajcates.com V3 So here it is, your looking at it. Some things got changed: New Design New Portfolio section New Portfolio items Comments re-enabled Hopefully soon I will take the old ajcates.com site and make a wordpress theme out of it or something cool. No sense in letting a perfectly good design die. So here it is, your looking at it.

Some things got changed:

  • New Design
  • New Portfolio section
  • New Portfolio items
  • Comments re-enabled

Hopefully soon I will take the old ajcates.com site and make a wordpress theme out of it or something cool. No sense in letting a perfectly good design die.

]]>
Mon, 23 Mar 2009 16:08:00 -0700 http://ajcates.com/articles/2009/03/23/its-here-ajcates-com-v3 http://ajcates.com/articles/2009/03/23/its-here-ajcates-com-v3
Little CSS Trick If you are anything like me you hate how you have to resize images for fixed width layouts. I use this code in my upcoming redesign which will launch very soon. #textArea img { max-width: 100%; } #textArea img:hover { max-width: none; } If you are anything like me you hate how you have to resize images for fixed width layouts. I use this code in my upcoming redesign which will launch very soon.

#textArea img { max-width: 100%; } #textArea img:hover { max-width: none; } ]]>
Sun, 15 Mar 2009 13:26:47 -0700 http://ajcates.com/articles/2009/03/15/little-css-trick http://ajcates.com/articles/2009/03/15/little-css-trick
I'm on a boat You heard right, I am on a boat. You heard right, I am on a boat.

]]>
Tue, 03 Mar 2009 23:50:00 -0800 http://ajcates.com/articles/2009/03/03/im-on-a-boat http://ajcates.com/articles/2009/03/03/im-on-a-boat
Why you spam? Come on dude... don't you make enough money? Come on dude... don't you make enough money?

Kevin Rose Spam ]]>
Tue, 10 Feb 2009 22:34:00 -0800 http://ajcates.com/articles/2009/02/10/why-you-spam http://ajcates.com/articles/2009/02/10/why-you-spam
I need work. I currently need work really bad, as I have some bills that need to paid. If you know of anyone looking for a cheap web design or development project please tell me. I currently need work really bad, as I have some bills that need to paid. If you know of anyone looking for a cheap web design or development project please tell me.

]]>
Sun, 08 Feb 2009 03:44:00 -0800 http://ajcates.com/articles/2009/02/08/newsite http://ajcates.com/articles/2009/02/08/newsite
Updated Captcha Frog Plugin for 9.3 I have updated my captcha frog plugin to work with version 9.3. Took me staying up until 4am to get it working. I have done a complete rewrite on the way it interacts with the frog system. Also I have added in a little update that will tell you that you had failed in typing in the answer. It also uses Frogs built in observers, the plugin will call an event named 'spam_found' if the user fails in typing something in. To use place this in your comment-form snippet some where in between the form tags(I personally do it right above the textarea). Oh also enable the plugin. <?php captchaProxy::drawQuestion();?> I really like how Frog version 9.3 handles everything in a cleaner manor making it easier to write plugins for. I really hope in future version we see more event usage, as that is where I feel the power of plugins will shine thur. xmlcaptcha2.zip Download I have updated my captcha frog plugin to work with version 9.3. Took me staying up until 4am to get it working. I have done a complete rewrite on the way it interacts with the frog system. Also I have added in a little update that will tell you that you had failed in typing in the answer. It also uses Frogs built in observers, the plugin will call an event named 'spam_found' if the user fails in typing something in.

To use place this in your comment-form snippet some where in between the form tags(I personally do it right above the textarea). Oh also enable the plugin.

<?php captchaProxy::drawQuestion();?>

I really like how Frog version 9.3 handles everything in a cleaner manor making it easier to write plugins for. I really hope in future version we see more event usage, as that is where I feel the power of plugins will shine thur.

xmlcaptcha2.zip Download ]]>
Sun, 17 Aug 2008 07:02:13 -0700 http://ajcates.com/articles/2008/08/17/updated-captcha-frog-plugin-for-9-3 http://ajcates.com/articles/2008/08/17/updated-captcha-frog-plugin-for-9-3
New Version of Frog CMS! Frog 9.3 The biggest feature of it that it has removed, comments, files and other things from the core and moved them into plugins. That means I can crack open up the source of these files and use similar code in my own plugins. The licensing has also been changed(I've been thinking about forking it) to the AGPL. I plan to be doing an update on my site hopefully soon. With the update I can hopefully get rid of this spam problem that I seem to have. Edit: So I am like almost all updated, it seems I can not get comments working with an updated version of frog. I have wrote out my Captcha class to work with frog 9.3, but it will not work on http://ajcates.com for some reason. Also in the back end admin interface, where it says comments, it just stays at none for some reason(even tho I manually set it to open in the db). Frog 9.3

The biggest feature of it that it has removed, comments, files and other things from the core and moved them into plugins. That means I can crack open up the source of these files and use similar code in my own plugins. The licensing has also been changed(I've been thinking about forking it) to the AGPL.

I plan to be doing an update on my site hopefully soon. With the update I can hopefully get rid of this spam problem that I seem to have.

Edit:

So I am like almost all updated, it seems I can not get comments working with an updated version of frog. I have wrote out my Captcha class to work with frog 9.3, but it will not work on http://ajcates.com for some reason. Also in the back end admin interface, where it says comments, it just stays at none for some reason(even tho I manually set it to open in the db).

]]>
Fri, 15 Aug 2008 08:50:00 -0700 http://ajcates.com/articles/2008/08/15/new-version-of-frog-cms http://ajcates.com/articles/2008/08/15/new-version-of-frog-cms
Vanilla is awesome So here I am browsing around the web like I do everyday, and I run into a little open source project called Vanilla. Vanilla is a web based forum system, very similar to phpBB or vBulletin. It doesn't have all the bloat like the other two and handles things a lot smoother and cleaner. If you plan to start a forum, I highly suggest you use vanilla, it may seem almost to simple to use, but have no fear there are lots of add-ons for Vanilla to make it just as complex as phpBB or vBulletin. vanilla

So here I am browsing around the web like I do everyday, and I run into a little open source project called Vanilla. Vanilla is a web based forum system, very similar to phpBB or vBulletin. It doesn't have all the bloat like the other two and handles things a lot smoother and cleaner. If you plan to start a forum, I highly suggest you use vanilla, it may seem almost to simple to use, but have no fear there are lots of add-ons for Vanilla to make it just as complex as phpBB or vBulletin.

]]>
Thu, 17 Jul 2008 07:35:18 -0700 http://ajcates.com/articles/2008/07/17/vanilla-is-awesome http://ajcates.com/articles/2008/07/17/vanilla-is-awesome
Sleep?? I feel like this every day. This is from the good people over at xkcd I feel like this every day. This is from the good people over at xkcd

good morning ]]>
Fri, 11 Jul 2008 05:20:47 -0700 http://ajcates.com/articles/2008/07/11/sleep http://ajcates.com/articles/2008/07/11/sleep
Awesome Icons Ok so this is kinda like a check in, but I found some of the best icons for free that I have ever seen on the internets don't be surprised if you start seeing them in my site. Click on the image to view these awesome icons. I am also working on something that will put me on the map as an established web developer, something that no one has yet to do. I plan to give it away for free as well. Ok so this is kinda like a check in, but I found some of the best icons for free that I have ever seen on the internets don't be surprised if you start seeing them in my site. Click on the image to view these awesome icons.

icon preview

I am also working on something that will put me on the map as an established web developer, something that no one has yet to do. I plan to give it away for free as well.

]]>
Thu, 03 Jul 2008 07:51:33 -0700 http://ajcates.com/articles/2008/07/03/awesome-icons http://ajcates.com/articles/2008/07/03/awesome-icons
My design is featured on CSS Based http://www.cssbased.com/showcase/a-j--cates I am so happy, this means I am near professional status when it comes to designing websites, all I need to do is get a bigger portfolio, and I will be well on my way. http://www.cssbased.com/showcase/a-j--cates

I am so happy, this means I am near professional status when it comes to designing websites, all I need to do is get a bigger portfolio, and I will be well on my way.

]]>
Tue, 24 Jun 2008 02:06:57 -0700 http://ajcates.com/articles/2008/06/24/my-design-is-featured-on-css-based http://ajcates.com/articles/2008/06/24/my-design-is-featured-on-css-based
Why I hate Blueprint CSS So I have sat down to try my hands on Blueprint CSS. Blueprint is a CSS frame work that makes it very easy to code complicated layouts. The idea of front end developers having frame works is relatively new. Blueprint CSS makes it very easy to set up a full blown CSS layout with out editing any CSS. I read all the documentation, and set up a few layouts, and was hardly even touching the CSS, at first I thought that this was great then I realized that it was like designing with tables, except instead of table tags, you just have div soup. You basically set up the layout all in class attribute of your divs. The reason CSS was introduced was to separate content from style. When you use a frame work like Blueprint you are not doing that, your mixing it together and making soup. I also hate Blueprint CSS because it uses pixels all the way through its code, there for it makes it very difficult to change its predefined static width of 950px. So developing and designing fluid width layouts is out of the question. A simple solution to this would be to make the width fluid, and base everything off of percents rather then pixels, because 100% of 950px is always going to be 950px. Doing things with percents would allow for fluid or fixed width layouts with ease. Blueprint CSS is also very heavy in file size, first you have to either embed it in your current CSS, or have it as a separate style sheet, then you have to add in a lengthy class attribute to each of your div tags, so all the html you have just became fatter. The CSS size really isn’t a problem, but when you are adding to my lean and clean HTML we are gonna have a problem. My last issue with Blueprint CSS is the fact that it changes my colors on my fonts, and I have to go searching through there CSS files to change it, or use an ugly !important. So I have sat down to try my hands on Blueprint CSS. Blueprint is a CSS frame work that makes it very easy to code complicated layouts. The idea of front end developers having frame works is relatively new. Blueprint CSS makes it very easy to set up a full blown CSS layout with out editing any CSS.

I read all the documentation, and set up a few layouts, and was hardly even touching the CSS, at first I thought that this was great then I realized that it was like designing with tables, except instead of table tags, you just have div soup. You basically set up the layout all in class attribute of your divs. The reason CSS was introduced was to separate content from style. When you use a frame work like Blueprint you are not doing that, your mixing it together and making soup.

I also hate Blueprint CSS because it uses pixels all the way through its code, there for it makes it very difficult to change its predefined static width of 950px. So developing and designing fluid width layouts is out of the question. A simple solution to this would be to make the width fluid, and base everything off of percents rather then pixels, because 100% of 950px is always going to be 950px. Doing things with percents would allow for fluid or fixed width layouts with ease.

Blueprint CSS is also very heavy in file size, first you have to either embed it in your current CSS, or have it as a separate style sheet, then you have to add in a lengthy class attribute to each of your div tags, so all the html you have just became fatter. The CSS size really isn’t a problem, but when you are adding to my lean and clean HTML we are gonna have a problem.

My last issue with Blueprint CSS is the fact that it changes my colors on my fonts, and I have to go searching through there CSS files to change it, or use an ugly !important.

]]>
Wed, 18 Jun 2008 06:24:00 -0700 http://ajcates.com/articles/2008/06/18/why-i-hate-blueprint-css http://ajcates.com/articles/2008/06/18/why-i-hate-blueprint-css
Cool Bookmarklets What is a bookmarklet?? From Wikipedia: A bookmarklet is an applet, a small computer application, stored as the URL of a bookmark in a web browser or as a hyperlink on a web page. The term is a portmanteau of the terms bookmark and applet. Whether bookmarklet utilities are stored as bookmarks or hyperlinks, they are designed to add one-click functionality to a browser or web page. When clicked, a bookmarklet performs some function, one of a wide variety such as a search query or data extraction. Usually the applet is a JavaScript program. So I have came across some really cool ones, some that help me in web design big time. To use these, right click and click on "Bookmark this link". You can test them out on my site just by clicking on them. Note: These are only tested in Firefox. X-Ray Edit Content Validate HTML Validate CSS What is a bookmarklet??

From Wikipedia:

A bookmarklet is an applet, a small computer application, stored as the URL of a bookmark in a web browser or as a hyperlink on a web page. The term is a portmanteau of the terms bookmark and applet. Whether bookmarklet utilities are stored as bookmarks or hyperlinks, they are designed to add one-click functionality to a browser or web page. When clicked, a bookmarklet performs some function, one of a wide variety such as a search query or data extraction. Usually the applet is a JavaScript program.

So I have came across some really cool ones, some that help me in web design big time. To use these, right click and click on "Bookmark this link". You can test them out on my site just by clicking on them. Note: These are only tested in Firefox.

]]>
Mon, 09 Jun 2008 06:13:00 -0700 http://ajcates.com/articles/2008/06/09/cool-bookmarklets http://ajcates.com/articles/2008/06/09/cool-bookmarklets
New site theme!! My site now has a new theme!! I hope you like it, I am still working on it to display correctly in IE6. Also the footer is still a mess. Once the site is cleaned up and optimized, I will be submitting it to different css showcase galleries, hopefully that will boost SEO, page views, etc. My site now has a new theme!! I hope you like it, I am still working on it to display correctly in IE6. Also the footer is still a mess. Once the site is cleaned up and optimized, I will be submitting it to different css showcase galleries, hopefully that will boost SEO, page views, etc.

]]>
Tue, 27 May 2008 07:36:41 -0700 http://ajcates.com/articles/2008/05/27/new-site-theme http://ajcates.com/articles/2008/05/27/new-site-theme
Checking in I haven’t written a new blog post in a few days. So I figured I would update. I have a few things going on. New site design coming soon New Websiteninjas.com site design coming soon New portfolio piece with custom php backend I haven’t written a new blog post in a few days. So I figured I would update. I have a few things going on.

  • New portfolio piece with custom php backend
]]>
Mon, 19 May 2008 06:40:00 -0700 http://ajcates.com/articles/2008/05/19/checking-in http://ajcates.com/articles/2008/05/19/checking-in