I have started a new job at the awesome Voalte. As a quick overview we do hospital voice, alarm and text (thus the VoAlTe) using ejabberd, freeswitch,
nitrogen, etc, on the backend and iphone on the frontend. It is a slick solution to the communication problem that faces hospital staff.

I have *just* started this week. I am getting acquainted with everything and trying to absorb the code and culture as best I can. I will try to refrain from speaking directly about it for a while, since I am new. Perhaps later I will talk about my experiences in more detail.

I have volunteered to research and implement a configuration management solution. The goal is to provide precise control over deploying and configuring thousands of computers on disparate networks. This is quite a challenge and it is somewhat difficult to find a tool that meets all of our requirements.

I have looked extensively at puppet, chef, spacewalk and cfengine. They all have great features. However, as with anything there are trade offs.

I will say that it is great to have new and interesting challenges so quickly.

§195 · September 4, 2010 · General · 1 comment ·


Edit: Apparently, this was announced last year! I guess I use
apps that are as out of the loop as I am.

Perhaps I am not plugged in enough. A few days ago all my twitter apps
stopped functioning. Twitter is not an integral part of my life and so I
figured it was something that would be corrected soon. As the hours
stretched into days I decided to look into the problem.

What I found is that the twitter API has killed off basic auth in favor
of oauth. I can understand the decision to move from basic auth. I can
understand the need to make everyone use oauth. What I can not
understand is the short notification period.

Like I said, I am not a plugged-in kind of person. At least not into
these new fangled social networks and life streaming systems. However,
as a user of a service what I can not understand is the extremely short
deprecation period that twitter gave app developers.

From my quick perusal of the announcement list app developers were given
a 15 day warning. Yes, 15 days to rewrite your app and distribute the
update to all of your users. Does not make much sense to me. Unless you
are actively trying to kill off your ecosystem.

Perhaps there is an earlier announcement that I was unable to
find. Regardless, all of the twitter apps that I use are currently
nonfunctioning with no updates that I can see. Honestly, I do not hold
the developers responsible for this. Two weeks is simply not enough time
to change such a fundamental component of your app. Especially from
something as simple as basic auth to something as complicated as oauth.

This is the problem with using a platform owned by a single
company. They have complete control over the systems, as they should,
and follow only their interests. While it is convenient that the
company’s interests often align with that of their users, it is not
guaranteed to be the case. Facebook is another example of this.

So twitter, it was fun. You were able to distract me on occasion. Some
useful bits of data came my way. You are definitely not worth the hassle
though. So I say good bye.

Identica, looks like you won :)

§198 · September 4, 2010 · General · 2 comments ·


For many years I have been making really great coffee. Everyone who drinks it is amazed at how good the coffee is. While I would love to claim that I am some kind of coffee prodigy, I simply follow Tom at Sweet Marias. The guy is pure passion. All his product recommendations and bean selections have been amazing.

Sweet Marias has a personality too. It is not some slick rounded corner corporate site trimmed down to a bland stub by lawyers. It finds that hard to reach middle above the myspace eyesore. Tom appears to be on this constant search and is tirelessly hunting for good coffee. It is not just the beans, he finds the best tools too. Pure awesome.

I hereby dub Tom of Sweet Marias the internet’s coffee person.

Now I have decided that I like tea. I am starting to like tea enough to invest in making good tea. However, I have run into a road block: I am unable to find the Sweet Marias of tea. I have found Adagio’s and other misc places, but I am not getting the same passion from them. They all look and read too polished to be run by people who really care. Don’t get me wrong, I am sure Adagio and friends are really great people, I am just not seeing the same single minded awesomeness I see at Sweet Marias (If I don’t get any real response from this post I am probably going with Adagio).

Perhaps I am making too brash an assumption that the coffee and tea culture would be similar enough to have Tom’s doppelgänger.

I am putting this out there to see if anyone is aware of where I can go to get access to a singularly and freakishly awesome tea guru?

§189 · November 21, 2009 · General · (No comments) ·


Things I knew before I started, but ignored: There is usually a reason that markets are under served.

Here is some background before I get to the real story.

I am somewhat involved in boy scouts, my son is a Webelo II and I volunteer for that I can. Last summer I volunteered to coordinate summer camp. This boils down to collecting forms, having parents fill them out, copying the info to different forms, handing forms in to the main office, hoping and praying that they don’t lose track of it,
keeping copies and then transcribing yet more data. All of this is done via paper and pen. I have never spilled so much ink in my life. Keeping track of so much paper and who has done what was a nightmare of epic proportions for someone like me. Other people’s money was involved in a mixture of checks and cash all with different amounts
due and constantly changing based on a mind boggling laundry list of variables. If ever there was a process ripe for automation, this was it.

