BigSmoke

Smokes your problems, coughs fresh air.

Page 10 of 52

Programming is talking to the future

One day, some day long ago, I said to Jeroen Dekker, a photographer friend of mine, who was still learning to program at the time: “Programming is talking to the future.” He thought it was a good quote. Coming across it again now, so do I. It’s good because it’s true, which everybody who has ever debugged some old code—be it their own or someone else’s—can attest to.

Installed MathJax-LaTeX WordPress plugin for blog.bigsmoke.us

Soon, I wish to document some statistical issues I’ve been running into lately due to the lack of understanding maintained by my recipe-level statistics training. Also, I’d like to document some of the things I did learn over the years, and, hopefully, the things I find out while working myself out of the modelling mountain that I currently find so difficult to mount. For this I will need to use some mathematical language, which is why I just installed the MathJaX-LaTeX WordPress plugin. MathJax-LaTeX uses the MathJax JavaScript library to support LaTeX and MathML math equations in WordPress without requiring the browser to have MathML support.

As for testing it, my knowledge (\(K()\)) of MathML (\(M\)) is pretty much nonexistant, while I’m quite comfortable with LaTeX (\(L\)) math exations, which is why I’m typing the LaTeX code “K(M) \ll K(L)” to generate the following simple equation:

\(K(M) \ll K(L)\)

The insecurity of security questions

Another article link from my dusted-over ~jot directory: The Insecurity of Security Questions: Why I met my wife in CWmKryWzuxCSAnMDuIg. [So dusted-over is my ~/jot directory that Tom Moertel, the article’s author, has changed he link schema of his blog without providing redirects. (The slashes in the date turned to dashed.) Cool URLs don’t change, Tom, not according to the W3C and Jacob Nielsen. 😉 ]

Anyway, I am one of those people who randomly generates his (often overly long) passwords, which I store in a strongly encrypted file, but the article provided a great reminder that I should do the same for my answers to ‘security’ questions.

Dubai as an example for us all

Some Oct 2 2012 wisdom from SlashDot user fuzzyfuzzyfungus: “Dubai is an example of the glorious harmony between (middle) east and west! A city that wraps the middle east’s robust traditions of rule of law and enlightenment liberalism and the west’s values of sober financial honesty in the civic-planning expertise of Vegas developers on PCP… Truly, an example for us all.”

Learning to ‘hack’ with Security Override

In August 2011, probably while procrastinating learning for my university admission exams, with one mouldy foot still in my IT-past, I signed up for Security Override, an online game designed to turn network security n00bs such as myself into novices.

I’ve never dedicated the 20 hours to learn anything to the game, which I should have spent Josh Kaufman to ascent my n00b-state, but I nevertheless had some solid fun with it. 🙂

How to learn anything, according to Josh Kaufman

Judging by the following notes in my ~/jot directory, I was inspired two years ago (Oct 23, 2013) by a TEDx talk by Josh Kaufman on learning:

Josh’s advice boils down to 4 major points:

  1. Deconstruct the skill.
  2. Learn enough to self-correct (don’t procrastinate by reading text-books).
  3. Remove practice barriers (distractions).
  4. Practice for at least 20 hours. [This is the gist of his talk, but I guess it is a complitely arbitrary out-of-his-ass thing.]

Perhaps I could apply this approach to figuring out which statistical model(s) to use for the peat moss fluorescence data which I’ve been struggling with these past few weeks. Since I don’t have a statistics text-book, I can’t exercise my love of text-book-aided procrastination, a shortcoming which I’ve compensated by my old debugging procrastination strategy—just fiddling around until something useful happens. Sadly, it is becoming apparent to me that with statistics, nothing useful is learned if you don’t understand what you’re doing and why. :'(

The Architecture of Open Source Applications book

This link to The Architecture of Open Source Applications book was gathering dust somewhere in my ~/jot directory. In true free software spirit, it is released under a Creative Commons licence and the individual chapters are readable online. Each chapter about the architecture of a particular open source software project is written by the (co-)author of that respective project.

[…] In these two books, the authors of four dozen open source applications explain how their software is structured, and why. What are each program’s major components? How do they interact? And what did their builders learn during their development? In answering these questions, the contributors to these books provide unique insights into how they think.

Keeping an unsupported Mint/Ubuntu installation ‘up-to-date’

