Windows XP End of Life

winXP250Microsoft must feel strong enough about its 8.1 offering to end XP's life. In reality, and in all fairness to Microsoft, they support their operating systems around 12 years. In computer software that's a lifetime.

So the critical dates that are approaching in the next couple of weeks are, Microsoft will end extended support for XP Service Pack 3 on April 8, 2014. They will stop mainstream support of XP on April 14th.

That's it folks, gone, but before you panic, and run out to buy a new computer, let's take a closer look at the implications of stopping support.

First off, what Microsoft means by stopping support is that they will no longer provide automatic fixes, updates, or online technical assistance. That doesn't mean that the operating system will cease to function, or fail to operate as it does right now. So, don't panic.

Second, lets look at some statistics, thanks to W3Schools. As of January, the computers running Win8 were 13.4%, Win7 was 55.3%, Vista was 1.5%, NT was 0.3%, and XP was 11.0%. Just as an aside, Macs were 9.6%, Linux was 4.9%, and Mobile was 4%, just to let you know that the gorilla is still lurking in the woodpile.

Organizations have been accelerating leaving XP over the last couple of years as end-of-life is approaching. The government was the biggest change as they can not go without support. Support has clearly been the reason that the government and companies have moved to Windows 7 or higher.

Let's talk about one more aspect of end-of-life for XP. XP was first released in Oct, 2001. Service Pack 1 was released in Sept. 2002, added USB 2.0 support, and was mostly a bug fix. Service Pack 2 was released in April 2004, and added wi-fi support. Service Pack 2 made XP Pro the best operating system Microsoft ever released, and in my opinion still is. Then came a change in culture, Service Pack 3 was released in April 2008 five years ago. This is the first time Microsoft went back to its servers to check on licensing. Service Pack 2 was stand alone, not so with Service Pack 3. This was the start of Big Brother watching that still persists today. I personally have resisted going to Service Pack 3, because of this.

Just so you know, I am still running Windows XP at home, and have no reason to stop at the moment.  At work I run Windows 7, and I have a new laptop that runs Windows 8.1.

One Microsoft support vendors web site stated that customers who don't move away from XP face a 66% increase in malware attacks, and cybercriminals are expected to head into overdrive in trying to exploit vunerabilities.

What I'll say about that is Microsoft until recently with Windows 7 and above, has had a poor record of preventing viruses and malware attacks on its operating sytems. As a result, users have been conditioned to use firewalls, malware removal programs, and antivirus programs throughout XP's 12 year lifetime. Something that is not needed in Mac's and Linux, by the way.

If XP only has 11% of the operating systems, why would any cyber attacker want to waste their time on trying to write viruses for XP, I would think they would want to see if they could bug Windows 8, which would be much more fun.

The scare tactics are bulls&^t. I believe, Microsoft expects people to run out and buy new computers and upgrade their existing computers, and thus reap a revenue bonaza, as do the Microsoft support companies.

The reality is that your XP computers are fine, they're not going to stop working, nor will they suffer from malware attacks any more than Microsoft's other operating system. Besides if you're running XP, you already have protection in place, don't you.

Something to consider, if you have an XP cd and do not have a copy of SP2, or SP3, downloaded to your computer for safekeeping, I would do that in the next week or so, because there's a good chance that the downloads will go away. This will allow you to install XP on future computers that you build on your own, and if you do that, I recommend XP SP2.

There will be some additional repercushions that you may want to think about. Computer games and other applications will no longer show that XP is supported as a requirement to run their software. If the software installs on your XP system, it will probably run fine even if not supported. Just the same, I would make sure you have good copies of your favorite XP programs stored somewhere in case you need them in the future.

The conclusion I come to is the next time you buy a computer, you can upgrade to the latest Microsoft operating system then as part of your purchase, there's no rush.

Bye XP, I'll miss you. Time to move over to Linux Mint ;-).

Posted in Windows | Leave a comment

Phalcon – a PHP Framework

phalcon250Well, it looks like I might be a tad late to the party, but late is better than not showing up at all.  There's a new party going on in the PHP world.  A revolution, if I might be so bold.  PHP is being turned on it ear, and all I can say so far is, WOW!

The new kid on the block is the Phalcon PHP framework.  Every once in a while an idea comes along in technology, and all you can say is why didn't we think of this earlier.  Phalcon is that idea.

Rasmus Lerdorf started the PHP language in 1994.  That's 20 years ago, 20 years can you believe it.  It is now used in over 244 million web sites, and 2.1 million servers.

