tag:blogger.com,1999:blog-4838057284624528782009-05-21T17:29:08.305-06:00Computer LoreTed Bullock's dilettantish thoughts about computer eruditionTed Bullockhttp://www.blogger.com/profile/11964516353154107580noreply@blogger.comBlogger56125tag:blogger.com,1999:blog-483805728462452878.post-79727222573734689762009-05-21T17:18:00.003-06:002009-05-21T17:29:08.315-06:00Telus and google appsIf you are one of many people or organizations in Canada which use Telus for your domain hosting provider and are interested in moving your email system to google apps gmail service, then you make note of the following.<br /><br />Even after correctly setting up the MX service inside of the telus DNS web applet, you will need to give a call to Telus themselves and ask them to remove your domain from telus' internal sendmail list so that other people still using telus for the their email service will be able to send you emails.<br /><br />Otherwise what happens is that when someone using the telus email system tries to email you, telus thinks that it already knows how to get ahold of you and sends the mail internally instead of properly resolving the the DNS information. Many emails will effectively disappear, or be bounced back noting that the user cannot be found.<br /><br />You may as well ask for the shared hosting support number right off the bat, otherwise you may be explaining all this to deaf ears any number of times until you get someone who knows what you're gibbering about.<br /><br />Please enjoy responsibly<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/483805728462452878-7972722257373468976?l=tbullock.comlore.com'/></div>Ted Bullockhttp://www.blogger.com/profile/11964516353154107580noreply@blogger.com0tag:blogger.com,1999:blog-483805728462452878.post-13706765263441475302009-05-21T16:35:00.002-06:002009-05-21T17:01:56.353-06:00Nokia 6301 and Linux Part 2I noticed that I have a couple of dozen visitors hit my earlier posting on synchronizing linux systems with a nokia 6301, and given that I am on a bit of high after just posting my previous note about connecting to the net through the the GPRS and bluetooth functions on the nokia 6301 I figure I will follow with my latest discoveries fiddling fun.<br /><br />I must be turning into a google zealot because everytime I turn around there is another google service available which I want to twiddle. Let me explain.<br /><br />Currently Evolution does not support synchronizing itself in any sane fashion against a syncml device like the nokia 6301. So all my contacts living inside my client have become increasingly disconnected with the contacts listed with gmail and the contacts that I have on my cell phone.<br /><br />Obviously the context between these three application is somewhat different in each case. Like I often want to be able to grab a map of my next intended target from the evolution address book, but rarely want to do this inside of gmail itself, and I usually cannot be bothered with any of that rigamarole on the cell phone. Nevertheless, it would still be nice if they were synchronized.<br /><br />So here steps in google to the rescue with its online syncml service, along with <a href="http://www.google.com/mobile/">instructions on how to configure</a> the sister device of the 6301 (6300 in this case) to use its service. Note that the Nokia 6301 and 6300 are S40 series Symbian OS devices.<br /><br />I won't go into the details of the configuration since they are adequately specified elsewhere, but figure I will get to the point, thanks google for providing a working sync service.<br /><br />Next I want to point out that gmail is available as a binary application on most recent nokia phones including the slightly older models such as the 6301. As a side note, this works with Google Apps as well.<br /><br />Check out http://m.google.com for all the goodies, including google maps.<br /><br />Sigh, I can feel the tendrils of zealotness swirling around me... Somebody kick me if I go too far.<br /><br />Anyways, while this isn't exactly a Nokia 6301 and Linux article, the same results can be achieved, so I figure it is a good enough equivalent.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/483805728462452878-1370676526344147530?l=tbullock.comlore.com'/></div>Ted Bullockhttp://www.blogger.com/profile/11964516353154107580noreply@blogger.com0tag:blogger.com,1999:blog-483805728462452878.post-18152053227439135902009-05-21T15:45:00.003-06:002009-05-21T16:22:35.893-06:00Linux, bluetooth, and GRPS internetCurrently I am sitting in Austin's Neighborhood Pub across the street from my little condominium here in Calgary, Alberta. Although I can see a number of wireless networks in the area, none of them are unsecured and for their own reasons, the pub itself is not particularly interested in providing wireless connectivity to its patrons.<br /><br />So this leaves me with the need to be creative in how I connect to the internet. What's more, in a couple weeks I am leaving for my second major cross country bicycle tour of Canada, and will likely be more or less completely away from the gentle caress of the net for most of that time.<br /><br />Anyways, as I mentioned, I need to be creative with this whole connectivity thing, and my solution is via bluetooth, to route packets through my cell phone and connect to the net via the phones GPRS (and EGPRS in some areas) data connection.<br /><br />The thing that impressed me is that this technology is alreadly quite nicely supported in linux, albeit with a bit of work on the commandline (not much, just check out pand, bnep, and of course ifconfig and dhclient). If you want some fairly superb documentation on this check out the bluetooth article gentoo wiki.<br /><br />I imagine that other operating systems like the BSD's would support this as well, but I haven't confirmed it.<br /><br />Congrats to the bluez folks for delivering a working network bluetooth stack for linux.<br /><br />As a side note from what I read on <a href="http://blogs.gnome.org/dcbw/category/networkmanager/">Dan Williams' Blog</a>, this functionality will eventually make its way into network manager itself sometime around the release of 0.8.<br /><br />This makes me want to move to a phone that actually supports 3g data connections to make this all a bit faster than dialup... However, at this time there is nothing available on the market which will do everything I want from a phone (3G. UMA, Bluetooth and supports a native binary gmail application). My current Nokia 6301 does all of this except the 3G thing, so I am going to stick with it for the time being.<br /><br />Take Care, and hopefully I will post back here before I leave for my tour, but then again, even if I don't then so be it, I will be able to post from the road.<br /><br />Please enjoy responsibly<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/483805728462452878-1815205322743913590?l=tbullock.comlore.com'/></div>Ted Bullockhttp://www.blogger.com/profile/11964516353154107580noreply@blogger.com0tag:blogger.com,1999:blog-483805728462452878.post-27629402398020560912009-04-16T20:11:00.002-06:002009-04-17T00:07:14.610-06:00libevent and pkgconfigThe latest trunk of libevent now has pkgconfig support due to a quick patch I sent along earlier today.<br /><br />Oooh, the majesty.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/483805728462452878-2762940239802056091?l=tbullock.comlore.com'/></div>Ted Bullockhttp://www.blogger.com/profile/11964516353154107580noreply@blogger.com0tag:blogger.com,1999:blog-483805728462452878.post-21472786074749400582009-04-16T18:08:00.003-06:002009-04-16T18:34:17.068-06:00httperf update April 16, 2009I have been accused of ignoring the fate of httperf recently. hmmm. Well, fair enough, it's certainly been a while since I committed anything to the repository.<br /><br />That said, httperf has hardly left my thoughts.<br /><br />I am pretty familiar with the tool at this point, and to be quite honest I am more than a little bit frustrated with it's design. Take a look for yourself! It's got a quite a few weird design concepts built into it, include c-ized objects (come now...), an Any type (oh good), it's own event loop implementation, it's own timer implementation (which at least doesn't leak memory since I re-wrote it) and it's own http implementation. It seems to come from an era before the advent of code re-use... (No offense to David Mosberger)<br /><br />That said, it does implement the workload generator aspect of it's design quite elegantly. Differentiating between sessions, connections and requests is quite a useful as well.<br /><br />Anyways, I have been busy recently ripping the guts out of httperf to the point where it is hardly recognizable any more.<br /><br />The event loop, timer and http implementations are going away javascript:void(0)in lieu of those built into libevent. The core of httperf and the stats collection are moving to their own shared libraries, and the workload generators are each moving to distinct binary files.<br /><br />Sound good?<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/483805728462452878-2147278607474940058?l=tbullock.comlore.com'/></div>Ted Bullockhttp://www.blogger.com/profile/11964516353154107580noreply@blogger.com0tag:blogger.com,1999:blog-483805728462452878.post-57372239383328874392009-04-08T03:04:00.003-06:002009-04-08T03:18:09.678-06:00Master of Orion 2 and Dosbox partyMy friend Tristan and I have been fans of Master of Orion 2 for well over a decade at this point. Personally, the game is within my top three all time favorite games (also including Crusaders of the Dark Savant and Close Combat 2).<br /><br />Anyways, a long time ago, we discovered that network multiplayer of MOO2 was deeply slow and sucky (like impossible to play for a protracted period of time). The games we have played against one another have either been hotseat or deeply time consuming and resulting in no real conclusion.<br /><br />Well, no more. I finally got off my butt in regards to this issue this week and managed to get MOO2 running quite nicely in Dosbox. This resulted in us spending about 19 hours over the course of the last weekend playing the game the way it was meant to be played (to the bitter end of course, and several times over to boot)!<br /><br />Anywho, this worked so well, that I am currently writing an NSIS installer which will pull all the necessary components off of the install CD, as well as properly configure DOSBOX such that nobody else needs to go through the decade long pain in the ass that we went through ever again.<br /><br />Basically, what I have so far asks for the path to the install CD, copies the DOS only files to the HD, patches the game and sets up a local copy of dosbox to run it.<br /><br />Later I will write a launcher which will get the dosbox environment running in some sort of sanitized location and execute various cli switches to configure the gameplay itself.<br /><br />Weee!<br /><br />-Ted<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/483805728462452878-5737223938332887439?l=tbullock.comlore.com'/></div>Ted Bullockhttp://www.blogger.com/profile/11964516353154107580noreply@blogger.com1tag:blogger.com,1999:blog-483805728462452878.post-88692232966839078362009-02-24T03:24:00.002-07:002009-02-24T03:47:28.789-07:00Current Projects - 2009-02So February is rapidly drawing to a close and I figure I should make a note on the status of the various projects that I am working on.<br /><br />To start with, it is currently 3:30 AM and I am, for the fourth or fifth time this week trying to get firefox to install a file to an specific protected directory (system32 on windows XP and Vista). The problem is that firefox is specifically designed these days to block this kind of behavior (especially dealing with the whole UAC thing).<br /><br />Anywho, I am also managing a VPS transition for a small manufacturer here in Calgary. Lastly, I have 3 small contracts for web sites with various companies here in town.<br /><br />Not only that, but I am also working on my Landmark Introduction Leaders program, which takes it's time.<br /><br />So lots of stuff going on at once. Never mind working on httperf in the background too (only a couple dozen lines written since the beginning of the year).<br /><br />I feel that I want some minions.<br /><br />All in pursuit of having more freedom than I know what to do with. (Hence the bike tour this summer).<br /><br />Later Alligator.<br /><br />-Ted Bullock<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/483805728462452878-8869223296683907836?l=tbullock.comlore.com'/></div>Ted Bullockhttp://www.blogger.com/profile/11964516353154107580noreply@blogger.com0tag:blogger.com,1999:blog-483805728462452878.post-14366727094806922722009-02-14T13:30:00.003-07:002009-02-14T13:44:08.448-07:00A spin with gnome-doAs the title of the post indicates, I have been playing around with the gnome-do tool. And so far I really do like it.<br /><br />For those people who aren't familiar with the tool, it's an application (written in mono I believe) with which translate fairly simple commands into a useful result.<br /><br />For instance, when I summon the gnome-do program and type tristan, I can either choose to start a chat with him or send an email.<br /><br />I especially like how I don't particularly need to take my hands off the keyboard in order to do something on the graphical screen.<br /><br />So I removed the gnome menu from my desktop and will give "do" a whirl for the next month or so.<br /><br />-Ted<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/483805728462452878-1436672709480692272?l=tbullock.comlore.com'/></div>Ted Bullockhttp://www.blogger.com/profile/11964516353154107580noreply@blogger.com0tag:blogger.com,1999:blog-483805728462452878.post-45176860582455440542009-02-13T01:30:00.003-07:002009-02-13T01:35:32.156-07:00Writing that I love....I was just reading "Last Chance to See" by Douglas Adams. Like most of his work, his writing once again proves to move almost orthogonally to the normal train of thought.<br /><br />For instance,<br /><br /><blockquote>Virtually everything we were told in Indonesia turned out not to be true, sometimes almost immediately. The only exception to this was when we were told that something would happen immediately, in which case it turned out not to be true over an extended period of time.</blockquote><br /><br />RIP Douglas, you're still in my heart.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/483805728462452878-4517686058245544054?l=tbullock.comlore.com'/></div>Ted Bullockhttp://www.blogger.com/profile/11964516353154107580noreply@blogger.com0tag:blogger.com,1999:blog-483805728462452878.post-25489723924948864732009-02-11T16:16:00.002-07:002009-02-11T16:22:48.859-07:00New bike trip scheduledAs many people who follow what I do in the world know, I am a former cross Canadian cyclist and manage my own <a href="http://www.comlore.com/bike">personal website</a> as well as a cool community project called <a href="http://www.wheelsinthewater.org/">Wheels in the Water</a>. This summer I am planning my second tour of the country by bicycle.<br /><br />I am leaving from Horse Shoe Bay in Vancouver on June 3, 2009 and will be arriving at Cape Spear at noon on September 9, 2009.<br /><br />You will be able to follow along with everything between now and then via this blog, as well as my <a href="http://identi.ca/tbullock">identi.ca feed</a>.<br /><br />-Ted<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/483805728462452878-2548972392494886473?l=tbullock.comlore.com'/></div>Ted Bullockhttp://www.blogger.com/profile/11964516353154107580noreply@blogger.com0tag:blogger.com,1999:blog-483805728462452878.post-86479123444134165942009-02-11T15:53:00.002-07:002009-02-11T16:04:01.864-07:00Contract to develop firefox extensionI have wanted to be part of an open source software development business for a long time. Ha. I'm quite giddy right now, because I just happen to own one.<br /><br />I have a number of little development contracts out right now to develop a variety of tools, website extensions and generally muck about with technology. What's really cool is that I am using exclusively open source tools and environments to do the work in.<br /><br />Ha, this great.<br /><br />So long, and later.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/483805728462452878-8647912344413416594?l=tbullock.comlore.com'/></div>Ted Bullockhttp://www.blogger.com/profile/11964516353154107580noreply@blogger.com0tag:blogger.com,1999:blog-483805728462452878.post-4705167329140109852009-02-05T05:32:00.003-07:002009-02-05T06:08:03.849-07:00On the way to New York and a summary for the weekAt this moment, I am sitting in the secure boarding area of the Calgary International Airport awaiting my flight (connecting through Salt Lake City) to New York. Thinking back on the week, this has been pretty interesting as far as these things go.<br /><br />I have several contracts running in parallel at the moment (a couple websites in addition to a couple more hardcore kernel projects).<br /><br />The most interesting (steepest learning curve) was setting up a VPN for a small carpentry business here in town. Granted, I want to move away from the IT end of the software world, it was very interesting nevertheless. <br /><br />Anywho, we're now boarding so I am wrapping up.<br /><br />So long, and later :)<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/483805728462452878-470516732914010985?l=tbullock.comlore.com'/></div>Ted Bullockhttp://www.blogger.com/profile/11964516353154107580noreply@blogger.com0tag:blogger.com,1999:blog-483805728462452878.post-7043361730752835062009-01-25T18:08:00.002-07:002009-01-25T18:38:40.404-07:00More on comlore.com moveAs I had mentioned in my earlier post about the re-organization of comlore.com, some people noticed that my old blog location (directly at comlore.com) was still available, but just wasn't being updated with new posts.<br /><br />Problem is that those pages have been referenced by the search engines as well as a multitude of links scattered around the internet. So for the time being I set up redirects to the equivalent pages on at the new location (tbullock.comlore.com).<br /><br />Anyways, the moral of the story is that the top level of comlore.com is going to remain as a redirect for the next couple of weeks until the majority of the traffic that was hitting my blog, shifts to this new location.<br /><br />-Ted<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/483805728462452878-704336173075283506?l=tbullock.comlore.com'/></div>Ted Bullockhttp://www.blogger.com/profile/11964516353154107580noreply@blogger.com0tag:blogger.com,1999:blog-483805728462452878.post-37775656048568278502009-01-17T04:28:00.001-07:002009-01-17T04:54:26.783-07:00Pulseaudio Stereo ServerEver since the speakers on my laptop decided to die, I have been looking for ways to get audio out of the machine.<br /><br />There are a couple options:<br /><ul><li>Don't have sound</li><li>Use headphones, or a speaker connected to the headphone port</li><li>Use a network sound server</li></ul>Given that I love the concept of tinkering around with weird technical thingamajigs, I decided to give the latter a try.<br /><br />So here is what I want to do.<br /><br />My mythtv frontend in the living room is connected to a very decent speaker system, also, there are other "always on" machines around the house which are hooked up to speakers.<br /><br />I want my laptop to auto-detect the existence of the sound systems on these machines and connect to them at a push of a button, then route all of my computers audio through those speakers.<br /><br />Anyways, I have not been able to get my laptops pulseaudio client to connect to a system wide instance running on the media server. If anyone has gotten a similar system running, I would love to hear about it.<br /><br />Let me know.<br /><br />-Ted<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/483805728462452878-3777565604856827850?l=tbullock.comlore.com'/></div>Ted Bullockhttp://www.blogger.com/profile/11964516353154107580noreply@blogger.com0tag:blogger.com,1999:blog-483805728462452878.post-71876091293134579162009-01-15T14:04:00.002-07:002009-01-15T14:53:13.332-07:00Install mythtv on openSUSE 11.1Last night I had one of those tinkering fits that occasionally over take me, and I updated my mythtv operating system to openSUSE 11.1. Since there aren't any really good instructions for this procedure (even the mythtv wiki is a bit stretched), I figured I'll post my instructions here.<br /><br />My backend (and frontend) machine:<br /><ul><li>Pentium D 920</li><li>1Gb Ram</li><li>Hauppauge PVR-350</li><li>900 Gb hardware RAID 5 (4 x 300 Gb) with Areca ARC-1210 controller</li><li>Geforce 7300 GS</li></ul>With the exception of the video, all the components in the machine here have good out of the box drivers.<br /><br />Anyways, I chose the basic X11 installation from the DVD, since I wanted to avoid installing too much extraneous software.<br /><br />The majority of the install is done from the command line so here goes (As best as I can remember):<br /><br /><pre>zypper ar http://packman.unixheads.org/suse/11.1<br />zypper install mythtv-backend mythtv-doc myththemes mysql<br />rcmysql start && mysqladmin -u root password mysecretpassword<br /><br />mysql -u root -p < /usr/share/doc/packages/mythtv-doc/database/mc.sql<br /><br />mysql -u root -p mythconverg<br /> grant all on mythconverg.* to mythtv@"%" identified by "mythtv";<br /> flush privileges;<br /> quit;<br /></pre><br /><br />Then with a running X session run the setup program, and there is plenty of documentation available for this on the <a href="http://www.mythtv.org/wiki/index.php/User_Manual:Detailed_configuration_Backend">mythtv wiki</a><br /><br /><pre>mythtv-setup</pre><br /><br />Next I created a user "myth", installed gdm, and configured the autologin, note that no password was set here for the user "myth" <br /><br /><pre>useradd myth -m<br />zypper install gdm<br />sed s/DISPLAYMANAGER="xdm"/DISPLAYMANAGER="gdm" /etc/sysconfig/displaymanager<br />sed s/DISPLAYMANAGER_AUTOLOGIN=""/DISPLAYMANAGER_AUTOLOGIN="myth" /etc/sysconfig/displaymanager<br /></pre><br /><br />Next I started yast and from the run level editor, I added both mythbackend and mysql to the start in run levels 3 and 5<br /><br />Finally to get the frontend to display upon boot I edited the file /home/myth/.dmrc to read<br /><br /><pre>[Desktop]<br />Session=mythTV</pre><br /><br />Restarted the machine to test all was well, and I was up and running.<br /><br />Not bad, as far as time goes either. In total the installation took me about an hour and half.<br /><br />-Ted<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/483805728462452878-7187609129313457916?l=tbullock.comlore.com'/></div>Ted Bullockhttp://www.blogger.com/profile/11964516353154107580noreply@blogger.com3tag:blogger.com,1999:blog-483805728462452878.post-61232256827006861352009-01-10T23:44:00.002-07:002009-01-11T00:10:01.807-07:00Lappy on borrowed timeI have been using my Dell 700m laptop as my primary computer for the best part of a year now. And the machine is on borrowed time. I think.<br /><br />Last year (2007, ack, that was two years ago.... anyways), I allowed the warranty to expire on the machine because I figured that since it had been so reliable in the past that I would probably be able to get away with it. Well, that streak is now wearing to its end.<br /><br />And it's the little things that are starting to go. For instance, I am missing some of those little rubber feet on the bottom that prevent it from sliding around the desk. Also, the battery life is serious diminishing, and barely lasts 30 minutes at this point.<br /><br />However, the most recent issue is that the speakers have cut out. Turns out the the speaker wire that runs up through the hinge area has slowly been rubbing away over the past 5 years and has now been severed due to general wear and tear. So no more speakers.<br /><br />Dell doesn't sell the speaker individually either, they just come with an entire new lid (including monitor) for $550. So, I have removed the speakers and will attempt to repair them at some point in the future.<br /><br />This is just indicative of what happens with laptops I suppose. They get exposed to all sorts of little bumps, wiggles and jiggles in their lifetimes, and eventually little things wear away.<br /><br />As I mentioned before, Lappy is on borrowed time, and sooner or later something vital is going to break, and there is no warranty left to deal with it.<br /><br />Anywho, the broken speakers thing got me interested in looking for a new machine, and the one I have come across seems to be fancy shmancy. The dell Latitude E4200 is what I would call an "ultra-mobile workstation". Functionally it is more or less the same at the 700m for day to day laptop use. The screen size is the same, graphics are still handled onboard, and the primary component manufacturer is still Intel (wooo, out of the box linux drivers). Unlike the 700m, the E4200 can be used with Dell's E-Series docking stations.<br /><br />I have never used a laptop with a docking station, because, for the most part, I couldn't be bothered. Why not just use a desktop. But the new docks from dell support dual monitors, which is something that has really been missing for me. Actually to be honest, I have dual monitor set-up sitting in my workshop, but they aren't connected to a computer, they are just sitting there collecting dust.<br /><br />So I am rather tempted to hand lappy off to a deserving person and move to a shiny new computer.<br /><br />As I said, lappy is on borrowed time.<br /><br />Now if I only had a spare $4k.<br /><br />-Ted<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/483805728462452878-6123225682700686135?l=tbullock.comlore.com'/></div>Ted Bullockhttp://www.blogger.com/profile/11964516353154107580noreply@blogger.com0tag:blogger.com,1999:blog-483805728462452878.post-59990084563413245152009-01-09T07:41:00.002-07:002009-01-09T07:54:48.261-07:00Changes to Comlore.comOver the past several days, I have been working to rearrange how the comlore.com domain is organized.<br /><br />Originally, I purchased the domain as part of a web development business that I was running around 1999/2000, however, it sat at a pretty basic level for the majority of five years.<br /><br />There are a couple sites running on this domain, and traditionally they have just been subdirectories such as /bike, /httperf and /resurgence. However, in pursuit of my new career as a freelance software engineer, I have restructured the domain.<br /><br /><ul><li>My cross canada bike website is located at http://bike.comlore.com</li><li>My httperf portal is located at http://httperf.comlore.com</li><li>This blog has moved to http://tbullock.comlore.com</li><li>Resurgence has been purged.</li><li>The root directory will be headquarters for the new business<br /></li></ul><br />A soon to be re-launched project about designing open source home theatres will be available at http://createyourhometheatre.comlore.com in the coming weeks.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/483805728462452878-5999008456341324515?l=tbullock.comlore.com'/></div>Ted Bullockhttp://www.blogger.com/profile/11964516353154107580noreply@blogger.com0tag:blogger.com,1999:blog-483805728462452878.post-39469501945299904372008-12-30T00:17:00.002-07:002008-12-30T01:43:32.981-07:00httperf status - 2008-12-30I have to acknowledge that I have been dropping the ball in regards to completing the next release of httperf. While there has been a good amount of work done on this tool since the last release (0.9.0) I just haven't gotten around to wrapping it up yet.<br /><br />Anways, I had better get to it now.<br /><br />Check CVS for the todo list.<br /><br />Other than simple procrastination, one major reason I put off development was that autoconf support for detecting the c99 constructs I was using wasn't integrated until 2.62.<br /><br />Then I was going off on tangents, trying to implement my own libevent based http client library (which is definitely a useful project in my own opinion) and working to get mtp support introduced into the kernel.<br /><br />Anyways, where we stand today is that the head of cvs is not terribly stable at very very high request rates. Maybe this is because httperf has never been able to achieve the rates that we are now reaching before and it has exposed some hithertofore unkown issue.<br /><br />Whatever, I'll track it down.<br /><br />As for the libevent migration. Well, Adrian Chadd was kind enough to do a partial port. However there is much more work to be done in this area such as migrating timers, timeouts, dns and http control into the libevent core loop.<br /><br />Long term, httperf will dramatatically shrink in size. Event logic, the http client, and metrics collection can all be loaded onto libevent and some (as of yet unwritten) plugins. httperf will be a set tools implementing various workload generators and may further evolve into a workload language implementation.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/483805728462452878-3946950194529990437?l=tbullock.comlore.com'/></div>Ted Bullocknoreply@blogger.com0tag:blogger.com,1999:blog-483805728462452878.post-40054910845847500352008-12-29T21:26:00.001-07:002008-12-29T21:32:05.085-07:00A spin with gnome-blog<p>I was poking around the software repository for opensuse 11.1, and came across a tool called gnome-blog. This is a panel applet which is supposed to allow me to post to my blog directly from the desktop rather than the supposedly tedious process of opening the blog website and posting from there.</p><p>Anyways, the tool is supposed to allow me to drag and drop images inline with the text, so I figure I will give it a whirl.</p><p>This version of gnome-blog is from 2006, and appears to be the most recent, so I suppose that development has stalled. Google has failed to deliver anything of interest more recent than that.</p><p>Update: I am not impressed. So long gnome-blog.<br /></p><p><br />-Ted</p><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/483805728462452878-4005491084584750035?l=tbullock.comlore.com'/></div>Ted Bullocknoreply@blogger.com0tag:blogger.com,1999:blog-483805728462452878.post-16780369000734311672008-12-26T00:40:00.004-07:002008-12-26T01:50:32.067-07:00Linux Kernel Space Media Transfer ProtocolSo after a couple years of pondering I have finally begun work on implementing a kernel space driver for the media transfer protocol.<br /><br />Yes, yes, this is my first foray since university into kernel space, but I have had enough of the user-space solutions to implementing the media transfer protocol. Hundreds of devices have now implemented the darn thing (including my iriver clix if you recall), and what's more the USB.org folks have finally published the <a href="http://www.usb.org/developers/devclass_docs/MTP_1.0.zip">1.0 version of the standard</a>.<br /><br />First here is a bit of the technical reasoning.<br /><br /><ol><br /><li>Already two distinct user-space implementations which both share similar drawbacks. libmtp, and libgphoto</li><br /><li>Dependant on libusb which has stalled in development</li><br /><li>Race condition in device connection, first application to detect and connect blocks any other software from using the device until connection is dropped</li><br /></ol><br /><br />Etc, the current implementation suffers from all the problems that user space drivers suffer from in the monolithic world (even the microsoft implementation has this going on). Also, it's about time I get my hands dirty in the kernel for pete's sake.<br /><br />So how is this thing going to work you might ask?<br /><br />Well, here is how I see it right now, and others are welcome to chime in on this.<br /><br />The protocol is implemented partly in kernel space, and partly in user-space depending on necessity and appropriateness.<br /><br />Kernel Space Driver (mtp):<br />Connects and manages all operations:<br />Exposes file hierarchies as a mountable file system<br />Implements protocol for transferring straight files.<br />Issues device handles to userspace which can be used asynchronously (no more device pointers!)<br />Automatic device connection<br /><br />User Space Library (libmtp-media)<br />Implements protocol for managing media (including meta-data) (music, pictures, video, etc)<br /><br />User Space Library (libmtp-cal)<br />Implements protocol for managing contact and calendar (vcard, ical, etc)<br /><br />Essentially the protocol implementation will be separated across a variety of locations.<br /><br />Anywho, after an hour or so of fiddling, here is the latest line from dmesg:<br /><br /><pre><br />usb 4-5: new high speed USB device using ehci_hcd and address 9<br />usb 4-5: configuration #1 chosen from 1 choice<br />mtp: USB Skeleton device now attached to USBSkel-192<br />usb 4-5: New USB device found, idVendor=4102, idProduct=112a<br />usb 4-5: New USB device strings: Mfr=1, Product=2, SerialNumber=3<br />usb 4-5: Product: iriver clix<br />usb 4-5: Manufacturer: iriver Limited<br />usb 4-5: SerialNumber: 41dff81c000000f33230303530313031<br />usb 4-5: USB disconnect, address 9<br />mtp: USB Skeleton #192 now disconnected<br /></pre><br /><br />Not much, but hey it's the beginning of the road here.<br /><br />Lastly, if anyone wants to employ me to design this, I am certainly on the market.<br /><br />-Ted Bullock<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/483805728462452878-1678036900073431167?l=tbullock.comlore.com'/></div>Ted Bullocknoreply@blogger.com0tag:blogger.com,1999:blog-483805728462452878.post-11762263923871833942008-10-17T17:06:00.002-06:002008-10-17T18:04:52.501-06:00How to synchronize a Nokia 6301 in Linux - InvestigationThis afternoon I received my brand new <a href="http://www.nokia.ca/A4787033">Nokia 6301</a> cell phone. In many respects, I really do like the thing.<br /><br />This nokia smartphone has a wifi antenna which allows it to be used as a VOIP handset if you are in range of an appropriate network and also supports all the normal functionality of your typical cell phone. It also supports Bluetooth and has a mini-usb adapter.<br /><br />When physically connected to a modern linux machine (in my case openSUSE 11.0), it initially identifies itself as a USB Mass Storage device and the desktop responds appropriately by mounting it like any other USB drive. However, the phone specifies a couple of other connectivity options, including "Data Storage" (USB Mass Storage), "Media & Printing" (MTP) and "PC Suite".<br /><br />When you choose "Media & Printing", the device switches to <a href="http://en.wikipedia.org/wiki/Media_Transfer_Protocol">MTP mode</a> (Woohoo, go libmtp!) which libmtp supports very nicely, although after perusing the datastructure, I am not clear which folders are the "correct" folders for which type of file. I guess this would just require some testing inside of Windows to see where the nokia tools put things. That said, this also means that f-spot should work pretty much out of the box.<br /><br />Anyways, the third option "PC Suite" puts the device into a state which the nokia PC Suite application can use to synchronize the phone with Microsoft Outlook or Lotus Notes. This third area is the most interesting for me at the moment. I want my Evolution Contact List and Calendar to synchronize with with the phone so that I don't need to pull out my laptop just to check if my flight to New York leaves at 10:45 or 11:45.<br /><br />There do seem to be a number of tools for solving this problem, however they are not particularly explanatory, nor have I actually been able to sync my calendar, todo list or contact list to the phone in yet in Linux.<br /><br />So, that pretty much summarizes my experience to date with the Nokia 6301 in Linux.<br /><br />I definitely would appreciate someone pointing me to documentation on how to get my calendar out of the PC and onto the phone.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/483805728462452878-1176226392387183394?l=tbullock.comlore.com'/></div>Ted Bullocknoreply@blogger.com0tag:blogger.com,1999:blog-483805728462452878.post-16258132292449970892008-10-09T10:55:00.002-06:002008-10-09T12:13:13.353-06:00The problem with current design softwareThe more experience that I have with how engineering and electrical design is done, more I am astonished at how much effort goes into problems that are fundamentally trivial.<br /><br />For instance, when designing a schematic, I need to spend a considerable amount of time figuring out which terminal block contacts are available, and whether or not the final wiring layout is electrically consistent with the schematic.<br /><br />I don't care about that!<br /><br />No kidding.<br /><br />I cannot believe that I need to do that in this day and age. I should be able to plug device one into device two and my design software should just know how to make it happen. Period.<br /><br />At the end of the day I want to be able to say to my machine<br /><br /><blockquote>"Connect these devices in this order"</blockquote><br /><br />I should be able to just figure out basic system layout, and all the wiring, schematics and general fiddling should be just figured out for me.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/483805728462452878-1625813229244997089?l=tbullock.comlore.com'/></div>Ted Bullocknoreply@blogger.com0tag:blogger.com,1999:blog-483805728462452878.post-20689412336922842192008-10-07T16:21:00.002-06:002008-10-07T16:51:34.142-06:00openSUSE 11.0 and the nouveau driverI recently got my nVidia dual-head <a href="http://www.pny.com/products/quadro/nvs/280NvsPciEx.asp">Quadro NVS 280 PCIe</a> graphics card functioning in openSUSE 11.0 with the open source <a href="http://nouveau.freedesktop.org/wiki/FrontPage">nouveau driver</a>!<br /><br />Originally I was inclined to use the proprietary nvidia driver since the nv driver does not support multi-head setups with my particular card. However, the legacy nvidia driver is not functioning at the moment with the current kernel iteration of openSUSE 11.0. So after a few hours of frustration, I blew away the proprietary driver and began work on installing nouveau.<br /><br />The binary version that is comes packaged for the distribution won't let me start X for some reason or another, and besides, I wanted to try out the latest and greatest developments towards the driver.<br /><br />Following the <a href="http://nouveau.freedesktop.org/wiki/InstallNouveau">installation instructions</a> was straightforward after I installed the necessary devel packages that come with the distribution. And within a few minutes I had a functioning desktop cloned across my two monitors.<br /><br />The next step was enabling telling randr to spread the desktop across both monitors, by folling the <a href="http://nouveau.freedesktop.org/wiki/Randr12Howto">randr instructions</a> on the nouveau wiki.<br /><br />Clearing out a good bit of the autogenerated cruft from the <a href="http://www.comlore.com/xorg.conf">xorg.conf</a> file provided me finally with a functioning extended desktop. All this with the open source driver, and a bit of perseverance.<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.comlore.com/uploaded_images/nouveau-desktop-761016.png"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://www.comlore.com/uploaded_images/nouveau-desktop-760467.png" border="0" alt="" /></a><br /><br />Thanks to the folks on IRC! Very helpful, and best wishes!<br /><br />-Ted<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/483805728462452878-2068941233692284219?l=tbullock.comlore.com'/></div>Ted Bullocknoreply@blogger.com0tag:blogger.com,1999:blog-483805728462452878.post-60288078335823905012008-10-03T17:29:00.003-06:002008-10-03T17:45:15.546-06:00New version of httperf coming soon (httperf 0.9.1)!In spite of the fact that I barely spend any time these days working on httperf, I am pleased to note that activity has not been totally absent.<br /><br />Pretty quickly we'll be releasing a new version of httperf with a number of enhancements.<br /><br />The most dramatic change came from Adrian Chad, who implemented a basic port to the libevent notification system. This has dramatically improved the performance of the tool (like in the realm of "orders of magnitude").<br /><br />New period variation option --period=vT1,D1,T2,D2....Tn,Dn<br /><br />The idleconn tool is now optional (disabled by default), and can be built using the --enable-idleconn configure option<br /><br />New options to print result data in new formats (CSV and Key=Value), however this is still being tested.<br /><br />The idleconn program has been re-written to use libevents non-blocking dns and connection API.<br /><br />Also, a number of memory leaks have been plugged with a re-write of the timer system.<br /><br />libevent is now a build requirement.<br /><br />httperf will try to compile itself with the system compilers c99 option if available.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/483805728462452878-6028807833582390501?l=tbullock.comlore.com'/></div>Ted Bullocknoreply@blogger.com0tag:blogger.com,1999:blog-483805728462452878.post-84520882274118568232008-07-14T16:57:00.003-06:002008-07-14T17:44:41.052-06:00httperf and libevent and the future of everythingFirstly, congratulations to Adrian Chadd for starting the httperf port to libevent. Already we have seen some massive performance enhancements. CPU usage on my opensuse 11.0 workstation has improved about %3000 percent.<br /><br />Certainly there is some stability work to be done. I am currently getting segmentation faults with very high request loads.<br /><br />The current implementation does not use a persistent event loop, which means that the other useful features that libevent provides are not available (timers for example).<br /><br />Something I want to see developed going forward is an asynchronous http client library around. The http work already done with libevent is certainly a start to this, but is far from complete. Essentially, what I want is a client api where I can perform some http client action asynchronously without needing to deal with any messy details.<br /><br />The intention here is to foster a deal of code-reuse between http implementation projects that all use libevent at the core. After that, portability sits firmly on libevent's shoulders (where it belongs).<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/483805728462452878-8452088227411856823?l=tbullock.comlore.com'/></div>Ted Bullocknoreply@blogger.com0