It’s so lovely being back at sea, and David seems to quite like it too. He actually slept right the way through the night the first night! Amazing… (If only he’d do it again…)
AV work is going reasonably well. We’re doi ng loads of training, as much as possible, but still trying to get everything working again too. It’s really hard trying to arrange work for people to do, who know nothing about A/V at all, and may not have even touched a sound, lighting, or video console before joining the team. Still, they’re all great people, and we’re having a lot of fun.
One very frustrating thing was that I had to fix the Deck 4 music and paging system. For whatever historical reason, that’s part of A/V’s responsibility, rather than the electricians. The rack is located in a loud noisy fanroom, full of dust and grime.
The rack isn’t very accessible, and getting in to the wires is really really awkward and scrapey.
It’s not massively well documented (another task on my list…), and I think several people had tried to fix it recently, so all the settings were messed up. In the end, I pulled out the entire system, took it down to our storeroom to clean and test and set up, and then brought it back and plugged it in. It all worked! Which was great. It just then took ages of walking around with the team getting them to tell me which zones were connected and had the right volumes, and so on. Not fun, and as it needs to be working before we arrive in the next port, it meant I had to do that for 4 days rather than work on any of our venues. Grrr…
The new portable ‘fender’ sound systems that we bought are a huge success. They work really well. I asked one of the new A/V team to paint ‘Logos Hope A/V’ on the side of them all so that they don’t get lost, or apprehended into some other department. I was expecting something ugly but functional. Instead I got this:
Really cool!
Anyway, to end this post, here’s a photo of David from when we took him to the kids water zone at the mall in Singapore. Wet as a fish, a nappy as wet as he, and as Becky puts it, “Happy as Larry”. (Whoever Larry is…)
We just had a pretty awesome day off. We woke up pretty late. Well, that is to say David woke up very early, and we were too tired to try and persuade him to sleep in his cot again, so he came to join us in bed for a couple more hours. Eventually we all got up, and had a bit of breakfast.
I then went to the galley to get some supplies (icing sugar, cocoa powder, carrots, pears, and dry pasta) for us to make cakes for some of our ‘ship family’ birthdays coming up, the rest for making food for David. You can guess which ingredients are for which activity.
I then took David to run around and play in the Logos Lounge, while Becky did some laundry. We then had lunch, and then (finally) got around to giving David his first toothbrush, and first teeth brushing!
We next headed out by MRT to the Singapore Botanical Gardens. It was lovely - really peaceful and green, but extremely well paved and buggy friendly. We found a somewhat random statue of Chopin,
we managed to prop up the camera on the buggy for a family photo too:
David wasn’t totally convinced by all the shots, though:
We spent a few hours there, and headed back. We bought a couple of extra bits from the supermarket, and got back just in time for dinner. On the way through the mall, Mini were giving out free balloons - so David got his first balloon as well!
At Dinner, our friend Maria, one of the new AV team, came and sat at our table and said, “So, we’re playing settlers tonight, right?”
So we went up to the cabin, and had a lovely game of Settlers of Catan! David loved it, and for some reason went in to giggles almost every time Maria rolled the dice for the first half of the game! Funny boy.
We finished the game - Becky won, with 10 points (short game), by stealing the longest road from me and Maria would have won on her turn, again, by stealing my longest road. We were just about to pack away, when Becky looked really puzzled, and realised that I should have won the previous round, as I also had 10 points (I’d forgotten about a hidden victory point)!
So we’ve been here almost 2 weeks now. It seems to have passed extremely quickly. The AV team have been hard at work, cleaning, installing, cleaning, testing, cleaning, training, and cleaning. I’ll try and post some more photos of the new equipment and nerdy stuff like that soon. But for now - here’s a photo of the 3 new recruits down in the AV store room cleaning it out. There’s a couple of tank man-holes in the store room, so often during dry-dock deck teams go in through there to work in the tank, and so everything gets covered in dust and grime. It would be nice if they told us in advance so we could get stuff out of their way and protected… but more of that another time.
So. That proves we’re actually working, (or at least that I’m making other people work - which is basically the same thing) now for some more fun photos.
We’re all settling in. David is loving all the attention and stuff going on all the time. It’s lovely being able to eat with my family every day at basically every meal at the moment. Becky is finding it a bit odd, and lonely at the moment, as she didn’t really know many of the other mums, or what things there are to do. She misses cornerstone and the community there. Things are starting to pick up though.
Playing with David is always fun - we’ve been leant loads of toys for him to play with, which is pretty cool. He’s always so active, and wanting to run around. He loves this walker, and spends plenty of time just coasting around the chairs too.
He’s such a happy baby most of the time. The two things he hates are sleeping, and ending a meal. No matter how much he’s eaten, he’s always sad when we stop feeding him and wipe his face. I wonder if he’ll be a chef one day…
Oh. And since some toys are magnetic, and we have a metal deck-head in our cabin (ceiling)…
I use WordPress at work, it’s the engine behind fr.om.org, transform.om.org and most of the other sites that we run for clients.
I’m in two minds as to whether I like it or not. Some things are great. For users (content authors, the people writing blog posts or static pages), it’s fine. Easy to understand and use. For writing plugins and templates, it’s… Well, kind of messy and ugly, but doable. For instance, rather than have 1 HTML template “base” file, with a block saying, “put posts here, and wrap each one in x,y,z”, you have a header.php which has only the start of all the HTML, and a footer.php which closes it all, and a content.php, a content-post.php, and so on, and you have to keep them all synced up. Also, since it’s designed for running on old PHP, it doesn’t use namespaces or other ways of keeping code clean, so all functions in all plugins and all templates are all global scope, so to avoid bumping in to each other, you have to name all your functions stuff like, “madprofs_teapot_plugin_get_resource() and similar. Then at the same time, Wordpress has multiple global functions of its own, some called things like, the_post(), others like wp_get_cached(), (so prefixed with wp_), and others in other styles. Messy.
Still, it gets the job done.
So when I wanted to update and clean up the brummie@sea blog, I thought I’d just stick with blogger. It works, it’s what I already had. But then, accidentally, while trying to update it, I lost the entire design, and putting it back together was this awful mess of Google-XML/HTML confusion, I thought, “you know, stuff it, I’ll just use WordPress.” So I span up a site on the server (in about 2 minutes), pointed the blogger importer at brummieatsea.blogspot.com, let it chug away for a few minutes, and here we are.
I’m just using a very simple built in design for now, (with my own background), but it seems to work. I now don’t have to worry about Google turning off blogger like they did with Reader and GoogleCode, and since I use Wordpress at work, I understand what’s going on pretty well.
That all said, we’re now on the ship, trying to settle in. We have a really nice cabin. Jet lag wasn’t fun, especially with the baby, but we’ll get through it. Yesterday Becky drank a big milky drink by accident - we thought it wasn’t cows milk but plant based, and last night and tonight David has been awful - screaming for ages and refusing to be comforted or to sleep lying down in his bed. So that does seem to confirm that maybe it is a lactose intolerance at the moment - hopefully he’s back to normal in a day or so.
Work so far is just cleaning the various venues. We’ve not even begun to start installing new equipment or doing anything really technical. We’ve got the lights out of their bags and air-blasted them all, cleaned many surfaces and TVs and vacuumed and dusted. It’s going alright. Still sooo much to do.
9 months ago our son was born, and he kind of took priority over writing. I’m sure you understand.
Anyway, the reason for this post is that once again, the brummie will soon be at sea! This time with Mrs. Brummie, and Baby Cumbrian. I don’t know if Becky will object to being Mrs. Brummie, as she’s actually from Yorkshire, but whatever.
So we’re heading out to the Logos Hope again for 3 months.
Becky and I were on board for 3 months just over 2 years ago, helping with the A/V and Events teams after the 6 months dry-dock in Subic Bay. This time, the ship has just come out of several months in dry-dock again, this time having the generators replaced.
I’ll be working with the A/V team again, doing training and helping getting everything back on track and working again. We’ve bought some new equipment, as most of what’s there now is from the original install 6+ years ago, and is in need of some serious overhaulage.
During the Subic Bay drydock 2 years ago, none of the A/V gear was packed away properly, which is part of why everything is in such bad condition now. At least now, since then, it’s become part of A/V culture to do a serious pack down at the start of every dry-dock. All of the lights on the truss get plastic bagged, all of the lighting dimmers get unplugged and tagged out, the desks get bagged and covered, etc.
In some ways, I’m extremely excited about going back again. For the last couple of years I’ve ended up doing more and more I.T. work here, making and maintaining websites for transform.om.org, fr.om.org, omnivision.om.org, omnitube.org, and video.om.org, as well as a few internal projects (including stuff-management and streetsign). It’s kind of interesting, some days, but also pretty frustrating too. I feel I’m more of a creative ideas person, rather than a server-maintenance guy, so the initial creation of websites or programming projects is kind of fun, the on-going maintenanace and bug-fixing drives me to despair (not to mention having to work in PHP with Wordpress…).
I love the ship’s work, I love doing events (especially the school visits and other kids events and actual theatre type events), and am quite excited about not having to do I.T. stuff here for a while.
It’s really strange to think that when we get back from the Logos Hope in 3 months time, it’ll be 10 years since I started this blog, when I first went to Doulos for 3 months….
Anyway, time for dinner, and I need to go play with our son. I’ll try and post something a lot more regularly this time. Writing is theraputic, and I suspect I’m going to need it…
I use the text editor “VIM” for almost everything, since it’s quick, does pretty much everything I need. It’s interface isn’t the quickest to learn, but once you can use it, it’s great.
I especially like being able to log into the server from any computer in the world and be able to have my whole environment available to me, I don’t have to install huge complex IDEs or whatever.
Some plugins I use:
Vundle
vim-less
surround.vim
Syntastic
vim-powerline
pythoncomplete
The-NERD-tree
Markdown-syntax
jedi-vim
YankRing.vim
ack.vim
Pydiction
ctrlp.vim
minibufexpl.vim
and some bits I have in my .vimrc which may be interesting to you other VIMers:
and
Spacebar leaderkey
One thing I only recently did was switch the spacebar to being my ’leaderkey’. I’d not really used the ’leader’ stuff much before,
but now it’s all working I really like it.
which seems a bit odd, but seems to work. Essentially I’ve mapped the “real” leaderkey to something I can’t easily
access by accident, and then (outside of visual / insert mode) mapped space to the leader. I was trying
for a while to figure out some kind of noimap or something syntax to say only do this outside of visual/
insert mode, but then this works without any complexity. Cool.
I’ve then assigned a bunch of window/pane movement leaderkeys:
which lets me switch windows with hitting space and then a direction, or swap windows with double tapping space.
Visible tabs and spaces:
A couple of minor things that really bug me is spaces at the end of lines,
and mixing tabs and spaces. Here’s a couple of bits which make that a bit better.
Python PEP8 style helpers
It’s also pretty helpful having a visual reminder about line lengths:
I have ended up maintaining a few websites which we are hosting on a machine off in Germany somewhere.
I want to get everything automated, so I have less work to do if something goes wrong.
I’m using ansible, which is wonderful, and have a nice set of playbooks I’ve written which take a raw CentOS install, and install everything, (php-fpm, nginx, etc…) set up the virtualhosts, install wordpress & joomla and all that for the sites that need it, etc.
Until today, I’ve been using a virtualbox on my local computer to test on, and it works great. I haven’t bothered with vagrant, as I tried it for a couple of days, and it crashed my whole computer twice, so I gave up. With virtualbox, it’s almost as simple. I have a virtualmachine which I can spin up, install stuff on, and then when I want to go back to a fresh machine, it’s a matter of turning it off, and clicking ‘restore snapshot’ to the snapshot I made when it was clean installed.
It’s practically instant, and just works.
However, running a virtualmachine on my primary work computer all the time does make everything else somewhat sluggish. So I’ve scrouged an old computer that wasn’t doing anything, and am now using that instead.
In order to get snapshots and restore points going well, here’s how I did it:
Install CentOS, leaving a bunch of free space on the LVM primary group.
Make a snapshot when it’s first installed
Restore (merge to) that snapshot whenever I want it back to original settings.
Reboot
To make & restore the snapshots, I’ve written the commands as scripts so I don’t have to remember the lg-whatever stuff. (vg_localtest is the name of the volume group I set up for the HD when I installed):
It works great so far. One improvement I’m making, since I one time forgot to make a snapshot, and so couldn’t restore to a blank slate without re-installing the whole thing (which, admittedly, only takes half an hour or so):
I’m adding ‘snapshot_make’ into a boot script, and then modifying it to remove itself from the bootscript once it’s made the snapshot. That way as soon as the machine reboots into it’s original snapshot, it will automatically re-create the snapshot.
For the last few months, some friends and I have been working in our spare time on a 12 part video series, “Matthew’s Blog” - a video blog from the point of view of the Apostle Matthew (although he doesn’t know it yet).
He starts off as a young, arrogant tax officer, which is where we meet him in the first Episode:
I hope you enjoy! Please join us as it leads up to the climax at Easter this year on facebook.com/matthewsblog !
We finally got the last projects out of that monstrosity ‘Final Cut Server’, but one project at the end was a nightmare to export, and we weren’t sure which files from the end actually were in a different version of the project that we already had.
We essentially needed to merge two different versions of projects directories, making sure not to lose any files, and we didn’t want to lose the organization of the files.
Here’s a quick python script I wipped up to make it quicker.
With the 4000 odd files in the project, it took under a second to run, and it turned out we only had about 20 files which hadn’t already been merged. Much simpler to sort out.
The script took about 10 minutes to write and test. This is why you should learn to program. Hacking stuff like this up is easy, and saves *so* much time.
(Yes, you probably could do this with a couple of lines of perl or BASH, but what the heck.)
#!/usr/bin/env pythonfromsubprocessimport Popen, PIPE
fromosimport stat
fromos.pathimport basename, abspath
defrun(*command):
found = Popen(command, stdout=PIPE)
return found.communicate()[0]
deffiles_in(dirname):
return [x for x in run('find', abspath(dirname), '-type','f', '-print0').split(chr(0)) if x]
if__name__=='__main__':
fromsysimport argv
try:
sourcedir = files_in(argv[1])
destdir = files_in(argv[2])
exceptIndexError:
print'Usage:'print argv[0], ' 'print'Where you want to check if files in are also in 'print'(but perhaps with a different relative path)' exit(1)
print'---------------------------------------------------'print'{0} files in {1}'.format(len(sourcedir), abspath(argv[1]))
print'{0} files in {1}'.format(len(destdir), abspath(argv[2]))
print'---------------------------------------------------' destnames = {}
for destfile in destdir:
destnames[basename(destfile)] = {'size': stat(destfile).st_size,
'path': destfile }
for newfile in sourcedir:
base = basename(newfile)
if base notin destnames:
print newfile, 'is NOT in the new dir'else:
destfile = destnames[base]
if stat(newfile).st_size != destfile['size']:
print'{0}({1}) differs from {2}({3})'.format(
newfile, stat(newfile).st_size,
destfile['path'], destfile['size'])