The Zibings Starts Here

17 November, 2008

Yverdon v0.2 - Looking Forward

For those of you who have been testing out Yverdon v0.1, I want to first say "thank you" for your time.  We've gotten some great feedback thanks to you and are doing our best to shape the system based off of your input.  We're aiming for a release early in December of v0.2, so I thought I'd give everyone a taste of the things v0.2 has in store.

Bug Fixes
Though I'm proud to say we've had a small number of bugs thus far, it would be a feat of unmatched fame if we had gotten through v0.1 without a few.  We're tackling all of the bugs we've encountered or been informed of, as well as fixing a few bad design choices with some of the core systems.  Everything will be backwards compatible with v0.1 just in case any of you have started using the framework seriously.

New Template Extension
Yverdon v0.2 will introduce improvements to the current dynamic template extension, as well as a new template extension called "static."  The static extension offers a more secure template parser for use with publicly editable templates.  We'll be sure to post a blogtorial on how to use it when the time comes.

More Database Accessibility
This release of Yverdon will expand upon our database engine selection.  We're including the old MySQL library as an option, plus one or two new engines that we'll save for release.  We also made sure to account for a bug in PHP's MySQLi library that would dump errors regardless of suppression.

New Utility Extensions
In order to show how versatile and effective the Yverdon system is, we're also piecing together some utility extensions (such as a FirePHP extension) to enable new capabilities for you, the developer.  I won't disclose a full list, but as usual we're working hard to make sure that the code is well thought out and efficient.

There will be other improvements, including additions to the web site and the introduction of a formal documentation.  I know I speak for everyone on the team when I say how excited we are to be getting close to this release.  Thanks for your patience with us as we build Yverdon into the robust framework it's bound to be and I look forward to more of your comments!

 

- Andy

Labels: , ,

02 November, 2008

N2F Yverdon v0.1 Released!

It's official!  The N2 Framework web site and the N2F Yverdon PHP framework have been released.  You can get to both of them by going to our website:

http://zibings.com/n2f/

Make sure you sign up on the forums too!

 

- Andy

Labels: , ,

01 November, 2008

The End of One Era, The Beginning of Another

Don't let the title fool you, I'm actually not about to embark on another journey down my twisted political mind.  Instead, I'd like to pay tribute to a piece of my development history that has served me dutifully over the past 4.5 years.  Most anyone who reads this blog will at least be familiar with the existence of ZSF, and some may even use it for their own purposes.  Regardless, tonight we celebrate all that it was and respectfully retire it into the software heavens.  (For anyone not following, this means that I'm not doing anymore work on ZSF, just to be clear)

Now that we have the emotional part of this out of the way, we'll get to the good news.  In lieu of the loss of ZSF, I have been working with some good friends and new colleagues to create 'ZSF Reincarnated', which we have called The N2 Framework.  The specifics of the plan for N2F are somewhat complicated, but for the moment we are working on one particular strain of the framework code named Yverdon.  Yverdon is the evolution of 4 and a half years of experience with ZSF bundled into one system.

Yverdon intends to be both simple and flexible for developers, on top of offering top performance and extremely low overhead.  The system is currently modular based, but is flexible enough to be overridden into most other popular patterns (including MVC).  Yverdon has been tested with PHP 5.2+ and should work with earlier versions of PHP 5.  Since the PHP group has been working to end it's work on PHP 4, we have opted to not make the framework PHP 4 compatible.  The system is currently being tested on both Windows and Linux environments to ensure that our code truly embraces PHP's cross-platform goodness.

Keep in mind that this is a very early release of the system.  Though we have worked hard to make the release functional, we can not guarantee that things will not change moving forward, nor can we assure you that there will not be bugs.  Our web site is in development and will provide easy ways to submit issues to the development team so that we can work them out.  We're looking forward to building a community around this framework and will rely on community feedback to shape the direction of the framework in the future, so don't be shy.

