Nov 25

So I’m studying up new ways to re-use my code (instead of having to re-write it), and quickly falling in love with the MVC (Model View Controller). It’s basically a way of developing applications that includes multiple tiers for separating the logic/rules code from the presentation code. It’s basically cleaner and more organized that way. Since my first exposure to this was Smarty for PHP ( coworkers Brent and Ellen introduced me to them, thanks!) I have kept it in the PHP family and am totally digging frameworks CakePHP and Symfony.

While I’m studying up on my .NET stuff (I’ve still got a secret love affair w/ Namespaces!), I’m tempted to explore Ruby. I went to a Ruby Hoedown a few months ago and everybody was going crazy over rules engines ruleby, communications apps built with asterisk and best practices in general.  I guess you could call me a late bloomer when it comes to making the switch. If the idea behind Ruby on Rails (the popular Ruby MVC) is to prevent bottle-necking the app with “spaghetti-code”. Why couldn’t a PHP MVC serve the same purpose? I’m not one for re-inventing the wheel. Somehow, I keep getting the idea that the Ruby programmers think that PHP programmers do the majority of their work in their Mom’s basement and write sloppy code. Again, maybe I’m just not seeing the other side of the totem pole. If Ruby is truly a more stand-alone and robust language, I probably would do well to give it a shot. Does anyone else have some experiences to share about either? I’m interested in hearing your thoughts…

bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark

Nov 6

I pulled this from tuxmagazine, and totally lurve it. Makes me wonder why my other car is a dodge stratus.. heheh.


Top 10 Reasons to Switch to Linux


1. It Doesn’t Crash

Linux has been time-proven to be a reliable operating system. Although the desktop is not a new place for Linux, most Linux-based systems have been used as servers and embedded systems. High-visibility Web sites such as Google use Linux-based systems, but you also can find Linux inside the TiVo set-top box in many livingrooms.

Linux has proved to be so reliable and secure that it is commonly found in dedicated firewall and router systems used by high-profile companies to secure their networks. For more than ten years, it has not been uncommon for Linux systems to run for months or years without needing a single reboot.

2. Viruses Are Few and Far Between

Although it is possible to create a virus to target Linux systems, the design of the system itself makes it very difficult to become infected. A single user could cause local damage to his or her files by running a virus on his or her system; however, this would be an isolated instance rather than something could spread out of control.

In addition, virtually all Linux vendors offer free on-line security updates. The general philosophy of the Linux community has been to address possible security issues before they become a problem rather than hoping the susceptibility will go unnoticed.

3. Virtually Hardware-Independent

Linux was designed and written to be easily portable to different hardware. For the desktop user, this means that Linux has been and likely always will be the first operating system to take advantage of advances in hardware technology such as AMD’s 64-bit processor chips.

4. Freedom of Choice

Linux offers freedom of choice as far as which manufacturer you purchase the software from as well as which application programs you wish to use. Being able to pick the manufacturer means you have a real choice as far as type of support you receive. Being open-source software, new manufacturers can enter the market to address customer needs.

Choice of application programs means that you can select the tools that best address your needs. For example, three popular word processors are available. All three are free and interoperate with Microsoft Word, but each offers unique advantages and disadvantages. The same is true of Web browsers.

5. Standards

Linux itself and many common applications follow open standards. This means an update on one system will not make other systems obsolete.

6. Applications, Applications, Applications

Each Linux distribution comes with hundreds and possibly thousands of application programs included. This alone can save you thousands of dollars for each desktop system you configure. Although this is a very small subset, consider that the OpenOffice.org office suite is included as well as the GIMP, a program similar to (and many people say more capable than Adobe Photoshop); Scribus, a document layout program similar to Quark Xpress; Evolution, an e-mail system equivalent to Microsoft’s Outlook Express; and hundreds more.

For the more technically inclined, development tools, such as compilers for the C, C++, Ada, Fortran, Pascal and other languages, are included as well as Perl, PHP and Python interpreters. Editors and versioning tools also are included in this category.

Whether you are looking for Instant Messaging clients, backup tools or Web site development packages, they likely are all included within your base Linux distribution.

7. Interoperability

More and more computers are being connected to networks. No system would be complete if it did not include tools to allow it to interoperate with computers running other operating systems. Once again, Linux is very strong in this area.

Linux includes Samba, software that allows Linux to act as a client on a Microsoft Windows-based network. In fact, Samba includes server facilities such that you could run a Linux system as the server for a group of Linux and Windows-based client systems.

In addition, Linux includes software to network with Apple networks and Novell’s Netware. NFS, the networking technology developed on UNIX systems also is included.

