Wavy Star Shuffle – 4 Face 4 – Don Veino 20170120

Type: 4 Facing 4
Status: Public, Proven

First called at the Monday Contras dance at the Concord Scout House on 2/13/2017 to positive comments. There were plenty of smiles on dancer faces through the dance… 🙂

That’s great, because I personally typically don’t like (what I think of as) “stub toe star” (dubbed “wavy” here or often also called “gypsy” star) dances! But I had this idea of building the star in one go (in other dances they often seem to be built in two layers – with one role and then the other joining) and it appears one go works fine, which allows a nice recovery space via the preceding Long Lines start.

See also my dance Wavy Star Slice which I derived from this one.

A1
LLFB
Fwd to Wavy Star*, Balance

A2
Star CW 3/4x (groups/4 – Gents fwd, Ladies back up 3 places)
N Swing

B1
L Chain (to P)
Circle/8 Left 1/2x (2 couple places)

B2
Corner Allemande Left 1x
P Swing

*a.k.a. “Gypsy Star” – Take hands in wave with same role N, Gents below Ladies, to form an interleaved wave facing opposite role N. Let go of outside hands (the one touching adjacent hands/4 folks) and retake hands with opposite role N before rotating the star.

Alternative B2s:
(Gents turn back to)
P Balance & Swing
OR
(alternative music fit: Gypsy Right and Swing P)

Posted in 4 Face 4 Dances, My Dances, Proven | Tagged , | 3 Comments

I ♥ Faeries – DI – Don Veino 20170125

Type: Contra Dance, Duple Improper
Status: Public, Proven

Writtten in response to a challenge on the Shared Weight Caller’s Discussion List, here’s my take on a non-glossary way out of the Dublin Bay style Down-the-Hall figure – via a believed unique twist on a Mad Robin. First called (by me) at the Thursday Contras dance at the Concord Scout House on February 2, 2017. For a further simplified take on this theme, see my dance I ♥ Unicorns. The “♥” in the title is spoken as “Heart.” The title comes from our daughter’s current fandom for all things re: Tinkerbell and friends.

A1
Neighbor Balance & Swing, end facing down (Twos in center)

A2
Line/4 DTH and Back, Dublin Bay Style
(4 steps fwd down the hall, turn single to face up, continue 4 steps down in reverse, 4 steps fwd up the hall, turn single to face down, continue 4 steps up in reverse)
Bend the line (so Twos are above the Ones)

B1
Mirror Mad Robin – Ones Through the Center First (starting up towards head of the hall)
[G1 and L2 dyad moving CW, L1 and G2 moving CCW]
1s Swing in Center, end facing UP

B2
1s Half Figure 8 up through the 2s (around opposite role N, to end BELOW – improper and facing progression)
2s Swing, end facing UP

Tune suggestion: Becky Tracy’s Black Rock
Video Link(s): My calling at the Concord Scout House Thursday Contras 2/2/2017
Terry Doyle calling at Contra Dancing Knoxville – Cabin Fever 2020, video by Jim Crawford

Posted in Contra Dances, My Dances, Proven | Tagged , , , , , , | 1 Comment

I ♥ Unicorns – DI – Don Veino 20170203

Type: Contra Dance, Duple Improper
Status: Public, Proven

The “♥” in the title is spoken as “Heart” – the title for this dance was given by our 5 year old daughter Raeden and inspired the unique Mirror Mad Robin and half Figure Eight in the choreography. First called (by me) at the Monday Contras dance at the Concord Scout House on February 13, 2017. This dance was a simplification of my first take on this theme, I ♥ Faeries.

NOTE: All swings in this dance end facing down.

A1
Neighbor Balance & Swing, end facing down (Twos in center)

A2
Line/4 DTH – Turn as a Couple – Return, Bend the Line (so 2s above 1s)

B1
Mirror Mad Robin – Twos Through the Center First (starting down towards foot of the hall)
[G1 and L2 dyad moving CCW, L1 and G2 moving CW]
Twos Swing in Center, end facing DOWN

B2
Twos Half Figure 8 DOWN through the Ones (around opposite role N, to end above – improper and facing progression)
Ones Swing, end facing DOWN

Posted in Contra Dances, My Dances | Tagged , , , , , , | 3 Comments

Linux Mint 18 “Sarah” MATE Edition on Acer Aspire E5-575-33BM

Just completed the installation of Linux Mint 18 on a new Acer Aspire E5-575-33BM as a Christmas present for my wife. Her 2007 Intel Core Duo Macbook 2,1 running LM 17.2 was getting too cranky and the battery life was getting shorter so it was time for an update/upgrade. I’d considered getting her a Chromebook but the price delta was not that much between getting a 15.6″ Chromebook (which has printing issues) and this machine which included a 1TB disk. She can always use my Chromebook by simply logging in with her Gmail account, so there was little to lose by going with the more capable machine.

She has become very comfortable with using Linux over the past year plus on her Mac and it has met all her computing needs so it was a no-brainer to avoid the intrusive solution that is Win 10 and go Linux on this unit too. The following are the steps I took to make it work. Got some clues from here and here.

  • Update Acer Firmware. The update tool works only under Windows, so I did this before modifying the machine. Booted into Win 10, did only a basic system set up (including disabling ALL automatic updates before connecting to the web) and then ran the FW update downloaded off the Acer site. Latest FW (jumping two versions) installed fine.
  • Twiddled some FW settings (press F2 at power on) to allow for Legacy mode booting off a Linux Mint 18 MATE live USB image and tested basic functionality – pretty much everything worked fine. Cool. Shut down and remove back panel to do some HW work.
  • Swapped out the Samsung EVO 850 SSD from her old Macbook to the new Acer, removing the 1TB disk for safe keeping with the Windows 10 install. Just swapped the applicable disk caddies and put the SSD in. For giggles I twiddled the FW once more to use Legacy (BIOS) mode and was able to boot the existing LM 17.2 image just fine on the new machine, but the wireless did not work and it was a 32 bit install, so it was time to install a new version for the 64bit machine.
  • Updated FW settings once more to enable USB boot for the installation and disabled Secure Boot (yet UEFI was enabled).
  • Booted live USB for installation. As for some strange reason I did not follow my common practice in the old LM 17.2 installation to set up a separate home partition, I needed to migrate the contents of home to someplace safe – so I used GParted to create and resize partitions for both home and the UEFI boot files (and to create backup images). Used FSArchiver (Partimage doesn’t work on ext4 file systems, which my prior install was on) to create a backup disk image of the old 17.2 environment. Migrated the home directory files using GRsync to the new /home partition. Installed LM 18 from the live USB, which took a surprisingly short time with a wired Ethernet connection.
  • Bring up FW set up once more and enabled Secure Boot again. Within FW “trust”ed the UEFI partition files for Secure Boot. Reboot and come up in new LM 18 environment. Using Driver Manager, installed the intel_microcode firmware to support the i3 processor. Reboot as required by Driver Manager.
  • Run Mint Update Manager and install all 167 offered updates. Onboard wireless works, but is incredibly slow (1 MB/s), yet all available updates are installed. Tried a bunch of online solutions to update the Atheros Ath10k firmware and kernel, etc. which didn’t work – and ended up causing some problems when I tried backing them out – so I ended up repeating the installation of Mint once more from the FW/Secure Boot settings through to the reboot required by Driver Manager above.

I have on hand an Edimax USB WiFi dongle with a Realtek chipset, so tried that one out via Network Manager and it connected at 54 MB/s right away. So for the time being, we’re sticking with that one and pretty much everything now works – sound, volume control via function keys, wireless, video playback, Jacquie Lawson Christmas Web Advent Calendar card (HTML5 or flash-based?). Brightness control does not work via the function keys yet but does work with the software control.

Machine is very snappy under Linux (much faster than it seemed under Windows 10) and idles with just single digit percentages of CPU core use and a small fraction of the 4MB DIMM capacity being used. Screen is very nice. Battery life is still TBD under normal use (as I was hitting it pretty hard with all the installation work), but it definitely goes for at least something like 6+ hours.

Think this one will work out well for some time into the future – the OS is supported until 2021!

Posted in Computer, Linux, Mint, Windows | 2 Comments

Creating OpenVPN .ovpn Files for Android (Any?) Clients

In another post I cover setting up and OpenVPN server on a Tomato powered router and making client connections to that server.

In setting up a new phone, I see the OpenVPN for Android app will now import yourVPNclient.ovpn files (much easier than transferring and importing the separate key and cert components as covered in my prior post). It took a bit of Googling to find out how to create the .ovpn files, but now that I’ve found the file format, setting one up turns out to be a piece of cake. Here’s the template:


client
proto udp
remote your.openvpnserver.url.net
port 1194
dev tun
nobind

key-direction 1

<ca>
-----BEGIN CERTIFICATE-----
# insert base64 blob from ca.crt
-----END CERTIFICATE-----
</ca>

<cert>
-----BEGIN CERTIFICATE-----
# insert base64 blob from client1.crt
-----END CERTIFICATE-----
</cert>

<key>
-----BEGIN PRIVATE KEY-----
# insert base64 blob from client1.key
-----END PRIVATE KEY-----
</key>

<tls-auth>
-----BEGIN OpenVPN Static key V1-----
# insert ta.key
-----END OpenVPN Static key V1-----
</tls-auth>

I edited the “remote” directive to point to my VPN (router’s) dynamic DNS address and then copied the specified parts of the files from the /etc/openvpn directory as created in my prior post to this template. Then saved the consolidated file as myserver+clientname.ovpn.txt on my linux box.

Why with *.txt extension? Because otherwise the bluetooth file transfer from my desktop linux box to my phone would fail (unsupported file type). Text file transfer is supported, .ovpn is apparently not.

I then simply renamed the file on my Android phone to drop the .txt suffix and imported the resulting file in the OpenVPN for Android app (it turns out you can leave it, but the app will include that text in the connection name by default, so I now simply cut it there). I still needed to go through and set some options properly in the app to match my server config (LZO, persistent TUN, etc.), but the heavy lifting was already done.

Connected successfully on my first try! I see no reason why the same file set up would not work in NetworkManager on Linux or some other client, but I haven’t tried myself. Good luck!

Credit for the .ovpn template content goes to this ServerFault discussion thread .

Posted in Computer, Linux, Web Architecture | Tagged , , , , , | Leave a comment

QR Codes as a Password/Key Storage Mechanism

I was doing some recent volunteer work for the Concord Scout House, Inc., setting up a new network and telephony infrastructure for this non-profit enterprise. In setting up the various pieces of equipment, I was sure to create strong passwords and use key and certificate based encryption or similar security mechanisms in order to keep things secure.

Of course, I kept copies for my own records in a suitable electronic format (I personally do local plus encrypted cloud backups of critical files via Spider Oak). As this is a volunteer job, it is very possible someone else will need to do something with this infrastructure at a later point – when I may no longer be involved with the organization. This left me with the problem of how to document and pass on those passwords and keys in a convenient and durable fashion to those who may follow.

I could prepare a DVD or flash drive with the passwords and keys, etc. in simple text files to hand over. This could work fine but also quickly fall prey to changes in applications or operating systems (e.g.: Wordpad or vi? Unix or DOS line feeds?), hardware technology (how many Android phones have a DVD reader? will USB2/3 ports be usable in 10 years?) or simple hardware failure (scratched DVD). For convenience’s sake, I will provide a soft copy on DVD (as that may be stored easily in a file folder) but there’s one medium all organizations still know how to deal with and store safely: paper.

I could simply print out the passwords and certificates/keys as plain text on sheets of paper, but then someone trying to use it would have to accurately type in that text at a later point where/when required. As we’re talking 100+ characters in some cases, this simply won’t work. Here’s where QR codes come in. I happened upon this blog post which mentioned the idea of using QR codes to store such text as a paper record, able to be machine read for accuracy at a later point. Brilliant!

So here’s a practical example of generating such a paper copy of a password using only online free resources, so no software installation required (of course, there are many programs or apps you may install, should you wish to be off-grid):

The password example:

This1sMy_SuperS3kr3t-pASSwORD=wh1ch*woulD_b3-a-R0y4l+payn3>2>tyP3!

This is a very strong password which, although it isn’t simply random, is still quite secure due to its length (66 chars.) alone. Even the NSA with all its resources would take a very long time to crack it, provided the encryption mechanism doesn’t suffer from a back door or other systemic vulnerability. Given the pseudo english phrasing it would be possible to type or even memorize this password, but it wouldn’t be easy. And a single character discrepancy means not getting in to wherever it protects.

Generating the QR code:
One of many free online QR code generation sites is qrstuff.com. Taking the above password there, we can plug it into their on-line code generator:
Generating the QR code online

And download the image file of that password in a QR code:
Generated QR code

This QR code can then be placed on a printed page.

Reading the QR code to “reawaken” the text:
There are also many online QR reader/decoding sites, including: webqr.com.

This site provides for you to either take a picture of the code via your device’s camera, or upload a file with the code image (say from a scanner or photo of the paper page) and returns the code content.

Uploading the above QR code image file results in the following:
Decoding the QR image

A perfect copy of the original plain text password!

Posted in Computer, Non-Profits, Web Architecture | Tagged , , , , , , , , , , , | 1 Comment

Replacing Hood Release Cable on a 2003 Saturn Ion

Just a quick note on this one. We have an old Saturn with 155,000+ miles on it. Things are at the stage where lots of stuff is starting to break (exhaust, front brakes, starter) and need repairs, but it still is good basic transportation to keep around as a second car and gets better mileage than our Subaru Outback.

With all the recent repairs I’ve been doing, the fact that I’ve been using a coat hanger stub poking out of the grille to open the hood (after the release cable broke a couple of winters ago) started to get old. Looking around the web there was little info on how to actually do the repair but the parts were fairly cheap – I was able to get a “used” and “minor cosmetic issue” unit from Amazon’s Warehouse deals for under $16. So I decided to give it a go. (BTW, the cable ended up being brand new in original packaging when it arrived, yay!)

Should you be looking to do the same, I figured out an easy way to get the fix done.

Our cable had snapped (and the handle came off) from the end inside the car. The cable is routed from inside the kick panel next to the driver’s side, up behind a bunch of insulation/sound deadening stuff, through the firewall (passing through an integrated grommet) and into the engine compartment. From that point below the cowl area it travels along side the battery connection/fuse box frontwards and through a hole in the radiator support and turns toward the center hood release. There are two routing clips along that route through the engine compartment, one near the fuse box and one just through the radiator support.

It seems there was a factory technical service bulletin at one point due to the fairly common seizing and breaking of the hood release. Water was getting inside the cable sheath and freezing in cold weather or causing corrosion which ultimately jammed the cable. Cables were replaced while still under warranty and they changed the routing of the cable to pass over (instead of through) the radiator support to eliminate the dip in the cable which was trapping the water.

Looking at this situation, I was not looking forward to having to manually route this cable so I was looking for some way to get it done more easily. I ended up figuring out a really simple solution and had the cable done in less than 10 minutes once I started. Here’s what I did:

Inside the car, remove the trim alongside the driver seat/rocker panel area – lift the plastic at the seam/split and snap it off (4 clips, 3 on the rocker panel and one under the dash). This reveals the hood release lever mount and the cable end. While our lever was already broken off, you can take off the lever here and remove the cable end.

Under the hood, remove the cable end from the hood release lever (I also removed the grille assembly via the 3 small bolts to give me more working room as I was removing my prior coat hanger hack as well). Pull the ferrule towards the front of the car (firmly) to remove it from the bracket and then down to provide slack in the cable. Wiggle the cable end out of the release lever so the cable can come fully free. Trace the cable and release it from the two guide clips mentioned above.

Now that the cable is free of all but the firewall pass-through, go back to the driver’s footwell. There I used a plumber’s pipe cutter tool to cut the cable sheath several inches from the cable end and pulled the sheath off so that I had several inches of bare cable available (you may need to cut off the cable end ball). I then used a pair of vise grips to clamp on the sheath and pull about a foot of the cable assembly back into the footwell. This dragged along the integrated grommet on the cable, which I slipped off after removing the vise grips. Now there was a full length of smooth cable sheath I could pull back through the firewall to the engine compartment side.

Inside the car, I took the new cable assembly and attached the lever to the end of it. After wrapping several turns of the old cable around the front/latch end of the new cable (being careful not to kink the new cable), I wrapped a couple of turns of duct tape around it (staying clear of the new cable as much as possible in order to not gum it up). I was able to then go out to the engine compartment and simply pull the free end of the old cable and it dragged along the new cable, pulling it through the firewall (including seating the grommet) and along the existing routing to the radiator support. Once there I did the equivalent of the factory TSB and routed the cable over the radiator support and back down to the hood release to prevent the cable dip.

However, before installing the cable at that end, I lifted it to face vertically and squirted a whole bunch of white lithium grease in the cable end to lubricate it and inhibit moisture. I then proceeded to install the cable into the hood release as it was before, being sure to snap the ferrule in properly and tight. Snapped the cable back into the guide clips and installed the release lever onto the cable in the footwell. Slid the release lever assembly into the mounting bracket in the footwell and tested the release to be sure the hood opened (which it did smoothly/easily!) and then reinstalled the fascia panel from the kick panel and along the rocker panel.

Now that I knew the hood could be opened normally, I then reinstalled the grille assembly and made sure to align it with the hood (required some wiggling before tightening the bolts). Done – now we don’t have to explain to service personnel how to open the hood anymore!

Posted in Automobile, DIY, Frugal Living, Handyman | Tagged , , , | Leave a comment

DIY Crock Pot Sous Vide System

On a visit to some friends I became aware of the whole topic of Sous Vide “under vacuum” (SV) cooking, the concept of using a controlled water bath to cook food (particularly meats) at low(er) temperatures for more consistent and desirable results. High end restaurants have been doing this for a while. At the time, Sous Vide systems were quite expensive but some home cooks were doing ingenious hacks to simulate a professional SV cooker by using hot water in beer coolers, etc. In that discussion, I mentioned that I thought one of the small computers I was toying with for home automation (HA) could make a simple & cheap SV system with some other basic parts.

It took me some time to come back around to the whole SV idea myself. Not too long ago I came across a great deal on some London Broil at Market Basket and that served to get me going on setting up my own SV system using parts I had already at the house from my previous HA projects. While there are now some SV immersion systems on the market for under $200, I thought I had everything needed to make one on hand. I figured I could try it out and see what I thought of SV cooking without spending any more money. Here’s what I came up with.

DISCLAIMER: This post is just to document what I did. I’m a hobbyist and know almost nothing above my tinkering. I DO NOT MAKE ANY ASSURANCE THAT THIS IS APPROPRIATE FOR HEALTH OR SAFETY CONSIDERATIONS. YOU ARE RESPONSIBLE FOR YOUR OWN FOOD HEALTH DECISIONS AND FOR USING ELECTRICITY RESPONSIBLY. I WILL NOT BE HELD LIABLE FOR ANY ACTION YOU TAKE TO FOLLOW THIS SAME PATH AND ANY DAMAGE THAT MAY RESULT. YOU HAVE BEEN WARNED! But should you make some delicious food as a result please comment to let me know!

OK, with that out of the way, here’s a photo of my solution:

My DIY Sous Vide System

The major parts here are:

  • standard Crock Pot slow cooker
  • Programmable Power Controller, consisting of:
    • CAI WebControl PLC (Programmable Logic Controller) unit
    • DS18B20 1-wire temperature sensor, embedded in a stainless steel probe
    • AC to 9v DC power adapter
    • 5v “Arduino” relay board
    • Misc. breadboard wires, low voltage wires and a PC 12v fan connector
  • 110v home wiring components:
    • Light switch
    • Power outlet
    • Appliance power cable
    • Misc. wires and connectors

Update 5/29/2016:

I’ve now been using this set up successfully for nearly a full year. Today I’m doing a SV Leg of Lamb for later finishing on the BBQ grill. Other meals have included lots of chicken, pork and beef – each one has turned out really well (I’ve yet to do fish, but will try it soon). I’ve not posted my PLC code up to now because I was awaiting it becoming stable – which I think I can now consider it, as it’s pretty much worked unchanged since day1 – so here it is. A bit of explanation:

HEAT_ON is a subroutine to energize the power relay, HEAT_OFF does the opposite.
HEAT_MAIL informs me of changes in state of the power relay.

Using the WebControl PLC’s General Setup page, various values can be set to control the program:
UROM1 is the desired set point (degF *10), so 1360 is 136.0 deg
UROM2 is the lower offset (degF * 10), so 8 is 0.8 deg – this controls the amount of swing in the actual temperature and will need to be tweaked for a given crock pot. This determines the actual point at which the heat will be turned on.
UROM3 is to enable or disable the power relay. 1 enables.
UROM4 is to enable or disable the email notices. 1 enables.

START
SET VAR1 0
TSTEQ TS1 0
EMAIL EM1
SUB UROM1 UROM2 VAR1
TSTLE T1 VAR1
CALLSUB HEAT_ON
TSTGE T1 UROM1
CALLSUB HEAT_OFF
END

HEAT_ON:
TSTEQ OP2 0
SET VAR4 -1
TSTNE UROM3 1
SET OP2 0
TSTNE UROM3 1
RET

SET OP2 1
SET VAR2 T1
TSTEQ VAR4 -1
CALLSUB HEAT_MAIL
SET VAR4 0
RET

