Viewing EFX Fax Files (EFAX) with Linux (or anything else probably)

I get about 2 faxes a year, so I hate to stand up a dedicated fax machine and phone line. There is, of course, a free fax service available. But the problem is the free version only delivers proprietary efx files. To open these you need to run the eFax software. Sure its free, but its Windows only! Might run under Wine with some coaxing and, of course, you can run Windows in VirtualBox, but what a pain just to open a fax or two a year.

EFax will let you get the fax as PDF if you upgrade. I just don’t get enough faxes to justify that. But there is a way.

If you log into your account online you will see several options including “View Faxes.” Click that. You get a web page that looks like an e-mail inbox. You’ll see the faxes you have received. Click the fax you want to view or print. This will load a preview pane at the bottom. But you can only look at the first page. Double clicking the fax brings up a  new tab that shows the same preview image. But there is a link in the header that says “View Fax: xxxxxxxx.efx” (where the x’s are the file name). You’d think that would just download the efx file, right? Nope.

Click the link. Go on. Now you have a viewer that lets you pick a page of the FAX, zoom it, and rotate it. If you just need to look at the fax you are done. But I wanted to print mine. Am I out of luck? Here’s the trick: Right click on the displayed fax (it doesn’t matter if you can see it all or not). Depending on your browser you’ll get an option like “Copy Image URL” (I guess you could also “Save Image” and then go open the image in your favorite picture editor and go from there.  With the Image URL, go to a Web browser and paste it into the URL bar. Woo hoo! You now have a full page image that you can print from the browser. Different browsers handle images differently, so you are on your own at this point. On Chrome I’d zoom the image up to 100% and print and I got nice full page faxes. If you were not at 100% the print would be smaller than the page.

Of course, if you have a 100 page fax its a pain to have to do this for every page. But seriously, if you are getting 100s of pages of fax, subscribe or install the free app under VirtualBox or Wine! But for those of us who left most of our faxes back in the 1990’s this is an easy way to get faxes printed without Windows.

PICP (Linux PICSTART Plus) for 16F883 and 16F886

Just in case you want to use PICP with either the 16F883 or 16F886, add this to your picdevrc file:

0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0

10 00 3f ff 3f ff 00 7f
00 7f 3f ff 3f ff 00 ff
00 ff 00 00 00 00 00 00
0D 10 20 00 04 20 07 02
00 00 01 00 00 00 00 00
00 01 22 0f

3f ff 07 00 00 00 00 00
00 00 00 00 00 00 00 00
3f ff 07 00 00 00 00 00
00 00 00 00 00 00 00 00

0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0

20 00 3f ff 3f ff 00 7f
00 7f 3f ff 3f ff 00 ff
00 ff 00 00 00 00 00 00
0D 10 20 00 04 20 07 02
00 00 01 00 00 00 00 00
00 01 22 0f

3f ff 07 00 00 00 00 00
00 00 00 00 00 00 00 00
3f ff 07 00 00 00 00 00
00 00 00 00 00 00 00 00

Cost Effective Digital I/O for LabView

Example GP3 VI

LabView is great software, but it isn’t easy to find inexpensive hardware that works with it. Since the GP-3 is a serial device (RS232 or USB) LabView can use it, but it does take a bit of hoop jumping to match the GP-3’s efficient binary protocol with LabView’s string-oriented I/O.

Because so many people have asked me about how to use LabView with the GP-3, I’ve started posting blocks that do the GP-3 functions. I don’t have them all yet, but I’m steadily adding to them, and the example they provide would make it pretty easy to do any of them you want (in fact, I just copy, paste, and modify to get most of them myself).

Read the whole article at and look for the download files at the bottom.

New GP-3X Boards Available

Here’s a chance to pick one up at a promotional auction price.

The firmware on these boards is the normal GP-3. You can use it as a PC A/D interface for data acquisition or control You can also create a program with GP3EZ and then “download” it to the board so the board will function without a PC.

The differences in this board from the regular board:

1) All I/O is out to the edge and marked. Screw terminals are optional (included in the auction).

2) Dedicated jumper for GP3EZ run/program mode

3) USB daughterboard available

4) Room for a “regular” LED or a 2nd 5V LED.

5) Large ground lands for the analog converters to decrease noise pickup

6) Spare area for op-amps or other devices (if not using USB daughterboard); flexible I/O lets you “interrupt” the analog and digital I/O to reroute.

7) Slot for resonator OR crystal.

8 ) Switchable DTE or DCE serial port (and connections for TTL serial)

There is also a new manual for ALL GP-3s. Unlike the old “two part” manual, this is one manual for all GP-3 boards and should not require any other manual regardless of which kit you have.


