Lighthouse      Zap's Digital Lighthouse
   


About
Zap's Digital Lighthouse is
a Blosxom weblog for our digital outpost on the Internet

For info
info@rax.org


Useful links:
Google
Cyberpresse
The Reg
Slashdot
FreeBSD
LinkedIn
Twitter
Boursorama
RAX
zap
Soekris
xkcd
AirFrance
Wiki soekris
Wikipedia
Wiktionary
ACME
blosxom

Categories:
/FreeBSD (22)
/admin (1)
/blosxom (6)
/games (3)
/hardware (16)
/inet (4)
/misc (31)
/notwork (2)
/software (11)
/tech (1)

Archives:
 2017 (2)   
 | January (2)
 2016 (3)   
 | November (1)
 | October (1)
 | January (1)
 2015 (9)   
 | December (2)
 | November (1)
 | October (1)
 | June (1)
 | May (2)
 | February (1)
 | January (1)
 2014 (9)   
 | December (1)
 | October (1)
 | September (1)
 | August (2)
 | May (3)
 | April (1)
 2013 (20)   
 | October (3)
 | June (4)
 | May (1)
 | April (7)
 | March (1)
 | February (1)
 | January (3)
 2012 (60)   
 | December (4)
 | October (1)
 | July (4)
 | June (8)
 | May (1)
 | April (6)
 | March (3)
 | February (14)
 | January (19)
 2011 (3)   
 | December (1)
 | November (2)
 2008 (1)   
 | October (1)


Blosxom

       

Fri, 06 Jan 2017

IPv6 in Montreal

Since I've moved back to Montreal from Paris, I haven't had time to re-set the IPv6 part of my LAN, which had been running off of a SIXXS tunnel for a few years.

The good news, is that my local ISP (Videotron) has been allowing IPv6 to the home for a few years already though 6rd... it's not yet native IPv6 to the home, but as far as I can tell it seems functionally useful (information available here).

So, I activated 6rd on my Asus router and got an IPv6 address as expected. This is good, so I will set up my home server (DNS, web, etc) to also work with IPv6 and move back to a hybrid IPv4/IPv6 home network... need a couple of days to work on that, so it will probably not happen before spring (ha!).

Still, it's good to see that IPv6 is spreading. I am quite impressed by Google's statistics here... seems like over 15% of users access Google through IPv6 today. That's a lot more than I expected! Glad to see that the transition is really happening.

/inet | Posted at 02:58 | permanent link

Sun, 01 Jan 2017

Another New Year

canada150

Welcome to the new level, welcome to 2017, welcome to the year of the 150th anniversary of Canada.

I'm just about old enough to remember the centennial celebration in 1967 in Montreal, with the International Exposition Expo 67, so even though I've lived abroad for a number of the intervening 50 years, I feel some sort of connection to this event and I will certainly seek out some celebrations during this year to show I feel that this is a most excellent country :-)

It's been fun being along for the ride for the past 50 years, and while it's a bit sobering to reflect that I will most likely not be around anymore in 2067 for the 200th anniversary, I intend to be along for a great many years still.

So, to my friends all over the world and all over this country: I wish you a happy 2017, and I invite you to join me in wishing this country a happy anniversary!

| Posted at 17:21 | permanent link

Wed, 09 Nov 2016

2016 Elections in the USA

Hmmmm. At this late time of night (or early time of the morning), media outlets have called the election for Donald Trump.

Apparently, Hilary Clinton has phoned him to concede the election, even though she will not give a speech tonight.

Throughout the primaries and the election, pollsters have underestimated support for Donald Trump. Seems to me like the biggest losers in this election are pollsters and people who try to interpret polls: they just seem to be consistently wrong these days. Actually, this has also been true regarding #Brexit (and the last Canadian election also).

Seems like pundits consistently underestimate the degree to which voters are upset these days.

Listening to Donald Trump's victory speech... and then off to sleep. Tomorrow will be crazy in the markets.

Good night to all.

/misc | Posted at 02:52 | permanent link

Sat, 15 Oct 2016

Installing FreeBSD 11

Very busy time lately, but I'm glad to see that FreeBSD 11.0-RELEASE is now out, so I started upgrading my systems to this latest release this morning. It is quite easy:

/usr/sbin/freebsd-update -r 11.0-RELEASE upgrade
/usr/sbin/freebsd-update install
then reboot
/usr/sbin/freebsd-update install
pkg upgrade

and that's it.

On one of my Soekris boxes (the net6501) that has an external USB disk for backups and general storage, the new kernel seems to try to check the filesystem faster than it used to... this means that it tries to fsck the filesystem before the USB disk has been mounted, and hence I get:

THE FOLLOWING FILE SYSTEM HAD AN UNEXPECTED INCONSISTENCY:
        ufs: /dev/da0s1a (/usbdisk)
Warning! Some of the devices might not be available; retrying
Waiting 30s for the root mount holders: usbus7 usbus3
uhub7: 3 ports with 3 removable, self powered

and then it retries and works fine. The filesystem is tagged as 'late' in fstab, but that doesn't appear to do the trick.

OK, back to PuTTY to complete the upgrade of my various systems.

/FreeBSD | Posted at 08:15 | permanent link

Sun, 31 Jan 2016

Touchpads are annoying.

I've lived through many generations of laptops, from the Osborne 1 through various Toshibas, HPs, Dells, IBMs, Lenovos, and Macbooks to today's Ultrabooks and various tablets.

Of course, using a mouse with a laptop has always been annoying: you're trying to use the laptop on a plane (on one of those ridiculously small tray tablets), and there is no place to use a mouse properly. Various companies have tried various tricks to make the experience a bit easier: tiny mice (Kensington has produced those for years), trackballs, ... but with limited success. The only one that I found I could use proficiently, is the IBM trackpoint.

However, in recent years, probably due to the influence of Apple MacBooks, more and more laptops come with touchpads (or should I say, all laptops come with touchpads?).

Sigh.

I find touchpads really annoying as devices to interact with laptops. It's difficult to reliably do many of the operations that I need to do when using a computer:

  • accurately selecting things on the screen
  • dragging and dropping things
  • doing multiple selections
  • and many more...

