Skip to content


comprar windows vista pirata cs4 vollversion photoshop download completo portugues solidworks preisliste preço windows xp professional microsoft access preis lightroom billig adobe indesign preis comprar cubase windows vista vollversion sql server 2008 priser adobe indesign pris microsoft office 2007 completo download windows xp sp3 completo para download windows vista home premium download completo köp matlab sql server 2008 kaufen pris microsoft project dreamweaver pris indesign günstig nero completo 7 download office 2007 completo link direto adobe cs3 pris nero 9 pris microsoft office completo 2007 download comprar office 2007 adobe cs3 download deutsch corel draw x4 download portugues photoshop elements 8 billig omnipage preisvergleich photoshop cs4 download portugues portable adobe indesign preise final cut express 4 preis microsoft powerpoint kaufen kaufen photoshop preisliste matlab premiere pro kaufen 3ds max 2009 download completo köpa windows vista online comprar windows 7 64 bits nero 9 completo portable köp sony vegas windows 7 pris priser autocad windows xp kauf corel draw priser acrobat 9 kaufen windows vista billig kaufen dreamweaver completo portugues köpa autocad adobe photoshop cs3 preise powerpoint 2007 kaufen sql server 2008 enterprise kaufen windows 7 download swe illustrator cs3 download portugues microsoft office 2010 vollversion download comprar windows 7 starter microsoft office preisliste autocad 2010 günstig windows 7 home premium download portugues windows vista ultimate kaufen microsoft word 2007 kaufen windows 7 ultimate preço nero 9 preços adobe indesign günstig office 2010 priser windows xp professional preços windows xp professional completo download windows xp kaufen saturn preço windows 7 home premium photoshop elements 8 günstig visual studio kaufen windows 2008 server kaufen frontpage 2003 preis guitar pro 5 preis pris photoshop cs4 preis autocad 2010 visual studio 2008 preço microsoft office 2007 köpa quarkxpress 8 vollversion windows 7 completo br windows 7 preços brasil quarkxpress vollversion preço windows 7 oem dreamweaver priser access 2007 vollversion cs3 photoshop preis sql server preço microsoft office 2003 günstig windows 7 download completo final comprar windows 7 enterprise preis inventor photoshop adobe preis adobe cs4 download deutsch adobe acrobat preis excel 2003 download deutsch vmware workstation kaufen köp adobe photoshop cs4 sound forge 9 download completo portugues preis indesign cs4 microsoft word 2007 download svenska autodesk maya kaufen office 2007 billigt windows xp sp3 kaufen photoshop cs4 download completo portugues adobe illustrator cs4 preis ms money kaufen final cut express 4 kaufen word 2007 pris pris windows xp cs4 pris nero preise nero vollversion download pris adobe photoshop photoshop elements 6 kaufen sound forge 9 download completo windows vista kaufen student mathworks preisliste office 2010 vollversion download autodesk inventor preis windows 7 download portugues completo windows 7 premium preço 3ds max 2010 kaufen photoshop download deutsche version after effects pris norton ghost preisvergleich photoshop elements günstig nero vollversion chip preço windows 7 no brasil nero preço adobe fireworks preis adobe elements 8 preisvergleich nero 9 vollversion preis köpa windows xp professional solidworks 2009 preis cs4 photoshop pris preis dragon naturallyspeaking 10 professional norton ghost download portugues flash cs4 download deutsch photoshop vollversion kaufen dreamweaver download portugues preço sql server comprar 3ds max 2010 visual studio 2008 download deutsch cubase 4 pris photoshop prisma windows datacenter preis windows xp kaufen media markt adobe acrobat vollversion download nero 9 billiger office 2010 preços windows xp download completo iso excel 2007 günstig microsoft visio 2003 preis pris autocad microsoft office 2010 kaufen adobe photoshop cs4 preis cubase 5 preis visual studio preço adobe lightroom preis nero download portugues köpa microsoft office 2003 pris indesign microsoft office 2007 download completo portugues corel draw x4 preise sony vegas 9 vollversion photoshop kaufen venda windows vista windows 7 ultimate download portugues 64 bits autocad architecture 2009 preis kaspersky internet security 2010 download deutsch download completo photoshop autocad 2010 kaufen acrobat 9 pro preis cubase vollversion after effects günstig 3ds max pris photoshop köpa comprar windows 7 pela internet windows xp professional sp3 download portugues preço sql server 2005 maya completo download windows seven download completo windows xp professional günstig sony vegas vollversion adobe cs3 kaufen autocad mechanical preis autocad 2009 preise preço adobe photoshop cs4 microsoft office 2003 vollversion adobe premiere pro pris adobe photoshop download portugues köp windows xp online preço autocad 2007 adobe flash cs3 kaufen köp windows vista matlab kaufen illustrator cs4 completo download comprar nero 9 original norton 360 kaufen microsoft visio kaufen köpa photoshop elements adobe illustrator cs3 vollversion windows xp vollversion download mathcad download deutsch 3ds max completo download word 2003 preis köpa powerpoint photoshop billig kaufen photoshop elements 6 pris maya preço photoshop cs4 kaufen köpa windows 7 download preço windows xp original nero 9 completo de graça adobe photoshop cs4 kaufen adobe premiere pro cs4 preis pris office 2007 standard adobe dreamweaver cs4 download portugues adobe acrobat 9 vollversion illustrator download portugues adobe photoshop cs4 download completo adobe elements 8 pris sql server 2008 preise maya preisig microsoft excel 2003 kaufen compre windows 7 ultimate solidworks 2009 kaufen adobe premiere elements 8 preis outlook pris photoshop download portugues cs4 photoshop cs4 vollversion download köpa windows 7 nyckel microsoft office download deutsch windows vista home premium preço photoshop cs4 preços sony vegas preis autocad completo portugues adobe photoshop cs4 pris adobe indesign cs4 pris autocad architecture kaufen preço windows vista home premium comprar photoshop original cubase sx3 pris photoshop completo para download windows vista ultimate vollversion indesign preisvergleich after effects vollversion download inventor kaufen kaspersky internet security 2010 vollversion pris inventor comprar office 2007 enterprise microsoft office 2003 kauf microsoft outlook download portugues pinnacle studio 12 vollversion comprar matlab office 2003 günstig 3ds max 2009 kaufen windows xp preços windows vista completo download photoshop download completo visual studio 2008 preise photoshop download swedish photoshop download completo em portugues windows seven completo portugues adobe indesign cs4 vollversion visual studio pris adobe audition vollversion download pris acrobat 3ds max download deutsch microsoft access günstig preis microsoft office 2010 lightroom 2 günstig microsoft works vollversion download corel draw x4 download portugues baixaki microsoft project 2007 preis köpa illustrator adobe audition vollversion corel draw x4 completo em portugues windows xp professional sp3 kaufen dragon naturally speaking 10 kaufen norton ghost 15 preis matlab download portugues preis word 2007 pris frontpage autodesk maya preise preisvergleich autocad 2010 word 2003 vollversion lightroom 2 preis office 2007 pris microsoft office download svenska preis windows 2008 server lightroom comprar adobe cs4 kaufen autodesk inventor professional preis preis maya 2010 adobe photoshop cs3 preis word 2007 preis adobe cs4 billig after effects preis autosketch kaufen corel draw x4 download portugues completo comprar windows xp professional sp3 vmware workstation 7 download deutsch frontpage download deutsch nero günstig kaufen windows 7 billig student photoshop kaufpreis solidworks pris pinnacle studio 12 preisvergleich köp visual studio 2010 windows 7 pris uppgradering norton 360 3.0 preisvergleich microsoft office 2010 download completo pris sql server 2008 microsoft office billigt nero 9 download completo blog cubase download completo adobe photoshop günstig kaufen adobe cs4 preisvergleich illustrator cs4 preis cubase 5 vollversion comprar autocad 2007 illustrator vollversion download nero 9 completo download illustrator kaufen adobe premiere pro cs4 kaufen kaspersky internet security 2010 billig windows xp billiger windows xp professional günstig kaufen preis powerpoint comprar windows 7 pirata preis autocad lt microsoft office 2007 download portugues completo corel draw günstig kaufen comprar outlook 2007 online windows vista business kaufen windows seven download portugues windows 7 home premium pris pris outlook windows xp download portugues completo powerpoint vollversion downloaden pris adobe lightroom office 2010 preço köpa windows 7 online köp outlook visual studio 2008 download portugues corel draw kaufen köpa windows 7 ultimate pcanywhere preis preço corel draw x3