When the web site has been finished, I'll make sure to mention it at this blog.  Special thanks have to go to Chris, Matt, Patrick, Clemens and Javier for their various efforts towards this first release.  Working with each of them has been great so far and I think we're all looking forward to coaxing the true potential out of Yverdon in the months (and hopefully years) to come.

 

- Andy

Labels: , ,

26 July, 2008

ZSF Update

Last night a new update was made to ZSF. The update cleans a lot of bugs that were hanging around, and also begins working on some upgrades that will be important in the future.

enc_str()
One of the bigger changes was the introduction of a new function for creating hashed strings. The enc_str() function is documented within the code of ./conf/functions.inc.php. The previous function, encString(), will still work as expected, but is now considered to be deprecated.

ZSF_USR_LEGACY
As the PHP group stops work on PHP 4, more nad more sites written in 4 will finally be migrated to 5. Thankfully, ZSF is written to ensure as much consistency as possible during such a migration. The ZSF_USR_LEGACY setting fixes a problem that occurred when a PHP 4 ZSF was migrated to PHP 5 ZSF where the userHandler class' ability to inherit new methods was crippled due to a parameter change between the two versions. This setting is found within ./conf/config.inc.php as $system['usr_ver'].

config.inc.php and zsf.php
Another big change was the introduction of a new file, zsf.php. The contents of zsf.php are basically the same as the second half of config.inc.php, but the introduction of the file allows for configuration values only to be within config.inc.php. Along with this change, the index.php file for 'top level' directories was changed to be simpler.

Comments
Yet another big change has been the addition of standardized comments to the classes and functions within the system. This will help programs such as Zend Studio more accurately build their Intellisense library off of ZSF.

All in all, this was a huge update for ZSF. If you find bugs or have suggestions, please send them to our development list. We are holding off on the release of this until a quick site can be developed for hosting the system.

- Andy

Labels: ,

11 May, 2008

Tools For Shared Life

As most of you will know, I am currently living in an apartment with a longtime friend.  First and foremost, you should all know that it's going very well and he and I haven't had any big issues beyond how picky I am about he and his girlfriend keeping the kitchen clean.  He can't help that I'm neurotic sometimes, so I don't hold it against him in the long run.

Even so, I have been in living situations before where it would have been nice to be able to keep track of things like rent payments, grocery receipts and utility payments.  Those memories, and my newfound desire to get back into desktop application programming, have led me to decide I am going to create a set of tools that will help in keeping track of the aforementioned.  I have no specific roadmap or set of features that I've decided on, so suggestions would be welcomed.

As I get around to finishing the applications, I will release them here via my blog so that all may benefit from their existence.  I'm looking forward to working on these, I just hope that someone else can find them useful.

 

Andy

Labels: ,

26 January, 2008

More ZibNet Updates Coming!

We're quickly approaching our goal for initial release of ZibNet.  We'll be cutting it close depending on a few things and are intending on taking another week or two in order to do some solid security enhancements and testing...  But!  That does mean one good thing for all you beta testers.  We're going to be throwing out a few new features over the course of the next week and will be ready for major testing.  There are three big features slated to come out this week that are all comfortably on schedule.  Also, we'll be seeing our new design come out in short order as well.

Hope you all are looking forward to this as much as I am!

 

- Andy

Labels: , , ,

15 November, 2007

Thanksgiving Week

I'll be spending the next week up with my family in New England.  As a result, most of the rest of the team will be taking off for the next week as well (I guess this just goes to show how much of a slave driver I really am).  We'll resume the following week and have a good solid stream of updates coming through from that point on.  Till then, Happy Thanksgiving!

 

- Andy

Labels: , ,

08 October, 2007

What A Week...End...

So what started as a small idea for a side project between z|Casey and myself has turned into one heck of a plethora of changes.  I'll go straight into the breakdown.

The Zibings Network
This was meant to be the side project.  We were going to create a new site for the Zibings Network, one that allowed us to provide a good centralized location for registering with the network, logging into the network as well as getting general information about the network.

