HTML5 Canvas

HTML5 Canvas Game Demos

I went ahead and put two HTML5 Canvas game demos on the Chrome Web Store that I have been working on though I’m still getting the animations smoothed out.  Take a look:

Paddle Battle

Brick Breaker

Book Review Linkedin

Book Review: Head First HTML with CSS and XHTML

I picked up Head First HTML with CSS & XHTML (HFHTML) because I hadn’t read a book on HTML in quite a while and I thought it might be a good idea to brush up on my HTML.

On Amazon HFHTML is currently the top selling XHTML book, second bestselling CSS book, and second bestselling book on Interface Design even though it was published in 2005. This speaks directly to HFHTML’s well deserved reputation as a top notch intro to HTML book. For those that may be concerned that the book is a little out to date, I can say that most off the material is still very relevant. There will be an updated version that will be coming out this summer.

HFHTML is part of the popular Head First series of books from O’Reilly. If you have never read a Head First book then you are in for a surprise. The books are anything but the stereotypically dry technical book. Instead they tend to be full of engaging images, jokes, and puzzles. The books specialize in not only being easy to read, but in actually teaching you a technical subject, instead of just going over all of the minutia of a language.

Written by Elisabeth Freeman and Eric Freeman, HFHTML starts you off as if you are brand new to HTML, so no prior experience is necessary. The first couple of chapters cover the basics of HTML and then progress to CSS. Examples of subjects include standards, compliance, validation, positioning, layout, and the box model.

After reading this book readers will be able to create fully functional, properly structured web sites. The reader will also feel comfortable going onto to advanced books, such as, a more thorough book on HTML and/or CSS, a JavaScript book, or a HTML5 book.

Bottom Line: Even though this book is written with the usual fun Head First style, it is chock full of great information that readers will find very engaging. HFHTML is the perfect book for a beginning web developer while it is also a good book for experienced web developer looking for a refresher or to fill in a knowledge gap or two. A word of warning though, after you read Head First HTML you might not want to ever go back to the old, standard technical books.

Interactive TV

Interactive TV is Poised for a Breakthrough

Over the last several years we have seen successful innovation in phones, laptops, and tablets, but we haven’t seen that same type of success replicated with televisions. Well, that is about to change soon and in a big way. In the next couple of years you can expect the number of TVs that include a full-fledged operating system to increase significantly. This will in turn provide a windfall of opportunity for a new wave of TV apps that we haven’t even imagined yet.

Currently, the most common way to use apps on your television is to connect the TV to a device like a Logitech Revue, Roku, Xbox 360, Wii, or an Apple TV. There have only been a few TVs that have been on the market so far with an integrated operating system, but those numbers are going to increase this year.

Earlier this month at CES, major electronic companies like Samsung, LG, Sony and Lenovo showcased interactive televisions that will have Google TV built in. These Android-powered televisions will give developers one more platform to build creative apps on.

Not only is the number of Google TVs on the market going to increase, but other companies are getting in the interactive TV market as well. Recently, Ubuntu released a TV OS and there are widespread rumors that Apple is working on an updated Apple TV that could be a TV with an OS included.

With this new generation of interactive televisions hitting the market soon, the market is picking up serious steam and it’s only a matter of time before TV apps become the next big thing.

So when do you think we will see TV apps be as ubiquitous as phone and tablet apps? Or maybe there won’t be an TV app explosion at all and that TV is just a different animal? What do you think?

Book Review

Book Reveiw: Program or Be Programmed

Program or Be Programmed by Douglas Rushkoff is an excellent book that discusses ways technology is unwittingly shaping us and what we can do to prevent this.  This book is a reminder of how we can’t get so tied up in technology that we forget about our real life connections and experiences.  For example, there is the person at a bar with his or her friends.  Instead of living in the moment, they text or tweet to find out where the next party is.  In a way technology has help prevent this person from fulling enjoying their experience.

Another example is how technology has changed us is how we all access to domain knowledge on millions of subjects.   In the past this information was not available to the masses and workers like teachers, doctors, and accountants had access to more knowledge that we did.  Now since we all have of access to information, the role of the knowledge worker has shifted into more of a guidance role.