Google’s SEO Score

Google has looked into their own sites’ search engine optimization and found they had a few problems.

The timing is kind of ironic. The past week or so a friend of mine, whom I helped build a very popular web site among Primitive Baptists, started a blog and wanted to know some SEO tips. I told him the basics and things I had tried to do with his site. Google’s SEO report card would have been handy.  They also have an SEO Starter Guide, which will undoubtedly be helpful in the future. From a quick glance at the Guide, I have been doing some things right. This web site may not be that great at the moment, but it’s always under construction. :)

Posted in Blog. Tagged with , .

Clay’s Progress

Clay Framework had taken a back seat for a little over a month, but things were moving again this past week. Unfortunately, this next week is going to be a no-go for development. I hope to get back into it hard next weekend and try to get an alpha release out around the first half of March. I call it alpha, but I measure by completeness, not stability. I’ve been hammering out a lot of little bugs lately and adding some new features along the way.

I’ve always been one of those guys that tests the crap out of everything and never felt the need for exception handling. I always use if(empty()), if(!file_exists()), etc to keep the flow and sanity, but just never understood the need for try{}catch(){}. That, my friends, has changed. While dancing with a couple of bugs this week, I almost gave up and scrapped the entire project. It was ridiculous. One little return false at the bottom of a file, 3 directories up, was keeping my app from loading and I couldn’t figure it out. It took 3 days of dancing before I realized my appended prefix of .pbp, which should have been .php, was causing my import function to fail. It took me 3 days, because my import function didn’t tell me it failed, it just returned false and everything else kept going. Live and learn…