What happened instead, was the birth of a whole slew of upgrades to the network infrastructure.  While doing the upgrades (which include things such as friends lists and private messaging), I was faced with the necessity of having to change the way ZSF worked.  And that is why, the second part of this is...

The Zibings Site Framework
Yep!  And as with the ZibNet updates, this one started out small as well.  I just needed to add one capability to one section of the framework.  In adding that functionality though, I realized that just throwing the feature in its place wouldn't do much good in the end to help the framework grow.

After a few hours, I'd completely rewritten the framework, and we now have a few bug fixes thrown in as well as a new event system (that was the feature I needed).

 

Either way, its been a lot of programming, and this forces us to do some major updates to ZTC soon as well, so keep an eye out for that.  We're flying around like little bees as usual, this time just a few more fun things are on the way for you the user.

 

- Andy

Labels: , , , , , ,

21 August, 2007

Quite A Few Updates

Alright, so its been -quite- a long time since we've last spoken.  I won't apologize for it as the reason I've been so flaky with this blog is due to my excessive amounts of work towards adding features for little old you.

ZibTech Computers
A ton of work has gone into the ZTC web site, there's more details on that if you go to my news post.  What it comes down to, is that we've finally finished the inventory system and its in testing phases.  Once it leaves that, we'll be putting together things like our product listing and configuration.  Very exciting stuff!

Zibings Network
The Zibings Network updates really come in the form of two things.  First and foremost, we've sorted out a ton of bugs in the connection code and are now testing it on the ZTC site.  So far, its been running almost flawlessly, so we're happy.  Secondly, we've begun recoding ZibNetBot, which you all know and love.  He'll be redone in PHP and run as a Windows Service on our dedicated server, and from what we've done so far I can honestly say I'm looking forward to getting it done and seeing him in action.

Zibings Technologies
With the addition of someone to the Zibings Incorporated team, some new life has been breathed into Zibings Technologies, or as it was once named...Zibings.com Web Services.  I won't go into too much detail, as that would be giving away juicy secrets, but I will say that we're working on something useful for ourselves and for the company.  All of it is aimed at bringing something to life that should've been alive for years.

Epoch Gaming
Ahh, Epoch Gaming, my favorite little thing to forget about, how I do love thee!  For once, Epoch has taken a large step forward on a few fronts.  The web site has been resurrected and is being tweaked to work with the current version of ZSF.  Also, we're preparing to plug in the ZibNet connection code so that it works properly with the network.  Add onto that the fact that we've begun having development meetings for Forgotten War...for once I can gladly say that we haven't forgotten about good old Epoch.

Zibings Incorporated
We've recently added a new Director of Marketing.  Though his name is also Andrew, it is not the same person as me, which means the world to me.  He's already proving to be a very effective and motivated addition, so I think I speak for everyone when I say that his joining us is a welcome event.

 

That's about it for now.  I'm still out campaigning of sorts for Ron Paul, but its been hard to get much done with all the work being done on Zibings.  I'll make another entry when I can, and maybe someday I'll be caught up enough that I can fulfill my dream of blogging on a daily basis.  Until then...take it easy!

 

Andy

Labels: , , , , , , ,

01 July, 2007

Return Of An Old Friend

Well not really, but when you have as little of a life as I do, it certainly feels like something so intangible as an IRC bot is an old friend.

After a long and painful absence, I've finally taken a few hours and patched together our friend ZibNetBot so that he can come keep track of how chatty we are.  I'll soon be adding an MSN search option, WhatPulse stat viewer, trivia game and quote database to him, but I can only do so much in one night.  Stop on by and give him a scratch behind the ears, he does so love that...

 

Andy

Labels: ,

29 June, 2007

Into The Future

For those few of you who've been watching my blog, you'll no doubt have noticed a recent lack in posting.  I haven't disappeared or given up on my blog, quite to the contrary in fact.  I'm considering moving away from blogger in the near future, but for now I'll just be moving the blog to being a part of a greater site for myself.