Programmers like PHP, because unlike C and Java, they don't have to compile their code before seeing if their web programs work. It cuts out a step, but adds some complexity like having to check variable types before it can run. It's a language that is written in the C language, which is blindingly fast.  PHP is slower, because every time PHP opens a file it scans the PHP code, and then creates C byte code to run the program.  So PHP is slower than C.

What if we wrote a PHP framework as a C extension, so although you would use PHP like you normally would, the code that ran was C and would not have to be run through the PHP interpreter.  And what if we optimized the C code we wrote for speed.  Then that code would be blazingly fast, compared to any PHP code run through the interpreter.  Faster than any other PHP framework that came before it.

Let me introduce you to the Phalcon PHP framework.

Phalcon is a PHP framework that is written as a C extension to PHP.  The framework is an optimized, fully functional framework that is currently about 1.7Mb of code.  However, unlike any other PHP framework, it is an extension to the PHP language.  That means that you add the pre-compiled C code to your PHP /ext directory, and turn it on as an extension in your PHP.ini file, just like you do with curl, mysql, or sqlite extensions. That's it.

Normally to set up a PHP framework for use, you down load the code, set it up in its own directory structure.  Your application is then written inside that directory structure, usually in an application directory, with all the other core framework code in the other directories of the framework.  Any code written in the application directory is picked up by the framework core code, and runs the special functionality provided by that framework.

Phalcon uses the MVC architecture, like all the other frameworks, but unlike other frameworks, there is no set file structure you have to use to structure your application.  You can set up any directory structure you like.

How do you set up the application?  You create a bootstrap file that loads the autoloader, sets up the dependency container, turns on the error logger, and template engine, if you want to use it, and tells the application where your files are located, then you build your application using the Phalcon syntax and Phalcon takes care of the rest.

So how does Phalcon stack up. First and for most, Phalcon is hands down the fastest fully functional PHP framework in existence.  It's even faster than the mini-frameworks optimized for speed.  Phalcon shows up 2-10 times faster than any other framework out there.  The Phalcon developers knew they had something, but they didn't stop there.

Phalcon features include:

  • Loosely coupled, allowing you to use it as a component library
  • A built-in, fully functional ORM that outperforms all the other ORM's out there.
  • An ODM for document mapping for the NoSQL database fans
  • Dependency Injection/Service Location containers
  • Events and event management with listeners
  • A universal auto-loader that conforms to PSR-0
  • A router for navigation
  • Security with password hashing
  • Messages and error logging.
  • An integrated template engine, Volt
  • Form Builders, Pagination, and Validators
  • Multi-language support
  • Asset managerment for javascript and css libraries
  • Cache - do they even need it.

Phalcon's documentation is thorough, full of examples, and well written.  I think you'll find its easy to learn.

The development community has sprung to life around this framework.  There is an incubator for developers to submit their PHP code for possible inclusion into Phalcon.  There is a set of development tools, that will create stub code for controllers and models with all the getters and setters, much like Laravel's Artisan.  You can create stub code with a GUI, or the command line.

If you haven't taken a serious look at the Phalcon framework yet, I strongly recommend that you do.   I believe this framework has taken the PHP development community by storm, and will be around for quite awhile, it leaves all the other frameworks in the dust.

Posted in Phalcon, PHP Frameworks | Leave a comment

Web Development Tools, 2014

webdev250The state of web development tools in 2014 is a topic that can lead to quite a debate. After all these years, I feel like web development is finally starting to condense, rather than expand.

From the start of web site development as a profession, in say 1995, we have been in an expansion of web development software tools and techniques. What do I mean?

When it became obvious that every company needed a web site, the development industry exploded with jobs. The industry was so immature that everyone entering the industry picked up a number of different technologies to use, all of which could be used to build web sites.

For example, in languages, we have Java, PHP, Ruby on Rails, Python, C++, Scala, and If I'm just starting out in learning to be a web developer, which one do I choose to learn?

Then you have the front end tools: HTML, CSS, Cold Fusion, jQuery, Flash, and JavaScript. Do I learn Flash, an Adobe product, or JavaScript?

The industry split between Microsoft tools, and open source tools. The split usually went along the lines, if the company you worked for was willing to buy the Microsoft and Adobe tools, you became a Microsoft engineer. If not, or like me you learned it on your own, you went open source.

Open source had the most expansion, just because it was open source, everyone was developing a better mousetrap to aid in web development. We learned from each other. We built all sorts of tools that competed for the developer's toolbox. The biggest question was what tools should I invest my time to learn? You didn't want to spend a couple of months learning a technology that would not be around in a couple of years.

Gradually, developers through word of mouth, forums, conferences, and blogs started to choose. And as they did some tools started to subside, and other's rose. As a PHP developer, I'm biased in that direction. So with apologies, to Java, Ruby, and Python and other languages, and in the interest of brevity, I'll look at this from that perspective.