Clay Framework now has exception handling. I’m using the built-in PHP Exceptions, but that is mostly because I don’t really see (yet, I’m sure) the need to reinvent exceptions. I had been using a redirect to an error application, which was pretty cool since it used custom error codes. With the Error app, you could register error codes from your application or API, and redirect to the error app when needed. Unfortunately, sometimes there’s a bug that prevents the error app from loading and then you are just stuck with a return false (or I was at least). The cool thing about my use of Exceptions is it uses a bit of redundancy, but doesn’t go overboard and Clay tries to keep going. That means instead of a single error message, you’ll have as much of the page as Clay could render, with whatever exceptions shown in their respective places. It’s made a big difference already and helped me knock out a few more bugs since I implemented it earlier.

That phantom I keep calling the Clay Installer is finally becoming somewhat of a ghost. The direction it took this week is way beyond what I planned to have in a pre-1.0 build, but I ran with it anyway. Initially, I was happy having packages that defined the configuration information and then the rest of the installer was a manual install tool (kind of like Zend Server’s administration). Basically, it made Clay like the typical frameworks (Zend, CakePHP, etc), where you have the framework and just build on it however you like, plus a simple install tool. While prepping the Installer, I ran across a bug, which turned out to be a pretty cool feature. I shined the bug up a bit, put a nice collar on him, and named him the package manager. Clay’s Installer went from Lincoln Logs to Legos. What I’ve done is used a custom initialization function (yup, Clay supports that) to allow the Installer to load packages as if they are applications. Whereas before you’d name the package in the Installer, now you create a namespace for a web site, then assign a package to that namespace. Each package is it’s own installer, so Clay’s Installer is just there to lend a hand once a package is selected. The cool thing is the packages are loaded inside the Installer and are theme-able. So they can be branded and have that independent feel, but still fall back on the Installer for whatever they need. To take up the slack and preserve it’s previous manual installation feature, I’ve created a package named Custom that will allow you to “build” custom installations. I said “build” because it doesn’t really build yet, but a planned future improvement is to allow you to clone your custom package and actually build new packages.

Other than that, I updated the Installer’s ctx-1 theme with some CSS3 and just tidied up here and there in the APIs. Things look a lot better than a week ago, but I need to step it up some more. I want to have the ClayCMS package available when I release the first alpha, but I can’t make any promises there yet.

March 12, 2010 is the release date. Whatever isn’t finished by then will have to wait until the next release.

Posted in Blog. Tagged with , , , , .

Fixing the numeric keypad in Ubuntu

I noticed a couple of months ago my keyboard’s keypad stopped working. I assumed it was just something that was broken in a patch and the next patch would probably fix it. After dealing with the top number keys for the last couple of months (including doing my taxes), I decided to just Google it. As is normally the case, there’s an easy fix.

System > Preferences > Keyboard; Mouse Keys Tab; uncheck “Pointer can be controlled using keypad”

Here’s where Google led me to find that out, along with the references to the bug reports regarding the issue.

Posted in Blog. Tagged with , , .

A PHP Framework for the 2010’s: Part 2

