is the link. I put it together in a few hours, it should have been quicker, but I’m still re-acquainting myself with python.
It is a nice language.
One thing I did today, while cleaning up a bit, was wonder about something I remember from doing python years ago - string concatenation. Joining two strings (texts) together.
“Hello” + “World” -> “HelloWorld”
I remembered something about it being slow, and python recommending using
‘’.join((“Hello”, “World”))
which seems to me one of the most blatently ugly obscure gotchas I’ve come across in a long while.
Anyway, I refactored my code into that style - converting databases and song lyrics and writing XML stuff is pretty much all Text formatting and concatination.
It made no discernable difference. So I went back to normal easier to read x += y, and x = y + z type of code.
is the link. I put it together in a few hours, it should have been quicker, but I’m still re-acquainting myself with python.
It is a nice language.
One thing I did today, while cleaning up a bit, was wonder about something I remember from doing python years ago - string concatenation. Joining two strings (texts) together.
"Hello" + "World" -> "HelloWorld"
I remembered something about it being slow, and python recommending using
''.join(("Hello", "World"))
which seems to me one of the most blatently ugly obscure gotchas I’ve come across in a long while.
Anyway, I refactored my code into that style - converting databases and song lyrics and writing XML stuff is pretty much all Text formatting and concatination.
It made no discernable difference. So I went back to normal easier to read x += y, and x = y + z type of code.
So Becky and I came over to Cyprus for a couple of weeks. The last time we visited was almost 2 years ago, so this is our first time here as a married couple.
It’s relaxing, and interesting, and fun, and weird being back in Cyprus. A few things have changed, many people come and go, which is usual…
We’ve been catching up with loads of people from the local church (various congregations), been sailing with my dad twice, been to a performance at theatre antidote, looked at their lighting system and helped look at the audio stuff they have, played loads of Settlers of Catan & Ticket to Ride with my parents and their usual Catan-Cronies (hi guys! Hope you like your new title…), we visited Nicosia, and went across (briefly) to the North, spent time with the cats (me being somewhat cat-starved), went for walks by the salt-lake, I bought a Cyprus coffee maker, and some other bits of (tasteful) Cypriotness. Partly because I like Cyprus coffee, and partly because I hope we’ll be heading back towards the ship(s) at some point, and would like to have some stuff from the country to show people.
I can’t figure out how to make the webcam take pictures (I’m writing on mum’s chromebook) so you’ll just have to wait for photos of the coffee maker.
Anyway. (I can’t write a blogpost without at least one paragraph starting with ‘Anyway’.) We’re off to the UK again in a couple days, which will be odd again.
As I mentioned, briefly, we are looking at heading back towards the ship(s) at some point. Probably for a few months at the end of the year, if we can, and see if maybe we should be going out there for a few years again at some point - when, we don’t know.
I’m looking forward to seeing our friends in the UK again soon, but not really looking forward to the weather, or work, to be honest. Seeing live theatre stuff again… I miss it a lot. And being at sea, even if it is on a little boat. And warm weather, even if not that warm. OMNIvision is doing some cool stuff, and the team is amazing, and I’m glad to be part of it. But documentary-type video production, media-engineering and web development are kind of interesting, but not really exciting any more for me.
Thinking that next week I’ll probably be fixing broken mic cables and fighting stupid Internet Explorer broken-ness makes me very gloomy.
Still. I’m in Cyprus now, spent the day sailing with my wife, my dad, currently I have a cat purring on my lap, about to play a game of Settlers, and go out for a meal this evening with some old friends, so, I really shouldn’t complain! This has been a really good fortnight.
I appologise for how techy and geeky and boring this post is.
I even find it so myself.
But I need to get this off my chest, so I can actually write about interesting stuff later…
And some geeky people may actually find something comprehensible in here. Perhaps even interesting.
If you want to read it, then if your eyes glaze over with techiness, then stop reading, drink a glass of water, scroll down to ’ And another thing’, and read from there.
So then.
Most of my recent work has been on the omnitube.org website.
It’s a site I put together with David when I visited OMNIvision 4 years ago (now that seems weird!). We put it together in about 2 weeks, based on a well known large complex CMS (Content Management System) called Joomla, which was the OM standard web-site-software-package, a few very large complex modules for that, specifically “VirtueMart”, plus a bunch of my own hacks in php/javascript, plus a load of very clever HTML/CSS from David. Since then, I’d done a few fixes for them, logging on from a ’net cafe in Singapore, and when Becky and I arrived at OMNIvision 2 years ago, it was basically in the same state.
The trouble was that in the 2 years since we’d put it together, the internet had changed quite a lot, and we hadn’t had the time to really work on OMNItube to change with it. Joomla had advanced significantly, as had Virtuemart, and alas, we couldn’t smoothly upgrade to the latest versions of those without majorly breaking everything.
About a year ago (from now), I decided it was about time to do something about this, as I was scared that a now 3 year old install of joomla/etc without being able to have security updates was a bit scary. Especially as we wanted to sell videos online, and DVDs, and so were doing credit-card type security stuff. And the system admin wanted to upgrade the server, and I thought doing that would probably break everything again.
I spent about a week trying to upgrade things to the latest versions of joomla and virtuemart. Some bits I got almost close to working, but in the end it just totally bogged me down. Joomla + Virtuemart + all the plugins and modules which were installed to make everything work as we wanted ended up at around 7000+ files, and 800'000 lines of code. Not joking. So tracking down bugs and errors and trying even to find which function I was looking for took forever, and I simply don’t have a big enough brain to hold that much in my head at once.
So after a week or two of working hard to try and upgrade things, I gave up, it was just too big a job for me to do on my own. I’d made no progress, and it was still a big stinkin’ mess.
We also had some new features we wanted to get working. Specifically, iTunes subscriptions, XML sitemap, facebook commenting/liking/etc, and related product lists. The “search” system was also very broken, giving pretty much useless results most of the time.
So we needed to move a bunch of users from an OSX Leopard Server to a normal OSX machine (as a backup / test bed)
using the normal ‘migration assistant’ didn’t work, so we had to do it manually. Possibly due to moving from a Intel based OSX-Server machine to a PPC based non-Server?
All user details are kept in
/private/var/db/dslocal/nodes/Default/users
in .plist files (XML, human readable).
and all passwords are kept in hash files in
/private/var/db/shadow/hash
The hash files are named after the “generateduid” found inside the users .plist file.
If you’re using home directories on the computer, you’d need to move them across too.
Ditto for user groups. User groups are kept in
/private/var/db/dslocal/nodes/Default/groups
Move the files across to the new machine, and it all just works.
if you use " cp -n" on the command line, it won’t write over the top of files already there, so shouldn’t muck anything up (hopefully!)
NOTE: One weird thing was that a bunch of the users didn’t appear in the Accounts Preference Panel. This seems to be linked whether or not the account .plist file has a default shell set up:
You’ve been such a help in me finding stuff, random answers to obscure questions, that I should also submit random answers I’ve found out myself, so others can find them.
So we needed to move a bunch of users from an OSX Leopard Server to a normal OSX machine (as a backup / test bed)
using the normal ‘migration assistant’ didn’t work, so we had to do it manually. Possibly due to moving from a Intel based OSX-Server machine to a PPC based non-Server?
All user details are kept in
/private/var/db/dslocal/nodes/Default/users
in .plist files (XML, human readable).
and all passwords are kept in hash files in
/private/var/db/shadow/hash
The hash files are named after the “generateduid” found inside the users .plist file.
If you’re using home directories on the computer, you’d need to move them across too.
Ditto for user groups. User groups are kept in
/private/var/db/dslocal/nodes/Default/groups
Move the files across to the new machine, and it all just works.
if you use cp -n on the command line, it won’t write over the top of files already there, so shouldn’t muck anything up (hopefully!)
NOTE: One weird thing was that a bunch of the users didn’t appear in the Accounts Preference Panel. This seems to be linked whether or not the account .plist file has a default shell set up:
There is a reason why I prefer text based / commandline / unix interfaces.
“Why?” You may ask?
So I had to update a website – basically changing from ‘2011’ to ‘2012’ – for someone. Once I got in to the file manager (web based) I could find the graphics files to replace, reasonably easily, and upload new ones.
But I needed to update the text of the banner. No .html files, or .inc or anything to edit.
So I went to the “WYSIWYG” editor section of the site. I could edit everything, except that part. And the footer. And the page title. So, I could edit the “articles”, but not much else.
After hunting around for a while, I decided to try the “Website Management” area. Total different interface again, loads of settings boxes and tabs. I found there on different pages where I could set the page title, and so on. But I couldn’t find the banner! Anywhere!
Eventually, this morning, I found it.
In “Website Management” -> “Structure” -> “Website Settings” -> “Code Injection” -> “Advanced” -> “Site Banner HTML Override – Edited”
I hadn’t found it before, because the section I needed was “Site Banner HTML Override”, and to find that, I needed to look through a drop-down box which was displaying “Extra Header Code (within )” with some javascript includes.
SERIOUSLY.
What is wrong with just having a bunch of text files, and then letting me type
“grep 2011 *”
And it giving me a list of files to edit? HOW is this graphical interface any easier?
OK. So ‘grep’ isn’t common English, I know. Learning basic unix does have a steep looking learning curve. At first.
In case you’re interested, I started, months and months ago, writing an “English-like” command shell.
So you could type commands like:
“list all files which contain 2011”
and it should tell you.
It’s on sourceforge, the first alpha versions of the code.
I wrote this a few months ago in a prayer meeting. I know. Very holy of me.
Windows Movie Maker [C:Program FilesMovie MakerMOVIEMK.exe] is a highly virulent productivity virus. Not only effecting the computer it is hosted on, but having a socially engineered payload which self-propagates through USB sticks, video/data projectors, and various presentation media.
Reports have come in of this virus’ unique capability to be transmitted through analogue forms such as VHS tape, and occasionally film.
Symptoms:
Audience hypnotism
Hours of time wasted by ’editor’ and ‘viewers’
Computer lock-ups and data-loss
Lowered expectations of quality
Copyright infringement
Physical injury
Death
Response Actions:
CTRL-ALT-DEL
[small print. Dear lawyers, et al. This is what’s known as parody. Just like the word ‘Movie’ is in the program title. In other words, a joke.]