HEAT_OFF:
TSTEQ OP2 1
SET VAR4 1
SET OP2 0
SET VAR3 T1
TSTEQ VAR4 1
CALLSUB HEAT_MAIL
SET VAR4 0
RET

HEAT_MAIL:
TSTNE UROM4 1
RET

TSTEQ VAR4 -1
EMAIL EM2
TSTEQ VAR4 1
EMAIL EM3
RET

I’ve also set up a script on a Raspberry Pi on our network which I use for data logging of each batch. At 10 minute intervals it captures the relay state and current bath temperature into a .csv file via a URL get from the WebControl. I can use this data for tweaking the UROM2 value above and for modifying my recipes going forward.

I’m very pleased with the system now and may be extending it to control more than one bath. For instance, today I was wanting to do both a pork loin and the lamb leg at the same time. There’s not enough space in the crock pot for both, despite the temperatures being able to be the same (but duration differing). With some code changes and multiple probes & relays I could control several baths.

I may also be creating an internal web portal on the pi which could provide real-time graphing and settings management for the SV set up, so I don’t have to look up what UROM values mean what each time! 🙂 This will be more important if/when I extend it to multiple baths, as only the UROM values have a built-in web interface on the WebControl unit.

Posted in Cooking, DIY, Frugal Living, Handyman, Sous Vide | Tagged , , , , | Leave a comment

Hack: Recycled Scrubbies!

We love to save money and the environment. Aways great when you can get a two-fer, and here’s one!

Do you need non-scratching scrubbing pads for cleaning around the house? Did you know that the woven plastic netting from vegetable packaging like this onion bag works wonderfully? No need to buy scrubbies when you can make them yourself from something you aready have!

Just cut the woven material away from the product labeling and you’re set to go (it used to be easier when the bags used to have simply ties – before they started bonding plastic labeling to the netting – but I haven’t found any brand that doesn’t do it now). Avoid the other non-woven plastic “netting” bags that are sometimes used (where they simply slit a flat sheet of plastic and stretch it into an open net form) as these have sharper edges and may scratch.

Be sure to test it someplace inconspicuous to be sure it doesn’t scratch the surface in your application. I find these work great for cleaning out grubby pots and the kitchen sink. If they get messy just toss ’em in the recycling bag after rinsing them out and grab a new piece – they don’t “cost” anything, after all! 🙂
2015-05-20 20.29.34

Posted in DIY, Frugal Living | Tagged , , , , , , | Leave a comment

OpenVPN on Tomato with Android and Linux Clients

I’ve been wanting to do this for a very long time. When away from home I sometimes need access to the systems (or data residing on those systems) back at home. I wanted to set up a secure means to access the machines behind my router’s firewall and one of the most versatile and secure ways to do that is with a Virtual Private Network (VPN). The problem was that this stuff is pretty complicated and even though the open source firmware we run on our router has had a VPN-enabled version available, I’ve been loathe to try implementing it.

Well, the garage control system project I was recently working on had a hardware failure such that I could not implement it in the original way intended (until I replace the CAI WebControl board central to it). The board failed in such a way that it would not accept PLC programming but would still respond through the default web interface – which unfortunately is not sufficiently secure to expose to the internet directly. However, we were going away for an extended period and I needed to be able to access it while away. A perfect application for VPN technology, I could keep the “vulnerable” system firewalled behind the router and poke a secure hole through it using the VPN to control it from afar when needed. Just the shove I needed to get going on the VPN!

Curiously enough, in googling, I was able to find various basic tutorials about setting up a Tomato VPN-enabled router (which is Linux based) as a VPN server with Windows clients and creating the certificates and keys on Windows but pretty much nothing simple about doing so with other platforms like mine – Android (again Linux based), Linux and Mac. The ones about setting up a VPN with Linux all seemed to want you doing everything down in the weeds of config files and installing VPN packages on your own server (not a router). Not what I wanted.

The good news for you and me is that I figured out how to get this done with minimal effort and it pretty much worked perfectly on the first try, so I’m writing it up here for future reference and to share with any others following this path. Looking back, it wasn’t that hard but the lack of clear guidance made it all confusing. All that said, here’s some clarity on how to get it done:

Creating Certificates and Keys

On Linux Mint LMDE (Debian Linux) workstation, using Synaptic or another package manager install:
openvpn
easy-rsa

This will install the easy-rsa scripts into
/usr/share/easy-rsa

Taking note of the instructions at http://openvpn.net/index.php/open-source/documentation/howto.html#pki, I did the following:

