The Problem With Most Websites

People and companies that need websites start off easily enough.  They start designing their site and pretty soon they choose a domain name and build it.

Soon the new website is up! And it looks alright!  There are a lot of anticipated features but these aren’t yet filled.  Both content and functionality needs to be filled out.  That takes so much time that often it doesn’t get done right away.

We have the same problem here at Evan Williams Consulting, LLC.  Having great plans for each of the icons above in our header; they don’t all go to links yet.

This is where good web design and persistence is needed.

Please Don’t Throw Good Coffee Away!

Hello!  I diverge here from my usual technical talk.  One’s interests change and now I am starting to think and read about planning the User’s eXperience / Interaction. UX/UI.   You have to think, after all, about who is using your software and what they feel!

Nonetheless it is good to be rooted in one’s own field.  One reason that I have been “out-of-work” for a year is that almost every time I had a PHP interview, the recruiter asked me about my “front-end” and “design” experience.  Hey! I would have loved to have had those jobs!

I’m really a back-end guy with a background in computer infrastructure.  After I got my MCSD (Microsoft Certified Solution Developer) I got halfway through my MCSE (Microsoft Certified Solution Engineer) on Windows 2008 Server.  Study as I might, I really had trouble matching up those little multiple choice matches for AH and ESP – Authentication Header and Encapsulated Profile – on both sides of the Encrypted Channel.  Do you think that stuff is really secure?  Please Don’t Throw Sausage Pizza Away!

The mantra “Please Don’t Throw Sausage Pizza Away!” stands for Physical, Datalink, Transport, Session, P… hmm, and Application.  You can see why I didn’t pass the Networking exam!

Anyway I am proposing an alternative to the OSI 7 layer reference model: Please Don’t Throw Good Coffee Away.  As you can see this has only 6 layers and would be easier to implement and remember.  What does it stand for?  Physical, Datalink, Transport, Group, Code, Application.

These aren’t really Acronyms (I have written about and ‘railed against” them before).  These are “SentanceGrams.” GroupThink is here to stay!

Why Are We Not Using The New Website??!

  1. It’s Not Done Yet! Ha Ha Ha!
  2. The Data Storage System that we created using Doctrine doesn’t allow for articles that are longer than 256 characters!  Can’t we use the ZODB that comes with Python instead?
  3. There is no easy .PDF output like ReportLab in PHP.  We know ReportLab too!  We have to write our own PHP  “Thunks” to use ReportLab for .PDF production.

But if the new website is not done we will forever be offering content For Free!!!

What Sells in the IT Market Today

People might think that I have it made.  In fact I do!  After all I have just invented and launched Localpod, the next great new device! But rule One of business, I think, is “Don’t rest on your laurels.”  Don’t think that everything is alright just because things are going well today.  Or, to quote the author the The Power Of Positive Thinking: “don’t wait for everything to be safe and assured. [then it will be too late!]”

Sales have been slow on Localpod, so, following the above mantra I am thinking, “What Can I do to earn a dollar today?” while I wait for the sales to pick up on this great new gadget.  The answer, of course, is, “Don’t wait!”

So I’m looking at some new opportunities.  Right now I am learning about recruiting!  Hey, maybe I am better with people than computers after all!

Localpod v1.0 is Out!

local010LocalPod v1.0 is out and ready for your purchase!  This is an ‘extranet hotspot!’  Think of it as an Internet router with a nice LCD touch screen on top.  The device consists of the Intel Galileo Board Gen2, a Vizic Technologies Touch LCD Screen, and a Intel Centrino 135 Wifi and Bluetooth Radio Card.  Missing in the picture are the rabbit ears; this is just out of prototype mode!  The software for the device is a capable Linux with Node.js running and we have preloaded a working Yocto kernel that also allows the Arduino shield on the Galileo board (insde) to be used by Arduino’s native IDE.

To order (fulfillment takes 6-8 weeks, click the “Buy Now!” Button Above. $440 Retail + $20 Shipping + 7% NJ Sales Tax.  Or Mail a Check for $490.80 to Evan Williams Consulting, LLC, 21 Lincoln Ave., Princeton, NJ 08540.  Domestic (United States orders only – please contact for instructions on Overseas Shipments).


Building Another Editing Website

There are a lot of ways to build software.  One picks and chooses different solutions as different needs become evident.  For speed, PHP or an Object-Oriented development environment like Ruby on Rails or Django are good.  But if one needs the monolithic production environment for an editing program, one must choose a toolkit like Plone, with all its overhead instead.

I felt pretty good about the software developments I had made using Plone to create the New Holland Press newspaper.  The site produced .PDFs right from editor’s copy!  But it was slow.  Now that I want to create a new technical journal I want a similar site that is a bit more speedy.

I liked the way objects could be stored in the Plone database.  One could adapt the software for an object like a ImageFrame and create a WatermarkedImageFrame.  All this without making changes to any database schema or taking “round-trips” to carefully edit the existing data so that the new product would work.  All that you had to do (practically) was to create the new WatermarkedImageFrame.  Of course it had to fit into the entire framework of the site and you had to learn how to do that.  The framework was a bit more complicated than PHP.

I came up with PHPZope as a way to harvest the data that was stored so neatly in the Plone database so that it could be presented on a PHP site.  The name is really a misnomer – it really should be called PHP-Pickle.  It almost is done and almost succeeds at reading Python Pickles and turning them into a PHP Array.  The new product (see previous post) does not seem to deal with Zope persistence properly however.

What I would like to do is design an editing environment using Python.  A logged in user would be able to create a new document, edit it, proofread it and print it.  The functions to do this would be built using Python’s correct object-oriented design and persistence that preserves the object’s state.  Then PHP Pickle would create a fast website for viewing the results!

PHP Pickles

I’m very excited about my new project.  I call it PHPZope but it is really not Zope; so I’ve got to change the name.

I have written a PHP Extension to take a pickled Python object and turn it into something that PHP can deal with.

Its still fairly primitive software: I have a lot of work to do to improve it!

But if you want to check out the code so far go to

Programmer’s Tools

People look at my resume and exclaim that I have worked at a lot of companies.  This has happened for various reasons.  Recently I began to look at what I actually “brought home” from each company as a new tip of the trade.  Here is the partial list:

  1. Beyond Compare, a fabulous tool for searching in files.
  2. SnagIt by TechSmith: much more than a clipboard buffer!
  3. Notepad++, a free notepad that can’t be beat!
  4. Sublime Text editor: a code editor for someone who does a lot of work.
  5. WinSCP: why not treat your server as just another file system?

This list goes on, I am sure!  I shall try to add to it as I think of more examples of great software I have learned about on-the-job.

IT Finance

It’s a nice thing to be able to plan out your expenses and expenditures for your Information Technology venture.  But your Norton subscription expires or you just have to have a copy of Sublime Text editor and out goes $170.  I realize that I am supposed to match outflows with inflows but although I have a completed Galileo board for sale on Etsy (newhollandpress store) and am getting a lot of links, I haven’t sold one yet.  Not complaining, just thinking!