We have a group of hams that homebrew that meets once a month for breakfast. A while back I noticed the and thought it would be a good way to get some of the guys started with Microchip PICs.

I started out breadboarding the circuit, but they will eventually go into nice cases we bought from Kelvin.

Here it is in logic probe mode, reading a logic 1 (High):

Breadboarded Super Probe reads a logic high

And here it is reading a voltage (just an output from a pot):

Inside view of the probe
Inside view of the probe

Emacs, Chrome, and Daemons

I  really liked the Chrome extension that lets you edit multiline text edits in Chrome with emacs (or, I guess any other editor — as though there are any other editors). However, it has to have a server running. You can run a python server or one in e-lisp. But the lisp one requires emacs to be running already.

Here’s how I set mine up.

1) Autostart emacs –daemon using your choice of methods (autostart, Xsession, whatever)

2) In your .emacs you need this:

(if (and (daemonp) (locate-library "edit-server"))

(require 'edit-server)
; can add options here like (setq edit-server-new-frame-mode-line t) (setq edit-server-new-frame-minibuffer t)

 3) Then in your .bashrc put this:
if [ -z "$DISPLAY" ]
  alias emacs='emacsclient -t'

   export EDITOR='emacsclient -t'
   alias emacs='emacsclient -c -n'
   export EDITOR='emacsclient -c -n'


 Works great. Of course, you need to start the daemon manually THIS TIME (and execute the script lines) or log out and log back on for this to work.

By the way, once you set up the alias, you can’t easily restart the emacs daemon. Remember you can override an alias with quotes: ’emacs’ –daemon

Update: you can set ALTERNATE_EDITOR in your environment to the empty string and emacsclient will start a daemon if one is not running. So that means you could skip step 1 if you add:


to step 3. This is nice because if you kill the server (to reload your .emacs, for example) or it dies (unlikely) then things till work without the user having to reload the daemon manually. Of course, you can still keep step 1 as well which makes your initial load a little faster, and still protects you against a dead daemon.

Upgrade to Ubuntu (Kbuntu) 10.04 Fails

Like an idiot I always upgrade stuff. Can’t help it. I know better. Really. I do.

I ran the install and got an error that apt’s post install script failed. Then it kept going for some time. And then it decided it had failed and my system was in an unstable state. Have a nice day.

I could still boot to the old kernel (the new kernel worked but the system was too trashed to rebuild the Nvidia drivers).

Turns out in /var/lib/dpkg/info/apt.postinst there is a function called:


What’s more is down a ways in the script it calls this line and that is what makes it fail. Three hash signs later and the system is happily configuring away!

Hope that is useful info for you.

Rigol DS1052E and DS1102E Delayed Trigger


I have an old Tek scope. A great 50MHz analog beast that was surely the envy of every engineer — well every engineer in 1976 anyway.

Of course, its a Tek so it is built like a tank and has the usual great features — for a 1976-vintage analog scope. One thing it has that is very cool is “delayed sweep.” The idea is that the scope will trigger as normal and then you can pick a fixed time delay and a different time base to actually drive the display. Huh? All that means is that while watching a regular wave form you can “zoom” in on a section of it. The delay tells you how far into the original screen to start, and the faster sweep gives you the zoom factor. The user interface for this is comical but effective. The scope has a special mode where the time delay and “zoomed” time base makes the trace very bright. So you twist the knobs until the part you want to zoom in on is bright and then you can zoom in.

The Rigol DS1102E (or is it a DS1052E? I forget) has the same capability, but being digital it is very simple and the user interface is much more effective. See the screen shot? The top trace shows a 32kHz PWM signal (about 4%) generated, of course, from a . The bottom trace is the “zoom in” — you can pick delayed sweep from the menus or if you are lazy just click the horizontal scale knob (did you know if you press and hold any button you’ll get help — unless you’ve uploaded unofficial firmware).

Once you turn on delayed sweep you get blue bars on the top that show you the part of the wave you are zooming. You can move the trace with the horizontal position knob and change the zoom level using the horizontal scale. Note that the main window (top trace) is at 10uS/division (you can read that near the bottom of the screen). But the zoomed in part is 500nS/division (right under the enlarged pulse).

When you have seen enough, just click the horizontal scale knob again and you are back to “undelayed trigger” or whatever you want to call it. This can be really handy when you are navigating a long buffer. The top view shows you where points of interest in the buffer are, but the bottom view shows you the detail you want.

What would all of this been worth in 1976? My Tek retailed for about US$2500 in its day. Amazing.