The site will serve to outline a few of my personal interests as well as be a bit of a portfolio for myself and some of my friends.  I'll still have a blog, and for the time being at least it'll still be based with Blogger, but the eventual idea would be to move over to a new system based on my Zibings Network.  It'll be quite an undertaking, but therefore fun for me and hopefully fun for you.  I'll keep you updated when I start making progress with it!

- Andy

PS - For those of you waiting for my post about my vacation, I'll be waiting a bit longer to do it.  I want to see if I can shoot off an quick version of a new site with it in it as opposed to just making some kind of strange blog post with pictures riddled throughout it.  If it will take too long, I'll just post them on here, no worries!

PSS - I also intend on revisiting my PHP tutorial on STH soon, but have to finish a few other projects within the company before that's really possible.

Labels: , ,

14 May, 2007

ZSF Standardization

The Zibings Development Team has been working pretty hard on the ZibTech sites recently, which all use the Zibings Site Framework (v1.3.3). Through their work, I've been told that there is a pretty serious need for some standardization for the way we work with the ZSF system. It was something on our agenda for ZSF 2, but there's no time like the present to start shoring up holes in our process I always say!

The following blog post will be a bit involved and requires you to have a good working knowledge of the ZSF system, but for those who do it should be a good help for defining the best methods of using each part of the system. Off we go..

Definitions
ZSF - Zibings Site Framework
TPL - Template
User Space - Code done inside of the usr.cnf files
Page Space - Code done elsewhere, but not inside the TPLs
TPL Space - Code done inside the TPLs

User Space
The User Space (or usr.cnf files) is where your backend work should be done. As much database work as possible should be handled through function/method calls created inside this area of the code. This helps centralize where you have to go should you be having database problems of any kind. Should there be anything you want to be available to the entire of the system, this is also where it should be done.

Because of the way that ZSF is constructed, the User Space code is called up pretty quickly upon system initialization. The system will call every single usr.cnf file in the current scope, regardless of which module is actually being loaded.

Current Scope is defined by which section of ZSF 1 your user is currently viewing. There are two possible scopes, the first being global when anyone views the main index.php and modules through it. The second scope is admin scope, obviously when a priviledged user views the system modules through admin/index.php. Global scope will only pull all top-level usr.cnf files into the system at initialization, whereas the admin scope will load all top-level usr.cnf files as well as all admin-level usr.cnf files. This is an important thing to note as it can cause problems in your admin scope if you use redundant code in your admin-level and top-level usr.cnf files.

The best way to view the User Space is to pretend that it is where you create an API for the rest of your spaces. Try keeping as true to that as possible and you will get the most (and best) use of the User Space as ZSF can offer in its current state (v1.3.3 at time of writing).

Page Space
The Page Space is easily described as the rest of the code excepting our TPL files. In order to use the system effectively however, there are certain things that you should ensure do not find their way into your Page Space.

The Page Space is meant to be used as the intermediary between our User Space 'API' and the TPL files. Page Space should control which TPL files are being used/displayed, and provide them with information to help in their displaying of information. As I mentioned above, the User Space should take care of the majority of all database calls, if not all database calls. This makes it so that the Page Space does nothing but use the functions/methods offered by the User Space to do things such as validate user input and send that input to the database.

Even so, because the Page Space has to control the templates, often times the Page Space will end up much more expansive and confusing than the User Space. It is good (and suggested) that you seperate different page controls into different files which branch off from the modules' main index.php file. For example, lets pretend we have 3 pages to a module: Home, Page1 and Page2. The following would be a generally accepted file structure for the module directory:

myModule
myModule/index.php
myModule/inc/page1.inc.php
myModule/inc/page2.inc.php

All of the data handling for the 'Home' page is done inside of the index.php file. If the index.php file finds that it is dealing with either Page1 or Page2, it calls the appropriate .inc.php file and exits so that the .inc.php file can do everything for itself in regards to that specific page.