I feel like the languages, and tools, now are starting to condense into certain tools you should be knowledgeable about to be a good PHP Developer. These tools have won their wars and have come out on top: HTML5, CSS3, JavaScript, jQuery, Ajax, PHP, and MySQL. And there are helper tools that we should be using, like: Jenkins, Composer, PHPUnit, PHPDoc, phpMyAdmin, and Git.

There are still some areas that are fighting it out for dominance.

PHP Frameworks are in a shake out, but we're beginning to see a condensing here also. From some 180 frameworks, We're down to a shorter list now: Zend2, Symfony2, Phalcon, Fuel, Yii, CodeIgniter, Kohana, and Laravel, but I expect this list will get shorter, and Phalcon is relatively new. It seems like each of these frameworks has their 15 minutes of fame, until a new framework comes along, that's "better or faster." Frameworks are a perfect example of developers trying to build better and better tools.

Then we have Content Management Systems, with the top 3 being: WordPress, Drupal, and Joomla.  WordPress has by far built the largest number of sites of the three.

Lately, I'm seeing a resurgence in JavaScript and JavaScript tools. JavaScript is a little behind PHP in terms of overall maturity. JavaScript has its share of JavaScript libraries: jQuery, MooTools, Yui, ExtJS, Prototype, UIZE, Dojo, and nodeJS. Then there are frameworks, like Backbone, Ember, and AngularJS. jQuery is one of the libraries that has become a standard, and the AngularJS framework is starting to replace Backbone as the JavaScript framework of choice.

Posted in Editorials | Leave a comment

eBook Pricing

kindle250The last I wrote about eReaders was quite awhile ago. At one point, my family has owned 2 Kindle eInks, 2 Nook eInks, one Nook color, and 2 iPads. Needless, to say we've fallen in love with reading books with eReaders.

I've found that Amazon has a much larger eBook selection than Barnes and Noble. Many times I've found a book on Amazon that is not listed at all on B&N. As a result, whenever I'm looking for a book to read, I naturally go to Amazon to find books, especially on non-fiction specialty topics.

After I find a book, I like to look at the Kindle price, and then go to the B&N site to see how much it costs there. I have been reading most recently on a Nook color eReader that I use mostly at home, and then I take my black and white Nook on vacation for reading in the direct sunlight. My preference, therefore, is naturally for Nook eBooks.

The reason for the article is I went to Amazon and found a book I'd like to read, and when I went to the B&N site, I found the book was considerably higher in price and only $1 below the paperback price. The original eBook prices started out about half of the paperback price. I was shocked, so much so that it made me go look for a new Kindle eReader so I could switch my main reading to a Kindle, instead of a Nook.

I decided to compare eReader pricing for eBooks between Amazon, and Barnes and Noble. I thought I'd show you a cross section of eBooks between Amazon and B&N and let you be the judge.

Action Thriller: Brad Thor, Blowback
Amazon: eReader: $8.54 paperback: $8.99
B&N: ereader: $9.99 paperback: $9.99

Action Thriller: Jo Nesbo, The Redbreast
Amazon: eReader: $6.83 paperback: $12.17
B&N: eReader: $7.99 paperback: $12.17

Action Thriller: David Baldacci, The Hit
Amazon: eReader: $4.99 paperback: $9.00
B&N: eReader: $9.99 paperback: $9.14

Mystery: Clayton Lindemuth, Cold Quiet Country
Amazon: eReader: $2.99 paperback: $11.94
B&N: eReader: $7.49 paperback: $12.14

Mystery: John Grisham, Sycamore Row
Amazon: eReader: $6.49 hardcover: $15.33
B&N: eReader: $10.49 hardcover: $16.26

Romance: J.R. Ward, Lover at Last
Amazon: eReader: $4.88 paperback: $5.40
B&N: eReader: $4.88 paperback: $7.99

NonFiction: Miriam Goodman, Reinventing Retirement
Amazon: eReader: $9.99 hardcover: $24.95
B&N: eReader: $11.49 hardcover: not available

NonFiction: Rusty Bradley, Lions of Kandahar
Amazon: eReader: $11.99 hardcover: $16.55
B&N: eReader: $14.99 hardcover: $16.71

NonFiction: Steven Tadelis, Game Theory
Amazon: eReader: $31.01 hardcover: $32.64
B&N: eReader: $34.34 hardcover: $32.92

NonFiction: John Billingham, The Education of a Modern Poker Player
Amazon: eReader: $12.39 hardcover: $21.43
B&N: eReader: $19.95 hardcover: $26.86

What can we glean from this price review?