I thought I found an itch I wanted to scratch.

The ephemeral goal was to provide a basecamp on steroids for scouts to organize themselves. I wanted something less complicated than BigTent, but a bit more custom tailored to scouting than a generic group org system would be.

I am quite satisfied at my current job. I wanted to solve a problem, not alter my life. I quickly realized that I needed to do two things; find a designer/usability guru and figure out if this was going to be a viable project. In other words, will this eventually pay for itself?

I got my friend Brenton Klik to sign on and together we did some research. I try to use conservative numbers, but when they become too bleak I shift to conventional wisdom as found in Hacker News. This is what we found:

There are about 20,000 cub scout packs and troops in the US and that number is shrinking. Right at the beginning there is a limited customer base. If we assume a maximum 10% market penetration over the course of a few years we end up with 2,000 customers.

I didn’t really want to do this myself so I wanted to hire someone, this means a decent developer and tech support person. With a part time support position and full time developer the initial yearly cost would be $80k. I

In order to eventually enter the black within a few years, I would have to charge $10/mo per pack, not per user. I didn’t really see the model working on a per user basis. Nor did I want the uncertainty of ad revenue. Basecamp charges $25/mo for the minimal package, so $10/mo seemed reasonable.

Brenton and I met with a representative from the scouts to figure out whether this was a viable idea. You can read his post for details on that experience.

In my opinion the biggest hurdle is that the scouts is a volunteer run and volunteer funded organization. I wasn’t out to make a living on this project, but I certainly didn’t want to lose any money either. There were significantly cheaper solutions out there. None of them do much of anything particularly well, but they do it cheap enough and
tolerably well enough. Which is what matters.

As Brenton said, for the price of a coffee we found out that the project wasn’t worth it. There are reasons why blue oceans are blue.

§185 · November 10, 2009 · General · 1 comment ·


I recently succumbed to gadget lust and bought an ebook reader, BeBook to be precise.  I read a lot of books and luckily they tend to be public domain works from long dead authors. My tastes allow me to take advantage of the reader while not compromising my DRM == Evil stance.

The overall experience of reading on the BeBook is quite good. Needing light to view a display on an electronic device is still surprising. The screen is a bit smaller than I expected (though I am not sure what I was expecting exactly.) which means more page turns to read a book. Turning a page does take a few moments, however, it is easy enough to anticipate and click the button while you are close enough to the end. You can then finish reading while the reader does whatever it does to render then next ‘page’.

I often end up reading in bed. It is a habit I got into while I was single and luckily I have an understanding wife so I am able to continue doing this. It is so much easier using a reader while laying down than a book. Unfortunately, the buttons emit a clunky click when pressed. I initially thought this was the death knell for reading the BeBook in bed. Luckily, the wife has yet to complain.

For reasons I have yet to figure out, the default zoom level of some pdfs can be illegible. Zooming involves pressing the number key with the magnifying glass on it. NOT the buttons with the + and -, which are for volume. That took me longer to realize than I care to admit. The zoom button cycles through the various modes in one direction. This means that if you go one step too far you have several more page refreshes to go through to get back to where you want it. This can feel like it takes a while due to the slight delay in display refresh. I don’t really plan on using this to play audio, so it would be really nice to remap the volume buttons to zoom.

There really isn’t much to say about the software. It just works. Which is both surprising and good. As far as I can tell the UI is just a file browser, if there are more ways to browse your library, I don’t know about it. Since the file view has worked well enough for me I haven’t bothered to look.

I read mostly pdfs and epub books. Rendering epub is definitely superior to that of pdfs. If I had to guess, I would say this is because epub is an open standard, pdf is extremely complex while epub has a single purpose, and it appears there is more epub content. I have not tried any other formats since they tend to have DRM and I don’t want to throw away money or support such a horrid concept.

OpenInkpot needs mention. It is a linux distro for the Hanlin v3 (BeBook) and other ereaders. It is an interesting idea and deserves some attention. I want to use it some more before I decide whether to switch. The few times I have booted it, Inkpot seems to be very similar in how the BeBook functions. At least I haven’t noticed any marked difference yet. I am definitely going to play with it again and would recommend taking a few minutes yourself.