I am even annoyed by my Lenovo Yoga laptop at work, even though it has a trackpoint in addition to the touchpad, but I find that even just as a "right and left button" replacement, the touchpad is not working as reliably as a pair of dedicated buttons :-(

I still prefer a trackpoint nib with two buttons over a touchpad, even if some of the gestures on the touchpad are nice (e.g. to zoom on a picture).

However, if I look at the industry, this is clearly a battle that is not worth fighting: this ship has sailed and touchpads are definitely part of the modern laptop configuration these days.

Grin and bear.

/hardware | Posted at 09:31 | permanent link

Thu, 31 Dec 2015

End of 2015

As 2015 comes to a close, we're once again heading to Henri's for our usual end of year revelries.

It has been quite a year, with lots of changes. Let's hope 2016 proves to be positive for us all.

So once again, I wish you all a very happy, healthy, and successful new year.

Cheers

/misc | Posted at 18:44 | permanent link

Thu, 10 Dec 2015

Artificial Stupidity

Artificial Stupidity

In this age of ubiquitous technology and the Internet of Things, I must admit that I have quite a few misgivings about the rough edges of the technologies that we're introducing in our lives...

Some recent caveats:

  • I had 4 winter tires installed on my BMW last Monday. By Sunday night, a warning popped up on my car's central display telling me that the pressure of all 4 tires was incorrect. The dealer's advice is "oh, just reset the warning... that happens frequently". Sigh, either the technology is not intelligent enough to take a wheel change into account, or their processes are in serious need of improvement.
  • I had a 2014 Lexus ES 300h car with some sort of front collision avoidance feature. Well, twice in the one year that I owned the car, it interpreted a road surface anomaly (a metal plaque used by road repairs teams to cover up holes in the road during repairs) as an obstacle in the road and suddenly applied the brakes and locked the seat belts while normally driving/accelerating on the street. Nothing bad happened either times, but it was quite unnerving and could have been quite dangerous (I could have been rear-ended).
  • When we moved into our new apartment last year, I installed new lamps (since our previous lamps from Europe didn't make the trip with us as they were 240V)... I couldn't resist installing a couple of WeMo devices so as to remotely control some of my fixtures. Well, having changed phones a couple of times since setting those up, I now have 'programming' in those controllers that I cannot edit anymore... indeed, one lamp turns on at 00:00 daily and apart from reinitializing the device from scratch, the only option I have found is to set up a separate program to turn it off at 00:01 daily... yuck.

So this gets me thinking about self driving cars and how often I disagree with our GPS's recommended routes. I foresee much annoyance/frustration ahead for all of us poor humans in the upcoming IoT controlled world.

Sigh. Good technology is tough to get right!

Still, I am an incorrigible tech-addict :-)

/tech | Posted at 19:51 | permanent link

Sun, 08 Nov 2015

Adding a new USB disk to my FreeBSD 10.2 server

(I think that the stuff below is accurate, but do proceed with care if you're going to try it out... I could have made a mistake writing down the list of steps. Let me know if you spot any issue.)

I would like to add a new USB disk to my FreeBSD 10 machine. In the olden days, I used to use sysinstall, but that doesn't seem to be the modern way to do things these days.

Notably, I would like to "label" the drive, so that I can mount it with its logical name rather than its physical device name... this is particularly important for USB disks, as plugging and unplugging USB device ports may cause changes in device names, which could cause really annoying issues if fstab mounts the wrong device (as I've already written about on Feb 20th, 2012).

So, here is what one must do to set up a new disk for use on FreeBSD...

1) First of all, decide how you're going to name your device. Using volume names instead of just raw device names is highly desirable if you're in a dynamic environment (e.g. if you're going to be adding disks to the computer in the future -- including USB storage, devices may end up being renamed).

For USB disks, choosing good label names is important: you may want to replace a disk at some point if one crashes (so do not use the /dev/ufsid/... names) and/or you may have a CPU crash and you'd like to mount your disk onto some other FreeBSD system (so do not use the same names for your bootdisks on all computers, unless they are truly meant to be considered identical clones). This means that 'bootdisk' is probably not a great label, in case you ever need to mount it on another machine that also boots from a 'bootdisk'... 'myhostname-bootdisk' might be better, albeit a bit verbose.

I'm not sure if there are canonical policies for that sort of thing, but I'd be interested in hearing about recommendations in this area.

Now, getting to the actual set up of the drive.

2) connect the disk to the USB port, and check out the dmesg log to find out the correct device name, something like da0 or da1 (depending on whether it's your first USB or SCSI disk, or your second one, or ...)

# dmesg | tail
da0 at umass-sim0 bus 0 scbus6 target 0 lun 0
da0: <WD My Book 1230 1050> Fixed Direct Access SCSI-6 device
da0: 400.000MB/s transfers
da0: 1907697MB (3906963456 512 byte sectors: 255H 63S/T 243197C)
da0: quirks=0x2<NO_6_BYTE>
#

In this case, it's da0 and it's connected to a USB3 port (so it can do 400 MB/s rather than 40 MB/s for USB2).

As always: make sure you select the right device name, because formatting the wrong drive is bad and will cause your data to go away. If you want to check out which disks are present, you can type:

# camcontrol devlist

You can also use the usbconfig command to see what USB hubs and devices are present on your system:

# usbconfig

You may also want to use the 'mount' command to check which disks are currently mounted, but with volume labels being used instead of phycical device names, you may not see the 'real' devices names in there (e.g. /dev/ufs/bootdisk instead of /dev/da1 or something similar).

3a) Once certain which disk to use, if a UFS filesystem is desired, proceed thusly (if a ZFS filesystem is desired, move on to step 3b):

(note: /dev/XXX represents the new disk, such as /dev/da0 or /dev/ada1)

# dd if=/dev/zero of=/dev/XXX bs=1k count=2
# gpart create -s gpt XXX
# gpart add -t freebsd-ufs XXX
# newfs -U -L myvolume /dev/XXXp1   ; create a UFS filesystem with label myvolume on partition p1
# mkdir -p /mnt/newmountpoint
# mount /dev/ufs/myvolume /mnt/newmountpoint

This creates a whole disk for FreeBSD (such as a data disk). If you want to set up a disk with multiple filesystems, you can do something like:

(This creates a 'USB boot disk')

# dd if=/dev/zero of=/dev/XXX bs=1k count=2
# gpart create -s gpt XXX
# gpart add -t freebsd-boot -s 512k -a4k -l usbboot XXX
# gpart bootcode -b /boot/pmbr -p /boot/gptboot -i1 XXX
# gpart add -t freebsd-ufs -l usbrootfs -b 1m -s 2g XXX
# gpart add -t freebsd-ufs -l usbvarfs -a 1m -s 2g XXX
# gpart add -t freebsd-ufs -l usbusrfs -a 1m XXX
# gpart show -l XXX         ; check out the partitions that we're created
# newfs -U -t /dev/gpt/usbrootfs
# newfs -U -t /dev/gpt/usbvarfs
# newfs -U -t /dev/gpt/usbusrfs

Et voilą, finished. You may want to add a line to /etc/fstab to have /dev/ufs/myvolume mounted automatically at boot time. Always use volume label names instead of physical disk drive names, especially for USB drives where the disk drive name may change across reboots depending on what USB devices are plugged into the computer's ports and USB hubs.

3b) If a ZFS filesystem is desired instead, skip step 3a and proceed thusly (with /dev/XXX representing the new disk, such as /dev/da0 or /dev/ada1 once again):

(Once again, this creates a 'USB boot disk')

# dd if=/dev/zero of=/dev/XXX bs=1k count=2
# gpart create -s gpt XXX
# gpart add -t freebsd-boot -s 512k -a4k -l usbboot XXX
# gpart bootcode -b /boot/pmbr -p /boot/gptzfsboot -i 1 XXX
# gpart add -t freebsd-zfs -l usb0 XXX
    ...one can verify with 'gpart show XXX'
# zpool create -m /mnt zroot /dev/gpt/disk-main

Et voilą, finished.

4) At this point, your disk is up and running. Do not forget to use mount to make it available under FreeBSD, and to umount it before unplugging it.

Good luck!

Supplementary reading

You may want to check out http://www.macfreek.nl/memory/FreeBSD9withZFSbootdisk for more info. Furthermore, http://www.macfreek.nl/memory/FreeBSD9onSoekrisnet6501 may also be pertinent. And about ZFS, do check out: http://nex7.blogspot.ca/2013/03/readme1st.html and of course this: http://www.solarisinternals.com/wiki/index.php/ZFSEvilTuning_Guide

/FreeBSD | Posted at 01:02 | permanent link

Wed, 21 Oct 2015

It's Back To The Future Day!

In the Back to the Future II movie, way back in the '80s, Marty McFly travels to the future... he travels to the 21st of October 2015.

It's amusing to be living tthat day "for real".

So we don't have hoverboards yet (not quite), but we have lots of technology that the '80s would find truly amazing... I often say that in IT we reinvent the impossible every 5 years.

Nothing really exceptional happened today in my segment of the universe, except for the fact that I've finally obtained a Bat.-Chat. 25t Tier X medium tank in the World of Tanks on-line game after many months of playing. It should be a fun tank to play.

Anyway, happy Back to the Future Day to all.

Cheers!

(p.s. it's still 2015-10-21 in Montreal as I write this :-)

/misc | Posted at 23:37 | permanent link

Wed, 24 Jun 2015

Personal missions for World of Tanks - June 2015

On January 15th 2015, World of Tanks introduced personal missions. I wanted to have a simple list outside of the game to keep in another window, hence this blog entry.

Later in 2015, Wargaming changed some of the missions, hence this updated list.

A) Operation StuG IV

Light Tank missions

LT-1: For Victory!

  • Win the battle
  • Be among the top 10 players on your team by XP
  • (secondary) Survive the battle

LT-2: Reconnaissance

  • Be the first on your team to spot 2 enemies
  • (secondary) Survive the battle

LT-3: The Pursuit

  • Cause damage to enemy vehicles at least twice by shooting them
  • (secondary) Destroy an enemy vehicle by shooting or ramming it

LT-4: A Forced Halt

  • Destroy a track of an enemy vehicle
  • (secondary) The vehicle immobilized by you must receive damage by your allies

LT-5: The Forward Observer

  • Spot an enemy vehicle and assist your allies in destroying it
  • (secondary) Spot enemy vehicles and enable your allies to damage 2 vehicles spotted by you

LT-6: Battle Support

  • Allow allies to damage 2 enemy vehicles by spotting them or destroying their tracks
  • (secondary) Use the following equipment: Coated Optics or Binocular Telescope

LT-7: The SPG Hunter

  • Spot an enemy SPG and cause damage or any critical hit to it
  • (secondary) Survive the battle

LT-8: Get Out of Our Base!

  • Participate in the successful capture of the enemy base or reset enemy capture points of your base
  • (secondary) Win the battle

LT-9: Hawk-Eyed

  • Spot 2 enemy vehicles before they spot you
  • (secondary) Survive the battle

LT-10: The Maximum Result

  • Finish the battle as the top player on your team by XP
  • (secondary) Win the battle

LT-11: A Fair Fight

  • Cause damage at least 4 times to enemies that are the same tier as your vehicle or higher
  • (secondary) Cause at least 1000 HP of damage

LT-12: The Ghost

  • Spot enemy vehicles and enable your allies to cause at least 500 HP damage to vehicles spotted by you. Remain unspotted at the moment when damage is caused.
  • (secondary) Use the Camouflage Net equipment, and have a Camouflage that corresponds to the season

LT-13: The Key to Victory

  • Spot enemy vehicles and enable your allies to cause at least 1500 HP damage to vehicles spotted by you or platoon mates
  • Cause at least 1000 HP of damage (personally or with platoon)
  • Can be personal or platoon
  • (secondary) Personally survive the battle

LT-14: The Battle Watch

  • Spot enemy vehicles and enable your allies to cause at least 2000 HP damage to vehicles spotted by you or platoon mates
  • Can be personal or platoon
  • (secondary) Personally survive the battle

LT-15: The Aggressive Recon Specialist

  • Total damage caused and the damage caused by your allies upon your spotting or destroying a track must be at least 4000 HP
  • (secondary) Survive the battle

Medium Tank missions

MT-1: First Steps

  • Cause damage to an enemy vehicle
  • Win the battle
  • Be among the top 10 players on your team by XP
  • (secondary) Survive the battle

MT-2: Good Hit!

  • Fire at least 6 shots that cause damage to enemy vehicles
  • (secondary) Destroy an enemy vehicle

MT-3: The Spearhead

  • Cause damage to an enemy vehicle during the first 2' of the battle
  • (secondary) Survive the battle