8. It’s a Community Relationship, Not a Customer Relationship

Other operating systems are the products of single vendors. Linux, on the other hand, is openly developed, and this technology is shared among vendors. This means you become part of a community rather than a customer of a single manufacturer. Also, the supplier community easily can adjust to the needs of various user communities rather than spouting a “one size fits all” philosophy.

This means you can select a Linux vendor that appears to best address your needs and feel confident that you could switch vendors at a later time without losing your investment–both in terms of costs and learning.

9. It’s Not How Big Your Processor Is…

Because of a combination of the internal design of Linux and development contributions from a diverse community, Linux tends to be more frugal in the use of computer resources. This may manifest itself in a single desktop system running faster with Linux than with another operating system, but the advantages go far beyond that. It is possible, for example, to configure a single Linux system to act as a terminal server and then use outdated hardware as what are called thin clients.

This server/thin client configuration makes it possible for older, less powerful hardware to share the resources of a single powerful system thus extending the life of older machines.

10. Linux Is Configurable

Linux is a true multi-user operating system. Each user can have his or her own individual configuration all on one computer. This includes the look of the desktop, what icons are displayed, what programs are started automatically when the user logs in and even what language the desktop is in.

bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark

Nov 6

I said I would never blog about the really controversial topics here, but I really felt led to write this after  observing the reactions of a few of my friends after Election 2008.

It doesn’t bother me that Senator Obama is black, or that he never fought in a war, or that he associated with a radical minister or activist. I don’t have a reason to hate him. Just because I have voted for republicans does not make me intolerant of other people–I am not a bigot.

In addition, I become frustrated with some of my Puritanistic friends who proclaim that Obama is ushering in an apocalyptic age, or that he’s a blasphemic figurehead. He’s a person just like you and I; He sometimes has feelings of pride and doubt.  While his political agendas and Ideals may be different than mine, he deserves the utmost respect if I am to be a servant, and more importantly, if he is my commander-in-chief.

Does this make sense to any of you? I’m not trying to sound as though I am more important than anyone, but that in all things, we will come together as a NATION under GOD. And though some would say he doesn’t stand for God, but against him–I don’t believe so.  Sometimes we forget that everything happens for a reason. It is not our place to decide what our heavenly father has purposed for us. Rather it is essential for each of us to take a stand for what is right, to do our duty to God and our Family, and to let our example be a witness to others.

“Submit yourselves for the Lord’s sake to every authority instituted among men: whether to the king, as the supreme authority, or to governors, who are sent by him to punish those who do wrong and to commend those who do right . For it is God’s will that by doing good you should silence the ignorant talk of foolish men”
~  I Peter 2:13

I voted for John McCain, and proudly so. I believe he embodies the spirit of Patriotism and Diligence that made our country strong, and am sad that more people did not get a chance to view him as I do. I am not happy that Senator Obama will be my next president, but in all things, I give thanks to God. His grace has extended to him just as it was extended to me, and his strength is made perfect through BOTH our weaknesses.

God expects us do follow our president, whether we want to or not. Let this be the true test of servanthood–that when leaders want our compliance (whether justly or unjustly), we do it to the glory of God, and not for ourselves. If you believe that God wants you to reject this president and his policies, then I cannot speak for him and you should follow his voice. But be careful that you are acting in love and wisdom, and not of your own accord. Pray for patience and tolerance, and that Senator Obama will make good decisions.

bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark

Oct 2

I remember the morning that America found out Tupac and Biggie Died. It was a sad day for alot of people. Sad not because of the senseless violence, but because two popular young men (who seemed close) had such a heartwrenching “falling out”. I guess one of them felt the other had to go.

So in web development, it’s a sad day for both Actionscript and JavaScript. There can be only one.

When It comes to standards, I’m a realist. If I know the guys up top are NOT recommending something in particular, you can bet your breeches that I’m not going spend all night writing try{ } catch{ } statements to make it “work”.

I’m also biased.

I’ve got to give them props for Actionscript 3.0, Flex and AIR–especially after acquiring “innovation” with Macromedia. And the apps just look. So. Damn. Cool. Actionscript may be clunky, but it has evolved into a dynamic and robust gateway to the much sought after RIA. Then there’s the matter of security. Since they own the media idea, they also own the media libraries. If I try to mess with the boombox, they will just take it to some other beach and start jamming out. That’s how they roll. Actionscript = 1.

