Welcome to my home page. I became blind at birth. I started programming computers at a young age. I also earned my general class amateur radio license, KA3TTT, a hobby to which I have returned with great joy. I practice Qigong and identify as a Taoist. I use Linux as my desktop and Android as my mobile OS. I eat gluten-free vegan meals. For the rest you'll have to read my blog.
Ask a programmer to explain object oriented programming, and they will say something like: “Well, everything is an object.” Ask them to explain an object, and they will say: “An object is an object.” Or so goes a common joke or misconception.
Of course, we can define an object. An object has fields like a data structure. For example, an address book would have a name, phone number, address, etc. Along with fields for storing data, objects also have functions (methods) attached to them. For example, you’d want to enter data on a card in the address book, print the card, load and save it, etc. Objects belong to a class, and the class can also have methods. For example, the address book class would have a method to search the entire database of cards. This system gives a way of reasonably representing things in the real world…for some. Others find object oriented programming confusing, preferring a more functional approach. Different strokes for different folks. If you want to learn object oriented programming, I’d recommend Ruby.
Humans have always sought some kind of model to explain creation at all levels. According to some ancient religions, the Earth rests on the back of a turtle. The Mayan day sign Imix symbolizes this. If you ask a believer what the turtle rests on, they will simply say another turtle. This might sound strange to some, but turtles and objects both serve as metaphors for the way our mind actually puts the world together.
Comparing these two metaphors brings another paradox to mind. Programming objects have very tangible results, yet software has an intangible existence. The turtle metaphor has intangible results, but a turtle tangibly exists. Perhaps the two explain the same paradox from different angles, and have more in common with each other than it may initially seem.
So what does this hypothetical class look like? Does the class represent the Creator, creation, or both? How would an object of this class behave? What variables and methods would it contain? I don’t know for sure, but it makes a fun and interesting mental exercise. Perhaps we will never really know. Or perhaps someone will figure it out and post some pseudo-code in the comments.
The next time a religious fanatic pesters you, just think of tangible programming objects, or intangible Mayan turtles. They all make sense in their own way. Pick the metaphor that makes sense for you and use it. Just don’t confuse the map with the territory.
When I upgraded to Mac OS X Lion, I discovered that Apple unceremoniously removed FTP as a file sharing option. I understood why – FTP has little (if any) security. Still, it annoyed me, because I had ftp set up locally for convenience. Whatever, I wanted to get SAMBA working anyway, so it didn’t bother me. Accessing Linux from Mac proved straight-forward, but going the other way didn’t work out so well. After hours of battling with SAMBA I took a break and thought about ssh, and then I remembered SSHFS. Beautiful!
We’ll start with the hopefully easy part: accessing Linux from Mac. On Linux, set up SAMBA as normal. For the easiest time, set your security level to Shared. Only do this if you use a router or know how to configure a firewall. Now hopefully you will see your Linux machine in Finder and can go from there. If you opt for user level security, you can connect in the Finder. Hit Command-K and enter “smb://username@
Now we move on to the fun part: accessing Mac from Linux. You can try to get SAMBA working, but I had no luck with it. Instead, install SSHFS according to your distribution. Arch Linux would use “packman -S sshfs”, Debian and Ubuntu would use “apt-get install sshfs”, and Redhat/CentOS would use “yum install sshfs”. It’ll also install fuse. Remember to make sure the kernel loads the fuse module, using modprobe if necessary.
You now have to make a few changes on your Mac. Your Mac needs to use a static IP for this to work. To do this, open system preferences and go to the networking pane. Select your primary network interface, probably already done. Go to “Configure IPV4” and select “Using DHCP with Manual Address”. Enter in a suitable IP address, one which falls within your network. Now go to the Sharing preference pane and make sure you have Remote Login checked. Note the ssh information in the text box.
Close that an go to Linux. Add your Mac’s address to /etc/hosts to make things easier. We will call this host “mac” in this example. Create a directory with appropriate permissions to use as your mount point. We will use /mnt/mac for this example.
The time has finally come for some action. If you have a user named “apple” and you want to mount their home directory, you’d just type “sshfs apple@mac /mnt/mac” Enter your password. Easy as that! To unmount the directory, just use “fusermount -u /mnt/mac”.
To automate this, you will have to use an SSH key. You can then put an entry like this in your /etc/fstab:
sshfs#apple@mac:/users/apple /mnt/mac fuse defaults 0 0
Enjoy your lightning fast transfers. And if anyone really does know how to get SAMBA working with a mac, feel free to comment. Meanwhile, I feel content with this solution. I hope it helps someone.
A friend of mine named Ben King died on June 28th, 1996. Every year I do a memorial for him. Recently, a guy named Andrew emailed me who had lost track of a friend named Ben king, and wanted to know a little more to make sure that his friend still lived.
I felt intrigued. I told him my friend lived in Pleasanton, California. He had a younger brother and his parents divorced. Andrew said his friend Ben King has a younger sister, his parents stayed together, and he moved to the Carolinas or something. It fascinated us both that two people named Ben King would have similar interests (programming and Esperanto) that someone would confuse his friend with mine. Could this have to do with numerology?
Andrew also pointed out that Ben King’s seem to have a gift for technology, such as Ben King, the Chief Technical Officer of Voalte. They write health care solutions on the iPhone. Add another synchronicity. Ben would have loved the iPhone!
Every year I do a memorial, which usually entails playing Weird Al and other weird music very loudly. Ben always said that you had to play music loudly to get all the little details. They pronounced him dead at 05:50 A.M., so the ritual has to last until at least then. When we went to the Esperanto convention, we would wake up at 5:55, five minutes earlier than everyone else. Since Discordians consider five a sacred number, we considered this a good sign. I wonder what he would have thought about the time of his death.
I began by playing his trilogy of songs. He made them in an S3M tracker, the first easy way to make sample-based music on a PC. I have converted them to FLAC, a format which didn’t even exist then. Ben would have approved. I also gave them long filenames, which he would have also liked. You can find them here.
I then started playing some weird music he enjoyed. I really started getting into the vibe. Suddenly, everything stopped! Silent! Dead! The FLAC decoder must have crashed or something, because Liquidsoap just would not play these files, resulting in an ALSA error. But it plays everything else fine. So somewhere between the decoding and outputting my radio station and the memorial crashed. That did it. That put it totally over the top. I freaked out! The logical programmer part of me tried to understand, but…but…why right then at that moment? Ben? Goddess?
I restored things and decided to move on, hoping the error wouldn’t happen again. I played a bunch of Weird Al, leading up to the new album. In retrospect I should have done the new album first, then other more familiar things to just relax to, but whatever! All hail Discordia! We have a saying: When in doubt, fuck it. When not in doubt…get in doubt!
The new album came on at 05:23 A.M. Discordians consider five and twenty-three sacred numbers, so clearly that meant something. And I could not have arranged it, remember that the system crashed. I even rebooted just in case the kernel upgrade did something. As Bilbo would say: “Quiet. Magic is afoot.”
Let me first say that I grew up on Weird Al, as did a lot of people in my generation. If you think that Weird Al just makes kids music, it means that you have not listened to him as an adult. Trust me! If you only remember him from childhood, do yourself a favor and listen to these songs again as an adult. Imagine someone giving you a “cool piece of metal” to hang onto, then years later as an adult discovering that you had an ounce of gold all this time and just never knew. It feels like that.
I read some reviews on Amazon about the new album, called Alpocalypse. One reviewer hit the nail on the head: Weird Al is good, the music is bad. It got me thinking along those lines. In concert, he plays a clip of Emenem talking about his parody. “It’s stupid. It’s repetitive and annoying.” Al responds: “Well, don’t blame me, I can only change the words, not the music.”
The album starts with Perform This Way, a parody of a Lady Gaga song which parodies the artist herself. I confess I hadn’t heard of this Lady Gaga, but people consider her very popular, and she does shocking things like many performance artists. Her name makes me nervous. I enjoyed the song and its content, but already I knew the reviewer had gotten it right. Poor Weird Al, having to parody this crap!
Next we have CNR, another pop culture reference I didn’t get, but I had already heard that song on the Internet Leaks album so it didn’t bother me. Track 3: TMZ parodies a Taylor Swift song. I only know of her because we chanced to hear one of her songs at the ski resort. At least Taylor Swift can sing, so the song has a recognizable singable melody. Good.
Next another favorite from Internet Leaks, Skipper Dan tells the story of a guy who studied acting but ended up working as a tour guide. I’ve enjoyed this song since I heard it for the first time in concert. Polka Face continues the theme: great talent, awful modern pop. Still, you’ve gotta give it to Weird Al! Craig’s List comes next, a style parody of the Doors and another from Internet Leaks.
Now we come to my favorite track on the album: Party in the CIA. It parodies a Miley Cyrus song, who I only know because of her father, who Weird Al also parodied. I heard the original just to appreciate how well Al copies a song. I think a lot of people think parodying just takes mindless work and don’t realize the excruciating detail Al puts into these songs. To faithfully duplicate the backing and style of a song takes real talent, and Weird Al has it. The original became popular again on May 1st, when America killed Qadaffi ’s grandsons. Party in the CIA indeed! The original tells of a girl going to Hollywood and feeling lost, but cheering up when she hears her favorite music. Al turns this into a story of someone who works for the CIA and enjoys going on secret missions with all their cool gear. He even references the controversial practice of water boarding. A perfect song all the way through, it really made the album for me.
Next we have Ringtone, another from Internet Leaks. I must say, it took me a few listens but I like this song now. Of course, it has an iPhone reference, so how could I not? The end would make a funny meta-ring tone of sorts.
Now we have Another Tattoo. Back to the theme. I enjoy the words and the funny premise of writing about a guy who gets tons of tattoos, but this modern pop music just bothers me. The song does have a little treat for adults of you turn it up at the end.
Next comes If That Isn’t Love, a style parody of Hanson. Once I read that it made sense and I enjoyed the song more, even though I only know of one Hanson song and only because of my sisters. Whatever You Like also came out previously, and I absolutely love this song, it summarizes the economy perfectly and how people feel, many just trying to get by but still loving each other. Weird Al has such a gift for capturing the feeling of our culture.
And finally we have the touching song Stop Forwarding That Crap To Me! It reminds me of Don’t Download This Song, which finished his last album. It has a similar style and theme. This time, he sings about email forwards and the people who forward them. Trust me, you will want to save this one to forward in response. The song starts with the lyrics:
Oh the sand keeps falling through the hourglass
And there’s no way you’re going to slow it down
You say we gotta treasure each moment
Who knows how long we’re gonna be around</p>
Yeah you keep on telling me life is short
And its hard to disagree with what you say
But if time is so precious why ya wasting mine
‘Cause I’m always reading, always deleting
Every useless piece of garbage that you send my way.
I felt speechless. Perfect.
All and all I enjoyed the album. Rating it seems somewhat difficult, since I had already heard four of the twelve songs. It just bothers me that Al has to parody music that I don’t enjoy. At least he makes it palatable. I think I will give it five stars though, since I really like Party in the CIA. I only hope no one mistakes me for a Miley Cyrus fan if I start whistling the melody.
Though I enjoyed the album, it also made me sad. Pop music has changed, and having Weird Al as a reference just made that all too clear. The world has changed. It has become harder. Some might say that everyone feels this way as they grow older, but I think this feeling has some objectivity.
Just look at the headlines. In the nineties, we worried about Bill Clinton groping women. Now, we worry about TSA workers groping women. I don’t like that. The world in which I grew up and in which I feel comfortable has, like listenable pop music, begun fading into the past, like the Elven trees of Lorien in their winter.
A lot has changed since 1996. I have gotten older. We all have. Ben hasn’t.
At this point I can imagine Ben saying: “Whoa dude! You can’t just end the article like that! Tell them one of our funny stories.” We had gone to an Esperanto convention in 1995 and 1996, our reason for meeting in person. On the last night of the 1995 convention they had a loud party in the large room adjacent to our bedroom. Neither of us introverts felt like going, choosing instead to just greet the people who walked by who we actually wanted to talk to. The next day we finished packing. I had to catch a plane. We wandered into the room and saw leftovers from the night before. A quick bite wouldn’t hurt, especially before traveling.
We snacked on some food and poured ourselves cups of punch. We noticed the bunch tasted a little weird, but figured it had just gone a little stale from sitting out overnight. We milled around and continued snacking and talking, enjoying our time together. Suddenly, I had a funny feeling. “Umm man? I think I know why that punch tastes weird.” “Why?!” “Uh, do you feel kind of lightheaded?” He felt it. “Yeah!” We both started cracking up. Of course, we should have figured they spiked the punch. We didn’t even know. I had just finished my second cup.
We went back to our room laughing stupidly. We couldn’t believe it. I lay on my bed, bemoaning the fact I had to catch a plane. “Vi estas ebria.” said Ben. By that point another esperantist had joined us, probably attracted by our loud behavior. We all left together. Everything worked out.
And so it is that we, as men, do not exist until we do; and then it is that we play with our world of existent things, and order and disorder them, and so it shall be that non-existence shall take us back from existence and that nameless spirituality shall return to Void, like a tired child home from a very wild circus.
– Principia Discordia
Some time ago, I wrote about Loretta’s adaptive sports expo. I saw a karate demonstration which really inspired me. Because of the interest shown by all involved, the YMCA agreed to offer an eight week self defense course for the disabled. This I have completed today, and I feel glad to report that they have now agreed to turn it into a full form belt ranking course.
I took karate as a kid. And yes, watching Karate Kid around three hundred times probably had something to do with it. All boys who grew up in the mid eighties watched that movie a similar number of times, and karate had become very popular, as had an interest in Japanese culture. I got a yellow belt, but sadly my awesome teacher had a motorcycle accident and I stopped. I’ve wanted to take martial arts for years, and I’ve finally found a new teacher.
I paid $60 for this eight-week self defense course. What a bargain! As the course progressed I started hoping that I could earn some sort of belt, or something. Really, I wanted it to become a real karate course so I could start taking it again. Fortunately, others had similar thoughts, and it now has become a reality. It will cost $60 per month. What a bargain! As I wrote in my article about skiing for the first time, you just can’t lose with these people.
As we progressed through the weeks, we covered different kinds of attacks. They usually began with a grab from the front, a grab from behind, or a grab on the wrist. We also covered using blocks to defend against punches. I began to start to piece things together.
We very quickly began using our adaptive technologies as weapons. As I noted in the referenced article above, Ken works with each individual based on their disability. This requires a very real knowledge of someone’s limits. Some people just can’t do certain things with a disability, so need to compensate. All of the other students have mobility issues. Some use wheelchairs and others canes. I represent the only blind person, and I carry a cane. Fortunately, a girl named Kelly uses a walking cane, so we can learn cane combat together. It also means that we will have to do twice the work, since training requires situations with and without the cane.
The weeks moved on. I really began to view my cane in a different light. In addition to seeming like a device used to find objects while walking, I now began to see it as a weapon and protector. This increases the overall sense of unity with the cane while walking. The increased confidence also help with mobility, giving a heightened awareness of the surroundings. Kenpo skills transfer to all areas of life.
And this brings me to an interesting distinction. For a while, I thought we learned Kempo karate. I know a guy who has studied that system extensively, so have heard the name before. Today, a lady asked if they spell it with an M or an N. Chris corrected the issue: they teach Kenpo karate. Kenpo came from China, then a parting of ways occurred and that began Kempo, which comes from Japan. I felt glad to know that, and it all happened because of a question I would have probably never thought to ask. I feel glad to learn the original system.
We had our last class today. I had to get into the vibe, since we went tubing yesterday. Quite different! Ken showed me a technique to walk a straight line while using my cane and fist. That got me into it, then the questions began and I wanted to do more. I had a feeling I should just keep my mouth shut and wait, and they did not disappoint.
After the questions, Ken promptly announced that he wanted to see what we had learned. He told Chris to attack anyone as he wished. He went through all of us randomly. First, he attacked me from the front. I tried to remember a specific sequence and couldn’t, so started to panic. Then I just figured I’d just go with it and see what worked. Honestly I don’t even know what I did and couldn’t repeat it, but I wrestled him away. Ken instructed me to bring my knee up to meet his head so I did, completing the move. Next, he attacked me from behind. I froze for a little, but tried to remember a step they taught and think I actually pulled it off, disengaging myself and moving behind him where I think I used my cane in some way but can’t even remember. I must have done something right, because Ken laughed and everyone applauded. I just felt so stunned that I actually did this cool move. Kelly told me that Chris removed his glasses after that. Finally, he grabbed my wrist. I clearly remembered stepping and bringing my wrist down to my hip, forcing him down where I think I disengaged myself somehow and definitely remember giving him a good strike to the head with my cane. Ken laughed again and more applause. Chris reminded me to breathe, which I really should know from meditation. I suspect I will begin integrating my meditation skills more as the moves become more familiar and I need to consciously think less. Oh yes, this rules!
At the end, Chris gave us all t-shirts for his studio, Empty Hands Martial Arts 215-884-0699. On the back, it says “Cheltenham’s Greatest Hits” a play on words, hits in this case referring to physical hits. He said a guy asked him what radio station he works for. He hadn’t thought about it that way before. So even though I didn’t get a belt, I did get a cool t-shirt. The belt will follow.
Sun Ra fans celebrated his arrival on this planet as they do every year on May 22nd. I always have some revelation about equations, mathematics, and things of this nature. This year proved no exception. For some reason, I started thinking about random number generators. This introduction to randomness gives a good overview.
Two types of random number generators exist. Most of the time, when your computer has to pick a random number, it uses a pseudo-random number generator. This does not actually generate a random number as its name suggests, rather it uses a mathematical formula which produces numbers with a random distribution. They appear random to a human. They do have the advantage of speed. A computer can generate as many “random” numbers as it needs this way. Computers use a lot of random numbers.
The most common formula uses a starting value called the seed, then does some computations involving prime numbers to arrive at a number which appears random. Seeding the generator with the same value produces identical results. I remember writing games in BASIC when I got my first PC in 1987 or so, and not understanding why the random choices always came out the same. Then I learned that I had to seed the generator. The seed usually comes from the time of day, since it provides a constantly changing value. Once seeded, the sequence unfolds according to the formula.
True random number generators, on the other hand, analyze an external source such as a decaying radioactive particle or atmospheric noise to produce truly random numbers. The numbers do not follow any pattern, making them unpredictable. They take longer to generate and the machines may need special environments to isolate them from surrounding noise, making them unsuitable for most everyday uses. Fortunately, services like random.org provide random numbers in various ways, including some cool games and a nifty API.
I thought about these two methods of generating random numbers, and realized that they relate to the two main views of creation. A pseudo-random number generator represents the deterministic view. The creator seeds its creation, setting up its initial conditions. The initial conditions set up the parameters and everything just rolls out according to a plan with no possibility of alteration. Free will does not exist, and you have no choice but to submit to this higher plan like a cog in a universal machine.
A true random number generator represents the non-deterministic view. Chaos generates each moment. Each moment presents an infinite number of possibilities, and free will determines the course of action. You have to make your own destiny in a land where nothing seems determined.
Interestingly, humans have a true random number generator. A human can pick a truly random number, or word, or idea. A computer using a pseudo-random number generator cannot do this. Donuts. Spaceships. 108,236,9,87126,5924839910029387. See?
Some even believe that the human mind can influence both types of random number generators. The Princeton Engineering Anomalies Research group has conducted many experience with true random number generators. Skeptics doubt, of course, but that should hardly seem surprising. As for pseudo-random number generators, many people have put a bunch of songs into a playlist, then started playing it random, and remarked on how it seems to go through moods, or match the mood of the person or group. Though anecdotal, it certainly suggests something deeper may exist. In a way, that would seem even more amazing if true, since it would demonstrate influencing a pre-determined event. If our subconscious could influence a random number generator, the generator would become no longer random. The same goes for a creator.
So what do you believe? If a random number generator represents the creator, then to extend the analogy, random numbers represent creation. Both generators produce results which appear the same. Perhaps we live in a universe seeded by an initial condition like the big bang or a god or goddess. Perhaps true really means true, and we have to just wake up and stop pulling the wool over our own eyes. Perhaps the truest view incorporates both, representing the middle way, the path of balance. Perhaps a creator or some aspect of ourselves influences these generators, making them no longer random, and making all of this meaningless. Perhaps you should pick one of these five beliefs at random just to see what happens.
To bring it back to Sun Ra, he said that “Music is a language, you see, a universal language.” When we covered fractals in high school math, I wrote a program which mapped data points to MIDI notes. The result sounded like jazz. This page from random.org which picks random jazz guitar scales made me think of this. Sun Ra would approve.
Can you handle a random belief? Try this silly program I wrote to find out what Goddess might have in store for you. I promise you will have a very illuminating experience if you follow the instructions. I love mixing technology and spirituality.