MT-4: Stay Still, Would You?

  • Destroy a track of an enemy vehicle, and cause damage to the immobilized vehicle before the track is repaired
  • (secondary) Destroy an immobilized enemy vehicle before its track is repaired

MT-5: Counter-Reconnaissance

  • Destroy an enemy light tank by shooting or ramming it
  • (secondary) Survive the battle

MT-6: Rapid Fire

  • Cause damage to enemy vehicles of 3 different types
  • (secondary) Survive the battle

MT-7: A Surprise Blow

  • Destroy an enemy SPG
  • (secondary) Survive the battle

MT-8: Confrontation

  • Cause damage to enemy medium tanks at least 3 times by shooting them
  • Total damage cause to enemy mediums must be at least 500 HP
  • (secondary) Survive the battle

MT-9: A Worthy Opponent

  • Cause at least 500 HP of damage to enemy heavy tanks (same tier or higher)
  • (secondary) Survive the battle

MT-10: A Versatile Warrior

  • Cause damage to enemy vehicles at least twice by shooting them
  • (secondary) Destroy an enemy vehicle by shooting or ramming it

MT-11: Ram Them!

  • Cause damage to an enemy vehicle by ramming it
  • (secondary) Win the battle

MT-12: The Incinerator

  • Set an enemy vehicle on fire
  • (secondary) Be among the top 5 players on your team by XP

MT-13: An Active Action

  • Cause at least 3000 HP of damage to enemy vehicles by you or platoon mates
  • Can be personal or platoon
  • (secondary) Personally be among the top 5 players on your team by XP

MT-14: Team play

  • Destroy at least 3 enemy vehicles by you or platoon mates
  • Can be personal or platoon
  • (secondary) Cause at least 1500 HP of damage by you or platoon mates

MT-15: The Hunter and the Hunted

  • Destroy 2 enemy tank destroyers
  • (secondary) Survive the battle

Heavy Tank missions

HT-1: Debut

  • Destroy an enemy vehicle
  • (secondary) Cause at least 1000 HP of damage

HT-2: Point Blank Shooting

  • Destroy an enemy vehicle from a distance up to 100m
  • (secondary) Cause at least 1000 HP of damage

HT-3: Omnivorous

  • Destroy 2 enemy vehicles
  • Destroy vehicles of 2 different types
  • (secondary) Cause at least 1000 HP of damage

HT-4: Hit Them Where It Hurts!

  • Damage or destroy 1 module, or injure 1 crew member of an enemy vehicle
  • (secondary) Survive the battle
  • (secondary) Win the battle

HT-5: Target Acquired!

  • Cause at least 1000 HP of damage to enemy vehicles at close range (up to view range of your tank)
  • (secondary) Destroy 2 enemy vehicles

HT-6: A Heavy Target

  • Destroy 2 enemy heavy tanks
  • (secondary) Survive the battle

HT-7: I've got it covered

  • Participate in the successful capture of the enemy base or reset enemy capture of your/neutral base
  • Cause at least 1000 HP of damage
  • (secondary) Destroy an enemy vehicle

HT-8: With Guns Blazing

  • Cause at least 1000 HP of damage to enemy heavy tanks
  • (secondary) Destroy 2 enemy vehicles

HT-9: A Crushing Blow

  • Destroy an enemy vehicle by ramming
  • (secondary) Win the battle

HT-10: A Weighty Argumennt

  • Be among the top 3 players ion your team by damage caused
  • (secondary) Survive the battle

HT-11: Not Even a Scratch!

  • Cause at least 1000 HP of damage
  • Do not have any damaged modules or injured crew members
  • (secondary) Destroy 2 enemy vehicles

HT-12: Sturdy Armor

  • Have total damage blocked by armor equal or exceed your HP
  • Cause at least 1000 HP of damage
  • (secondary) Win the battle
  • (secondary) Survive the battle

HT-13: Storm the Defence!

  • Destroy an enemy vehicle during the first 3' of the battle by you or platoon mates
  • Can be personal or platoon
  • (secondary) Personally survive the battle

HT-14: Platoon Assault

  • Destroy 3 enemy vehicles of 2 different types by you or platoon mates
  • Can be personal or platoon
  • (secondary) Personally survive the battle

HT-15: Tempered Steel

  • Damage caused, damage received, and damage blocked by armor must be at least 6000 HP total
  • (secondary) Win the battle

Tank Destroyer missions

TD-1: Effective performance

  • Be among the top 7 players on your team by XP
  • (secondary) Win the battle

TD-2: Aimed Fire

  • Damage 1 module or injure 1 crew member of an enemy vehicle
  • (secondary) Survive the battle and at the end of the battle, do not have any damaged modules or injured crew members of your vehicle

TD-3: Good Hunting

  • Cause damage to 2 enemy vehicles
  • Win the battle
  • (secondary) Survive the battle

TD-4: Ambush

  • Destroy an enemy vehicle. Remain unspotted by it at the moment of its destruction
  • (secondary) Use the Camouflage Net equipment

TD-5: A Long-Range Gun

  • Cause damage to an enemy vehicle from a distance of at least 300m
  • (secondary) Cause at least 1000 HP of damage

TD-6: Precise Calculation

  • Cause damage to an enemy vehicle from a distance of at least 250m
  • Enemy vehicle must be on the move
  • (secondary) Destroy a moving enemy vehicle

TD-7: The First Strike

  • Destroy an enemy vehicle, having received no prior damage to your vehicle
  • (secondary) Win the battle

TD-8: A Huge Caliber

  • Cause twice as much damage to enemy vehicles than the HP of your vehicle
  • (secondary) Win the battle
  • (secondary) Survive the battle

TD-9: Spot On!

  • Score 3 hits in a row
  • (secondary) Destroy an enemy vehicle

TD-10: A Hidden Menace

  • Cause at least 1000 HP of damage to enemy vehicles. Remain unspotted
  • (secondary) Win the battle

TD-11: The Key Role

  • Finish the battle as the top player on your team by damage caused
  • Cause at least 1000 HP of damage
  • (secondary) Survive the battle

TD-12: Big Game Hunting

  • Destroy an enemy heavy tank
  • Cause at least 1000 HP of damage
  • (secondary) Win the battle

TD-13: Tank Hunters

  • Destroy 3 enemy vehicles by you or platoon mates
  • Can be personal or platoon
  • (secondary) Personally survive the battle

TD-14: Big Hunt

  • You or your platoon mates must cause at least 30% of the total damage caused to enemy vehicles by your team
  • Can be personal or platoon
  • Win the battle
  • (secondary) Personally survive the battle

TD-15: Triumph

  • Cause at least 3000 HP of damage to enemy vehicles
  • (secondary) Destroy an enemy vehicle

Self-Propelled Gun missions

SPG-1: The Sharpshooter

  • Score 3 hits that cause damage to enemy vehicles
  • (secondary) Cause at least 1000 HP of damage to enemy vehicles

SPG-2: Hidden and Dangerous

  • Cause at least 500 HP of damage to enemy vehicles. Remain unspotted during the battle
  • (secondary) Destroy an enemy vehicle

SPG-3: Howitzer Strike

  • Cause at least 1000 HP of damage to enemy vehicles
  • (secondary) Win the battle

SPG-4: Break On Through

  • Damage or destroy a total of at least 3 enemy vehicles' modules or injure crew members
  • (secondary) Win the battle

SPG-5: Calculate & Obliterate

  • Cause damage exceeding 4 times the HP of your vehicle
  • (secondary) Destroy an enemy

SPG-6: The Falling Hammer

  • Destroy 2 enemy vehicles of the same tier as your vehicle or higher
  • (secondary) Win the battle

SPG-7: Roll Out the Big Guns

  • Destroy an enemy tank destroyer or SPG
  • (secondary) Cause at least 1000 HP of damage

SPG-8: Heavy Fire on Heavy Tanks!

  • Cause at least 1000 HP of damage to enemy heavy tanks
  • (secondary) Destroy an enemy heavy tank

SPG-9: Lead Them Till You Hit Them

  • Damage an enemy vehicle that is moving at least 20 km/h
  • (secondary) Survive the battle

SPG-10: The Bane of Artillery

  • Destroy an enemy SPG
  • (secondary) Cause at least 1000 HP of damage

SPG-11: The Area of Effect

  • Destroy an enemy with a single shot
  • Enemy must have received no prior damage
  • (secondary) Win the battle

SPG-12: The Striker

  • Be among the top 3 players on your team by damage caused
  • Destroy an enemy vehicle
  • (secondary) Win the battle

SPG-13: The Artillery Battery

  • Your or your platoon must cause at least 15% of the total damage caused to enemy vehicles by your team
  • Win the battle
  • Can be personal or platoon
  • (secondary) Personally survive the battle

SPG-14: United Offensive

  • Cause at least 2000 HP of damage to heavy tanks or tank destroyers by you or your platoon
  • Can be personal or platoon
  • (secondary) Personally survive the battle

SPG-15: War Gods

  • Be among the top 3 players on your team by XP and damage caused
  • Cause at least 2000 HP of damage
  • (secondary) Survive the battle

That's it for now

/games | Posted at 11:45 | permanent link

Mon, 18 May 2015

Mad Max: Fury Road

Furiosa

Saw Mad Max: Fury Road over the weekend.

Hmpf!

I can't say that I liked the movie.

I will say that I was really impressed with Charlize Theron's rendition of the Furiosa character. That was truly world class acting!

