(A Better) WordPress Shopping Cart

The folks over at Instinct Entertainment released WP e-Commerce 3.6.6 today and received not so great feedback from users. Looks like 3.6.6 is a bit buggy. Sadly, this does not surprise me one bit. Take a look at the code, and try to grasp what is going on.

A year ago I muddled around, and hacked an older version of it (was the newest version at the time) apart for a client of mine. At the time the code was a nightmare to navigate. This spring when they wanted to add more features, some of which were in the newer 3.6 branch, I did some research on the changes between versions. Sadly, things have not gotten better (code organization wise).

Right now, WP e-Commerce is not open source. It however, is the only solution for users that want to use Authorize.net. The client that I made the modifications to WP e-Commerce for at one point proposed just making our own plug-in. Since I personally do not have an interest in establishing a e-commerce site, I will not spontaneously produce a e-commerce plug-in.

Should such a competing plug-in be released by me a few things can be guaranteed about it.

  1. Fully commented source, just about every line will have an explanation, functions commented properly, with explanations of their prototypes.
  2. Full (and proper) i18n (internationalization) support in accordance with the WordPress i18n guidelines.
  3. Utilizes the WordPress API when appropriate.
  4. Clean, fast code that is object oriented when appropriate.
  5. Highly modular, easy to remove unwanted/unneeded features. Items included in the HTML head are reduced to only what is needed.
  6. Predictable release time line similar to that of Breadcrumb NavXT and WordPress. Monthly bug fix releases, new features released the same month as a WordPress “major release” (e.g. 2.2, 2.3, 2.5 were major releases), or every three to four months (I try to keep bug fix releases fixed to three or four max).
  7. 100% Open Source licensed under the GNU GPL2.

Numbers 1,2,3,6 and 7 would be there from the get-go. The fifth one would be introduced in time, and the fourth would be an ongoing thing. Development would begin as .1 and not follow any particular time line for releases until 1.0 is reached. By 1.0 it would be stable, though by .8 or so it’d be a suitable replacement to WP e-Commerce.

-John Havlik

[end of transmission, stay tuned]

Week One Done

Spring semester, week #1, is complete. My schedule this semester is much better than the previous semester’s. No more late afternoon classes, no more huge blocks of time between classes. This semester we play with the idiotic PIC microcontroller specifically due to it’s illogical command set, slip ups in its documentation, and other general oddities in it. That’s correct, we’re studying a microcontroller architecture that even the professor does not and would not use.

An interesting general conclusion about the different departments/colleges at the U is that the CLA and biology departments tend to use more Macs, while IT likes either dells running Ubuntu, XP 64bit or Sun workstations running Ubuntu or Solaris. Having a professor that out right makes fun of Windows is a new experience, and actively trying to promote Linux is definitely new. Since his laptop’s gnome environment distinctly lacked distribution branding (as seen on Ubuntu and others), I’m sure he’s probably a Slackware user (which is cool since Ubuntu is overrated and Slackware originated in Minnesota). Though, I must say, I don’t approve of his favorite text editor (vi) and no I don’t even use its main competitor (EMACS), I’m a Gentoo user (hence I use nano).

Just a side note, I did a minor update to Breadcrumb NavXT. It should provide with some debugging information in know problem areas, and the “Bad user, no cookie for you” error message was replaced with something a bit more descriptive. Hopefully, the cause of the break in the WordPress API which causes the message to show up can be identified. Currently, it seems that running PHP in safemode can cause the problem to arise. More on that later.

-John Havlik

[end of transmission, stay tuned]

Gentoo Blue Wave

A while back while reading a tutorial by Nick La of N.Design Studio, I thought the concept of what his tutorial covered in Adobe Illustrator was cool. Of course, using Illustrator is not an option when running in a GNU/Linux environment. This is where Inkscape comes into play.

Much like the GIMP, Inkscape does not do everything that its Adobe competitor does. Thus, abiding strictly to Nick’s tutorial is impossible, but getting to the same end result is possible. In the coming weeks I will post a supplement to Nick’s tutorial for the use in Inkscape. However, right now I’m introducing the end result of my Inkscape experimentation, Gentoo Blue Wave. This is a 1080p resolution wallpaper that abides to the Tango pallet. This is released under the Creative Commons Attribution-Noncommercial 3.0 License.

-John Havlik

[end of transmission, stay tuned]

Forget MATLAB

Yep, forget it, use GNU Octave instead. For calculus 3, rather linear algebra and differential equations, there is a lab which requires the use of MATLAB to do things that can get ugly. One particular use is for Gaussian elimination for finding values of several variables that solve a set of equations.

Occasionally, a write up is required for certain parts of the problems completed in lab. Checking work previously done in lab when doing the write-up is always reassuring. Going back to the computer lab is not convenient, and the 200USD that it costs for a student license of MATLAB can go to better use. That’s where GNU Octave comes in; it’s GNU’s MATLAB replacement that accepts nearly all of MATLAB’s commands. For Gaussian elimination, Octave sure beats writing a PHP script to do it (which I did on Monday).

On a side note, getting Aptana to work on Gentoo is fairly painless, though its installation doesn’t comply with the Gentoo philosophy. Maybe when it comes out of beta I’ll help get it into portage. I’ve also written a simple bash script for loading Aptana, which will be available in the tools section on this site once I figure out exactly where Aptana’s files should go to be consistent with Gentoo’s installation methods. Since at the U of M they don’t automatically load the modules necessary to run MATLAB at login, and the matlab command doesn’t do it automatically I’ve written a simple bash script that should take care of this. It’s available for download in the tools section.

-John Havlik

[end of transmission, stay tuned]

An Oddity

In the Computer Science/Electrical Engineering building at the University of Minnesota, there are several computer labs, some run windows, others “UNIX”. These “UNIX” labs consist of Sun workstations (with the odd keyboard, not sure if they are SPARC or Opteron based). Instead of running Solaris or Open Solaris, both closer to being “true” UNIX distributions, they run Ubuntu.

Ubuntu is a GNU/Linux distribution, not a UNIX distribution. Heck, GNU is a recursive acronym that stands for “GNU Not UNIX”. Yes, it is UNIX-like but it is still very different in a theological sense. The oddest thing they did with Ubuntu is to use the Gnome login manager, but they aren’t using Gnome as the desktop manager, instead they are using the stupid desktop manager built into X server. EMACS and g++ are the ‘tools’ that are to be used in the class. Today, however nano replaced EMACS in one’s group. Mozilla wouldn’t launch on any of the terminals, so links2 was substituted in one’s group. Everyone else just complained and twiddled their thumbs as the Internet wasn’t ‘available’ for them to complete their lab.

-John Havlik

[end of transmission, stay tuned]