Archive for the ‘applications’ Category

Sharkfest ‘08 Conference for Wireshark

Monday, April 7th, 2008

sharkfest logoI was invited to attend Sharkfest ‘08, a conference for Wireshark users and developers, held March 31-April 2 at Foothill College in Los Altos Hills, California. I had a great time, and am so grateful that Gerald invited me to attend. I attended as a Wireshark developer since I actively maintain the BACnet dissector. I went to the conference with several goals in mind:

  1. Figure out how to do BACnet segmentation
  2. Figure out how to get BACnet MS/TP into libpcap/winpcap.
  3. Add a couple of BACnet dissector enhancements to Wireshark.
  4. Learn about using Wireshark for problem network analysis.

I attended Laura Chappell’s training sessions, and learned a whole lot about Network analysis and the love-hate relationship between TCP/IP SYN, ACK, and Keepalives (#4 completed). I also wrote some Wireshark code during the classes which I promply submitted (#3 completed). Loris came into the activity center and sat down with my son Joshua and me, and so we discussed how to integrate BACnet MS/TP RS485 from serial port into libpcap/winpcap (#2 completed). On the last day and the last session of the conference, I attended a session by Richard Sharpe about file sharing protocols and learned about Wireshark conversations (#1 completed).

Vint Cerf and Gerald CombsWe were treated to an inspiration talk on Tuesday morning by Vint Cerf. After the talk, I went to Laura’s session, and Joshua talked to Vint. Vint signed Joshua’s Half-Life player guide, had photos taken with Vint and Gerald, and the Wireshark crew gave Joshua some swag.

Gerald treated the developers to dinner on Tuesday night at Trader Vic’s. I drove to dinner with Joshua and Jaap Keuter, and learned about PBX systems and Jaap’s passion for skydiving. At dinner I sat next to Ulf Lamping and learned about yet another division of Siemens and about Ulf’s love for motorcycle riding. Guy Harrris and Mike sat across from me.  Joshua ate with Gerald’s wife and daughter, and John Bruno’s wife.

The Foothill College campus was beautiful and on Spring Break. The food was awesome and plentiful.  The people were great!  The Wireshark sessions were helpful.  Maybe I will get to attend next year.

Autism Jigsaw Puzzle Piece

Saturday, December 16th, 2006

jigsaw_green_02.gifI helped create an Autism support group website several months ago. I needed some Autism related clipart and tried to find some of the colorful jigsaw puzzle pieces that are often found on Autism related sites and accessories. I didn’t find any that were suitable or in the public domain and decided to create my own. I found a single puzzle piece on the OpenClipart website. The OpenClipart website has lots of public domain clipart in SVG format.

Using Inkscape, a free and open source graphics illustration application, I fit four single puzzle pieces together and colored them. Then I fit those four pieces together until I had a small mat of puzzle pieces. I tried to match the color scheme with an Autism ribbon that I had seen. I exported the small mat into PNG format. I used the GIMP, a free and open source image manipulation tool, to add several of these together. I ended up with an autism puzzle background that I could create shapes or words in using the GIMP and masks.

jigsaw_puzzle_four_piece.gif jigsaw_puzzle_stk.gif jigsaw_puzzle.gif
faces.gif

I never did use the words on the website. I did use the small four puzzle piece on the website. The Autism puzzle piece also seems to be a popular search term for that site.

Subversion Inconsistent Newlines

Wednesday, September 27th, 2006

Copperhead snake at the Entrance to Bert Adams Scout ReservationI was minding my own business, coding the BACnet stack project, and decided to commit some files to subversion on SourceForge. However, tortoise-svn gave me the “inconsistent newlines” error. I googled the problem, and found a solution, but that solution didn’t fix the problem - it only masked the problem since my files were legitimate C files.

I fired up SciTE with the problem file, and selected Options - Convert Line End Characters. After saving the changes, I promptly committed the problem file to subversion without having to change thesvn:eol-style option for that file. Problem solved!

Samba, CIFS, and Ubuntu Linux Server

Thursday, July 20th, 2006

confusedI run a couple of servers at my house. One of them is my fileserver, and it uses Samba to do simple Windows filesharing. My 20 GB digital photos partition was full, so I got a 120 GB harddrive and setup an Ubuntu Server 6.06 based fileserver. I transferred the files using rsync, and installed samba on the new server. I set the UID=nobody and the GID=users on all the files. I set the group id inheritance bit on the Linux directories, and removed the world/other rights.

#!/bin/bash
# files are read/write for group and owner
find $1 -type f -exec chmod 660 {} \;
# directories are read/write/cd-able/inherited GID
find $1 -type d -exec chmod 02770 {} \;
# make these files owner=nobody, group=users
chown -R nobody:users $1

I setup Samba to mimic the Linux file system, and forced some settings when new files and directories are created. Here is my smb.conf entry:

[data]
comment = Common Data Directory
path = /home/skarg/data
force user = nobody
force group = users
read only = No
create mask = 0660
force create mode = 0660
directory mask = 02770
force directory mode = 02770
inherit permissions = Yes
guest ok = Yes

Normally, you can add a CIFS mount in /etc/fstab, and specify the UID and GID that the linux filesystem will use. But the cifs filesystem mount wasn’t using the UID that I specified, and that’s when I discovered that Samba now has unix extensions, which cause the problem that I was seeing. Unix extensions can be turned off in samba by adding the following line to /etc/samba/smb.conf:

[global]
unix extensions = no

I also turned off the extensions on the workstation:

echo 0 > /proc/fs/cifs/LinuxExtensionsEnabled

I was trying to get one of the other Ubuntu Server based linux servers to mount the Windows share, but kept getting an error message:

CIFS VFS: cifs_mount failed w/return code = -22

Google found the mailing list where someone had that problem, and the solution was to add the mount.cifs command, since the kernel didn’t know the domain name to IP lookup. I tried to use the advanced package tool to find it:

apt-cache search mount.cifs

Nothing. I tried several other solutions, but they didn’t work. I Googled again, and found another post about mount.cifs, which made me think, and I searched the server for mount.cifs using the locate command. mount.cifs wasn’t there! Finally I went to the Ubuntu packages site, and did a search in the contents of each package. mount.cifs is part of the smbfs package. I initially didn’t want to install the smbfs package since smbfs is depracated in favor of cifs.

sudo apt-get install smbfs

Now the server has the CIFS filesystem mounted. However, it is not perfect yet. Stay tuned!

Slide Rule

Thursday, July 13th, 2006

Foot faces sculptureI was telling a friend about Scilab, the free numerical analysis tool, and came across a university page describing other numerical tools, such as the slide rule. There is even a society that is dedicated to the preservation and history of slide rules and other calculating instruments - Oughtred Society. I think I may have used a slide rule once. I came across some Slide Rule Operating Instructions in a box of papers that my dad had, and scanned them for posterity.

MS-Word and Disclaimers

Friday, June 9th, 2006

I was reading Linux Magazine and came across a link to Anonym.OS. I followed the link to the Anonym.OS home page and then to Taylor Banks’ website and eventually found Jeff Goldmark’s website.

Jeff writes net rants about some things that bother me as well. He wrote one about why you should not use MS-Word as a document exchange format.  I use OpenOffice.org for word processing and don’t have many problems opening MS-Word attachments.  The MS-Word documents are mostly used for collaboration on the BACnet standard, and that is the format that we use.

Blueberries

He wrote another about disclaimers that appear at the bottom of e-mail. I occasionally receive e-mail that has the disclaimer at the bottom. I guess they are silly, aren’t they?

ssh, VNC, and IMAP secure tunneling

Thursday, June 8th, 2006

I run an IMAP server in the garage so that I can have my e-mail and folders in a central location. I have a domain name that I point to zoneedit.com and use ddclient to update the IP address. From Windows, I access the IMAP using an ssh tunnel with the fine PuTTY ssh client. From Linux, I just use the command line. I setup a local ssh IMAP tunnel to the potter machine which sets up the tunnel via the localhost:
$ sudo ssh -L143:potter:143 karg.us

I can then read email using Mozilla Thunderbird by configuring IMAP to use localhost on the standard port (143).

Happy Jet

ssh tunneling is also handy for troubleshooting. To do remote troubleshooting, a remote desktop control tool is need, and I use Tight VNC. To launch a Tight VNC session to help my wife restart the printer queue, I run:
$ ssh -L5901:wilbur:5900 karg.us
$ xtightvncviewer -encodings "tight copyrect" localhost:1

Simple, right?

Learning Python

Saturday, April 29th, 2006

Last year I started teaching my son Joshua, who was 10 years old at the time, to learn the programming language of Python. I had searched for and researched a Kids Programming Language, and settled on Python and the Livewires course. Python promotes good programming practices, the language and its tools are available for free on many platforms and operating systems, and the language can be used to develop some serious software. The Livewires course includes a series of worksheets and reference sheets that culminate in the skills necessary to write a game.

I decided that I wanted to learn to program Python too, so a friend of mine suggested reading Dive Into Python, a Python book for experienced programmers. You can buy a printed copy, read it online, or download it in a variety of formats.

Setting up Python is easy on most operating systems, and it came already installed on Ubuntu Linux. There are lots of libraries and frameworks for Python, including pyGame and wxPython. There are free and open source development environments that make editing and running your programs easy - I like DrPython.

I also want to write a BACnet workstation client using Python, and my friend Joel donated some core BACnet code that is written in Python just for doing that. Hopefully I will be up to speed soon on programming Python and will be able to create some demos for the project.

Creating Clipart

Friday, April 14th, 2006

I am not an artist - I am an engineer. But I would like to be an artist. I like using Inkscape and Sodipodi to create SVG art images. SVG, Scalable Vector Graphics, is an open standard. The SVG images are nice because you can scale them and print them without them losing any sharpness or curves.Easter Eggs

I created some cartoon bubbles or balloons with Inkscape and submitted them to Open Clipart. Today I created some Easter Eggs and submitted them. Then I decided to write up a Tutorial about how I created the Easter Eggs.
Happy Easter!