On the other hand, having proprietary chunks of corn in their poop has its downsides. For one, By leaning towards Actionscript as the leader of rich web-apps, that means we are leaning towards a more structured and Adobe-Like web. I’m pretty sure the W3C is not gonna go for it. Will this company be around in the next 10 or 20 years? Who knows…I’m still waiting on them to upgrade my Flash player to 9.0.

JavaScript has had a re-kindling of sorts and rich API’s like YUI, MooTools, JQuery, Google and Facebook have added a few chips in the pile. I’ve gotta say they look NICE. Like a big Arby’s Roast Beef’n Cheddar sandwich. Integrating with DOM helps too. On Security, its lacking stuff in the XHR department. As soon as we can decide which browser everybody uses, we’ll be okay (even though we said that 16 years ago). JavaScript = 1.

All I know is that it can’t go on like this forever, and when one of them burns out, there’s gonna be a lot of cussing and people fighting like CNBC analysts over it. This is comparable to browser wars (1994-1996), except in the end, someone’s gonna have to go. Whoever it is, I hope I’m working for the other guy, if you know what i mean…

bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark

Aug 13

I just installed Jott on my brand new iPhone and it works supercalifragilisticexpialidociously. You guys can be expecting some more updates, so keep reading along and have a wonderful day. listen

Powered by Jott

bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark

Jul 25


You can do it! Just Persevere!

You can do it! Just Persevere!

I’m in my late twenties and have a lot of friends whom are settling down with families and working on professional degrees and some who are still working on what they want to do. There’s nothing wrong with ANY of these. To some degree, I still don’t know EXACTLY what I’m supposed to do. I have an idea, and I know what I don’t like to do, so this helps. What I have a disgust with is irking through life and never excelling at anything–just maintaining and serving as an eyesore for the general population. Nobody is perfect, and everyone makes mistakes–how you choose to react to them makes all the difference in the world. If you are complacent with your relationships, career, spiritual life, finances or emotions, they will be vague and you will be ultimately unsatisfied with your life. Here are a few tips you can use to get back on track with your life:

Exercise Regularly

There’s something that happens to our bodies when we exercise–promoting great cardiovascular health, getting rid of harmful toxins, replenishing our cells, organs and immune functions, Endorphins to make us feel great, etc. Besides the obvious health benefits, there are things that happen to our bodies when we get in shape–they LOOK better, and we know that they do, so we feel confident about ourselves. This self confidence could be the boost in going on a date with that hot girl/guy you’ve always wanted, blowing away a job interview or even speaking in public with ease. When we exercise we’re ready to take on the world!

Get school done first, then start a career

If you are already settled and have a job, a family and other responsibilities, there is absolutely NOTHING wrong with going to school–as long as you make room for those other responsibilities. It’s nasty when two people conceive a child, and both of them have to work/go to school during the day/night and the child is caught in the middle, only for the parents to discover what a great responsibility the child is. The same is true of a career. Think it through before taking action, if possible. Go back to school NOW, Get certified, get specialized before taking that job, and you’ll be glad you did later on. If you can’t go back to school, ask your supervisor about tuition reimbursement programs or any type of on the job training–anything to make you more marketable.

Balance your Checkbook

Your parents used to have to do this, before we had internet banking. Get some type of ledger, if you can still get ahold of one (they come with your checks, or you might have to ask the bank) and use it. It’s easy. Doing so after every transaction will teach you self-discipline, self-reliance and you’ll actually know where your money is going. There is something wrong with Internet Banking. It encourages laziness. You’ll feel better in general about your spending habits when you keep track of them-by manually balancing your transactions.

Develop relationships with real people

Today we live in an information age where it is easier to contact someone by email rather than telephone them. Some people prefer it as the standard means of communication because it allows them to keep a safe distance away from someone while talking “at” them rather than talking “to” them. This is unacceptable. In fact most of our kids are abandoning e-mail for a crude type of L33T-speak, as done in instant messaging. Have we gotten DUMBER? Nope, just really, really lazy. Here’s a challenge for us: Can we go one week without communicating via email, instant messaging or internet social ? That’s why we’re scared to death and so standoffish.  If we’re afraid of communicating face to face or by telephone, we should make an effort to make ourselves accountable to real people. Start by having a meetup, and use the internet to get off the internet!

Do, “something” don’t do “nothing”

For any of these things, you have the power to change yourself for the better. Go look in the mirror. You are the only person who cares most about getting a better job, going back to school, spending time with your spouse or family or getting organized in your finances. If you don’t do something about it, who on earth will? If you do nothing, you will turn around 10, 20 30 or 40 years later wishing you would have done something. What’s the difference between failing and succeeding? It’s simple really. Succeeding means you won because you knew how to win and didn’t learn anything. Failing means you lost and learned something about how to win next time, and the next time, and the next time, etc.




bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark

Jul 21

John’s Top 7 Open Source Software Sites

Are you breaking the bank on your commercial software costs? Tired of all the activation keys and hidden software service costs? Check out these directories of my favorite open source software applications–and save yourself lots of time and money.


Souceforge

You knew it was coming, eh? Still the best resource IMO. SourceForge is the global technology community’s hub for information exchange, open source software distribution and services, and goods for geeks all over the world. I’d recommend looking for projects here before anywhere else.

Freshmeat

contains thousands of applications, which are preferably released under an open source license, are meticulously cataloged in the freshmeat database, and links to new applications are added daily. Each entry provides a description of the software, links to download it and to obtain more information, and a history of the project’s releases, so readers can keep up-to-date on the latest developments. Highly Recommended!

Mohawke’s Best of the Best Free and Open Source Software Collection

This list contains hundreds of OSS for Windows, Mac Linux and Internet. Sortable by Title, description, license and type. Great section on games too, if you want to check them out.

Free and Open Source Software Directory (FLOSS/FOSS)

Nice directory of links with categories to match. Good OSS listings on ftp, e-Commerce, Security and CMS. I like this one especially because for the more popular results, they show you screenshots of the interfaces. If you don’t find what you’re looking for however, I’d try sourceforge as the list of their apps is kind of slim.

OSDir

contains thousands of developing open source projects! The directory website includes categorized links for platforms, a full-text search feature, user submission and news updates (requires free account creation) and ranking system for stable applications. Definitely go check this one out if you’re into new and developing projects.

Osalt

I freaking love this site! Apart from having a newsletter and great search features, they are committed to helping users find an open source alternative to their current commercial one. Find open source alternatives to your favorite commercial products. Browse through software categories and compare pros and cons of both commercial products as well as open source software.

Free Software Directory

This website is sponsored by the Free Software Foundation and proves to be a viable resource for all types of open source software and furthering the GNU cause. Please go read up on open source initiatives and check out their software list as well!

I enjoyed writing this article for you! for more like these, go visit my blog at the Web Guru Wannabe.

bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark

Jul 18


After scouring the web looking for tutorials on dreamweaver, I was very disappointed with the lack of content available to beginners on setting up their very own dynamic website in PHP.

PHP is growing and while the business community is devoted to mostly .NET and ASP, they are forgetting to make accommodations for this incredibly versatile programming interface

This tutorial is aimed at beginners who are looking to understand the basics of creating dynamic pages in PHP that talk to a MySQL database using Dreamweaver MX or Later. I have also decided to post the tutorial using Mac OSX, but will be prepared to answer any questions on the Windows platform setups as well. You will need the following software for this tutorial:

  1. Mac OSX 10.4.x Tiger or later
  2. Some type of Web-Server software, complete with PHP and MySQL configurations. I have chosen to use MAMP (For the newer users this stands for Mac, Apache, MySQL and PHP). You may download it here. The setup is relatively easy–if you are a Mac user, we will be building the website from a folder created by the MAMP installation called htdocs. If you are working Windows, I would suggest WAMP (Windows, Apache, MySQL and PHP). Some Linux distributions come equipped with a similar version, called LAMP.
  3. Dreamweaver MX or Later, installed on the host PC or Mac. I will be using screenshots from Dreamweaver CS3, but the application interface hasn’t changed that much since MX

Note: You may click on a picture thumbnail to enlarge it on your web browser

First things first. We’ll install MAMP and set up the website database before we use Dreamweaver to connect to it. Go download MAMP and go through the installation instructions for Mac. Once it’s installed, you’ll be able to access your local root folder from
/Applications/MAMP/htdoc

mamp-app-start.png

just start the application, it will probably want you to login to it with your username and password. Once you are logged in, it will start the MySQL service, the Apache Server and the Zend PHP Engine

click the “Start Servers” button, and then wait for the MAMP Start Page, which looks like this

mamp-start-page.png


Now that we have installed MAMP, the next step is to create the database that will be displaying our dynamic records of data on our website. From the MAMP start page, click phpMyAdmin to go to the administration page for your MySQL databases.
this is what it should look like. php-admin.png
for this exercise, we are going to create a new database user to talk to the database. Other tutorials will explain why it is important NOT to access database records with the default (AKA root) user, but they will be more informative and I encourage you to read up about it. For now, click the “Privileges” link.
On the privileges page, click the add new user link

add-new-user.png