But the rest of the movie? Meh! I know it's supposed to be over the top, an exagerated view of a harsh futuristic world, but I have to admit that some elements (like the guitar guy on the rig) just ended up making me laugh out loud, and a couple of times I just turned over to my wife and sighed deeply.

So, in conclusion, I think it's worth it to see Charlize Theron's really strong acting performance, but the rest of the movie is just... so disappointing!

6/10

/misc | Posted at 17:41 | permanent link

Sun, 10 May 2015

Apple keeps annoying me

Apple Photos for OS X

Apple makes some good and neat products. The quality of their build and the attention they put to detail makes purchasing their products a really nice experience (just unpacking a Macbook is a first step in a very nice user experience).

But the decisions they make keep annoying me in really practical ways, to the extent that if I went into a store today, I would not purchase another Apple product.

In the past, they have left me stranded when I've tried to be an early adopter of their technologies (I bought a 15" MacBook Pro when Apple switched to Intel processors, only to be left stranded when it became the only Intel MacBook Pro not to support 64-bit OS X, and then I bought a 3G 64GB iPad the year they came out, only to be left stranded when releases of iOS stopped supporting the iPad 1 from iOS 6 onwards), but this time it's

The main use of my iMac these days is to manage our family's photos collection. I've been using iPhoto for about 10 years to keep our 36000 photos organized by events, and have spent quite a bit of time giving titles to events and naming faces in various photos.

With OS X Yosemite, suddenly iPhoto is gone and replaced by Photos for OS X. Now, not only is this a really annoying application name (try googling for Photos, you'll end up with millions of unrelated links), but even though it looks like a nice simple application, Apple has decided to remove from my PC useful features of iPhotos that I used on a regular basis:

  • iPhotos events, which automatically grouped my pictures by date, have been thrust in a Photos album called iPhotos Events, where they are NOT sorted by date. This is extremely annoying and breaks a lot of the usefulness of events! A "sort by date" option, perhaps?

  • iPhotos allowed me to export a set of pictures as a small website (it assembled a set of HTML pages and links), which I have used a number of times successfully.
    I understand that this is not a feature that Apple wants to push anymore (they want everyone to go to iCloud), but this is a feature that I had on my computer, that I had paid for, and that I used. And following an OS upgrade, suddenly it's gone.

So, I've stopped using my iPad, I've stopped using my MacBook Pro, so I guess I'm getting to the point where I'll stop using my iMac also.

Booo Apple.

/software | Posted at 08:21 | permanent link

Sun, 01 Feb 2015

Setting up an Unbound DNS server for a local network

Since FreeBSD 10, BIND has been replaced as the default DNS server by Unbound. This is nice for all kinds of security reasons (many of the recent FreeBSD security advisories have been because of BIND issues), but it does mean changing some 20+ years old habits.

On my local network, I like to have a small server that acts as the DNS server for all of my home machines (of which I have too many indeed), not only for speed of resolution and resilience, but also to have authoritative reverse DNS resolution for machines in the private address space (192.168.1.*)... so I do not only need a local caching server, but I need to configure it to serve my local network, and to be authoritative for a small set of addresses under 1.168.192.in-addr.arpa. This means doing a bit of configuration beyond the out of the box Unbound config in FreeBSD 10.1...

I have found a few helpful sites in setting up my Unbound DNS server:

but Google will help you find a lot more.

The FreeBSD Handbook says "By default, Unbound will provide DNS resolution to the local machine only. While the base system package can be configured to provide resolution services beyond the local machine, it is recommended that such requirements be addressed by installing Unbound from the FreeBSD Ports Collection.", however I found that for my very simple case it was easy to configure the "local_unbound" that is part of FreeBSD 10.1 do serve as my local network's DNS server...

Went to /var/unbound/, gave a cursory look to the "forward.conf", "lan-zones.conf", and "unbound.conf" that are present to see if they made sense (esp. "forward.conf" which is built from the "/etc/resolv.conf" file at installation... if your resolv.conf was wrong, you probably need to adjust it).

I then simply added a file in /var/unbound/conf.d/ to make outbound do what I need, which I called "local-setup.conf". This file simply contains:

##
## Unbound config for our local network
##                              Denis, 2015-01-31
##
server:
        interface: 0.0.0.0
        interface: ::0
        access-control: 192.168.0.0/16 allow
        access-control: ::1 allow
        access-control: 127.0.0.0/8 allow
        verbosity: 1
        port: 53
        do-ip4: yes
        do-udp: yes
        do-tcp: yes
        num-threads: 4

## not sure if I need this?    root-hints: "/var/unbound/etc/root.hints"

        # locally served zones can be configured for the machines on the LAN.

        local-zone: "1.168.192.in-addr.arpa." static

        ## don't need those, as my DNS is at dyndns.org
        ##      local-data: "firewall.home.lan.  IN A 192.168.1.1"
        ##      local-data: "laptop.home.lan.    IN A 192.168.1.2"
        ##      local-data: "xboxone.home.lan.   IN A 192.168.1.3"
        ##      local-data: "ps4.home.lan.       IN A 192.168.1.4"

        ## reverse DNS
        local-data-ptr: "192.168.1.1    firewall.home.lan"
        local-data-ptr: "192.168.1.4    denis.home.lan"

It seems to work at this point. Later on, I can explore the statistics produced by Unbound, but this is sufficient to get our little home server up and running.

/FreeBSD | Posted at 05:53 | permanent link

Mon, 19 Jan 2015

Personal missions for World of Tanks - January 2015

On January 15th 2015, World of Tanks introduced personal missions. I wanted to have a simple list outside of the game to keep in another window, hence this blog entry.

A) Operation StuG IV

Light Tank missions

LT-1: For Victory!

  • Win the battle
  • Be among the top 10 players on your team by XP
  • (secondary) Survive the battle

LT-2: Reconnaissance

  • Be the first on your team to spot 2 enemies
  • (secondary) Survive the battle

LT-3: The Pursuit

  • Cause damage to 3 enemy vehicles while on the move
  • (secondary) Destroy an enemy vehicle while on the move

LT-4: A Forced Halt

  • Detroy a track of an ennemy vehicle
  • (secondary) The vehicles immobilized by you must receive damage

LT-5: The Forward Observer

  • Spot an ennemy vehicle and assist your allies in destroying it
  • (secondary) Spot ennemy vehicles and enable your allies to damage 2 vehicles spotted by you

LT-6: Hawk-Eyed

  • Spot 2 enemy vehicles before they spot you
  • (secondary) Survive the battle

LT-7: The SPG Hunter

  • Spot an enemy SPG and assist your allies in destroying it
  • (secondary) Survive the battle

LT-8: Behind the Enemy Lines

  • Win the battle by capturing the enemy base
  • Participate in the successful capture of the enemy base
  • (secondary) Do not receive any hits during the enemy base capture

LT-9: Battle Support

  • Spot 2 enemy vehicles or destroy their tracks
  • (secondary) Use the following equipment: Coated Optics or Binocular Telescope

LT-10: The Ghost

  • Spot enemy vehicles and enable your allies to cause at least 1000 HP damage to vehicles spotted by you. Remain unspotted
  • (secondary) Use the Camouflage Net equipment, and have a Camouflage that corresponds to the season

LT-11: Laying Artillery Fire

  • Join a battle as part of a Platoon including 1 oe 2 SPGs (or 1 LT and 1 SPG)
  • Enable your allies to cause at least 1500 HP damage to vehicles spotted by you
  • Members of your Platoon must cause at least 1000 HP of damage
  • (secondary) Survive the battle
  • (secondary) Win the battle

LT-12: Combat Patrol

  • Join a battle as part of a Platoon of light tanks
  • Spot enemy vehicles and enable your allies to cause at least 2000 HP damage to vehicles spotted by you
  • (secondary) At least 1 Platoon member must survive the battle

LT-13: A Fair Fight

  • Destroy an enemy vehicle that is the same tier as your vehicle or higher
  • (secondary) Cause at least 1000 HP of damage

LT-14: The Maximum Result

  • Finish the battle as the top player on your team by XP
  • (secondary) Win the battle

LT-15: The Reconnaissance Pro

  • Assist your allies in causing at least 4000 HP of damage by spotting enemy vehicles or destroying enemy vehicles' tracks
  • (secondary) Spot an enemy vehicle or destroy its track. This enemy vehicle must consequently be destroyed

Medium Tank missions

MT-1: First Steps

  • Cause damage to an enemy vehicle
  • Win the battle
  • Be among the top 10 players on your team by XP
  • (secondary) Survive the battle

MT-2: Run and Gun

  • Cause damage to an enemy vehicle while on the move
  • (secondary) Destroy an enemy vehicle while on the move

MT-3: The Spearhead

  • Cause damage to an enemy vehicle during the first 5' of the battle
  • (secondary) Survive the battle

MT-4: Stay Still, Would You?

  • Destroy a track of an enemy vehicle, and cause damage to the immobilized vehicle
  • (secondary) Destroy an immobilized enemy vehicle

MT-5: Counter-Reconnaissance

  • Destroy an enemy light tank
  • (secondary) Survive the battle

MT-6: Rapid Fire

  • Cause damage to enemy vehicles of 3 different types
  • (secondary) Survive the battle

MT-7: A Surprise Blow

  • Destroy an enemy SPG
  • (secondary) Survive the battle

MT-8: Confrontation

  • Destroy 2 enemy medium tanks
  • (secondary) Survive the battle

