hacker is currently certified at Master level.

Name: David A. Desrosiers
Member since: 2005-06-13 21:39:49
Last Login: 2009-03-22 12:43:46

FOAF RDF Share This

Homepage: http://blog.gnu-designs.com

Projects

Articles Posted by hacker

Recent blog entries by hacker

Syndication: RSS 2.0

22 May 2009 »

Cleanly installing and running Adobe Air and TweetDeck on 64-bit Linux

A lot of people have been trying to figure this out without much success, and because I refuse to just give up and quit, I finally did.

The installation seems to work fine on 32-bit Linux, but does not work at all on 64-bit Linux.

Here’s how to get Adobe Air installed on your machine, and then from there, get the applications to be installable via Firefox and the CLI, and have Adobe Air update itself to current, as needed… all on 64-bit Linux (Ubuntu in my case).

  1. Install the 32-bit library support on your 64-bit Linux system:
    $ sudo apt-get install ia32-libs lib32nss-mdns
  2. Get Adobe Air from the Adobe Air website
    $ wget -c http://airdownload.adobe.com/air/lin/download/latest/AdobeAIRInstaller.bin
    $ md5sum AdobeAIRInstaller.bin
    11dad520f88373590aeefebc831d8c1e  AdobeAIRInstaller.bin
  3. Make sure to set the installer to executable, as it is a self-installer
    $ chmod +x AdobeAIRInstaller.bin
    $ readelf -d AdobeAIRInstaller.bin 
    
    Dynamic section at offset 0xd00044 contains 24 entries:
      Tag        Type                         Name/Value
     0x00000001 (NEEDED)                     Shared library: [libm.so.6]
     0x00000001 (NEEDED)                     Shared library: [libpthread.so.0]
     0x00000001 (NEEDED)                     Shared library: [libc.so.6]
     0x0000000f (RPATH)                      Library rpath: [/opt/Adobe AIR/Versions/1.0/Resources]
     0x0000000c (INIT)                       0x8048a88
     0x0000000d (FINI)                       0x8d47de4
     0x00000004 (HASH)                       0x8048148
     0x00000005 (STRTAB)                     0x8048644
     0x00000006 (SYMTAB)                     0x80482c4
     0x0000000a (STRSZ)                      524 (bytes)
     0x0000000b (SYMENT)                     16 (bytes)
     0x00000015 (DEBUG)                      0x0
     0x00000003 (PLTGOT)                     0x8d4813c
     0x00000002 (PLTRELSZ)                   304 (bytes)
     0x00000014 (PLTREL)                     REL
     0x00000017 (JMPREL)                     0x8048958
     0x00000011 (REL)                        0x8048940
     0x00000012 (RELSZ)                      24 (bytes)
     0x00000013 (RELENT)                     8 (bytes)
     0x6ffffffb (FLAGS_1)                    Flags: ORIGIN
     0x6ffffffe (VERNEED)                    0x80488c0
     0x6fffffff (VERNEEDNUM)                 3
     0x6ffffff0 (VERSYM)                     0x8048850
     0x00000000 (NULL)                       0x0
  4. Install it (as root, so it goes into /opt and /usr/bin, as it needs to)
    $ sudo ./AdobeAIRInstaller.bin
  5. Now that Adobe Air is installed, let’s install a simple Air application to test it (twhirl or twibble will do fine, I’m using twhirl here because it is small and fast)
    $ wget -c http://d.seesmic.com/twhirl/twhirl-0.9.2.air
    $ md5sum twhirl-0.9.2.air
    856601084c99b74108beba8b9f629e21  twhirl-0.9.2.air
  6. Run the Adobe Air installer and install twhirl onto your system
    $ Adobe\ AIR\ Application\ Installer /tmp/twhirl-0.9.2.air 
    Gtk-Message: Failed to load module "canberra-gtk-module": /usr/lib/gtk-2.0/modules/libcanberra-gtk-module.so: wrong ELF class: ELFCLASS64

    The message above about “canberra-gtk-module” is an artifact of GTK itself, not being built with 32-bit support for that lib. That’s unrelated to Adobe Air or the installation. To get around that, just add /usr/lib32/gtk-2.0 to your $GTK_PATH environment variable as follows:

    GTK_PATH=/usr/lib32/gtk-2.0 Adobe\ AIR\ Application\ Installer twhirl-0.9.2.air

    Now the installer should launch, and present you with a GUI that looks like this the following:

    Adobe Air installer for twhirl on Linux, step 1

    I like to keep my installation paths clean, so I put the applications in /opt/Adobe Applications/ on my system. You can choose wherever you wish to install the Air apps.

    Adobe Air installer for twhirl on Linux, step 2

    For the curious, this is how I have my Adobe applications laid out on my Linux machines; nice and clean:

    .
    |-- Adobe AIR
    |   `-- Versions
    |-- Adobe Applications
    |   |-- TweetDeck
    |   `-- twhirl
    `-- Adobe SDK
        |-- AIR SDK Readme.txt
        |-- SDK license.pdf
        |-- bin
        |-- frameworks
        |-- lib
        |-- runtimes
        |-- samples
        `-- templates

    Follow the installation through to the end. It should proceed and complete cleanly.

    Adobe Air installer for twhirl on Linux, step 3

  7. Now that you’ve got Twhirl installed, let’s go ahead and run it!
    $ cd /opt/Adobe Applications/twhirl/bin
    ./twhirl

    Now twhirl should launch and look like this:

    twhirl running natively on 64-bit Linux

    Now that we know twhirl and Adobe Air apps work natively, let’s get TweetDeck working. It’s not quite as easy… but still straightforward.

  8. The first major blocker I ran into was that gnome-keyring wasn’t supported by the 32-bit libraries in /usr/lib32, and would report an error of:
    libgnome-keyring.so: cannot open shared object file: No such file or directory

    I had gnome-keyring installed, but its libraries were the 64-bit versions, not the 32-bit compatibility versions that TweetDeck and Adobe Air were looking for. I found a lot of hacky solutions and workarounds, none of which were clean enough to put onto my system, so I tried one of my own; installing ONLY the 32-bit gnome-keyring libs into /usr/lib32

    $ wget http://archive.ubuntu.com/ubuntu/pool/main/g/gnome-keyring/libgnome-keyring0_2.26.1-0ubuntu1_i386.deb
    $ dpkg-deb -x libgnome-keyring0_2.26.1-0ubuntu1_i386.deb libgnome-keyring0_2.26.1-0ubuntu1_i386
    $ sudo cp libgnome-keyring0_2.26.1-0ubuntu1_i386/usr/lib/* /usr/lib32
  9. If you click on the “Download” button on a website offering Air applications in Firefox, it should natively launch the Adobe Air Installer, no work needed on your part to trigger it:

    TweetDeck website download

    TweetDeck installation on Linux

  10. If you click “Open” in the dialog, it will launch the installer, and present you with the same steps you followed to get twhirl installed above. If you click “Save”, it will save the .air file to disk, where you can launch the installer against it as we did in Step 6 above. Choose whichever one suits your needs.
  11. Now that we have installed TweetDeck in exactly the same way we did twhirl, we can successfully run it natively on Linux:
    GTK_PATH=/usr/lib32/gtk-2.0 ./TweetDeck

    TweetDeck running natively on 64-bit Linux

Related posts:

  1. Fix for incompatible /usr/lib/gcc/x86_64-linux-gnu/4.2.3/libstdc++.so error message
  2. Organizing a LARGE amount of TrueType fonts on Linux
  3. Keeping clean and shiny (Microsoft) Windows

Syndicated 2009-05-22 16:22:40 from random neuron misfires

24 Apr 2009 »

The Myth about Monitor Refresh Rates and Fatigue

CRT vs. LCDThere seems to be some misconception around the issues related to eyestrain and fatigue when using computer monitors and staring at computer screens for great lengths of time. I spend no less than thousands of hours staring at computer screens a year at home, work and elsewhere.

My office desk has 4 monitors set up in a panorama format, I have 3 laptops at home that I use, and 2 large 26″ LCD montors in my home office, as well as my phone, PDA, PSP, and my daughter’s DVD player, Leapster 2 and other devices. I’m surrounded by screens and monitors all day long.

But these are not CRT monitors, and there’s a reason for that.

Back when CRT monitors were all there was, these monitors refreshed at a rate of roughly 60Hz, which… coincidentally, was also the same refresh rate of the standard fluorescent tube that are used in almost every office environment. To reduce eyestrain, you could:

  1. Buy a monitor with a higher refresh rate (or set your monitor for a higher rate through software), or…
  2. Switch to a non-CRT monitor such as an LCD monitor or a projector, or…
  3. Change the fluorescent tubes to one which does not happen to refresh at 60Hz (higher or lower) such as full-spectrum bulbs, or…
  4. Just ignore the problem and hope it goes away, along with your eyes and headaches.

I switched over to full-spectrum bulbs and CFL bulbs a few years back, so I don’t see these issues, but I also no longer use a CRT monitor.

Here’s the confusing bit: LCD monitors don’t have the same refresh rate issues. People bring this up year after year, and it was raised on a mailing list I participate in, in the context of eyestrain with using ebook readers on mobile devices (Palm, Kindle, etc.). A lot of people on that list suggested that the person should change their refresh rate on their LCD, so it doesn’t cause eyestrain.

Let me restate: Changing refresh rates on LCD monitors does nothing to help or alleviate eyestrain. In fact, it does nothing at all.

The “flicker” that you get when using a standard CRT monitor + fluorescent bulbs is the a result of phosphor decay; that is, after the energy from the electron gun is transferred to the phosphor material, the energy and the resulting light begin to decay very slowly until the electron beam hits the phosphor again. …

From the IEEE Xplore page:

“…the decay-time constant of an image tube phosphor is a complex function of many variables: chemical, electrical, and mechanical. One variable often overlooked in image tube applications is that of excitation time. This letter presents the excitation-time/decay-time characteristics of some common phosphors and their application to some display problems.”

Since the standard LCD monitors we use today do not employ phosphors in their construction at all, the issue of “refresh rate” is completely irrelevant. The transistors used in the LCD remain open or closed as needed until the image changes.

This tends to be confusing because most graphics cards still “ask for” a refresh rate setting in their configuration. Windows still allows you to change the refresh rate of their graphics drivers, but this is entirely due to the analog nature of existing graphic cards and their legacy support for CRT displays as output devices. While refresh rates do not apply to LCD monitors, most LCDs are set up to accept any settings from 60Hz and above.

So if you’re concerned about eyestrain, headaches or other things and might believe it has to do with your LCD monitor, it probably doesn’t. To alleviate that strain, you could try any of these approaches:

  1. Put in full-spectrum bulbs to brighten up the lighting in your environment (less strain on your eyes to see in darker work environments)
  2. Use “task lighting” closer to your direct work surface
  3. Go outside and step away from your computer monitor for a few minutes every few hours. Stretch, walk around, look at things far and things near, and get your eyes away from being used to focusing at everything 18″-24″ away from you.
  4. Make sure your monitor is the correct height for your eyes to see it. Too far below, and you’ll hunch over. Too high up and you’ll strain your neck and eyes to see it.

Using these ideas should reduce or remove any possible eyestrain, headaches and other pain you might feel when you’re spending hours and hours every day in front of a computer screen.

Related posts:

  1. Blackberry and the Productivity Myth <small> When I’m traveling to and from the New York...</small>
  2. Watts-Up with my power? <small>I recently purchased a WATTS-UP Pro power analyzer/data logger from...</small>
  3. Play full out and let the numbers speak for themselves <small>Do you sometimes feel like you’re achieving more, doing more...</small>

Related posts brought to you by Yet Another Related Posts Plugin.

Syndicated 2009-04-24 19:33:13 from random neuron misfires

20 Apr 2009 »

Snapshot backups of EVERYTHING using rsync (including Windows!)

Let me just start by saying that I have a lot of data. In multiple places. Some on laptops, some on servers, some on removable drives and mirrored hard disks sitting in a bank vault (yes, really). Lots of data on lots of systems in different states and locations; client data, personal data, work data, community data and lots more.

Over the years, I’ve tried my best to unify where that data is sourced from, for example by relocating the standard “My Documents” location on all of my Windows machines (physical and virtual), to point to a Samba share that is served up by a GELI-encrypted volume on my FreeBSD or Linux servers. That part works well, so far, but that’s only a small piece of the larger puzzle.

Over the last decade, the amount of data I’m holding and responsible for managing has grown significantly, and I needed a better way to manage it all.

There are plenty of backup solutions for Linux including the popular Amanda and Bacula, but I needed something more portable, leaner and much more efficient. That quest led me to look to find Unison mostly due to it’s cross-platform support, but it was still a bit more complicated than I needed.

So I kept looking and eventually found rsnapshot; a Perl-based tool wrapped around the standard rsync utility written by Andrew Tridgell.

Since I’d already been using rsync quite a bit over the last 10 years or so to copy data around as I needed it and to perform nightly full backups of my remote servers, I decided to look into using rsync to manage a new backup solution based around incremental backups as well as full backups.

I am already using rsync to push and pull a couple of terabytes of mirrored data on a nightly basis (CPAN, FreeBSD ports, Project Gutenberg, Cygwin, Wikipedia and several other key projects), so this was a natural graft onto my existing environment.

Getting incremental snapshots working with rsnapshot on the Linux side was fairly straightforward. Since it uses SSH by default now, I can secure it to pull my remote server data over to the backup array without much hassle. Here’s what the configuration for that looks like:

# egrep -v '^(#|$)' /etc/rsnapshot-p1.conf
config_version                        1.2
snapshot_root                         /path/to/encrypted/backup/mount

# I set this, in case the mount fails, I don't want it duplicating
# the tree inside the mount point
no_create_root                        1

interval                              hourly  12
interval                              daily   7
interval                              weekly  4
interval                              monthly 6

verbose                               3
loglevel                              3

logfile                               /var/log/rsnapshot.log
lockfile                              /var/run/rsnapshot.pid

rsync_short_args                      -avSP
rsync_long_args                       --partial --inplace --delete
--numeric-ids --relative --delete-excluded
du_args                               -csh

exclude                               spool/squid
exclude                               lib/schroot/mount
exclude                               chroot/debian_32bit/home
exclude                               chroot/debian_32bit/tmp

link_dest                             1

backup  snaps@layeredp1:/cvs/         layeredp1.backup
backup  snaps@layeredp1:/etc/         layeredp1.backup
backup  snaps@layeredp1:/home/        layeredp1.backup
backup  snaps@layeredp1:/subversion/  layeredp1.backup
backup  snaps@layeredp1:/var/         layeredp1.backup

You can see that I’m pulling data from a few places on a server called “layeredp1″ as the user “snaps”, and storing it in /path/to/encrypted/backup/mount/layeredp1.backup. The other parameters in the file should be pretty straightforward. rsnapshot comes with well-commented sample configs. I use a separate config file per-backup target. This one happens to be called /etc/rsnapshot-p1.conf, to match the server alias that it references (layeredp1).

I won’t go into the detail here about how rsnapshot works under the hood and how to configure it to manage the hourly/daily/weekly/monthly backups; that is better left to the detailed rsnapshot HOWTO documentation, so read up there for those bits. What I can explain, is how I use rsnapshot to back up everything here, including my Windows machines.

The next step in this process is to make sure that cron will do its magic at each backup interval (hourly/daily/etc.). TO do that, I configured a cron job called “rsnapshot” and put it in /etc/cron.d/. It looks like this:

MAILTO="desrod@gnu-designs.com"
0 */4   * * *           root    /usr/bin/rsnapshot hourly
0 */4   * * *           root    /usr/bin/rsnapshot -c /etc/rsnapshot-p1.conf daily