This is the new user screen. Make sure to fill out all the appropriate info like so. The user name is used every time a connection is made (in this case, since we are running a database on our MAMP server, we can use “localhost” which is the name of the internal server that is running our PHP engine as well!).For the password, use “password” and confirm it in the field below.

user-credentials.png

Next, we’ll have to specify permissions for the user and give them the ability to do basic things in the database (i.e. add, delete, update records).Scroll down to the lower half of the new user screen to see a series of checkboxes.

For this exercise, we will cut some corners and just give them all permissions, so click the check all link to grant all permissions to the user

user-permissions.png

then click “go” to create your user.

create-user-final.png
After your new user has been created, you’ll see the web page refresh and show you the result in SQL code. Now you have a new user! Click on the home link (house button on the left) to go back to the main page.
new-user-confirm.png
On the phpMyAdmin homepage, enter in “test” as the name of a new database, then click the create button. As soon as you create a new MySQL database, you will be able to see the name of it followed by a number in parentheses of how many tables are in the particular database. Click on the name of the database on the left to start creating a table. create-new-database.png
Create a new table called “tblCustomer” and add 4 fields to the table. Then click the “Go” button to create the table.
create-tblcustomer.png
Here are the fields I used for this exercise, as well as their specific attributes.
  • custID - INT (type); AUTO-INCREMENT (extra) ;PRIMARY KEY (use the key radio button)
  • fname - VARCHAR(type); 50(length/values)
  • lname - VARCHAR(type); 50(length/values)
  • email - VARCHAR(type); 150(length/values)
tblcustomer-fields.png
After setting the fields’ properties for your table, click the “save” button to continue. After creating the table, you may see a confirmation screen that looks something like this.
tblcustomer-create-success.png
Congratulations! You are ready to start adding records now. To go to the next step, click on tblCustomer hyperlink on the left, to see your table’s structure. Once you can see your table fields, look at the top of the web page to a series of administrative “tabbed” links. We are going to insert a record to the table next, so this means clicking on the “insert” link to go to the next page.
On the record insertion page, you will see two blocks of form fields. We will focus on the set a the top, so fill in some dummy information into all of the fields except for the custID field. The reason we don’t want to add anything to custID is because we set an attribute called “AUTO-INCREMENT” upon creating the fields, which basically keeps the custID counting without our doing anything. For now, just fill in the fname, lname and email fields and then make sure the “ignore” checkbox over the second block of fields is checked, then click go.
fill-out-insert-record-form.png
After creating a record, it will once again show you the SQL command confirmation screen, that looks something like above. If you would like to insert additional records for this exercise, you may have as many as you wish, just repeat the same steps on inserting to do so.
insert-record-confirm.png
For this tutorial, I have added two more records for a total of 3 records in my tblCustomer (See pic to right for sample). Now that we’ve added a few customers to the database, we’re ready to get started in Dreamweaver in building the actual site!
browse-insert-confirm.png

As I mentioned before, I will be working with Dreamweaver CS3. No matter if you’re using the Dreamweaver MX, Dreamweaver 8 or Windows version, the elements should be the same with the panels and options. Go ahead and open the application now.

in order to build a new site in Dreamweaver, click on the site menu on the menu toolbar at the top and select “new site“.
This is the New Site Menu, or as I like to call it, the Site Definition Menu. Make sure the “basic” button or tab is pressed in, because it presents the site definition menu as a wizard or walk-through, for easy setup.
The first screen is asking you to name the site. I have named our site “My PHP Site” for this tutorial, which you may use if you’d like to.
site-def-pt-1.png
The purpose behind naming your site is so Dreamweaver can differentiate between sites. The second field is asking for the URL for our website. Because we are working with a web server that we’ve installed on our own computers, we’ll skip this part, so leave it blank. Click the “next” button to move on to step 2 of the Site Definition Wizard.
In step two, we are asked if we want to use a server technology. We will select PHP and MySQL and click the “next” button.
site-def-pt-2.png
In step 3, titled “Editing files” Dreamweaver would like to know how you intend to publish the files once they are saved to the site. Since we have installed our very own webserver (MAMP), our intention is to work on them entirely on our hard drive, so we will select the first option, “Edit and Test Locally“.
site-def-pt-3.png

Further down this screen, it will ask where on your computer you will want to store your files, give it the following path.

MacintoshHD:Applications:MAMP:htdocs

site-def-pt-3-path.png
This is what is called your document root, and is specific to your local computer. You are basically telling Dreamweaver which folder on your computer to save the files that you work on for this website. For some Mac users, your hard drive may not be called “Macintosh HD” so the correct path can be found by substituting the name of your HD at the beginning of the path, but dreamweaver should detect this anyways. For Windows users w