Content. The single reason to buy these things is to put books on them. If you can’t do that, they are quite pointless. Sure, you can put feeds into ebook format and consume them that way, but then links are dead and I have found it to be rather constraining. However, I do use zinepal.com and for what it is, it works very well. (more on that in another post.)

If you don’t care whether your soul is sucked into the maw of giant corporate blobs, then DRM is for you. There are two big buy offers on your soul; Amazon and Sony. You can give them lots of money for the privilege of temporarily accessing big name authors and other pop-culture trends. Then they will take it away at a whim. Who wouldn’t want that?

Even if you did decide your soul was worth their baubles you would still have to run a vbox/vmware image of windows. Most of their spyware is not cross platform.

Your other choice is to travel into the world of Public Domain, Tech Tomes, and Unknowns. Lucky for me, this happens to be where I enjoy traveling. Reading authors that were around before the Brimstone Puking Demon was envisioned is extremely entertaining and rewarding. O’Reilly has decided that their customers are not amoral savages so there is a wealth of cool, but expensive, content. There is also a bunch of places offering self-published authors and a few publishers that have functioning brain cells, http://www.baen.com

There is enough content out there allowing you to avoid DRM altogether. It just requires a bit of work to find. I am still looking for good sources of books. I love that O’Reilly doesn’t have DRM. However, building a library of their material would be extremely expensive at $30+ a pop.

Is the BeBook worth it? Yes. It allows me to easily read classic lit, all the tech tomes I could want and find great unknown authors. Using it for only a week and I am hooked.

§177 · September 8, 2009 · General · (No comments) ·


Open letter to NYSIF:

https://www.nysif.com/include/BrowserDetect.asp?browserNM=Netscape

You should be congratulated. This is a level of incompetence of which I have not seen since ’90s.

My scathing insult aside, what is that? The world has moved on. There are ther platforms out there such as OS X and Linux which have fully capable web browsers. You really should look into hiring a new web team if thats the best they can do.

§168 · September 25, 2007 · General · (No comments) ·


This is a good idea.

Lisp Tutorial

§167 · September 20, 2007 · General · (No comments) ·


After many long nights and lots of bug squashing we are finally ready to open up Qunu for general abuse. This is an invitation for everyone in the jabber community to try it out. Let us know what you think and how Qunu can be made better.

So what is Qunu?

<marketing-speak>
In a nutshell, Qunu is a Jabber-based ‘ask-an-expert’-style service that you can ‘tag’ yourself with. Qunu allows you to use your existing jabber client instead of forcing you to lurk on a web forum, irc channel or muc room. In essence, people looking for help come straight to you, the expert.
</marketing-speak>

How it works

Someone on our site searches for help in an area in which you have tagged yourself. They can request an anonymous chat with you. We then send a MUC invite to your jabber client which you can accept or reject. We only send thru invitations when you’re online and available, and you can change your presence with us at any time. You have total control.

<marketing-speak>
It’s a great way to give your expertise back to the community in a non-annoying,
non-intrusive way. You can give help when it’s convenient for you, and best of all, you get to see the ‘thank you’.
</marketing-speak>

How to get in

In order to accommodate the various ‘quirks‘ of all the jabber capable clients out there we have setup lots of ways to get in.

The end result of all this is to get quser.alpha.qunu.com on your roster.

Let us know
This is an alpha release. We would love your feedback.

General discussion is in alpha@muc.alpha.qunu.com. The wiki at http://qunu.com/wiki and of course using qunu via http://alpha.qunu.com/search/qunu

§161 · June 8, 2006 · General, xmpp/jabber · 6 comments ·


Ever wonder what the point of that rss icon in firefox is? Ever go to a blog that you know has an rss feed, but you can’t find that stupid orange XML icon?

It is suppose to make subscribing to rss feeds easier. The problem with firefox’s icon is that you can’t use anything except firefox to read the feeds. Why isn’t there a “copy RSS url to clipboard” context menu?? Features that have such great potential but fail to really do anything are worse than useless, they are frustrating.

How this little icon works is that when firefox sees a <link/> in the header part of the html page pointing to a rss feed, it turns on and allows you to bookmark it. Blarg! I would rather it just go away.

I have resorted to Ctrl+U too many times. I am quite sick of it. So grease monkey to the rescue. I hacked up a quick script that grabs all link elements in the html head and puts them in a simple drop down menu.

Give it a shot and let me know how it goes.