There are tons of examples like the two mentioned above and I’ll note some of the ones that stuck in my mind:
  • Disconnect:  A lot of us stay connected all of the time and our technology provides a constant distraction that stops us from performing important tasks.  Microsoft Outlook comes to mind when I think about this topic.  You leave Outlook on while your at work and you are constantly being interrupted by email messages.  Then you are constantly responding to the messages and then of course they will reply to you and next thing you know you are in a non-stop circle.  When we stay connected to technology we run the risk of not finding time to do those important projects or experiences.
  • Share your digital material:  Collectively if share our digital work, like coding for example, we can grow faster as a society.
  • Technology can not and should not replace real life experience:  As much as living on-line has made it easier to network and simulate interactions, meeting off-line and on-line are two totally different sensory experiences.  Meeting off-line is still very important and we need not forget this.
  • We all need to program:  Programming doesn’t have to be incredibly complicated and we can all do it.   I’ve created small apps using the Android App Inventor and I think that it is a wonderful tool for both programmers and non-programmers to use.  If more people used this tool, then they could create their own apps that fit their life instead of relying on what a software company thinks is important for them.
  • Be wary of letting technology make decisions for you:  When you let technology choose things for you, we start cheating our learning process.  I’ve felt this way about using GPS in a new city verses just finding my own way.  I enjoy figuring out where to go for myself.  To me it helps me learn more about the city and its layout.  By using a GPS system, I would just cheat myself out of this process.
This book is very thought provoking and reminds me a lot of books by Seth Godin in that they provide high level leadership and concepts.   I would recommend this book for parents with concerns about their children being online too much, professionals who worry about their reliance on software, or just to anybody who is interested in the effects of technology on society.
Rushkoff

Could Facebook Create an Operating System in the Future?

Is it possible that Facebook could create its own OS? A year ago I would have thought that sounded crazy, but let’s think about this.  A Facebook OS could be very similar to Google’s Chrome OS.  With Chrome you can install apps directly into the OS that live in the Cloud.  You are basically doing the same thing with Facebook right now.  Facebook already has tons of apps that you can install.  You can get your email, chat, play games, shop, and of course network on Facebook.  For any type of productivity work you could still use your laptop or desktop.  If you really wanted to use software like Microsoft Office, I am sure some kind of app could be developed for that also.  Plus Microsoft has already invested millions into Facebook, so some kind of integrated app isn’t that far fetched.

At least one OS has already begun the movement toward integrating social networking into their system.  Included with the initial installation package of the Linux-based OS, Ubuntu, you will find that Twitter, Facebook, and other social networking sites are already build into the system.  Why not take this one step further and make computing a completely social experience and just get rid of everything else?

Since technology seems to be quickly advancing into the social realm it would almost seem like a natural progression for operating systems to coincide with this and Facebook could be the company to lead us there.

Disclaimer: This post is just exploring the possibilities of Facebook creating an OS if they so desired.  I have not heard anything about a Facebook OS from Facebook.

Python

Python Script to Backup or Copy a File

This is a very simple script that will copy one file locally to another location locally. I created a class called CopyFile to do this, but I could have just as easily just left it as one procedure. I figured that creating a class is good form though.

All you have to do is to replace lines of code where they are marked with a TODO comment. Enjoy!

# File:             copy_file.py
# Date Created:     22 Sept 2010
# Description:      Copies file from a local source to a local destination
# Author:           Jesse L. Palmer, jesse@jesselpalmer.com
# Website:          www.jesselpalmer.com
#
# References:       http://docs.python.org/library/shutil.html
#
# Version:          1.0
# Last Modified:    19 Nov 2010
# Python Verison:   3.1
# Notes:            Feel free to use this script, modify it, take a screen shot
#                   of it and use it as your desktop background, or whatever
#                   else you can think of.    

import shutil
import time

class CopyFile(object):

    def __init__(self, filename, source, destination):
        self.filename = filename
        self.source = source
        self.destination = destination

    def create_copy(self):
        filename = self.filename
        source = self.source
        destination = self.destination
        print("Copying %s " % filename)
        print("Source:      %s" % source)
        print("Destination: %s" % destination)
        print("")
        shutil.copy2(source, destination)

        print("Copying %s completed" % filename)
        time.sleep(4)

# TODO: Replace the filename with the file you want to copy
filename = "filename"

# TODO: Replace the source directory
source = "source\directory\%s" % filename

# TODO: Replace the destination directory
destination = "destination\directory\%s" % filename

file = CopyFile(filename, source, destination)

file.create_copy()
Python

Python Script that Downloads Files from a FTP Server