This installment of the 10’s Series is about enhanced GUI features. I think the two items I’m going to discuss are possible now in most frameworks and that is why I don’t think they are far-fetched. In some ways I feel we are nearing the home stretch of Web 2.0 and approaching whatever they call it next (2.5?). Web 2.0 has been about interaction and using the browser as a platform for applications, moving the web closer to the desktop. It’s meant other things as well, but I think the summation covers a lot of 2.0.The advent of Chrome OS (as well the platforms that inspired it) and the push for HTML 5 are shoving us ahead into the next.

Web OS / Web Desktop /etc.

There are lots of Web OS’ in the wild today, EyeOS is probably the most notable one. Web OS’ haven’t caught on as much as I thought they would a few years ago when I heard of them. I think we were waiting for the ‘Cloud’. I can see a web page styled as a desktop used several ways, but I think it is a logical step in the evolution of web interfaces. Imagine logging into your web site and having a desktop OS-like sitting in front of you. You have a desktop to save shortcuts to work or your favorite tools, you have a Start-like menu to navigate your site’s tools and features. You open your articles listing and a list of icons opens in a window on your desktop, each an article. You open your images or media folder and you see thumbnails instead of the old list of links. You minimize your images folder, which is now a tab on your taskbar, and open a new article. You type it up, drag an image into it from your images folder and save it. You then open your web site in a new tab or in a browser window on your web desktop and see the article on your home page.

A web desktop as an administrative interface to a web site seems like an intuitive way to manage a web site. It not only makes managing a web site more familiar, but it also opens it up to a whole new set of capabilities. I can also see the desktop being useful on the user side of a web site. A lot of people may think this seems silly and just a fad, but when I said, a few years ago, Google would be building a web-based operating system, they thought it was silly as well. Now Chrome OS is coming up quickly and it uses AppEngine, a web-based application platform. Here, I’ll do it again, Facebook will be building a web desktop. The PHP frameworks that hit it big in the 2010’s will have capabilities to launch web desktops and the apps to use on them.

Web IDE

I’ve been grappling with this one for a while now. We have 3 client computers in my house and I spend almost equal amounts of time on 2 of them. I try to use them both for development, using Eclipse and SVN, but something seems to always go wrong or I forget to update my repo. I have found tools like PHPAnywhere, but I don’t want my development code on someone’s server. What I want is an IDE, like Eclipse, built into my web site. I doubt I’m the only person that thinks an IDE built into a framework (or at least on top of the framework) would be useful and a huge boost in project development efficiency. Implemented effectively, a web IDE could virtually replace conventional version control tools. At the very least, an IDE could supplement version control enough to ease the headaches that come from managing repositories for large projects.

To wrap it up so far, a 2010’s framework should have:

  • Powerful template system for the web designer (1)
  • Dynamic “Core” (1)
  • Flexible low-level configuration (1)
  • Web-based Desktop
  • Web-based Integrated Development Environment

To be continued…

Posted in Blog. Tagged with , , , , .

A PHP Framework for the 2010’s: Part 1

There are many different types of PHP frameworks today, most of them are based on a few key concepts and then move in their own direction from there. Before I really get started, let me first say that the title of this series is misleading; there isn’t going to be a single perfect framework to get us through the 2010’s. This series is mainly on key concepts that may or may not be implemented in various frameworks, although I have yet to see a single framework implement them all. We will also bend the line between a framework and a content management system.

The first concept we’ll be discussing is the Model-View-Controller (MVC) architectural pattern used by the majority of frameworks today. While it is a time-tested concept, it is not without its flaws. I started out as a web developer before I ever learned any scripting languages. Because of my background as a designer, I always preferred a system that favored the designer as much as the programmer. Most occurrences of the MVC pattern make it difficult for the designer to take full control over the presentation of the web site, whether it is overriding a view or breaking the view into separate views. For that reason I prefer a theme-driven pattern, where a central template layer acts as the controller of the MVC pattern and regulates what is displayed.

In Xaraya the central template layer is the Themes module’s page template, which designates which other modules are to be displayed for a given URI (more or less, BlockLayout is a little more complicated than that). In Clay, the template engine is an API class, which takes the URI (whether it is configured or URL driven) and loads the central template layer. Like Xaraya, the central template layer (called the page template), provides the overall presentation of the web page and calls applications to provide data to fill in the page. I may be mistaken, but as someone that tries to follow patterns literally, I find it difficult to implement a theme-driven pattern originating from the classic MVC pattern. (Note: I have since learned how to implement a theme pattern within the MVC pattern, but it feels like a work-around at best.)

