Getting an Eye-Fi X2 Pro Card Working on Linux vs. Mac

I recently had the pleasure of figuring out how to get a new gift for Alisa working in my technology environment.  The hoops I had to jump through are documented here for later reading, but also as a demonstration of what I mean when I say Linux will only be ready for the masses when the hardware supports it.

The Eye-Fi card is an SD Card that also contains a wireless adapter.  It has the ability to connect to wireless networks and upload the pictures on the camera to some other storage like a computer or server.  Great concept!  It is supported on Windows and Mac, so let’s see what that really means.

Continue reading Getting an Eye-Fi X2 Pro Card Working on Linux vs. Mac

Sometimes hours of reading results in 4 simple actions

I spent a lot of time yesterday trying to figure out how to setup my Postfix installation to allow secure connections. Postfix is an SMTP mail program that allows one to send email. I wanted it to be secure so that I could open my firewall and allow my devices to send email through my self-hosted mail server securely and in a manner that didn’t result in me being an open relay.

I started by looking at Ubuntu documentation as I typically find it helpful. In this case it felt like it was a couple of years old and the configuration files seemed to have changed since it was updated. So I ventured into Google and found all sorts of HOWTOs and tutorials that kinda of were doing the same thing. Kind of.

I also decided that I should just bite the bullet and create new SSL keys as my current mail one had expired. That took some reading again until I found this article which was very helpful, giving specific commands to get a 10 year certificate.

Anyhow I spent many hours reading different articles, manuals, software documentation – quite tiring and frustrating. In the end I found the Postfix and Dovecot documentation to be most helpful (including one article with some sample commands to look at the details of the SSL certificate).  In the end it took just a couple of steps:

  • Ensure Dovecot was creating a socket that could be used by Postfix to authenticate (that’s the /var/spool/postfix/private/auth thingy and required config changes to Dovecot in 10-master.cnf beyond what was there already – adding user/group info as per Postfix documentation)
  • Ensure Postfix was configured to authenticate via Dovecot (postconf -a checks what is configured and active)
  • Ensure there are SSL keys for both Dovecot and Postfix.
  • Ensure Postfix is configured to use those keys and enable SASL authentication.  The trick was finding the “auth” section in conf.d/10-master.cnf

I think that was about it.  In the end 5-6 hours of time were spent issuing 10 commands or so that took 1 minute to actually do.  Nice!

Note to Self – Subsonic Jukebox

Right now the Subsonic Jukebox feature relies on manually specifying the java-recognized soundcard listing in the subsonic script itself.  This means that after an upgrade the jukebox will stop working.  Here’s what I need to do to get it working again:

  1. Confirm that the hardware works using aplay

java /var/tmp/subsonic/audioDevList

aplay -D plughw:0,0 /usr/share/sounds/alsa/Front_Center.wav

  1. Edit /usr/bin/subsonic and add the correct line near the end of the script

-Djava.awt.headless=true \
‘-Djavax.sound.sampled.SourceDataLine=#Intel [plughw:0,0]’ \
-verbose:gc \
-jar subsonic-booter-jar-with-dependencies.jar > ${LOG} 2>&1 &

  1. Restart subsonic, and test using iSub or something

Creepy Windows 7 Advertisement

I know what a Launch Party is.  This video advertisement for Windows 7 makes it all sound so creepy though.  And who are the writers of this stuff?  And the poor actors – they’re so rife with stereotypes that are trying not to be stereotypes that I can’t imagine how many takes it took to get some of those lines out.

The whole thing feels so terribly manufactured – could anyone possibly think it is a good ad?  Which makes me wonder who they’re targetting for this.  Which then makes me wonder if this is simply a viral marketing effort, a more sureptitious means of getting the word out than a simple ad.

Whatever the case, I won’t be holding or attending a Windows 7 Release Party.  Sorry.

Nice Demo of Benchmarking and Optimizing a WordPress Blog

Optimize WordPress for speed

Here are the results from my current (old) system for comparison:

Benchmarking (be patient).....done

Server Software:        Apache/2.2.9
Server Hostname:
Server Port:            80

Document Path:          /
Document Length:        26643 bytes

Concurrency Level:      10
Time taken for tests:   126.358 seconds
Complete requests:      100
Failed requests:        0
Write errors:           0
Total transferred:      2716600 bytes
HTML transferred:       2664300 bytes
Requests per second:    0.79 [#/sec] (mean)
Time per request:       12635.836 [ms] (mean)
Time per request:       1263.584 [ms] (mean, across all concurrent requests)
Transfer rate:          21.00 [Kbytes/sec] received

Connection Times (ms)
min  mean[+/-sd] median   max
Connect:        0    5  21.1      1     108
Processing:  3432 12418 1510.4  12669   15194
Waiting:     2785 7833 906.1   7867    9657
Total:       3433 12423 1507.4  12669   15195

Percentage of the requests served within a certain time (ms)
50%  12669
66%  12956
75%  13106
80%  13145
90%  13978
95%  14549
98%  14919
99%  15195
100%  15195 (longest request)

Specs of the old machine:

Athlon XP 2100+, 756 MB RAM

hdparm -tT /dev/sda1

Timing cached reads:   336 MB in  2.00 seconds = 167.97 MB/sec
Timing buffered disk reads:  192 MB in  3.03 seconds =  63.40 MB/sec

Now below are the numbers for my new hardware, though they may deteriorate as I add additional services.

Benchmarking localhost (be patient).....done

Server Software: Apache/2.2.11
Server Hostname: localhost
Server Port: 80

Document Path: /
Document Length: 28407 bytes

Concurrency Level: 10
Time taken for tests: 12.385 seconds
Complete requests: 100
Failed requests: 0
Write errors: 0
Total transferred: 2890200 bytes
HTML transferred: 2840700 bytes
Requests per second: 8.07 [#/sec] (mean)
Time per request: 1238.451 [ms] (mean)
Time per request: 123.845 [ms] (mean, across all concurrent requests)
Transfer rate: 227.90 [Kbytes/sec] received

Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 9 30.1 0 119
Processing: 782 1220 163.2 1205 1781
Waiting: 499 790 145.2 757 1344
Total: 782 1229 182.8 1205 1781

Percentage of the requests served within a certain time (ms)
50% 1205
66% 1243
75% 1286
80% 1308
90% 1516
95% 1666
98% 1734
99% 1781
100% 1781 (longest request)

And the new server’s specs?

AMD Athlon Dual Core 5050e, 4GB RAM

hdparm -tT /dev/sda

Timing cached reads: 1292 MB in 2.00 seconds = 646.06 MB/sec
Timing buffered disk reads: 252 MB in 3.00 seconds = 83.94 MB/sec

So things are looking good!