MT-9: The Incinerator

  • Set an enemy vehicle on fire
  • (secondary) Be among the top 5 players on your team by XP

MT-10: Good Hit!

  • Fire at least 6 shots that cause damage to enemy vehicles
  • (secondary) Destroy an enemy vehicle

MT-11: Ram Them!

  • Destroy an enemy vehicle by ramming
  • (secondary) Win the battle

MT-12: Team Play

  • As a Platoon, destroy 3 enemy vehicles
  • (secondary) Each Platoon member must cause damage to enemy vehicles destroyed by the Platoon

MT-13: An Active Action

  • As a Platoon, cause at least 3000 HP of damage to enemy vehicles
  • (secondary) The Platoon must be among the top 5 players on your team by XP

MT-14: A Worthy Opponent

  • Destroy an enemy heavy tank that is 1 tier higher than your vehicle
  • (secondary) Survive the battle

MT-15: The Hunter and the Hunted

  • Destroy 2 enemy tank destroyers
  • (secondary) Survive the battle

Heavy Tank missions

HT-1: Debut

  • Destroy an enemy vehicle
  • (secondary) Cause at least 1000 HP of damage

HT-2: Point Blank Shooting

  • Destroy an enemy vehicle from a distance up to 100m
  • (secondary) Cause at least 1000 HP of damage

HT-3: Omnivorous

  • Destroy 2 enemy vehicles
  • Destroy vehicles of 2 different types
  • (secondary) Cause at least 1000 HP of damage

HT-4: Hit Them Where It Hurts!

  • Damage or destroy 1 module, or injure 1 crew member of an enemy vehicle
  • (secondary) Survive the battle
  • (secondary) Win the battle

HT-5: A Weighty Argument

  • Be among the top 3 players on your team by damage caused
  • (secondary) Survive the battle

HT-6: A Heavy Target

  • Destroy 2 enemy heavy tanks
  • (secondary) Survive the battle

HT-7: A Relentless Raid

  • Participate in the successful capture of the enemy base
  • Cause at least 1000 HP of damage
  • (secondary) Destroy an enemy vehicle

HT-8: With Guns Blazing

  • Cause at least 1000 HP of damage to enemy heavy tanks
  • (secondary) Destroy 2 enemy vehicles

HT-9: A Crushing Blow

  • Destroy an enemy vehicle by ramming
  • (secondary) Win the battle

HT-10: Target Acquired!

  • Cause at least 1000 HP of damage to enemy vehicles that appear in your view range
  • (secondary) Destroy 2 enemy vehicles

HT-11: Not Even a Scratch!

  • At the end of a battle, cause at least 1000 HP of damage. Do not have any damaged modules or injured crew members
  • (secondary) Destroy 2 enemy vehicles

HT-12: Sturdy Armor

  • Have total damage blocked by armor equal or exceed your HP
  • Cause at least 1000 HP of damage
  • (secondary) Win the battle
  • (secondary) Survive the battle

HT-13: Storm the Defense!

  • Join a battle as part of a Platoon of heavy tanks
  • As a Platoon, destroy an enemy vehicle during the first 5' of the battle
  • (secondary) Survive the battle

HT-14: Platoon Assault

  • Join a battle as part of a Platoon of heavy tanks
  • As a Platoon, destroy 3 enemy vehicles of 2 different types
  • (secondary) At least 1 Platoon member must survive the battle

HT-15: Tempered Steel

  • Damage cause, damage received, and damage blocked by armor must be at least 8000 HP total
  • (secondary) Win the battle

Tank Destroyer missions

TD-1: Effective performance

  • Be among the top 7 players on your team by XP
  • (secondary) Win the battle

TD-2: Aimed Fire

  • Damage 1 module or injure 1 crew member of an enemy vehicle
  • (secondary) At the end of the battle, do not have any damaged modules or injured crew members of your vehicle

TD-3: Good Hunting

  • Destroy 2 enemy vehicles
  • Win the battle
  • (secondary) Survive the battle

TD-4: Ambush

  • Destroy an enemy vehicle. Remain unspotted by it at the moment of its destruction
  • (secondary) Use the Camouflage Net equipment

TD-5: A Long-Range Gun

  • Cause damage to an enemy vehicle from a distance of at least 300m
  • (secondary) Cause at least 1000 HP of damage

TD-6: Precise Calculation

  • Cause damage to an enemy vehicle from a distance of at least 250m
  • Enemy vehicle must be on the move
  • (secondary) Destroy a moving enemy vehicle

TD-7: The First Strike

  • Destroy an enemy vehicle, having received no prior damage to your vehicle
  • (secondary) Win the battle

TD-8: A Huge Caliber

  • Cause twice as much damage to enemy vehicles than the HP of your vehicle
  • (secondary) Win the battle
  • (secondary) Survive the battle

TD-9: Spot On!

  • Score 3 hits in a row
  • (secondary) Destroy an enemy vehicle

TD-10: A Hidden Menace

  • Cause at least 1000 HP of damage to enemy vehicles. Remain unspotted
  • (secondary) Win the battle

TD-11: Tank Hunters

  • Join a battle as part of a Platoon of tank destroyers
  • As a Platoon, destroy 3 enemy vehicles
  • (secondary) At least 1 Platoon member must survive the battle

TD-12: Big Game Hunting

  • Destroy an enemy heavy tank
  • Cause at least 1000 HP of damage
  • (secondary) Win the battle

TD-13: The Key Role

  • Finish the battle as the top player on your team by damage caused
  • Cause at least 1000 HP of damage
  • (secondary) Survive the battle

TD-14: Big Hunt

  • Join a battle as part of a Platoon of tank destroyers
  • As a Platoon, cause at least 30% of the total damage caused to enemy vehicles by your team
  • Win the battle
  • (secondary) At least 1 Platoon member must survive the battle

TD-15: Triumph

  • Cause at least 4000 HP of damage to enemy vehicles
  • (secondary) Destroy an enemy vehicle (really?)

Self-Propelled Gun missions

SPG-1: Howitzer Strike

  • Cause at least 1000 HP of damage to enemy vehicles
  • (secondary) Win the battle

SPG-2: Hidden and Dangerous

  • Cause at least 500 HP of damage to enemy vehicles. Remain unspotted during the battle
  • (secondary) Destroy an enemy vehicle

SPG-3: The Sharpshooter

  • Score 3 hits that cause damage to enemy vehicles
  • (secondary) Cause at least 1000 HP of damage to enemy vehicles

SPG-4: They'll Never Know What Hit Them

  • Destroy an enemy light tank
  • (secondary) Win the battle

SPG-5: Assistance in Destruction

  • Destroy a track of an enemy vehicle
  • Targets consequently destroyed by other players of self-destructed are counted
  • (secondary) Cause at least 1000 HP of damage

SPG-6: The Falling Hammer

  • Destroy 2 enemy vehicles of the same tier as your vehicle or higher
  • (secondary) Win the battle

SPG-7: Counter-sniping

  • Destroy an enemy tank destroyer
  • (secondary) Cause at least 1000 HP of damage

SPG-8: Heavy Fire on Heavy Tanks!

  • Cause at least 1000 HP of damage to enemy heavy tanks
  • (secondary) Destroy an enemy heavy tank

SPG-9: Lead Them Till You Hit Them

  • Damage an enemy vehicle that is moving at least 10 km/h
  • (secondary) Survive the battle

SPG-10: The Bane of Artillery

  • Destroy an enemy SPG
  • (secondary) Cause at least 1000 HP of damage

SPG-11: The Area of Effect

  • Cause damage to 2 enemy vehicles with a single shot
  • (secondary) Win the battle

SPG-12: The Striker

  • Be among the top 3 players on your team by damage caused
  • Destroy an enemy vehicle
  • (secondary) Win the battle

SPG-13: The Artillery Battery

  • Join a battle as part of a Platoon of SPGs
  • As a Platoon, cause at least 20% of the total damage caused to enemy vehicles by your team
  • Win the battle
  • (secondary) All Platoon members must survive the battle

SPG-14: United Offensive

  • Join a battle as part of a Platoon including 1 or 2 light tanks (or 1 light tank and 1 SPG)
  • Cause at least 2000 HP of damage
  • (secondary) All Platoon members must survive the battle

SPG-15: War Gods

  • Be among the top 3 players on your team by XP and damage caused
  • Cause at least 2000 HP of damage
  • (secondary) Survive the battle

That's it for now

/games | Posted at 23:02 | permanent link

Wed, 31 Dec 2014

Whoooosh!

whoosh!

The books are rapidly closing on 2014, and what a year it's been.

  • On a personal level, we've moved back to Canada after 18 years abroad. It's been a year of significant changes: getting back closer to family and friends and making new ones at the new job, but also moving away from some very good friends and even having one passing away suddenly.
  • In computing terms, the ever increasing speed and capacity of our computing systems have brought us the ability to store and process huge amounts of information in no time at all to truly make data the lifeblood of our society.
  • In networking terms, the amazing speed at which we can move information around and the ubiquitousness (is that a word?) of wireless connectivity has really brought on the age of always on computing.
  • All of this has brought on new capabilities (with the Internet of Things, some of my lights are now connected to the Internet), but also some new challenges (especially in the area of privacy, where I am mightily concerned that companies and devices are collecting and sharing information about our daily lives that I am not sure is reasonable to share).
  • As I've said before: in IT, we reinvent the impossible every 5 years... well, we're certainly continuing to do that!

All in all, it's felt like an exciting and fascinating year... I feel 2015 is coming in in a big Whoosh.

And as technology is concerned, it's only going to continue getting more interesting! My big wish for 2015 is that we continue to push for open standards, protocols, and connectivity.

So I wish you all a very happy 2015... take care and enjoy life.

Cheers!

/misc | Posted at 17:14 | permanent link

Sat, 25 Oct 2014

Football cheers: a trip down memory lane

The Alouettes from way back

Back in the olden days (we're talking late 1970's to early 90's here), my friend Francis (who's sadly no longer with us) got a bunch of us together and we got season's tickets to the Alouettes (*).

Just for memory's sake, I thought I post the quirky cheers that our little group used.

It went something like:

  • 1-2-3 Fwooomp!
  • 4-5-6 Yay!
  • 7-8-9 Areu!
  • 10-11-12 ... (**)
  • 13-14-15 Niaiseux niaiseux (generally hurled at refs or opposing team)
  • 2997-2998-2999 Booo Barnes!

and we didn't need a special code for "Put in Gerry"... somehow the coaches always seemed reluctant to make Gerry Dattilio the starting quarterback, but whenever he was brought in, magic occured (from Wikipedia: "Among Canadian quarterbacks Dattilio is second all-time in statistics with 9952 passing yards").

Good times were had by all, even though we lost more than our share of games in those early '80s.

I'm just sorry I missed the 2000-era Alouettes... somehow Canadian Football did not get much airtime in Paris and Zurich ;-)


(*) actually, it started off as the Alouettes, then became the Concordes, and then the Machine. That was before football disappeared in Montreal. So I left for Europe for 18 years, and the Alouettes came back and did great. So perhaps I should get season's tickets again, now that I'm back. We'll see next year.

(**) memory blank here... if Jacques, Marc-Andre, Alain, Nicole, or any of the guys remembers what 10-11-12 was, let me know.

/misc | Posted at 10:30 | permanent link

Tue, 30 Sep 2014

Dealing with IoT items and the cloud

More and more items available in the stores these days, are connected. Light switches, fridges, bathroom scales, and more, are internet connected and share information with the rest of the world.

I don't mind having my devices making data available, but I would rather have this data be available to me and my servers, and not shared within the cloud and/or the company that makes the device. I actually resent and, I guess, actively resist, having my devices participating in the cloud and sharing information about me, my family, and my environment with the outside world.

I am, however, quite interested in having devices that make their data available to me.

A new interesting project for the coming weeks :-)

/misc | Posted at 23:28 | permanent link

Sat, 02 Aug 2014

The eagle has landed...

A view from our window

As I've posted earlier on May 25th, we have moved back to Montreal after 18 years in Europe (Paris, then Zurich, then Paris again).

It's been a busy few weeks since landing back here, with a new job and a big search for a new place to live.

I'm happy to say that we've now found a new appartment in the beautiful Altitude project in downtown Montreal. You can find a view from our office window above!

There are presently many very nice condos available in Montreal with many more projects to come, but the Altitude was the one that really caught our eye as the most interesting and attractive in town.

It's been fun being back in Montreal: not only have we been able to enjoy seeing many friends and family members a lot more than before, but also we've been able to enjoy some of the Montreal summer festivals (the Montreal Jazz Festival, the Festival Juste pour rire, and more). Of course, we have good friends that we miss in Europe, but being back here feels like home.

Now, if we can just empty those 200+ boxes that the movers have left in our appartment :-)

/misc | Posted at 09:26 | permanent link

Adobe Creative Cloud: not for me

Adobe Creative Cloud logo

I have been a user of various Adobe products for years. Photoshop, Premiere, Acrobat, and even some of the more obscure ones. Some of these, I use professionally at the office (notably Acrobat), but for the others, I am a casual user.

As I've never been one for pirating software, I have bought over the years the odd license for Photoshop, Premiere, and Acrobat for personal use. Most of them for Windows, but even some on MacOS X when I had switched my main computer to an iMac.

I use something like Photoshop every couple of months... Premiere, once a year or so. I still found it useful to have the "real" Adobe software because if I needed to do something, I really could do it.

Every so often, Adobe would write to me to encourage me to upgrade to the latest release... most of the time, I'd file these ads in the "Advert" folder an ignore them, but every few years or so, there would be a new feature compelling enought that I'd upgrade to keep up.

Now, they keep writing me to encourage me to subscribe to their Adobe Creative Cloud with its montly fee. Pfff! There is no way that I would saddle myself with a recurring monthly fee for something that I will not use on most months! As a general rule, I eschew recurring fees except for things which are really regular and important to me (heck, I even bought Office 2013 on my laptop instead of subscribing to Office 365).

So, I will look for alternatives to Photoshop and Premiere, and Adobe has now lost my (irregular, but somewhat recurring) revenue stream going forward.

Unfortunate move Adobe: you should have offered options to your customers.

/software | Posted at 09:09 | permanent link

Sun, 25 May 2014

The gaming ultrabook for 2014

Hmmmm. Seems like ASUS has produced a successor to the UX32VD ultrabook that I bought last year. It is the UX32LN and is based on an Intel Haswell CPU with an NVIDIA 840M discrete graphics chip. This seems (unexpectedly?) significantly better than what the UX32VD provided last year.

I recommend it as a really sleek and lightweight gaming + multipurpose ultrabook. I have been quite happy with the UX32VD, and as the UX32LN comes with even better graphics, it should be quite competent for gaming.

One caveat though: make sure you pick the right options when configuring your UX32LN: you want the fast CPU, the nice screen, and enough memory. It is nicely upgradable though.

Anyway, it's quite nice what we can get these days in a light and slim little package!

Enjoy!

/hardware | Posted at 17:26 | permanent link

I'm on the road again

After more than 18 years in Europe, I am moving back to Canada and to a new job, next Friday.

It will be good to get back home and be closer to family and friends, but as always with these things, it is somewhat bittersweet because we will be leaving behind some great friends and colleagues out here.

Paris is one of the world's greatest cities, and to see the Eiffel tower every day on my way to work is something I will surely miss.

On the other hand, I am quite excited about being reunited with my sons and with the new job! I am joining a class organization and I look forward to meeting my new colleagues there and making new friends. There will be much work to do to complete the transformation of the IT of the Bank, and as IT is at the heart of Financial Services this promises to be interesting, challenging, and impactful.

There will be more to say in the coming weeks... stay tuned!

/notwork | Posted at 05:32 | permanent link

Mon, 12 May 2014

Double rainbow over Paris

doubleRainbow

OK, so I will not do the whole Internet meme thing about "oh my god, double rainbow what does it all mean", but...

On our way to our friend Caroline's yesterday night, it rained pretty suddenly... and just as suddenly, wham, the sun came out. We looked around for a rainbow and then suddenly there was this neat double rainbow over Paris.

My wife didn't have time to take the picture with the double rainbow with the Eiffel tower, but she did get the great "double rainbow above the Place d'Iena" picture that you can see above.

Must have something to do with the fact that in couple of weeks, we're going back to Canada after 18 years in Europe :-D

/misc | Posted at 16:01 | permanent link

Wed, 02 Apr 2014

Well, isn't this just typical

enAvant

Have you noticed that people start blogging, then they do it semi-regularly for a while, then they get busy, then they post a "oh, I haven't blogged for a while but I will start doing it again soon" and then their blog goes quiet forever?

Well, I hope this is not just another occurence of this regular ailment :-)

So, it's been a while since I've taken the time to write on here. Lots happening of course, writing up and launching the implementation of a major Digital strategy at work has been keeping me quite busy. Old team members leaving, new team members joining, it's a very active and intense period over at the olde office.

Some madness in the industry (come on, whatsapp for $19 billion US ?!?), some buzzwords as always (big data - which according to some doesn't even have to be big), but also some fundamental changes and as always some fun new technologies (really happy with my nice 4K TV).

Anyway, as I've said, lots happening... hence the cartoon picture from Gotlib above... inspector Bougret and his faithful sidekick Charolles saying essentially "onwards!".

The world is quite exciting and is fast changing... I need to take some time to attend TED one of these years!

En avant vers de nouvelles aventures!

/misc | Posted at 19:41 | permanent link

Sun, 27 Oct 2013

Saw Gravity today

Gravity

My wife and I saw Gravity at a cinema on the Champs Elysées this morning. We had heard mixed comments about the movie, but had heard that most critics quite liked the movie.

After seeing it, my best comment is wow. I think it's clearly a must-see movie. Not necessarily for the story, but it is a remarkable movie: the visuals are great, the action is gripping, and Sandra Bullock's acting is just stellar.

Sandra Bullock

Of course, the science isn't perfect and the story is a bit predictable, but they do keep you on the edge of your seat and succeed well in making the viewers suspend disbelief.

Overall a great movie. Try to see it on a large screen in 3D if you can.

/misc | Posted at 15:09 | permanent link

Fri, 18 Oct 2013

A new PC

CMSTORM Enforcer

Some weeks ago, my desktop started freezing on a regular basis when playing heavy 3D graphics games. It wasn't that old, but apparently some part of the hardware was having some trouble with overheating.

I investigated for a few weeks, but could not find the culprit. So, I decided to buy a new PC. I bought a nice configuration at AAC Computers on Daumesnil in Paris' 12th arrondissement.

Here's what I now have:

  • Intel Core i7-4770K @ 3.5GHz (4 cores w/ HT)
  • 16 GB RAM
  • Windows Pro 8.1 64-bit
  • NVIDIA GeForce GTX TITAN
  • Intel I217-V Gigabit Ethernet
  • CM Storm Quickfire keyboard
  • 240 GB SanDisk SSD
  • 3 TB Seagate HD
  • Hyundai HDIT27W HDMI screen

All of this in a CM Storm black enclosure -- this is quite nice.

The amount of computing power we now have at our fingertips is just amazing... the first computer I have ever used (a CDC Cyber 173 running under NOS/BE), a beast for its time, would pale compared to this PC (*).

(*) if I compute well, the Cyber 173 was a dual CPU machine, running probably at 25 MHz (not counting the 12 PP processors here) with probably 256K 60-bit words of memory (around 2 MB if I count right). So if my back-of-the-envelope calculations are correct, it's about 250 times faster with 8000 times more memory, and I won't even try to count how much more disk space.

/hardware | Posted at 22:44 | permanent link

Windows 8.1 update: good with a couple of annoyances

Windows 8.1 logo

So, Windows 8.1 is out today.

I upgraded by new PC (oh, I haven't written about that yet... guess it's a good topic for my next blog post) from Windows 8 to 8.1 this morning.

The update went smoothly, with only a couple of annoyances:

  1. During the upgrade, it demanded that I provide a Microsoft Account to associate with my local account. I don't want to link my local account and my Microsoft Account. What I do on my local PC should remain local. I was stuck on that screen, until I found a website that explained that I could enter "a@a.a" with password "a" (or anything else nonsensical for that matter) in that screen and then it would allow me to proceed after determining that the account information was wrong. That allowed me to proceed.

  2. I have the French Language version because I'm in Paris... I don't want Windows in French. I want Windows in English. With Windows 8.0, I was able to download the English language pack and configure it with the US International keyboard configuration and even through the hoops required to make English the default language of the O/S. When I upgraded, Windows 8 omniously informed me that "language customizations might be lost during the upgrade"... and, sure enough, Windows 8.1 booted in French. Well, kind of a bilingual set-up: Windows 8.1 is in French, but my default regional and language parameters still say that the default O/S language is English. I think I should probably download the Windows 8.1 English language pack, but the Language configuration screen (which is one of those annoying dumbed-down New User Interface screens) appears to think that English is already downloaded and is already selected as my default language. Tsssss. Clearly, it's not if it keeps writing in French. So, I haven't figured out yet out to get out of this one: is it just that I should re-download the English language pack (but if so, how can I force it to redownload English, as it thinks English is already there?) or is there some magic I have to do to convince it to active English, when it think (incorrectly) that it's already in English.

Oh well... it still works, I'll play with it further over the weekend. (*)

In the positive effects category, one can now specify that Windows logs in to the Desktop screen instead of the newfangled Start screen (where the first action I took was always to click on the Desktop tile), so I can basically blissfully ignore the New User Interface applications and use Steam, MS Office, Thunderbird, Firefox, VLC, Spotify, Skype, /WoW, _WoT, all of my regular Desktop applications on a regular basis.

Overall, it all went pretty smoothly... I'm glad to have upgraded.

(*) Note to self: I hate software that is too clever for its own good and will disable menu options and configuration options when it thinks something is already active, when you clearly know that it's not. Clever/fancy user interfaces often get stuck in funky states when you have an unsual configuration or if an update aborts in the middle (lack of disk space or power outage)... the number of times in my life that I've found myself having to trick an application into understanding the state that it was truly in is just distressingly high.

/software | Posted at 14:12 | permanent link

Sun, 30 Jun 2013

Happy Canada Day

happy Canada day

Hey, it's July 1st. So happy Canada Day to all Canadians, from coast to coast to coast... I hope the weather's nice where you are :-)

/misc | Posted at 19:37 | permanent link

Windows backup software

Windows 8 task manager

I have been using the Time Machine backup software under Mac OS X for a number of years now. It's quite good, and once saved me, as a disk in one of my iMacs crashed, and I was able to restore the machine to a full working state by just changing the hard disk in it, and using the Time Machine to restore it to its last known working state. I did not lose a thing!

Time Machine is also very nice to use: you just plug an external disk in one of the USB ports, and voila: a couple of simple manipulations and you're on your way.

So, given this experience, I decided to try the Windows backup software that came with Windows 7 Ultimate. It's not as nice, and now that it's also ridiculously slow...

I have a relatively fast Windows 8 64-bit desktop machine (3.4GHz, 8GB of memory, and 2 x 1TB of disk space)... well, i've been backing it up to an external USB3 2TB external drive for literally hours now, and it's still at 31% completion!

What's worse, it that it doesn't appear to be doing very intensive I/O to the USB3 disk, as can be seen in the above snapshot from the Windows 8 task manager...

Disks fail. Not all the time, but eventually they do. Being able to back up my PC to a local USB drive would seem like something that should come into the box with the O/S I purchase... heck, Unix has had tar and cpio for years.

Oh well.

Time to go to sleep now.

/software | Posted at 19:16 | permanent link

Online games

The internet is enabling a number of interesting multi-player computer games.

World of Warcraft, World of Tanks, a whole range of games in the Steam universe (Counterstrike, Borderlands 2, Team Fortress 2, and many more), and even more (LoL, StarCraft II, ...)

The first multiplayer computer game I've played was probably VTTREK on the DECsystem 20... I seem to recall having played mostly single player games before that: moria, empire, advent, and more on VAX/VMS and CDC NOS, along with a variety of Apple ][ and IBM PC games (Wizardry, Trek, Decathlon, and more)... dating back to CASINO and TREK on the CDC CYBER under NOS/BE around 1976 or so.

Technology is making this a fascinating age to live in :-)

/games | Posted at 17:59 | permanent link

Sun, 09 Jun 2013

Microsoft Office in 2013: Buy or Rent?

Hmpf.

I am tempted to get the most recent version of Microsoft Office for my PCs at home. In the past, I would buy a 'family license pack' of Office for Windows, and a 'family license pack' of Office for Mac, and that would cover all of the machines that I wished to upgrade.

Now, I can either get 'Office 2013 for Family', which will only cover 1 PC and costs 139 Euros, or I can get 'Office 365 Family Premium', which would cover 5 of my PCs or Macs, but which will cost 99 Euros per year!!!
Now, I probably use MS Office at home about 10-12 times a year... so getting a 99 Euros a year subscription doesn't seem very reasonable. On the other hand, I want to be able to use it on my main PC, on my laptop, on my iMac, or on my wife's PC... so paying 4 x 139 Euros to be able to use it across those 4 machines is just ridiculous.

Sigh.

So at this point, I think I will continue with Office 2010 on my 3 main PCs, and see how the licensing for Office 365 evolves. Perhaps, I will find that the corporate 'Office 365' contract at work also allows me to use it at home? I need to check with our procurement department about that.


Infrequently used software should have the option to purchase a 'pack' of 'prepaid usage fees'. There are quite a few models to pay for software licenses:

1) Flat fee: pay once, and then get licensed to use forever (there can be restrictions about moving the license from machine to machines, but basically you pay once for a version, and then can use this specific version anywhere, anytime, on a single machine)

2) Rent: pay on a monthly or annual basis, and then get licensed to use the product for that period of time only. I hate these sort of recurring fees, and generally avoid them as much as I can.

3) Pay per use: everytime you use the software, you pay a certain amount. Ideally, you can buy in advance a 'pack' of 'usage rights' and you try to evaluate how many times you're going to use the software. I would dearly love to be able to use this sort of licensing for MS Office, Adobe Premiere, Adobe Photoshop, etc.
These are pieces of software that I use between 0 and 12 times a year... paying a whole bunch of money for them just seems silly.

4) Actually, there are lots of other models: pay per headcount, pay per annual revenues or profit, etc, but they do not really apply to running software in the home. Perhaps I should also mention 'Free', 'Freemium', and 'Free with publicity' (sponsored) applications...

Anyway, so my preference is the Flat Fee licensing model, except for those pieces of software that I do not use very regularly... in those cases, I would love to be able to use Pay per use, but that doesn't seem to be a very common licensing model for the home.


P.S. as a follow-up, I ended up buying a copy of Office 2013 for my Ultrabook laptop. Too bad, I will not be using it as much as I would have if it had also been on my main desktop. Didn't want to turn Office into a compulsory annual spend...

/software | Posted at 20:40 | permanent link

Wed, 01 May 2013

Happy May Day

May 1st is International Workers' Day in most countries (over 80 according to Wikipedia), therefore it's time for a day off.

So, happy Labour Day... in France, it's traditional to offer a sprig of lily of the valley ("un brin de muguet") to people on May 1st for good luck, so here's for you all:

lily of the valley

/misc | Posted at 01:40 | permanent link

Mon, 29 Apr 2013

Raspberry Pi, Beagle Board, Soekris, NUCs, ...

I've been using Soekris boards for years now (a few net4801s, a net5501, and a net6501). They're excellent machines for FreeBSD or Linux, and broadly compatible with PCs, as they use x86 CPUs.

However, I must say that I am tempted by some of the newest little boards out there that are quite inexpensive: the raspberry pi, and the beagle board. I might just buy one of those to display various info and RSS feeds on a big mounted screen that we've got at the office.

The Raspberry Pi is nice, but I quite like the fact that the beagle board is Open Source Hardware.

/hardware | Posted at 19:44 | permanent link

Thoroughly enjoyed Ironman 3

Ironman 3

Saw Ironman 3 at the cinema on the Champs Elysées last Saunday with my wife... we both enjoyed the movie a lot. Also enjoyed teasing my friends in North America a bit since we got the see the movie first over here in Europe... not sure why that happened, but I certainly appreciated it :-)

Anyway, Robert Downey Jr. makes a great Tony Stark.

/misc | Posted at 19:01 | permanent link

Speaking about hockey

The Stanley Cup playoffs are just getting underway in North America. The pairings for the first round of the playoffs in the NHL Easter conference ended up being decided on the last day of the season... the 4-2 win of the Otawa Senators against the Boston Bruins last Sunday means that the Montreal Canadiens finished 2nd in the Eastern Conference, and will now play those same Senators in the first playoff round for the first time since the return of the Senators in the NHL in 1992.

Hockey is an exciting game -- I will try to catch a few games on Internet radio over the coming days.

/misc | Posted at 18:47 | permanent link

I despise 'Automatic Private IP Addressing'

The number of times where a Mac, an iPad, or a Windows machine has caused me grief by chosing to self-assign an "Automatic Private IP Address" is becoming annoyingly large.

I would much rather have these machines inform me that there is a problem with the DHCP server on the local LAN and that I should fix it, rather than trying to self assign an IP address in the range of 169.254.x.y, which generally doesn't work and doesn't let the machine talk with any of the other devices on the network... and of course, because the machine that tried to helpfully self assign an address thusly will not notify me of this, meaning that it will take longer to find out what has gone wrong.

Sometimes, especially on Apple devices, it will also be annoyingly hard to make the device snap out of this mode and actually request a brand new IP address from the local DHCP server. Argh! In addition to that, it is usually distressingly hard to disable this behavior in devices, as they all try to be simple and auto-configurable. Argh again!

Another woe of DHCP address assignment are home routers that do not provide options to manage the list of assigned DHCP addresses or their corresponding leases, and which therefore run out of assignable addresses with leases running well into 2021 or something! Recently, my Livebox from Orange ran out of available DHCP addresses, and therefore stopped giving them out... which caused various networking equipment to fail in interesting ways.

So yes, I know: "use static IP addresses". I do that most of the time, but still have my various mobile devices configured for DHCP, simply because that's what ones does when travelling with ones' mobile devices.

Anyway, here's hoping for:

  1. a simple way to disable 169.254 addresses in Windows, IOS, and Mac OS X
  2. a simple way to edit the DHCP leases table on the old Sagem Livebox

So yeah, I'm not holding my breath :-)

/admin | Posted at 18:30 | permanent link

Thu, 04 Apr 2013

Upgrading FreeBSD

An interesting script to upgrade FreeBSD (and installed ports) from mebsd.com: .

#!/bin/sh
LOG_FILE="/var/log/freebsd-update.log"
echo "Starting updates: `date`" | tee -a ${LOG_FILE}
echo "***"
echo "*** Checking for FreeBSD patches..."
echo "***"
/usr/sbin/freebsd-update fetch | tee -a ${LOG_FILE}
/usr/sbin/freebsd-update install | tee -a ${LOG_FILE}
echo "***"
echo "*** Updating ports tree..."
echo "***"
/usr/sbin/portsnap fetch update | tee -a ${LOG_FILE}
echo "***"
echo "*** Looking for ports to update..."
echo "***"
/usr/local/sbin/portmaster -a --no-confirm | tee -a ${LOG_FILE}
echo "***"
echo "*** Checking installed ports for known security problems..."
echo "***"
/usr/local/sbin/portaudit -Fva | tee -a ${LOG_FILE}
echo "Finished updates: `date`" | tee -a ${LOG_FILE}

This uses "freebsd-update" and "portmaster" which seem to be the "modern" way for people to manage FreeBSD installations.

P.S. Oh well, I still like to recompile world+kernel by hand...

/FreeBSD | Posted at 17:23 | permanent link

Mon, 01 Apr 2013

Accessing ZFS snapshots

I make hourly snapshots of the ZFS filesystems on my home server. This is quite easy using a small script called "zfs-snapshot.sh" (which I found on the web) and the following lines in root's crontab file:

# perform zfs snapshots
3  *  *  *  *   /root/zfs-snapshot.sh pool0 hourly 25
13 0  *  *  *   /root/zfs-snapshot.sh pool0 daily  32
23 0  *  *  0   /root/zfs-snapshot.sh pool0 weekly 60

7  *  *  *  *   /root/zfs-snapshot.sh datapool hourly 25
17 0  *  *  *   /root/zfs-snapshot.sh datapool daily  32
27 0  *  *  0   /root/zfs-snapshot.sh datapool weekly 60

This keeps a day's worth of hourly snapshots, a month's worth a daily backups, and a year's worth of weekly backups (I should perhaps also keep a decade's worth of annual backups?!).

This is useful and can be really easily accessed... For example, I restored "/usr/local/lib/libintl.so.9" from a recent snapshot by doing:

cp /.zfs/snapshot/daily.5/usr/local/lib/libintl.* /usr/local/lib

Accessing snapshots through .../.zfs/snapshot is quite handy.

PS. For the record, the zfs-snapshot.sh script is here.

/FreeBSD | Posted at 12:18 | permanent link

I *really* hate gettext

OK, so I know that some of this is certainly self-inflicted, but I seem to regularly run into trouble where I try to upgrade a bunch of ports on a FreeBSD installation somewhere, and bam suddenly I get build errors around locales or gettext shared libraries.

Sigh.

Now, I do like my applications to be able to speak French just as much as the next guy, but somehow the amount of grief that this has been causing me over the years is getting to be significant.

Latest issue is trying to rebuild ports on 3 different machines following an upgrade to FreeBSD 9.1. All went smoothly with the O/S upgrade using freebsd-update, but trying to rebuild the ports after fetching the latest versions using portsnap is proving harder than expected (or warranted).

I have downloaded the latest ports, and am trying to do the equivalent of "portmaster -a", and then I get:

./localename.c: In function '_nl_locale_name_thread_unsafe':
./localename.c:2607: error: 'locale_t' undeclared (first use in this function)
./localename.c:2607: error: (Each undeclared identifier is reported only once
./localename.c:2607: error: for each function it appears in.)
./localename.c:2607: error: expected ';' before 'thread_locale'
./localename.c:2608: error: 'thread_locale' undeclared (first use in this function)
./localename.c:2608: error: 'LC_GLOBAL_LOCALE' undeclared (first use in this function)
*** Error code 1

when compiling /usr/ports/devel/gettext/work/gettext-0.18.1.1/gettext-runtime/intl/localename.c, which seems to indicate that "locale_t" is undefined and therefore that configure is probably not picking the requirements for locale on my system correctly, or that I have some old dependencies lying around.

So, hunting around in "/usr/ports/UPDATING" seems to indicate that I should rebuild converters/libiconv first, and then rebuild devel/gettext. So, I did that. But still not success. So it seems I would need to rebuild devel/libtool first, so I did that too. But still gettext won't compile.

Sigh.

This whole i18n thing seems to violate the principle of least astonishment.

Anyway, just a rant because I am frustrated. I'll go back to it and attempt to do things right this time... but I really do hate gettext.

P.S. Sigh... even sudo fails with "sudo: unable to dlopen /usr/local/libexec/sudoers.so: Shared object "libintl.so.9" not found, required by "sudoers.so""... will rebuild it without the NLS option!

P.P.S. Finally solved it by recompiling the world and kernel from source... and then "gettext" compiled correctly. Not sure what changed... this is unpleasant.

/FreeBSD | Posted at 11:00 | permanent link

Thu, 28 Mar 2013

FreeBSD 9.1 panics resolved

A couple of weeks ago, I upgraded this small machine to FreeBSD 9.1. This is a small and very reliable Soekris net4810-50 box with 128 MB of RAM that has been running FreeBSD for years.

Since upgrading, it has been crashing daily around 03:00 with a panic message that I've finally captured today:

panic: kmem_malloc(4096): kmem_map too small: 38060032 total allocated

Some googling around let me to this thread from December 2012 on freebsd-stable.

which explains a similar situation. The recommendation in the thread is to add:

kern.cam.ctl.disable=1

to /boot/loader.conf to avoid loading the new CAM CTL device, which seems to require lots of RAM.

So, rax.org is back on its feet, hopefully with its usual stability. I'll write again if I encounter any further issues.

I have to say though that I am somewhat surprised that the GENERIC build of FreeBSD suddenly has significantly higher RAM requirements as of FreeBSD 9.1, though of course 128MB of RAM is small in today's world.

/FreeBSD | Posted at 01:05 | permanent link

Thu, 28 Feb 2013

An interesting text about Scala

Scala is an interesting language that is built upon the Java virtual machine (JVM) and intended to be "a better Java". Being a fan of functional languages, I am drawn to Scala, but I am also weary of the 'tool du jour' syndrome.

Reading up on Scala around the web, I happened across an interesting text by Coda Hale from Yammer in which he talks about some of the issues that they have faced using Scala (and why they are slowly switching back to Java). The blog article is here and the text is there. A lot of Coda's arguments sound right, even though they were not meant to be widely published.

Anyway, this doesn't detract from the fact that Scala is interesting, but it explains why one is careful about adopting new tools: the availability and maturity of the environment is often as important as the 'appropriateness' of a given tool or language in developing real-world applications.

/software | Posted at 18:23 | permanent link