When a Linux Mint release goes out of support, together with the Ubuntu release on which it is based, the Ubuntu packages become unavailable. This can be annoying for old fossils like me who stubbornly contue to use a release that has gone out of support, as I’m doing with Mint 14 (Nadia), based on Ubuntu 12.10, (Quantal Quetzal). (“Yeah, yeah; I’ll upgrade soon; I promise.”) Luckily, the out-of-support packages remain available in a different location.

So, in /etc/apt/source.list, I could simply replace all instances of archive.ubuntu.com with old-releases.ubuntu.com, so that my /etc/apt/source.list now look like this:

deb http://packages.linuxmint.com/ nadia main upstream import
deb http://old-releases.ubuntu.com/ubuntu/ quantal main restricted universe multiverse
deb http://old-releases.ubuntu.com/ubuntu/ quantal-updates main restricted universe multiverse
deb http://old-releases.ubuntu.com/ubuntu/ quantal-security main restricted universe multiverse

G.B.D. Calamari Joomla and phpBB upgrade

As the chairman of G.B.D. Calamari, a Dutch student diving association, it falls to me to upgrade an aging Joomla configuration that is a relict of the last time that the board was chaired by somebody with web-development expertise (Joris van Alphen). This happened to be during a time when Joomla 1.5.20 was cutting-edge. It no longer is, so, although the website still looks nifty enough for this day and age (in my ageing eyes, at least), a software upgrade is long overdue.

[Note that the below is more of a disjointed collection of notes than it is an article of interest to anyone not directly involved with the maintenance of www.gbdcalamari.nl.]

Backup

The first step in any upgrade, of course, is backing up everything. Everything means all the files and the complete database. I did this using the “Export” option in phpmyadmin.

One peculiarity that I noticed during the database backup was that while there there were two MySQL databases — one called calamari_phpbb and one called calamari_site — the one called calamari_phpbb actually contained the tables for both the phpBB forum and the Joomla 1.5 site; calamari_site seemed to be a legacy of an older (custom-written) incarnation of the website.

phpBB.nl upgrade

The phpBB upgrade went surprisingly well. To update phpBB, I used phpbb.nl‘s automatic update packages to update from 3.0.8 to 3.0.12 in 4 steps:

  1. 3.0.8 to 3.0.9 (common.php merged)
  2. 3.0.9 to 3.0.10
  3. 3.0.10 to 3.0.11
  4. 3.0.11 to 3.0.12 (common.php merged again)

One by one, for each of these packages, I

  1. unpacked and uploaded the install dir,
  2. visited http://www.gbdcalamari.nl/phpbb/install/,
  3. updated the database,
  4. downloaded the ‘diff’, and
  5. copied it through WebDAV,
  6. checked if the update was successful and
  7. deleted the install dir.

It was quite fun (albeit a bit cumbersome) to update web software the noob way for a change.

Joomla 1.5.20 to 1.5.26

Joomla 2.5.19 is the current Joomla version (not counting the version 3 branch). The docs on upgrading from 1.5.x to 2.5 mention specifically that it’s a good idea to first upgrade to the latest 1.5.x version. Again, as with phpBB, I played the n00b game and performed the file updates by uploading the files in the the latest 1.5.x patch, overwriting the old Joomla stuff.

Joomla 1.5.26 to 2.5.19

The tricky part was yet to come: the upgrade from one major version to the next, from Joomla 1.5.26 to 2.5.19. The official guide on this process uses the jUpgrade extension. I followed the steps. jUpgrade installed the new version in a jupgrade/ subdirectory in the document root, after which I moved the old installation temporarily into a subdirectory called joomla1.5. (‘Temporarily’ may not be the most accurate qualification; now, five months later, it’s still sitting around as I’m finally polishing the last rough edges left after the upgrade.) With the old installation safed, I moved the Joomla 2.5 files from jupgrade/ to the document root. In this way, I still had access to the old, fully functional site while transitioning the templates and modules, etc.

Joomla components, modules and plug-ins

There are several Joomla components that I had to also upgrade, the most important of which is JFusion, which is necessary for the phpBB integration.

JFusion

It took some tweaking to get JFusion behave as well as it did previously. The following error caused a bit of a headache (and might do so again, during future phpBB updates):

Fatal error: Cannot redeclare utf8_substr() (previously declared
in /home/calamari/public_html/libraries/phputf8/mbstring/core.php:98)
in /home/calamari/public_html/phpbb/includes/utf/utf_tools.php on line 225