Copy the easy-rsa files to another location that will persist after package upgrades (note, this location already existed as a result of the openvpn installation and contained the single file update-resolv-conf, so maybe that claim is misleading?) and cd into that directory:
sudo cp -R /usr/share/easy-rsa/* /etc/openvpn/
cd /etc/openvpn

Edited the vars file using vi to set the KEY_COUNTRY, KEY_PROVINCE, KEY_CITY, KEY_ORG, and KEY_EMAIL parameters. These were at the bottom of the file for me. From what I can tell, the two email entries are identical but for the quote symbols. I presume the quoted one is meant to be the “real life name”, but nothing I could easily find via google confirmed or contradicted this – so I just set them both to the same address.

export KEY_COUNTRY="US"
export KEY_PROVINCE="MA"
export KEY_CITY="MyCity"
export KEY_ORG="My ORG Name"
export KEY_EMAIL="vpn_contact@myDomain.com"
export KEY_EMAIL=vpn_contact@myDomain.com

I then completed the rest of the steps at the above link using root/sudo priviledges, creating the certificate authority, server certificate and key and then the client certificates and keys. What I found online was not very informative on this point, but the Commmon Name (CN) must be entered each time you build these items and should be varied so as to be descriptive. So, for each command:

./build-ca
For this I specified my own name as the Common Name (I’m my own certificate authority) and it generated two files, ca.crt and ca.key (note, these are not named after the Common Name given, unlike the following).

./build-key-server ServerName
I gave my intended VPN server name as the ServerName which it then used as the Common Name and generated ServerName.crt, ServerName.csr, ServerName.key plus a 01.pem file and changed the index.txt and serial files in the keys directory.
NOTE: I also here encountered something different than that laid out at the above URL, for each key it asked me for:
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:
which I simply clicked Enter through (I presume to set as blank, as no password was later asked for).

./build-key ClientNameHere
I gave unique descriptive names for each client and it created similar files to the server ones above, named per the client names I gave, created sequentially numbered pem files and updated the index.txt and serial files.

./build-dh
Returned Generating DH parameters, 1024 bit long safe prime, generator 2
This is going to take a long time
(But it didn’t – it was less than 5 seconds on my main Linux 64 bit workstation)

In the Arch Linux wiki entry for EasyRSA it stated that there was a need to convert the server certificate to an encrypted .p12 format for use on Android. I found this to not be needed, using the OpenVPN for Android client from the Google Play Store.

In order to provide additional TLS security and to protect against potential denial of service attacks against my router/VPN server I also set up an HMAC signature:
openvpn --genkey --secret ta.key

Setting the server and clients up…

As I created all the certificates, keys, etc. on my main Debian workstation, I needed to transfer those files to the associated machines. First I used my browser and the Tomato-powered router (VPN server) web interface to set up the VPN server following the info here *except* for using TUN instead of TAP. Installing Tomato is covered in my other blog post. Here’s screenshots of my settings (click on them to enlarge):
Tomato-Version
Tomato-VPN-Basic
Tomato-VPN-Advanced
Tomato-VPN-Keys
Tomato-VPN-Status

Connecting with a Linux machine. I then set up the test client on my Mint LMDE/Debian laptop following the leads at https://support.hidemyass.com/hc/en-us/articles/202721596-OpenVPN-Setup-with-Network-manager-on-Linux-Mint-Mate , which dragged along a bunch of other required packages including openvpn, easy-rsa, etc. I imported the certificates and keys when setting up the VPN connection using NetworkManager. Trying to connect via this initially failed. I thought this might be because I was on my home network at the time, so I proceeded to set up my phone as a client to see if I could use the cellular network to test outside access.

Connecting via Android. I installed OpenVPN for Android from the Google Play store onto my cell phone. Copied over the certs and keys to my phone using USB cable and set up the connection in the app. Took a bit of twiddling to figure out where everything went and which boxes to check, but it connected quickly once set up. Could access private resources behind the router firewall now! I went on to set up my Android tablet with the same app.

Connecting from an Outside Network. Brought my phone, Linux laptop and Android tablet for a drive to find an available Xfinity Wi-Fi connection. Tried each client to access the VPN once connected to some poor folks’ wireless access point (why folks stand for Comcast doing this, I don’t know), and they all connected quickly and could access my Garage Control System web interface on my home network… success!

Note that in none of these set-ups did I need to edit or create any configuration files manually on the clients or server, despite lots of other tutorials making great points of this! It appears each of the OpenVPN server and client implementations I used took care of this for me.

The only bit of weirdness is that I cannot figure how to directly disconnect from the VPN using NetworkManager under MATE desktop on my Linux laptop. I can disconnect the VPN by dropping the wireless connection overall. There should be a “Disconnect VPN” option within NetworkManager but I don’t see it on my laptop when I’m connected (it is there when I’m not!). But that’s a (minor) problem for another day.

I’ve found the disconnect option in the VPN menu under NetworkManager and that can be used to drop the VPN connection. The Android clients have a connection status entry in the notifications list which provides a disconnect option once clicked on. All good to go now!

Posted in Computer, Debian, DIY, Linux, Mint, Windows | Tagged , , , , | 10 Comments

Spicing Up Your Dance Collection with Pepperplate

In this post I will lay out some history of how I have managed my dance collection and what I am currently exploring as a way to greatly simplify the work of building and maintaining that collection and making it available whenever and wherever I am.

I’ve been calling (leading/prompting) contra dances for several years now. One of the things you need to figure out pretty quickly when you decide to become a caller is how you’re going to record and organize your dances.

Like most beginning callers, at first I recorded dances by hand on index cards (or all too frequently, any spare sheet of paper I could find at a dance). As my collection grew (and I started actually having to use these compositions to lead others through the dances) my requirements for standardization and legibility grew. (In all fairness, my background includes quite a bit of business process work – so I’m a bit of a process wonk.)

So for a couple of years now I’ve been working with a system which typically involves too much work. Why? Because I chose to standardize on using 3×5 inch index cards, which turns out to be pretty darn small. The 3x5s have enabled me to carry my core card collection easily in my dance bag if I want. But the small size means I need to really work on re-writing a lot of the material I gather to abbreviate or summarize and reduce to a standardized shorthand format I record on my cards. The real estate has been very constraining (but in fairness has made me really good at slimming down language clearly). And when someone else wants to see my card or I post a dance to a discussion group there’s sometimes questions about the notation.

I have been creating these cards using a template I had set up in Open Office Writer (now Libre Office) which then I would laser print 4-up on card stock as I added new ones or a given card wore out/was revised and then cut them with a paper trimmer to size. I could also export the cards to a large PDF file containing my whole collection. I kept both the pdf and original files backed up and synchronized across several computers via Spider Oak so I would never fear losing my collection. An example card:
A dance card format example.
My workflow for finding dances and transforming them into a usable card was essentially:

  1. Find a dance I liked. This could be from dancing or seeing one danced or based on something in email from a group/forum, etc.
  2. If got in person, I originally would scribble it down. Sometimes a caller would offer to email it to me. My latest trick has been to either take a cell phone picture of a caller’s card or quickly get the dance name and/or moves entered into Google Keep on my phone.
  3. If via email, I tag the email with a “Dance to Collect” tag in GMail which becomes a queue to transcribe from.
  4. Discover my dances in queue (Keep, email or photos) and review them for quality/suitability. Was I just in a dance trance and got carried away or is it really a good one? Will I actually call it? If all good, continue on. If not, delete or recycle the paper.
  5. Process worthy dances into standard format, adding them to the master Writer file. Queue them in the “dances to review” section and when there’s a suitable chunk, print on recycled regular sheets of paper to try out.
  6. Kitchen Validate. Try dancing my transcribed card in our kitchen. If needed, cajole other family members to run through it with me. Apply my now standard set of QA checks to the dance (progresses? work for both roles? etc.) and create teaching notes as required for when I’d call it.
  7. Dance Validate. When a suitable opportunity presents, call the dance. Note any key learnings on the card and mark it as validated as applicable. Factor in any dancer or musician feedback (often noting the tune chosen, if I’m sharp enough to ask).
  8. Update Cards. When I’d think of it, I would drag out my cards and scan them for ones with handwriting on them and record that information back into the electronic copy. If significant, I’d reprint the card(s).

As you can likely tell, that’s a lot of work. However, my cards enabled me to do a pretty good job calling even material that was new to me. I often got positive comments from musicians I worked with about the cards being very usable.

If you’re a caller, you might ask why I wasn’t using one of the existing caller tools to capture my cards, like Caller’s Companion or Dance Organizer? Well the answer is that I don’t have any iThings or WinThings. I run Linux on all my computers plus my cell phone and tablet are using Android currently. Sadly both of the established caller solutions don’t support any of what I’ve got.

So in a fit of frustration the other day I launched into yet another of my ~yearly reviews of the caller/leader software out there and found the dedicated applications landscape to have essentially remained unchanged. I thought briefly of setting up something on my own domain, veino.com, to do this as a database application but that would be limited to where I could get on a network. So, as an open source enthusiast, I started thinking creatively (we often need to do this, as popular “local app” tools are frequently omitted for Linux in particular). My breakthrough was thinking “what is a dance card?” and my answer was “it’s effectively a recipe for a dance.” With that insight, I started researching the recipe management software solutions out there. Again, I found a lot of stuff for OS X and Windows, even Android and a bit for linux. As I looked into it I realized my criteria basically boiled down to:

  1. Being able to add or edit dances anywhere I was on any device
  2. Being able to print them to hard copy if needed
  3. Being able to organize them into a program for an evening.

These were the core requirements, several ancillary ones flowed from there. These included the ability to classify dances in standard ways for filtering, searching to quickly find one, and managing my work queue. Also important was the ability to work offline when a web connection was not available (and sync that work when connected again).

The end result of my search was finding the Pepperplate recipe suite. It supports all my electronic devices, either through local apps or website tools. It supports tagging, filtering and search. The dance and meal analogy gets extended via treating a dance as a dish, a program as a menu and a booked event as a planned meal. It supports sections (parts) of a recipe, like sauce (A1), ingredients and instructions (moves and calls/teaching points). Pepperplate provides for adding dishes to a menu, and menus to a meal. I find that the analogy fits pretty well and I can use this tool to do most of what I want for my dance collection seamlessly. It also supports sharing recipes (dances) in a couple of easy ways.

The biggest difference from what I’ve otherwise found in the caller tools space is that this will work with pretty much all popular (and even unpopular) devices and that it automatically syncs across them. And not that it really matters given the relatively low cost of the existing dance leader applications, but it is also free.

I’m in the early stages with Pepperplate and tried calling from it for the first time just this past weekend. I only have a limited set of dances in the tool so far but it has been doing pretty well. I’m no longer severely space constrained! I do have some criticisms and have discovered some workarounds (mostly Android settings) to get around them. And BTW, there’s a big plus for me: the Android app includes a timer for each dish (dance) in a menu (program), so I can set it for how long I want to run the dance and a “can’t miss” message pops up to keep me on track.

In fairness, there are some risks and glitches with using Pepperplate for a dance collection beyond the obvious. These include a dependence upon a business with a not entirely clear how they make money business model. They might also not be happy with it being used this way (though from a quick review of their Terms of Service it appears to not be in violation and doing so just provides more eyeballs for their ads served). However, the data is stored locally on the device for off-line use and (at least on Android) is in a format that can be backed up and extracted/manipulated should Pepperplate.com go belly up.

Is it ideal? No, but it’s ~85-90% of the way IMO. Until something better comes along, I think I’ll be using Pepperplate to manage my dance collection going forward.

In a later post I’ll cover my experiences and tips with using the tool for this application: limitations I’ve found as a dance organizer (and even as a straight recipe) app, how I’ve set things up for ease of use/applicability and how I’ve fit Pepperplate into the dance collection workflow I lay out above. A quick preview: it has made things much easier!

Posted in Computer, Contra, Dance, DIY, Frugal Living, Linux, Recipes, Windows | Tagged , , , , | 2 Comments

gLabels Avery 5167 Template Problem

Was having trouble printing some 5167 Return Address labels using gLabels. The alignment was significantly off in my set-up using the default predefined template installed with gLabels on my Linux Mint LMDE netbook.

In comparing the template definition file with the stock measurements I found several things to be off slightly. In addition, my Samsung ML-2851ND laser printer appeared to be shifting the page image a bit also.

I created a custom template, adjusted for what I was experiencing, and now I can print consistent cleanly formatted labels within the stock outlines. Should you be experiencing similar issues, you could use my custom 5167 template. Just save into a file named as your_filename_here.template in the location set by your distribution (for Linux Mint LMDE, I discovered that was in ~/.confg/libglabels/templates).

BTW, should you need to customize the template further, see this documentation.

Good luck!

Posted in Computer, Debian, Linux, Mint | Tagged , , , | Leave a comment

Google Voice Greeting Playback Problem with Firefox and Flashblock

Just debugged a problem which for which there seemed to be no solutions posted on the web already. So in case you (or I, should I forget 🙂 ) run into this, here it is:

Was trying to play back Google Voice greetings on my Linux Mint LMDE system today. I selected the proper greeting and pressed the play button, but nothing happened.

Thinking this was some sound complication with my recent LMDE update pack 8, I spent some time poking around my alsamixer and pulseaudio settings and nothing seemed amiss. Tried googling the web for others with the problem but nothing direct came up… but something triggered me to think about what they used to accomplish this playback within a browser window and I thought… “flash!”.

I had recently installed the Firefox extension Flashblock, which disables and replaces flash entities with a little symbol you can click on to enable them selectively (no more annoying ads playing on web pages and slowing down page loads!). The problem was that the GV greetings page was using flash, but the indication of it being blocked was not showing – there was no symbol to click on.

So I went into the Firefox extensions settings dialog for Flashblock and whitelisted https://www.google.com/voice and then went back to try playing the greeting – presto! we have sound!

Posted in Computer, Firefox | Tagged , , , | 1 Comment

Better Than a Rooftop Box – Take 2

After a bit of a delay I finally got around to finish painting the trailer begun some time ago. I think it has turned out really well but is eggregiously over-engineered – hence it has a new acronym-derived nickname: MOET (Massively Over Engineered Trailer). At least it should last for a good long time!

Here’s some shots of the (mostly) finished product, which is painted with Interlux Brightsides marine paint using the “Roll and Tip” method. There’s just two things outstanding for this right now – I have the vinyl to sew up a matching yellow spare tire cover and I’m in the process of designing a new LED-illuminated license plate holder to mount on the back center of the box (you can see the power connector for this is already installed in position). Yes, I’m not satisfied with any pre-made ones on the market currently. 🙂

Click on any of the images below to enlarge the picture.

Front3-4Front View – Note the shiny paint!

Rear_3-4Rear View – Showing changes from the original version including illuminated guide posts and high signal lights

Rear-OpenHatch Lid Open – With revised integral wiring channel for compartment lighting

Ear-FrontFront View of Added “Ear” – I needed a way to mount the guide lights which would allow them to clear the lid rim

Ear-RearRear View of “Ear” – Additional turn/stop signal light and guide light wiring is routed through here into box. Note the quick disconnect to allow removal of the guide posts for storage.

Driver-Rear-WiringChannelDriver Side Wiring Channel – Including protective cover for wiring junctions and switch for lid LED light

Pass-Rear-WiringChannelPassenger Side Wiring Channel – All wiring is routed inside dry fitted 1/2″ PVC pipe to protect it from cargo damage

Posted in DIY, Frugal Living, Trailer, Travel | Tagged , , , | 5 Comments

Autumn Olive – Crab Apple Jam

jarI’ve become a little bit crazy about foraging for unloved natural foods available nearby. For a little over a year following a class given by Russ Cohen, we tried to find Autumn Olive (AO) in our area, checking out just about every bush with red berries nearby but coming up empty.

One day we tried a “story walk” with our toddler daughter in a nearby conservation area and bam! we happened on autumn olive bushes! Once we knew what the real plants looked like (they were talked about but not shown in Russ’ class), I came to see them everywhere. They’re very distinctive once you’ve found one.AO-berries

So, with the fruit everywhere and so easily gathered, the next challenge was to make something with it! At first, I tried the fruit leather mentioned in Russ’ book. Several gallons of berries became three quart baggies full of deep rich red fruit leather. Sadly, my wife isn’t fond of it – although our daughter shares my fondness for the tart fruity taste.

The same conservation area has a crab apple tree whose fruit was made freely available. One day we went picking and turned them into a very flavorful jelly that my wife is very fond of.

A friend heard of my fondness for AO and gave me a recipe for AO tart from Northern Woodlands magazine, which I made for a potluck at a contra dance and found wifey liked that (contained sugar where the fruit leather hadn’t).

I’d found another small crab apple tree while gathering the latest batch of AO for the tart, so I had some of those and a bunch of extra AO left over and was looking for something to use them up. There are very few unique AO recipes out on the web and even fewer for AO jam or jelly. I did come across one jam recipe that used commercial pectin, but I didn’t want to go that route and remembered how easily the crab apple jelly had naturally set. Seeing that I had several cups full of crab apples on hand, I thought I’d take a shot at coming up with my own combined Autumn Olive – Crab Apple jam recipe (despite this being my first time making jam, but hoping that combination might become a hit with all three members of our little family).
jar-open
To my delight, it turned out great! Good flavor and a firm natural set with wonderful color. So here it is…

Autumn Olive – Crab Apple Jam

Ingredients

6 cups crab apples (firm, ripe)
8 cups autumn olive
3 & 2/3 cups sugar
1 tablespoon concentrated lemon juice
1 tsp coconut oil (optional, for foam control)

Preparation

Cut crab apples in half from top to bottom, remove blossom end and stems. Clean autumn olive berries to remove all stems, leaves and unsound fruit. Process 2 cups of autumn olive berries through a food mill to remove seeds and skins, yielding a cold puree (I had this left over from preparing the tart above, and decided to use it in place of adding water to the pot for boiling the fruit). Add the puree, the prepared crab apples and remaining clean autumn olive berries to a large pot. Bring the mixture to a boil, reduce to a simmer and cook for 20 minutes.
ao-ca-pot
first-boil

Empty the pot’s contents into a food mill and process to yield a cooked puree free of seeds and skins. To me, the appearance and texture was much like a good tomato sauce with slightly brighter color. (The crab apples I’d found were late season and grainy when raw, and some of that carried through into the puree.)

food-mill

hot-puree

Put the puree into a clean pot with the sugar and bring to a rolling boil. (This being my first time with this recipe, I tried adding the lemon juice to help the set and added the sugar gradually until it seemed right.) Adding the coconut oil will help suppress the foam formed during the boil and save time later (some canning recipes use butter but that didn’t seem right to me, so I substituted the coconut oil successfully in both the crab apple jelly and this jam). Keep boiling until the mixture starts to “candy coat” the back of a metal spoon. The mixture is somewhat firm but still liquid at this stage.

Transfer the cooked jam to prepared canning jars and process normally (I used a quarter inch or so of head space processed in boiling water for 15 minutes), cool and store. Yield was almost exactly 12*4oz jelly jars and one pint jar of rich red firm set jam.

My daughter and I enjoy this jam a lot. My wife likes it less than the crab apple jelly (she seems to taste a “bitter” note in autumn olive fruit which we don’t). The grainy nature of the late season crab apples seemed to reduce with the further cooking, but there’s still a hint of it in the final jam. I look forward to trying to refine the recipe next year with earlier fruit, just hope the existing stock lasts that long!

Posted in Foraging, Recipes | Tagged , , , , , , , , , | 6 Comments

Recovery of Files from a Unbootable VirtualBox VDI

I do most everything computer-wise with open source software, but the one hold out remaining that requires the use of a proprietary OS is TurboTax. As a result, TT ran in a Windows XP virtual machine under VirtualBox on my Linux desktop. Unfortunately, after completing our most recent return, I got a little excited to do some basic housekeeping and tried to merge snapshots from the VM in order to save some disk space. Unfortunately, as the attempt at merging snapshots resulted in an error being reported by VirtualBox that basically amounted to “you’re really screwed, buddy” but put in much geekier terms with a bits and bytes error code. A later attempt to re-merge or boot the VM again did not work. The virtual machine claimed that key windows files (like the kernel) were not available. Argh!

OK, so I’m usually pretty careful and save off critical files from the Windows VM to the Linux host. I sadly did not do that for the very-last-as-filed TurboTax working file (I had an interim copy from several hours earlier but I know we made changes later). Had the pdf copies of our returns but not the final version of the .tax2011 file, which normally copies over key details to our next year’s return. And of course, hadn’t yet set up SpiderOak to backup the files from within the VM to the cloud. Double argh!

As the VM would not boot, I tried various alternative boot scenarios to get at the files but none of them worked, using either a Windows install CD or a Linux live CD image within the VM. Furious Googling finally turned up a useful working solution to allow access the files on the Virtual Disk Image (VDI) associated with the VM. Was then able to copy out the files needed from within the virtual Windows environment to native Linux file storage. Phew, dodged that bullet! Here’s what I did under Linux Mint LMDE 64-bit to get access and then clean up afterwards:

Install Required Packages
Using Synaptic, installed the qemu-utils package, which dragged along a bunch of dependency packages.
bridge-utils (1.5-6)
ipxe-qemu (1.0.0+git-20120202.f6840ba-3)
libaio1 (0.3.109-4)
libiscsi1 (1.4.0-3)
libspice-server1 (0.12.4-0nocelt1)
libusbredirparser0 (0.4.3-2)
libvdeplug2 (2.3.2-4)
qemu-keymaps (1.1.2+dfsg-6a)
qemu-kvm (1.1.2+dfsg-6)
qemu-utils (1.1.2+dfsg-6a)
seabios (1.7.3-1)
sharutils (1:4.11.1-2)
vgabios (0.7a-3)

Gain Access to the Disk Image
Within a terminal window, executed the following commands:
lsmod | grep -i nbd
Nothing was returned, so the nbd module was not loaded already. Loaded it:
sudo modprobe nbd max_part=16
Run qemu-nbd to expose the entire unbootable image as a block device named /dev/nbd0, and the partitions within it as subdevices.
sudo qemu-nbd -c /dev/nbd0 WinXP_VirtualBox.vdi
The referenced blog posting/commentary said to issue a partprobe command, but I got an error about it not being available and didn’t seem to need it as the partitions were visible without it. Could see this by:
ls -l /dev/nbd*
To determine partition details:
sudo fdisk /dev/nbd0
and press p
This revealed the desired Windows NTFS partition from the virtual disk:
Disk /dev/nbd0: 10.7 GB, 10737418240 bytes
255 heads, 63 sectors/track, 1305 cylinders, total 20971520 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xdc94dc94

Device Boot Start End Blocks Id System
/dev/nbd0p1 * 63 20948759 10474348+ 7 HPFS/NTFS/exFAT

Access and Copy Off Files
OK, so create a mount point for the virtual disk and mount it READ ONLY:
cd /
sudo mkdir RECOVER
sudo mount -t ntfs -r /dev/nbd0p1 /RECOVER

Finally I could look at that mount point and recover the files:
cd /RECOVER/
cp -p /final/linux/resting/place/

Cleaning Up
Once I got all that I needed off the VDI, unmounted the image and shut down the qemu-nbd service:
sudo umount /RECOVER
sudo qemu-nbd -d /dev/nbd0

Then used Synaptic to remove all the qemu packages I’d just installed, to prevent the accretion of bloat hopefully never needed again. I’m trying to keep this Mint LMDE install tidy and avoid an OS reinstall for a good long time!

Posted in Computer, Debian, Linux, Mint, Windows | Tagged , , , , , , , , , , | 5 Comments

Unlimited Home Phone Service for Under $3/Month

UPDATE JUN 2015: We’re now two years in and the Anveo solution has been working great. We added an 888 toll-free number for emergency calls to home and to give out for other purposes. SPAM callers are routinely added to our blacklist and have become much fewer as a result. Monthly cost of service is well under $5 typically at our usage, including the extra 888 number. Call quality remains great (the only quality issues we’ve had were a result of our cordless phone being in the same frequency range as our wireless router – sound on a wired phone is fantastic). I’m looking at doing some stuff with Anveo’s new web API to automate some telephony in the future.


UPDATE OCT 2014: Well, it appears Google has changed their mind and what I describe below continues to remain available via Google Voice and the Obi device. I took their word for it and moved my solution over to Anveo (including porting my number to them), which has been pretty robust and much more flexible, but does cost a bit more a month (peanuts, really). However, had I known then that GV would stay available on the Obi, I would have stayed with the solution documented below.


UPDATE OCT 2013: Google has announced that the interface that the Obi device uses to connect with Google Voice will stop working on May 15, 2014. This means that the days of free voice calls using the Obi/GV solution detailed below will be coming to a close at that time. The Obi will still provide VOIP access to other low cost services (like Anveo, as detailed below) going forward.


I’ve been using VOIP (voice over internet protocol) phone service since 2006. I was previously using a small local company, Galaxy Voice, with pretty much zero problems from the start (just an occasional need to reboot my Grandstream ATA or network gear periodically after a power outage, etc.). I was very happy with their plan I had – which cost basically $5 or less monthly (usage-based). Unfortunately, I got a notification email that they were effectively going out of business (due to the failure of their supplier) at the end of June 2013. So the hunt was on for a replacement carrier!

I knew about the possibility of using Asterisk PBX software on a local linux machine to be able to make low/no cost calls using Google Voice (hereafter referred to as “GV”), but setting up an Asterisk server with dialplans, etc. is not for the faint of heart. So I was really looking for a traditional VOIP provider that would replace Galaxy Voice at the cost level we had been used to. The basic consumer-oriented VOIP companies (e.g.: Vonage {which I’d used before for my work-from-home business line} or VoIPo, etc.) all seem to have decided that the ~$10-15 price point is their target, unless you pay for two years in advance. Paying in advance for a long term commitment to something I had no experience with was a bit of a leap and their long term pricing was still on the high side of my target (given that both my wife and I use our cell phones for much of our calling, so the home phone has been mostly just for accounts contacts, etc. and not daily use). So another solution was desired.

Google Voice

I’ve had GV in place for several applications up to now and was very pleased with the service and features. For instance, I set up the New England Folk Festival Association (NEFFA), a purely volunteer-run organization, to use a GV account as their main number which then sends to select board members an email transcription and vmail link for follow up action. Also my wife and I have GV numbers which we give out so folks have “one number” access to us on both our cell phones and home phone. Additionally, GV offers SPAM filtering for calls much like their well known email filtering! So going with GV was a great idea from my perspective. Now, just how to do it without major complications…

Obihai ObiTalk Devices

My research ultimately accidentally uncovered the Obihai tech ObiTalk devices, which promised easy GV configuration right out of the box. As I sometimes subscribe to the “pay just a little more to get disproportionately more” school of tech purchasing, I went with their model 110 device (~$50) instead of a 100 (~$40). This way, if I ever found a need to connect my new Obi110 with my old Grandstream HT-386, I’d have the analog phone port available.

Porting Fun

The biggest difficulty in the whole process was working through porting our old home phone number from the rapidly dying Galaxyvoice through to Google Voice. Because Google only supports porting in mobile numbers, I had to port the number twice: from Galaxy to a cell phone provider (I used Tracfone as I already had an old phone for them sitting around) and then from Tracfone to Google Voice. Long story short, this process cost ~$40 total and took a little over a week including the shipment of a new SIM card.

Setting Things Up with the Obi110 and GV

As the first stage of the porting process was under way, I created a new Google account to use solely for the home phone service. I did this standalone account as a security mechanism so, even if the account got hacked, there would be no additional risk of my primary account’s other personal information (email addresses, etc.) being leaked. This let me pick a new local phone number to use as a GV number in the interim. I then used that account’s details to set up and test the Obi110 device. It worked great, no issues with call quality and NO bill. The one major limitation I discovered is that GV doesn’t support 911 calls.

E911 Support and Other Feature Needs – Anveo

So to cover the 911 need (we have a small child at home and working 911 is always a great idea), I opted to sign up for inbound and outbound service through Anveo.com (see link below) and use that as the second VOIP service registered on the Obi110. This worked out for several reasons… for one, I needed to provide a number in my parents’ area code ($2 per month with unlimited incoming minutes) so they could call me from the facility they are now living in (which only allows local calls) and Google Voice did not currently have any local numbers available – so GV was not an option. Secondly, they provide E911 service for a very low monthly fee ($0.80/month) plus the outgoing call rate (low, and we hope to never have to dial 911). As a bonus, Anveo supports both FAX receipt (free) and sending (very low rate) using that same number. Third, as Google Voice does not allow for one GV number to forward to another GV number [*I later discovered a unique workaround for this, see below], we’d need a new number for my wife’s and my GV “one number” numbers to forward to. Fourthly, Anveo allows you to set the outgoing caller ID to be any number you can prove you own (by answering a call at that number), so any call we place via either GV or Anveo will always show our home phone number as the caller ID.

Setting up the Anveo service on the Obi110 was really easy through their portal and worked straight away. Anveo provides a ‘933’ number you can call to test 911 without bothering your local emergency center, which showed all was set up properly. BTW, Anveo’s payment scheme is pre-paid, much like filling a gas tank: you use some payment mechanism (PayPal is preferred) to put funds on account with them and they bill against (deduct from) that balance automatically for the service used. They’ll alert you when your account balance gets low so you can top it up. So far I am very happy with Anveo – they responded to (by implementing!) a couple of feature requests/fixes I submitted to their feedback form in under 24 hours! When did you ever see that from the likes of AT&T or Comcast?

Buttoning Up

Once the Tracfone port completed (which required much hand holding/follow-up on my part due to the Galaxyvoice situation), the GV porting was submitted and finished in just a couple of days. When done, the old home phone number now rang straight through to the phones attached to the Obi110. Success! The interim GV phone number will go away in a short while (but if I wanted to keep it as a second number they offer to do so for a one time fee of $20, before that expiration date). As with any VOIP solution, the Obi110 is subject to power outage downtime, so I added it to the set of machines powered through our UPS for battery back up. And we can always call on one of our mobiles during an extended or widespread outage.

Bottom Line

We now have a full phone solution fielding more features than we were looking for, paying just $2.80/month (even lower once I take advantage of Anveo’s 1 year prepay service discount).

Regular calls come in and go out through Google Voice. Calls from my parents (and FAXes) come in through Anveo and should we ever call 911 it will go through them (as can outbound FAXes via their web portal). We don’t have to do anything special for calls, just dial (or answer) the home phone and the Obi110 routes it all correctly. We’ve been using this solution for over a month and nobody has said a thing about the GV call quality or not being able to reach us – so all is well. The one downside is caller ID. Unfortunately GV has very limited caller ID – all calls processed via GV show only the phone number (not name) passed through (both in- and outgoing) to any phones involved (there’s a lot of folks clamoring for caller ID with name to be added, which I hope they do). Google does offer somewhat better caller ID via the voicemail and contacts system – so long as you tag a contact to a given phone number, the GV web portal shows the contact name you set (for instance, on a voicemail transcription).

The biggest chore with the transition was researching the possible solutions (which I hope you benefit from here :)). Should you value this info and sign up for Anveo service, I hope you will provide my referral code 3018755 at the time of sign up so I can get a small service credit, you enter it here in the signup form:Anveo-Referral

Google Voice to Google Voice Forwarding Discovery

As has been widely lamented on the web, GV does not allow for one GV number to forward to another. This is a significant limitation for many hoping to use GV as their primary carrier, and I anticipated running into it once we ported our home phone number over to GV. I expected that my wife and I would need to change our personal GV “one number” numbers to point to the new Anveo number we provisioned above (which is why I went for the Anveo $2/month unlimited incoming service vs. the $1/month + usage minutes service – our monthly total cost could be as low as $1+0.80/month as a result of my GV internal forwarding discovery).

Remember, we had already had our separate GV numbers set up with the home number as a forwarding phone (whilst provisioned via the old VOIP supplier). To my happy discovery, our separate GV numbers continued to ring through to our home phone number after it was ported to GV! So it appears that the GV system is perfectly capable of forwarding from one GV number to another, they just preclude it when you set up a forwarding number. The key is to already have the forwarding set up while the target number is outside the GV system and then to port the number in, which will bypass the apparent step of checking for GV internal forwarding.

Again, I hope you find this information helpful and I definitely recommend implementing this solution if it meets your needs. Please do consider using my Anveo referral code 3018755 if you follow our path and use them. Happy calling!

Posted in Computer, Frugal Living, Web Architecture | Tagged , , , , , | 4 Comments

Train Firefox mailto: to use Google Apps – Take 2

In a prior post I’d detailed the method of using a javascript entry to add an external mail resource to allow clicking on mailto: links to use the Google Apps version of gmail. Unfortunately, when I tried to repeat that method on my newly reloaded Netbook running Linux Mint LMDE with the default Firefox 20, it didn’t work. I’d enter the javascript string in the browser URL bar but nothing happened this time. I wonder if it had something to do with copying the text from my prior blog post and it not containing a proper html entity for the ampersand (‘&’) character, but I found another way to fix it anyway that’s a little more geeky but actually easier to do, as there’s no about:config action required.

My solution was to track down where these options are set and then manually edit the mimetypes.rdf file in the user’s firefox profile folder with all instances of Firefox closed. Enabling the Google Apps selection required adding both a
NC:possibleApplication RDF:resource= and a
RDF:Description RDF:about="urn:handler:web:
entry. Once completed, the agent was selectable in the preference Applications setting and worked properly for me.

Here’s the entries I made (NOTE: replace veino.com in the below with your own Google Apps domain):

Find
<RDF:Description RDF:about="urn:scheme:handler:mailto"
and add above the other similar entries below there the following:
<NC:possibleApplication RDF:resource="urn:handler:web:https://mail.google.com/a/veino.com/mail/?extsrc=mailto&url=%s"/>

Find <RDF:Description RDF:about="urn:handler:web:https://mail.google.com/mail/?extsrc=mailto&url=%s"
and add below that entry the following:
<RDF:Description RDF:about="urn:handler:web:https://mail.google.com/a/veino.com/mail/?extsrc=mailto&url=%s"
NC:prettyName="veino.com email thru Gmail"
NC:uriTemplate="https://mail.google.com/a/veino.com/mail/?extsrc=mailto&url=%s" />

Restart Firefox and change your application preferences for mailto: links to use the new agent and you’re all set.

Posted in Computer, Debian, Firefox, Linux, Mint | Tagged , | 2 Comments

Arch Linux and 1-Wire on a Seagate DockStar

Outline for now. This is currently improcess, but I’ve made much more progress than shown below – I now have all but the data logging/graphing set up and everything autostarts with new systemd service files. Yay!

Reinstall latest Arch following instructions.

Modifications to that installation process:

  • Create the system partition as ext3 instead using mke2fs -j /dev/sda1 and make sure the boot loader knows to use ext3:/usr/sbin/fw_setenv usb_rootfstype ext3
  • Perform the fw_setenv mods for rootdelay and an additional stop/start on usb drive/bus (figured this out the last time, required to ensure the usb drive will come ready before the DockStar tries to boot from it) /usr/sbin/fw_setenv usb_rootdelay 10 (should experiment to see if this can be reduced with the next item in place) and /usr/sbin/fw_setenv bootcmd 'usb start; usb stop; usb start; run force_rescue_bootcmd; run ubifs_bootcmd; run usb_bootcmd; usb stop; run rescue_bootcmd; run pogo_bootcmd; reset'. Otherwise the DockStar may boot into the original PogoPlug OS instead.

Change root password. Update hostname and locale per instruction at Arch Beginner’s Guide (HW reboot required for hostname to take effect)

update system: pacman -Syu

Install owfs, lighttpd, FastCGI and PHP: pacman -S owfs lighttpd fcgi php php-cgi (digitemp not available as a package yet, see AUR)

Set up lighttpd (including PHP and fcgi support, but DO NOT make the first set of mods shown right under the FastCGI heading, this is to enable Ruby on Rails but is incomplete and will bork the server start-up)

Set up passwordless login via key:

On your local machine, copy over your local public key to the new server using
user@localmachine ~ $ ssh-copy-id root@remotemachine
root@remotemachine's password:
Now try logging into the machine, with "ssh 'root@remotemachine'", and check in:

~/.ssh/authorized_keys

to make sure we haven't added extra keys that you weren't expecting.

Modify /etc/ssh/sshd_config to disable password authentication (without this, the passwordless authentication will work, but others could still try to log in with the root password):
PasswordAuthentication no
ChallengeResponseAuthentication no
PubkeyAuthentication yes

and restart the sshd service:
systemctl restart sshd

Future:

  • Get owfs suite working and create the proper config and daemon files to have it autostart and keep running [DONE, details to be added here – but all the magic happens via /etc/systemd/system].
  • Create web page(s) to autodisplay the local 1-wire sensors data as well as interesting data from a chosen wunderground feed [DONE, using the json API for wunderground, details to be added here].
  • Automate the data collection and graphing for sensors. [PENDING]
Posted in 1-Wire, Arch Linux ARM, Computer, Linux | Tagged , , , , | Leave a comment

Westford PCA Barn Dance 3/23/2013

Tonight I’m calling a Barn Dance at the Westford, MA Parish Center for the Arts (PCA), working with the house band OH, CONTRAire!

Despite being called a Barn Dance, I confirmed with the organizer that they are looking for/happy with a straight contra dance program. I asked because that is pretty much the extent of my repertoire and wanted to be sure it will be a fit.

I have a nice program coming together and am looking forward to calling this dance very close to our home. See you tonight!

Posted in Contra, Dance | Leave a comment

Concord Monday Contras 11/26/2012

A great night at my home dance in Concord! I got to work with musicians I like this evening, including: David Kaynor (fiddle), Debby Knight (piano), Jack O’Connor (mandolin, banjo, percussion) & Cal Howard (bass).

My called program:

  • Broken Transcription – Don Veino
  • Get Me Going – Lisa Greenleaf
  • Another Flirty Attempt – Marian Hepburn
  • Further and More – Lisa Greenleaf
  • Amy’s Harmonium – Cary Ravitz
  • The Raeden Reel – Bob Isaacs
    –Break–
  • All You Can Eat – Ted Crane
  • Sweet Music – Amy Kahn
  • Small Potatoes – Jim Kitch
  • Nail That Catfish To The Tree – Walter Davies [+Bob Dalsemer]
  • Winter in Summerland – Jeff Spero
  • You’re Among Friends – Bob Isaacs
  • Night Sail – Rick Mohr

There were no significant bobbles or issues with my calling this evening and I got great feedback including some suggestions for more improvement (and many straight compliments, always appreciated!). Got one request to call (prompt) less, but that individual was dancing in a line that wasn’t experiencing the challenges showing in another line which drove me to keep calling. Was able to record most of the evening to review for my own education, may post some excerpts to YouTube later. Looking forward to my next gig!

Posted in Contra, Dance | Leave a comment

Gardner Contra Dance 11/24/2012

A fun dance! The crowd was filled with a large proportion of first time dancers, so I significantly revised my planned program below. As I did that on the fly and spent a lot of time down on the floor with the dancers, I didn’t end up capturing my “as called” program which I believe totaled 7 dances. Regardless, this was a fun test of my calling and band communication skills and an informative experience. And the snacks and people were great! Thanks for the opportunity and a great time, Gardner dancers!

Planned Program:

  • Broken Transcription – Don Veino
  • Get Me Going – Lisa Greenleaf
  • Another Flirty Attempt – Marian Hepburn
  • Further and More – Lisa Greenleaf
  • Amy’s Harmonium – Cary Ravitz
  • Night Sail – Rick Mohr
    –Break–
  • Sweet Music – Amy Kahn
  • Winter in Summerland – Jeff Spero
  • Nail That Catfish To The Tree – Walter Davies [+Bob Dalsemer]
  • Small Potatoes – Jim Kitch
  • All You Can Eat – Ted Crane
  • You’re Among Friends – Bob Isaacs
Posted in Contra | Leave a comment

Sweet Scent of Sage – Contra Dance

I’ve been toying with a very partner-centric dance I’ve named for my wife
Sage. Below is the original (successfully tried) and two new variations I
hope to try out soon.

The AFAIK unique A1 Mad Robin to A2 slide left transition I originally had
as a slide on the left diagonal to diagonal waves, but it proved nearly
impossible to teach without a demo. The revised dance achieves effectively
the same result with more familiar calls to make for a more conventional
walk-thru. The variations try to further improve call familiarity by
omitting the “hook”.

Thanks to Lynn Ackerson for pointing out there being a shadow in the wave.

Here’s the dance: Sweet Scent of Sage.

Posted in Contra, Dance | Leave a comment

Windows Freedom Round 2: HomeBank and JStock

This is just a stub of a future post regarding more progress in ditching MS Windows altogether. In a prior Windows-freedom post I covered my list of remaining programs that keeps me booting a virtual machine installation of Windows XP in order to get things done.

That post included my list of remaining programs that I’d yet to find effective Linux alternatives for:

  • Quicken
  • TurboTax/HR Block at Home
  • GoToWebinar

Well now Quicken is crossed off the list as I’ve found HomeBank (banking) and JStock (stock accounting, basis tracking). More info on using/configuring these will come later.

Posted in Computer, Investing, Linux | Tagged , , , , , | Leave a comment

Silencing a Harbor Freight Item 93575 Safe

Harbor Freight sells a pretty decent safe for secure storage of selected items in the home, their item number 93575. With the right discount coupon the cost was about $24, just a couple of dollars more than their smaller safe but, IMO, of much better quality/construction.

I wanted to use this for a discreet situation where the safe’s very loud keypad beep would be a distinct disadvantage. Others had posted solutions on the product review pages that involved totally silencing the beep through squirting super glue into the speaker or de-soldering it from the board.

Mine is a simple solution with what I believe are two distinct advantages: ability to adjust the volume to retain some of the feedback capability, and reversibility – the ability to undo the change and return the safe to factory condition in case you’d need to return it for some reason.

What I did was to insert a small screw into the opening in the speaker housing, which I screwed down carefully and slowly until it reached the volume level I wanted. This worked great and has remained the same for several weeks now. See the following photos for how to do it.

Posted in Frugal Living, Investing | Tagged , , , | Leave a comment

Concord Monday Contras 9/3/2012

This post is one of a series documenting my hobby of calling (leading) Contra dancing, building off of my original post on this topic.

This dance evening marked my first “full evening” calling debut at the famous Concord, MA Scout House. I was excited to have the opportunity to call at this venue and to work with the excellent musicians playing: Mia Friedman (fiddle), Ariel Friedman (cello), Bethany Waickman (guitar), Jack O’Connor (mandolin, banjo, percussion).

My dance program as called for the evening consisted of:

  • Broken Transcription – Don Veino
  • Get Me Going – Lisa Greenleaf
  • Butter – Gene Hubert
  • Coconut Cream Pie – Lynn Ackerson
  • Further and More – Lisa Greenleaf
  • Winter in Summerland – Jeff Spero
  • Amy’s Harmonium – Cary Ravitz
  • Sweet Scent of Sage – Don Veino
    –Break–
  • Sweet Music – Amy Kahn
  • Special Delivery – Nell Wright
  • All You Can Eat – Ted Crane
  • The Baby Rose – David Kaynor

I had deliberately planned to start the evening with easy material that still presented fun dancing. The first five dances went very well – quick teaching and smooth dancing to wonderful music. Coconut Cream Pie (by a caller friend in California) was my first time calling a Four-Facing-Four dance and it went off well. BTW, I highly recommend this dance as it is very robust and works even if partner roles get mixed up.

My sixth dance selection, Winter in Summerland, is a great Becket dance which I’d mistakenly noted as having previously called successfully (so had not diagrammed it for this gig). My card had a (minor, positions swapped) error in it found during the walk-through. Believing my notes, I was convinced I’d made a walk-thru error and tried it again and became flustered enough by that to not spot the fix in the moment. Luckily, I had thought through this possibility and had selected several recovery dances. So I pulled out a Becket recovery dance, Amy’s Harmonium, and that went smoothly – albeit after time wasted for a second dance’s walk-through.

My final dance of the first half, Sweet Scent of Sage, was my new composition honoring my wife – who was in the crowd with my daughter. This was its first public performance. I had worked out carefully how to teach it. However, I probably should not have tried calling it for this evening – the dance has an unusual transition from a Mad Robin move, and another move I’d planned to use Winter in Summerland to teach previously. As a result, my teaching took longer than expected and again I got a bit flustered and forgot that I could/should have got down to the floor to do a demo the first time through. I did get onto the floor to straighten out some misalignment during the second walk-through, but it was still feeling a little rough and we were late moving to the break. So I made a decision to drop the dance and move on to the waltz. Well the crowd wouldn’t have it – they wanted to do it! So we did, and several folks later told me how much they’d enjoyed dancing this partner-centric dance. Among my takeaways, I now have a standing reminder on my card holder: “Will a demo teach better?”.

The first dance of the second half went well. The second dance, Special Delivery, is one I’ve called several times before without issue. The dance has two diagonal moves with a shadow which proved to disorient two couples in one of the lines this evening. I got down to the floor to try to help them get back on track. However, another couple (experienced dancers both) apparently got frustrated when they encountered this and just walked off the floor. This further complicated the situation such that there was nothing I could do to fix it but end that dance a bit short.

The balance of the evening went smoothly – two sure-fire dances which always please dancers.

I’d requested dancer feedback comments and put out a notebook for anonymous input. I received several helpful inputs that way and via face to face chats. Also heard that folks appreciated my programming different/unusual dances. Some wonderful learning that I’ll do my best to apply going forward. Thanks to those that made the effort to share their thoughts with me!

Posted in Contra, Dance | Tagged , , | 1 Comment

Clearing out the Cruft with Linux Tools and Best Practices

As covered in an earlier post, I’ve got some serious work under way to sync and backup my computer files across several computing platforms and devices. I’m reinstalling some machines as part of that work. At that time, I’m cleaning out a bunch of accumulated cruft in the form of duplicate files and folders – plus old OS and application configuration data – some of which has been carried over from as far back as my Windows 98 and SunOS 4 days!

So here’s my acquired wisdom on how to get this done under Linux.

  • Delete or archive off all dot (.) files. UNIX/Linux type operating systems store configuration and option information in hidden “dot” files in the user home directory. When moving to a new version of the OS, it is best to start with fresh dot files in most instances (prior files may confuse newer versions of programs, etc.) – there are just a few which are desirable to copy back (like your ssh keys and .mozilla (Firefox/Thunderbird) configurations). If you uninstall programs, the associated dot files may be left behind, taking up space. So delete or archive these files off and copy back only what you need after the new installation is done.
  • Eliminate Duplicates. Over time, I did things like copy over from one machine to another a copy of an important directory, or upload the content of our camera’s memory card. This often results in duplicate files and folders. The best way to fix this is not to do it (which is what will be fixed with my sync/backup solution) but it can happen nonetheless. There are two good tools I’ve found to help clean this up.
    • FSlint: Among the capabilities of this tool is a duplicate files finder. It doesn’t just check for duplicate file names but does more comprehensive comparisons so that it will catch the same file under different names (even extensions!) and eliminate false positive matches using checksumming, etc. You can then delete off duplicate files, if desired, or replace them with hard links to a single copy to save space.
    • Meld: This tool includes a directory comparison capability, for up to three directories at once. It will tell you where the files in the directories are the same, where files exist in only some of them and/or if the file attributes match (eg: permissions, modification date or size). The tool allows for merging/moving files to consolidate down to a single “master” copy. Way better than trying to do the same through command line or file manager tools. Highly recommended!

Will add more later on ways to:
Slim down applications data.
Eliminate unused languages/localizations.
Clean out cached information.

Posted in Computer, Linux | 3 Comments

Motley Fool: Immoral or Incompetent?

I have to say I feel quite let down.

When I first started investing to save for my retirement (quite some time ago) I came across material from the Gardiner brothers, a.k.a. the “Motley Fools”. The information was funny and empowering, helping me to learn more about this important topic. One of their key principles was that you could get your best performance using low cost mutual funds/index funds and bypass all the shenanigans that Wall Street tried to sell you. They were lauded for their ethical approach to investing and straightforward talk.

Well over the years they seem to have strayed from this index fund advice, and I was riding along with them by becoming a member of fool.com. They had a good privacy policy and claimed to not give away your email address. However, they started sending out these incredibly long emails pitching their own various newsletters and advisory services, and I still hung on despite starting to feel uneasy. Others have written about this change and some took them to task for it. But their “CAPS” experiment was interesting, and I could easily delete the emails, so I still stuck around.

Well, a short time ago I started getting SPAM messages sent to the email address I gave them. Owning my own domain, I am able to give out unique virtual email addresses to anyone I wish — in doing so, I can track down just what I’m ticked off about and going to relate to you here. So understand that my email address with fool.com is only known by me and them.

These new SPAM mailings are coming from very shady pitches for penny stocks, etc. They are the standard dregs of the internet masking as investment advice at best, and are potentially identity theft schemes at their worst. And here’s the kicker: these are being sent to the unique address I gave fool.com – which exists in reality in no place but their own servers.

So I dutifully sent an email to their provided address for such things (PrivacyPete@fool.com), and waited. And waited. It has now been a loooooooong time (nearly a year ago now) and nobody has got back to me about this. So this leaves me with just two possibilities (is there any other?):

  • Motley Fool is violating their own privacy pledge and has starting selling their mailing list, or
  • Motley Fool’s account management has been hacked, proving their incompetency in protecting subscriber information.

Either of which is totally unacceptable. I’m a Fool no more.

Posted in Computer, Frugal Living, Investing | Tagged , , , , , , , , | 12 Comments

Password and Files Encryption/Sync/Backup: Gettin ‘er Done!

One of my to-do list items for quite some time now has been to get my computer files organized and to set up automated backup and synchronization across my computing devices.

I’d kept putting this one off because I wanted to deal with some foundational issues first:

  • pruning down my files and eliminating duplicates both within my desktop machine’s file system as well as with my netbook’s files
  • selecting a sync solution
  • converting my password safe from my former J-Pilot/Palm solution
  • etc.

I did a ton of research and would get close to doing something then another priority would take charge and it would get put on the back burner again. Well, in recent months I’ve finally selected and put in place several needed building blocks:

  • Password Sync: originally I’d selected KeePassX but I then looked further into LastPass, which does much the same thing and has many more features bundled in – they key one being a native cloud sync and backup capability for all our passwords. Works on effectively every platform I would ever consider including my Debian (Linux Mint Debian Edition) and Linux Mint machines, my wife’s Mac and a possible future smart phone/tablet, etc. Firefox, Safari, Chrome, etc. all supported! Done on my machines, pending on the Mac (which got KeePassX in the interim). [Update 1 Jan 2014: Mac is finally done, had to update OS X to enable Safari to update to a version supported by LastPass. I’m not a Mac expert and it is just different enough from Linux/Unix that I had to figure a bit out.] Use my referral code and we’ll both get a free month of LastPass Premium! https://lastpass.com/f?2884566
  • File Sync and Cloud Backup: I selected SpiderOak because of great cross-platform support. Think of it as Dropbox but with built-in cloud encryption so no worries about the files being compromised on the server/network. I’d considered rolling my own solution using a power-sipping always-on Linux ARM-based device with rsync and/or a PogoPlug but realized SpiderOak did what I needed in much easier fashion. Done on my desktop, pending on the others.
  • Local File Encryption: Protecting our sensitive files in case of having a machine fall into someone else’s possession. I selected TrueCrypt because of (getting to sound like a broken record?) similar excellent cross-platform support. I’d considered other solutions including the built-in Windows, Linux and Mac filesystem encryption options, but what I wanted was a single solution that would work with all of them plus enable syncing the secured files across all our devices using SpiderOak. The kicker for me was when I figured out that what really required the local protection of encryption was actually quite small compared to our number of overall files – I don’t care if someone finds out what I paid for our gas bill or my various basic correspondence, yet our financial account details, tax records and similar would need protection (these files end up taking well under a Gig of space). Remember, LastPass protects all our passwords separately. Done on my desktop, others pending.

The best part of all this is that every one of these solutions is free for the basic features we need and they all work across all the machines we have and anticipate being interested in at any point in the future. If/when we grow to need additional features or capacity, they are priced quite attractively (SpiderOak and LastPass). TrueCrypt is totally free for all features. Most are open source too.

Once I realized the amount of encrypted storage required was so small, my interest in consolidating and eliminating file duplicates became a nice-to-have vs. a need (I had previously been concerned that syncing a large TrueCrypt volume over the internet would be a significant performance issue). Getting to a secure solution was more important and a brief scare when I left my netbook behind at a public dance a few weeks ago (with several financial files on it) pushed me to make that part happen sooner rather than later.

Getting a NewEgg mailing with a Shell Shocker special on a 500GB hybrid (solid state and conventional platter) drive for under $80 put the final bit in place – now my netbook could have more space than my total desktop disks, so it would all fit as is without further winnowing. And with the SSD portion of the new drive used as OS and program storage, the machine promises to scream along compared to before and last a lot longer on battery power.

In order to make this solution the best it can be, my first major consolidating step will be to start over with a totally fresh install of the latest Linux Mint Debian Edition (LMDE) with the new disk on my Asus EeePC 1000HA and then layer in the individual pieces as described above. I’m starting on that work now and will post more when done.

I’m excited to have this work finally coming to fruition! After my netbook is done, I’ll be moving on to finishing the same things on my desktop machine and my wife’s Mac (after a required Snow Leopard update there – to update Safari – to support LastPass). Wish me luck!

Posted in Computer, Debian, Frugal Living, Linux, Mint | Tagged , , , , , , , , , , , | 2 Comments

Tomato Router Update Triggers SSL Error

After updating my Asus WL-520gU router to the latest version of the Tomato firmware (with OpenVPN support), I ran into a strange error. While trying to access the admin interface via https:, I got the following error in my Firefox browser:
Cannot communicate securely with peer: no common encryption algorithm(s)
(Error code: ssl_error_no_cypher_overlap)
.

I couldn’t access via http: either (which was expected, as that’s how I’d set up the router with the prior FW version to enforce security).

Googling for the error didn’t turn up anything really useful. I at first thought that the update had somehow gone bad, but I was able to get out to the internet through the router so that brought some hope. I was also able to ssh in to the router so all seemed to be OK in general. Only problem was I couldn’t access the router’s controls.

On an off chance, I decided to check out the Firefox settings for SSL security. Under the Advanced tab, I tried turning off and on the SSL and TLS checkboxes. Nothing changed. Then I decided to delete/remove the Certificate entries for my router and try again. That turned out to be the trick. For some reason Firefox didn’t like the security certificate any more – this time I got the familiar “This connection is untrusted” (or effectively similar) warning and was able to accept the security exception for my self-signed SSL certificate once more and all was fine.

Just in case someone else runs into the same problem… try the above.

Posted in Computer, Linux | Tagged , , , | 1 Comment

Palm GnuKeyring Conversion to KeepassX

I was a very early user of the original PalmPilot device. Way back when I actually had the PalmPersonal syncing with my ’90s era Sun Microsystems SPARCstation 4 work calendar and email, etc. I eventually moved on to a Treo90 which I think was the optimal personal organizer of its era (I ended up owning three of them over time, ultimately).

Sadly, the Palm solution no longer is feasible, even under Linux. The deal breaker for me was the lack of being able to dependably sync my google-based calendar, etc. with the Palm. So time to move on, which I did for most everything, but…

I had been using J-Pilot’s Keyring plug-in to manage my set of passwords – I hung on to this handy tool until I finally became unable to use J-Pilot to sync via USB with my Treo and was forced to manually sync my password info across my desktop and netbook. Enough became enough!

Research discovered that the excellent Windows application KeePass had been ported/reinvented for Linux, Mac (and even Win) as KeePassX. As a free open source application with excellent encryption, it was an obvious solution to fit my Linux-based environment (and my wife’s Mac). A side benefit was that there was even a KeePass version available for my J2ME-based mobile phone, so the Palm-type “on hand at all times” capability could be available once more. All these versions could work from the same password database file format, so syncing a file across them would enable the info to be always up to date anywhere I would be!

My final concern was how to get my all my existing Keyring data into that KeepassX solution. Well it turns out that someone else named Wouter blazed my trail there through a similar migration and it only required minor changes to work perfectly for me. Here’s what I did to modify Wouter’s method to suit my needs.

Note: when Wouter refers to extracting the file saxon.jar from the Saxon downloaded zip file, the actual file name is saxon9.jar. Also the Jochen Hoenicke conduit to export the Keyring file to XML is actually named export.jar, not xmlexport.jar as in Wouter’s command line.

So I gathered all the files into the working directory as Wouter recommended. I then executed the (modified) command line
java -jar export.jar Keys-Gtkr.pdb MY-KEYRING-PASSWORD-HERE > keyring.xml
which created the keyring.xml file.

I paused here to go into the XML file and make edits as required to clean up my old Keyring data, as it was much faster to do it here in bulk rather than the one-record-at-a-time editing that would be possible in the KeepassX GUI application. For instance, in Keyring there was no dedicated URL field like in KeepassX, so I had put them all in a notes field before. Now I moved them all over to the dedicated field. In other places I had comments in the user name or password fields, but these totally screw up the Autotype function in KeepassX, so I moved or deleted them. Once this was done I could move on to the next step from Wouter.

I executed
java -jar saxon9.jar -xsl:keyring-to-keypassx.xsl -s:keyring.xml -o:keypassx.xml
to create the final KeepassX XML import file. This was then able to be opened in KeepassX successfully with all my data in the categories I had originally set up, etc. Great stuff – thanks, Wouter!

Next step is to get KeepassX installed on my other machines and set up a Dropbox or similar synch mechanism to keep them all aligned automagically. That will have to wait for tomorrow!

Posted in Computer, Debian, Frugal Living, Linux, Mint | Tagged , , , , , | 2 Comments

Linphone: a VOIP Softphone for Linux (and others)

In an earlier blog post I mentioned I was using Twinkle as a softphone client for my VOIP service from Galaxyvoice (GV). As I also mentioned in this entry I’ve now switched my netbook over to a Debian Linux. I’d not yet got around to (re-)installing a VOIP client on the renewed EeePC. So when I saw that GV was now recommending something called Linphone, which seemed to be very cross-platform (Win, Lin, Mac, Android, etc.), I decided to check it out.

Turns out Linphone is available in the Debian repository, so it was a trivial task to install via Synaptic. As GV recommended Linphone, they also provided account settings info. – so about 3 minutes later, I was making my first call from the netbook – worked great!

I’ve not yet tried out the video calling, but the camera preview looks smooth and lag-free so I expect it will be great as well.

I recommend you check out Linphone!

Posted in Computer, Debian, Linux, Mint | Tagged , , , , | 2 Comments

Linux Mint Debian Edition (LMDE) on an Asus EeePC 1000HA

I’m a long time user of UNIX-based computers and have been using Linux exclusively for my primary computing for close to 10 years now. For the past couple of years Linux Mint has become my favorite distribution for desktop and laptop use.

This EeePC netbook had been running Eeebuntu Linux, which was fantastic. Eeebuntu 3.0 was based on Ubuntu 9.04 and Debian Unstable. Built with customization to various packages and a modified kernel it provided support to this netbook that was a perfect fit. That project enabled all the function keys to work and had outstanding power management that kept the machine running on battery for extended use.

Sadly, the Eeebuntu project seems to have broken down as they pursued new goals. IMHO they lost direction and got sidetracked with developing a fancy website for their proposed new release and expanding their project’s scope significantly. In the end this stalled any real end-user progress. In the mean time the old Eeebuntu became outdated and, being based on Ubuntu 9.04, stopped getting any updates. So things like Flash stopped working, etc. I waited as long as I could for their new release, but needed to move on.

Getting tired of the need for repeated reinstalls required by both Windows and Ubuntu-based Linux, I became very interested in Debian Linux. Debian is a rolling release, meaning updated software is available regularly for your existing installation. In practice, this means a software environment that should never require reinstallation but will still keep up with application development! And Linux Mint happened to announce the availability of a version based on Debian (called LMDE)… this gave me the push needed to give Debian a go on this netbook.

So I installed the latest available image of LMDE on my Eeepc in Fall 2011 from a USB stick. Everything went smoothly, no real hiccups at all. There was a minor issue with a package due to an upstream Debian problem which was fixed by marking one package to not update (this was covered in a note on the LMDE page). When installed, I had a good working system with most of the standard function keys working – the machine was totally usable but the dedicated keys for webcam switching, etc. did not operate (unlike how they had under Eeebuntu) and the power management was not tuned for battery preservation.

Luckily one of the former Eeebuntu developers (Andrew Wyatt, a.k.a. fewt) has made available an applet for power management of EeePCs (and other machines) that could be installed. Called Jupiter, it allows switching the CPU to one of three power scaling modes automatically on power events, enabling much longer battery life. It has other functions as well including video mode/external monitor selection and touchpad control.

The combination of LMDE and Jupiter have become a great solution for this netbook and I look forward to using them together for a long, long time to come!

Posted in Computer, Debian, Frugal Living, Linux, Mint | Tagged , , , , , , , | 4 Comments

Better than a rooftop box, and roomier too!

I’m one half of a “new parents” team focused on our little daughter. Wow, kids require so much stuff!

So, we were planning an extended car trip and I knew we were not going to be able to comfortably fit all her stuff and support equipment into the car, with our own adult stuff, and still allow for us to feed her on the fly in her carseat in the rear. I knew this would mean external storage space but I hated the idea of one of those big rooftop boxes.

Why? Primarily two reasons:

  1. Gas mileage impact: sort of like dragging a rooftop sail down the road, this was going to cause some serious drag
  2. Access challenges: getting to the box on the roof and getting stuff into and out of it was going to be a pain. My back is not what it once was…

So I was thinking that a small enclosed rental trailer would be the ticket. Something like this one. Once I calculated the cost for our extended trip, I figured I could build one for the same or less money (than either the trailer rental or buying a good rooftop box) and we’d get to keep it for future needs. New project!

So I end up buying a Harbor Freight trailer frame kit. This ships-in-two-boxes kit comes pretty much complete but completely disassembled. They intend for you to add a make-your-own simple plywood platform and an optional stake side kit to complete it, which they supply basic plans for in the assembly directions. As I wanted to haul stuff in complete weather protection, I had to come up with a better solution.

My design ended up being a weather-tight wooden box made primarily from two sheets of 4′ x 8′ marine-grade plywood and a couple of 1″ x 4″ x 8′ poplar boards. It has a pretty simple but very effective gasket system, much like a refrigerator door (so effective, I find that opening it requires waiting for the resulting air lock to release!). Stainless hardware enables a swing open lid and good security. Upgrades include an LED trailer light kit (with the wiring harness expanded to include a dedicated ground wire throughout) and an interior LED light fixture to view the contents at night. Also a spare tire and mount (modified to go on the front surface of the box instead of on the frame tongue). I came up with a PVC pipe wiring channel to protect the wires underneath and keep the box weathertight.

The box is coated with West System marine epoxy currently and will eventually have a marine one-part polyurethane paint finish for better appearance and UV protection (have to wait for warm weather to apply it – all the assembly and coating to date was done in my residential basement due to sub-freezing weather!).

I’m really pleased with the result! The MA RMV had no issue in registering it. The trailer is barely noticeable in towing (~1500 miles so far), and seems to have little or no effect on our gas mileage. It swallows 4 large plastic storage bins and some additional bulky gear and is easily loaded and unloaded. The interior stays perfectly dry, even when using a power wash on it (I built in a boat drain plug just in case, but there is no need for it now). It is so light and well balanced that I can easily disconnect and wheel it around with one hand while still drinking a coffee with the other.

This photo make the trailer appear larger than it is - the top comes just about up to the bottom of the car's rear window and it is much narrower than it.

My only complaint is that it is so compact I can barely see it out of the rear of the car – which makes backing up a real challenge! Basically, once I see it on either side of the car while backing, it is too late – the trailer is at a significant angle already. I may need to add some lights or poles to show the corners of the box for backing up. But for now, I generally find it easier to just pop it off the car’s hitch and wheel it where I want to put it than try to back it up any distance.

Will update this post later, once the final painting is completed.

Update 12/14/13: I finally finished this project in early fall of this year with some other enhancements besides just painting, check it out!

Posted in DIY, Frugal Living, Handyman, Trailer, Travel | Tagged , , , , | 3 Comments

Fix for Schwab Site Tossing Users Out When Accessing Certain “Offsite” Areas

After my most recent upgrade to Linux Mint 11 (and the resultant upgrade to latest Firefox), I started running into an issue on the Charles Schwab site. I could log in fine and see my account info, but as soon as I clicked on something “outside” (news story links, or Morningstar research, etc.) then I would encounter a weird situation. The linked page would display for a second or two and then the screen would refresh and I’d find myself tossed out and back at the login page with a message
Your session has either timed out or has not been correctly established. Please sign on again.
This was extremely frustrating. Googling resulted in a couple of other folks having similar issues on another platform, but no solution. The few things that had similar reports back from earlier days talked a lot about cookies. I wondered, “is this a cookie problem”?

So I looked at my cookie settings and one thing stuck out for me: “Accept Third Party Cookies” was not checked. Where this was about going “off” the main Schwab site, I tried enabling this option. Bing! The issue is resolved and now I can load these other pages and stay logged in. I don’t like the solution, as it requires me to accept cookies for sites I am not specifically planning to visit. But at least I can stay on Schwab now when I want to. I’ll most likely simply turn this option on and off as I visit Schwab until there is a longer term solution. If I can find some sort of advanced cookie management plug-in for Firefox, then that might be a longer term fix.

Posted in Computer, Firefox | Leave a comment

Using DeposZip Under Linux (Mint 11/Ubuntu 11.04)

Our new credit union provides the capability to do on-line check deposits using an application called DeposZip. Of course, their web site only mentions support/instructions for Windows and MacOS, not Linux. Well, the application is actually server-hosted and uses a Java applet (or some ActiveX thing if on Windows) to get things done.

If it goes as planned, the application can work with your TWAIN-enabled scanner to get the check images directly within the application. Sadly, this did not work for me – it produced a pop-up window saying only “SK.gnome.TwainManager.getDefaultSource()LSK/gnome/twain/TwainSource;”. I figure this is refering to a value that is supposed to be defined somewhere (and is not?), but in looking at the file system and googling I came up with nothing. OK, so the application offers two more options under the applet, copying the image from the clipboard (which also did not work – with no error this time) and loading an image file, which does work.

To create the image file, I scanned the front and back of the check separately using XSane and saved each as a .png (or jpeg) image. I then loaded these images as requested by the application. DeposZip took the 200 dpi color scans and further processed them to what looked like high contrast greyscale or B&W images shown in a preview. The rest systematically worked OK from there, the deposit was accepted for processing.

BTW, DeposZip also offers a “zero client” version as a link in the footer of the applet. This seems to load another page totally doing away with the java applet and using instead a standard web form with upload link for the image files. This works similarly to the above, but without the image preview you see in the applet happening until the next step in the process.

So long as you follow the endorsement instructions exactly (which unfortunately require you to write a whole lot of stuff on the reverse of the check) and the check is below $1500, the deposit will go through fine. Nice way to avoid a drive to the bank or ATM!

Posted in Computer, Customer, Linux, Mint, Ubuntu | Tagged , , , | Leave a comment

Linux Mint 11 (was Debian/Xfce) on a HP Pavilion ze4600

My brother’s Win XP laptop died. He has limited computer needs, really just needs to use some web applications like Facebook, Yahoo mail, Hulu and Youtube. In the past he has had significant virus issues under Windows and I’ve been proposing to him for years to move over to Linux. This happenstance caused him to be finally open to it.

This HP laptop is fairly old, it has an old AMD mobile processor, USB 1.1 and no built-in wireless hardware. This meant that the operating system had to be fairly lightweight to make this solution work well. I personally use Linux Mint (currently Mint 11/Gnome) as my own desktop and was aware of the new Debian Edition of Mint, which is available in a version using the Xfce desktop (again, lightweight resource use) which I thought would be very suitable. Plus, I wanted to get more personal experience with Debian. 😉

So I launched a project to install Mint LMDE Xfce edition on this machine. This proved to be quite difficult. For some reason, the installer would run extremely slowly – but curously, would speed up if I kept the mouse moving. But seeing as I only discovered that the second time around, once the installer had run overnight the first time around, that was little help. I ended up installing LMDE twice, because the first time it would not work properly. The second time worked, and the machine was quite nice and snappy, despite the paltry resources of this machine.

So all was good, and I got things set up well and everything he would need to use was working. Delivered the unit, he was happy. Great. Project over…

Not quite. A few days later I hear he is having trouble. It is difficult to troubleshoot remotely because there seems to be some sort of permissions issue that is preventing him from running even the tools I would normally use to connect to the machine from my home. It was almost as if SELinux was somehow in play and blocking stuff, but it had all worked before and I did not create his account with privs to change anything sensitive.

I never did get LMDE back working on the machine. Instead I chose to reinstall from scratch using Linux Mint 11 LXDE. That went smoothly (and much quicker!) and the machine has been running trouble-free since. And I was smart enough to create an image of the install this time as a backup to slap back on the machine should he have any other problems. Everything will be right back to working state in just a few minutes.

In all fairness, Mint LMDE is new and “not for your average user”, so my having trouble is really not that unexpected. I’d hoped to be able to get it running and stable and then lock it down from any changes that would destabilize it, but that proved to be insufficient. I really do want to move to a Debian base to avoid the major reinstalls periodically required with Ubuntu-based systems (Debian systems have “rolling” upgrades which keep fresh without the need to reinstall) but I think that will be best attempted with my own desktop or netbook in the future. Best to keep the others I support on the more frequently traveled path.

Posted in Computer, Frugal Living, Linux, Mint, Ubuntu | Tagged | Leave a comment

One Year of Mobile Phone Service for ~$120, with New Phone!

Yes, I’m frugal. Not so much when I’m giving a gift to someone else, but otherwise I really like getting only what I need for what I want to pay or less. So I grew disenchanted with standard monthly mobile phone service some years ago, as I was paying a lot but needed little. I discovered the world of pre-paid cell phone service, and specifically that provided by Tracfone, and never looked back.

Getting married a short time ago, my wife and I have been slowly moving to align our similar services and subscriptions. I have been wearing a very low tech but extremely reliable Nokia 2600 “candy bar” style phone since 2007 which has had GSM phone service via Tracfone. I was spending $29 every three months for service and got signal just about everywhere I’ve gone, as it would roam on the AT&T, T-Mobile, etc. networks (all within plan). She had a LG clamshell phone on a shared Verizon plan that cost about that much per month for just her portion and was happy with their network coverage (no roaming). Her phone had recently started to fail mechanically and that was the kicker to finally get this particular part of our merger completed.

So off I went in search of a solution which included:

  1. New phones for the two of us (hopefully something fairly full featured and even capable of browsing the web on the few instances we’d have to do so “on the go”)
  2. Minimal monthly cost (ideally no more than what I was paying)
  3. Keeping our existing phone numbers
  4. Neither of us are big talkers or texters, so low usage constraints might be OK

Long story short I ended up going for a deal from the Home Shopping Network, of all places. We got two LG 500g GSM phones, each with a little over one year of Tracfone service, including 1320 minutes, for $120 per, shipped. Both included a phone case, car and home chargers and a future “Triple Minutes for Life” bonus – when we add airtime purchases in the future, the minute values will be tripled automatically. I had my prior service balance ported over to the new phone (for even more time and service minutes) and was able to transfer my phone number very simply as it was all within Tracfone’s systems.

For my wife, the phone number situation was a bit more tricky – she actually gives out her cell number fairly frequently, so keeping her number was very important. Because we were moving her from Verizon to Tracfone and might want to move to another carrier in the future (and have heard you can’t port out from Tracfone), I wanted to ensure we’d have the most flexibility. As a result, instead of a straight port, we activated her new phone with a new number altogether. Her old phone number will now be ported over to Google Voice (for a one-time fee of $20). By going with Google Voice, people dialing her old number can be forwarded automatically to her new phone just like they’d expect – but that number can also ring our home phone or any other number she may be at so we don’t need to use mobile minutes in those instances. And she’ll also get automatic transcriptions of voice mails and other bonus features. If keeping her old number didn’t matter, then GV and their features would be free – I can get the same with a new number from them.

So bottom line, we ended up with way better phones, great coverage and more features for significantly less money in aggregate — roughly $260 total for a year+ of service for the two of us. Nice!

By the way, we can both help each other if you decide to go with Tracfone! I can send you an invitation through their Refer-A-Friend program which will give you a $5 discount on your phone order and earn me a referral bonus. Just add a comment below on this post requesting the referral and I’ll send one to you as quickly as possible.

LG 500g

An example of our new cell phone

Posted in Frugal Living | Tagged , , , , , , | 2 Comments

Attention comment spammers! I screen every comment on this blog before publication. Please apply your skills to do something better for our world.

Posted on by Don | 3 Comments

Reviving “Dead” NiMH Batteries

I prefer to use rechargeable batteries whenever possible. Recently I noticed that several of our AA cells were being reported as dead (“null” when inserted) by the charger. Some of them were rather new, so I was a bit miffed at the idea of them becoming unusable in such a short time.

I remembered a couple of colleagues in the lab at my former employer performing a trick to “revive” a dead NiCd battery pack — they charged a capacitor and then discharged it through the cell to blast away any dendrites that might have formed between the plates. Now these were NiMH, not NiCd, but I wondered whether there were any similar tricks to reawaken these.

It turns out the issue and solution are much simpler. The cells in question had depleted so far that they were below 0.9v, and the better chargers apparently view such cells as dead. There were all sorts of suggestions out there for hooking up larger batteries (or even arc welders!) to force the battery to a higher voltage that the charger would then view as “live”. I wondered about using one of the old style (a.k.a. “cook the battery”) chargers to boost the voltage instead (similar idea, but with much less risk), so I put the dead ones into the old charger I’d normally avoid – for just a 5 minute juicing.

That did the trick – the better (current sensing and limiting) chargers would now accept these cells and bring them back up to full charge without overheating them. This worked on all of the cells previously left for dead.

Posted in DIY, Frugal Living | Tagged , , , , | 17 Comments

Monster Desktop Renewal with Linux Mint 11

I’ve been having a spot of trouble with my Mint 9 desktop machine recently, where something would lock up Gnome/X periodically. Somehow it seemed related to running OpenOffice and Firefox at the same time with something “video” happening. (Now, to be honest, I’d done my Mint 9 installation in a “messy” way — I was too lazy to reconfigure stuff, so I just reused my home directory leaving all the “dot” (configuration) files in place — so I probably caused the problem myself.)

After having it happen to me several times in one day, I decided this was the perfect excuse to upgrade my 5+ year old hardware to more recent stuff. My pals at NewEgg were great in setting me up with some new gear I could swap into my existing box:

  • AMD Phenom II x4 925: 4-core processor
  • Asus M4A78LT-M Motherboard
  • 8 GB G. SKILL Ripjaws DDR3-1600 Memory

I was able to re-use all my other existing stuff, so I was able to jump up to a monster but energy efficient system for less than Netbook dollars.

I ended up choosing Linux Mint 11 (the release candidate version) as my OS to install. The great thing about Mint is their Mint Backup tool. Not only will it allow you to do simple home directory backups, but it provides an easy mechanism to move to a new installation and preserve your installed software packages selection. Even across architectures (which is what I was doing, moving from a 32-bit install to 64-bit).

The installation proceeded in a pretty much painless way, and in a short while I ended up with a system that can do pretty much anything I need with all my old files and applications in place. All my old HW worked without issue. Mint 11 includes Firefox 4 and the internet screams on this thing. Hulu/Flash worked out of the box. Only problem was needing to install the Gnome Alsamixer to mute the sound card capture until the TV tuner was started.

I’ll be continuing to make a few tweaks and bring back some of the old dot files for my prior customizations, but it looks like the sailing is going to be smooth. Especially notable given that this is not a final release. Thanks Mint Team!

Update 6/15/11: Mint 11 is now released, and all the packages updated automatically for me from the RC versions. Everything is still working smoothly but for one issue: my new Cyber Power CP1500 AVR UPS is apparently not playing well with the system.

Periodically I get a notification that the UPS battery is low and the system automatically hibernates. The battery is not low, and the UPS knows it based upon what shows on its built-in display. I did not install Cyber Power’s linux software previously because it appeared that everything was already working out of the box (there was an added tab under the GNOME Power Settings for what actions to take while on UPS power). I’ve now installed their SW to see if it makes any difference. My quick work-around was to unplug the USB connection so the system can’t get a power low signal and therefore doesn’t hibernate, but I’d rather use the automatic shutdown capability properly. So far the shutdowns seem to have stopped so the SW seems to be working, will see if it does so from here forward. Their documentation is clearly by a non-native English speaker so it is a bit tricky to understand, FYI.

Posted in Computer, Firefox, Linux, Mint, Ubuntu | Tagged | 1 Comment

1-Wire/owfs on Seagate Dockstar under PlugApps Linux

This post is currently just a set of notes as I blaze the trail to get this working. Ignore for now, unless you like just reading random technical thoughts from someone puzzling their way through something they don’t know a lot about… I’ve started a true step-by-step description at the end below as I make my way through this for a second time. Hopefully this will be completed and cleaned up shortly.

PlugApps is based on Arch Linux, follows their start-up sequence – which is loosely based on BSD’s. The file /etc/rc.conf is where a lot of the main settings are made. Daemons are initiated based on an array entered at the bottom of that file. The daemons exist as bash scripts in the directory /etc/rc.d . Config files and similar stuff appear to be are normally set/stored in /etc/___. See here and here for the Arch info.

The owfs package now created for PlugApps includes the owfs core application/commands PLUS temploggerd but only creates the related option and template files for temploggerd. No similar files are created for the core owfs stuff. Currently have verified that owserver and owhttpd can be started with the applicable options from command line and those basically work.

Next steps:

  • figure out the option/config files for owserver, etc. under PlugApps based on prior work with NSLU2 (these were in /opt/etc/owfs there)
  • does my application require FUSE and the sensor array to be mounted as a file system? (A: YES, it is handy and by using owserver as a front end it does not cause a burden.) if not, skip owfs itself, otherwise script creation of /tmp/1wire and do related stuff to make the array available (A: will need to script this, it will be part of the rc.d script).
  • figure out temploggerd operation – can it be verified without web server access at start? (A: Yes, but web server is now set up)
  • determine what web server to use – thttpd? something light weight but secure! (A: Cherokee is available, installed easily and works well with little load on server. Plus is it has a GUI for admin!)
  • generate temploggerd templates (reclaim from NSLU2 installation?), or do I want to use another prettier graphing toolset like http://dygraphs.com/? (A: stay with temploggerd for now)
  • make the system survive a power outage -> install (what?) to NAND? or simply configure a static IP locked to MAC address on router and reboot from pogo OS if stuck?

Misc. Info:
From default installation of the owfs package on PlugApps:

[root@chicago /]# find . -name *emplog*
./usr/share/temploggerd
./usr/share/temploggerd/templates/README.temploggerd.templ
./usr/bin/temploggerd
./usr/lib/temploggerd
./usr/lib/temploggerd/temploggerd.conf.wrt54g
./usr/lib/temploggerd/temploggerd.conf.coldfire
./usr/lib/temploggerd/temploggerd.conf.default
./usr/lib/temploggerd/temploggerd.conf.ewrt54g
./usr/lib/temploggerd/temploggerd.conf.openwrt
[root@chicago /]# find . -name owfs*
./usr/include/owfs_config.h
./usr/share/man/man5/owfs.conf.5.gz
./usr/share/man/man5/owfs.5.gz
./usr/share/man/man1/owfs.1.gz
./usr/bin/owfs
./var/lib/pacman/sync/aur/owfs-2.8p7-1
./var/lib/pacman/local/owfs-2.8p7-1.2
./var/cache/pacman/pkg/owfs-2.8p7-1-any.pkg.tar.xz
./var/cache/pacman/pkg/owfs-2.8p7-1.2-any.pkg.tar.xz
[root@chicago /]# find . -name owft*
./usr/share/man/man1/owftpd.1.gz
./usr/bin/owftpd
[root@chicago /]# find . -name owht*
./usr/share/man/man1/owhttpd.1.gz
./usr/bin/owhttpd
[root@chicago /]# find . -name owse*
./usr/share/man/man1/owserver.1.gz
./usr/bin/owserver
[root@chicago /]#

How to Install PlugApps Linux on a Seagate Dockstar and Enable owfs and temploggerd

  1. Obtain ssh access for your Dockstar
  2. Perform basic installation of PlugApps
  3. Update pacman itself:

  4. [root@Plugbox ~]# pacman -Syu
    :: Synchronizing package databases...
    core 35.5K 172.4K/s 00:00:00 [######################] 100%
    extra 382.1K 457.7K/s 00:00:01 [######################] 100%
    community 371.6K 489.2K/s 00:00:01 [######################] 100%
    aur 5.9K 146.4K/s 00:00:00 [######################] 100%
    :: The following packages should be upgraded first :
    pacman
    :: Do you want to cancel the current operation
    :: and upgrade these packages now? [Y/n] Y
    resolving dependencies...
    looking for inter-conflicts...
    Targets (1): pacman-3.5.1-1.2
    Total Download Size: 0.79 MB
    Total Installed Size: 2.72 MB
    Proceed with installation? [Y/n] Y
    :: Retrieving packages from core...
    pacman-3.5.1-1.2-arm 804.7K 583.5K/s 00:00:01 [######################] 100%
    checking package integrity...
    (1/1) checking for file conflicts [######################] 100%
    (1/1) upgrading pacman [######################] 100%
    >>> The pacman database format has changed as of pacman 3.5.0.
    >>> You will need to run `pacman-db-upgrade` as root.
    >>>
    !!!!!! SERIOUSLY! Run pacman-db-upgrade or PACMAN WILL NOT WORK! !!!!!!
    [root@Plugbox ~]# pacman-db-upgrade
    ==> Pre-3.5 database format detected - upgrading...
    ==> Done.

  5. The Dockstar does not have a hardware clock, so it will always be off at start up unless you take action to fix that. The easiest way is to set up a network time protocol client. Install openntpd (automatic time sync client) and start it before the password change below, to avoid lockout due to password aging (30+ years will seem to have passed between the default date in 1970 and now).
  6. Change ssh login password for security (optional: install ssh public key in ~/.ssh/authorized_keys for more security [+ disable password authentication in /etc/sshd_config for even more security & to avoid having to type in your (long, strong) password])
  7. Install ddclient if you are going to want to access the machine over the internet with a DHCP address.

Now that we have the Dockstar basically set up and functioning under PlugApps, we can move on to the 1-Wire and owfs related items. (more to come…)
[root@chicago ~]# owserver -F -s 4304 -d /dev/ttyUSB0
[root@chicago ~]# owhttpd -F --readonly -s 4304 -p 3001
[root@chicago ~]# mkdir /tmp/1wire
[root@chicago ~]# owfs -F -s 4304 /tmp/1wire
[root@chicago ~]# ls /tmp/1wire

Post-install: disable telnet under pogoplug os, in case of PlugApps reboot failure (provide details here – did enabling ssh via pogoplug portal already do this?)

Posted in 1-Wire, Computer, Linux, PlugApps | Tagged , , | 1 Comment

A Frugal Shopper’s Bonus: Ebates

One of the earliest sites I joined on the internet was this one, way back in 2002 – wow, 2002! Seems like things have changed so much, so quickly!

OK, back to the real point of this post. I’m frugal, I admit it. When I buy something significant, like a new car or computer, I research them and strive to find the best one and to get the best price. So when I’m done, it annoys me if I find out later I missed an obvious chance to save more. When buying stuff on-line, Ebates is frequently that chance.

Ebates is a referral/rebate system for on-line shopping. They have selected partners that will give you cash back – in most cases on top of any other coupon or deal – for items you purchase after going through the Ebates site to get there. You get the cash back as a total accumulated through Ebates, paid quarterly. Their partners are ones you likely already are looking at, you just don’t know otherwise about the rebates! Examples of their 1200+ store partners are HP, Dell, Godiva, JC Penney, Sears, Macy’s, LL Bean, etc., including my favorite computer/electronics store: NewEgg.

Generally, the only thing you have to do is remember to visit Ebates first, then follow the link from their site to the place you’d otherwise shop already! After that, it is all automatic (in a few cases, you need to enter a discount code or similar). Generally, you get 1-6% cash back, but I’ve also seen ones as high as 15% or fixed dollar amounts like $60. For stuff you were already going to buy.

So now you know why I kick myself if I forget about using Ebates. Don’t kick yourself – join and start saving now. If you follow my link here to sign up, I’ll possibly get a small reward for referring you and you’ll still get the same great deals – so please click below to join for yourself (and me). And remember to use them afterwards!

Posted in Customer, Frugal Living | Tagged , , , , , | Leave a comment

Great Customer Service Sells!

I’m a firm believer in being an assertive customer when a product does not live up to your expectations. Great companies know how to handle that and turn your relationship with them to an asset.

Just concluded one such experience with Richard Green at TofuXPress. My wife had purchased one of their devices for me after seeing the Rube Goldberg method I had previously used for pressing the moisture out of tofu in preparation for frying. They make a device that does this neatly, without the stacks of plates and various heavy items from the kitchen that I’d used before. My only problem was that a tab on it broke, very quickly after I’d received it. I put the broken piece aside with the intention of following up, but of course life intervened and I didn’t get around to finding the box to get the contact information until after the warranty was up.

So I tried contacting them, told my story, and offered design change suggestions to address what I’d seen. Richard, their Operations Manager, responded nicely and a conversation continued from there. Long story short, they made an out-of-warranty exception and sent me not only that part, but also two others that mated with it. The new part had a design change just like what I had suggested. Now I have nothing but appreciation for them and we have drier tofu again without the gymnastics!

I highly recommend tofuXpress.com.

Posted in Customer | Tagged , , , , | Leave a comment

pyRenamer Rules!

Just a quick shout out to the creator of pyRenamer — a supremely useful renaming tool written in Python, which installs with a quick sudo apt-get install pyrenamer on Ubuntu Linux (but is also available for OS X & Windows).

I love your tool.

I do a lot of computer work that involves managing files. For example, financial statements or other “store it away” sorts of files you download from a company. For some reason, the default file name of these downloads is almost always something either unusable (every file named the same!) or silly (“statement 27 July 11.pdf” – why does nobody responsible for these things name them a much more logical pattern like “statement_2011-07-11.pdf”? Well, almost nobody – Discover Card actually does – thanks, random IT person!). As a result, I’m always having to rename stuff I’m going to save, so I can see my statements in order when I look in the directory.

With pyRenamer, I have a simple yet powerful GUI tool to get this done on large numbers of files at one time. I can do it based on patterns in the file name, so I can bulk rename all those statement files for last year to be sortable in no time. It will even rename image or music files based on their tags data! It works very quickly and lets you preview what you’re about to do, before you cause any harm to your prior stuff. This is one of my go-to applications for getting stuff done.

Put simply, nice work!

BTW, if you use pyRenamer, you may not know that it will support other regexp qualifiers in the “Patterns” tab other than what appears in the tooltips! For instance, you can enter ^{#}.pdf as a pattern to work with just the pdf files that start with a number. Omitting the carat (^) is default and will get any pdf file that contains a number, which may be what you want, or not…

Posted in Computer, Linux | Tagged , , , | 3 Comments

Another rung on the Windows-freedom ladder: gLabels

As you might have gathered from other posts on this blog, I’m an open source fan with a liking for Linux. I’ve used UNIX, VAX, MS Windows of all flavors, OS X, etc. but have come to prefer Linux (currently Mint 9 and Ubuntu 10.10). There are just a few applications which have tethered me to the need to keep a Windows machine (virtual machine in my case) around.

These applications are:
Quicken
TurboTax/HR Block at Home
GoToWebinar
Avery Labelmaker/ID Automation Barcode Labeling

Today I discovered an excellent open source replacement for that last entry, gLabels. This Linux application is very actively maintained and was just a free Synaptic download away. In under 15 minutes I’d downloaded the app and used it to create the Christmas card address list labels for next year. It was intuitive and worked great!

Just three more apps to go…

Posted in Computer, Linux | Tagged , , | Leave a comment

Fun with 1-Wire Devices in Linux using Digitemp and owfs

I’m currently working on a Christmas present for my new in-laws.

The goal is to be able to remotely monitor the temperature and humidity at another location over the internet. I want to do this at a reasonably low cost, using very little power and not taking up a lot of space in the target location.

To meet these goals, I’ve designed a solution using Dallas/Maxim 1-Wire devices. These are low cost sensors that interface using a very simple parallel bus, wired (with, despite the name, 2-3 wires) over either a standard cat-5 ethernet cable or RJ-11/RJ-12 style cable. I’m going to drive them using a small embedded Linux system for silent and low power operation.

The sensors and adapters arrived a couple of days ago. I had other projects under way, so playing with them had to wait until today. I’m posting the following because the adapter I’m using is relatively little known, meaning that almost everything I could find for software usage examples did not cover this adapter. After several hours, I have now found the secret sauce and I’m going to pass along the recipe to you (and me, in case I forget!).

Here’s the parts I’m using:

  • Linksys NSLU-2 Network Storage Link, hacked to run Unslung 6.8 (a modification of the original embedded Linux provided by Cisco on this unit, which allows running many other SW packages)
  • iButtonLink LinkUSB-SD 1-Wire Bus Adapter
  • iButtonLink T-Sense-SD Temperature Sensor
  • and, eventually, a AAG TAI-8540 humidity sensor

I’d planned to use a DS-9490R adapter, which is very well documented for SW use, but was finding them sold out wherever I looked. Same deal for the TAI-8540 (but we could always add the humidity sensor later). Looking for alternatives so the gift would be available on time got me to iButtonLink. Their LinkUSB series are supposed to be superior performing masters, and they were available.

My first task was to determine and get the required software installed. My original desire was to use the oww (1-Wire Weather) package, which was developed to work with a dedicated hobbyist weather station product that Dallas once had available. It has since expanded to support other standalone sensors and is available in the Unslung ipkg feed, so it can be installed and used without needing to be compiled. It has a bunch of great features, including the ability to upload/push data to a server for viewing, so no firewall and DNS shenanigans would be involved. This all would be great, but I’ve not yet been able to get it to work with the LinkUSB adapter. So searching on… I landed on two other packages: owfs (1-wire file system) and DigiTemp. Again, both of these are available as native ipkg feeds for Unslung (the selection is impressive).

OWFS

I tried owfs first, as there were many on-line comments about DigiTemp being limited to temperature measurement only, and I knew we wanted to do humidity too. I installed the software according to the instructions on the owfs site. Here is what I did, running as root:

ipkg update
ipkg install owfs
ipkg install owshell owcapi

This automatically installed the start-up scripts too, so owfs would be there after a reboot. Unfortunately, the parameters it used were not compatible with this adapter and no sensors showed when viewing the resulting summary page via http://192.168.15.77:3001/ . I also found the output on that web page to be very confusing at first glance and not made plain on their site, so I couldn’t figure out why I wasn’t seeing any sensors and temps. I poked around using lsusb, etc. but couldn’t find the 1-wire file system entries that were supposedly created by this package. After a frustrating period, I punted and moved on to DigiTemp. But I’d be back later… mere SW can’t beat my persistence!

DigiTemp

DigiTemp is a package designed to do just what it sounds like, grab temperatures from digital devices. In this case, 1-Wire sensors. Some people have gone all out with it. We had more modest goals, and it turns out that the humidity sensor I wanted to use is actually supported under DigiTemp with a serial (not USB) adapter. There might be hope yet…

So I install DigiTemp following instructions on the NSLU2-Linux site, but run into the problem with using a non-DS9490-R adapter once more (all examples were for that one). It turns out there is no single actual digitemp command, but rather a different one based on each adapter type, and mine isn’t listed as one of them. Out of frustration, I decide to try all of them. Amazingly, the last one works! I can see devices!

# digitemp_DS9097U -w -s /dev/ttyUSB0
DigiTemp v3.5.0 Copyright 1996-2007 by Brian C. Lane
GNU Public License v2.0 - http://www.digitemp.com
Turning off all DS2409 Couplers
..
Devices on the Main LAN
280097A702000098 : DS18B20 Temperature Sensor
28848BD50200005C : DS18B20 Temperature Sensor

So here’s my commands to install, configure and use DigiTemp with the LinkUSB adapter:

# digitemp_DS9097U -i -c /etc/digitemp.conf -s /dev/ttyUSB0
DigiTemp v3.5.0 Copyright 1996-2007 by Brian C. Lane
GNU Public License v2.0 - http://www.digitemp.com
Turning off all DS2409 Couplers
..
Searching the 1-Wire LAN
280097A702000098 : DS18B20 Temperature Sensor
28848BD50200005C : DS18B20 Temperature Sensor
ROM #0 : 280097A702000098
ROM #1 : 28848BD50200005C
Wrote /etc/digitemp.conf
# digitemp_DS9097U -q -c /etc/digitemp.conf -a
Dec 03 18:55:38 Sensor 0 C: 19.50 F: 67.10
Dec 03 18:55:39 Sensor 1 C: 21.19 F: 70.14

Yay, we see sensors and actual temperatures! It works. Now from this, I get some clues that I think might help with owfs. So back to crack that nut.

OWFS Redux

From the above, I know I have a device that looks like a DS9097U to software, and it appears to be seen on /dev/ttyUSB0. Armed with this, I poke around owfs and force it to use other settings than the default start-up scripts supply. This means killing all owftpd, owhttpd and owfs processes (via ps -ef and kill -9). I then restart them using /dev/ttyUSB0:

owfs -F -d /dev/ttyUSB0 -m /tmp/1wire
owhttpd -F -p 3001 -d /dev/ttyUSB0
etc.

Note: I’d actually installed a second adapter and sensor in-between activities here, so I modified those commands to add the ttyUSB1 as well (you will see those in the output below). And finally I see something in the /tmp/1wire directory!

# ls
28.0097A7020000 28.75BAA7020000 28.848BD5020000 alarm bus.0 bus.1 settings simultaneous statistics structure system uncached

You can then get some data from a sensor by treating it as a normal text file under Linux, e.g.:

# cat 28.75BAA7020000/temperature
65.525
#

And when I look at the web interface, I can finally browse these devices as well!

Other Magic

There is one other thing I did a couple of times along the way, but I can’t now remember in what exact order I did it for the last time. This may or may not impact the above for you. I got the clue from this oww page. In there is a bunch of info on using the NSLU-2 with oww, which of course includes that more standard adapter but listed other possibilities. From that, I installed the kernel modules that I thought applied to the LinkUSB:

ipkg install kernel-module-usbserial
ipkg install kernel-module-ftdi-sio
.

After doing so, I then had to load those modules:
insmod usbserial
insmod ftdi_sio
(note the underscore instead of dash here, tricky!).

After this, the NSLU-2 reported via dmesg seeing the LinkUSB adapters (which are connected via a USB hub):

hub.c: new USB device 00:01.0-1, assigned address 3
Device descriptor:8 bytes received.
Device descriptor:18 bytes received.
hub.c: USB hub found
hub.c: 4 ports detected
hub.c: new USB device 00:01.0-1.1, assigned address 4
Device descriptor:8 bytes received.
Device descriptor:18 bytes received.
usbserial.c: FTDI FT232BM Compatible converter detected
usbserial.c: FTDI FT232BM Compatible converter now attached to ttyUSB0 (or usb/tts/0 for devfs)
hub.c: new USB device 00:01.0-1.3, assigned address 5
Device descriptor:8 bytes received.
Device descriptor:18 bytes received.
usbserial.c: FTDI FT232BM Compatible converter detected
usbserial.c: FTDI FT232BM Compatible converter now attached to ttyUSB1 (or usb/tts/1 for devfs)
hub.c: new USB device 00:01.0-1.4, assigned address 6

So this was most likely required for DigiTemp (and/or owfs) to see these devices on ttyUSBn. I will verify this later when I have more time to set up the rest of this project, meaning to: collect the sensor output, create pretty information from it and make it available for remote access.

Off to dinner, but more to come!

Posted in Computer, Linux, Unslung, Web Architecture | Tagged , , , , , , , , | 6 Comments

CSV File Import to Quicken 2007

Tonight I was spending some time catching up on many (more than I care to mention) months’ worth of finances. A couple of accounts had significant transactions which needed entry into Quicken. Due to Intuit having disabled direct connection with my financial institution (because they want me to buy something newer than what I’d already paid them for), I was stuck with the prospect of having to enter many things by hand. Ugh!

Well, a bit of googling later, I came upon http://xl2qif.chez-alice.fr/calc2qif_en.php . This is an OpenOffice.org spreadsheet macro to convert csv data to QIF format. Unfortunately, Quicken 2007 will not support QIF import to bank accounts (yet another planned “feature” vs. it working successfully in a prior version) but there is a workaround… you can simply import the QIF into a “cash” account and then cut and paste the transactions over to the correct account from there.

It worked almost perfectly. I downloaded the csv files from my financial institution, opened them in OO Calc and then applied the macro to map and save the selected data to QIF for import into Quicken. The only issue was that I could not get the amounts of the transactions to import for some reason. In all fairness, it is late and I didn’t spend much time trying — it was much easier to just type the figures by hand into the otherwise complete entries. Way better than doing it all by hand!

This may be the final shove to move me to an open source finance program. Intuit’s business model of breaking SW features I’ve already paid for is problematic. This, coupled with the complete uselessness in the past few years of the Quicken to TurboTax import, takes the cake. I guess they can’t compete on new features alone? I would routinely and willingly pay for updates before, when features got better. But now that MS Money is dead as competition, I don’t expect things with them to get any better soon.

Posted in Computer, Customer, Investing | Leave a comment

Adobe Acrobat Connect Pro with Firefox on Linux

I’m a PMI-certified Project Management Professional. As part of my PMI membership, I have access to Communities of Practice (CoP). Among these, I participate in the Innovation and New Product Development CoP.

We had a webinar today on Design for Innovation in Manufacturing that planned to use an uncommon package, Adobe Acrobat Connect Pro (vs. Go to Meeting or WebEx, etc.) for the meeting. So I tried the typical “test your system’s connection” page with my primary Linux desktop and I get the result that everything else is OK, but fail the “Acrobat Connect add-in test”. The suggested solution is to install the add-in. But of course, none is available for Linux.

So off to my Windows XP virtual machine which I keep for these sorts of situations, and I go through the gymnastics of installing the add-on in Windows and participate in the webinar.

Afterwards, I’m struggling with finding a way to download the presentation slides (which it turns out is impossible – they have to be viewed through another “Adobe Presents” thing and can’t be saved from there). As part of this process, I tried to see whether the slides link would perform differently under Linux.

It doesn’t — it opened the presentation slides right there in FF on Linux as if I was on Windows. OK, that’s interesting. So I try the original webinar URL in Linux, and darn if that doesn’t work the same as well.

So, bottom line:

  • No Adobe Acrobat Connect Pro add-in appears to be required — so why do they make you download it on Windows/Mac?
  • Adobe Acrobat Connect Pro and Adobe Presents works fine on my relatively recent Linux box with Firefox – one less reason to head over to the virtual Windows world.

Update May 2011: Sadly, the above is no longer the case. It appears that Adobe changed something in their Connect Pro application which now makes it unworkable with Linux out of the box. It now requires a higher level of Flash than before, so neither my existing machine nor my new Ubuntu 11.04/Mint 11 release which has that Flash revision will work. The application loads but cannot connect to the meeting room server. They apparently also now have added a download for installing their add-in on Linux (reported to be for hosting meetings), which I have not tried, but others report having no success with that either on the Adobe forums. Note however, that the Adobe Presents application still works (for now, at least).

Update December 2011: I was again able to connect to a PMI webinar via Adobe Connect today on my Linux Mint 11 x64 box, using Firefox 8 and Flash 10.3.162.29 (current Mint default installed versions). The connection process seemed to hang several times in the browser (a prolonged “Waiting for…” in the status bar). In parallel I had connected to the meeting using my Windows XP virtual machine, so I knew it was in process. So I stopped the page load in Mint and then reloaded it, which moved things along. I had to do this a couple of times but was then able to join successfully to get both the audio and meeting materials.

Posted in Computer, Firefox, Linux, Mint, Project Management | Tagged , , , , | 5 Comments

Accessline TeleDesk/iControl on Linux

While I was a remote worker for Sun Microsystems, Accessline was the chosen solution for integrating us into the corporate telephone systems. This employer was a major UNIX supplier and user, so they ensured there was a version of AccessLine’s TeleDesk/iControl application (which I’ll call TDiC hereafter – this controlled the service and provided incoming call notifications) created for their UNIX version, Solaris.

As this is a Java application and Linux is a close cousin of UNIX, I figured I could get this version working on my Linux box, which proved true (on several versions of Ubuntu and its derivatives). But there was a little magic required to do so (much less so in the latest version, thankfully). In case you are an AccessLine user looking for a Linux solution, you should be able to make it work for you too by following these steps. The below examples are on a Linux Mint 9 (derivative of Ubuntu 10.04) box, and assumes you have the appropriate Java installed.

Get the software

My former employer was acquired in 2010 and the combined firm has since ceased contracting the AccessLine service. However, as of today, the link to download the UNIX version is still available here. Download this file and save it to your home directory – the following instructions will expect that location, so if you do otherwise, you’ll need to adjust accordingly.

The downloaded file is a script for installing the software.

Run the Installation Script

I set executable permission and tried both double clicking and clicking right on the TeleDesk2.3-010.sh file in Nautilus to execute/run the script, without success (it would offer to open it in Gedit/Text Editor and would then complain about character encoding, but not offer to run). So the easiest way around this was to execute the following command in a terminal window:

sh ~/TeleDesk2.3-010.sh

This starts the installation. You have two places to make decisions or answer questions:

Installation for AccessLine TeleDesk 2.3-010-1
Copyright (c) 2002-2009 AccessLine Communications Corporation, Bellevue, WA (USA)
Java found in PATH environment.
Enter the install directory for TeleDesk.
[default (return) /home/username/AccessLine/TeleDesk]:

I was perfectly happy with the default, so I hit enter/return here and installation continued.

Creating /home/username/AccessLine/TeleDesk ...
Installing in /home/username/AccessLine/TeleDesk ...
Uncompressing installation package using 'gzip -d '...
Extracting installation package...
Update PATH in your shell's profile? [yes or no]

The answer to this determines whether you will need to specify the full path to the TDiC application when you want to run it. If yes, then the path will be added to your defaults and you can start TDiC by simply typing TeleDesk at any terminal prompt.

Update PATH in your shell's profile? [yes or no] yes
/home/username/.profile modified
Installation of TeleDesk complete.

Opening the Application

Once installed, start the application:
username@system:~$ TeleDesk
which will open a window:

You can then enter your applicable information and configure the selected sounds for alerts, etc. through clicking the SETUP icon. This will open another window:

From here forward, it works like it is documented on the AccessLine site for other platforms. The one problem is you’ll need to open a terminal and type that command each time you want to run it, which is inconvenient. No problem, we can fix that by creating a Launcher.

Adding a Launcher under the Applications Menu
You’ll want to have a nice image for your launcher, so you could use this one: . Save it as AccessLine.png in the same AccessLine subdirectory under your home as above.

For a GNOME desktop, you can add a launcher to the Applications menu by clicking on System => Preferences => Main Menu.


Here we select the Office section and click on New Item. Make the entries in the new window look like below.

To add the nice icon to the launcher, click on the launcher (platform on a spring) icon to open the Choose an icon dialog, and pick that image file you downloaded:


and then click Open to set it as the image. Click OK on the Create Launcher window. You can now launch TeleDesk from the main menu:

Adding a Launcher to a GNOME Panel

Two ways to do this. If you didn’t add the launcher to the main menu as above, then you can click right on an open space on a panel and select Add to Panel...

then select Custom Application Launcher and Add, which will continue just like the main menu approach above to create the launcher.

But if you did add TeleDesk to the main menu, then the easiest way to create the panel launcher is to simply drag the TeleDesk icon from the main menu to where you want it on the panel. It will be added there automagically.

Now you can enjoy having TeleDesk on your Linux box!

Posted in Computer, Linux | Tagged , , , , , , , , | Leave a comment

Contra Dance Calling Log

Update 1/1/2019: This post is no longer maintained and now well out of date as I’ve been calling and leading dancing regularly for over a decade now. I lead contra dances at regular series about New England and also in several other states. I also do special events/festivals and private Barn Dance events for schools, scouting groups, churches, social groups, etc. Please see my calling page for more information.


Continue reading

Posted in Contra, Dance, Frugal Living, Historic, Non-Profits | Tagged , , , | 2 Comments

Linux Tweaks & Programs Selections

This is mostly a list for my own use, but I hope you may find utility in it as well. I’m currently running Linux Mint 9 on my desktop (with Windows in a VM) and Eeebuntu 3 plus Win XP, dual boot, on my netbook.

This post will be updated over time, and some form of organization may appear. 😉


  • Change default google search in Firefox on Mint: Mint uses a google custom search engine to fund their work on the distro. Unfortunately, they change the search results, such that it is unusable in my opinion. “Mint searches” may return nothing while the same terms on the google homepage bring results. To fix, click the down arrow next to the search box in FF and select “Manage Search Engines”. Search for a normal google one (I used the ssh version) and set that as default. Now send Mint a small donation, to offset the revenue that they’ve lost.
  • pdf-shuffler: allows pdf files manipulation: add/remove and rearrange pages
  • pdftk (and pdftk-gui): another set of pdf tools, best for command line use, like removing the useless pages from bank and credit card statements automatically. pdf-shuffler now does most pdf things easier on a one-off basis.
  • gpicview: very fast image browser – does a great job as a photos viewer when resources are tight or files are large/high res. Unfortunately, no auto slide show capability.
  • Kiosk use: the x screen saver can play videos. This could be used for a NEFFA kiosk, by using a video to entice people to complete the festival survey and automatically stop playing, once they hit a key, to let them do so.
  • gscan2pdf: a great tool to create efficient/small pdf files from optically scanned pages. It also outputs to other formats and enables Optical Character Recognition (OCR) as well.
  • GoogSysTray: a nice all-in-one cross-platform notifier for google services like calendar, mail, voice, etc. Makes sure you know about new appointments, mails, etc. without having to have your browser running.
Posted in Computer, Linux | Tagged , , , | Leave a comment

Disk Partition Cloning with Live Linux Tools

This post is currently more of an in-process note to myself to remember stuff I had to just rediscover. Last time I did this I was going from Ubuntu 6.06 x86 to 8.04 x64. Should it help you too, all the better! (And yes, this will work on Windows files just as well, I used it when moving from XP to Linux originally.)

  • Use live Linux CD to boot system (this time, used an old 5.x series Knoppix CD I had already — the latest Knoppix 6.2.1 seems to have changed dramatically and did not leave me feeling familiar enough to recreate what I’d done the last time, x years ago)
  • Make sure disc partitions to be imaged aren’t mounted to prevent activity changing contents. With this version of Knoppix it was easy, with the disk icons showing on the desktop
  • Use df -h to confirm what is mounted where. I had originally tried doing all this with the SystemRescueCD v0.2.19 but I must have been doing something wrong with mounting the partitions, which I was able to do correctly here
  • Use sudo to mount /media/sdc3 partition (the target destination on removable USB disk) as root, then sudo partimage to start the PartitionImage tool

PartImage’s use is pretty straightforward, but need to be sure to specify the entire path to the image file! Eg: /mount/sdc3/IMAGE-FILE-BASE-NAME . Pretty much all the rest was intuitive and just using the defaults, which produces image files in appx. 2GB image chunks (so a further backup to DVDs for offsite storage would have 2 or 4 of them per single or double layer disk, respectively).

Don’t walk away until you have confirmed the result of the disk check, or it will just wait for you and do nothing more!

Backing up the entire appx. 4GB Ubuntu 8.04 system file set took just 1-2 minutes to create the resulting compressed 1.4GB IMAGE-FILE-BASE-NAME.gz.000 file. Doing the same for the appx. 40GB of /home directories of the same installation is predicted by PartImage to take about 1.5 hours and is well underway. Given it is currently at 37% completion and the image files are now about 14GB, there is likely to be much less compression benefit for these files. This makes sense, as much of the content is already compressed music, photo and video files.

This is a great free (in all meanings) tool set. Once done, I will have great confidence that installing a fresh Linux Mint 9 or Ubuntu 10.04 on my main desktop will be without serious risk to recovery of my precious prior work.

Posted in Computer, Linux, Ubuntu | Tagged , , , , | Leave a comment

Free PDUs for Project Management Professionals (PMPs)

I’ve been a certified project management professional (PMP) with the Project Management Institute for several years now. As part of that comes the need for gaining 60 Professional Development Units (PDUs) in each three-year Continuing Certification Requirements (CCR) cycle.

This may sound like a daunting amount, but you can achieve a great portion of this for work you are already doing by practicing in the field and by performing volunteer PM duties for non-profits, etc. Besides these real world activities, completing training or studies related to the field of project management is the next natural way to pursue PDUs, but there are many others ( full details re: theCCRs are available at the PMI site).

The good news is that there are excellent resources out there for training and study which are totally free. This post is my personal list of some of those resources — please feel free to comment with additional ones and I will add them to the list.


PMCentersUSA Complimentary Webinars – Earn 0.5 PDUs/per.
Presented over lunch hour Eastern/US time – lunch and learn! They are not a PMI REP (IIRC), so these need to be filed under another category.
http://pmcentersusa.com/KnowledgeCenter/LiveWebinarsSchedule.aspx

They also have some on-demand free offerings:
http://pmcentersusa.com/KnowledgeCenter/WebinarsonDemand.aspx

IAG Consulting Complimentary Webinars – Earn 1.0 PDUs/per.
Presented over lunch hour Mountain/US time. Mostly on requirements capture and management, their specialty. They are a PMI REP, so these are all cat 3.
http://www.iag.biz/resources/webinar-events/

They also offer on-demand webcasts:
http://www.iag.biz/resources/webinars/on-demand-webinars.html

ESI International is another source, and is a PMI REP.
Free live sessions presented over lunch hour Mountain/US time.

Live events: http://www.esi-intl.com/en/Resources/Events.aspx
On-demand: http://www.esi-intl.com/en/Resources/Webinars-on-Demand.aspx

They also present IMPACT 2010, a day-long yearly virtual event, coming up September 29th. http://request.esi-intl.com/content/IMPACT_2010

Gantthead.com runs a yearly live “virtual conference” called PMXPO.
This is another day long live event which is also now available as recorded sessions. They are a PMI REP, so these are all cat 3.

You have to register on their site to access the resources, but there’s a free level of membership. They also offer lots of other free content of interest to PMs.

Update 3 Sep. 2010: Through a posting on a LinkedIn PMP group today, there was a link to this Examiner article which detailed the following additional resources (nice!):

1) Earn 30 PDUs in Category 2:

a. Category 2 –SDL: Self-Directed Learning:

* 15 PDUs – Visit http://pm411.org/ and start listening to their free podcasts. 60 minutes of listening qualifies for 1 PDU you can claim. Remember you can claim up to 15 PDUs from this type per each 3-year cycle. Keep a record of what you heard as PMI.org may audit your claims.

b. Category 2 H: Practitioner of project and/or program management services:

* 15 PDUs per 3-year cycle. Did you work as a Project Manager for more than 1,500 project hours during the past 3 calendar years? If so, you can claim these and it costs you nothing.

2) Earn 85 PDUs (yes, you can transfer up to 20 PDUs towards your next 3-year cycle) under Category 3 – PMI Registered Education Providers. And yes, these are all free:

a. 26 PDUs – Visit the International Institute of Learning’s web site. It has a number of podcasts and webinars for free:

* 2 PDUs – Hear Dr. Harold Kerzner’s 8 Modules Podcasts series on PM’s Best Practices, Executive and Line Managers in Project Management and the PMO. These qualify for 2 PDUs.
* 20 PDUs when you register to take over 20 Webinars offered by the institute, each worth 1 PDU

b. 24 PDUs – Visit Solution’s Cube Group site and register for two FREE live webinars offered each month, worth 1PDU each.

c. 18 PDUs – Visit IBM’s Rational Project and Portfolio Management certification training e-kit site. There are four free interactive training courses each worth 4 PDUs and one free course worth 2 PDUs.

d. 5 PDUs – Visit Provedia Learning Inc’s site and take the free course on Rescuing Troubled Projects worth 5 PDUs .

3) Earn 12 PDUs under Category 4 – Other Program Provider:

a. 12 PDUs – Visit Rita Mulcahy’s RMC Project Management, Inc site. It offers 12 free pre-recorded webinars per calendar year each worth 1 PDU.

Did you know that Categories 3 and 4 have no maximum on how many PDUs you can claim? So go ahead, listen and claim. And keep in mind, not only are you going to learn a lot by taking these PDUs, but you can return to many of these sites each cycle and earn your PDU requirements again for free. Good luck and share this knowledge with your fellow PMP-ers.

Update January 2014: I’ve noticed several recent comments posted which are straying from the Free PDU topic and show evidence of being posted by paid commenters. I am marking these comments as SPAM, which feeds back to a central registry of comment SPAMmers – so don’t bother commenting unless you’re just a plain old interested human being!

Posted in Non-Profits, Project Management | Tagged , , , , | 27 Comments

Debut of the all new ConcordScoutHouse.org

Tonight I finished initial delivery of a large project I’ve had going with the Concord Scout House, Inc. (CSH). I was approached to do some web work with them as a result of what I’d previously done with MondayContras.com.

This project has been going on, to some degree, since January of 2010 (non-profits work seems to go in fits and starts). CSH is a group whose prior web site was showing its age. Users and other constituents were frustrated that information on the site was old and inaccurate, but there was no easy way to update the content via the folks then involved. The site was running on an infrastructure that was out of proportion to the group’s needs (but had been provided at no cost), and was too complicated for them to manage themselves.

The solution I composed included using a very simple yet powerful GPL’d Content Management Sysytem (CMS) which their non-technical content managers could use to maintain the public-facing site. At the same time, I secured them a non-profit (aka Education) account for using the Google Apps platform and integrated that with their web presence as a backend suite. The end result meets their current needs and will scale into the future easily. Should I be hit by a truck, the technologies involved are much more mainstream and should be able to be picked up by someone else with the right skills.

And the best part? It will cost them well under $50/year to operate — web, email, calendar, docs: everything. Yep, less than fifty bucks.

I can’t wait to see what CSH do with it, now that the modern tools are in their hands! You can check it out here: http://concordscouthouse.org .

Posted in Computer, Non-Profits, Web Architecture | Tagged , | Leave a comment

Train Firefox mailto: to use Google Apps

Update 5/10/13: With Firefox 20 the method below of using a javascript entry to add the external mail resource apparently did not work on Linux Mint LMDE. Instead, I found it necessary to manually edit the mimetypes.rdf file in the user’s profile folder to add the resource. See my later post Train Firefox mailto: to use Google Apps – Take 2 for details on this method.

This post’s text is lifted very closely from a similar one (which appears to have been similarly lifted from others going back to a Lifehacker article). Why repost? To make note of what actually worked for me (to remind myself later, when upgrading requires it again) and to hopefully inform you. I used the correct wordpress tagging to make sure the commands and javascript come through correctly here (without WP mangling the quotes), so all copy & pastes will actually work.

In your browser address (URL) bar, type: About:config

Answer “yes” to “you will be careful”

In the filter bar on the screen type (or copy and paste): gecko.handlerService.allowRegisterFromDifferentHost

This will bring up the specific entry. Double click on the line to change the value from “false” to “true

Do the same as the above, in the filter bar, for: network.protocol-handler.external.mailto, toggling it from “true” to “false“.

Go back to the browser address (URL) bar and copy and paste the string below. Be sure to change “veino.com” to your actual domain name and the label at the end similarly:

javascript:window.navigator.registerProtocolHandler("mailto","https://mail.google.com/a/veino.com/mail/?extsrc=mailto&url=%s","V.C at Google Apps")

Hit return and a message line above the page should appear (like for pop-up blocking messages) in the browser asking if you want to add this application to your mail. Click on “yes”.

Go to Firefox Edit > Preferences > Applications (using Linux FF – for Windows it is under Tools > Options > Applications), and select your new Google Apps entry as your default mailto: handler.

Return to about:config in the address (URL) bar and reset the values for the two variables to their original default values by repeating what you did before, reversing the toggling of values.

Close and restart Firefox, log in to your Google apps account and then try clicking on a mailto: link on any other web page. You should get a compose mail window loading, using your Google apps account. Yay!

Previously, I’d figured out how to have it open a new window to compose your message – but I can’t figure it out right now. Will update this post, if I remember how I did that.

Posted in Computer, Firefox, Linux | Tagged | 2 Comments

Gmail’s Undocumented Filters

I use gmail to host my domain’s mail accounts. Mostly this has been a pure joy, particularly as it means I don’t have to pay for the storage space on my hosting account any more.

One thing, however, has been a continuing annoyance: Gmail is weaker on filtering on emails in a comprehensive way (at least vs. the the extent I could via cpanel). In particular, you can’t do “any header contains” filtering, and wildcards aren’t really supported. As a result, some known things I could filter for and send straight to trash ended up going into my spam folder.

In general gmail does spam filtering well, but because of the fact I had a domain back in the very early public internet days (so get a lot of spam to old and made up addresses) and the way I manage email addresses, it sometimes puts stuff there it shouldn’t. So I have to keep reviewing the spam folder — hence my frustration with the lack of “any header” filtering. Otherwise I could knock off all known spam (incoming at a rate of thousands of messages a day) straight to trash and that would only leave the new stuff to review in the spam folder.

Well, today I discovered that there are several undocumented filters available in gmail. Among these is a “DeliveredTo:” filter. So, let’s say you’re getting mail in your account that appears to be actually sent to “izucocomas6250@com.ar” (yes, a real spam message had this) – but it is showing up in your own account with you not listed. Most likely you are being Bcc’d on the mail. You can see this if you do a “Show Original” mail, and there will be a “Delivered-To: youremailaddress@yourdomain.tld” right at the top. Gmail normally lets you filter on From: and To: and “Has the words”, etc., from within the filter dialog. But none of these apply in this situation — luckily, DeliveredTo: does!

So how do you use DeliveredTo:? You enter it in the “Has the words” field – that’s perfectly intuitive, right? 🙂 Of course not… but that’s how it works.

So, for example, to filter for anything Bcc’d to complaints@amazon.com, under “Has the words” you’d enter:
DeliveredTo:complaints@amazon.com

Take that, spammers!

Posted in Computer | Tagged , , , | Leave a comment

Wireless Woes Resolved

In an earlier post, I’d detailed how Tomato on the Asus WL-520gU brought the internet back to our home in a delightful way. However, there had been an ongoing wireless problem with my EEE PC running Eeebuntu linux 3.0.

I’d been puttering with those issues on and off for a while, having got to a state where things mostly worked, most of the time. My biggest complaint was that I’d have to try multiple times to connect to some access points, but others would work straight away. Unfortunately, the router at the in-laws was one of those, and the new Asus at home turned out to be even worse. All the other clients liked these routers just fine, so I knew the issue was with this PC.

Sooo, long story short, I figured out that there were multiple drivers competing from all my attempts, trying to take care of the same wireless connection. I ended up finally disabling all of them but for the ath5k driver (which connects great, but has a speed fluctuation issue) in /etc/modprobe.d and then forced the connection speed with an iwconfig setting. Now the PC has a great connection all the way to the full extent of our property and streaming hulu is without a glitch.

Another minor irritation apparently solved. 🙂

Posted in Computer, Linux, Ubuntu | Tagged , , , | Leave a comment

Wireless Tomato

The other day the internet died. One moment all was good and the next, nothing. Gasp!

Poked around and all the lights on the router were out. Of course, this happens right as we’re flying out the door. So out comes the volt-ohm meter and find out the power brick failed. No problem, I’ve got a universal brick with changeable tips! I’ll just swap that out and we can get on our way… well, not exactly. Router still dead. Seems the connector is mating fine… funny. Ok, now really need to get out the door. Drop in a basic router from way back (no wireless) so the VOIP phone is back up and off we go.

Later, I use the V-O-M again to find my error. I had set one polarity on that universal brick, but that was not the one the router wanted. So I swap and plug it in — lights — yay! But it won’t stay up for more than a few seconds at a time now. Either the old brick killed it before, or I gave it the final shove with that reversed power.

OK, so now we’re short wireless. We’ve got a few mobile devices here and some of them have no ethernet jacks, so it’s off to NewEgg and I see there’s a very popular inexpensive router (Asus WL-520gU) on sale and with rebate. It seems to be a snap to convert it to a very full featured router/print server/NAS device, by use of an open source firmware package. Within just a couple of days I have the new toy. Google-ing ensues to find the best way to get the firmware updated.

The open source firmware package “Tomato” is already popular, but a person called “teddy_bear” created a custom version for this router to enable USB support for the print server and NAS capabilities. Before I install it, I try out the router with Asus’ own package. It seems pretty nice, but somewhat confusing in a Chinese-English language hybrid sort of way, and I can’t get the router to hold an internet connection to the WAN. If I reboot, it works for a few minutes and then goes away. Thinking Comcast may want a specific MAC address, I clone it from my original PC. Still no joy. Time to toss in a little Tomato.

There are some complicated processes on line for updating this router to Tomato by using the windows CD that comes with the router, and then loading another open source firmware, DD-WRT, and then using that to update the firmware to teddy_bear’s version of Tomato. Luckily, I found another post indicating success in downgrading the router’s own firmware from v 2.0.0.9 to 2.0.0.8 and then renaming the Tomato image file to v 2.0.0.9 and loading that, all using the Asus web page interface.

Well, my unit came with v 3.0.0.9. Wondering if the downgrade was solely to get the router to accept a “higher” revision number, I try renaming the Tomato image to fake a v 3.0.1.0 and load that. No dice. Firmware update fails. Meanwhile I’m having other issues with the linux laptop I’m using, so I think that is the cause. After futzing with it and then booting into WinXP to try again with the same result, I finally decide to just try the massive downgrade. I load version 2.0.0.8 on the machine and it works (albeit providing a very primitive interface)! I then load Tomato, renamed to fake a v 2.0.0.9, and it works straight away!

Tomato is definitely the secret sauce for this machine. Way, way easier to navigate through and the performance is now rock solid, keeping an internet connection (with the native MAC address, even) with no problem. All the devices but the linux laptop seem to love the wireless*, and the wired connections all work great.

I haven’t tried the print server function yet (I have a NSLU-2 unSLUng box that does that still) but the NAS function works fine and it even supplies an ftp service. And I was finally able to set up Mrs. V’s Mac to print wirelessly via the router to NSLU-2 as well.

One more set of tasks checked off. 😉

*This EEE PC netbook has had wireless issues all along, both under WinXP and linux. It seems to just not like certain routers. I can change drivers under linux, using either ath5k or ndiswrapper, and the solution will work for some and not for others. The opposite set up will work with those others. Go figure.

Posted in Computer, Linux | Tagged , , , , | 1 Comment

Savannah Honeymoon!

We needed to have our formal honeymoon last just a few days, as we both had commitments to return to. We wanted somewhere warm and within our own time zone, ideally. We’d both been to Florida several times, meaning that was out. So that left islands somewhere in the Carribbean or someplace else along the east coast. We had family who had been to Savannah and enjoyed it, so that seemed a natural choice.

Simply put, we had a wonderful time!

Priceline offered a package deal with the flights, hotel and rental car bundled together. We chose to stay at the AVIA hotel, just a couple of blocks from the riverfront in the historic district. Again, following my new practice of mentioning or asking, I made it clear to the front desk staff that we were on our honeymoon – and the extra care given was really nice. We ended up in a quiet room overlooking the city that felt like it was above our price grade. We got the turn down service and chocolates on the pillow, plus free bottles of water. Little touches, but it was all nice.

We drove down to Tybee Island and over to Hilton Head in South Carolina. We saw Fort Pulaski and Bonaventure Cemetary. And we played what amounted to a real-life game of PacMan, wandering random patterns and gobbling up the squares of Savannah in a day-long walk one day. Savannah is very walkable. We also crossed the Savannah river several times, both on and above the water in a drive to SC. In Hilton Head we played an 18 of mini-golf, where Sage made a hole-in-one! Three days was just about the right amount of time to have a great time.

Anticipating the input of my other half, I’ll share with you our dining experiences. Our first night we ate at Vic’s on the River and had some delicious upscale regional fare. Although we were full by the time dessert was offered, Sage noted that they offered a sweet potato créme brulée… we’d come back for that later. Two times in our stay we ate “breakfast” (the timing of which merits the quotation marks) at Goosefeathers Express Café and Bakery – very good and very friendly table staff. In Hilton Head we ate at Aunt Chiladas and got our cheap Tex-Mex fill. Our last night we got local seafood at The Fiddling Crab and then scooted over to Vic’s for that dessert we’d missed…

Great fun.

Posted in Wedding | Tagged , , , | Leave a comment

Wedding Lessons Learned

As a professional project manager, my brain is wired to do certain things — one of these is to conduct a “Lessons Learned” review after each major project. Let me assure you, our wedding was a major project. So here goes with the lessons learned:

1) Five hours at a reception is no time at all
1a) Do a “drive by” visit with all your guests at their tables as early as possible in the reception. Do not stop to talk with them in any detail. Otherwise you’ll never finish.
1b) Target a more leisurely visit with key individuals later in the reception. Seek out folks you don’t otherwise have an opportunity to talk with much in person, especially if they have traveled a distance to be with you. But still don’t tarry long, your time is precious during this event.

2) Delegate and trust – things will happen that you did not anticipate. If you focus your energy on them, you can’t be “there” for your guests or enjoy your day yourself. Find someone you trust to hand the issue off to… people will step up and take care of it for you.

3) Write out your speech’s key points and list of people to recognize. You will need it, your brain will be fuzzy. You don’t want to forget Aunt Agatha after she knitted all your favors, etc.

4) Keep track of invitation responses and gifts as they come in. Send thank-you notes right away. We did this and it really helped to keep things organized and flowing. We used Google docs for key lists so we could both update them and always stay in synch.

5) People really enjoy having more information available before the ceremony. We did a wedding website with a background story on each of us, our love story, details on the events and venues, and a means to log invitee’s responses via a web form. With the exception of just one individual, this went over really well and we got positive comments throughout on it.

6) Everything is negotiable, and it never hurts to ask. We were willing to pay a fair price, especially for great service, we just didn’t want to pay more than the next person. This is something that was uncomfortable for us to do, but we did it and it worked out for us wonderfully. We got price breaks or were able to negotiate lower cost packages with most of our wedding vendors, just for asking.

There’s likely many more we could share, but these are the ones that come to mind now. We’re happy to share with others following our path…

Posted in Wedding | Tagged , , , , | Leave a comment

The Long Awaited Day

Yesterday was our wedding. What a wonderful day… a large amount of which is attributable to other folks pitching in to make it special. Most of the day went according to plan, but for those things that didn’t, or weren’t in the plan, others stepped up to make it work. So much so that nobody knew where the missteps were. The church service was beautiful, the photography fun, the reception and music outstanding. Warm smiles and well wishes abounded. We are very grateful to the people who came to share our day with us, several from a good distance. We’re touched by your friendship and support. What a great way to start our new life together!A photo montage from our wedding

Posted in Wedding | Leave a comment

Rehearsal Dinner

Mmmmmm, meat. If you can’t say that, you really won’t like Argentine food. Or at least the Argentine food we had at Tango in Arlington. Effectively, what you get is a double portion of meat of whatever style you order. And if you’re smart, you order the fried potatoes (not french fries) and the puré porteño (mashed sweet potatoes and squash). Great stuff. Add in a bunch of good friends, some nice wine and/or sangria, and you have yourself a first class blast. A very nice way to ease into the life changes coming your way the next day!

Posted in Wedding | Leave a comment

Sparkles!

Last night I was able to give Sage the engagement ring I’d envisioned originally. Man oh man does it sparkle!

I guess I should explain.

I had started looking for a ring quite a while before we got engaged. Nothing I was finding in the stores (or anywhere else with pre-made rings) fit my vision and standards. Let’s just say I can be picky with some things… and we needed something that would be somewhat understated, wearable in daily situations and not be uncomfortable for her and others when she dances (I’ve actually been cut by other women’s rings encountered in line).

So I started looking at diamonds. Oh boy, what a subject to get immersed in. Cut, clarity, color, geometries, Sarin reports, Helium reports, AGS certifications, etc., etc. all fed into my perfectionist sub-personality. (BTW, Good Old Gold helped greatly here in the end.)

And I was looking for a custom designer to make my vision come to life. I found and decided on Mark Morrell who is, amazingly, located very close to where I live. It turns out I liked one of his standard designs. Although we never met, I knew this was the guy to make our ring – but the man has a backlog, you must understand.

When I decided it was time to get engaged, the ring was not available. So I was fortunate to have and be able to use my maternal grandmother’s ring for our Mt. Auburn moment.

But now the real one is here and on her finger. Should you notice that glimmer on her hand, you’ll just have to ask her to see it. And the matching wedding band will be there with it, in just a few days! 🙂

Posted in Wedding | Leave a comment

Finding Your Seat (At the Wedding)

Well, our wedding date is coming up very soon. All the replies are in and now it is time to figure out where folks will be sitting at the reception.

We had great hope for the Bridal Toolkit from Bed, Bath and Beyond (BB&B) — it includes a guest list manager (which allows for uploads from a spreadsheet) and a seating chart builder application that reads from that data. Unfortunately, their default spreadsheet template doesn’t allow you to upload all the fields (eg: group names for a set of guests). It appears to be built around the idea that you’re fully bought in to their complete tool set and therefore would be building the list through their site’s screens. Problem is, we had our own wedding site – thank you very much – so we had our own collected database to work from.

After the first upload to BB&B, we were able to see our guests and then download the complete BB&B guest list spreadsheet (with all the columns, not just their starter set from the template). Sadly, the second attempt at uploading this expanded data resulted in duplicate guest names and still the additional fields were not accepted. And there was no way to simply wipe the slate clean in their tool and start again… you have to delete each guest one at a time, and that wasn’t working very quickly. Couple that with some other weirdness with their tool in real life use and that was it. Time to find another option!

After quite a bit of googling through many similar sites (that also want you chained to their site, to their advertising or direct revenue credit) and some shareware (on windows, not my primary platform) applications, I finally hit the jackpot.

Luckily another couple apparently had similar challenges about a year ahead of us, and as a result they created http://www.fluidtables.com/ . This is an incredibly (almost too) simple web application to do just this one part of wedding planning quickly and easily. It knows how to deal with uploaded guest lists, and even (gasp!) gives you the ability to wipe the list clean and start over. That, coupled with some tweaking of what data I uploaded (think embedded unique codes for later spreadsheet data merge), got me very close to the finish line – in no time.

Thanks, Chris @ http://www.fluidtables.com/!

Posted in Wedding | 1 Comment

A Glorious Spring Day at Mt. Auburn

This weekend was a pure delight in New England. After all the rain and flooding we had a fantastic bit of warm and sunny weather. Of course, after a winter spent indoors, this meant everyone wanted to get out and enjoy the day.

We chose to take a stroll at the Mt. Auburn Cemetery. For those of you that have heard some of the details of Sage’s and my story, Mt. Auburn figures prominently. So it is no surprise that we took the chance to stop in there again and take some shots for our wedding web site. Here’s a few others to give you an idea of what a special place it is. Click on any image to enlarge it.

Posted in Travel | Tagged , , , | 1 Comment

Marriage License

Just picked up the Marriage License (officially, you file an “Intent to Marry” form and get back a “Certificate of Marriage” form). This will await completion by the church Pastor at our ceremony. Tip for others getting married in Massachusetts: shop around for which towns charge the least for this – you can do this in any town/city but the fees are different. We chose Westford for the fee and it being very local. And Westford also bundles in a certified copy of the completed certificate for you, as part of their fee.

Posted in Wedding | Tagged | Leave a comment

Wedding Reception Entrees Tasting

One of the benefits of getting married (besides the obvious ;-)) is being invited to taste a lot of food. Today we traveled to our reception venue to try out the contenders for our main dish selections.

We offered our guests the choice of Chicken, Fish or Vegetarian meals. The vegetarian selection varies seasonally but will be something like a sun-dried tomato, spinach and cheese torte in phyllo dough. However, there were a few choices of chicken and fish dishes at this venue, which we had to select from to get to the two final selections.

Let the tasting commence!

Our options (we realized later that we should have taken these photos before tearing into the meal, but we were hungry!) – click on any image to enlarge it:

All of the meals will ultimately come with the same sides – a very moist (and likely butter filled) Jasmine rice and a ring of zucchini around seasonal string vegetables (this day it was haricot vert, asparagus tips and red peppers).

And the winners are: the salmon and the chicken Francese. For those folks that indicated food allergies or concerns, we have made arrangements to suit, for most people this means plain grilled chicken. If you’re attending and wish to change your selection, please let us know A.S.A.P., as we will need to provide final counts to the venue very soon.

BTW, we are keeping the other selections secret, so you’ll have some surprises on the day.

Posted in Wedding | Tagged , | Leave a comment

Wedding Cake Winner!

Well, we have a winner in our wedding cake selection “bake-off”. The Icing on the Cake in Newton will be supplying our cake. Sage particularly liked their butter cream frosting (and she is our sweets expert, so this weighed heavily in the evaluation) and they were willing to come up with some options to manage the cost. We think folks will like our design… but the proof will have to wait for a few more weeks. 😉

Posted in Wedding | Tagged | Leave a comment

Formal Wear

Weddings create opportunities to learn about all sorts of things. For instance, what is and is not appropriate dress for particular times of day in a wedding. But with that comes the realization and power of knowing that we as individuals can do what we choose, regardless of the “proper” customs, and that bending the rules of dress for weddings these days is pretty common.

For our wedding we have chosen to put our (small, all male – but for the bride!) wedding party and the father of the bride in tuxedos. The groom will be wearing a tailcoat (which I just happen to already own). And of course the bride will be in her special gown and the mothers of bride and groom have chosen their own fancy dresses.

With our color scheme being ivory, sage green and purple, we decided to mix some color in. Here’s a screenshot from the rental company’s web site, showing the wedding party tuxes. We ultimately chose to put everyone in the tabbed “tux shirt” collars rather than what’s in the image, and I think we’ve created a great look that will go well together.

Posted in Wedding | Tagged , | Leave a comment

Wedding Cakes!

This past week has included two cake tastings in preparation for our wedding, which is coming up soon!

Wednesday brought us to “The Icing on the Cake” (TIOTC) in Newton. They were really friendly and helpful in figuring out what we wanted for our cake. Paula and Chelsea (a new customer service trainee) went over our options and worked with us on design and pricing. And we got to sample a few small pieces of the cakes they had available. SB has a preference for almond cream frosting, influenced by several cakes she’s had from a chef up in the Peterborough, NH area. Well, TIOTC has an Amaretto cake flavor that was a great approximation of that memory. Very nice.

Saturday morning brought us to KonditorMeister in Braintree. A very different experience from TIOTC, we were one of many couples (and their guests) in the shop for tastings. This is much more of a large scale, polished operation. While we did a little browsing of their cake portfolio book, our consultant Lynn went off and came back with a platter of large cake samples. The owner and “Konditor Meister” himself came by and greeted us warmly, congratulated us on our wedding, etc. Very nice. We were also presented with a couple of fancy choloate-dipped strawberries in “Bride and Groom” trim:
Bride and Groom strawberries
Again, we were able to work up a cake concept that we liked and got the pricing determined. Once that was done, they presented us with a box full of pastries (and we were able to box up our cake sample leftovers too).

Both of us at K-M tasting room

Mmmmmm, cake!

At the end, I just happened to mention that they didn’t seem to have an almond flavor on their list, and Lynn went to check with the owner — and came back with several take-away samples of other pastries they do in almond flavors!

Posted in Wedding | Tagged | 2 Comments

Wedding Invitations

Sage and I had quite a challenge to find a wedding invitation that worked for us. One of the challenges we had was in finding something that we not only liked the appearance of but that we also felt comfortable about from an ecological impact standpoint.

What we settled on was the “Seal-n-Send” one piece invitation and reply card set (model VCMD7556), mated with a custom post-it note to provide the details for our guests to sign in to our wedding website. After login, our guests could see all sorts of info on us, our wedding and leave their invitation reply via a form on the website. If a guest so chose, of course they could use the attached reply card for their response (or even respond by phone to a line hosted via Google Voice).

The total solution minimized the ecological impact from paper and fuel consumption and provided the capability to manage the responses in a very efficient way. We hope our guests appreciated the solution as much as we do!

Invitation image

Our Invitation, Redacted for Privacy

Posted in Wedding | Tagged | Leave a comment

Fezziwig’s Ball

SB and I had the opportunity to attend this Commonwealth Vintage Dancers’ event held in the historic Old Town Hall in Salem, MA.

While we couldn’t even be classed in the same league with many of the attendees for their garb, I think we looked pretty spiffy nonetheless! Quite an event, sadly curtailed due to a snow emergency’s parking ban that evening. There was an individual playing the part of Fezziwig that was outstanding. The venue was nice and the opportunity to stroll the streets of the historic area singing Christmas carols while in a crowd festooned with such frills was a treat.

Pop Goes the Weasel

Pop Goes the Weasel

"Gothic" dance

Gothic dance

We two

We two

Posted in Dance, Historic | Tagged , , , | Leave a comment

Ball Five, Strike Two!

Caught a vintage base ball game in Harwich today.  Providence Greys vs. Olneyville Cadets.  Time warp back to 1884, where 6 balls are the rule and getting hit by a pitch just counts as one of them — you could be hit 5 times more before taking your base.  The overhand pitch has just been made legal.

It was an interesting event — many of the players came out to talk with the spectators before the game and shared the rules and their passion for the game with us and showed some of the equipment.  Lots of history too.  For instance, it turns out that in this year (1884) the Greys won the first of what became the World Series, taking all three games vs. the New York Metropolitans (yes, they still had to play game 3)!

Providence player

Providence player

Then it was finally time to play ball!  The bats are really heavy and the balls very bouncy compared to modern equipment — add to that the lack of gloves for anyone but the catcher and you have a lot of activity going on.  What a great way to spend a Sunday afternoon.

Waiting for a fielded ball

Waiting for a fielded ball

See http://www.newenglandvintagebaseball.com/ for more about this interesting topic.

Posted in Travel | Tagged , , , | 1 Comment

Paddling against the tide

Today’s adventures were as follows:

  1. Multi-hour kayaking trip on the Herring River from sea, upriver and back again.  Let’s just say what we expected to happen with the tide change at mid-point did not go as planned.
  2. Dinner at Regatta.  Mmmmm.  Thanks Peggy and Bob!
  3. Contra dance (celebrating a windmill installation, held outdoors, under the stars) in Marstons Mills.

Another nice day on the Cape.

Posted in Travel | Tagged , , | Leave a comment

And Twinkle Takes the Call…

Finally found a reasonably up to date SIP client/VOIP softphone that will work directly under Ubuntu 9.04 on the EeePC:

Twinkle!  twinkle48

Tried many, many alternatives without success (most commercial clients that are otherwise available for Windows or Mac have not been updated for Linux for years, and the GPL/open ones are not so much better).  This one pretty much worked straight out of the “apt-get”/Synaptic box for me.  A little playing with settings to figure out the right places to put in my Galaxyvoice account info and I was off.  Phew, another task checked off.

BTW, I really like Galaxyvoice.  They’ve provided my home phone service for several years now.  Much better call quality than Vonage in my experience.  Billing is weird — the on-line account records never match what my CC gets charged… but since it is never more than $10 in a given month at my usage level, I don’t care.  Sometimes it is as low as $2!  Really, $2 to make and receive phone calls for a month – and they have a profitable ongoing business. And real people in Massachusetts take my calls for service.  You have an alternative…

Posted in Ubuntu | Tagged , , , , , | 1 Comment

Wellfleet Bay, Cape Cod

Today’s soggy day adventure involved a visit to MassAudubon’s Wellfleet Bay sanctuary.  One of the benefits of supporting MassAudubon at certain levels includes the ability to bring guests to visit any of their sanctuaries for free — you can guess whom I brought with me today ;-).

This is a wonderful place — not only is it a beautiful sanctuary right on a tidal marsh on the bay (great views!), but it also has an extensive wildflower garden, camp and instructional center.

These facilities utilize a whole slew of “green” technologies that I first became aware of when looking into possible co-housing communities a couple of years ago, including: a grey water system (which is recycled to service the garden), rainfall capture into underground cisterns for additional landscape use, composting toilets (which foam when you use them :)), active and passive solar, extensive recycled materials used in construction and lots of other unique ideas that I hope to apply myself to a home soon.  These taken together have qualified the center as a LEED Platinum building, the highest level certification.

We spent a good deal of time at the sanctuary but had to finish up and get back to meet up with SB’s folks for dinner.  On the way back, we stopped by at the Island Pond Cemetery in Harwich (ca. 1778).   As my grandmother would always say when we passed one: “a nice quiet neighborhood.”  Yes, this is a cemetery in a marsh overlooking Island Pond, located on an eponymous named road, right in Harwich Center.  We stumbled upon it last year when looking for the Lavender Farm.

Like most early New England towns, in Harwich you could live your whole life within just a few miles.  I noted in this case just how compact things were/are: at the entry of the short road, which is the only way into the cemetery, on the left is the monument works and on the right is the funeral parlor.  Just a few doors down are the old storefronts where you could buy your goods, the town’s major churches, town hall and the old academy school.  Pretty much everything from birth to death and beyond, right there in a tight little group.  My, how our lives have expanded in scale since then!

The reason this caught my attention last year was stumbling upon the following gravestone.  I don’t know whether this reflects better the burden these folks carried through life, or how they felt upon it ending.  They certainly wanted to state it out loud – this is quite a large/prominent stone.  We have to hope the little local shop at the end of the road got the commission of making it!

A heavy burden to carry...

A heavy burden to carry...

Posted in Travel | Tagged , , , , , | Leave a comment

What Ho, Bertie?

SB has been talking about trying English Country Dance ever since she had her “amazing Money Musk moment” (paper craneshumans) at a contra dance at Pinweoods camp a while back.  So we went to check it out this evening, as we were free and our friend Sue Rosen was leading the dance program at the West Newton dance.  (And after cramming in a quick run to the Blue Ribbon across the street to grab dinner).

There is a lot of shared info/skills between ECD and contra dancing (contra is partly sourced from ECD), so we were able to fit in pretty quickly after learning the few unique moves.  Turns out we knew a fair number of folks attending from other venues as well.

I still prefer contra (there is an energy and exuberant friendliness that I particularly enjoy) but I can definitely see the draw for those that love English.  I expect this will become yet another part of our ongoing dance adventures now.

Here’s SB doing her typically graceful bit in a dance (the start button in the middle of the video is pointing right at her):

Posted in Contra, English | Tagged , , | 1 Comment