The next concept I’d like to mention is the use of core components in frameworks. Most frameworks have a set of components which it can not function without, most often named the ‘Core’. This use of a core originates from the need of CMS’ to have a set of functions to make rules for the overall system. More often than not, the core becomes bloated and the end-developer normally ends up with a ton of extra functionality becoming available, with or without their knowledge of it being loaded. The bloated cores of various frameworks are one of the reasons I began working on Clay.

Clay Framework  doesn’t have a ‘Core’, it only loads what is needed to display the current page. If you say it has to have a core, then fine with me, its core is a single class that allows you to specify the application and template engines, while providing functions to dynamically load any APIs needed by your applications or templates. Clay’s weight grows as you need it, but is never larger than it has to be. I borrowed the architecture from the way an operating system (a decent one) uses libraries to support applications or services, but doesn’t load them automatically without a need to load them. Clay isn’t self-aware, it just loads what you tell it you need and gives it you.

Finally, for Part 1 at least, I would like to mention low-level configuration. Most frameworks have a single configuration method, which provides the system with the information it needs to operate. Some frameworks have no, or very little, required configuration. Xaraya, for instance, includes a config.php file which provides all of its low-level configuration data, such as database connectivity and basic settings. Clay’s ‘Core’, if you insist, takes an array or specified configuration name and initializes based on that data. If you give it an array, you give that configuration a name, which means you can override parts of a named configuration by sending an array specifying the same name.

Clay’s low-level configuration provides default behavior for a page load, such as what theme to use, which application should be loaded (if not otherwise specified), the directory structure, etc. The name of the configuration tells ClayDB (Clay’s database abstraction layer) where to look for database connectivity information, if no database connection is ever requested, Clay will run without it. What all of this means is you can run a server’s load of web sites, each as dependent or independent of one another as you need, from a single Clay file set. Point all of your domains to a single Clay root directory and let your bootstrap file specify what configuration names go with that URL. Most frameworks do seem to be capable of running more than one site from the same file set, as do many CMS’.

To wrap it up so far, a 2010’s framework should have:

  • Powerful template system for the web designer
  • Dynamic “Core”
  • Flexible low-level configuratio

To be continued…

Posted in Blog. Tagged with , , .

Clay Status Update

I had hoped to have released a Clay alpha by now, but time seems to never be on my side. I, also,  keep finding better ways to do some of the, even simple, things that make Clay work. I have been slowly moving forward. I have the week of Christmas off from work so I plan to make a little extra time for development in between spending the extra time with my family. I think, if time gets a little more on my side, we may have a late Christmas present coming around New Years’.

Posted in Blog. Tagged with .

Finally, a Google Wave invite

I haven’t had a lot of time to try it out, because I just received the invite, but I finally got it :)    Doesn’t look all that impressive on the surface, but maybe that’s because I need more friends on there. If you want an invite (I have 8 left), comment or send me an email.

Maybe I’ll ave more time this weekend to give it a spin.

Posted in Blog. Tagged with , .

What I’ve Said All Along…

Interesting article on Forbes.com about climate change.

Posted in Blog. Tagged with , .

Alabama vs Texas for the BCS National Championship

I don’t like the BCS, even as an Alabama fan. I don’t know of many people that think a top 8 playoff wouldn’t be better. The season wouldn’t last any longer and there would finally be an undisputed champion. Cincinnati, overall no. 3 in the poll, actually beat Texas in the computer rankings (.9300 to .9200), but was voted 4th in the human polls. TCU, which has the most outspoken fans this year, took the no. 3 spot in the human polls and no. 4th overall. All 4 teams are undefeated, along with Boise State with came in 5th behind the 1-loss Florida Gators.

Round 1 of the playoffs would have been:

Alabama (1) vs Ohio State (8)

Texas (2) vs Oregon (7)

Cincinnati (3) vs Boise State (6)

TCU (4) vs Florida (5)

No one knows what round 2 would look like…other than a step closer to a single undefeated national champion.

Posted in Blog. Tagged with , , .

2009 SEC Champions: Alabama!

Alabama 32 – Florida 13

ROLL TIDE ROLL!!!

Posted in Blog. Tagged with , , , , .


Copyright 2001-2009 David Dyess II.

Disclaimer: Content posted or published by users of this site belongs to the user and is not attributed to the owner.