Remember that the Page Space, unlike the User Space, is only available when that particular module is being called, so if you need something to be available globally, it must go into the User Space, not the Page Space.

TPL Space
The final section, the TPL Space, is meant to be only for displaying data provided by the Page Space. Though the TPL system is really just a fancy way of doing PHP inside of a somewhat scope-limited file, the effect is just as good as any high-end high-overhead system out there, such as Smarty. The difference between our TPL Engine and that of Smarty's, is that ours requires us to use a bit of due diligence to ensure that the TPL Engine is used properly.

Your template should never have any kind of functionality thrown into it beyond a rare instance of seperating pages off of a variable-based token. The best thing to ask yourself when coding a TPL file is: "Does this really need to be done in order for my information to be displayed?" If you ask this question and are honest with yourself, you will end up with TPL files with little more than variable access and an occassional conditional loop inside of them. That is the desired makeup of the TPL Space, nothing but the work we do in order to display the data provided by the other two spaces.

Review
Let's go over this in review, just quickly.

The User Space is meant for globally accessed code API's which do things such as data validation and database interaction.

The Page Space is meant for module-specific code and is the bridge between the User Space and the TPL Space. This space provides all information from the User Space to the TPL Space so that it can be used there.

The TPL Space is meant to simply display the data provided from the Page Space (and ultimately the User Space). There should be very little code in this space.



I hope that this has helped someone out there. Any questions, as usual, can be commented here or over at STH, I troll both places on a regular basis.

- Andy

Labels:

11 April, 2007

ZSF v1.3.3 Released

I've spent a bit of time with my beloved ZSF (Zibings Site Framework) tonight and released v1.3.3 of it 'to the masses'. You can check out the post on Super Tech Help for details on how to download it and some basic information on what ZSF is. I'll probably make a post at some point to go over what my goals are with the project, its pretty close to my heart. Here's a brief changelog for those interested:

  • Imported entire tree into Subversion repository for versioned development

  • Secured source.php for Windows machines (haven't tested on a *nix machine yet, will do for 1.4)

  • Removed database 'script stoppers' so that script runs even if it can't connect to db

  • Removed database error echo()'s so that error messages are all pretty in default template

  • Modified and tested tpl_addVar() functions, tested OK but not sure if bug is fixed completely

  • Changed config file to have proper default TPL_DIR (D:\webRoot\zibings\public_html\siteSys)

  • Cleaned up a few files so they don't have blank tabs everywhere

  • Modified database classes to work independantly of each other (new resource link on connect)

  • Removed .tpl.cac files from cached directory (not necessary in repository)

  • Removed install.sql file (outdated)



- Andy

Labels: ,

09 April, 2007

Time Apart

Its a scary title, but in reality is something that isn't even remotely scary. In recent months I've been constantly trying to find ways to help myself 'stay fresh' on my various programming projects. One of my biggest downfalls has always been overzealousness, meaning of course that when starting a project I put so much time and effort into it that I just can't bear working on it after a while and I fall behind schedule after dashing ahead.

I've slowly been developing a method of working on projects by taking advantage of the realization that when I don't allow myself to concentrate too much on a single project through the use of other smaller projects, I rarely burn out on any of the projects and have a much better chance at staying on schedule (and sometimes even beating my schedule). I've begun to call this the 'Time Apart' method, as you can guess from the title.

Each day I seem to find new ways to take this method a bit further. I've started using a time tracker on my computer to track how much time I'm spending on each of my projects. This in conjunction with Base Camp (which my good friend Cassie introduced me to) are helping me keep my project-schedule a little bit more organized. It works for me, and who knows it might even work for you. ;)

- Andy

Labels: ,

07 April, 2007

Hiccup!

Its been far too long since my last update, but we've just been -that- busy with everything at Zibings Incorporated! I've been flying around updating things with the release of our first beta for the Zibings Network, not to mention the server work we've been doing.

