Posts Tagged 'Yammer'
2016-04-09

In The Beginning...

Years ago, when I first heard that Ubuntu Touch would have apps written in QML, I decided to write a Qt based front end for MuttonChop!. My logic was, if Ubuntu is using QML then there will be support for Qt. With my favorite text editor at the ready, I began to hack together some Python code to make a Qt application using Pyside.

Since all of my MuttonChop! related projects are named after sideburn sporting figures from California history, this project was named after Commodore John F Stockton. The project name has stayed, but from the very beginning the project strayed from being a MuttonChop! controller to something completely different.

Once the basics of the main UI window for Stockton had been coded, I thought "hey, why not just add a WebKit WebView to access the Mobile UI for MuttonChop?". Being lazy and not wanting to code another MuttonChop UI, I did just that. From there, a URL input was added to give the end user a way of changing the URL displayed in the WebView.

After that, I opened a URL in Stockton, resized the window, and moves the window to a specific location on my desktop. Suddenly there was a need to always have a Stockton window open in a fixed location on my desktop when Stockon is launched with a certain url. Bang zoom, clacking the keyboard, and the main features of Stockon were done.

Fast-Forward a Bit...

There were actions that I wanted to perform using my mobile device and it was necessary to write a few "apps" to get the job done. Aside from doing what the apps were supposed to do, I wanted them to "run" on all mobile devices as well as on the desktop, and the easiest way for me to accomplish that feat was to write the apps using HTML, Javascript, and CSS, and then access the apps via a web browser on any given machine. For the most part, all of the apps ran fine in Stockton on my desktop. However...

Problems Were Encountered

  • CORS... fucking CORS!

    CORS is what makes writing an app that runs in a webbrowser such an amazing pain in the ass. When I write a python app that makes web requests, I simply write some code to make a request, and then process the result of the request. This is the same with Ruby, and Vala, and just about every other programming language... with the exception of JavaScript running in a browser. CORS is what limits apps in a browser from only making AJAX request to files on the same server hosting the app.

    Fortunately, the WebKit1 library fully allows developers to configure a WebView to load local files and let those local files make XmlHttpRequests to remote web servers. Thanks WebKit1!

    Sadly, WebKit2 doesn't seem to have this feature.

  • Debugging

    For some unknown reason, not all of my code works as expected and it is good to be able to debug stuff. By setting the "enable-developer-extras" property to True, I was able to um.... enable developer extras, and this adds "inspect element" to the contextual menu when one right-clicks on a stockton webview.

Wooooweee! After updating the code, not only did I have a fine desktop application, I also had a rudimentary HTML5 compliant browser that would run on an n900.

I prefer Gtk

It's true, aesthetically I prefer Gtk to Qt. Although I think I might prefer Qt to Gtk from a developer point of view.
Anyway, I figured it was time to port Stockton from Python2 to Python3, and this necessitated switching from Pyside to either PyQt or Gtk. In this regard, I went with Gtk. At the same time that I was porting to Gtk, I also attempted to port to WebKit2. Lamentably, it was during the port that I discovered WebKit2 lacked the ability to disable that CORS crap. Oh well, I submitted a bug for the missing WebKit2 feature, and switched to WebKit1.

While porting the code, I was fortunate to find https://lazka.github.io/pgi-docs/ which is an indispensable documentation source when using Python and Gobject Introspection to access various libraries from Python. Since the documentation is in HTML format, I downloaded the docs, and run them in Stockton... because I can. :)

Now quit reading, and go create a solution to a problem.

Oh yea, if you are interested in such things the source is available at https://gitlab.com/jezra/stockton