First, a disclaimer, these books admittedly were picked at random, whether they are representative sample of the entire book collection of the vendors, I could not say.

One of the things I noticed is that eBook prices on both sites are creeping more toward the actual paperback price.  It's not true that it costs these vendors nothing to deliver the eBooks, as IT infrastructure needs to be maintained, but the vendors do pay more for storing, packaging and maybe shipping the actual book, so the eReader price should be lower.

Next, the more technical the book, the higher the price and the higher the eBook price.  And even more interesting the B&N eReader price for the Game Theory book is higher than the hardcover price, I'm not sure I understand that one.

Finally, let's just say it. Barnes and Nobles prices are higher than Amazon's across the board. In this sample, the Barnes and Noble price ran anywhere from $1.19 to $7.56 higher than Amazon's, with the exception of one very popular romance, Lover at Last, which was the same eReader price, but still higher in paperback.

If you read twenty books a year, and the price differential runs about $5.00 a book, you end up paying $100 more with Barnes and Noble, almost enough for a new eReader.

Speaking of new eReaders, the new Kindle Paperwhite reader has excellent reviews and is priced at $119. The Nook Glowlight is priced at $119. The reviews favor the Kindle over the Glowlight, mostly because of better software.

Given this admittedly limited review of pricing, I have to favor buying a new Kindle, and keeping my Nook for those rare occasions, once in a blue moon, when the Nook price is better than Amazon's.

As far as I'm concerned, Barnes and Noble has priced itself out of my eReader business, and caused me to buy a new Kindle to take advantage of the better Amazon pricing, or maybe, it's just my excuse to buy a new eReader as a treat to myself.  At least, with both a Nook and a Kindle, I'll have the best of both worlds.


Posted in eReaders | Leave a comment

AWS – An Introduction

awsservices250Amazon's AWS is the current leader in cloud computing. Getting started with AWS means creating computers in the cloud. AWS, of course, is hardware based, they have hardware scattered around the world, but the computer you will create resides in virtual space. There could be hundreds of virtual computers on one hardware computer running completely independently on one another. AWS calls each one of these virtual computers an "instance."

What AWS is capable of doing is massive. You can run one instance, or many instances, either separately or together across the world. You can scale these computers up and down in computing power, add memory to them, add disk space, create cache, create databases, and balance the load across multiple instances. You can have disk space that persist independently of any instance. You can create alerts and monitor your network. And you can create copies of your computer configurations for duplication in another part of the world. You can have your own web site with your own domain name for web applications. There's more that you can do, you get the idea, there's a lot of funtionality.

To manage all this functionality AWS breaks the functionality down into separate applications or packages. Currently there are 28 different packages in AWS. When you build your instance, you go to a package and configure that package for what you want in your instance.

When you start with AWS it's importance to understand what you are doing. You are building a computer in the cloud from scratch.  The computer you are building has no display monitor.  Your display monitor will come later from your Internet browser. You can't see your display until after you build your instance.  If you built your own computer in your home, there's nothing to see on the display until you have all the pieces plugged into the computer and turn the power on. The same with AWS, building comes first, seeing what you built comes later.

To help you out each package in AWS has various displays that help you configure what you want. There is a home page called, Amazon Management Console, and this is where you select which package you want to configure.


Log into AWS with the same password you use for Amazon. You pay for usage with your Amazon credit card, however we are configuring the free for a year, "free tier."

The first package you want to set up is your computer, click on EC2.

In the upper right menu bar, next to your name, click the dropdown and select the geographic region where you would like to run your computer. Each of these regions is where the actual hardware resides. This may not matter to you, but to a company, it may want a computer in each region working together.

There's a big blue button in the middle of the screen that says, "Launch Instance," click on it. This is where you decide what type of computer to build. If a computer is marked "free tier," it is eligible for free services for a year. I suggest you click on a free tier to start.

I'm not going to configure an entire computer in this short post. Continue through the menus to get up and running.

All of AWS communications is encrypted for your protection. In order to communicate back and forth you will need to configure a "key pair." This is done in EC2 in a left sidebar menu. Download your key to your computer.

You also want to select a security group so you can configure what communications you will allow between the world and your computer in the cloud.

In order to get up and running, you need a key pair, a security group, an EC2 instance running.

After you have your instance running it will show up in the EC2 instances menu in the left sidebar, provided you are in the correct geographic region. If you click on the left checkbox by your instance, the "Connect" menu becomes active and allows you to log in and display your computer screen. This will also enable the "Actions" menu that allows you to start, stop and terminate the instances if you don't like what you created.

That's all for now, hopefully, this will get you at least playing around in AWS until you get the hang of it. Happy Cloud Computing.


Posted in Web Applications | Leave a comment