The solution was to patch utf_tools.php with a version provided by the JFusion project.

JA Purity

Another process that can be challenging when upgrading between major versions of a CMS is updating the template. The template that has been used by the previous site administrator (JA Purity) seems to be quite popular, however, with a Joomla 2 and 3 version available. Too bad that he did modify it, so that I had to depend om my good old friend that is diff to figure out which changes he made. To be able to more seamlessly upgrade JA Purity in the future, I modified Joris van Alphen’s JA Purity fork to use a Calamari template theme for most of his customizations.

Favicon

I re-enabled the old favicon file, by copying it to the ja_purity_ii/themes/calamari/ directory and copying a modified head.php to a new blocks/ subdirectory for that theme.

File attachments

Migrating file attachment from Joomla 1.5 to 2.5 was non-trivial. Initially, I tried this while running 2.5.7, but the new version of the attachments plugin required 2.5.7 or higher. Besides my initial confusion about how I ended up with Joomla 2.5.7 instead of 2.5.19, following the cumbersome instructions in the project‘s upgrade manual worked out well.

Event Manager

Eventually, Joomla Event Manager is set to replace the EvenList component by Schlu that Joris had used for the Joomla 1.5 incarnation of the Calamari website. For now, though, Schlu’s EventList component will do. Data migration only required copying the MySQL table rows from the Joomla 1.5 prefixed tables (“jos_”) to the Joomla 2.5 prefixed tables (“j25_”):

INSERT INTO j25_* SELECT * FROM jos_*;
INSERT INTO j25_eventlist_categories SELECT * FROM jos_eventlist_categories;
INSERT INTO j25_eventlist_events SELECT * FROM jos_eventlist_events;
INSERT INTO j25_eventlist_groupmembers SELECT * FROM jos_eventlist_groupmembers;
INSERT INTO j25_eventlist_groups SELECT * FROM jos_eventlist_groups;
INSERT INTO j25_eventlist_register SELECT * FROM jos_eventlist_register;
INSERT INTO j25_eventlist_settings SELECT * FROM jos_eventlist_settings;
INSERT INTO j25_eventlist_venues SELECT * FROM jos_eventlist_venues;

Contact form

To upgrade the ALFcontact component
again only, the factory contacts had to be replaced with the old Calamari contacts, after downloading and installing the new version:

DELETE FROM j25_alfcontact;
INSERT INTO j25_alfcontact SELECT * FROM jos_alfcontact;

Polls

The Joomla 1.5 website used mod_poll for some fun (but mostly useless polls), a module which was removed somewhere during the further development of the 1.5 branch. I found no ready replacement which could import the old mod_poll content, so I decided to not install a new module.

Picasa integration

For the continued use use wgPicassa, the most important step is to upload years worth of photos to Picasa, which was supposedly inconvenient, because the Picasa account was said to be linked to Joris’ private Google Account. I thought I’d thus have to create a new Picasa account, linked to an @gbdcalamari.nl email address and ask him to re-upload all the photo’s in his account. Luckily, it turned out that the Picassa account was already associated with an @gbdcalamari.nl email address. So, after resetting the password using that email adress, we can now finally update the gallery.

Slideshow on public homepage

A slideshow with promotional pictures was originally displayed on the home page for non-logged in visitors (using the Unite Nivo Slider extension). It took me some trouble to find out how to display this module before the main content in JA Purity. In fact, that was the only place where I couldn’t position anything. All I could find were clumsy work-arounds, until I stumbled upon the existance of “mass positions” in the JA developer guide.

Joomla 2.5.19 to 2.5.24

I left the upgrade process were it was on Mach 31 of this year, finally continuing the process this August. In the meantime, the Joomla 2.5 branch has arrived at version 2.5.24. Luckily for me, it’s much easier to update an existing 2.5.x installation. After making a fresh backup of everything, I unpacked the archive remotely, after which I updated the database. That was it.

Left to do

  • Cleanup excess JUpgrade table.
  • Get rid of the cpanel thingy in the header
  • Move font size control from cpanel thingy to header?
  • Restore search in header
  • Reinstall XMap extension
  • Rename database to avoid future confusion
« Older posts Newer posts »

© 2024 BigSmoke

Theme by Anders NorenUp ↑