Script is at: http://blogs.openaether.org/data/headerlinks.user.js

§160 · March 27, 2006 · General · 2 comments ·


Fred pointed me to Matt’s We Media Deal

Which is all fine and good. What I want to know is; Can I opt out?

I want another value path for the transaction. Sometimes I want to be able to just acquire the content. Especially if its something static like video or audio. I don’t want to give my soul away to watch Fubar.

§157 · January 19, 2006 · General · (No comments) ·


The other day I got really tired of bashpodder.shell. While it is a great and simple solution, it has quite a few limitations, namely podcasts were completely separate from my regular feeds.

I like automation, I particularly like automation that I can ignore. I have been using rss2email for a while. I even hacked it to post directly to one of my imap accounts instead of bothering to go through smtp. This has worked out exceptionally well.

My latest hack on rss2email is for it to recognize enclosures (the part of rss that makes it a ‘podcast’). Its quite simple right now. You specify the directory to download to, it makes a subdir based on the feed title, and uses a configured command to download it. Like I said, quick and dirty.

An example config.py

USE_IMAP=1
IMAP_USER=”username”
IMAP_HOST=”imap.example.com”
IMAP_PWD=”password”
IMAP_ROOT=”INBOX.feeds”
IMAP_DIRS=1
USE_PODCAST=1
PODCAST_DIR=”/home/user/podcasts”
PODCAST_DFLT_ARG=”-O %f %u”
PODCAST_DFLT_CMD=”wget”
PODCAST_DFLT_WAIT=False
#tuple is:
PODCAST_TYPES={‘application/x-bittorrent’: {‘default’:True,
‘m3u’:False,
‘m3uregex’: (“.torrent”,”"),
‘cmd’:”ctorrent”,
‘args’:” %u”,
‘wait’:True}}

The %f is replaced with the filetype part of the url. The %u is replaced with the url from the enclosure. The args are regex’d and then spawnpve is called. The WAIT variable will determine whether spawn will block or not.

An m3u file is generated at PODCAST_DIR/year-month-day.m3u .

One thing I would eventually like to do is make the config a bit more reasonable. Mainly the PODCAST_TYPES is hairy and not really functional. The m3u file is hardcoded, which should not be.

UPDATE:
Oh yeah… how about a link to the hacked rss2email? You can find it at http://blogs.openaether.org/data/rss2email.py

§156 · January 5, 2006 · General · (No comments) ·


Paul Tomblin is talking about learning ‘ajax’. The project he describes is quite an undertaking, and I wish I could help out. However, anyone who is learning ‘ajax’, should go read Paul Grahams essay on web2.0. Its well worth it.

§153 · December 1, 2005 · General · (No comments) ·


We already are dealing with the fallout of our current monoculture. Why do we want another one? A good post over at http://www.concurringopinions.com/

§152 · November 30, 2005 · General · (No comments) ·


A great post over at the Standards Consortium Blog about the latest rounds in opening office documents. You can read the whole post, which I recommend. Or you can simply look at the uml cartoon I made over at my other blog

§151 · November 26, 2005 · General · (No comments) ·


Lets say someone starts performing fradulent transactions using your various accounts, commonly referred to as ‘identity theft’. The problem really comes in when you try to clean up your ‘reputation’ in the financial world, aka your credit report.

All this false information is being spread about you. The financial institutions are spreading lies hindering your ability to conduct business. This sounds like defamation to me. Which last I checked was illegal.

Since the fincancial world has no incentive to stop identity theft, i.e. the cost is on you not them, its going to continue ad infitum. Unless we enact yet another huge pointless undecipherable piece of legislation that no one understands. (except really large law firms).

I wonder if suing the financial institutions involved would work and if so would that stem the tide for yet another giant paper weight on the economy.

tanget:
My Aunt Tillie is scared to death of computers and refuses to use them, yet needs to make an online purchase. If I decide to help her out and use her credit card to make the puchase for her, am I an identity thief? More specifically, will any law/regulation to come out of DC account for all these myriad socially acceptable situations without being a bloated pile of crapulence?

§150 · November 26, 2005 · General · (No comments) ·


well, almost. epic has a list by hoofnagle of ten simple things that you can do to safe guard your pivacy. Definitely worth a look

§149 · November 25, 2005 · General · (No comments) ·


Go Flock Yourself brings up a good point in the Web2.0 is the anti-open sourcepost.

Maybe its time to rewrite some licenses, a GPL 3? Another issue is what happens when javascript code is published under the LGPL? Something like jsjac, its ambiguous at best.

§148 · November 24, 2005 · General · (No comments) ·


For various arcane reasons I was inspired recently to browse the TOS (terms of service) for the big closed garden IM networks, AIM, MSN and YahooIM. Some parts are very interesting, some are simple legalese.

  1. Can I use 3rd party clients like Gaim, Miranda, etc for these networks?

    No

    You can only use the software provided by the respective service to access their network.

    AIM

    Restrictions on Access to or Use of AIM Products
    You may access AIM Products only through the interfaces and protocols provided or authorized by AOL. You agree that you will not access AIM Products through unauthorized means, such as unlicensed software clients, and that you will only use AIM Products in conjunction with AOL authorized products and components.

    YahooIM

    Section 11
    You agree not to reproduce, duplicate, copy, sell, trade, resell or exploit for any commercial purposes, any portion of the Service (including your Yahoo! ID), use of the Service, or access to the Service.

    and

    Section 17 (end of second paragraph)
    You agree not to access the Service by any means other than through the interface that is provided by Yahoo! for use in accessing the Service.

    MSN Messenger

    Seciont 3 (last paragraph)
    You may only use Microsoft software or authorized third-party software to sign into and use the Service. You can find a list of authorized third-party software at http://messenger.msn.com/Help/Authorized.aspx.

Interestingly, you can only use MSN to discuss personal affairs. The moment you discuss work related topics you violate the TOS. See section 3 first paragraph

We provide the Service for your personal use. You may use the Service while you are at work, but you may not use the Service to conduct business without a separate written contract with Microsoft.

Anyone else out there found interesting restrictions on the closed garden networks? Interesting being defined as non-intuitive.

§146 · November 23, 2005 · General, xmpp/jabber · 6 comments ·


Reading Evslin’s why not apis post I wondered how google makes money on their api.

If the api is free and you can’t control the rendering of the api, then how does an ad company like google make money?

I am reminded of a story my grandfather told me when I was a kid (he is a farmer).

I asked the guy how much his cabbage was. He said, “Ten cents a head, but the more you buy the cheaper it gets.”

So I said, “Keep loading it on my truck until its free.”

It seems to be the underlying theme of web services these days.

§145 · November 21, 2005 · General · 1 comment ·


I am venturing down the lisp road. Slowly.

I have decided to write an app that I have been wanting to write for a
very long time, and I am calling it Disorder. It will simply be a
local publish subscribe system or a message dispatcher, depending on
how you look at it. Perhaps a couple use cases will be more
enlightening…

Blog use case

Goal: Transform RSS/Atom feeds into imap

I would like all my rss/atom feeds to be published via imap. I have this working via a rss2email hack that writes to imap dirs instead of sending out via smtp. This kind of works except that the html to text code doesn’t handle unicode well, so I end up losing about half the rss posts on certain feeds.

Instead, I would like a process to read all my feeds, and push each post into Disorder. Then have an imap process listening for all rss messages and write the rss post to the appropriate imap dir.

Podcast use case

I am currently using bashpodder to grab all my podcasts. It works, but its too simple.

I would like something that would be more intelligent. When it grabs a new podcast to make sure all meta info is correct and to keep a detailed database of whats been grabbed and where it is.

I would also like to keep a log of what I have and have not listened to, and what I have and have not sync’d to my audio player.

Searching and Browsing

Currently I archive all the pages that I have ever viewed. And I have a primitive search system. I am using slogger which re-downloads the page. This has caused numerous problems with things like bugzilla. I was thinking about implementing an extension for firefox. Then I realized that I use w3m in emacs and links2, so I would have to hack on them as well.

A better solution would be an http proxy running locally. Where all http/s requests are routed through that. It could then send out the http result to Disorder and the requestor. Thus any http client that I use can archive everything.

I would then be simple to just plug a indexer into Disorder and have it index all the pages on the fly. This way you could do prospective and retrospective searches.

Summary

Basically I want disorder to be the defacto communications hub. Make the core stupid enough to be useful and attach random features into the system as needed.

This will all be implemented in Common Lisp for a few simple reasons. I need something to learn lisp with. I have been meaning to write this anyway. And it will give me an opportunity to contribute back to the lisp community via libs and testing.

I will be setting up a wiki page shortly. Will update this post once I get that setup

Edit:
The wiki page is no up

§137 · October 20, 2005 · General, lisp · (No comments) ·