I created this script to download files from a remote server using Python and its FTP class. The script will only download files and not directories.  To get started all you need to do is to replace the parts of code at the bottom that have comments marked TODO.  Feel free to use this script for whatever purposes you need.

# File:               download_files.py
# Date Created:       15 Oct 2010
# Description:        Downloads files from a remote server onto a local server.  The script will not download directories though.
# Author:             Jesse L. Palmer, www.jesselpalmer.com
#
# References:         http://docs.python.org/library/ftplib.html
#                     http://postneo.com/stories/2003/01/01/beyondTheBasicPythonFtplibExample.html
#
# Version:            1.0
# Last Modified:      15 Nov 2010
# Python Version:     3.1
# Notes:              Feel free to use this script, modify it, use it as decoration, or whatever else you can think of. 

import os
from ftplib import FTP
import time

# Connects to remote ftp server
def connect_ftp(hostname, username, password, source_directory, destination_directory):
    os.chdir(destination_directory)

    print("Connecting to " + hostname + "...")
    ftp = FTP(hostname)
    ftp.login(username, password)

    print(ftp.getwelcome())
    print("Connected Successfully!\n")

    ftp.cwd(source_directory)

    download_files(ftp)

# Download files
def download_files(ftp):
    print("This script will only download files, not directories.")
    print("Files at " + source_directory + ":\n")
    ftp.retrlines("LIST")

    file_list = []
    ftp.retrlines("NLST", file_list.append)

    print("")

    i = 0
    for filename in file_list:
        if (filename != '.') and (filename != '..'):
            print("Downloading " + filename + "...")
            try:
                ftp.retrbinary("RETR " + filename, open(filename, "wb").write)
                i=i+1
            except Exception as directory_error:
                print ("Oops! Was " + filename + " a directory? I won't download directories.")

    print(str(i) + " files successfully downloaded.\n")

    disconnect_ftp(ftp)

# Disconnects from ftp server
def disconnect_ftp(ftp):
    print("Disconnecting from " + hostname + "...")
    ftp.quit()
    print("Disconnected from " + hostname + ".")
    time.sleep(4)

hostname = "remotedirectory"     # TODO: Replace with the hostname of the server you want to connect to
username = "username"     # TODO: Replace the username
password = "password"     # TODO: Replace the password
source_directory = "remote/directory/file/path"     # TODO: Change location to wherever you want to start the download
destination_directory = "local/directory/file/path"     # TODO: Change the location of where you want to download the files to

connect_ftp(hostname, username, password, source_directory, destination_directory)

Source code

Uncategorized

Top Free Software Review Sites

When you are a small business or just starting out it may not always be practical to spend a lot of money on expensive software. If you are in the market for new software, like a new photo editor or anti-virus software, and you are a little strapped for cash, check out the list below. You are bound to find a software package suitable to your needs for free.

The Best Free Software of 2010 – PCMag.com
Gizmo’s Freeware Editors’ Choice List

Linkedin

3 Free DIY Web Site Creation & Hosting Services For Non-Tech Types

The sites below are all free, reliable places to start a web site on. You should remember though, in order to get your own domain name you are probably going to still have to pay. I’ll be updating this post as I find more.

1. Microsoft Office Live Small Business
PC Mag Review

2. Google Sites
PC Mag Review

3. WordPress
PC Mag Review

MySQL PHP PHPMyAdmin The GreenTech Shop Yahoo Store

The GreenTech Shop database is completed


I have finished creating the new The GreenTech Shop database. I created it in MySQL and I used PHPMyAdmin as my front-end. The above screen shot is the table structure on one of my tables. This new database will replace most of my current need for the out-of-the-box Yahoo! Store (or Yahoo! Merchant Solutions if you want to be fancy) database that I use. Using a custom database should improve my site in the following ways:

  • Allows me to store data that the Yahoo! Store database wouldn’t, such as, Green Labels my products may use and my product’s Green Properities.
  • Allows me to use PHP with a Yahoo! Store. I’ve been using the Yahoo! Store coding tags and templates for my current site and I think that this is very time consuming. I think it would be easier to create own template using PHP.

My next step is to go ahead and redesign my the template that I mentioned above. The orginal plan was to create the database, then create a control panel that would access that data. Now I think it may be better to go ahead with the redesign and I can wait on the custom control panel. For the time being the PHPMyAdmin interface should be an adequate front-end to manage data.