Comments
Name:
not required
Email:
not required (will not be displayed)
Website:
not required (will link your name to your site)
Comment:
required
Please do not post HTML code or bbcode unless you want it to show up as code in your post. (or if you are a blog spammer, in which case, you probably aren't reading this anyway).
Prove you are human by solving a math problem! I'm sorry, but due to an increase of blog spam, I've had to implement a CAPTCHA.
Problem:
7 plus 9
Answer:
required
2013-08-25

This is what I experienced in my first 24 hours of owning a ZTE Open running FireFoxOS.

The Unboxing

Seriously, do people really care about someone taking a product out of a box? I sure don't. Ha! well, here you go.

Well there it is. I used some crappy right-hander scissors to open the bag. While I was taking pictures, googlebutter stopped by and gave me a fuji apple. Then I plugged in the device and set it down on the dish rack to charge.

First Impression

Cool your jets, bub! Before I get into it, there needs to be a disclaimer

Disclaimer: Through out this semi-incoherent text rambling, I will be comparing my experience with the ZTE Open to my experience with the Nokia n900(which came out 4 years ago) and the so called Tizen "developer" device.

It should be noted, that Tizen is no longer making OS images for the Tizen device that I have. Twice, people have asked on the Tizen mailing list if there will ever be a new image for the device and there has not yet been a response. (yes, I was one of the people asking about new images). Nothing says "Community", like ignoring members of the community.

OK, on to the jibber jabber.

Starting the ZTE

When I first turned on the ZTE, a 'first run' wizard walked me through the steps of setting my timezone, date, time, and network info. Oh yea, it also asked me to sign into facebook, pfffttttt fuck that.

The UI for setting the timezone felt clunky. There was a map of the world where a selected timezone would highlight, but I couldn't use the actual map to click on my timezone. Since date and time were set after the network connection was set up, the ZTE was able to pull some time data from the internet, but I still needed to select the time widgets for them to auto-populate.

After getting up and running, the ZTE needed to download multiple system updates, and each update required a reboot of the device.

The Home screen

  1. swipe left to right and get a screen of apps available for download
  2. swipe right to left and get a screen (or two) of installed 'apps'
  3. do nothing and there is nothing to see other than the time and the quick launcher.

Unlike Tizen, the app icons on the 'home screen' can be rearranged and even removed. Unlike the n900, rearranging icons is neither easy nor very customizable. With the n900 I can put launchers where I want them to be. On the ZTE with FireFoxOS, the launchers are locked into a grid that fills from left to right, top to bottom. If you want all of your favorite apps on one screen, you are shit out of luck.

The Browser

Since FireFoxOS touts HTML5 as the future of mobile, I expect the browser to be top notch. I did notice a few things while using the browser:

  1. the HTML5 Range element renders as a text input, but instead of an onscreen keyboard when the input area is selected, the browser displays a numeric input screen.
  2. it isn't necessary to enter "http://" every time I enter a URL into the location bar. The last I checked, this was still necessary on Tizen.
  3. the HTML Select element, when clicked, will popup a list of all options within the element and requires clicking an "OK" button after an option has been selected.
  4. the HTML Input type='file' simply renders a text input field and does not open a file selection dialog when clicked. hella weak.
  5. When bookmarking a webpage, there is an option to "add to homescreen" which I would expect to add a shortcut to the devices homescreen. This should really be called the "add to the shitpile of installed apps screen" instead. What really bothers me about this, is that the favicon of the site isn't used as the launcher icon. When the launcher is added to the quick launch bar, the lack of a unique icon makes it impossible to determine which shortcut is which.
  6. When a javascript 'prompt()' occurs, the resulting prompt input field is not auto-selected and the keyboard isn't available yet. The user is forced to take the extra step of selecting the prompts input field before entering text. They should probably get rid of this is unnecessary step.

Other software

Aside from the browser, I have used the camera (which works, unlike Tizen) and the audio player (which is adequate but not very intuitive).

All things considered, this $80 device is far more usable than I thought it would be.

Comments
2013-08-25 timttmy:
I'm forcing myself to use it for a week as my primary phone in the quest to find the device to finally be the upgrade to my N900. After using it for a 3 days I've come to the conclusion that it;
A, needs a hardware keyboad.
B, needs some sort of VTE.
C, Would be nice to have a python interpretor.

Conclusion. Well it's a bit early in the week for conclusions, but It's not going to replace the n900 yet. Nothing can. It's hardware is so far outdated by newer devices it's just not funny and Android has some neat features, but there is still no device to replace it's sweet debian ass.

Ohh, the one awesome feature that firefox OS has by default is wifi/usb tethering, and it's the reason I had to buy the ZTE. I had previously bought a geeksphone keon, an almost identically speced device for tinkering with, but trials at work in a remote office went so well (long storey) the device is used to connect a laptop to the main office via VPN. I know other devices are capable of tethering, but firefox tethering remains enabled even after restart/reboot so makes it awesome for non-technical users.

Verdict: Awesome if used as a Mifi

-timttmy
2013-08-25 jezra:
Except for the lack of GNU tools and a terminal, and all of the other goodies I expect from a Linux system, the ZTE Open is close to a semi-decent replacement for the n900.

The n950 would probably be a decent replacement for the n900.
Name:
not required
Email:
not required (will not be displayed)
Website:
not required (will link your name to your site)
Comment:
required
Please do not post HTML code or bbcode unless you want it to show up as code in your post. (or if you are a blog spammer, in which case, you probably aren't reading this anyway).
Prove you are human by solving a math problem! I'm sorry, but due to an increase of blog spam, I've had to implement a CAPTCHA.
Problem:
4 plus 5
Answer:
required
2013-06-03

It was many moons ago, and I was living in a warehouse in Vancouver, British Columbia. The alarm clock that I owned had a power outlet attached to it and power would be supplied to the outlet when the alarm went off. I almost miss that alarm clock. Almost.

The set up was something like the following:

  1. a multi-plug extension chord was plugged into the clocks power outlet
  2. a lamp was connected to the extension chord
  3. a record player was connect to the extension chord
  4. a record of Grieg's Peer Gynt was on the record player

When the alarm went off, the lights came on, and Morning began playing on the record player.....

[jump forward about 20 years]

A few things to note about the devices connected to my home network:

  1. The media playing computer connected to my stereo is running MuttonChop (which has a web API)
  2. There are lights in my home that are controlled over the network thanks to GLMR
  3. The Ruby Web Alarm Project makes it fairly simple to run commands at a specific time.

Add all of these things together, and I can now set an alarm that, at a specific time, will fade on the lights and fade into Morning Mood on the stereo. Ahhhhh, now that's the good stuff (and a great way to wake up)!

When I talk about making things web accessible, this is what I'm talking about; an open API that will allow just about any device with a web browser to behave as a remote control, and will also allow anyone with a bit of programming experience to write an application that will turn on the lights, or play a favorite tune, or do something else that suites the needs of the user.

Now, I need to find a way to automate the brewing of coffee in the morning...

Comments
Name:
not required
Email:
not required (will not be displayed)
Website:
not required (will link your name to your site)
Comment:
required
Please do not post HTML code or bbcode unless you want it to show up as code in your post. (or if you are a blog spammer, in which case, you probably aren't reading this anyway).
Prove you are human by solving a math problem! I'm sorry, but due to an increase of blog spam, I've had to implement a CAPTCHA.
Problem:
1 plus 5
Answer:
required
2013-04-12

Sometimes I start working on projects, talk about the projects for a bit, and then for some reason, I stop talking about the projects. Allow me to remedy that situation.

Code

Heybuddy

On April 4th, Heybuddy Identi.ca client version 0.2.5 Westerlo was released. There wasn't too much added, but there was a fix to an n900 bug that I wanted to make sure was available to everyone.

MuttonChop

MuttonChop also saw a new release: 0.1.4 "Sleepy Hollow". The big items from the changelog:

  • can compile headless (hence "sleepy hollow" hahaha)
  • switched to cmake
  • added server_port to config
  • added server_request_timeout to config
  • added "player/mute" to API
  • added "player/unmute" to API
  • added "queue/add" to API
  • added "queue/delete" to API
  • added "queue/list" to API

The build system was switched from Automake to Cmake in order for me to keep my sanity and enable compiling headless.

The 'headless' compiling allows a user to get a version of MuttonChop without video output support. A big thank you to Jon Kulp for supplying the coffee that fueled this update. Jon also made some scripts that make installing dependencies and compiling for Debian on a Raspberry Pi nice and easy. He also created an init script so that MuttonChop will run at startup. Both of his scripts are now in MuttonChop trunk in a directory called "scripts".

Currently, it is only possible to access the Queue through the mobile interface (and the API of course). The next release of MuttonChop will have a single Web UI and it will most likely be written using jQuery UI.

Blather

What started as a basic commandline speech recognizer is still a basic speech recognizer, but now it has a PySide based UI as well, and it runs just fine on the Desktop and mobile devices that are decent enough to run Qt apps.

The code for blather is available on gitorious. On the night that the blather code was first made public, I sent a link to the code to Jon Kulp. The next morning, I awoke to find that he had created a video of him using Blather.


AWESOME!

Hacker Public Radio

Although this isn't really code related, it is definitely community related.

After recording a "How I got into Linux" Episode for HPR, I thought I should share my recording experience with other and on April 9th, I gave a presentation at the North Bay Linux Users Group that was an introduction to HPR and and overview of recording audio using Audacity. I had a great time presenting and I think I managed to answer every Linux question that was asked during the evening.

Now quit reading, and go be a Blathering Blatherskite! hahaha

Comments
Name:
not required
Email:
not required (will not be displayed)
Website:
not required (will link your name to your site)
Comment:
required
Please do not post HTML code or bbcode unless you want it to show up as code in your post. (or if you are a blog spammer, in which case, you probably aren't reading this anyway).
Prove you are human by solving a math problem! I'm sorry, but due to an increase of blog spam, I've had to implement a CAPTCHA.
Problem:
9 minus 6
Answer:
required
2012-07-23

My n900 is starting to get a bit dated, the camera doesn't work like it used to, the web browser hasn't been updated in a few years, and the processors isn't quit as powerful as I'd like. Therefore, I've decided that it is time to look for a replacement.

There are a few things that the replacement will need:

  1. A GNU+Linux operating system (preferably one with a decent package manager)
  2. A camera for taking pictures and video
  3. Audio out, so I can play music in my car
  4. A terminal emulator, I need command line access
  5. (bonus) Video out

Oh yea, the replacement will need to fit in my pocket.

After scouring the interwebs for a possible replacement, I stumbled upon the Archos 43, a 4.3 inch tablet running Android. Android? What about GNU+LInux? Good question.

The Archos site has a page about using the device as a pocket computer and in nice big bold letters it says Dual boot between Linux Android™ and Linux Ångström for extra freedom of use. Dual boot with a GNU+Linux distro? don't mind if I do! .... and I placed my order. Actually, the plan was to only boot the device into Linux and skip that Android crap.

Eagerly I awaited the arrival of the device, and this is where things get interesting...

Instead of sending me one device, three tablets were sent to me; in separate boxes. When I received 3 different email notifications that my package had shipped, I immediately emailed Archos Support to determine what was happening. They never responded. This was the first red flag.

Eventually, the devices arrived and I unboxed one that I was planning on keeping. Within the box was the tablet, a case for the tablet, a USB cable for charging and data transfer, and a user's manual. After plugging in the device to charge the battery, I started reading the manual to figure out how to boot the device into Linux. One of the first things that I read was that the tablet can be used while charging, so I turned it on in the hopes that I would see a boot menu allowing me to boot into Linux.

Unfortunately, there was no such menu and there was absolutely nothing in the user's manual about booting into Linux. On a side note, the manual does say that an LED will display the charging state of the device and this is true, until the device is turned off. Either the device does not charge when it is turned off, or the charging LED doesn't activate when the device is turned off. Regardless or which is correct, to me this is a design problem.

Since there was nothing in the user's manual regarding dual boot, I had to contact support. Archos has a decent online chat support, and that may be the best thing I have to say about the company. The support agent informed me that I would need to pay a 15% restocking fee for the two extra tablets that Archos sent me by accident. Seriously, they asked me to pay for their mistake. No thanks. Now it gets even worse.... In regards to the dual boot, I was informed that in order to get the tablet that is advertised as dual bootable to actually dual boot, I would need to install a custom firmware and void the warranty of the device. It's a damn shame that on the page that advertises the dual boot capabilities of the tablet that there isn't some warning that doing so will void the warranty. There is also no link to the page where one can download the dual boot firmware. In fact, there is nothing in the Archos FAQ about dual boot, and there is nothing in the documentation about dual boot.

Since the only way to use Linux on the device requires voiding the warranty, I decided to return the Archos 43. It should be known that I have no problem voiding warranties, I do it all the time. However, I purchased the tablet specifically because it was advertised as being dual boot with Linux and yet the tablet did not ship with Linux,. and therefor I could not, in all honesty, keep the device and give my support to Archos.

Shame on you Archos.

If anyone knows of a Linux device capable of replacing my beloved n900, please let me know.

Rock on, and keep shit sweet

Comments
2012-07-23 Thomas Jollans:
I know you're not going to do it, but you could get an Android device (that's the Linux requirement for you), install a terminal emulator, and bolt on a few GNU tools. (Which would make it GNU+Android+Linux)

Yes, I know this is not what you're looking for.
2012-07-23 Jake Roberts:
Welcome to my world. Android sounds like Linux in your pocket, until you get one. Currently, the closest thing to what you want might a Android gadget with Ubuntu for Android. http://www.ubuntu.com/devices/android Basically you run the image in a loop and access it via VNC. It's not great, but it's better than nothing.
2012-07-23 Cyber Killer:
Wait for something from Jolla Mobile. They promise to deliver in the next few moths, your n900 should live that long easily and I have a hunch that it'll be worth waiting.
2012-07-23 jezra:
The problem with waiting for Jolla, is that I have no idea what sort of devices they are going to produce. The chances are very high that they will only produce a mobile phone without a physical keyboard, and if I'm going to pay upward of 3-400 dollars for a pocket computer, it better have a real keyboard.
2012-07-24 Cyber Killer:
I'd say the chances are high that it's going to have a physical keyboard. Those are the n900 & n950 guys. I'd even be willing to bet my beard that the first thing they're gonna put out is going to be targeted at the geeks & devs.
2012-07-27 Alison Chaiken:
The Vivaldi must be the tablet you're looking for.
2012-07-27 Thomas:
Sad to hear you had problems with that. Although I have to say that it should have been fairly easy to find the openAOS project and our efforts to provide exactly the experience you were asking for.
Also Archos has _never_ refused warranty for devices that had SDE installed. (unless ofc you go and wipe the boot loader and turn it into a brick, that would be abuse of warranty)
So if you can emotionally still accept the device, I'd be happy to help you. Contact me e.g on IRC #openpma (freenode)
2012-07-27 jezra:
Alison, the vivaldi probably won't fit in my pocket.
2012-07-27 jezra:
Thomas, while the openAOS project may be in line with my desired end result, using a third party solution to get a device to do what it is advertised to do is not what I am looking for.
Name:
not required
Email:
not required (will not be displayed)
Website:
not required (will link your name to your site)
Comment:
required
Please do not post HTML code or bbcode unless you want it to show up as code in your post. (or if you are a blog spammer, in which case, you probably aren't reading this anyway).
Prove you are human by solving a math problem! I'm sorry, but due to an increase of blog spam, I've had to implement a CAPTCHA.
Problem:
3 minus 3
Answer:
required
2012-07-15

Creating a mobile platform where 3rd party developers are expected to write applications using HTML and JavaScript may seem like a quick and easy way to get a lot of applications created for the platform; and in this day and age, a platform without a plethora of apps available when the the platform launches is going to die a quick death. But is HTML really the best route to choose?

From what I can tell, the main advantage of requiring apps to be developed using web technology is the low barrier to entry; anyone with a text editor and a standard compliant web browser can write and test an HTML and JavaScript application. While this would certainly allow for the creation of a lot of applications for a platform, from a proprietary software developers point of view, creating an HTML/JavaScript application for a software store may not be a good idea (or at least that's what I gather).

Suppose a developer doesn't want anyone to have access to the code of a newly developed app. If the app in question is created using HTML and JavaScript, it will be fairly easy to gain access to the JavaScript text file. Even if the code is obfuscated, it will still be reusable by anyone with the know-how. In order to keep code logic in an HTML/JS application from being viewable, the code would need to reside on a external server and be accessible through an API. While this solves the problem of the code in an app being viewable by all, it leads to what I consider a more significant problem: the application will only work when there is an internet connection. While it is certainly possible that the app is question will be installed on a device that can easily connect to the internet, there will always be a time when the internet isn't accessible and from a consumers point of view, if I buy an application and can't use it because the internet is inaccessible, I would be extremely displeased, especially if the application doesn't need to be connected to the internet.

So what is the solution? Simple; develop a native application.

Speaking of putting code on a remote server..... If a developer has to put some of their code on a remote server, why wouldn't the developer put all of the code on the remote server? To rephrase the question: why make an HTML5 application for a platform specific app store when it is probably just as easy to create a website, with an interface designed for mobile devices, that can be used by any mobile device with a compliant web browser? Write it once, and let it be used/accessed by mobile and traditional computers. Win!

There may be a very compelling argument for why creating HTML/JS application for a specific platform is a good idea, but I don't know what it is, and until I hear otherwise, I will always prefer developing native applications when the target is a single platform.

Comments
Name:
not required
Email:
not required (will not be displayed)
Website:
not required (will link your name to your site)
Comment:
required
Please do not post HTML code or bbcode unless you want it to show up as code in your post. (or if you are a blog spammer, in which case, you probably aren't reading this anyway).
Prove you are human by solving a math problem! I'm sorry, but due to an increase of blog spam, I've had to implement a CAPTCHA.
Problem:
9 minus 1
Answer:
required
2012-07-03

Chop Chop

On June 26th, MuttonChop 0.1.1 was released. This is the first point release of the software, and there were a few necessary steps to take before the point release could be developed, the most important of which is the shift to Automake for compiling the software.

Typically, when coding with Vala, I will write a small shell script named build to compile the application using the Vala compiler. While this is fine for small projects that will only exist within my home network, MuttonChop should be fairly easy to compile for non-Vala users. By using Automake, the Vala code for MuttonChop can be distributed as C code that is compiled in the "./configure && make" fashion. This allows the code to be more easily packaged for various Linux distributions that may or may not have the Vala compiler available.

Stop! It should be noted that I don't like Automake. I find it cryptic and difficult to work with. Fortunately it only needs to be set up once, and with the help of the Anjuta IDE, I set up a fairly simple Vala project with Automake and I then converted the project to use the MuttonChop Vala code.

Should They Be Separated?

One of the quirky things about developing MuttonChop is the inclusion of a web interface. To me, the Server and the UI are two very different entities and while I think the Server should ship with some sort of UI, I keep thinking that the UI should be a separate coding project.

When the project started, the Web UI was developed in step with the server so that I would always be able to access new server functionality right away. However, now that the server code development has matured, the major updates to the project will probably be in the UI functionality and it doesn't seem right to create a new server point release when the only update is to a CSS file.

Almost Mobile

While the web interface to MuttonChop certainly gets the job done, the UI doesn't scale well to mobile devices and thus was born the MuttonChop Mobile Web UI which is a drop in replacement for the default web UI. Unfortunately, quite a few mobile devices run Android or iOS, both of which have a really crappy non-compliant web browser, and since I don't own one of those devices, I made sure the mobile UI works with my n900. Wanna see some pictures?

The reason that you aren't seeing an image of my n900 is because the n900 was used to take the pictures.

  • Browsing videos on an n810
  • Browsing audio in a Tizen developer device
  • The player on the Tizen device (the Tizen web browser does NOT render a working HTML5 range tag)
  • The player on the Tizen device and a Neo Freerunner

The Future?

  1. find a nice small playback device to run MuttonChop on
  2. write a native-ish app (most likely in python and a as yet undecided GUI toolkit)

Now quit reading and go hack some code.

P.S. send me a picture of the Mobile UI on the n900.

Comments
2012-07-03 Marshall:
Howdy buddy, MCMUI on the N900.
http://micro-timttmy.dyndns.org/gallery/plugins/viewer/view.php/General/MuttonChopN900.png

A brace of N900s
http://micro-timttmy.dyndns.org/gallery/plugins/viewer/view.php/General/MuttonChops.jpg

Cheers!
2012-07-03 jezra:
thanks buddy!
Name:
not required
Email:
not required (will not be displayed)
Website:
not required (will link your name to your site)
Comment:
required
Please do not post HTML code or bbcode unless you want it to show up as code in your post. (or if you are a blog spammer, in which case, you probably aren't reading this anyway).
Prove you are human by solving a math problem! I'm sorry, but due to an increase of blog spam, I've had to implement a CAPTCHA.
Problem:
1 minus 0
Answer:
required
2012-05-20

On May 2 I took my first picture of my sweet Camp NaNoWriMo mug that I got from my work, and I said I would be "testing" the mug that weekend. The last time I tested a coffee mug from work, I had a great time, but I ended up with a broken, unusable mug. With that in mind, I decided not to go out of my way to destroy the new mug and I instead opted to do "camp" type things with my mug and bring the mug with me while going on adventures (which will probably result in the mug being destroyed: win/win!)

Welcome to the first Camp Mug Adventure

What happens at camp? boats!

At the River Heritage Center, maintained by the Friends of the Petaluma River, one can borrow a boat on Sunday morning and enjoy a paddle on the river. Guess what I did on my Birthday with my sweet Ladyfriend? ;)

Sturgeon General

Within the Heritage Center, there are quite a few canoes and rowboats to choose from, but with a name like "Sturgeon General", how can you not pick this boat?

On the Bow

I almost lost the mug in a very non-destructive way due to a clumsy fool trying to take a picture of a mug on the bow of a canoe.

People Enjoying the River

This guy was out for a paddle with his son. In hindsight, I should have waited a bit before taking this picture so that people could actually see the two people in the boat.

Dirty Litterbug Bastards

I like to put trash in it's place and I also like to enjoy nature in a semi-trash free way. This aerosol can is one less piece of trash in the river.

Give a hoot! Don't pollute.

Hi Sweety!

Trying to take a picture over my shoulder of my sweety, while trying to control a canoe, didn't turn out as well as I hoped.

P.S. sideburn

The Trash Haul

After 30 minutes or so on the river, we pulled in 2 plastic bags, a plastic soda bottle, a candy wrapper, a can of Steel Reserve, and a Jack Daniels bottle.

Ewww bourbon.

Garrrrr, Where Be The Booty?

There was some crinkly money in my pocket before I saw the donation box. Now the box is a bit more full and my pocket is empty.

Oh wow! I totally missed that sweet 80's style boombox when I was giving a donation.

Hoot Hoot!

The River Heritage Center is located in a historic barn and is the home of a barn owl. When the owl drops feathers, they are collected and displayed within the barn for all to see.

Who doesn't think the volunteers named the owl "Hedwig"?

Bookmark!

What can I say? I like books and all books need a good bookmark. Thanks to the Friends of the Petaluma River, I now have a nice new bookmark.

Eclipse

After returning home from the slightly cleaner Petaluma river with my new bookmark, sunburn, and fond memory, it was time to stare skyward at the eclipse.

With my eclipse glasses covering the camera on my Nokia n900, I took a few snaps of the eclipse, and I think this one was the best of the bunch. Hopefully I will have some better shots of the transit of Venus in June.

Ahhhhh, it's time for me to find some aloe or vitamin e for this sunburn.

Note: I am an employee of the Office of Letters and Light and we sell this mug in our store. As the saying goes, please take all references to the mug with a grain of salt (or with a nice non-sodium based flavor enhancer).

P.S. "Sturgeon General" hahaha ;)

Comments
Name:
not required
Email:
not required (will not be displayed)
Website:
not required (will link your name to your site)
Comment:
required
Please do not post HTML code or bbcode unless you want it to show up as code in your post. (or if you are a blog spammer, in which case, you probably aren't reading this anyway).
Prove you are human by solving a math problem! I'm sorry, but due to an increase of blog spam, I've had to implement a CAPTCHA.
Problem:
3 plus 6
Answer:
required
2012-05-18

On May 7th, I drove to the East Bay, hopped on BART, and headed in to San Francisco to attend the Tizen Developers Conference.

On the way into the city, I realized that I didn't bring a book with me. Being on BART without a book is lame. Fortunately, I have some sweet sideburns and someone on BART struck up a conversation with me about facial hair.

Off to a Good Start

Upon arriving at the Hyatt Regency in Embarcadero, I signed into the conference and picked up my swag bag.

Within the bag (which was a nice one strap backpack) was a t-shirt, a 16oz grown-up sippy cup, an international power adapter, and a sweet screwdriver tool. Any conference that promotes taking things apart is a good conference.

JezraCorp Was There

Highlights

  • A Golden Gate Bridge replica made out of toothpicks.
  • Scotch and a Lager with my new buddy Igor
  • Making a picture of my Tizen developer device terrible by including Igor
  • Thomas Perl on a Macintosh
  • the iConcierge throwing an Internet Explorer error

Humans

Within the first minute of being at the conference, I ran into Thomas Perl who I first met last year at the Meego Conference. It was Thomas who introduced me to Igor, a fellow code hacker and all around good guy. During Thomas' presentation about the http://gpodder.net API, I wrote a Ruby script to send MuttonChop cast sources to gpodder.net. For anyone interested, the code is availabe at http://hoof.jezra.net/snip/nZ.

At lunch, someone asked me where I was from. With a grin on my face, I answered "Petaluma, California". The question asker then apologized and clarified their question by asking "what company do you represent?" Is that a common thing? In some circles, does "where are you from" mean "who do you work for"? If so, I don't want to be in those circles.

One of my pet peeves, is when people think "what do you do" means "what do you do for a living". It doesn't. To me it means "what do you do", and when I'm asked that question, I start rattling off my hobbies because it is what I do for fun that defines who I am. Judge me by what I do in my free time and not what I do to pay my bills. OK, back to the conference.

Keynotes

The keynotes were definitely geared towards businesses and not towards programmers such as myself. Apparently the keynotes are online, and if you watch them, drink whenever someone says "cloud", "html5", "monetize", or "purchase". It was fairly obvious that Samsung and Intel really want to get into the "app store" business with Tizen. And that brings me to.... a reassessment of my opinion.

In September of 2011 I wrote http://www.jezra.net/blog/Dont_turn_Tizen_into_WebOS where I lamented the push to get developers to only write in JavaScript. After attending the conference, my opinion has not changed.

Since I am interested in Tizen as a replacement for my n900, I would need to replicate all of the functionality of my n900 in Tizen. One of the first things that would be on the list: using rsync to copy the device's camera image storage directory to my home server. Without access to the command-line, there is no access to rsync. Therefor JavaScript is the wrong tool for the job. I would definitely prefer to code using efficient compiled libraries instead of using interpreted language libraries when targeting a platform where battery life is important.

Developer Device

At the end of the conference, developers were given a prototype device for testing HTML5 apps... out of the box, that is all it is good for. However, some people (myself included) are interested in developing applications that are not JavaScript based, and this requires using the Tizen Scratchbox Build System. Don't get me started on what a pain in the ass it is to set up the build system on a non-Ubuntu system, or the hoops required to ssh to the device.

After reading about Thomas Perl putting python on the Tizen device, I tried my hand at compiling and installing Ruby on the device (it went well). Since the device only has busybox vi for command line text editing, my next installation was Nano.

Let me be clear on this; the device is for testing HTML5 and JavaScript. However, I like my hardware to be useful and "useful" to me, when referring to a GNU+Linux device, means the ability exists to access command line apps and use some sort of package manager to install/upgrade system software.... like my N810 and N900 can do.

P.S. Don't call it a phone, unless you can confirm that the device can actually make calls. Similarly, saying the device has a camera is a bit of a falsehood. Sure, there is what appears to be a camera on the device, but there is no camera application, the Tizen JavaScript API has no access to a camera, and try as I might, I couldn't get gstreamer to access the camera from the command line.

It's Over

All good things must come to pass, and this conference was no exception. After walking a few blocks to a local pub, a bunch of devs and myself enjoyed a cold beverage and chatted about code.

Now I need to find that sweet screwdriver, and take the developer device apart.

Comments
Name:
not required
Email:
not required (will not be displayed)
Website:
not required (will link your name to your site)
Comment:
required
Please do not post HTML code or bbcode unless you want it to show up as code in your post. (or if you are a blog spammer, in which case, you probably aren't reading this anyway).
Prove you are human by solving a math problem! I'm sorry, but due to an increase of blog spam, I've had to implement a CAPTCHA.
Problem:
4 minus 2
Answer:
required
2012-05-16

On February 9, 2012 I showed off the Freedom Jar, a coin jar for my pocket change, that when full will be donated to a non-profit organization that promotes freedom. Well guess what?

The Jar is Full

This is all of the change in the jar.

For some reason, I had the uncontrollable desire to dump the change on the floor. Messy is good.

It's Not Going Back In

Try as I might, I couldn't get all of the change back in the jar.

How does that happen? It doesn't matter. The change was put in a bag and off I petaled to the nearest Coinstar machine. Hey Coinstar, please put the EFF on your machines as a charity.

$35.97

In total, the jar held about 39 dollars, and after Coinstar took their cut I had $35.97 to give to a non-profit organization that promotes freedom.

When I handed my receipt to a cashier in order to collect my loot, the cashier asked if I had 3 pennies. Hey, if I had 3 pennies, I would have put them in the Coinstar machine.

There was a 1958 dime that was rejected by the machine so I decided to keep it.

When I petaled home, I got online and donated $35.97 to the Electronic Frontier Foundation, an organization that fights for internet freedom.

Thank you EFF. Thank you very much.

Comments
Name:
not required
Email:
not required (will not be displayed)
Website:
not required (will link your name to your site)
Comment:
required
Please do not post HTML code or bbcode unless you want it to show up as code in your post. (or if you are a blog spammer, in which case, you probably aren't reading this anyway).
Prove you are human by solving a math problem! I'm sorry, but due to an increase of blog spam, I've had to implement a CAPTCHA.
Problem:
1 minus 0
Answer:
required
2012-05-14

While working on MuttonChop, I was unhappy with the way that the Web UI updated based on the state of of the player. The reason for my displeasure, was the use of polling to determine the player state.

In pseudo-code, the polling is something like the following:

function check_player_state
    //get the player state
    state = get_player_state
    //parse the state and update the UI accordingly
    update_web_ui ( state )
    //sleep for 2 seconds
    sleep 2
    //check the state again
    check_player_state

Every 2 seconds, the Web UI checks the player state and then updates the UI.

Obviously I could shorten the polling time, but this leads to two issues that I'd rather not deal with.

  1. Constant polling creates far too much network traffic for my tastes.
  2. The steady amount of pulled data forces the client to work to much. If the client is running on a mobile device, this will cause unnecessary battery usage.

The solution, at least for me while coding MuttonChop, was to use a push technology known as Server Sent Events, which are part of the HTML5 specification.

In a nutshell, Server Sent Events work as follows:

  1. a client makes a connection to a server
  2. when the server has new data for the client, the server sends the data over the connection for the client to process

When not processing events, the client can be idle and save battery life (hopefully).

A Real World Scenario

While listening to music, when the track changes, the client interface should show the new track title and artist.

With polling, it may take 2 seconds for the UI to display the change.
With Server Sent Events, the update is almost in realtime.

The usage of Server Sent Events can make a sluggish polling based UI much more responsive to user interaction, and when dealing with Web apps, this speed up in responsiveness is very noticeable.

Client Support

Not all clients support Server Sent Events (in JavaScript terms, it is called EventSource). For example, the browser on my n900 doesn't support EventSource, and apparently the next version Internet Explorer doesn't support it either. fancy that.

In the case of MuttonChop, both polling and Server Sent Events are used. When the Web UI is first accessed, a line of JavaScript detects if the client can use EventSource. If the client can not use EventSource, the UI falls back to using polling.

Since the connection for using Server Sent Events uses HTTP and the data is transferred as text, it should be fairly easy to write programs to process the events using any language that has an HTTP library.

To see what the events look like for MuttonChop (if you are interested in such things), open the command line and curl the "events" url of a playing muttonchop machine.

curl MUTTONCHOP_HOST:2876/events

Taking this a step further, open a few connections to a MuttonChop server using a web browser or the curl method mentioned above, and change the volume on one client; the other clients should update the volume bar almost instantaneously. sweet sauce!

A great introduction to coding using Server Sent Events is available at http://www.html5rocks.com/en/tutorials/eventsource/basics/

Until later, happy hacking!

Comments
Name:
not required
Email:
not required (will not be displayed)
Website:
not required (will link your name to your site)
Comment:
required
Please do not post HTML code or bbcode unless you want it to show up as code in your post. (or if you are a blog spammer, in which case, you probably aren't reading this anyway).
Prove you are human by solving a math problem! I'm sorry, but due to an increase of blog spam, I've had to implement a CAPTCHA.
Problem:
6 minus 6
Answer:
required
2011-11-14

Lacking Memories

It dawned on me the other day that I don't have any memories of playing video games with my sister. I have memories of playing video games with my brothers, my mother, even my grandmother, but not my sister. How does that happen?

Remedy the Situation

After explaining the problem with my sister, she agreed to come over for a bit of pixelated play, and she asked if we were going to be playing "mario". Obviously she thought we were going to play one of those new game systems. Ha!

The first game system that I chose to play was an Atari C-380 video pinball machine; manufactured in Sunnyvale California in 1977 or 1978. While playing "Breakout" on the system, once all of the blocks on the screen are gone, there is no next level. What a bunch of crap. Who do I report the bug to?

After a few rounds of game play, it was time to move on to the next system.

Oh yea, the 2600. Actually this is an Atari Video Computer System manufactured in Sunnyvale. Did I mention that my sister brought along a 12er of blue ribbon? Well she did.

Battlezone, Centipede, and Missile Command were the highlights of the day. pew pew pew

Mission Accomplished

Eventually, the time came for my sister to go home and while I can't speak for her, I now have a damn fine memory of playing video games with her.

Now quit reading, and go play some pong.

Comments
2011-11-15 jrobb:
I've got one of those 2600's too! two of them, actually..though only one works. or did the last time I saw it in my parents' basement.
2011-11-18 Marshall:
I wish I still had my 2600. Ghostbusters FTW!!
2014-01-07 claudiom:
I need to find myself a 2600 to play some of the old games I still have stored in the closet. I still have the old N64 and GameCube that I pull out from time to time to play some quasi-old games, but obviously nothing as nostalgic as the 2600. That, and a ColecoVision. Absolutely loved that console.
2014-01-07 jezra:
I will sell you a 2600 for hella cheap. ;)
2014-01-07 claudiom:
Time to fill up the coin jar again....
Name:
not required
Email:
not required (will not be displayed)
Website:
not required (will link your name to your site)
Comment:
required
Please do not post HTML code or bbcode unless you want it to show up as code in your post. (or if you are a blog spammer, in which case, you probably aren't reading this anyway).
Prove you are human by solving a math problem! I'm sorry, but due to an increase of blog spam, I've had to implement a CAPTCHA.
Problem:
1 plus 6
Answer:
required
2011-11-11

I Never Trust the Asterisk

In my mail recently was a flyer from a local internet service provider. The first thing that caught my eye on the flyer was the asterisk next to the price. $39.95*, and I assumed that after 6 months, the price would go up. Then I actually read what the asterisk represented: *NOT an intro price!

Wait...what? seriously? Yea, go read that again.

Who is that honest when dealing with customers? Sonic.net, that's who.

In order to quell my disbelief, I called sonic.net customer service to ask a few questions. Mostly, I wanted to know if the service would require me to still pay AT&T a monthly bill. As soon as the service rep said "no", I was sold.

Previously, I was paying $35 a month for slow internet access with terrible support and I needed to pay another $20 for the required phone line through AT&T. Now that it is possible to not pay any money to AT&T for phone service, I switched over right away.

So?

Now, for about $15 less than I was paying before, I have internet access that is 10X faster, and I don't have to give any money to those law breaking AT&t bastards, and my money is staying in the local economy. Booyah!

If I need tech support, I pick up my phone and dial 611 and I talk to someone 20 miles away from me. Now that is what I call a local company. My only complaint is that I didn't switch sooner.

Note: I do not work for or represent sonic.net in any way. Simply put, I am a very satisfied customer. If you live in the North Bay, you owe it to yourself and your community to switch to a Sonic.net, and if you live elsewhere, you should switch to a local provider.

Comments
2011-11-12 jrobb:
is the phone company stuff regulated out there? here we are limited to whatever phone carrier is in our district. The one here sucks pretty bad (step down from AT&T), so we don't even have a phone. And we get our internet through the evil TWC.

I WISH we could sign up with a decent local provider.
2011-11-14 jezra:
For the most part we are limited to whichever company owns the lines. Sonic is the only company to step up and offer a real alternative.
Name:
not required
Email:
not required (will not be displayed)
Website:
not required (will link your name to your site)
Comment:
required
Please do not post HTML code or bbcode unless you want it to show up as code in your post. (or if you are a blog spammer, in which case, you probably aren't reading this anyway).
Prove you are human by solving a math problem! I'm sorry, but due to an increase of blog spam, I've had to implement a CAPTCHA.
Problem:
5 plus 8
Answer:
required
2011-09-24

An old picture

In the early 70s, my grandfather purchased a wooden chair for my mother, and, as luck would have it, a picture exists of Mom holding me on her lap while she was sitting on the chair.

Damn, what a grumpy looking kid.

A bunch of years later

As luck would have it, Mom still owns the chair. On a visit earlier this year, I thought it would be a good idea if to take another picture of Mom holding me on her lap while she was sitting on the chair.

Damn, what a grumpy looking kid.

Now quit reading, and go be grumpy.

Comments
2011-09-24 Anonymous:
haha - nice
Name:
not required
Email:
not required (will not be displayed)
Website:
not required (will link your name to your site)
Comment:
required
Please do not post HTML code or bbcode unless you want it to show up as code in your post. (or if you are a blog spammer, in which case, you probably aren't reading this anyway).
Prove you are human by solving a math problem! I'm sorry, but due to an increase of blog spam, I've had to implement a CAPTCHA.
Problem:
5 plus 6
Answer:
required
2011-07-21

Lucky Socks

[play the A-Team theme] Whenever I hear the word "plan", the theme to the A-Team start playing in my head, and my buddy said the plan is to visit the Pacific Pinball Museum. For this adventure, I felt that a nice pair of jack-o-lantern socks would help me get through the day.

One hour and $15 later, 5 buddies and I rolled into Alameda all set to flip out. Oh man, that was punny.

Old Stuff

This is one of the machines that was so old/rare that no one was allowed to play or touch it. There were about 6-8 machines that were in this age category.

Still Not New

If I recall correctly, this machine was built in 1952 and was the oldest machine that I played. The machines from the 50s and 60s are very mellow and slow. They could be sped up by adjusting the leg lengths, but that would lead to the games needing to be serviced more often.

Clear Machine

This machine from the early 70s has most, if not all, of the printing removed form the paneling and it gives quite an interesting view of the internals of a pinball machine. Pretty sweet.

Tommy?

There were two machines in the museum that were based on a Tommy theme. The Wizard was one of them. When I make a pinball machine, I'm going to base the machines theme on pinball. Damn, that would be so meta.

Elton John

Yup, it's Captain Fantastic himself in all of his electromechanical glory. Hey! Just above his right foot, what the hell is going on?

Dirty?

Oh the 70s: disco, turtlenecks, a stoked dude with an afro, and lightning bolts flying out of someones eyes. That's what I call "the good old days".

As far as I can tell, the mission was a complete success. I love it when a plan comes together!

Comments
Name:
not required
Email:
not required (will not be displayed)
Website:
not required (will link your name to your site)
Comment:
required
Please do not post HTML code or bbcode unless you want it to show up as code in your post. (or if you are a blog spammer, in which case, you probably aren't reading this anyway).
Prove you are human by solving a math problem! I'm sorry, but due to an increase of blog spam, I've had to implement a CAPTCHA.
Problem:
9 minus 2
Answer:
required
2011-05-30

The Boxes of Loot

A friend said that he had a few boxes of electronic components that he needed to pass on to someone interested in that sort of thing. A few hours later, I was unpacking and sorting components. Let me tell you, I will probably never need to buy another resistor, capacitor, or voltage regulator ever again. There were quite a few timers, potentiometers, switches, and op-amps as well.

The story goes something like this: A tinkerer passed away and instead of just throwing out all of his collected bits and pieces, they were passed on to someone who will continue to tinker and create. I never met the man who previously owned these things, but I know him.

Code

Hidden within the boxes was a Sinclair ZX81 complete with a 16 Megabyte RAM cartridge and programming manual. A spool of punched tape that looks like part of a really old computer program.

He was a hacker.

Fix and Adjust

No, it's not a pack of matches, it is a small portable sewing kit with a nice selection of thread, needles, and a spare button.

He liked having his record player adjusted properly. Damn, I wish I knew what records he put on that player.

Burn and Break

Perhaps he smoked; maybe he just used a zippo lighter for shrink wrapping wires. Either way, this last flint will be going into my grandfather's zippo lighter and will be used to shrink wrap wires.

When I found the wooden mallet, my heart was filled with joy. At some point in the creation process, it is necessary to destroy something (or smash something into place).

Other Tools

Aside from the mallet, there were few other tools within the boxes. However, there was a nice Chatillon brand scale that I will be using to measure priming sugar for my homebrew, and there was also a bottle opener (which I just used to open a bottle of homebrew).

Like I said, I never met the man, but I know him, and I certainly hope that when my time is up and my main loop exits, someone picks up my knick-knacks and builds some neat shit.

Now quite reading, and go make something ( or smash something with a mallet ).

Comments
Name:
not required
Email:
not required (will not be displayed)
Website:
not required (will link your name to your site)
Comment:
required
Please do not post HTML code or bbcode unless you want it to show up as code in your post. (or if you are a blog spammer, in which case, you probably aren't reading this anyway).
Prove you are human by solving a math problem! I'm sorry, but due to an increase of blog spam, I've had to implement a CAPTCHA.
Problem:
7 minus 4
Answer:
required
MCM_468x60_static
2011-05-10

Let me tell you about the wrench

Quite a few months ago, some tweakers near my buddy's house were having a yard sale, and one of the things they were selling was a big rusty wrench. When I first laid eyes upon said wrench, my heart went aflutter and I knew I needed to make the wrench mine.

Two dollars later, and I was the proud owner of a 12 inch forged steel adjustable wrench manufactured by the Diamond Tool and Horseshoe Co. of Duluth Minnesota.

Fast forward to May 6th, 2011 and the wrench was featured in my coffee a day photo project. Since I had already started taking pictures of the wrench, I figured it would be a good idea to take the wrench with me on travels of the day and document the action.

The wrench saw:

  • the dash of a '66 Rambler
  • a new leather jacket
  • the front door of a buddy's home
  • a cool little buddy
  • a buddy's recycling
  • a post-shred stack
  • a mean burrito
  • some scotch on the rocks
  • my buddy, stoked on Lord of the Rings
  • me drinking a gross "zanetini"
  • Addams Family pinball

In Conclusion

All in all, it was a pretty good day and I'm glad the wrench tagged along for the ride. To be honest, just about any day that ends with some pinball is good day.

Comments
2011-05-23 stach:
awesome
Name:
not required
Email:
not required (will not be displayed)
Website:
not required (will link your name to your site)
Comment:
required
Please do not post HTML code or bbcode unless you want it to show up as code in your post. (or if you are a blog spammer, in which case, you probably aren't reading this anyway).
Prove you are human by solving a math problem! I'm sorry, but due to an increase of blog spam, I've had to implement a CAPTCHA.
Problem:
3 minus 0
Answer:
required
2011-05-05

In case you haven't heard, Google is being sued for location tracking of users of Android based phones. The issue of location tracking seems to have become a major issue after it was revealed that Apple iPhones were storing user location data.

What I find most disturbing about this location tracking, is the ease with which police officers in my state (California) can search cell phone data in what I consider to be a violation of the Fourth Amendment of the U.S. Constitution. Similarly disturbing, is the ease with which police in Michigan can extract data from a cell phone.

When I first started reading about the Android and iPhone location tracking boondoggles, I wondered why no one seems to have brought up the issue before, and then I remembered that someone did voice a concern three years ago in April of 2008 at LUGRadio Live SF... http://video.google.com/videoplay?docid=978330426609998208 skip to 51m14s

and that someone has the golden voice of an angel.

Now quit reading, and go to a conference and let them know that something scares the shit out of you.

Comments
Name:
not required
Email:
not required (will not be displayed)
Website:
not required (will link your name to your site)
Comment:
required
Please do not post HTML code or bbcode unless you want it to show up as code in your post. (or if you are a blog spammer, in which case, you probably aren't reading this anyway).
Prove you are human by solving a math problem! I'm sorry, but due to an increase of blog spam, I've had to implement a CAPTCHA.
Problem:
2 plus 9
Answer:
required
2011-04-09

Getting my slack on

I've been a bit too busy this month to really write about various shenanigans, so I thought I should give an update on some stuff.

Well, it is that time of year again: The Script Frenzy! Script Frenzy is a creative writing challenge where one needs to write a 100 page screenplay/stageplay in the month of April; that's an average of 3.3 pages a day. Yea, I'm really really far behind and that's OK. I'll bring the thunder in the last week. Right now I'm busy finding ways to procrastinate and not write my script.

NOTE: I am employed by the Office of Letters and Light, the creators of Script Frenzy (and NanoWriMo); so take this all with a dash of your favorite non-sodium based flavor enhancer.

Holy crap! Dirt Kurt took me to Honduras. Aside from being a pedaling machine, Kurt is a great teller of tales. If you ever get the chance to have a coffee or beer with him, I highly suggest taking advantage of the opportunity.

Speaking of coffee

Since March 23rd, I've been taking a picture of my morning coffee and posting the picture to http://coffee.jezra.net. The site is run by a very basic Ruby CGI script. I'll have to yammer about that in the future.

Yea well, that's about it.
Now quit writing blogs and go write a sweet movie script.

Comments
2011-04-12 eric Odgers:
http://www.youtube.com/watch?v=8s5PWdwHdHk
2011-04-12 jezra:
haha that's epic!
Name:
not required
Email:
not required (will not be displayed)
Website:
not required (will link your name to your site)
Comment:
required
Please do not post HTML code or bbcode unless you want it to show up as code in your post. (or if you are a blog spammer, in which case, you probably aren't reading this anyway).
Prove you are human by solving a math problem! I'm sorry, but due to an increase of blog spam, I've had to implement a CAPTCHA.
Problem:
2 plus 8
Answer:
required
2011-03-23

PhotobucketPreviously, on Jezra.net: http://www.jezra.net/blog/Traveling_Far; and now an update: Dirt Kirt and the wonderful Kelly are now in Guatemala, and they took me with them. Thanks buddies!

In case you were wondering, it's true: Kurt does have a tattoo of a heart with a banner that says "coffee". Damn, he must be getting the good fresh stuff.

Comments
2011-03-28 scum stach:
hell yeah straight to the source ! Kurt is the man
Name:
not required
Email:
not required (will not be displayed)
Website:
not required (will link your name to your site)
Comment:
required
Please do not post HTML code or bbcode unless you want it to show up as code in your post. (or if you are a blog spammer, in which case, you probably aren't reading this anyway).
Prove you are human by solving a math problem! I'm sorry, but due to an increase of blog spam, I've had to implement a CAPTCHA.
Problem:
2 plus 4
Answer:
required
2011-02-23

All Out of Coffee

Fortunately for me, I've been purchasing my coffee by the pound at Petaluma Coffee and Tea, and I filled my coffee card with enough stamps to get a free pound. Shazaam! Time to hop on the bike and take a ride downtown.

Oh It's a Bit on the Cold Side

As I learned a long time ago, it isn't "too cold" outside, you just don't have enough layers on. Sweatshirt, jacket, scarf and cap seem to be all that I need in Petaluma.

This sweet self portrait was taken while riding my bike.

The Destination

A fairly plain red building is at the end of my rainbow, and it is only about 1.5 miles from my home. Inside this unassuming building is where I get my favorite blend: Blues Breaker, and trust me, it certainly does keep the blues away.

A Peek Inside

Tables and chairs, a couch. Sit down, get comfy, and sip your coffee (or tea).

That red and gold contraption on the right is a coffee roaster and it is quite common to see the roast master working his bean magic with the device. On the left is a coffee plant that somehow manages to grow indoors in Petaluma. I tried to get a few beans from the tree to sprout but it would appear that my thumb isn't green enough.

A Cup of Love

Having returned home with my fresh pound of coffee, I quickly brewed up a batch and sipped from a non-broken cup. While at the coffee shop, I asked "could I please have a sticker for my bicycle?" In hindsight, I should have asked for two stickers; one for my bike and one for my laptop.

I don't work for Petaluma Coffee and Tea, nor do I own any part of the business, I simply enjoy their coffee and appreciate what they add to the quality of life in the town in which I live.

Comments
2011-02-24 Navigium:
Stickers on bikes is always a good Idea. Makes the bike look cool and helps that it doesn't get stolen :)

But where's the connection between a rooster and coffee??
2011-02-24 jamba:
I wish we had a local place here like that which doesn't suck. :(

free coffee is awesome
2011-02-24 jezra:
Navigium, eggs and chickens are a *major* part of Petaluma's history.
2011-02-28 Pound of Coffee:
Agreed, a fresh cup of nostalgia along with the cup is always pleasing.We too lack that type of accompaniment.
Name:
not required
Email:
not required (will not be displayed)
Website:
not required (will link your name to your site)
Comment:
required
Please do not post HTML code or bbcode unless you want it to show up as code in your post. (or if you are a blog spammer, in which case, you probably aren't reading this anyway).
Prove you are human by solving a math problem! I'm sorry, but due to an increase of blog spam, I've had to implement a CAPTCHA.
Problem:
5 minus 5
Answer:
required
2011-01-20

The sticker adventure

About six months ago, I wrote about three stickers that I had made and sent to various people around the globe. I recently came across two pictures of the sticker that was sent to my buddy Dirt Kirt (who happens to be partaking in a bicycle ride of epic proportions) and I thought I would share.

Front and Center

On the front of his handle bars is a bag, on the front of the bag is the sticker, dry and safe in a protective covering.

Does this mean I'm leading the way?

I'm a Tourist!

Check me out, this is me in front of some Mayan ruins in south-east Mexico and I assure you, there is no digital image manipulation tom-foolery going on here. This is the real deal

What's next?

I don't know where I'm going next, but I'm fairly certain that it will be Central and South America. As soon as I get new pictures of where I've been, I'll be sure to share.

Keep the wheels spinning.

Comments
2011-01-25 Windigo:
I subscribed to Kirt's blog when you first mentioned him - and I must say, the man sure knows how to make a guy jealous. How does one get into the "riding beautiful places" business?
2011-01-27 jezra:
I believe it starts with an intense desire to ride ride ride
Name:
not required
Email:
not required (will not be displayed)
Website:
not required (will link your name to your site)
Comment:
required
Please do not post HTML code or bbcode unless you want it to show up as code in your post. (or if you are a blog spammer, in which case, you probably aren't reading this anyway).
Prove you are human by solving a math problem! I'm sorry, but due to an increase of blog spam, I've had to implement a CAPTCHA.
Problem:
4 minus 0
Answer:
required
2011-01-05

On January 1st 2010, I opened a bottle of tapatío hot sauce. Since it was the new year, I thought it would be an extremely good idea to save all of my hot sauce bottle for a year, just so I could figure out how much hot sauce I actually use.

As of New Year's Day 2011, the collection is as follows:

  • 3 - 32oz Tapatío bottles
  • 1 - 10oz Tapatío bottle
  • 27 - 5oz Tapatío bottles
  • 3 - 6oz Crystal bottles

That's a grand total of 259 ounces of hot sauce; a little over 2 gallons.

Now quit reading, and reheat left-overs by smothering them with hot sauce.

Comments
2011-01-06 Nicholas:
You got me beat! Now this doesn't count any hotsauce used in restaurants... You need to try the ghost pepper! It'll save you some money
2011-01-06 jezra:
The problem with the ghost pepper is that it is just heat and not a lot of flavor. I have been using more jalapenos in my cooking, but I still find that I pour on the tapatio.
2011-01-13 NYbill:
Now you have me wanting to try this, Tapatio. I've never even heard of it. And you know I like my hot sauces as well!
2011-02-25 Nicholas:
Tapatio is the bomb. Few better a sauce out there.
Name:
not required
Email:
not required (will not be displayed)
Website:
not required (will link your name to your site)
Comment:
required
Please do not post HTML code or bbcode unless you want it to show up as code in your post. (or if you are a blog spammer, in which case, you probably aren't reading this anyway).
Prove you are human by solving a math problem! I'm sorry, but due to an increase of blog spam, I've had to implement a CAPTCHA.
Problem:
3 minus 0
Answer:
required
2010-10-21

Hot Diggity!

On Friday the 15th of October, I taped my $12 microphone to a piece of bent coathanger with nylon stretched over it and then sat down in my recording studio (my living room), and was interviewed by Dan and Fab of the Linux Outlaws. In preparation for the interview, I pedaled to the Lagunitas brewery and picked up a 6 pack of Pils so that I would have something to sip on while flapping my gums. Thanks Lagunitas!

We talked about beer, software development, squirrels, and various other things. I must say, the hour and 45 minutes seemed to fly by and there are plenty of things we didn't cover and I would certainly like to be on their show again.

To keep things balanced, for my next LinuxOutlaws guest appearance I will be contacting Dempsey's for some fine Petaluma beer.

Now quite reading, and go listen to Linux Outlaws episode 170
booyah

Comments
2010-10-22 timttmy:
Awesome, just awesome. You have to do it again. ◕‿◕
2010-10-22 x1101:
Excellent Interview. It made me laugh heartily on several occasions. Keep up the good work sir.

PS:I hate your CAPTCHA, I am terrible at math.
2010-10-24 jezra:
timttmy, I certainly hope to. by the way, what characters did you add that are displaying poorly?

x1101. I will do. and too bad, I don't like spam.
2010-10-24 Jelle Hermsen:
Love your nylon setup. I lost my pop shield, but this will replace it very well. Thanks!

ps: Oh yeah, loved your appearance on !lo, you're king!

pps: Digging your captcha. Could be a bit trickier though. I once made an online mental math test to get me through an exam (I was studying to become a math teacher), so if you ever decide to take it to the next level: http://hoofdrekenen.jongesla-design.nl/
2010-10-24 timttmy:
jezra; it was a little smiley.

unicode
ctrl+shift U+25D5
ctrl+shift U+2323
ctrl+shift U+25D5
2010-10-24 jezra:
Jelle, as much as I hate spam, I don't hate it enough to require my users to compute the square of numbers; although the idea certainly made me laugh. ;)
Name:
not required
Email:
not required (will not be displayed)
Website:
not required (will link your name to your site)
Comment:
required
Please do not post HTML code or bbcode unless you want it to show up as code in your post. (or if you are a blog spammer, in which case, you probably aren't reading this anyway).
Prove you are human by solving a math problem! I'm sorry, but due to an increase of blog spam, I've had to implement a CAPTCHA.
Problem:
4 minus 2
Answer:
required
2010-10-11

Nothing to do with Ka

Try as I might, I just can't get into Steven King's Dark Tower series. The characters are flat and, halfway through the final book, I just don't care about them. The only influence the books have had on me is a new hatred of roses.

Anyway, this isn't about crappy literature, this is about the Petaluma Whiskerino and I was contestant #19.

Smells like smoke

Oops, I burned my dinner. Bummer. What is the point of writing software to keep me from burning food if I don't use it?

Since I didn't want to scare the competition too early, I tucked my sideburns up under my glasses. In the background is Wyatt, he was rocking a banjo.

Jenga denied

After the competition, quite a few competitors, organizers, volunteers, friends, and family headed over to Lagunitas Brewery for a post-event cold one.

Unfortunately, my request to play beer case jenga was denied.

Letting my hair down

Actually, I shook out the burns when I was on stage during the contest, but I thought I should add a picture here. Is that a bat in the cave?

As seems to be the trend of micro-brews these days, most of Lagunitas' offerings are all hops and no malt flavor. Fortunately, they make one brew that meets my palette. Thanks Lagunitas!

Now quit reading, and go put a cast iron skillet on your wish-list because you ruined your old skillet.

Comments
2010-10-12 billy:
You can take that cast iron off your list, I'll bring you a 10" Friday.
2010-10-12 jezra:
Oh yea! It looks like eggs in a frame is on the menu for this weekend!
Name:
not required
Email:
not required (will not be displayed)
Website:
not required (will link your name to your site)
Comment:
required
Please do not post HTML code or bbcode unless you want it to show up as code in your post. (or if you are a blog spammer, in which case, you probably aren't reading this anyway).
Prove you are human by solving a math problem! I'm sorry, but due to an increase of blog spam, I've had to implement a CAPTCHA.
Problem:
8 minus 6
Answer:
required
2010-10-09

On the Road

36 twisting miles north by north-west of Petaluma is the little town of Monte Rio [wikipedia] home to Bohemian Grove, a good friend, and big gnome in someone's front yard.

After an hour on the motorcycle, I was welcomed to Monte Rio. Seriously, the "Welcome to Monte Rio" sign hangs over the big intersection.

Favorite Places

Nestled on a river, surrounded by pine covered hills, Monte Rio reminds me of some of the favorite places that I've lived.

In the morning, most of the hills were covered with coastal fog and if I had brought my bagpipes, I would have played "The Mist Covered Mountains of Home" (after my morning coffee of course). Fortunately, there was a banjo where I was staying so I frailed "Ye Banks and Braes" instead.

Gnome-ore

It's gone, outy, no more, the gnome has left the building.

Apparently, during the week before my visit, the owner of the giant gnome sold it. Who the hell sells a giant gnome?

Instead of walking to the gnome for a sweet photo op, I walked to Fern's Grocery store and purchased a post-card, which I promptly sent to someone who should have received a sticker instead. Sorry buddy.

Now quit reading, and go find something to send to someone.

Comments
Name:
not required
Email:
not required (will not be displayed)
Website:
not required (will link your name to your site)
Comment:
required
Please do not post HTML code or bbcode unless you want it to show up as code in your post. (or if you are a blog spammer, in which case, you probably aren't reading this anyway).
Prove you are human by solving a math problem! I'm sorry, but due to an increase of blog spam, I've had to implement a CAPTCHA.
Problem:
5 minus 0
Answer:
required
2010-09-19

A few months ago, I wrote a letter to Google asking them to send me an Android based smart phone. Unfortunately, Google never responded to my letter.

The content of the letter, for those that can't read the chicken-scratch that I call "handwriting" is as follows:

Dear Google,
Hi, how's it going? Greetings from the North Bay. Summer hasn't really arrived yet in Petaluma and I'm hoping that the weather is a bit more seasonally appropriate where you are. Regardless of the weather, I hope that you are enjoying the Summer.

This pen is crap! I'm going to go find another. Oh! that's much better!

Recently, you kicked down a bunch of Nexus Ones to developers at your I/O Conference, and shortly afterwords, thos devs were flipping the phones on Craigslist and Ebay. What a shame! So I thought "what the fuck, I should ask for a phone that I will develop for and that I won't sell online (or anywhere else)".

So what Say you Google? Do you feel like parting with a phone, knowing that it will be used for the development of software? I can't guarantee that the software will be good, but what the hell, why not, right?

I am now on my third pen. When you send me a phone, could you also include a few pens? Thanks!

Keep shit sweet,
Jezra

The real question here, is why didn't Google send me a phone (and a few pens)? After quite a bit of thought I have come up with a few possible answers.

  1. I mistakenly mentioned the Nexus One phone when I should have been referring to the Motorola Droid
  2. The first time I wrote the word "Google", I wrote it with a capital print 'g' and not a capital cursive 'g'
  3. Google is so inundated with requests for phones that they haven't had time to send me one yet.
  4. The letter was sent via the USPS and probably didn't arrive yet.

Based on the few seconds that I spent thinking about this, I've come to the conclusion that reason #4 is the most likely explanation.

Now quit reading, and go write a letter. I have a few to write myself.

Comments
2010-09-21 jamba:
that...is awesome!
can't wait to see their response...if/when they send it
2010-09-21 Windigo:
5. They have been overwhelmed with reorganizing their company to fit their new mission statement, "Keep shit sweet", that they have not had time to address the initial purpose of the letter.
2010-09-21 jezra:
Well they have had a few months to consider my proposal, so I'm going to say that they are not going to respond.

I need to find another company to write a letter to.
2010-09-22 Pritesh Desai:
good one
2010-10-29 senshikaze:
i have been using keep shit sweet ever since i read this. Windigo's comment had me rolling.
2011-11-07 Sunshine:
This the best letter i ever really ever read. Never had a reaction or what so ever?
2011-11-07 jezra:
Lamentably no. Google has never responded. Actually, no one that I've ever written to has responded.

sigh
Name:
not required
Email:
not required (will not be displayed)
Website:
not required (will link your name to your site)
Comment:
required
Please do not post HTML code or bbcode unless you want it to show up as code in your post. (or if you are a blog spammer, in which case, you probably aren't reading this anyway).
Prove you are human by solving a math problem! I'm sorry, but due to an increase of blog spam, I've had to implement a CAPTCHA.
Problem:
6 plus 7
Answer:
required
2010-08-26

The day started great; sleeping in until 8:20 AM, brewing the perfect pot of coffee, catching up on a web project for a friend (who was less than impressed that a very chipper Jezra was calling her to discuss the project at 9:30).

Oops: no oatmeal, I guess sustenance will have to be delayed.

At 10:30, I pedaled across town to give someone a lot of money to make my face hurt.

Phase 1 of my dental implant is complete. Let me tell you about the procedure from my view.....

A topical anesthetic was applied to the area where the implant needed to go. An injection of anesthetic was injected high on my gum, followed by an injection to the roof of my mouth. Being well numbed, it was time to get to work. Well, it was time for the doctor to get to work; all I had to do was try to relax.

Since I couldn't actually see what was going on, I can only relate what I could gather from my other senses. Have you ever halved a piece of rubber by continuously cutting a deeper and deeper groove? The sound of my gum being sliced to the bone was similar. It was very scrape-tacular and there was an accompanying taste of salty blood. Once my skull was exposed, it was time for the drill.

The drill used to create the hole for the implant was much louder and lower pitch than the typical dentist drill. I was also quite surprised by how much my head shook as the drill did it's job. One X-Ray and a bit of drilling later, it was time to put in the implant (which went flawlessly). It was just a "shove" and the implant was ... well... implanted. Three quick stitches, that appeared to be double granny-knotted, closed me up and the procedure was finished.

In total, I probably spent 30 minutes in the dentist's chair and then I was out the door and pedaling home. Now it only hurts when I smile.

Note to anyone getting a dental implant: go to your favorite restaurant before you have the procedure. Right now, I can only eat mushy cold food. Bummer.

Now quit reading, and become part of the Borg collective.

Comments
2011-10-14 Kathy Frederickson:
I can honestly relate to you. It didn't happen to me though - it happened to my husband. The dentist pulled his wisdom tooth a month ago, and he was only able to have mashed potatoes and soup for two weeks.
2011-10-14 Jezra:
After all of the delays, problems, last minute cancellations by the dentist, and general poor treatment I received, I will gladly spend my money on a dental vacation to Mexico.
Name:
not required
Email:
not required (will not be displayed)
Website:
not required (will link your name to your site)
Comment:
required
Please do not post HTML code or bbcode unless you want it to show up as code in your post. (or if you are a blog spammer, in which case, you probably aren't reading this anyway).
Prove you are human by solving a math problem! I'm sorry, but due to an increase of blog spam, I've had to implement a CAPTCHA.
Problem:
7 minus 3
Answer:
required
2010-08-20

The Logic

For some reason, I thought it would be a nice idea to donate all of my nickels to the wonderful fighters for digital freedom at the Electronic Frontier Foundation, a non-profit organization that promotes Free Speech, Privacy, and Fair Use in this digital age.

My 3 gallon coin jar was full, and my custom change holder thing, although not full, was certainly heavy, so I figured the EFF would get 20 or so bucks, and I'd get a bit of a workout by hauling that cold hard heavy cash around.

The Pile

The first thing I needed to do was to dump all of the coins on the floor in a big pile.

Speaking of big piles... Well surprise surprise, there is my Toshiba for a size comparison.

Time to start sorting those coins....

A Few Nights of "sorting while watching episodes of Star Trek" Later

Hey look at that! A box of pennies, a plastic bin of nickels and my three gallon jar with quarters, dimes, 50¢, and dollar coins.

While sorting, I did remove some of the coins because they either didn't belong, or they needed to be added to my "semi-unique" coin collection.

The removed coins:

  • 6 pre 1964 Nickels: for some reason I think they have a high amount of silver and will be worth something in a few years.
  • 5 Wheatback Pennies: perhaps I should do more than just add them to the wheatback pile
  • 2 Bicentennial Quarters: yes, I have a few of these as well
  • 2 Canadian Pennies: what's the exchange rate?
  • 1 British Penny: That's like 1.5 US cents! woohoo!

That's the Way I Roll...

This morning I walked to the bank and I carried a very heavy bag with me. Originally, I thought it would be best to get a money order for the EFF and then I remembered this thing call The Internet that would make it easy for me to donate money; so I deposited the money in the bank and, upon returning home, I donated an equal amount of money to the EFF.

Boy were my calculations off.
Total amount of nickels: $52.30

Next stop: Pennies for the Free Software Foundation

Now quit reading, and help those that help you.

Comments
2011-02-22 Anonymous:
Gimme british penny! I'll pay the conversion rate twice! :D
2011-02-22 jezra:
If you really want the penny. send me a post card with your address on it.
Name:
not required
Email:
not required (will not be displayed)
Website:
not required (will link your name to your site)
Comment:
required
Please do not post HTML code or bbcode unless you want it to show up as code in your post. (or if you are a blog spammer, in which case, you probably aren't reading this anyway).
Prove you are human by solving a math problem! I'm sorry, but due to an increase of blog spam, I've had to implement a CAPTCHA.
Problem:
0 plus 6
Answer:
required
2010-07-11

The Warm Up

Not very long ago, I made three stickers from a photograph of yours truly. Because the original intent of making the stickers was never met, I decided to give away the stickers with a simple contest.

Sticker #1 has gone across the Atlantic Ocean an now resides in Germany.

Sticker #2 has traveled across the United States and now resides in Upstate New York.

Sticker #3: well this sticker is probably going to travel more than #1 and #2 combined (and then possibly doubled).

Wait, didn't the third postcard come from Switzerland? How can the sticker have such an unknown travel distance? I'm glad you asked.

allow me to spin a yarn....

A few weeks after sticker #2 was shipped off, I received a message from my buddy asking if I could fix his computer. I heartily agreed and five days later I was picking up the computer at the post office. Yea, the machine was so bad my friend mailed the computer to me.

The machine itself was a sweet little Asus netbook that was infected with Microsoft Windows XP. Asus really did a disservice to computer users everywhere by putting Windows on their netbooks. By itself, XP made the machine sluggish and all of the extra bells and whistles that were tacked on ( and tacky looking ) by Asus didn't help.

Aside from slowing down the machine significantly, XP made the machine vulnerable to the plethora of malicious code that seems to be floating about these days, and the machine had a few trojans and a rootkit. Damn, that machine was fucked up, and it took quite a while to clean; but clean it I did and it was time to send it back to my buddy.

My buddy rides bicycles and he goes on bike adventures. I'm not talking about pedaling 5 miles across town for a cup of coffee at a new café (now that is my kind of adventure). I'm talking about really really riding; packing camping gear on a bike and riding for days, weeks, months, and years. Right now, he's in New Mexico, having recently ridden the Continental Divide Trail.

Anyway, it was time to send the computer back to my buddy. Before shipping the machine, I added a few items to the computer bag:

  • a stamped envelope addressed to me
  • a stamped blank envelope ( he should write to someone else on his adventure)
  • a sticker of me,to adorn his bike (AHA!, so that's where it went)

If you are interested, you can check out his blog at http://pocket-thunder.blogspot.com/ and I found out that the package had arrived safely when I read his blog post about it.

The Quandary

It had been a few weeks and I didn't think that anyone would send a postcard for the last sticker. As life would have it, three days after shipping the netbook to New Mexico I received a phone call from the bartender of a local drinking establishment who informing me that I had some mail at the bar. What do you know, it was a post card for the sticker contest thingy.

I must say, the newest postcard followed the rules of the contest to a "tee", which is awesome! Yet here I am with no more stickers. What is a Jez to do? Make more stickers of course! ( I should start numbering them)

It looks like I've got a busy week ahead of me.

Now quit reading, and go make more stickers than you think you'll need.

Now quit reading, and go make more stickers than you think you'll need.

Comments
Name:
not required
Email:
not required (will not be displayed)
Website:
not required (will link your name to your site)
Comment:
required
Please do not post HTML code or bbcode unless you want it to show up as code in your post. (or if you are a blog spammer, in which case, you probably aren't reading this anyway).
Prove you are human by solving a math problem! I'm sorry, but due to an increase of blog spam, I've had to implement a CAPTCHA.
Problem:
0 plus 6
Answer:
required
2010-06-19

During the week, there were a few things that I took pictures of in the hopes of documenting on the web. Unfortunately, they were not quite significant enough for a blog posting. As Friday rolled around I had big dreams of another Friday Frolic, but alas, it was not to be. (Actually some of this is a few weeks old, but I didn't want to not post about it)

Welcome to the Saturday Sassafras! ( Sorry, I couldn't come up with a better name )

Jezra.net


Damn those spammers! On Friday morning, I started to receive quite a bit of email spam, in BBCode format, from my contact form. With a bit of the old "copy and paste" I shortly implemented the jezra.net blog captcha for the contact form and booyah!, no more spam.

However, keeping the bots from spamming me is one thing, what I would really like to do is just send them a 404 error code when they get to my site. With this in mind I updated my web framework to log the time and IP addresses of "visitors" that enter nothing in the captcha answer field. My original plan was to check a visitors IP address against the recorded IPs, and if the IP address has 2 or more entries recorded is the last 30 days, they would get a 404; but I think I will just pass a 404 to any visitor that with a user-agent identified as IE6. Why do spam bots love IE6 user agents so much?

Oh yea, I also started using lightbox for displaying screenshot of some projects. Wow, what a segue.

Speaking of projects....

Heybuddy


heybuddyHeybuddy recently had a new release, 0.1.0 Hudson, that added the much needed "filtering" feature that allows one to filter out dents based on tags and groups mentioned in the dent, as well as by the poster of the dent. As someone that doesn't give a rat's ass about soccer, the filter feature is awesome during the #worldcup.

I'd like to thank Fabsh for the inspiration. I'd also like to thank all of the tester and users of heybuddy for finding bugs and most importantly, for reporting the bugs.

speaking of heybuddy...

Operation "Cool it!"


"Hey buddy, I'm going to the Pick-n-Pull to look for a cooling fan controller module for my car" were the words I heard and I quickly offered my help. Who can resist a trip to a pick-n-pull? Besides, had been over-heating for about 2 years and really needed a new module, but they are $400 for a new one. Two hours and $20 later, we had the part in hand. Cool.

speaking of cool cars....

00000


Look at that picture! Ignore that fact that my 40 horsepower Volkswagen can go over 55MPH, and look at the odometer. Gertie had looped her odometer and we celebrated with an oil change and a new alternator.

speaking of cool....

hotsauce


At the half way point of the year, I though it would be a good idea to take a picture of the hot sauce that I've consumed so far this year. That's 134 oz of Tapatío and 6 oz of Crystal. Did I mention that I like Tapatío?

That's about it for now. Expect some code in the future...

Now quit reading and go make things happen!

Comments
Name:
not required
Email:
not required (will not be displayed)
Website:
not required (will link your name to your site)
Comment:
required
Please do not post HTML code or bbcode unless you want it to show up as code in your post. (or if you are a blog spammer, in which case, you probably aren't reading this anyway).
Prove you are human by solving a math problem! I'm sorry, but due to an increase of blog spam, I've had to implement a CAPTCHA.
Problem:
4 minus 0
Answer:
required
2010-06-11

Plenty of things happen that are almost blog worthy but just don't have the substance for a full post. For the most part, this is what microblogging is for. However, there are somethings that are too big for a posting on identi.ca. So what is a Jez to do?
Why, have a fun filled frolicking Friday feature fest, of course. The idea is simple: aggregate the little things into one post. Booyah!

Jezra.net


Recently, I've make two changes to my blog, only one of which you the viewer will actually experience.

  1. the blog code has been updated to allow me to write using the Markdown format. I'm actually using PHP Markdown written by Michel Fortin. From a visitor's standpoint, this doesn't really do much, but it certainly makes it easier for me to compose a new posting.

  2. images in blog postings will now be utilizing lightbox, a javascript library for presenting "click to view larger image" images in a pleasant way. There is actually a lightbox2 that I should be using, but I'm happy with the way things are working right now.

Code


heybuddy, the Python identi.ca client, has a new stable release: 0.0.7 "Glens Falls". The biggest feature of this release is probably the inclusion of avatars. Go get it!

In December of 2009, there was a thread in the Linux Outlaws forum about coding a "crap alert" in various programming languages. I wrote the alert in Python and then ported the code to Vala. Recently I cleaned up the Vala code, compiled the code to run on my N810 and made an application package for Maemo. Hopefully the compiled app will also run on an N900, but I don't have one to test on. hint hint

Here is the Vala code:

/* compile using
valac --pkg hildon-1 --pkg gstreamer-0.10 --pkg gtk+-2.0 crapalert.vala -o crapalert

* or 

valac -D TESTBUILD --pkg hildon-1 --pkg gstreamer-0.10 --pkg gtk+-2.0 crapalert.vala -o crapalert

*/

using Gtk;
using Gdk;
using Gst;
using Hildon;
public class CrapAlert:Hildon.Program 
{
    bool is_playing;
    Element playbin;
  bool is_fullscreen;
  Hildon.Window window;
    construct{
        
    }
    public CrapAlert()
    {
            #if TESTBUILD
            string resources Path.build_filename(Environment.get_current_dir(),"Resources",null);
            #else
            string resources Path.build_filename("/","usr","share","crapalert");
            #endif
        
        /* set some variables for later use */
        is_playing false;
        is_fullscreen=false;
        //where is the image for the app?
        string image_src Path.build_filename(resources,"crapalert.png",null);
        string icon_src Path.build_filename(resources,"icon.png",null);
        stdout.printf("image_scr: %s\n",image_src);
        //where is the audio file?
        string audio_src Path.build_filename(resources,"crapalert.wav",null);
        stdout.printf("audio_scr: %s\n",audio_src);
        /* create a gstreamer playbin */
        playbin Gst.ElementFactory.make("playbin""player");
        //set the uri of the playbin to the audio file source
        playbin.set_property("uri""file://" audio_src);
        //get the bus of the playbin
        var bus playbin.get_bus();
        //tell the bus to watch for signals from the playbin
        bus.add_signal_watch();
        //connect "message" signals to a function
        bus.message.connectplayer_message );

        /* build the interface */
        // create a new window
        window new Hildon.Window();
        // connect the delete_event so we can quit the app
        window.destroy.connect( (w)=> { 
            quit(); 
            } );
        window.key_press_event.connect( (w,e)=> {
          check_event(e);
        } );
        // we need a button box to hold the image
        Gtk.Button button new Gtk.Button();
        
        //connect the button to the play_audio function
        button.clicked.connect( (w)=>{ 
            play_audio(); 
            }  );
        //create an image from the image_src
        Gtk.Image image new Gtk.Image.from_file(image_src);
        //add the image to the button

        button.set_image(image);
        //add the button to the window
        window.add(button);
        //set the window icon
        window.set_icon_from_fileicon_src )
        //show the app
        window.show_all();
    }

    public void run()
    {
        //start gtk
        Gtk.main();
    }
    
    private void quit()
    {
        playbin.set_state(Gst.State.NULL);
        Gtk.main_quit();
    }
    
    public void play_audio()
    {
        //are we already playing?
        if(!is_playing)
        {
            is_playing true;
            //make the playbin play
            playbin.set_state(Gst.State.PLAYING);
        }
    }
    
    private void player_message(Message message)
    {
        // check for the end of stream message from the playbin
        var message.type;
        if (== Gst.MessageType.EOS )
        {
            playbin.set_state(Gst.State.NULL);
            is_playing=false;
        }
    }
  private void check_event(EventKey event) {
    if (event.keyval==65475) {
      toggle_fullscreen();
    }
  }
  private void toggle_fullscreen() {
    if (is_fullscreen) {
      window.unfullscreen();
      is_fullscreen=false;
    }else{
      window.fullscreen();
      is_fullscreen=true;
    }
  }
}

public static void main(string[] args)
{
    //init gtk and gstreamer
    Gtk.init(ref args);
    Gst.init(ref args);
    //make a new instance of the crapalert
    CrapAlert ca new CrapAlert();
    //run the crap alert
    ca.run();
}

Here is the crapalert running on my N810. If anyone is interested in the installable binary, it is available at http://www.jezra.net/downloads/crapalert-0.2.deb.


Technology


About two weeks ago, my telephone answering machine died. To be honest, it had been one cassette in the grave for a very long time. Anyway, a short trip to a local thrift store and $6 later; I had taken the leap for the 80s right into the 90s with a digital answering machine/cordless phone combination. That's right, a push button phone. How tech is that?

A few days after connecting my new phone, I received an invitation to Google Voice and I thought I should try out the service. I will be doing a proper review in a month or two when I have had time to properly use Google Voice.

Speaking of speaking, I've been trying to set up a Mumble server and I could use some help testing the machine with someone far away. If you can install Mumble v1.2.2, have a microphone, and live more than 4000 miles from the San Francisco Bay Area, contact me. Actually, if you can install Mumble 1.2.2 then you should contact me.

Now quit reading, and go do something.

Comments
Name:
not required
Email:
not required (will not be displayed)
Website:
not required (will link your name to your site)
Comment:
required
Please do not post HTML code or bbcode unless you want it to show up as code in your post. (or if you are a blog spammer, in which case, you probably aren't reading this anyway).
Prove you are human by solving a math problem! I'm sorry, but due to an increase of blog spam, I've had to implement a CAPTCHA.
Problem:
4 plus 7
Answer:
required
2010-05-31

Apparently, Google is not going to use Microsoft Windows anymore, unless it is really really really necessary. Seriously, if someone at Google needs to run Windows, they are going to need the permission of the CIO. Wow! From now on Google will be a Linux and Apple shop. (hopefully there will be a few BSD users in there as well)

But aside from the security aspect, what does this really mean?
(go read the article if you want to know about the decision, I have different concerns and don't feel like paraphrasing in the hopes of creating my own unique content)

There surely are plenty of times that city governments, school districts, and probably small countries have moved away from Microsoft products, but to me, this is a bit different. As ephemeral as Google may be by having mostly digital products, I find Google to be a very tangible company with products I use on a daily basis, and as far as the internet is concerned, Google is a major player.

In a sense, this may be an advertisement that Google is ready to eat their own dogfood. Aside from Android, Google's OS for smart phones, Google has also been working on Chrome OS, which is supposed to be a hardened OS based on Linux. Perhaps it is time for me to take another look at what Chrome OS has to offer (it is supposed to ship in the second half of 2010, which is a month away). This of course is just speculation on my behalf. I'm actually more interested in other things.

Obviously Apple machines will be "Google Approved", but what about machines to run Linux? Sure the overpriced shiny plastic from Cupertino can have Linux installed on it, but what other manufacturers are going to make laptops that are blessed by Google? Don't almost all manufacturers run a "We Recommend Microsoft Windows" campaign? Although they can surely pay for it, will Google really purchase a Laptop with Microsoft Windows and not want a refund for the MS tax? As I see it, if a manufacturer wants their products to be used by Google, then the manufacturers are going to need to test Linux on their systems. Hopefully this will lead to more Linux compatible devices on the market. I can't possible be the only consumer that thinks "Hey if it's not good enough for Google, then it isn't good enough for me".

Oh, speaking of Microsoft.... Why haven't they bought Novell yet?
With the purchase of Novell, Microsoft will have a more direct control of the Mono and Silverlight projects, as well as control of a major Linux distribution. Microsoft is going to need some operating system to run on low power ARM based systems, and nothing Microsoft makes fits that bill in an esthetically pleasing way.

Regardless of what influence this will have on other people, I think made a long overdue decision.

Now quit reading, and do what Google did. Actually you should probably avoid the Apple as well.

Comments
2010-06-01 senshikaze:
i think that this step is good, though the retaliation may be bad. depends on how many chairs died to bring this info to balmer at redmond ;)

I hope this leads to more linux systems(or at least OS free systems) from companies like Dell and HP. We can only wait and see what happens in the long run.
2010-06-01 jezra:
Aside from a lot of chair throwing, what would the retaliation be? A focus on security? A standards compliant browser?

Oh no! haha
Name:
not required
Email:
not required (will not be displayed)
Website:
not required (will link your name to your site)
Comment:
required
Please do not post HTML code or bbcode unless you want it to show up as code in your post. (or if you are a blog spammer, in which case, you probably aren't reading this anyway).
Prove you are human by solving a math problem! I'm sorry, but due to an increase of blog spam, I've had to implement a CAPTCHA.
Problem:
7 plus 8
Answer:
required
2010-05-16
It's a new project!

For the past few months, I've been using indenti.ca to micro-blog and while there are plenty of applications available to access the identi.ca data from my laptop or desktop, I couldn't find anything that would run well on my Nokia N810 pocket computer.

Originally, I had planned to write a client in Vala, but since there is already a wonderful Vala denting client named Pino and since I hadn't written anything in Python for a while, I decided to use Python and develop a client in such a way that it might be easy to port to other languages: specifically Vala and possibly Java.

A couple of hours here and there with Geany and I had a pretty decent denting client in need of a name. Luckily I have a buddy who, aside from needing to blog about his photos, needs a denting client named after him.

Hey Buddy! I wrote an identi.ca client and named it after you. Well, sort of.... it's called heybuddy



In the wild

Jake Hume (http://blog.fragdev.com/) took this picture of heybuddy running on his N810. Sweet!

Although I don't have any plans for making packages of heybuddy for various Linux distributions, fellow Linux Outlaw and heybuddy user timttmy has created a heybuddy AUR package for Arch Linux



What I've learned
  • simple little projects are rarely simple or little
  • I still can't get threading to work in a python app
  • there is a correct way to authenticate an identi.ca user via the urllib2 python module, the short cut I tried to take showed me the error of my ways
  • the documentation for gtk.keysyms seems to be non-existent
  • The majority of heybuddy user's live in apple growing country
  • I ♥ scrumpy

Now quit reading, and go say "hey buddy" to your buddy!
Comments
2010-05-17 senshikaze:
i got an identica account just so i can play with your program ;)
clean. a little... gray. but clean.
2010-05-17 jezra:
What's wrong with gray? It works with light and dark themes.
2010-05-18 mjjzf:
Playing with Python packaging. Maybe I can knock up a Slackbuild.
2010-05-18 Jezra:
That would be wonderful! If you need anything from me for packaging, please let me know.
2010-05-18 mjjzf:
Sorry, all that's missing is a little extra 1337-ness. I guess it should be up and running at the release of Slackware 13.1.
2011-02-05 Anonymous:
i have time lol
Name:
not required
Email:
not required (will not be displayed)
Website:
not required (will link your name to your site)
Comment:
required
Please do not post HTML code or bbcode unless you want it to show up as code in your post. (or if you are a blog spammer, in which case, you probably aren't reading this anyway).
Prove you are human by solving a math problem! I'm sorry, but due to an increase of blog spam, I've had to implement a CAPTCHA.
Problem:
6 minus 5
Answer:
required
2010-05-05

WINNER!?


It was April 30th, 11:50 PM and I had just finished the script that I was writing for the Scriptfrenzy challenge: write a 100 page script in 30 days. Unfortunately, my script came in at a whopping 98 pages. So with ten minutes to go I frantically started to add dialog to my script in order to reach the goal of 100 pages.

Using the wonderful celtx script writing software, the process of validating pages was as follows:

  • type type type
  • export the script as a PDF
  • upload the PDF to the scriptfrenzy.org website
  • freak out due to a low page count

Actually, it was during the export and upload steps that I was freaking out the most. When there is such a looming deadline, anything that only takes a second to accomplish feels as though it takes a minute or more.



At 12:05 AM on the morning of May 1st, I uploaded and validated a 99 page script. Hold on there tiger! How was I uploading a script after April 30th? Checking the homepage of the Scriptfrenzy site, I was informed that I had another 55 minutes until the challenge ends. Was the server on Alaska time? I didn't know, and honestly I didn't care. All I was concerned with was the extra 55 minutes with which I could write my script.


At 12:15 AM on the morning of May 1st, I uploaded and validated a 100 page script. Victory was mine, or was it?


Too bad, so sad
photo:Mel B.
After doing a bit of information gathering, I finally determined the root cause of the problem. I was cheating! Well perhaps that is a bit drastic. The reality is that my time was off and I had started the challenge at 1:00 AM April 1st and not at 12:00 AM on April 1st. The root cause of this discrepancy is that my time zone is UTC-8, unless we are in Daylight Saving Time, in which case my time zone is UTC-7.

Therefor, I fully place the blame on which ever Government entity is prohibiting the permanent change to Daylight Saving Time.



Now stop reading, and go do something that makes you miss your deadline. Oh, in that case, keep reading!

Disclaimer: I work for Scriptfrenzy, so take this entire posting with a grain of Mrs. Dash: sodium free seasoning. Hey, there are alternatives to salt, and no, I don't work for Mrs. Dash!
Comments
2010-05-07 senshikaze:
whats wrong with salt?

so you going to let us read the script, or is that not allowed?
2010-05-07 jezra:
nothing is wrong with salt, but it can be overused and the extra sodium is not good.

I need to do a few revisions of the script and then I'm probably going to enlist my friends to help me make the movie.
2010-05-07 senshikaze:
i just find it funny that salt is sodium chloride: a poison and a poisonous gas! combined these two deadly chemicals make a great seasoner and preservative. A, nature, slowly trying to kill us off by making deadly shit taste great.
2010-05-18 mjjzf:
So you are pleased with Celtx? I played with it, but if you aren't actually writing something real, it doesn't give you much.
2010-05-18 jezra:
Celtx gave me more than I needed for my script. For my script the only features I used were the auto-formatting and export to PDF. Although those are very basic needs, Celtx handled them wonderfully. I will probably use more of the software's features during next years Script Frenzy
Name:
not required
Email:
not required (will not be displayed)
Website:
not required (will link your name to your site)
Comment:
required
Please do not post HTML code or bbcode unless you want it to show up as code in your post. (or if you are a blog spammer, in which case, you probably aren't reading this anyway).
Prove you are human by solving a math problem! I'm sorry, but due to an increase of blog spam, I've had to implement a CAPTCHA.
Problem:
9 minus 4
Answer:
required
2010-04-16
click... [silence] click... [silence] click... [silence]
"Oh, this could be bad".

In the pit of my belly, there is a place of calm and solitude where tranquility reins and it is always room temperature. A few things however, can be quite adept at changing the weather patterns in this special place. Recently nothing changed my calm and that nothing was the eiry silence that followed the click of the power button on my computer.

Where there would normally be a click followed by the whirring of fans and the dulcet tones of hard-drive platters spinning up there was nothing, nada, zip, zilch, None, null, unset(), del(), remove(), rm. As the silence deafened, the temperature changed and a lump of ice grew in my belly. The computer was not going to turn on. The ice got colder...


Imagine this worm is 10 meters tall and it
lives on Arrakis:the desert planet.
photo by:net_efekt
About 10 years ago, I put together a computer with a mixture of new, used, and "hey you should just ditch that crap" components, and affectionately named the machine Shaihulud to pay homage to the Dune series of books by Frank Herbert. Over the years, various components were upgraded, added or removed. In it's current state, Shaihulud has none of the original components from so many years ago but there are plenty of components from the previous incarnation of Shaihulud; which had many components from its predecessor; which had many components from its predecessor; all the way back to the original.

Why am I explaining all of this? Because I *like* this machine; it has been with me for a while and now it appears to be gone.

No email? No writing my Scriptfrenzy script? No hacking fun code projects? Egads! What's a Jezra to do?
Fix that crap!

Determining the problem
After popping the side off of Shaihulud, I traced the wires for the power-switch to their location on the motherboard. The wires end with a push-on connector that is attaches to two pins on the motherboard. I removed the connector and used a bent paperclip to close the electrical gap between the pins. If the computer had started up, then the problem would have been with the power switch. Alas, this was not the case.

Apparently, the green wire coming from an ATX power supply acts as a relay to turn on the power supply. With this in mind, I disconnected the power supply from the motherboard and VERY CAREFULLY grounded the green wire. The power supply fan should have started to spinning. It didn't, so the problem appears to be the power supply. Fine. I'll just replace it.

The Replacement
Wednesday 5:45 PM - Operation "Power Up" begins. When going on a mission, it's always important to give the mission a cool name.
Wednesday 5:50 PM - After sprinting on my bicycle to the local Computer repair shop, I find out that "Closes at 6PM" really means "Closes at 5:49PM"
Wednesday 6:00 PM - sprint across town to an office supply bigbox store to check their prices. Egads! $49.95 or $89.95? No thanks
Wednesday 6:10 PM - sprint back across town to a meeting at City Hall.

Thursday 10:00 AM - My car's rusted out muffler is about to fall off. Use bailing wire to hold the muffler in place. This is the third automobile that I've owned that has had the muffler held in place with bailing wire.
Thursday 10:30 AM - Drive to HSC Electronics in a nearby town, drool at all of the tech kit, and spend $14.95 for the item that I need.
Thursday 11:00 AM - Stop at 360 Subs on the way home and eat a delicious sandwich.
Thursday Noon - Shazaam!

A while ago, I wrote some code to allow me to send text to a server and have the server output the text as speech, and each of my computers informs me that it has finished starting up by sending text to the speaking server. When I finally heard the words "Shaihulud is now online" again, I almost cried. Welcome back Shaihulud.

Now quit reading, and go um.... read some Frank Herbert.
Comments
2010-04-19 senshikaze:
i love the script idea, my friend. Might have to add that to my network at work and home.
I name my home computer Lulu (no real reason, just like the name). find a good non-apple female synthetic voice to say it. nice.
I am so freaking sad >_>
2010-04-25 thecommutist:
Maybe this could signal the coming of the Kwisatz Haderach! Ya Ya Shou Hada!!
2010-04-28 Windigo:
Aye, we've all been there; I've started to keep spare power supplies around for just such an occurrence. :)

In fact, I tend to keep most of the old hardware I replace in upgrades, so I'm fairly sure I have a complete Phoebe replacement (sans motherboard), should the need arise...

And yes, that voice server is a brilliant idea. Have you positioned it somewhere that can be heard throughout the house/apartment, or is it just near all of the computers?
2010-04-28 jezra:
Windigo, the voice server machine is also my media player machine and it is connected to my home stereo system.
Name:
not required
Email:
not required (will not be displayed)
Website:
not required (will link your name to your site)
Comment:
required
Please do not post HTML code or bbcode unless you want it to show up as code in your post. (or if you are a blog spammer, in which case, you probably aren't reading this anyway).
Prove you are human by solving a math problem! I'm sorry, but due to an increase of blog spam, I've had to implement a CAPTCHA.
Problem:
3 plus 7
Answer:
required
2010-03-24
The following message was sent by me to California Assembly member Jared Huffman and California State Senator Mark Leno in the hopes that the Golden State will enact a change that will bring equality to the way motor vehicle fines are determined by the State.



Hello,
My Name is Jezra Lickter and I am a resident of Petaluma California. I am writing to you in the hopes that you will help enact my proposed legislation. To put it simply, I am proposing equality in moving violation fines. To this end, I would very much like to see fines for motor vehicle infractions be based not on a flat rate, but upon a percentage of the offenders annual income.

If the use of a fine is to be a deterent against infractions, basing the fine on a percentage of income will act as more of a deterent across all economic classes than a flat rate fine.

For example suppose two people are cited for talking on a cell phone while driving, one (Person A) makes $20,000 a year, which is approximately the income of a minimum wage employee, and the other (Person B) makes $300,000 a year. Currently, both will receive a $20 fine. Person A will need to work for two and a half hours to pay the fine and Person B will need to work for just over 8 minutes. while this is a deterent for Person A, this is no deterent at all for Person B.

Now suppose that the fine for talking on a cell phone was 0.01% of ones annual income. Person A would pay a fine of $20 dollars and Person B would pay a fine of $300. Both people would need to work the same amount of time in order to pay their fine.

Basing motor vehicle fines upon income is nothing new; Germany, France, Austria, and Nordic Countries base speeding tickets on income. ( see http://www.msnbc.msn.com/id/34792272/ )

When applied to all moving violation fines, this legislation would theoretically create a temporary surge in the amount of money collected through fines as the well-to-do that normally are not deterred by the current fines begin to pay their equal share.

Thank you for your time,
Jezra Lickter
Comments
2010-03-24 senshikaze:
My only problem: you used an MSN link! come on!
Other than that, sounds nice.
2010-03-25 x1101:
Excellent idea. I assume that carrying this to its logical end would imply that for more serious moving violations the rate would increase to higher percentages of income.
2010-03-25 jezra:
@senshikaze, I couldn't find I nice link to the AP article

@x1101, Absolutely. For example speeding in a school zone could be a fine of 1%.
2010-03-25 Windigo:
Sounds quite fair to me; although, the overhead for implementing it might be difficult.

In NY, it falls on the towns to collect fines like this - is it the same in California?
2010-03-26 jezra:
Windigo, yes, it is same in California. As per the overhead issue, in this digital age, it *shouldn't* be too hard to link the DMV database to the Franchise Tax Board database to determine the amount to be paid.
Name:
not required
Email:
not required (will not be displayed)
Website:
not required (will link your name to your site)
Comment:
required
Please do not post HTML code or bbcode unless you want it to show up as code in your post. (or if you are a blog spammer, in which case, you probably aren't reading this anyway).
Prove you are human by solving a math problem! I'm sorry, but due to an increase of blog spam, I've had to implement a CAPTCHA.
Problem:
2 plus 7
Answer:
required
2010-03-22
om nom nom nom
Dogfooding is a term used to describe when one uses their own product.

Not too long ago, I began working for the Office of Letters and Light: a Non-Profit company in the East Bay that coordinates yearly writing events. The majority of my work so far has been editing and writing CSS, HTML Templates, and Drupal modules for the ScriptFrenzy website. The ScriptFrenzy event challenges writers to create a script in 30 days.

According to the website the ScriptFrenzy challenge is to "Write 100 pages of original scripted material in the 30 days of April. (Screenplays, stage plays, TV shows, short films, and graphic novels are all welcome.)"

"So What?" you might ask. Am I being a shill for the company? Yes and No.

If you want to take up the challenge, please do, the ScriptFrenzy website has a ton of resources for both new and seasoned script writers. As for me, well... I'll be eating my own dogfood and taking part. Since I believe in the company enough to work there, I should take part and finally write that script that I've been thinking about for the last few years (or I'll write the other script I was thinking about).

What I mostly want is to publicize that I will be taking part, and hopefully generate support for me and my poorly utilized writing ability. Oh wait, I have a poor writing ability and I sometimes lack focus and concentration. In theory, the deadline imposed by the challenge will help me focus. Yea, in theory.

Finally, there is no way I can be a "proper" writer without sipping a scotch on the rocks and exuding an air of sophistication. Luckily, my refridgerator is being replaced before April 1st, so I will actually be able to make some ice for my scotch. Even better than the ice, is the bottle of single malt scotch that my buddy gave me for helping him with so many of his photography projects. Thanks Buddy!

Since my current "freezer" doesn't actually freeze water, I decided to use an image from flickr user Generation X-Ray.

Now quit reading, and start writing... or help a buddy with a photography project.
Comments
2010-03-26 oswaldkelso:
Never ever put anything in your whisky :) It's a crime.
2010-03-26 jezra:
That age old dispute never ceases to put a smile on my face.

Are you buying? When it is my whisky, I'll do as I wish, when it is your whisky, I'll drink it as you serve it!

water of life and water (frozen water)
As the ice melts, the beverage gets diluted to the point where the flavor of the scotch becomes truly pronounced. For me, it is the difference between *enjoying* a scotch and drinking a scotch.
Name:
not required
Email:
not required (will not be displayed)
Website:
not required (will link your name to your site)
Comment:
required
Please do not post HTML code or bbcode unless you want it to show up as code in your post. (or if you are a blog spammer, in which case, you probably aren't reading this anyway).
Prove you are human by solving a math problem! I'm sorry, but due to an increase of blog spam, I've had to implement a CAPTCHA.
Problem:
9 minus 2
Answer:
required
2010-03-07
For a long time now, I've been trying to find a way to get music in my car on the cheap, and since I've finally succeeded, I thought I should share this tale of 12 volts.

When I first purchased my car, it had a crappy cassette player installed. The unit would only play through the right channel and it would randomly eject whatever cassette it was playing. Eventually, the player started eating my cassettes and then died altogether.

Fortunately, my local thrift store was selling a cassette player for $5, as well as a bunch of cassettes for $1 each. Six dollars and 20 minutes later, I was rocking out to Boston's "More Than a Feeling". Not too shabby, but I want to listen to music from my digital collection as well as some audcasts. Purchasing an "audio out to cassette" adapter proved to be a fruitless endevour as the cassette player started ejecting the adapter after a few seconds of playing.

The next step was to purchase an FM modulator that plugs directly into the antenna port on the back of the cassette player. Unfortunatly, the radio decided to break when I tried to tune into the FM modulator's selected channel. "That's OK" I thought, "I can just listen to cassettes from the thrift store." Jerry Lee Lewis, Glenn Miller, Back to the Future Soundtrack, and some Lionel Richie mostly kept me entertained until the cassette player started to fail.... Time for another solution

The Busted Beast
Personally, I like having a busted crappy looking cassette player in my car, because It lets people know (or think) that there is nothing of value in my car. So, the junk cassette player will stay mounted in my dash. Perhaps I can convert it to a change holder in the future. Oh well, perhaps some other day.

Why yes, that is the Little Mermaid Soundtrack in the cassette player. How did you know?



200 Watts of Fury
For $16, including shipping, I purchased this amplifier from an Ebay store. The amp was advertised as 200 watts and I certainly believe that the actual amplification number does have a 2 in it, but it certainly isn't 200; it is more like 2.

What the amplifier does have is a 3.5 millimeter stereo input jack, which will allow me to connect nearly any portable audio player.



Body Modification
In order for my plan to really come together, I would need to hide the amp in my trunk and keep my portable music player in the glove compartment. This would require cutting a hole in the glove compartment so a cable could be run to the trunk.

What? You can't access your trunk from a hole in your glove compartment? weird.



Custom Mounting Bracket
Nothing says "awesome" like a custom mounting bracket, and in this case, that mounting bracket is Gorilla Tape. Hot damn, that is some strong tape.

With the amp installed, I plugged everything in and tested the system. Not bad, not bad at all.

For a victory lap, I went out for a drive while listening to Riddle of Steel/Riders of Doom from the Conan Soundtrack by Basil Poledouris, and I turned left where I had never turned left before, just to explore what was there.



Now quit reading, and listen to Riddle of Steel/Riders of Doom while Crom laughs at your Four Winds.
Comments
2010-03-12 Dylan Thiedeke aka Swathe:
Sometimes the simplest of solutions are the best solution. This is a testament to that fact. There is something beautiful about adhesive tape.
Name:
not required
Email:
not required (will not be displayed)
Website:
not required (will link your name to your site)
Comment:
required
Please do not post HTML code or bbcode unless you want it to show up as code in your post. (or if you are a blog spammer, in which case, you probably aren't reading this anyway).
Prove you are human by solving a math problem! I'm sorry, but due to an increase of blog spam, I've had to implement a CAPTCHA.
Problem:
4 minus 3
Answer:
required
MCM_468x60_static
2010-02-26
On a recent commute home from work, my engine stopped running. It didn't splutter as though it was starved for gasoline and it didn't run rough as if not all cylinders were firing, and there was plenty of electricity ( at least enough to keep my headlights bright and the Glenn Miller cassette playing ). Luckily I was already in beautiful Petaluma and much to the distain of the driver behind me, I drifted as far as I could before pulling over and trying to trouble shoot my problem.

So what would cause the engine to stop like that? A bad distributor; perhaps no electricity getting to the coil. Turning the ignition key lit up my console lights but didn't engage the starter motor and I didn't hear any clicks from the solenoid. Fine, no juice was getting to the solenoid. If no electricity is getting to the starter and the coil, the common point of failure is probably the ignition switch. But why would it fail when it did?

Hold on a second...

I need to take a moment to salute the best problem solvers that I know of: the Shade Tree Mechanic. Named so because it isn't uncommon for them to use the branch of large tree to help pull the engine out of a car. Most shade tree mechanics that I know, have limited formal education in the art of automobile repair and instead have Doctorates and Masters degrees in real world experience.

Alright, back to my car.

After walking the mile and a half back to my home and having a bite to eat, I thought it would be best to see if the headlights dimmed when I tried to start the engine. If the lights dimmed, then electricity was being diverted to the starter, and the problem may not be the ignition switch. So on my bicycle I rode, to perform the test.


Writing Software
I enjoy writing software. Sometimes I need the challenge, and almost all of the times that I write a piece of software, I actually need/want the software. When there is a problem with software, it is referred to as a bug, although some people call it a feature. In order to fix a software bug, it is necessary to determine the steps required to reproduce the bug. If the bug happens everytime a certain action is performed, it is easier to track down what is causing the bug and therefore easier to fix. If, on the other hand, the bug only happens sometimes and there is no decernable scenario that will cause the bug, then there a lot of head banging against the wall trying to find the problem. This is the worst kind of bug.

Turning the Key
With my bike parked in front of my car, I was ready to check the headlight brightness as I turned the key. Click. RRRRRRRRR RRRRR RRRRRR VROOOOM!
Damn it! The car started. If I can't reproduce the problem, how can I fix it? What was I missing? The car started after it cooled down....

The car stopped running shortly after driving in quite a bit of stop and go freeway traffic followed by normal highway speed and then slowing to in town speeds. Could it be too much heat affecting my electrical connections? Why isn't it cooling properly?

In the end, I replaced a worn fanbelt to help keep the engine cool. The ignition switch was also replaced since it could have been faulty, and my key sometimes fell out when the car was running. I also cleaned and tightened many of the electrical connections. Hopefully, this will fix the non-reproducible bug.

Perhaps I'm not properly testing the fix under similar condition? I guess I'll find out on the commute home...

Now stop reading, and try to fix something that may or may not be broken
Comments
2010-02-26 Billy:
Try testing the ignition module. When they start to fail heat affects them. They get hot and the engine dies. Let it cool down and the engine cranks right over. They can be expensive, so be sure.
2010-02-26 jezra:
My car is a 1961 Volkswagen, it doesn't have an ignition module.
2010-02-26 x1101:
I am personally surprised that you even _have_ a car.
2010-02-26 jezra:
The car certainly comes in handy when I need to leave Petaluma. (which isn't very often)
2010-03-15 oswaldkelso:
The interesting points are the car cut out whilst moving. Also it was hot. All heat issues would point away from the switch.

Are there two faults or are the inter related?

I would check the points for signs of arcing and if so replace the condenser.

Also check for good connections on the coil LT side and all earth connections including the battery to starter.

As you say the ign-switch is a suspect, On an old car ware maybe an issue also corrosion and dirt on the contacts.

I'd stick a tester, a spare contact breaker set in the car (with condenser) and give the ign-switch a good clean with WD40 and check for "slop" in it.
Name:
not required
Email:
not required (will not be displayed)
Website:
not required (will link your name to your site)
Comment:
required
Please do not post HTML code or bbcode unless you want it to show up as code in your post. (or if you are a blog spammer, in which case, you probably aren't reading this anyway).
Prove you are human by solving a math problem! I'm sorry, but due to an increase of blog spam, I've had to implement a CAPTCHA.
Problem:
3 plus 7
Answer:
required
2010-02-03
Although I had thought about updating the look of my music page for a while, other things took precedent. Well, as life sometimes is, I was introduced to a feature in one of the finer browsers that one can use.

The Feature
Picture if you will.......
friend: you should fix your music page cuz it's crap
me: what?
friend: I went there and didn't know what to do
me: did you click the arrow pointing to the right that typically signifies "play"?
friend: what arrow?
me: whoa! what browser are you using?
friend: firefox
me:(pretending to be Morpheus) Show Me!

On my music page, I had a bunch of <audio> tags so that visitors to my site could hear me butcher various tunes that I have recorded. Unfortunately, the Firefox theme that my friend was using made Firefox's default audio player completely unusable.

Fine, I didn't like the look of the default player anyway!

What I Should Have Done
In hindsight, I should has just written some hardcoded javascript and CSS to make a nifty HTML5 audio player thing because I have decided that I really don't like working with JavaScript. Using a framework like GWT or Pyjamas that outputs JavaScript is fine, but hacking on JavaScript just isn't my thing. I suppose that it might have been easier if I had used a large JavaScript library like JQuery, but where is the hell is the fun in that? Oh well, maybe next time.

What I Did Do
Since my music page is created dynamically from information pulled from a database, I wanted a way to dynamically generate an HTML5 audio player based upon formatted text on a page; and well... that's what I did, and I named the project PagePlayer (boring, I know). By building it myself, I know exactly how the controls will look in various browsers, regardless of which theme the browser is using.

It may not be the best looking JavaScript generated music player thingy on the web, but it is my JavaScript generated music player thingy.

So fire up your HTML5 compatible browser and head over to my "music" page to check it out. Anyone interested in the code should visit the PagePlayer project page, where the HTML,JavaScript,CSS, images, and audio can be downloaded.

Now stop reading, and check your code for graceful degredation and IE6 compatibility.
Comments
Name:
not required
Email:
not required (will not be displayed)
Website:
not required (will link your name to your site)
Comment:
required
Please do not post HTML code or bbcode unless you want it to show up as code in your post. (or if you are a blog spammer, in which case, you probably aren't reading this anyway).
Prove you are human by solving a math problem! I'm sorry, but due to an increase of blog spam, I've had to implement a CAPTCHA.
Problem:
0 plus 9
Answer:
required
2009-12-31
This is not a "year in review" post, nor is it a "woohoo it's New Year's Eve" post. There are other reasons to celebrate.

Every day, a small victory is achieved by someone, somewhere, trying to do who knows what. To this person, I raise my glass in celebration and smile with them.

It is easy enough to bemoan the hardships, trials, and travails of everyday life, but what about the flip side of that coin? For every complaint there should be a supportive comment, a slap on the back, a kind word. In short, the stories of the little victories should not only be remembered, but they should also be shared.

Not everyone shares their stories, but everyone has a story. Actually everyone has quite a lot of stories. These are mine:

Brewing
On the evening of December 30th, while listening to a few months worth of Rathole Radio I started brewing a five gallon batch, of what I am now calling Rathole Red, with:
No, I am not affiliated with Willam's brewing in any way, shape or form. I am simply a very happy customer(but that is not why I am celebrating). Not a drop of wort was spilled, nothing on the stove burned. It was a very uneventful brewing, and for this, I celebrate.

Petaluma
Today was an overcast almost raining day; a good day to stay inside and sip coffee. However, I need to break in a new reed and playing bagpipes indoors is not very fun, so I packed up the pipes, hopped on my bicycle, and peddled to my favorite practice spot on the Petaluma River. When I got to the spot, one of my friends was out on the water fishing from a boat. So far, he had only caught a crab. Catching a crab while fishing? Celebrate!

For part of the ride home, I was behind a truck pulling a trailer with about 6 cows in it. Let me tell you about cows. Cows poo a lot. Cows also pee a lot. When a bunch of cows are in a trailer, the mixture of their poo and pee makes quite a bit of muck that flows out of the trailer and onto the roadway (and any bicycle rider that happens to be behind the trailer). Fortunately I managed to dodge all of the muck. This was in downtown Petaluma. I love this town! Celebrate!


They may be small victories, but they are all mine.

Now stop reading, and go celebrate.
Comments
Name:
not required
Email:
not required (will not be displayed)
Website:
not required (will link your name to your site)
Comment:
required
Please do not post HTML code or bbcode unless you want it to show up as code in your post. (or if you are a blog spammer, in which case, you probably aren't reading this anyway).
Prove you are human by solving a math problem! I'm sorry, but due to an increase of blog spam, I've had to implement a CAPTCHA.
Problem:
5 minus 4
Answer:
required
2009-12-01
About a year and half ago, I replaced my heavy cruiser with a light-weight single speed bicycle. The idea at the time was to make it easier for me to implement the five mile rule: if it is within five miles, ride a bike or walk. (fortunately everything in Petaluma is within five miles of anything else in Petaluma)

There was one time that I drove my car to the car wash and maybe a car-pool or two with some friends, but for solo trips, it is walk or ride the bike, and all of the trips have been to a destination within 5 miles of my home ( that's 8 kilometers for my metric friends).

Many were the days towing groceries across town in the trailer, or pedaling to my favorite location of solitude along the river for some music practice.

At some point in the Spring of 2009, someone thought it would be a good idea to steal the speedometer off of my bicycle. Damn. Having grown accustomed to knowing how far I travelled when riding, I promptly purchased a new speedometer.

Today the new speedometer passed the thousand mile mark and I couldn't help but reminisce upon the various sights, sounds and people that made so many of my Summer bicycle trips so memorable. Thank you.

Now stop reading, and go ride to the store.
Comments
2009-12-04 oswaldkelso:
Hi jezra
I found it very interesting that you chose a single speed bike. I had a look at Petaluma but couldn't really tell if you have much in the way of hills. About 3 months ago I started riding my bike to work, with a view to giving up my car. 7.5 - 8 miles each way depending on the route. But I'd be brave to use a single speed bike though. I travel from a hight of approx 130m to a low of 50m then up to 85m. Without doubt it is the gradient not much more than the actual hight that's a killer. (for an oldie like me anyway) Are you super fit or is Petaluma flat.
2009-12-04 jezra:
Petaluma is very flat sea-level flood plain, and I have learned to zig-zag around the few steep inclines that are in the city. Rarely will I encounter an elevation change of more than 20 meters, although every now and then I'll climb a hill for fun.

You may be interested in http://www.gmap-pedometer.com/ for determining distance and height of your routes.
2009-12-08 oswaldkelso:
Thanks for that. I used it to get an accurate distance. The ability to unlink the snap to feature, then draw a straight line where my off road and, no road, short cuts go, was great.

I have two routes one to work where it's mostly down hill (just under 7.5 miles).

One back slightly longer (just over 7.5 miles) but longer. On this route as it does not drop to the lowest point. I hate having to go to the bottom of a hill, just to have to climb it.

Thanks
Name:
not required
Email:
not required (will not be displayed)
Website:
not required (will link your name to your site)
Comment:
required
Please do not post HTML code or bbcode unless you want it to show up as code in your post. (or if you are a blog spammer, in which case, you probably aren't reading this anyway).
Prove you are human by solving a math problem! I'm sorry, but due to an increase of blog spam, I've had to implement a CAPTCHA.
Problem:
9 minus 0
Answer:
required
2009-11-21
It should be called an audcast because it is an audio broadcast. What does pod have to do with it?

When I listen to audcasts, I first SSH into my media playing machine connected to the home stereo system and launch gPodder (that should be gAuder and you auder use it). After launching gPodder, I can then check for and download new episodes, or I can have gPodder launch an application to play already downloaded episodes.

GPodder doesn't play episodes, but it can be configured to play audio or video with a user specified application. It was the actual need of a command line audio player to use with gPodder that led to the creation of sap.

What I recently found out is that when one tries to play an audcast or vidcast (video broadcast) that is not present on the computer, gPodder will launch the player application using the on-line location of the *casts file, so instead of download and then playing the file, the file can be played over streaming HTTP. This will only work if the player is capable of playing a file over HTTP.

That's a nice little feature/bug!

Since the media playing machine has s-video out to a television, I can use gPodder in conjunction with mplayer to stream NOVA vidcasts.

Sweet!

Now quit reading, and go sit on your duff while watching NOVA.
Comments
Name:
not required
Email:
not required (will not be displayed)
Website:
not required (will link your name to your site)
Comment:
required
Please do not post HTML code or bbcode unless you want it to show up as code in your post. (or if you are a blog spammer, in which case, you probably aren't reading this anyway).
Prove you are human by solving a math problem! I'm sorry, but due to an increase of blog spam, I've had to implement a CAPTCHA.
Problem:
6 minus 2
Answer:
required
2009-11-18
code dreams
Sometimes I dream code. To be a bit more specific, sometime I dream about a solution to a coding problem that I'm having. Upon waking, I will test the dreamed of code to see if it actually solves the problem. This scenario has played out a few times with much success.

the latest incarnation
Recently however, I had a dream that dealt with code that wasn't mine and I have never seen. The code was written by a fellow student in my programming class, and the dream contained a possible way to increase the speed at which the student's program would complete its task. Under normal circumstances, I would just contact the student and explain the possible fix.

like a song stuck in my head
Unfortunately, I have now forgotten the fix, it isn't possible for me to contact the student, and I have no idea what the actual code looks like. This has left me with a bit of "code on my mind" that I think about often enough that I have decided to write some similar code to help clear my mind.

in the beginning
Let me first define the problem: It takes a long time to draw a circle on the screen. Huh? How about a little more info.
The programming language is Apple BASIC, the machine is an APPLE IIe, and the year is 1989. Yea, I had a dream about 20 year old code.

In the programming class, we were creating animations and graphics, and the student needed to draw a circle.
What I think the student's program did was loop through each of the 360 degrees in a circle and determine the degrees circumference point relative to a set radius, and then "turn on" the pixel at that point. This took about a minute per circle on the Apple's 1Mhz processor.

back to the present
So I thought I would create some similar and highly pointless code in javascript. Why not?
Instead of pixels, my code creates HTML div elements, that are 2 pixel squares, and aligns the elements by setting the div's style.top and style.left properties.

The code can be run at jezra.net/code_examples/draw_circle.htm.

Now stop reading, and go do something pointless.
Comments
2010-07-31 Psychedelic Squid:
I know it was never intended to be a proper way to draw a circle, but it still really bothers me that any radius over 77 produces a circle with splits in the outline. Hrm.
Name:
not required
Email:
not required (will not be displayed)
Website:
not required (will link your name to your site)
Comment:
required
Please do not post HTML code or bbcode unless you want it to show up as code in your post. (or if you are a blog spammer, in which case, you probably aren't reading this anyway).
Prove you are human by solving a math problem! I'm sorry, but due to an increase of blog spam, I've had to implement a CAPTCHA.
Problem:
3 plus 4
Answer:
required
2009-11-14

All Sales Are Final
While checking out the goods at a local thrift store, I found a VHS copy of Ghostbusters for a dollar. How could I resist? A few minutes later, I was at home being very non-plussed, due to the ribbon in the VHS being torn.

Thank you 80s
When my favorite audio cassettes broke, it was a simple matter of taking the cassette apart, fixing what was wrong, and putting the cassette back together. Is a VHS tape any different?
Not really.

I'll just take the VHS tape apart and fix it!



No, no I won't. Damn you RCA!
The RCA manufactured VHS cassette is held together with a bunch of screws and one rivet.

The smart thing to do is use a drill to remove the rivet.

I opted for prying the cassette apart and breaking it beyond repair.



Fortunately, about a year and a half ago my brother gave me an unopened package of 9 VHS cassettes, that I was never really planning to use.

Good thing I kept those things around. Thanks again Jason!

Here is a blank cassette openned up and ready to be a surrogate for the soon to be fixed ribbon.



The red tab that holds the ribbon to the cassette wheel needs to be removed so that I can attach the end of the ribbon from the other cassette wheel.

There is a small hole on the cassette wheel that will allow me to push the tab out.



Alright! The ribbon has been attached to the cassette wheel.

I just need to trim off the excess ribbon and align the wheels and ribbon in the VHS housing.



After re-assembling the cassette, a bit of packaging tape was used to affix the original movie labels to the surrogate.

check out those sweet left-handed scissors.



YES! It works!

Many Shuvs and Zuuls knew what it was to be roasted in the depths of the Slor that day, I can tell you!







Now stop reading, and prepare for the coming of Gozer the Gozarian!
Comments
Name:
not required
Email:
not required (will not be displayed)
Website:
not required (will link your name to your site)
Comment:
required
Please do not post HTML code or bbcode unless you want it to show up as code in your post. (or if you are a blog spammer, in which case, you probably aren't reading this anyway).
Prove you are human by solving a math problem! I'm sorry, but due to an increase of blog spam, I've had to implement a CAPTCHA.
Problem:
3 plus 8
Answer:
required
2009-10-26

It started as a simple enough question: "what is the best way to clean the contacts on Nintendo Entertainment System cartridges?"

Since the contacts are copper, I figured that the tarnish on the contacts would be copper oxide. A quick interwebs search delivered the result of vinegar with a bit of salt. The vinegar contains acetic acid and the salt, when it is dissolved, will add some free ions and make the acid electrically conductive. All is good and dandy.

Wait... vinegar and salt? Other than chilis, those are the main ingredients of hot sauce! Damn, I love hot sauce.

Now I needed to know, which hot sauce is best for cleaning copper.

Let the experiment begin. The first thing needed is a bunch of copper. I opted for using pennies.

Here are the pennies from just the top of my change jar.



The pennies sorted by decade. The single penny on the left is the 50s. The large pile on the right is the aughts.




The pennies for this experiment are in the middle and they all have about the same amount of tarnish and they are from the same decade. On the left is a 1959 penny and on the right is a 2009 penny.




Ah the cleaning agents.
12 ounce Crystal
2 ounce Tabasco
32 ounce Tapatí­o
Normally I wouldn't buy Tabasco because I don't really consider it a "hot" sauce. However, since Tabasco is such a popular sauce, I decided to add it to the test.

Lately, when opening a new bottle of hot sauce, I have been writing the date on the bottle so that I can determine just how much hot sauce I consume. I've been averaging about 1.3 ounces a day.




Three Yuengling bottle caps were used to hold the sauces and then the test pennies were placed in the bottle caps for about 1 minute.




After rinsing the sauces from the pennies, it was time to determine the winner.

The three pennies in the middle are the test pennies.




Originally, I thought the Tabasco sauce would be the winner because it mostly tastes like vinegar and salt. ( At least it does to my palette )

And in fact, I would say that Tabasco outshined the other sauces in this test. Ha! I love a good pun. Anyway, my assessment of why Tabasco worked so well has changed. After noticing that the Tabasco soaked penny was cleaned up in even the more minute nooks and crannies, I feel that the viscosity of the sauce allows it to penetrate into the hard to reach places.


Hot sauce, it isn't just for tacos.

now quit reading, and go perform an experiment.
Comments
2009-10-27 Rod C. Johnson:
Jezra

You ought to try the poor man's hotsauce- ketsup. Believe me it works wonders and you can really 'clean up' on bar bets.
2009-10-27 jezra:
The problem with ketchup is that I don't use it, and therefor there is none for me to experiment with. Although I have seen how well tomatoes clean steel.

"clean up"
2009-11-18 Nokes:
So, have you tried cleaning your NES cartridges with Tabasco yet?
2009-11-18 Jezra:
Nokes, the answer to your query is "No". All of my NES cartridges have been donated to the few gamers in my area that still play NES.
Name:
not required
Email:
not required (will not be displayed)
Website:
not required (will link your name to your site)
Comment:
required
Please do not post HTML code or bbcode unless you want it to show up as code in your post. (or if you are a blog spammer, in which case, you probably aren't reading this anyway).
Prove you are human by solving a math problem! I'm sorry, but due to an increase of blog spam, I've had to implement a CAPTCHA.
Problem:
6 minus 6
Answer:
required
2009-10-15

Although I certainly enjoy taking pictures with a film camera, digital image manipulation also has quite a bit of draw for me.

Recently, I started playing with the mathmap plugin for GIMP. Armed with a 3.2 megapixel camera, I took a few snaps of my model holding a picture frame, and then I got down to business.



drosteThis is pretty much the standard first droste style image one makes with mathmap.

There is far to much symetry and crowding of the frame element for my tastes, but hey, not bad for the first try.



droste offsetNow that is a bit more like it.

With the objects in the image not being centered to infinity, I tend to like this one a bit more than the previous image.

Too bad the alignment of the nested images doesn't match the frame very well.




droste wrapAh the wrapping droste effect image. Does this style have an actual name or can I just call it the wrapping droste effect?

Not as cluttered as the original nested image, so it is a bit easier on the eye.




Because I wanted to make everyone ill, here is an animated gif of the offset droste image.

Are you a little queasy yet?



What does all of this mean? It means that the "know-how" is now mine and I need to make a fancy shmancy image with a bit more forethought regarding the contents of the image.


now stop reading, and go make a picture

Comments
Name:
not required
Email:
not required (will not be displayed)
Website:
not required (will link your name to your site)
Comment:
required
Please do not post HTML code or bbcode unless you want it to show up as code in your post. (or if you are a blog spammer, in which case, you probably aren't reading this anyway).
Prove you are human by solving a math problem! I'm sorry, but due to an increase of blog spam, I've had to implement a CAPTCHA.
Problem:
2 plus 9
Answer:
required
2009-10-01

Tools and food make great presents, and really good tuna makes an even better present. When I talk about good tuna, I'm specifically referring to Pacific Fleet tuna.
Disclaimer:I'm friends with the owner, so take my shilling with a grain of salt, or you could take it sautéed in a skillet with some capers. Damn that is some good tuna.

Anyway, I was recently in need of a birthday gift and I thought that three cans should do the trick.



There are few ways to wrap cans of tuna so that the recipient of the tuna doesn't say "it's tuna". Fortunately, I have duct-tape,cardboard, scissors, and a somewhat active imagination. It should also be noted that I recently played a lot of Zelda.

A tri-force design will hide the fact that this is three cans of tuna.



It's that bridge again!

During the trip to San Francisco, where the gift would be delivered, I wrapped the gift in duct-tape. One can't use too much duct-tape, the excess just adds a bit of flair.



The triforce tuna fish present in all of it's chrome glory. Who wouldn't want that as a gift?



This is my brother Jason and his mustache 5 seconds after he received the triforce, and 1 second after he said "It's tuna!". Damn how did he know?

After five minutes of unwrapping the duct-tape and not really getting anywhere with it, Jason decided to open the triforce at a later time, hopefully with a knife.



Did I mention his stache?


Happy birthday Jason.


Comments
2009-10-02 Windigo:
Do you have a third brother with an epic beard?

If so, I would deem your family the Tri-Force of the face, which begs the question...

Which one of you has the evil facial hair?
2009-10-02 jezra:
@Windigo
evil facial hair = clean shaven.
Name:
not required
Email:
not required (will not be displayed)
Website:
not required (will link your name to your site)
Comment:
required
Please do not post HTML code or bbcode unless you want it to show up as code in your post. (or if you are a blog spammer, in which case, you probably aren't reading this anyway).
Prove you are human by solving a math problem! I'm sorry, but due to an increase of blog spam, I've had to implement a CAPTCHA.
Problem:
5 minus 5
Answer:
required
2009-09-24
Petaluma is divided in two by a river and a freeway, and there are very few crosstown thoroughfares that cross both the river and the freeway. One such street, Washington, also has an off ramp for the freeway and connects residential areas with large shopping centers. This leads to quite a bit of traffic.

On the 22nd of September, I volunteered for the Petaluma Pedestrian and Bicycle Advisory Committee to help with their counts of pedestrians and bicycle riders at various location around town. My location for the count was Washington street at the Northbound freeway offramp from 4PM to 6PM.

In between tallying cyclist and pedestrian counts, I watched people in cars and I made a few observations.
  • Driving is not fun; no one was smiling except for the people that knew me and waved to me
  • No one cares about the hands free cell phone law. In the two hours that I was at the intersection, I must have seen at least 20 people flapping their gums with a phone at their ear.
  • Surprisingly, a lot of people listen to iPods while driving; damn those lawbreakers with their white earbuds.
  • little kids stare at sideburns. Sideburns put the awe in awesome.
  • 90% of the cars that passed me had a single occupant.
  • Next time, I need to take a camera with me. Hidden within the monotony of cars is a uniqueness that needs to be captured.


The sheer number of vehicles that passed me, in contrast to the slim number of pedestrians and cyclists, left me agog. At the quite slow pace of 9 miles/hour, one could travel 4 miles in 26 minutes and 40 seconds. This means that by bicycle, any point in Petaluma can be reached within a half-hour from any other point in Petaluma.

Life is too short to not waste time riding somewhere.

Now stop reading and go pedal somewhere.
Comments
2009-09-28 Alistair Munro:
Jezra,

If nobody else tells you today, somebody should. Without any irony or sarcasm, sincerely brother, you are a unique and brilliant individual.

Alistair (B1ackcr0w off Outlaws)
Name:
not required
Email:
not required (will not be displayed)
Website:
not required (will link your name to your site)
Comment:
required
Please do not post HTML code or bbcode unless you want it to show up as code in your post. (or if you are a blog spammer, in which case, you probably aren't reading this anyway).
Prove you are human by solving a math problem! I'm sorry, but due to an increase of blog spam, I've had to implement a CAPTCHA.
Problem:
7 minus 2
Answer:
required
2009-09-19
For the most part, I see it as just another part of the route to San Francisco. After going up a hill, through a tunnel, and then down a hill, lanes merge and cross over the water to the toll booth. Having crossed it at least a hundred times, I've become somewhat desensitized to that span of steel and asphalt called the Golden Gate Bridge. In fact, I hate the bridge. To me the Golden Gate is a place where I sit in traffic waiting to pay a toll.

Sometimes though, perspectives change.

On a recent outing with some friends from the East Bay, I traveled to a place I might never visit again. N37°49'8 W122°28'48. Rising and falling on the ocean swells that are outside of the protective waters of the bay, I felt small, very small, and I took a picture of the bridge as it loomed above me in its massive glory.
passing under the bridge
Forevermore, the Golden Gate will have a new meaning to me.

Later that day, I was given the responsibility of sailing the vessel under the Bay Bridge by Treasure Island.
100_0133
Upon returning home, the GPS data recorded for the trip was processed with Viking, a free and Open Source GPS data plotter, so I could give the captain some statistics about the trip.
sailingroute
It was a memorable day with good weather, a good vessel, and great company. May your skies be clear, and your sails full of wind.

Now stop reading and go on an adventure.
Comments
2009-09-24 K:
What a fabulous adventure - I love that you've had a change of perspective....
2009-09-25 jim:
JIM really cool Jez
Name:
not required
Email:
not required (will not be displayed)
Website:
not required (will link your name to your site)
Comment:
required
Please do not post HTML code or bbcode unless you want it to show up as code in your post. (or if you are a blog spammer, in which case, you probably aren't reading this anyway).
Prove you are human by solving a math problem! I'm sorry, but due to an increase of blog spam, I've had to implement a CAPTCHA.
Problem:
7 minus 3
Answer:
required
2009-09-15
Now that the rotory dialer input device is finished, I thought it would be a good time to make a video of the device in action. After a few delayed starts and poor lighting, I had some semi-decent footage of phone, but now what?

The previous video I created to show off a switch interface was edited using kino, which is a nice video editor with great support for capturing digital video off of a camera attached via a firewire cable. This time around, I used kdenlive to edit my video because kdenlive has a few different features that will help speed up my editing time. ( I still used kino to grab the video off of my camera)

With the video edited, It was time to upload to a host. Typically, I would use youtube for this sort of thing ( just because I use a tripod, it doesn't mean I can't use youtube) , but since I wanted to see if I could integrate the HTML5 Video tag into a web page, the video was uploaded to youtube and tinyvid.tv: a host for theora video. By getting creative with the "video" tag, I should be able to show the Theora video to those using browsers that support the Video tag, and everyone else will see the flash video.


If your feed reader isn't displaying the video, it can be viewed directly on tinyvid as well as on youtube.


In hind sight, I probably should have shown the phone doing more visual stuff on the computer screen. When the system is set up to play and control audio, it makes for a very boring video experience.

now go make something.
Comments
Name:
not required
Email:
not required (will not be displayed)
Website:
not required (will link your name to your site)
Comment:
required
Please do not post HTML code or bbcode unless you want it to show up as code in your post. (or if you are a blog spammer, in which case, you probably aren't reading this anyway).
Prove you are human by solving a math problem! I'm sorry, but due to an increase of blog spam, I've had to implement a CAPTCHA.
Problem:
5 minus 3
Answer:
required
MCM_468x60_static
2009-08-07
I've been fairly excited about the "audio" and "video" tags in the upcoming HTML5. Yes, I said excited.

Currently, to play and control audio on a webpage, one needs to use a browser plugin to control the audio. For the most part, this means the flash player. Oh flash, how I loath thee; thou art buggy and sucketh mine resources. Visiting a web page with multiple instances of embedded flash can bring my browser to crashing halt. Fortunately, the future looks illuminated. Although I was tempted to say the future looks bright, Apple has clouded the sun and dimmed things a bit. Oh well, I'm still happy because in the specification for the new HTML 5 standard is a tag for including an audio file directly in a web page.

Instead of having a few unreadable lines of code to embed a flash player in a page and thus requiring the end user to have the flash plugin installed, one will only need a simple line of code such as
<audio src="path/to/audio/file"controls="true"></audio>
Oh happy day!

Fortunately, the fun doesn't stop there. Since the audio or video is now a part of the web page, the media can be accessed and manipulated through javascript. This will allow developers to create fancy web based audio and video players that use nothing more that JavaScript, HTML and CSS. To illuminate what I mean, I've created a very simple HTML 5 audio player example. Since the HTML 5 standard has yet to be finalized and few browsers comply with the coming specification, the example will probably only work properly with Firefox 3.5.

Thank You HTML 5; I look forward to an internet with much less Flash and much more functionality.
Comments
2009-08-10 Windigo:
Here here!

I can't wait until HTML 5 gains enough of a foothold to start being involved in the majority of the web. It gives us so many more options, so much leeway, with what we're able to do in the browser with Free technologies and standardized code.

I'm betting that the browsers that support all of HTML 5, like Firefox and (possibly) Opera for example, will see their market share rise as well. When cool web apps hit the stage that take advantage of the advances in HTML 5, it might be the final push people need to upgrade.
2011-05-07 xaccrocheur:
Wow, Jezra, your PagePlayer is wonderful. I've been looking everywhere (I mean it) for a good, lucid, and free html5 audio playlist implementation, and yours is rock-solid, and using very little code.

The only minor gripe I have is in the logic of substituting HTML elements on the fly with JScript, rendering the whole process a bit abstract (and I hear that innerHTML is proprietary)..?

I have two questions :

-Given that your script is expecting <li></li> elements and turns them into a list of divs, how would one do to present the song entries in a tabular manner ? You see, in order to display the duration, the encoding, the download and sharing links and all that stuff, on one line, forming neat columns, and then stay clean when JavaScript is disabled ?

I'd like to merge your very simple example with the load/unload logic of PagePlayer, bypassing the substitution, using only named <span> tags into whatever container the user would want, in this case <table> elements. (Of course the resulting work will be GPL'd)

-Do you know anyway to play audio in an HTML5 page (*using* HTML5 audio) with JScript disabled ?

Phil
2011-05-07 xaccrocheur:
Jezra wait.

1-My formulations are unclear, leaving you a lot too much of work figuring out what exactly I mean. Sorry about that.

2-I got it. I'm going to use your "description_div" to display everything related to the song currently playing. It's elegant, compact, semantically correct, I like it. What I like too, is the idea of *not* touching your code at all, thus easing maintainance.
2011-05-07 jezra:
If javascript is disabled, the <audio> tag will still work; assuming that the browser supports the <audio> tag.
2011-05-09 xaccrocheur:
I'd like to be able to play one given song at pageLoad, is there a built-in way of doing this ; you provided a way to pass variables to plagePlayer, is there a way to do something like "song_to_play=N" ?
2011-05-09 xaccrocheur:
Never mind, I found out. I just pass the index of the song to play to "load_track(index)" in the body onload, and use playAudio() right after that. Sorry for being such a self-teaching teddy-bear.

On a side note, do you know why your code is incompatible with jquery ? I tried it down to a single script call in the header of PagePlayer.html demo page, and it breaks the player right away..?
2011-05-09 jezra:
it probably has to do with the "$()" function being referenced multiple times. Once in PagePlayer and once in jquery
Name:
not required
Email:
not required (will not be displayed)
Website:
not required (will link your name to your site)
Comment:
required
Please do not post HTML code or bbcode unless you want it to show up as code in your post. (or if you are a blog spammer, in which case, you probably aren't reading this anyway).
Prove you are human by solving a math problem! I'm sorry, but due to an increase of blog spam, I've had to implement a CAPTCHA.
Problem:
1 plus 2
Answer:
required
2009-05-28
No, this isn't about GNU/Linux, or code. This is about physical community and a bit of digital community, more specifically this is a slice of Petaluma ( or at least a taste of a slice ). Today was the second of thirteen "slow ride" bicycle rides organized by Sonoma Bicycle Company with support from New Belgium Brewing. OK, that's enough of me being a shill.

The ride consisted of about 20 people aged 5 to 55, starting from the bike shop, meandering for 4.21 miles through the west side of Petaluma and finally ending at a local sports bar/restaurant(not my favorite thing, so I just went home afterwords.) All in all, it was a nice ride and great way to meet new people with similar interests to my own; there was quite a bit of homebrewing talk during the ride.

My only regret was not taking my GPS tracker with me to help map Petaluma for the Open Streetmap project. Having ridden through various parts of Petaluma with an active GPS tracker, I know just how much the Petaluma map data needs to be updated. Luckily, there are 11 more rides yet to come and I hope to take part in as many as possible; and it is quite a bit more fun than the cow-chip tossing competition that I entered during the Butter and Eggs day parade.
Comments
Name:
not required
Email:
not required (will not be displayed)
Website:
not required (will link your name to your site)
Comment:
required
Please do not post HTML code or bbcode unless you want it to show up as code in your post. (or if you are a blog spammer, in which case, you probably aren't reading this anyway).
Prove you are human by solving a math problem! I'm sorry, but due to an increase of blog spam, I've had to implement a CAPTCHA.
Problem:
5 minus 0
Answer:
required
2009-03-20
As a fan of podcasts, I use Thomas Perl's wonderful gpodder to download and keep track of my podcast subscriptions. In the spirit of UNIX, gpodder does one thing and it does it very well. Unfortunately, for me, gpodder does not actually play the podcasts that it downloads. That responsibility is handled by a user selected application in gpodder's preferences.

The machine that I actually run gpodder on is a headless unit that is connected to my home entertainment system and I need to access the machine through SSH with X11 forwarding. This causes a problem for some graphical audio playing software and results is very glitchy playback. The solution to the problem is to use a command line audio player like mplayer. (Un)fortunately mplayer is borked on the media machine so I had to write my own audio player.
[cue the trumpets]
May I present to you, SAP a Simple Audio Player written in Vala utilizing gstreamer and ncurses. What does it look like?

beautiful!

One of the issues with using ncurses in a gobject environment is the necessity of two mainloops; one for gobjects and one for the ncurses interface. The solution for me was to create a gobject class for the ncurses interface and run the ncurses mainloop as a thread. This allowed for user input collected by ncurses to be passed to other gobjects by signals.
Comments
Name:
not required
Email:
not required (will not be displayed)
Website:
not required (will link your name to your site)
Comment:
required
Please do not post HTML code or bbcode unless you want it to show up as code in your post. (or if you are a blog spammer, in which case, you probably aren't reading this anyway).
Prove you are human by solving a math problem! I'm sorry, but due to an increase of blog spam, I've had to implement a CAPTCHA.
Problem:
0 plus 7
Answer:
required
2009-03-05
Damn spam. Don't get me wrong, I like spam of the Hormel variety, I'm talking about internet blog spam.

Having imported blog postings as well as blog comments from the exported blogspot XML file, it was time to create a mechanism for allowing new comments to be submitted by readers. Within hours of uploading the new code, the first piece of blog spam was posted.

Honestly, I was somewhat happy. It had to happen eventually and I was hoping to get some blog spam text with which to test some spam detecting code. The basics go something like this:
  • text has HTML, that's a flag
  • text has bbcode, that's a flag
  • more than 40% of the text is html and bbcode, that's a flag
  • the percentage of unique words in the text is < 40%, that's a flag

If the text has two or more flags, the form will ask the commenter if they are a spammer. Yea, that usually takes care of the bots.

mmmmm spam
Comments
Name:
not required
Email:
not required (will not be displayed)
Website:
not required (will link your name to your site)
Comment:
required
Please do not post HTML code or bbcode unless you want it to show up as code in your post. (or if you are a blog spammer, in which case, you probably aren't reading this anyway).
Prove you are human by solving a math problem! I'm sorry, but due to an increase of blog spam, I've had to implement a CAPTCHA.
Problem:
6 plus 8
Answer:
required
2009-03-03
Blogspot allows users of their service to export blogs as an XML file and I thought it would be a nice experience to import the XML data into a MySQL database and display the blog using the feature-free framework (which is starting to get a few features) . The XML file stores everything as an "entry". The Entry may be a blog, an edit of a blog, a comment, or some configuration data. First things first, make a database table to hold just the blog postings. My schema ends up looking like this
CREATE TABLE `blogs` ( `blogs_id` int(11) NOT NULL auto_increment, `title` char(99) collate latin1_general_ci NOT NULL, `body` text collate latin1_general_ci NOT NULL, `date` datetime NOT NULL, `id` char(100) collate latin1_general_ci NOT NULL, `hidden` tinyint(4) NOT NULL default '1', PRIMARY KEY (`blogs_id`), KEY `id` (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;

A bit of PHP code using the SimpleXML functions mostly handled parsing the XML data. I say mostly because the exported contains XML elements with colons and dashes in their name, for example <thr:in-reply-to>, which SimpleXML doesn't seem to handle. Oh well, a bit of Regex on the initial XML string took care of the colons and dashes.

Back to the schema; do you see the "id" field? Let me explain. The "id" is a unique string based upon the title of a blog post. Take a blog title, strip the non-alphanumeric characters and replace spaces with _, and you have an id. Why? I don't like the way most blogs create urls for posts and I want to create links based upon a unique representation of a blog entry's title,

It is my opinion that the more directories an item is in, the more focused and unique the content of the item and the rarer it should be in search results. Similarly, I find that a webpage should be related to its parent directories in a way not based on date. For example, an item that would normally be accessed at www.example.com/blogs/2009/03/05/some_article has a directory depth of 4. Using the code I wrote, the article would be displayed as www.example.com/blogs/some_article and would have a directory depth of 1. Something with a depth of 1 is more important although theoretically more vague than something with a depth of 4. Again, this is just my personal opinion.
Comments
Name:
not required
Email:
not required (will not be displayed)
Website:
not required (will link your name to your site)
Comment:
required
Please do not post HTML code or bbcode unless you want it to show up as code in your post. (or if you are a blog spammer, in which case, you probably aren't reading this anyway).
Prove you are human by solving a math problem! I'm sorry, but due to an increase of blog spam, I've had to implement a CAPTCHA.
Problem:
8 minus 8
Answer:
required
2009-01-05
As my hobby software projects get larger and larger, it is no longer that efficient to post large chunks of code for a finished project, especially when the code may be spread out over multiple files. To solve this problem, I've taken the step to get a domain from which I can host gzipped archives of software projects that I'm working on.

Currently, the only projects being hosted are hubcap and vplayer; a metronome and a commandline audio player, respectively, both of which are written in Vala and use the same audio playing class that most if not all of my future audio playing Vala projects will use. Reduce, Reuse, Recycle.

To keep things boring, I have chosen the rather blandly named jezra.net as the domain for this adventure of mine. The site is running the feature free framework that I mentioned in a previous post as well as some custom javascript and CSS to make the rounded rectangles on most of the pages; all of which I hope to post when I get a chance to clean up the code a bit.
Comments
Name:
not required
Email:
not required (will not be displayed)
Website:
not required (will link your name to your site)
Comment:
required
Please do not post HTML code or bbcode unless you want it to show up as code in your post. (or if you are a blog spammer, in which case, you probably aren't reading this anyway).
Prove you are human by solving a math problem! I'm sorry, but due to an increase of blog spam, I've had to implement a CAPTCHA.
Problem:
0 plus 6
Answer:
required
2008-12-30
For years, I have been listening to the podcast of This American Life a radio show produced by WBEZ Chicago and hosted by Ira Glass. It isn't talk radio, it isn't a call in show, it isn't music. It is stories, true stories, based on a theme of some sort. Hard to describe, yet captivating to the ear and a good listen while programming.

WBEZ is Public Radio and to make sure that This American Life will continue to entertain and educate, today I made a holiday gift to myself and all of the listeners of This American Life by donating money to WBEZ.

Thank you Ira, and thank you WBEZ
Comments
Name:
not required
Email:
not required (will not be displayed)
Website:
not required (will link your name to your site)
Comment:
required
Please do not post HTML code or bbcode unless you want it to show up as code in your post. (or if you are a blog spammer, in which case, you probably aren't reading this anyway).
Prove you are human by solving a math problem! I'm sorry, but due to an increase of blog spam, I've had to implement a CAPTCHA.
Problem:
2 plus 7
Answer:
required
2008-11-19
About 300 lines of code were deleted from my computer last week and this included a bunch of bug fixes that I had written. Granted, 20% of those lines were comments, but I still lost an entire application that I was working on. Late night bug-bashing, bleary eyed and ready for sleep; I accidentally deleted my source file. Damn! Less than impressed with myself, I unmounted my partition and tried to recover the file using debugfs. No dice. I was bummed and almost sad..... almost.

A few weeks ago, I decided that it would be a good idea to set up some sort of version control system for my coding projects. My requirements were fairly simple since there was only going to be one person submitting code for the various projects, although there may be more than one computer submitting code changes.
What I needed:
1. A simple server setup accessible from both my laptop and my desktop.
2. A simple server setup accessible from both my laptop and my desktop.
Yes, I know, one and two are the same, but I thought that the requirement was important enough to warrant mentioning twice.

I looked at Git, Subversion, and Bazaar as possible candidates for my version control system. For some reason, it was bazaar that caught my attention and this was probably due to the quick reference guides and tutorials on the bazaar homepage.

Unfortunately, their was not a tutorial on setting up a remote server other than an sftp server, so I sort of pieced together the bits I needed to set up bazaar host using ssh. Perhaps the full bazaar documentation has an explaination. To set up my bazaar server to handle ssh connections, I did the following.
1. make an ssh account on the remote machine
2. install bazaar on the remote machine
3. determine where on the machine to store my code and make sure that my ssh account has read/write permissions to the folder

Now I can write code on my laptop and use bzr to push the code to the SSH server. Later, If I want to test the code on my desktop, I can use bzr to get a copy of the code from the SSH server.

So I lost a bunch of code, but I had a very recent backup of the code on my little SSH server machine. Not bad, not bad at all.

In hindsight, and after reading a bit more of the documentation on the bazaar website, I probably should have set up my system to use a centralized repository to handle my code changes. Similarly, there was an easier way for me to get a more recent backup of my deleted file.... but that is for another time.
Comments
Name:
not required
Email:
not required (will not be displayed)
Website:
not required (will link your name to your site)
Comment:
required
Please do not post HTML code or bbcode unless you want it to show up as code in your post. (or if you are a blog spammer, in which case, you probably aren't reading this anyway).
Prove you are human by solving a math problem! I'm sorry, but due to an increase of blog spam, I've had to implement a CAPTCHA.
Problem:
5 minus 2
Answer:
required
2008-10-16
As a participant in the Petaluma Whiskerino contest, I was hoping to show my respect to, and get the word out about the Linux Outlaws podcast by purchasing and wearing a Linux Outlaws t-shirt during the contest. Unfortunately, I didn't purchase my t-shirt in time and the t-shirts was delivered a few days after the contest. I did however win 1st place in the sideburns category. Alaska, here I come.

So now, for your viewing pleasure, and in the spirit of zealots posting articles about "unboxing" their latest goo-gaw whiz-bang hardware, I am very happy to announce:
The Unpacking of My T-Shirt




Oh goodness! what can that be in my mail box? Why, it's a package from cafepress! It must be my Linux Outlaws T-Shirt. Wooohooo!


This is the package placed in one of my primary crafting areas; the middle of my living room.



Very carefully, cut open the package so as not to damage the contents. As you can see, I own a very nice pair of left-handed scissors. Normally, I would simply rip the plastic bag open with my hands, but I wanted to be professional because I was preserving the moment for posterity.



Reaching in to get the goodies! Again, very professional. Although dumping the contents of the bag onto the floor...er.... "work area", would have sufficed.



Oh my, look at all of the nifty stuff.




In hind sight, I probably should have used a different tool to open the paper band that wrapped around the t-shirt; like some right handed scissors.




Welly well well...... that is a really bad picture of a Linux Outlaws t-shirt, but believe me, it looks just like the cafepress Linux Outlaws t-shirt
Comments
2008-10-16 kozmcrae:
The guys a Phoronix have nothing on you. Great job. When I get my "Linux Outlaws" T-Shirt I will certainly reference your instructions here.
2008-10-16 jezra:
Thank you kozmcrae. It's nice to know that others are getting Linux Outlaws shirts as well. It certainly helps the community.
Name:
not required
Email:
not required (will not be displayed)
Website:
not required (will link your name to your site)
Comment:
required
Please do not post HTML code or bbcode unless you want it to show up as code in your post. (or if you are a blog spammer, in which case, you probably aren't reading this anyway).
Prove you are human by solving a math problem! I'm sorry, but due to an increase of blog spam, I've had to implement a CAPTCHA.
Problem:
7 minus 4
Answer:
required
2008-10-14
For some reason, I wanted to learn a new programming language. Having spent years on PHP and Python, I found myself one afternoon doing some programming test with C++. For some reason, it felt quite refreshing to write code that gets compiled to native machine code. Perhaps you are thinking "hey, python file get compiled to pyc files at runtime", and while I agree, the pyc files still need the Python runtime to execute the pyc code. Again, one might ask "what about py2exe?", to which I will reply "Windows Only".

What I pined for, was an object oriented language that I could compile to run natively on Linux and if need be, could also be compiled to run on Windows and Mac. So what are my options? To the best of my knowledge I have a choice of:
Java
ObjC
C#
Vala

Fourth Place - ObjC : If I were a Mac only programmer or a Mac programmer that recently moved to Linux, or a diehard NEXTStep fan, I might use ObjC. The main drawback is that ObjC needs a framework to be installed on the machine that the code is going to be compiled and run on. In this case, the Cocoa framework on the Macintosh or the GNUStep framework for Linux, BSD, and Windows. If Apple took a more active role in helping to develop the GNUStep framework I might be interested. To be honest, I don't think very many people are going to be installing the GNUStep framework on Windows.

Third place is almost a tie....almost...

Third Place - C# : In order to run a C# app, again, one needs a framework to be installed on the machine that the code is going to be compiled and run on. In the case of C#, this will be Microsofts .NET on Windows and to a lesser extent Mono on Linux, Mac, and yes, even Windows. Mono is an Open Source implementation of the .NET framework can compile and run C# apps written for .NET. The big problem here is that Microsoft has patents on various parts of .NET that, when the time is right, may be used to leverage lawsuits against users of Mono.

Second Place - Java : Blah Blah Blah, much like ObjC and .Net...to run java applications, one needs the Java runtime environment installed on the computer. Now while Java applications can't run without the java runtime to be installed, I would like to point out the the Java runtime for all platforms is maintained by one entity, Sun Microsystems, and this coupled with Sun's Open Sourcing of the Java Runtime code, will hopefully ensure that Java apps will run well on all platforms. Perhaps I will explore Java a bit more in the future.

First Place - Vala : The youngest of the programming languages in the list, Vala has not yet reach the version 1.0 milestone. Hmmmm, maybe I should look at Java again. Vala is more or less a wrapper around the C programming language and the Vala compiler converts Vala code to C code which is then compiled to a native application. If I want to compile my application on Windows or Macintosh, I would direct the Vala compiler to convert my Vala code to C code and then I would compile the C code on the target system or use a toolchain to cross compile for the target system, thus creating a native application that doesn't need a framework to be installed. The disadvantage of course, is that I would need to compile for each target system.

Until Next Time...
I'll GCC you you later.



That was really bad.
Comments
Name:
not required
Email:
not required (will not be displayed)
Website:
not required (will link your name to your site)
Comment:
required
Please do not post HTML code or bbcode unless you want it to show up as code in your post. (or if you are a blog spammer, in which case, you probably aren't reading this anyway).
Prove you are human by solving a math problem! I'm sorry, but due to an increase of blog spam, I've had to implement a CAPTCHA.
Problem:
6 minus 5
Answer:
required
subscribe
 
2019
2016
2015
2014
2013
2012
2011
2010
December
November
October
September
August
July
June
May
April
March
February
January
2009
December
November
October
September
August
July
June
May
April
March
February
January
2008