Server Migration
That of course calls into question the server migration that never happened. We ended up waiting for far too long to get the server from the new provider, so we cut our losses and put the money into upgrading our current server. As a result there wasn't any downtime, though we are planning on adding another server again in the near future, I'll of course keep you posted.

ZTC Site Beta
Then there was ZTC, which has been another source of my busy-ness as of late. The inventory system is going much faster than I thought it would and will be into the testing phase soon with staff members. After we work out some kinks, we'll be piecing together some of the configurators using the 'live' inventory, so we'll need you all to go build fake computers using the site. Again I'll keep you posted when there's more information regarding the site.

Zibings.com
Along with the release of the first beta for ZibNet, we are trying to fly through and do minor skin and security updates on all of our sites. The first one in line for this was www.zibings.com and it is well into its makeover, hoping to be finished with it completely before the new week begins on Monday.

Zibings Network
As I said earlier, we're all buzzing about our 'Beta 1' release of the Zibings Network. What is the Zibings Network? The basic idea is to create a network of services/sites that will work together with unified logins and profiles so that you can organize yourself, collaborate with others, socialize, etc without having to keep track of 30 different websites and their respective logins. We're excited about it obviously, and we already have both ZTC and Epoch working off of the unified login system. We're working on creating a few more ways to integrate with the system so that we can continue adding new sites without needing months of modification/development, but its a work in progress (and is a beta after all).

ZibNet IRC
I felt this update deserved its own section, though it really belongs underneath the above 'Zibings Network' section since that's what it is part of. We have put the finishing touches on our IRC network for now, and you are invited to come join, bring your friends and chat to your heart's content. The easiest way of connecting is to use our IRC Connection Form and join up using the web-applet. However, should you be one of those IRC experts, you can connect using your favorite client to:

Normal: irc.zibings.net:6667
SSL Enabled: irc.zibings.net:+6670

Epoch Gaming
Haven't gotten to do an update on this bugger for a while, but we are happy to announce the return of Chris Butcher to the development team for Epoch Gaming. He will be in charge of system development for the site. Chris is very dedicated to the completion and ultimate success of Epoch, so I'm very excited to see his contributions.

That's all I have for now, I had thought of another post I'd wanted to put up a while ago and just haven't had time to type up, so maybe tomorrow I'll throw that up. Thanks for reading!

- Andy

Labels: , , , ,

19 March, 2007

Code Formatting

A recent discussion with a friend broached the subject of code formatting. This is one of those subjects where I truly believe no happy medium will ever be met between major parties. Some people like certain methods, and others just like the opposite. That's how its been for ages, merely a matter for personal preference and pointless debate. This point in no way intends to change that, but if you come off thinking my chosen formatting method is the way to go, I'm glad I could help you.

Before we get into this, let me make a statement about my personal views on the importance of formatting your code. When I teach people to code, I do what I can to stress over and over again that you must format your code. If you take the mere seconds of extra time it takes to ensure that your code is consistently tabbed, spaced, etc, those who might read your code in the future will forever love you.

Formatting A-La Andy
I will be outlining my formatting for PHP, the all-popular and fluffy web scripting language. The majority of the principles I use for my PHP code carry over to the other languages I use with little to no modification. If you have any questions, of course feel free to let me know.

The first big thing with my formatting style, is to use tabs. Use tabs, not tabs as spaces, and ensure that your tabs are 5 characters (spaces) in size.

Next you'll want to be sure that you always leave an empty line between your lines and the code that goes between them. Also, always begin your first level of code (where a level is defined as the top level of 'nested' code in your file) at a one tab indent:



With comments, I try to use only two different types in PHP, but will sometimes feel a little frisky and change it up slightly. For large comment blocks that are used as descriptions or copyright notices, etc, I use the C style comments /* */, and for single line comments I use the // style comments. I rarely use the # style comments because really they're just another way of doing the // comments, and who needs redundancy!



