Notice: register_sidebar was called incorrectly. No id was set in the arguments array for the "Sidebar 1" sidebar. Defaulting to "sidebar-1". Manually set the id to "sidebar-1" to silence this notice and keep existing sidebar content. Please see Debugging in WordPress for more information. (This message was added in version 4.2.0.) in /usr/share/wordpress/wp-includes/functions.php on line 4139 Tech Notes » 2011 » January

Spoofing Licensing

Uncategorized No Comments »

Clearly, if a tool relies on fork()/exec() or System.Exec() an OS tool to determine data that affects licensing/control, spoofing that application to return predictable data is the easiest way to mislead the licensing subsystem.

This is the same as shimming a DLL or Shared-Object library.

My grasp of the obvious is so exceptional — and this method so easy — that I felt this was worth mentioning.

Schedule TimeMachine

howto No Comments »

Previously, I posted that a quick way to throttle back your timemachine is to set your defaults:

I’m currently testing TimeMachineScheduler, which would give more control over the configuration. The magic is how the author has worked around this problem:
1) disable automatic backup
2) enable scheduled backup from launchd:
/Library/LaunchDaemons/com.klieme.TimeMachineScheduler.plist

Literally, he’s created a launchd process that wakes up at the user-specified interval, and (presumably) if the time is within the “Skip backup between” values, his app must short-circuit the timemachine run and shut itself down until the next “wake” interval.

I’m impressed.

The old method was a defaults write com.apple.something.something 3 (for three-hour throttle) which is a bit difficult for non-geeks to type, and had a different behavior: it would skip the TimeMachine if the previous run was within the given number of hours. The difference is (period 3 hours for both, skip 08:00-18:00) that a change would be backed up on average within (3/2) 1.5 hrs in the defaults method, but would slow down your user-experience during the day; alternatively, the scheduler method means that backups perform on regular intervals, and the bdefaults method doesn’t always (ever) work correctly.

As an aside, I’m also curious whether I would get better throughput offering the timemachine disk as an iSCSI Target

While researching, I also came across a method of limiting TimeMachine from filling the volume

Exchange: Save Sent Mail in a Different Mailbox: imapsync

Uncategorized No Comments »

My company uses Exchange — and it’s not bad, considering that it brings in the SyncML (I think) technology that Gmail also has — if only it had the rest of what Gmail has, but I can understand if we’re not moving to avoid thrashing about.

The problem is that when I send mail, I wand to receive a copy, I don’t want a bcc:, but Entourage (the only Exchange client for a laptop that doesn’t die) only allows saving a copy in the “Sent Items” folder. I know, it’s simple enough to copy stuff around, but hey, I can get a cronjob to do that…

  1. create a file (with restrictive permissions) containing only the password:
    — /home/scott/imapsync-pw-exchange —
    tiger

    In my example, user “scott” has password “tiger”. Bonus points if know where that user/pass comes from 🙂

  2. drop a cron.hourly consisting of:
    — /etc/cron.hourly/scott-exchange-sync —

    imapsync 
      --host1 exchange.example.com  --port1 993 --authmech1 PLAIN 
      --host2 exchange.example.com  --port2 993 --authmech2 PLAIN 
      --user1 scott --ssl1 --passfile1 /home/scott/imapsync-pw-exchange 
      --user2 scott --ssl2 --passfile2 /home/scott/imapsync-pw-exchange 
      --folder 'Sent Items' --regextrans2 's/Sent Items/INBOX/g' 

    (or, better, crontab -e yourself a cron job that fires on 5-minute accuracy)

  3. profit!!!1!one!! … oh wait… uh… sit and relax.

The trick here is that we’re using imapsync to connect to our own server twice, as two clients, to sync the “Sent Items” folder. Yes, those two sections of parameters are exactly the same (except for s/1/2/ — and use the same password file) on purpose. The “regextrans2” tells it that we want to “translate” one folder to another (that may exist). Note that we’re deleting and expunging the moved files to avoid dupes.

Keep up that (XML) Resume!

howto No Comments »

Wow, it’s possible ot never have to reformat my resume again?

Apparently, a 5-year-stale project called “XML Resume” gets us a little close to this impossible goal, but support may be challenging. Also, generating formats form the common XML base requires some dependencies (as can be expected).

Other attempts are listed at MicroFormats, but if I can get work that lets me actually build things, I won’t need a resume for a while. I have a great company, but I spend a lot of time on disposable work and/or sitting in airports, hotels, car rentals.

Actually, MicroFormats — which lists the HackCollege content — is a great place to start. …so that makes this entry merely a redirection to that blog entry. Mostly. But mine’s better because it’s written in Lisp. Or whatever.

AutoFS Mounted FTP via FUSE

howto 1 Comment »

I’ve been having a problem on an FTP server that may well be resolved using FUSE, curl, and autofs, plus some blind rsync:

When I synch content across the Atlantic to another server, it’s always truncated despite my best efforts. It seems that if there’s too large of latency, the windows-based FTP service chokes and dies, and the uploaded content merely stops. FTP is a bit of a dumb protocol, it doesn’t much realize that the upload was finished due to abort rather than an orderly finish unless the command channel reflects this — if the ftp-data socket closes, it’s done.

I’ve asked for rsync service to avoid this (and to make a more gentle sync than recursive wget) to no avail — the people discussing the request don’t ask me questions, and seem to refuse on assumption.

  • FTP mounted as a filesystem allows a rsync
  • Rsync allows a sync with retry and continues a bit more gracefully
  • FUSE can mount a filesystem in userspace
  • CurlFTPfs can mount a FTP server via FUSE
  • AutoFS allows the filesystem to unmount when idle, isolating us from server restarts (it IS windows after all)

in /etc/auto.master, I added:
# --- a separate direct-map automount (large space is a tab)
/ftpfs /etc/auto.ftpfs
#

I created /etc/auto.ftpfs:
# from USA server: (large spaces are tabs) (area01 is all one line, no space between password and @exam...)
area01 -fstype=fuse,allow_other,ro curlftpfs#username01:PassWord01 @ftp01.example.com/
area02 -fstype=fuse,allow_other,ro curlftpfs#username02:PassWord02 @ftp02.example.com/

I added this to an RPM that requires fuse-curlftpfs, and made it service autofs reload in install (postin and postun)

Now, I can do the following: (still testing):

rsync /ftpfs/area01/* /my/backup/dir/area01/
rsync /ftpfs/area02/* /my/backup/dir/area02/

… and this command will implicitly automount the filesystems in turn, allowing the rsync to sync content. Of course, it’s more efficient if the FTP server simply activated the rsync service, but it’s Windows, and rsync is only a decade old, so Windows won’t have it yet (and the administrator fears both the Cygwin dependency issues and the simplified route)

The rsync might do horrible things with the FTP server, I don’t know. If it does, maybe that will open up a cooperative dialogue (Kidding! Forcing someone’s hand is never a good way to start!).

Microsoft Cannot Understand Its Own Updater?

Uncategorized No Comments »

Why can’t Microsoft’s updater realize that it’s the app it wants me to shut down?

Besides locking the MDS and slowing down a Mac, is there any real engineering put into this product by Microsoft?

Oh, and why is Microsoft affecting Safari? That seems fishy…

WP Theme & Icons by N.Design Studio
Entries RSS Comments RSS Log in