30 3    * * *           root    /usr/bin/rsnapshot daily
30 3    * * *           root    /usr/bin/rsnapshot -c /etc/rsnapshot.windows.conf daily
30 3    * * *           root    /usr/bin/rsnapshot -c /etc/rsnapshot-t2.conf daily

0  3    * * 1           root    /usr/bin/rsnapshot weekly
0  3    * * 1           root    /usr/bin/rsnapshot -c /etc/rsnapshot.windows.conf weekly
0  3    * * *           root    /usr/bin/rsnapshot -c /etc/rsnapshot-p1.conf weekly
0  3    * * *           root    /usr/bin/rsnapshot -c /etc/rsnapshot-t2.conf weekly

30 2    1 * *           root    /usr/bin/rsnapshot monthly
30 2    1 * *           root    /usr/bin/rsnapshot -c /etc/rsnapshot.windows.conf monthly
30 2    * * *           root    /usr/bin/rsnapshot -c /etc/rsnapshot-p1.conf monthly
30 2    * * *           root    /usr/bin/rsnapshot -c /etc/rsnapshot-t1.conf monthly

This calls rsnapshot, passing in the configuration file referenced (via the -c option), so it knows what to back up, from where, and at what intervals. The lines which do not have a config file passed in use the default /etc/rsnapshot.conf file.

One thing to note here, is that I’m backing up my “main” machines (defined in the global /etc/rsnapshot.conf) on an hourly, weekly and monthly basis, but two of the others, I’m not backing it up using the same intervals. If you use separate configuration files, you can make this as simple or as complex as you want.

I run Debian on the machine that runs rsnapshot, so I was initially tempted to put a separate copy of the rsnapshot script into each of the cron directories (/etc/cron.daily/, /etc/cron.monthly/ and so on), but that can get messy since I’d basically have a mostly-duplicate cron job in each of the hourly/daily/monthly directories. That’s sloppier than I’d like, so I went with the single job in /etc/cron.d instead.

That solved the Linux side. Now onto the Windows side where it gets a bit more complicated.

I did some Google’ing and found one solution using cwRsync, but it was a bit problematic, since it directly breaks a working Cygwin install.

That wasn’t an option for me, because I use Cygwin quite a lot. I needed something better and smarter than that, so I decided to install the rsyncd that comes with Cygwin, within Cygwin itself, as a native Windows service.

First, you’ll need to install Cygwin onto your Windows machine. To do that, just go to the main Cygwin site and download their latest installer. Once you’ve downloaded that, just run it and follow the defaults all the way to the end. The only important part you have to remember here is to make sure you expand the [+] next to the Admin section and check that you have selected the rsync server to be installed, as shown here:

Cygwin Rsync server service setup

I happen to run a Cygwin mirror here so I just pointed the installer there, and it pulled everything from the local LAN instead of downloading everything for each machine I wanted to install this on remotely over the Web each time. This makes things much faster and more accessible for simultaneous, multiple installs. The downside is that the full Cygwin mirror is ~9.5G in size. If you’ve got the space, I highly recommend creating (and sharing!) a Cygwin mirror.

Once you have Cygwin installed, you’ll need to register the Rsync service you’ve installed in the Services applet with Windows, so it starts up when your Windows machine starts up. To do that, you’ll need to run the following [all on the same line], from a command prompt (Start -> Run -> cmd.exe):

cygrunsrv.exe -I "rsync" -p /cygdrive/c/cygwin/bin/rsync.exe -a "--config=/cygdrive/c/cygwin/etc/rsyncd.conf --daemon --no-detach" -f "rsync server service"

If you’re running Windows 2003 or later, you’ll need to pass the username and password to the command above, as follows:

cygrunsrv.exe -I "rsync" -p /cygdrive/c/cygwin/bin/rsync.exe -a "--config=/cygdrive/c/cygwin/etc/rsyncd.conf --daemon --no-detach" -f "rsync server service" -u Administrator -w AdminPassword

If you go to your Services applet, you should now see the new “rsync” service is listed there. Before you can start the rsyncd service on your Windows machine, you need to configure the service using the /etc/rsyncd.conf file. Mine looks like this:

$ cat /etc/rsyncd.conf
motd file                       = /etc/issue.rsyncd
log file                        = /var/log/rsyncd
pid file                        = /var/run/rsyncd.pid
syslog facility                 = daemon

[home]
        comment                 = Home Directories
        path                    = /cygdrive/c/Documents and Settings/
        use chroot              = yes
        lock file               = /var/lock/rsyncd
        read only               = yes
        list                    = no
        strict modes            = yes
        ignore errors           = yes
        ignore nonreadable      = yes
        transfer logging        = yes
        timeout                 = 600
        secrets file            = /etc/rsyncd.secrets
        dont compress           = *.gz *.tgz *.zip *.z *.rpm *.deb *.iso *.bz2 *.tbz

[temp]
        comment                 = Temporary Storage
        path                    = /cygdrive/c/temp/
        use chroot              = yes
        lock file               = /var/lock/rsyncd
        read only               = yes
        list                    = no
        strict modes            = yes
        ignore errors           = yes
        ignore nonreadable      = yes
        transfer logging        = yes
        timeout                 = 600
        secrets file            = /etc/rsyncd.secrets
        dont compress           = *.gz *.tgz *.zip *.z *.rpm *.deb *.iso *.bz2 *.tbz

A few key options are bolded above. In my case, I want to ignore any files which are locked by Windows itself, and continue past them (ignore errors and ignore nonreadable handles these). You’ll also notice that I’m passing a “secrets file” to the service in each instance.

Obviously I don’t want my personal data to be readable by anyone who happens to come by the rsync port on these Windows machines, so they are protected by a known username and account in the secrets file. In a later blog post, I’ll show how to further secure this behind sshd running on the Windows side as well.

There are a couple of trickly points to remember when using the secrets file on the Windows side:

  1. Each line in the secrets file MUST have a carriage return at the end of it, even if there is only 1 line in the file.
  2. The username that you put into the secrets file does not have to be a valid username on the Windows machine itself

To start the rsync service, issue the following at the command prompt (cmd.exe)

net start rsync

What you’re doing is basically starting up rsyncd on your Windows machine, where it will sit and wait for incoming client connections to send the data to.

To test that, issue the following, from another machine on your network segment (where “10.0.1.75” is the IP of the Windows machine you’re trying to verify):

rsync -av 10.0.1.75::

If you’ve got everything configured correctly, you should see the following output:

$ rsync -avSP 10.0.1.75::
      ____________________,             ______________________________________
   .QQQQQQQQQQQQQQQQQQQQQQQQL_         |                                      |
 .gQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ__   |                                      |
 gQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ==   |                    _.---.)           |
 QQQQQQQQQQQQQQQQQQQQQQQQQQQF=         |          (^--^)_.-"      `;          |
 QQQQQQQQQ================!            |          ) ee (           |          |
 QQQQQQQQ                              |         (_.__._)         /           |
 QQQQQQQQ                              |           `--',        ,'            |
 QQQQQQQQ     ~"jjj__,                 |            jgs )_|--')_|             |
 QQQQQQQQ       "jjjjjjjjjj___         |                ""'   ""'             |
 QQQQQQQQ        ~jjjjjjjjjjjjjjjjj__  |                                      |
 QQQQQQQQ        _jjjjjjjjjjjjjj/~~~~  |      The Hippo says: Welcome to      |
 QQQQQQQQ      .{jjjjjjj/~~~~~         |                             _        |
 QQQQQQQQ     .{/~~~~`                 |  ____  _   _   ____  _ _ _ (_) ____  |
 QQQQQQQQ                              | / ___)| | | | / _  || | | || ||  _ \ |
 QQQQQQQQ                              |( (___ | |_| |( (_| || | | || || | | ||
 QQQQQQQQQL_______________,            | \____) \__  | \___ | \___/ |_||_| |_||
 QQQQQQQQQQQQQQQQQQQQQQQQQQQL___       |        (___/  (____|                 |
 4QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ___  |                                      |
 (=QQQQQQQQQQQQQQQQQQQQQQQQQQQQQ====   |       -.-. -.-- --. .-- .. -.        |
   (QQQQQQQQQQQQQQQQQQQQQQQQF=         |______________________________________|

That means the service is configured, started and listening for connections. Great!

To make this easier and work with the hostnames defined in your /etc/rsnapshot.conf file, add the hosts to your /etc/hosts file on the Linux side. You can then verify that with a simple ping. If you’d prefer not having to do that, just define the machines directly using IP addresses in /etc/rsnapshot.confon the Linux machine.

If you changed the “list = no” to “list = yes” in your /etc/rsyncd.conf on the Windows hosts, you would be shown the list of available “modules” to sync to. On one of my public rsync servers, that output looks like this:

$ rsync -av 10.0.1.10::
 ,-----------------------------------------------------------.
 |                                                           |
 |     _._        W E L C O M E   T O                        |
 |    /_ _`.       _____ _ __  _   _                         |
 |    (.(.)|      '  _  | '_ \| | | |  pilot-link.org        |
 |    |\_/'|      | |_| | | | | |_| |  gnu-designs.com       |
 |    )____`\      ` _, |_| |_|\__'_|  sourcefubar.net       |
 |   //_V _\ \        | |                                    |
 |  ((  |  `(_)     __| | a free, open public server for     |
 | / \> '   / \    |____' developers of Open Source Software |
 | \  \.__./  /                                              |
 |  `-'    `-'     Management: desrod@gnu-designs.com        |
 |                                                           |
 | C V S  -  I R C  -  N E W S  -  M A I L  -  C O M P I L E |
 |                                                           |
 | The services here are given gratis to help developers of  |
 | Free Software and Open Source projects a place to meet,   |
 | share ideas, and freely collaborate on projects.          |
 |                                                           |
 `-----------------------------------------------------------'

    Contact: desrod@gnu-designs.com with problems/questions

      If you want your content mirrored here, just ask!

    Note: --checksum (-c) has been disabled on this server

Cygwin          Cygwin East Coast Mirror
CPAN            Comprehensive Perl Archive Network
Gutenberg       Project Gutenberg East Coast Mirror
LDP             Linux Documentation Project Mirror

But you don’t want to openly advertise those modules to anyone anonymously, so keep them locked down from being shown by putting the “list = no” in your /etc/rsyncd.conf on the Windows side.

The default Cygwin banner that you saw when you connected can be changed to anything you want, by modifying the /etc/issue.rsyncd defined in “motd file” in /etc/rsyncd.conf on the Windows side.

That’s it.. you’re done.

Now all you need to do is tweak the configuration on the Windows side to back up whatever you need, restart cron on the Linux side (the machine that will be running rsnapshot for you; the one with the storage attached to it).

I added one small tweak to the configuration on the Linux side to make it easier for Windows clients to access their snapshot data. I create a Samba share on the Linux side (the host that runs the rsnapshot process and maintains the rsnapshot cron job), to allow the Windows machines to mount their snapshots as a normal drive.

Now users from any Windows machine can see and browse their snapshots and retrieve whatever bits and pieces they might want from their own directory, at whatever interval they see fit. The configuration to enable that looks like this, in my /etc/samba/smb.conf file:

[Snapshots]
        comment         = Temporary Storage
        path            = /path/to/encrypted/backup/mount/Windows Snapshots/
        writeable       = No
        guest ok        = No
        browseable      = Yes
        locking         = No

Samba share to rsnapshot backups

Pretty simple and very elegant!

Syndicated 2009-04-19 22:37:38 from random neuron misfires

19 Apr 2009 »

Test post #753

Wordpress has a VERY nasty bug that wipes out the entire display of the front page at each new blog post. I don’t know when this was introduced, but this is going to get annoying VERY fast.

Syndicated 2009-04-19 22:35:55 from random neuron misfires

29 Mar 2009 »

How to Survive What is Coming

Everyone is feeling the crunch of the financial market teardown, from jobs lost to increased expenses to losing your house and home to bankruptcy. This is just the beginning, unfortunately. As more and more jobs are lost, as more and more markets dry up, it will cascade and probably accelerate through various different markets. We haven’t seen the bottom yet, even though lots of “experts” claim we have.

I’m no expert in any of this, but I’ve lived on a thread for years before. I’ve lived through my employer’s downsizing and living out of boxes while I try to find a new, more-affordable place to live. I’ve struggled hard through very hard times, and I’ve always made it through, and I’ll do it again if I have to. You can too.

So here’s a few things that I’ve noticed and gathered, which may or may not help you with your own situation, whether it be technical or social or fundamental.

Technology Preparations

  • Backups: This should be obvious, but keep backups of your websites and data! Be prepared to migrate your websites and domain names to another hosting service on very short notice, in case your current hosting provider closes their doors because they’ve gone bankrupt or can’t support your business any more. In case you don’t get any notice, you’ll have a recent backup handy. I use rsnapshot to back up all of my data on an hourly to several encrypted arrays (local and remote), so I always have copies near and far, where I need them. I also back up my Windows machines with rsnapshot as well. Here are some instructions on how to do that using cwRsync and another: Automatic backup of Windows computers using Linux
  • DNS: Make absolutely sure you control your own domains from end to end. Do not put these in the control of your hosting company. I run my own DNS and have for many years, so this isn’t a major issue for me, but it may be for you.

  • Processors & Power: Replace any older computers with newer systems that have efficient PSU units. I strongly recommend going with the Antec EarthWatts units as they’re rock-solid performers. I replaced an AMD Duron 1.2Ghz machine with TWO dual-core, AMD64 2.4Ghz processors, loaded it with RAM, and both machines consume less power than the single 1.2Ghz Duron was consuming, because of these power supplies themselves.

  • Appliances: Get yourself a Watts-Up Power Meter and start measuring things. This should include your lights, power strips, laptops, computers, printers and other “tech-gear”, but also your refrigerator, television, blender, toaster, air filter, dehumidifier and other bits. My own tests showed that by turning down my refrigerator by one notch from “Coldest” to “Colder”, kept my food at the same quality, but saved me about $30/month in power costs alone. Replacing all of my light bulbs with Compact Fluorescent bulbs saved another big chunk (see “Lighting” below).

    The most important thing to remember here is those power-bricks you leave plugged into the wall, while you’re not using them. Turning that television off, but having its little LED panel or LCD screen running still consumes power! I have a portable Black and Decker vacuum cleaner that has a wall charger. When the vacuum is charging, the LED remains lit. When it is fully charged, the LED goes out… but it still draws power to trickle-charge it. That vacuum takes 1-2W of power, fully charged, just plugged in and waiting for me to use it! Waste!

    The solution to these issues is to use something like the X-10 HA Home Automation system to turn these on and off on a regular schedule. This takes a little planning up-front, but the savings are HUGE and worth it.

    If you know your portable vacuum takes 4 hours to charge from completely depleted to full, you’d set a 4-hour timer on the power strip that it plugs into, and activate it when you charge it. When it charges to full, the timer activates, turning off the power strip, saving you lots of power (and money!).

    Similar treatment should be applied to other appliances and things you don’t use on a regular basis; turn them off if you’re not using them. I have a series of power strips and UPS units set up in a staggered fashion in my office so I can turn these things off as I need them, without affecting my ability to function. I have my 24″ monitors set up on their own strip, sound/speakers/USB hubs/devices on a 2nd set of strips, computers on a 3rd, printers on a 4th, WAP and routers on a 5th, and so on. When I leave the office, I turn off the monitors, sound and printers, but leave the computers running. When I’m working in the office, but I know I don’t need the printers that day, I’ll leave those off. Likewise, when I go on extended vacation, I’ll turn off everything with the master strip that all others are plugged into.

  • Misc: We’ll probably end up seeing more companies embracing MySQL and less of them continuing to support Oracle. OSS wins again here. Any company with an actual vision, product or doing something useful will probably continue to sustain, even through the hard times. Companies embracing sales of “eye-candy”, bling and other wasteful expenditures are over.

Home Preparations

  • Lighting: Very soon, I’ll be re-replacing my CFL bulbs with the higher-brightness, longer-life, MUCH lower wattage, LED lighting systems. A typical incandescent bulb ranges anywhere from 60W, 100W and up for normal living lighting. An equivalent CFL would consume 12W or so. You can get a 23W CFL to replace those 100W incandescent bulbs that you’re using, saving 77W per bulb. If you use 10 x 60W bulbs in your house today, replacing those with CFLs will save you $78.84 each year, or $432.00 for the life of the bulbs!! Each 100W bulb you replace will save you $12.96/year and $71.04 for the life of the bulb. That’s a significant savings! Use the GE Lighting Calculator to get a feeling for how much you can save in your own home by switching; you might be shocked and surprised how much money you’re wasting on incandescent bulbs, heat and electric bills.

    IMPORTANT!!: CFL bulbs contain mercury!! Please be sure you dispose of CFLs correctly! Check Earth 911 for a recycling center near you. Also check Lamp Recycle for detailed information on how to properly dispose of CFL light bulbs. You can’t just throw these in the trash!

    In contrast to CFL savings, a 2W LED light would replace that 12W CFL, and that 60W incandescent. The other great benefit is that the LED lights don’t generate heat, which means you can pack more together behind some creative lighting fixtures (Japanese paper lanterns for example), and they last a LOT longer than CFL and incandescent bulbs. Multiply the savings above by a factor of 10 to see how much LED will save you, and the bulbs will last you much longer.

  • Food & Groceries: You’re probably used to driving to the supermarket once a week (or more), spinning around each aisle and grabbing your regular weekly foods.

    Don’t.

    Not only are you wasting a ton of money on gasoline to drive there and back, you’re making many more trips than is probably necessary. You can shop in bulk once a month or every couple of months, and reap enormous savings. Not only will shopping in bulk allow you to take the time to plan for savings periods (like buying things off-season), but it also cuts down on the time needed to do the piecemeal shopping each week. Many of the major retailers let you shop online, as well as print coupons from their website to bring into the store if you must.

    For perishables like greens, milk, fruits and breads, you can continue to shop regularly as you do.. with one change: don’t drive; let someone else do it for you. When I lived in San Francisco, we had a service called “Webvan” that would deliver groceries to your door, for a very nominal fee. You end up saving some money because you’re not driving back and forth anymore (typically short trips; the single largest waste of fuel) diesel fuel to drive these vehicles are cheaper than standard fuels (and now many use hybrid vehicles), and you’re gaining time back you can spend with your family or around the home.

    Webvan may be gone, but Peapod is not! Peapod allows you to browse the “aisles”, upload your own shopping list, search for your favorite items, and you can even use manufacturer’s coupons (just give your coupons to the driver and the money is deducted from your next order). Peapod carries a HUGE amount of items, including organic foods and other “niche” items.

    Links: BJs Wholesale Club, Sams Club, CostCo, Amazon, Shop Rite, Peapod

Holiday Preparations

  • Presents & Gifts: Forget Thanksgiving and Christmas for retail markets. Nobody has the money to throw around anymore, and the resulting reduced spending may signal the close of many retailers who rely on Christmas sales to float them into and through the new year. Repair, reuse, recycle.

    You don’t need to “buy” things to bring the spirit of the holidays to your loved ones. Make a piece of art, a craft, cook some baked goodies. There’s plenty of ways to show you care and love someone, without having to open your chequebook. Check your local Freecycle or Craigslist for some great, quality, gently used or new things you can give to your family and friends, at MUCH less cost than buying new.

  • Deals: Whenever possible, search for major deals. Use sites like FatWallet and similar comparison shopping and deal sites to maximize your spending, if you do choose to spend. The cost of local retail and markup just isn’t worth it anymore.

  • Coupons and Rebates: Coupons, coupons, coupons. Don’t discount the power of your local grocer and their weekly flier specials and coupons. Saving $20/week over the course of a year can put $1k back in your pocket. That could be an additional mortgage payment you might not be able to make, or some needed medicines for you or your children or anything else you might need in an emergency or otherwise.

  • Eating out: Learn to cook, if you don’t already know how. Spending money going out to dinner, while easy and fun and tasty… can add up over the course of a year. Resist that temptation. Host a dinner party and ask your guests to bring a favorite dish of their own. Rotate recipes across your friends, so you host one night, and bring a dish the next night and so on. Everyone gets a turn, and you build a stronger community of friends by doing so.

    Links: Freecycle, Craigslist

Social Preparations

  • Find at least 5 people with walking or bicycling distance from you that you trust. I mean really trust. If you’re not already in the center of that group of friends, put yourself there. When supply for products dries up, and shipments between states and towns are happening a lot less frequently, you’re going to need to lean on them a lot more than you probably do right now. And they’ll need to lean on you as well.

    Be there for them, and let them be there for you. This includes consolidating driving trips, carpooling and doing other things to keep costs down.

Wall Street as we know it, is over. New York may no longer be the center of the US financial sector when this is all said and done. We may see a split between Boston, New York, Chicago and other metropolitan financial market regions. Micro-markets may crop up, as things begin to congeal and globalize themselves. Everything will cascade as markets we never realized were related begin to feel pressure as other “unrelated” markets drop out.

Follow some of these steps (or all of them and more than you find elsewhere), and you’ll find yourself saving thousands of dollars a year and getting more peace of mind back, as well as more time you can use to spend with your family, learning new hobbies, maturing other businesses or just relaxing and enjoying a stress-free life, while others are stressed and struggling.

Related posts:

  1. Watts-Up with my power? <small>I recently purchased a WATTS-UP Pro power analyzer/data logger from...</small>
  2. Squeezing the watts <small>I’ve written a couple of previous posts about saving power...</small>
  3. Closing the Gates… Bill Gates, that is. <small>I’ve been thinking a lot about power and power-consumption over...</small>

Related posts brought to you by Yet Another Related Posts Plugin.

Syndicated 2009-03-29 21:55:56 from random neuron misfires

328 older entries...

 

hacker certified others as follows:

  • hacker certified sisob as Master
  • hacker certified Akira as Journeyer
  • hacker certified mvw as Journeyer
  • hacker certified ianmacd as Master
  • hacker certified sisob as Master
  • hacker certified ardiri as Journeyer
  • hacker certified dido as Journeyer
  • hacker certified AlanShutko as Journeyer
  • hacker certified uzi as Journeyer
  • hacker certified anton as Master
  • hacker certified gary as Apprentice
  • hacker certified digdude as Journeyer
  • hacker certified ahosey as Journeyer
  • hacker certified mjs as Master
  • hacker certified garym as Master
  • hacker certified Dunc as Journeyer
  • hacker certified schoen as Journeyer
  • hacker certified pusakat as Apprentice
  • hacker certified fatal as Journeyer
  • hacker certified technik as Apprentice
  • hacker certified hub as Journeyer
  • hacker certified prescience as Journeyer
  • hacker certified hypatia as Apprentice
  • hacker certified strider as Journeyer
  • hacker certified danbri as Journeyer
  • hacker certified pompeiisneaks as Journeyer
  • hacker certified arhuman as Apprentice
  • hacker certified keverets as Apprentice
  • hacker certified joe as Master
  • hacker certified mperry as Journeyer
  • hacker certified binaryfoo as Journeyer
  • hacker certified paulus as Master
  • hacker certified CharlesKerr as Master
  • hacker certified grog as Master
  • hacker certified ldunbar as Apprentice
  • hacker certified pjf as Journeyer
  • hacker certified footrot as Apprentice
  • hacker certified hugh as Journeyer

Others have certified hacker as follows:

  • suso certified hacker as Master
  • jtjm certified hacker as Master
  • mvw certified hacker as Journeyer
  • ianmacd certified hacker as Master
  • whytheluckystiff certified hacker as Master
  • rkrishnan certified hacker as Master
  • ardiri certified hacker as Journeyer
  • dido certified hacker as Journeyer
  • sulaiman certified hacker as Master
  • johnm certified hacker as Journeyer
  • boner certified hacker as Journeyer
  • jao certified hacker as Master
  • uzi certified hacker as Journeyer
  • mstarch certified hacker as Master
  • mbp certified hacker as Master
  • jooon certified hacker as Journeyer
  • berend certified hacker as Master
  • apgarcia certified hacker as Master
  • ahosey certified hacker as Master
  • mjs certified hacker as Journeyer
  • Thias certified hacker as Master
  • nixnut certified hacker as Master
  • garym certified hacker as Master
  • schoen certified hacker as Journeyer
  • pusakat certified hacker as Journeyer
  • technik certified hacker as Master
  • dsifry certified hacker as Master
  • buckley certified hacker as Master
  • hub certified hacker as Master
  • prescience certified hacker as Master
  • domi certified hacker as Master
  • pasky certified hacker as Master
  • blm certified hacker as Master
  • jaq certified hacker as Journeyer
  • aftyde certified hacker as Master
  • lux certified hacker as Master
  • strider certified hacker as Master
  • ebf certified hacker as Master
  • pompeiisneaks certified hacker as Master
  • arhuman certified hacker as Journeyer
  • khazad certified hacker as Master
  • mikeszcz certified hacker as Master
  • joe certified hacker as Master
  • rasmus certified hacker as Master
  • rosen certified hacker as Master
  • mperry certified hacker as Master
  • richdawe certified hacker as Journeyer
  • mascot certified hacker as Master
  • stone certified hacker as Master
  • binaryfoo certified hacker as Master
  • Omnifarious certified hacker as Master
  • AlanShutko certified hacker as Master
  • bma certified hacker as Journeyer
  • ringbark certified hacker as Master
  • roundeye certified hacker as Master
  • wspace certified hacker as Journeyer
  • thomppj certified hacker as Master
  • Uraeus certified hacker as Master
  • grog certified hacker as Master
  • fxn certified hacker as Master
  • ldunbar certified hacker as Master
  • davidw certified hacker as Journeyer
  • dyork certified hacker as Master
  • pjf certified hacker as Master
  • angelsun certified hacker as Master
  • jono certified hacker as Master
  • monk certified hacker as Master
  • wastrel certified hacker as Master
  • jameson certified hacker as Journeyer
  • gp certified hacker as Master
  • dave0 certified hacker as Master
  • footrot certified hacker as Master
  • bratsche certified hacker as Journeyer
  • sad certified hacker as Apprentice
  • hugh certified hacker as Journeyer
  • jblnyc certified hacker as Master
  • peretto certified hacker as Journeyer

[ Certification disabled because you're not logged in. ]

New Advogato Features

FOAF updates: Trust rankings are now exported, making the data available to other users and websites. An external FOAF URI has been added, allowing users to link to an additional FOAF file.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!

X
Share this page