Another big part of my formatting style is grouping. I like to do my best to group code, meaning that if I'm setting some variables up that are related, I'll put them on lines directly after each other, but as soon as I am doing something different, I will add an empty line between the two parts so there is a clear definition of the workflow 'group'.

When dealing with parenthesis "( )", I space them out only in a few instances, mostly when several can be inside of others (most logical statements, such as if() and while()) or when it is a function declaration. Everywhere else (with very few exceptions), I squash the parenthesis against the characters they are enclosing, as well as the characters they originate from. The next example covers most of what I've just said...



You'll also notice, when making nested code, I use one tab per nest. Since I start out with all of my code 1 tab indented already, that means the first nest of code will be indented 2 tabs, the second 3 tabs...so on and so forth. Also, with logical operators I use brackets on the following line at the same indentation as the logical statement resides on, I think it makes matching up the brackets with their logical statement a lot easier.

Finally, I can't stress this enough...but you should NOT leave anything on empty lines. If there is a blank line, let it be blank instead of filled with tabs. It takes about 2 keystrokes to hit ctrl+home and then backspace, its not too much to ask when you're trying to be neat with your code.

Those are the basics of my methods, and I don't expect anyone (except those that are coding on my projects) to follow them. As stated earlier, if they help you, awesome and glad I could be of assistance. If they don't help you, sorry to have wasted your time. :p

- Andy

Labels:

17 March, 2007

To Become A Programmer

Every now and then someone asks me to teach them how to program. I'm happy to oblige most times, but many times I'll find the person getting frustrated a ways into the lessons for various reasons. One point that I probably don't make often enough (in the hopes of not discouraging people from trying to learn to program) is that there is a difference in becoming a programmer, and becoming a good programmer.

What's the difference you ask? Simply put, the difference between a programmer and a good programmer, is a state of mind. Some people consider me a good programmer, mostly from what I can tell due to the fact that I have a good working knowledge of quite a few programming languages. Though this is flattering, and I have worked hard to earn that knowledge, those people often overlook the more important reasons I strive towards which would make me a truly good programmer. Knowledge is only half of the battle with programming, the rest of the battle is using your intuition and logical thought processes to apply that knowledge.

Saying someone is a good programmer because they have the knowledge, is like saying a person is a good driver because they attend driver's education in school and got a good grade. For those of you blessed enough to not have had to deal with driver's education, it doesn't take much to do well in the class. You read a bit in some books provided by the state, you take some visual, audio, and written tests, and then you pass. I know that almost every driver around me that was born in the commonwealth of Pennsylvania has taken driver's education, and I also know that about 8 out of 10 of them are some of the worst drivers I've ever had the misfortune of being near while in my car.

I can teach you the knowledge for programming, but if you aren't able to think like a programmer, you won't be a good programmer, just as you more than likely would be a horrible driver if the only experience you ever got was a driver's education class. It takes time and energy to master the art, just as with driving. Buckle in and dedicate yourself to the task, you can be sure you have a good chance of becoming a great programmer.

Oh, and for those of you wondering, I consider myself to be going through about the 40th installment of the programming equivalent of driver's education, so I'll keep at it with you. ;)

- Andy

Labels:

14 March, 2007

ZSF v2.0

For a while now we've been running things off of the 1.x tree of the Zibings Site Framework. The 1.x tree has been good to ZSF as well, bringing with it a name change, a huge increase in stability, and of course the complete set of intended features that I set out to put in place from the start.

Now that we've reached that milestone, its time to start making the system a bit more professional. Sparked on by Chris Butcher, I've started laying out some plans for ZSF v2.0, and I'm asking for comments and suggestions from pretty much anyone and everyone I can think of. I want to improve a lot of the current features, streamline and optimize them, as well as add a lot of new features that can be turned on and off depending on your system's PHP configuration.

It should prove to be a challenging and fun project. I'm keeping track of everything over on the Super Tech Help forums so that they get a bit more reasons for traffic, you can check out the v2.0 planning thread by clicking here. Let me know if you've got any ideas!

- Andy

Labels: