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 (27)
/admin (3)
/blosxom (6)
/games (3)
/hardware (17)
/inet (4)
/misc (37)
/notwork (2)
/software (11)
/tech (1)

Archives:
 2023 (1)   
 | June (1)
 2021 (2)   
 | January (2)
 2020 (2)   
 | December (1)
 | September (1)
 2019 (2)   
 | November (1)
 | July (1)
 2018 (6)   
 | December (1)
 | November (3)
 | January (2)
 2017 (4)   
 | December (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 (3)
 | May (2)
 | April (1)
 2013 (20)   
 | October (3)
 | June (4)
 | May (2)
 | April (7)
 | March (1)
 | January (3)
 2012 (60)   
 | December (4)
 | October (1)
 | July (5)
 | June (7)
 | May (1)
 | April (6)
 | March (3)
 | February (14)
 | January (19)
 2011 (3)   
 | December (1)
 | November (2)
 2008 (1)   
 | October (1)


Blosxom

       

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:42 | 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 14:47 | 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:57 | 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 06:27 | permanent link

Tue, 27 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 22:34 | permanent link