Categories: Top ::
About
Codejunkie
Monologues of a mobile retro coder.
skeezix[at]codejedi.com
www.codejedi.com
Subscribe
Subscribe to a syndicated RSS feed. I've
also made a Livejournal version and Ben whipped up an auto-RSS Livejournal
Blogs
Michael Mace
JoelOnSoftware
Bruce Schneier
Wil Wheaton
I, Cringely
WritingOnYourPalm
Dan Gillmor
GrandTextAuto
Freedom to Tinker
Mark's SysInternals Blog
A List Apart
Tam's Palm
Bytecellar retro goodness
DadHacker; epic rants.
Lost Garden
Bill Ing
Ben Combee
PocketGoddess
PocketFactory
ModApex
Random Links
PalmInfoCenter
Zodiac Gamer
GP32x
Little Green Desktop
Atari Age
Penny Arcade
Hack-a-Day
Retro Remakes
SHMUPS!
Podcasts
1SRC
RetroGamingRadio
Recent Entries
| July 2008 | ||||||
|---|---|---|---|---|---|---|
| Sun | Mon | Tue | Wed | Thu | Fri | Sat |
| 1 | 2 | 3 | 4 | 5 | ||
| 6 | 7 | 8 | 9 | 10 | 11 | 12 |
| 13 | 14 | 15 | 16 | 17 | 18 | 19 |
| 20 | 21 | 22 | 23 | 24 | 25 | 26 |
| 27 | 28 | 29 | 30 | 31 | ||
Archives
Ubuntu (and Kubuntu) are very popular Linux distributions, regarded as being both flexible and easy to use for newbies, and still usable by those of us old in the tooth with Unix-and-friends systems.
But get this -- the current Kubuntu distribution DVD includes the gcc compiler (good!), but does not include the required files to actually make use of it (for C coders, things like stdio.h are missing.) I mean, the inclusion of the C compiler is questionable .. either include it and dependancies, or none of them and require a developer package to be installed. But actually including the compiler in a broken state? _Wow_.
Anyway, being someone who has been through this with older Ubuntu's, and Debian and others, I just figured I'd do the old "apt-get install build-essential" and be done with it. Again I was shocked to see "build-essential not found".. Wait, what? Seriously?
Turns out the installer sets up the apt-get repository list to a dozen sundry places, none of which are carrying the developer stuff? Or perhaps I just needed to run an 'apt-get update' first.. only now just occurred to me (but if so.. why wouldn't the distribution have included it, if its including things in the repository list?)
Fine, whatever says I, but then wondered.. why wasn't it pulling it from the DVD image? Oh, the installer by default doesn't mount the DVD image which I suppose makes sense, given people might well have yanked it out. After poking around, it would seem the suggested incantation is..
Pull from the DVD image
sudo apt-cdrom add sudo apt-get update sudo apt-get install build-essential
Seriously, before you can build Hello World, on a Unix-like machine, you have to jump through a few hoops. That first apt-get should just work. And don't include gcc-broken to begin with. It just seems so odd to have such obvious and trivially repairable things screwed up in a major Linux distribution in this day and age. Wow.
[ Category: / technology / linux / ubuntu ] [link] [Comments]>
VM: using VMWare's vmware-player for free virtual machines, installing from Live CDs or isntall CDs, and so on. And Parallels, too. Kubuntu.This short posting might be way over the top for some people; thats okay.. if you don't want to know about virtual machines, you're probably better off :) I just wanted to be able to run Kubuntu (a Linux distribution) under Windows.
A virtual machine is a software application that within itself pretends to be a machine of some sort; an arcade game emulator is an application you run that within itself looks like an arcade machine so those games can run within it. VMWare is a company who writes a virtual machine engine that allows you to run a Windows or Linux or whatever 'real computer' within itself.. on your computer. While at first you might just think this an asinine experiment, to us IT nerds it can be quite beneficial.. instead of having 5 actual PCs on your desk, you can use one good one running a half dozen virtual machines within itself.. handy for software testing during development, or for running many servers within one (and when one virtual server dies, you can just restart the virtual machine application for it.. much easier than rebuilding a new physical machine.)
Anyway, in the past I was a big fan of VMWare -- rock solid. Of late a competitor has come out - Parallels - originally for Mac and now also for the PC. (There are others, and various open source options as well. But for my purposes I'm talking about the big boys here.) I tried Parallels on my Mac a couple years ago and it seemed okay, but I never much got into it as I was trying to operate it via a remote desktop connection, and Parallels could never get the mouse to work right. (They claim its due to acceleration on the machine at my fingertips, factored against the mouse acceleration on the machine I was logged into, against the mouse acceleration of the machine being emulated. I think they're jut lazy.)
Parallels is very inexpensive (say $60CDN?), so when I had need of something recently I thought to jump on their Windows build. Tried to install a Kubuntu 8 into it, and failed. Tried Kubuntu and Ubuntu 7.. failed. Saw a pile of posts online about CD emulation problems and fiddled with many options but in the end.. many hours spent, and no results. Sucks. So probably a good tool when it works, but if it cannot handle installing one of the most popular Linux distributions... it has issues still. Fine.
So what to do, after having already popped a few dollars for Parallels? VMWare Workstation is more expensive ($180 give or take CDN), and I was already in for Parallels. Now, don't get me wrong.. I really like VMWare, so I am seriously considering popping for VMWare Workstation. Again (I've bought it 10 years ago, too.) But we just moved, and I'm very much broke right now.. but fortunately, VMWare has a free offering -- the VMWare Player.
VMWare Player lets you run a virtual machine that someone else has created. I started to get myself confused though -- what is the difference between created or not, for installation of an OS on a blank machine? Are they really just talking about paying $180 for the version which knows how to create the virtual machine description/configuration? If you're bandying about a full install, then it makes sense.. given the disk image, just run it in VMWare Player. But for installing a fresh OS ... what is 'created' versus not 'created'? A fully created blank machine cannot be much work, right? (One can aqssume Workstation also includes administration tools and so on and so forth.)
Turns out I am right.. I cast my eyes around for details on what makes up a VMWare descriptor, to see if I could just create one by hand (that is null and empty), and see what VMWare Player does with it. Empty disk image files can be found in various places online or created using freeware tools. You can specify a Ubuntu (say) Live CD as the virtual CDROM. All you need now is the virtual machine description file .. it would seem the commercial VMWare product really just creates this file, and the empty disk images (and administratoin and so forth).
In a few web forums I found references to this snippet.. create 'foo.vmx' and paste in the following. I've noted some customizatoins you might wish to make.
config.version = "8" virtualHW.version = "3" ide0:0.present = "TRUE" ide0:0.filename = "Ubuntu.vmdk" # name of disk image to use memsize = "256" # pretty small, maybe need to increase it MemAllowAutoScaleDown = "FALSE" ide1:0.present = "TRUE" #ide1:0.fileName = "auto detect" # use this pair of lines for actual CD drive #ide1:0.deviceType = "cdrom-raw" ide1:0.fileName = "ubuntu-5.10-install-i386.iso" # use this (fixing filename) for an ISO ide1:0.deviceType = "cdrom-image" ide1:0.autodetect = "TRUE" floppy0.present = "FALSE" ethernet0.present = "TRUE" usb.present = "TRUE" sound.present = "TRUE" sound.virtualDev = "es1371" displayName = "Ubuntu" guestOS = "Ubuntu" nvram = "Ubuntu.nvram" MemTrimRate = "-1" ide0:0.redo = "" ethernet0.addressType = "generated" uuid.location = "56 4d 5c cc 3d 4a 43 29-55 89 5c 28 1e 7e 06 58" uuid.bios = "56 4d 5c cc 3d 4a 43 29-55 89 5c 28 1e 7e 06 58" ethernet0.generatedAddress = "00:0c:29:7e:06:58" ethernet0.generatedAddressOffset = "0" tools.syncTime = "TRUE" ide1:0.startConnected = "TRUE" uuid.action = "create" checkpoint.vmState = ""
Simple store that file alongside the disk image, and point to the right .iso .. and boom, your free VMWare player can now create a VM for Ubuntu or whatever you should like to install there. Kudos to John Bokma, the apparent head vampire for this VM description file.
Armed with this setup, I installed Kubuntu 8 into the VM; VMWare Player is clever enough so that networking works from the virtual network card, so running web browsers and so on within the VM works fine.
UPDATE: Rickard informs me of a website that builds vmx files for you -- how interesting is that? Check the site out here: http://www.easyvmx.com/
[ Category: / technology / virtual-machines ] [link] [Comments]>
iPhone: How to migrate from Palm to iPhone/iPodTouch/Anything, or from Palm to Outlook, or vCalendar/vCal to Outlook,I'm working on setting up an iPhone/iPodTouch development environment, and theres no better way to get your head around a beast than to just switch to the device as your 'main.' In my case this means moving away from my trusty several year old Treo 650 and attempting to use the iPhone exclusively.. for a little while. The iPhone as I've gone on about before has some revolutionary ideas - and a slew of seriously boneheaded ones.. but actually trying to use it day in and day out will certainly reveal many of the holes and nits in the platform which is the bread and butter of the 3rd party developer. Without a doubt it is slick, but it takes more 'taps' (and thus time) to do many common operations and certainly lacks the general flexibility.. but should be fine. And let me drop my media player .. freeing up a pocket in summer is a win!
The Treo line is a very good line of smartphones, truth be told; some models (such as the 650..) are buggy in the OS and prone to fits of crashing, but more or less have the most features (when counting 3rd party applications) of any smartphone. Basicly, as a looong time Palm OS developer I'd be a huge fan of the Treo line except for my general love-hate relationship.. the device invariable crashes and loses important recent calendar events when I most rely on them, but generally serves as a very good workhorse I've been abusing for years. Palm used to lead the mobile pack but has spent the last few years shooting themselves, the developers and losing the race... letting folks like Apple get back into the mobile ring after a decade being out of it. Anyway, thats another rant..
What to migrate
Anyway, to switch main smartphones, we invariably have to consider a few things -- moving contacts/addressbooks over, moving calendars over, and everything else. (Stored bookmarks in the browser, SMS history, ebooks you might be working on, music and video files, and so on and so forth.) For me, I cannot move to a new phone without bringing over contacts, calendar, and encrypted text (password database etc.)
First step - handheld to desktop
This should be an easy step. For a Palm OS handheld it should be as easy as a single hotsync button press and you watch in amazement as your data moves from handheld to Palm Desktop and/or MS Outlook. A Pocket PC should work the same way, but entirely to Outlook. But of course, we all know its not so easy and you sit in amazement as your data is systematically destroyed :)
In my case, I tried a number of options before getting really dirty:
The winning method took another day to come to mind -- using bluetooth to transmit to my laptop directly. Calendar -> Send Category -> All and poof, my laptop received the request. It didn't work really well, so I made sure to set my laptop to just store the file rather than trying to process directly .. and voila, I received a "vcs" (vCalendar) file with all my calendar in it, and another file for all my contacts. Awesome. Painful as hell to get, but awesome.
How to get Contacts into Outlook / iTunes
Naturally, most application don't want to take the vCard files correctly, but I imagine you could just hit File -> Import in Outlook to suck these in. In this case I am targetting the iPhone so I did it a little differently -- Run the Windows Address Book that no one even knows about: Start -> Accessories -> Address Book and import the vCard file(s) into it. Then just pull up iTunes and plug your iPhone/iPodTouch in and hit the Info page for it... checking off the option to Sync Contacts, and setting the source to Address Book. Done! Sucked, but at least not so bad once you know that trick.
Calendar.. the hard one.
I had to repeat a few times to get things halfway right, so I learned a neat trick up front -- should you wish to wipe out your calendar in Outlook (or a subset of it), a handy way is to just hit View -> Current, and pick All Events (or whatever it is), rather than the traditional Day/Week/Month view. This just shows a list of events, and you can (say) hit Ctrl-A to select All, Del to wipe them, and then Tools -> Empty the Deleted Items to clear them forever. With this, you can screw up and re-import over and over, and not end up with 35 copies of each event in your handheld.
Given the vCard files you can just hit File -> Import in Outlook to suck them in. (Be sure to pick vCalendar as your import source type, then change the file selector to vcs files, and away you go.) The hard part was getting the vcal file in the first place, so importing it 'more or less' works, sort of. At first I actually imported to Palm Desktop, figuring Palm would have tested that, but alas.. no really useful: the events show up, but without titles. All the titles show up as Notes, meaning you end up with 5 blank entries in Palm Desktop, when you have 5 useful entries in your Treo. Peachy. I'm not interested in hand fixing several thousand events up, either. Palm has a KnowledgeBase entry where they snidely remark that 'some applications might do this' (paraphrased), but it actually means.. Palm Desktop (and Outlook and everyone else.)
If you can work like that, fine, you're good to go. Me, I want something a little better..
vCard and vCal files are just textfiles with various fields detailing begin and end of record and so on, so I hit up Google and Wikipedia to find out the field meanings, and surprisingly the Treo 650 doesn't even include title text in the events.. just notes. So it never worked.. thanks Palm! One would expect the smarter systems would at least use the note as the title if the title is not provided, but neither Palm nor MS are that swift.
I also noticed the 'times' were always wrong; in my case, off by 4 hours. Could be a timezone thing, or a number of issues.. I reimported a half dozen times using the trick above while fiddling with time and timezone on the Treo and the laptop but no go.. always off by 4 hours. I tried hacking a timezone into the vCalendar files but Outlook and Palm Desktop ignore it. (Thanks again guys!)
Also, and most sadly, some meta-data is not in the files and not imported correctly -- repeats, alarms and such. I can deal with this mostly, but it does mean birthdays are a problem for us leaky minded people. (To fix this.. after you've done the whole import up to the point you can handle or care about, just do a search in Outlook for 'birthday' or whatever in list mode for the All category and you'll get a list of all matching events. step down them and set recurrence and alarms if you need. Sucks, but what can you do, and I didn't write a tool to do this for me yet..)
An evil hack
OKay, knowing that vCalendar files are just text, I thought I'd make a short little code hack to fix them up just enough that I can stomach the results. 10 mins work to make everythingthat uch better is worth it every time. The hack below is in Perl which pretty much every Unix and Unix-like OS comes shipped with these days.. be it Linux, FreeBSD, Mac OSX, Solaris, whatever. You can also get it with cygwin for Windows, or get a native Perl port for Windows.. look around. This hack takes a command line argument of a vCalendar file (a .vcs file) and spits out on the screen a 'fixed' version.. so I just run it like "./fixme-script.pl myfile.vcs > fixed.vcs" essentially.
The script does two main things -- it looks for the note field (DESCRIPTION) and repeats it out as the title field (SUMMARY); it doesn't cut it down in length, as most of my event titles are short and it didn't seem a problem for me. The job also adds 4 hours to the time (so a 5pm event will show up at 9pm in the file), since Outlook seems ot take 4 hours back off again. Theres probably a better way, but whatever.. this worked in less than 10 minutes.
Over-technical and lame, but it sure saved my bacon.. so heres to hoping it helps someone else too.
#!/usr/bin/perl
$filename = shift;
if ( ! $filename ) {
print "$0: Supply filename to vcs vcalendar file to insert SUMMARY lines into.\n";
exit ( 0 );
}
if ( ! open ( FOO, $filename ) ) {
print "$!: Couldn't open $filename\n";
exit ( 0 );
}
while ( $inline = ) {
# note, not dropping newlines here
# chomp ( $inline );
# just keep emitting lines as we get them; should we see a DESCRIPTION field
# we can summarize it and spit out a SUMMARY line immediately following, and
# proceed. No need to keep any state.
# do we see DESCRIPTION field tag at beginning of a line? Crom knows how they
# are escaped..
if ( $inline =~ /^DESCRIPTION:(.*)$/ ) {
# found a description; parse it down into a usable summary and spit that
# out; the regular line-emitter will then spit out the description as normal.
# Do we actually need to trim the desc down, or just copy it verboten?
print "SUMMARY:$1\n";
} elsif ( $inline =~ /^DTSTART:(.*)$/ ) {
# print "DTSTART;TZID=US-Eastern:$1\n"; # should've worked, stoopid Outlook
# looks like Outlook is ignoring timezone or otherwise corrupting time, so
# events are always 4h too early (9pm becomes 5pm); I guess I can just deduct
# 4h from each event (caution for events before 4am.. but there shouldn't
# be any, so I'll ignore it for this hack.) (caution for items after 8pm..)
print "DTSTART:" . fixdatetime ( $1 ) . "\n";
next; # don't emit DTSTART line again, so skip back to top of loop
} elsif ( $inline =~ /^DTEND:(.*)$/ ) {
#print "DTEND;TZID=US-Eastern:$1\n";
print "DTEND:" . fixdatetime ( $1 ) . "\n";
next; # don't emit DTSTART line again, so skip back to top of loop
}
# emit the line in as normal
print $inline;
} # while
close ( FOO );
# done!
exit ( 0 );
# support functions
sub fixdatetime {
my ( $dt ) = @_;
my ( $tdate, $ttime ) = split ( 'T', $dt );
my $thh = substr ( $ttime, 0, 2 );
my $tmmss = substr ( $ttime, 2, 4 );
if ( $thh < 5 ) {
print "ERROR .. do something.\n"; # just so I can see if it occurs
} elsif ( $thh > 19 ) {
# for this case, just let Outlook bump them down.. so what if 9pm becomes 4pm
# for now
} else {
# normal case, we bump them up 4h so Outloko can decrement them 4h agin..
$thh = sprintf ( "%02d", $thh + 4 );
}
# reconstruct the date-time
return ( $tdate . "T" . $thh . $tmmss );
}
[ Category: / technology / apple / iphone ] [link] [Comments]>
Apple: iPhone first impressionsA quick post here to bitch up some nagging thoughts. (Life continues to be busy with the packing and so on, but I'll try to post a few things :)
The Apple iPhone does feature an impressive interface, and anyone who suggests otherwise is a hateboi, but that UI really is just the appetizer - when it comes down to it, the main course has to stand on its own. As a long time handheld developer and user I can safely say .. this is typical Apple. Its minimalist and slick, hot and sexy, and when you get right into the gears.. its not as impressive as it looks.
Anyway, so here I sit considering using the iPhone as my mains so I can get a bearing on it for developing applications for Codejedi with it. But right at the onset -- it doesn't work with my headphones, doesn't accept my video files, doesn't sync in multiple locations and so screws up my calendar and address book options. Certainly, trying to migrate from any device to another is hard, but this is extra tedious.
As I've said for a year -- my 3 year old Treo does all these things. Sure its ugly in the UI, but it works. And crashes a lot, but fine, I have a backup tool. (Crom knows what happens when an iPhone crashes hard.)
[ Category: / technology / apple / iphone ] [link] [Comments]>
Tech: Cellphone data plans and how they totally suck in CanadaI've often ranted about how incredibly terrible our data plans are in the Great White. I mean, not just bad, but actively terrible .. to the point it probably harms the market as a whole. We're often told that in the US one can score unlimited data for their PDA or smartphone for $30 or $50 a month, where in Toronto you cannot even get unlimited anymore .. and each MB is doled out pennies at a time. In my heart, I know it is simply because even geeks aren't aware how much data they consume in an average normal browsing day, and non-geeks have no idea how to even measure the information. ie: Data plans here are measured in how many Megabytes (MB) you get for $x -- a really big expensive plan might get you 25MB for the month .. and if you're browsing someones photos, you might be pulling down a single megabyte every few photos worth. So an hours browsing, or maybe just a couple youtube videos, and you're down a hundred bucks. _brutal_
Pretty much every Canadian whose looked into it is miffed. This one lad has written a pretty fine article about it, so take a peek:
BTW, I just have to add -- why is it that writers so love the phrase "high seas" -- where are the "low seas?"
[ Category: / technology / mobile ] [link] [Comments]>
EBooks: The future of mobipocket/Amazon?I've always been a critic of ebooks -- not the concept, just the implementations we have so far. And by that, I mean the DRM (and to a lesser extent, the stores since there is a much more limited supply of ebooks than real books, and they tend to cost a lot!)
I can live with the requirement for batteries (if not for page turning with e-ink, but at least for backlighting, say) and so on and so forth, and one cannot argue with carrying a hundred books in your pocket. But as in most forms, DRM is just plain evil. Buying a locked down file means that someday it might be incompatible with some version of the application you need, or perhaps becomes unsupported as the source company goes out of business.. or maybe the book just times out or other silliness. As such, I've been stuck with DRM-free ebooks which are much harder to come by -- a very few stores and titles, or using the Gutenburg project, or converting from one DRM type to a non-DRM type if software is available. Painful.
Anyway, with that out of the way (I should just make a standard template used as a prelude to ebook posts) the question remains -- is any of this dire stuff really going to happen?
Well, maybe, and big too. Consider..
Mobipocket Reader has been around for probably nearly a decade now, supporting Palm OS, Windows Mobile (CE, Pocket PC, etc and so on), Symbian and others I'm sure. Amazon bought them a few years back and started moving more content over, so a lot of people took this as a sign of confidence in the platform. I mean, it was hard to get a good catalog of ebooks, and here comes Amazon getting in, so obviously Mobipocket could be a good readewr system to go with.
Fast forward to this month, when Amazon released the Kindle product, a new ebook reader using e-ink. Well, as an ebook consumer I thought I'd take a look at the specs and lo and behold, something as silly as Microsofts PlaysForNotSure is potentially going on -- the Kindle uses a new proprietary format (AZW files or somesuch) downloaded over the air, but also supports _unDRM_ed Mobipocket files. So wait, the latest and newest Amazon product doesn't support their own ebook store, Mobipocket. (ie: You buy a new book, its got DRM on it, and thus isn't usable on the Kindle. By which I mean.. any ebook you've bought from Amazon is only good on the existing devices (PDAs and Windows, say).. but not the new device.
So, is Mobipocket to be phased out? All those customers screwed? Or is the Kindle firmware going to get updated to support the format later?
Who knows, but suffice to say -- this is why DRM sucks.
*sigh* Another year where I'd like to buy some ebooks, but can't.
[ Category: / technology / ebooks ] [link] [Comments]>
Mobile: 2008 will be an interesting year..Its really been a known thing for a few days or a week now, but the official announcement is out -- Goggle has launched Android, its Linux based mobile phone OS platform. This is the foundation with no house on top, but if it proves to be a robust foundation (solid, flexible enough to be ported to many devices, easy to lock down for telcos and easy to develop applications for), it could be a good thing. It'll be fun to watch the next few days as people inevitably compare it to established stacks like Apple's iPhone has (ie: an OS with a relatively complete application suite and a year head start) and the traditional smartphones OSes (Symbian, Palm/ACCESS and Windows offerings.)
As usual, Michael Mace has a very good article on things here -- I really love the closing lines:
It's going to use open source and alliances to suck the profitability out of anybody who creates a proprietary island that it can't target.
It'll be interesting to see if and how Google applies this principle to the upcoming frequency auction in the US.
Or to anyone else who gets in its way.
[ Category: / technology / mobile ] [link] [Comments]>
Blogging: Following the tailSure, competition and variety is a good thing, but it annoys me that people lurk about on myspace, livejournal, facebook and every other site I don't care about :) No way am I going to repost all my blog entries in 5 places, which is why I've always kept them on my own server - and no ownership problems this way either. But I did make this handy little script that pushes updates over to LJ so friends there could see my blog posts if they like without having to open up my site directly. Do I now have to figure out some way to do the same for facebook?
Because it sure seems like LJ is dieing to me :P
[ Category: / technology / blogging ] [link] [Comments]>
Apple: Way to go Apple, you mp3 player is the new PDATeething keeping us up half the night aside, my brain is a little more functional today. I thought it very interesting when Apple announced the iPod Touch -- an iPod (mp3 player) with a large touch screen, a pile of storage, and good multimedia abilities. Despite the fact that PDA sales have been punished severely the last few years (and the whole product class being ignored by the manufactuers like Palm, Dell etc), Apple has just created the next PDA.
Apple for all their greatness and faults is pretty fearless these days, and they've demonstrated time and time again a willingness to take an aging concept and attempt to revitalize it, just as they've done most recently with the cell phone. We can be sure Apple knew they were just buffing up the iPod, but sneakily hoping to enter the PDA marketplace from the side..
I've not really looked into the iPod Touch specification to know how its data entry will work -- is the touchscreen simply for yes/no and kicking up applications and picking songs, or will the device feature an onscreen keyboard like the iPhone does? I doubt they will take on a grafitti-like stroke solution for fear of being branded a PDA and losing their core music-loving tech-fearing community. Regardless, the unit does feature a calendar and addressbook (with synchronization via iTunes) and media playing, which as everyone in the PDA industry knows.. account for eight tengths of what that gadget set are used for. Perhaps Apple has nailed it -- sticking to a minimal core of the highest demanded features and yet staying closed to shun the other uses will let them recapture a lost marketplace. People already carry iPods and phones, whereas carrying a PDA and phone is redundant in so many peoples minds.
Naturally, as with the iPhone, the devices are closed (for now) to developers.. more or less. No iMail port sure opens up an angle for developers to make a buck with, and gaming of course.. but I'm sure Apple will make some strategic partners (Bejewelled on yet another device), and open up web applications if.. confirmed - yes, the iPod Touch will include wireless. Sweet.
It'll hopefully be sold in Canada, even..
Way to go Apple .. while everyone else dropped the ball literally for years, as I've so often lamented and ranted about - you've picked it up again.
Please don't lock us developers out. We like to nibble on your pie.
[ Category: / technology / apple ] [link] [Comments]>
Codejedi: Why I want to smash a Pocket PC tonightThis is a vent. A rant. A "why the gorramned hell do I put up with this shit?" Time is tight. I have a little baby upstairs who eats up every ounce of time, so I cut into sleep to get anything done... and yet, in this decade, developers are being slapped in the face at every instant. Don't get me started about Palm right now, but let me focus on Pocket PC right now.
Alright, so my latest app works on about 6 platforms pretty much flawlessly.. but on Pocket PC its a little spotty. Let me check things off..
GAPI - A very low level API for essentially making games; ie: It grabs the screen and inputs for you, so that when someone pushes a physical device button or taps on the screen, your application receives the event instead of any other application. Player hits a fire button, you get a button press. Great! On my particular device, the stylus is in fact all captured by my application -- tap in the top where the Start bar normally would be and my app catches it. Great. An alpha tester tells me this isn't the case for them.. they can pop right out of the game by tapping in the wrong area and the OS catches it. I have a similar problem though -- some of the buttons on the device go to my application.. but some shoot right out to other apps in the OS, causing application switches when pressed. The entire point of GAPI for us developers is so shit like this doesn't happen. And its written by device vendors and included in the device.. and apparently is totally unreliable. Thanks. Perfect. PEACHY.
Memory allocation - OKay, on a Pocket PC device (2003SE say), you have storage versus program (runtime) memory sharing one pool; you play with a slider to adjust what you want -- more data storage, or more runtime memory. So my game here needs a lot of memory (for now, until tweaked more), so I slide the widget over and give myself some RAM. Exit the memory application and watch as the RAM automatically adjusts back where it was.. or worse, some other random place. OKay, so the OS decided it needed to update some file somewhere and that needed space so it readjusts the slider. Well, why the gorramned hell provide a slider if it randomly moves? I need to set it, and leave it the hell alone. I'm mad because I can set it, drpo the device into the cradle for debugging and that event triggers a memory re-slide and voosh, I lose half my RAM. Unusable.
Environment - Of course, all this depends on the application running, the debugger connecting.. vanilla things like that. Basics. Well, when you drop the device into the cradle it immediately runs at about 10% of its speed while it presumably jabbers with the machine its plugged into.. peachy but fine, I can deal with it, though my application requires speed and reacts differently when there isn't any. Fine. More to point is that half the time when you launch the debugger, the handheld crashes.. or Active Sync crashes, or the environment (eVC 4 say) hangs. It even tells you 'the device crashes, you need to exit and restart eVC now' -- holy shit, you guys cannot handle when the remote dies? More to point.. out of about 8 tries (each taking a few minutes, due to all the slowdowns and hiccups) only about 1 o2 2 will succeed.. the handheld will just go whitescreen, or RAM adjust will zorch out the ability for it to run at the last second, or the debugger connection will crash....
I started 4 hours ago trying to actually debug something. A trivial task in any modern environment, but anyone whose done it knows handheld development is on the other of 10 years or so behind (really, I mean that.) After 4 hours, I've not gotten _anywhere_ -- I've debugged RAM problems the OS causes, and debugged USB oddities to try and keep the connection up more, and I've fought with the handheld OS screwing with me over and over about its RAM allocations, and fought with GAPI letting events slip through, and with the memory allocator returning memory when its actually run out, and all sorts of Voodoo.
The only question now is -- with what implement will I smash this device?
I'm seriously going to reconsider this application; my time is so very tight.. whose isn't? Who can waste 4-5 hours just fucking around with shit that has nothing to do with what you actually meant to do?
[ Category: / technology / codejedi ] [link] [Comments]>
Palm: The stats on smartphones(While I am pretty darned sleep deprived I think I'm reading things right ;)
Being a developer for various sundry mobile platforms, I like to try and guess where things are going, and gauge where to spend my efforts, and really .. I like to see what new gadgets are out there, and fondle as many as possible. Its been a dry couple of years for us gadgetheads .. the sheer variety of toys we've seen before hasn't happened for awhile - no more Handera Inc's my dear friends. We need some shakedowns .. some rolling screens, not just GPS-in-everything. We're tough to please nowadays.
[ Category: / technology / mobile / palm ] [link] [Comments]>
Blogging: Facebook.. wtf(Pardon me, allow myself to alienate uh, myself.) OKay, so people are into LinkedIn, LiveJournal, MySpace, Facebook, Grokster, Friendster. People click away requesting and confirming connections in this orgy of building bigger 'connection scores.' Well, I'm generally into hosting (and owning clear copyright to) my own content, and really don't care for the connection count dick-size war, but I will permit myself to hook up in facebook since my wife is sitting over there hooking up and making me very curious. Damnit, curiosuity whips snobbyness every time :)
So I head to Facebook and enter my info into the Register option; a minute later it times out and forgets everything. After another try (chalk -1 up for Web 2.0 :P) I get it going.
My wife has already requested a link to me I guess, since it magicly suggests hooking up with her. Thats sort of cool, so I hit 'Confirm' to her connection and it pops up a box to nail down the relationship. I check "In my family" and a picklist appears.. "sibling, parent, child, cousin, extended family." So here we have a website with millions of users that doesn't understand the concept of wife. And crashes on registration.
Why do people put up with this crap?
Oh, right, dick-size wars.
I wonder how many people spend all day sending requests, checking off those requests in all those sites above, and entering their blog into Livejournal, then looking at their LJ and FB 'friends lists' to see all their blogs.. man. I know I get a half dozen 'confirm' requests a day and I'm sure I'm nothing compared to your average 14 year old :) Pick one site. Everyone, stay on LJ so we needn't monitor 17 sites :)
Edit: (I do realize they have 'We hooked up' but thats generic since you then type into a 'and it was..' field, so thats vaguely possible; theres also 'we dated' which sort of works with its options. I know, I just turned Old, and this site is for highschool folks. But make me feel like I'm still In, okay? :)
[ Category: / technology / blogging ] [link] [Comments]>
Windows: A perfect summary for WindowsIt is difficult to sum up everything that is MS Windows in one word or phrase. "Damn" would be one way, but "Mostly Harmless" would be another. Today I choose to describe it with a simple scenario that happens to me every couple weeks -- frequently enough that I can say its bit me dozens of times, but not so frequent that I've bothered to hack the OS to not do it.
Imagine you're working away with a dozen applications open in one form or another. You head downstairs to make lunch, or head out to the doctor, or go buy a coffee, or whatever. Upon return, you find a nicely rebooted machine. The reason is simple -- MS offered an update, and you wisely had the machine set to auto-download. Further, rather than be pestered every day, you set it to auto-install updates. For, being a Windows box, you bloody well need the patches. So "yes" I'd like auto-downloads, "yes" I'd like auto-installs if they're passive. No, I do not want "auto reboot" .. wtf genius defaults to the worst possible option? Its akin to highlighting the "Yes" button by default, in the "do you wish to format your hard disk and destroy all data" type box.
Really, its the whole mentality summed up -- when MS wants you to reboot they pop up a dialog that out of the blue starts capturing all your inputs mid-typing, and defaults to rebooting your machine in a few seconds if you're not there looking for it. Thats the MS way -- not to think it through whatsoever.
So today, I went down to check on the baby, and a few mins later.. yep, no more open applications. Thanks again Bill, for the lost data!
Aside; a friend brings up the interesting question -- if they're remaking every movie from the 60s and 70s.. when are they going to remake Star Wars? Obviously, Lucas mucks with it every year anyway, so thats a moot point. But, he asks.. when will they dare to remake The Godfather. Scary times, is when.
[ Category: / technology / windows ] [link] [Comments]>
OSX: How the heck do people approach email? Specifically, OSX "Mail" in this case. And, where did record album art go?I think I must be missing something extremely obvious; thats entirely plausible given my current state of mind. If I am, let me know :) My question is -- if you have more than a few mailboxes, say a couple dozen or even hundreds, how do you file your mail? Drag and drop seems rediculous in this situation. (Mailboxes could be by author of email, or by project, or by whatever criterion. I use author, but for the following you can sub in whatever splitting technique you use.)
Asides: 1) This was sunroof-day, the first day of the year where I opened up our sunroof for a drive. Course, we bought the car in winter, so this was a cool occasion. 2) Where did album art go? you remember on records and such, where you'd have a painted cover by Roger Dean or the like?
Background for the question:
I'm considering switching to Mac Mail for some email activities; I'm for sure sticking to my existing mail package (Unix Pine if you must know) for a lot of other activities. Both use IMAP so I can keep all my mail physically located in one place regardless of which tool I use to manage any given message. Cool stuff, and as it should be for a cross platform developer. But in setting up Mac Mail ("Mail" hereafter), I find myself seeking one particular feature that just seems a super obvious requirement for everyone.. yet its missing. Obviously everyone else has a different workflow to me.. yet I'm surprised :) Being a developer and not a user does make one different, but for email.. we're all users, right?
I keep 'unprocessed' email in the inbox; I may have read a given message and not acted upon it yet, but still need it in the inbox. Eventually I file it. In my existing mail package, I just hit 's' to save the mail, and the default location is (configured from a menu item in the mail application) a mailbox named after the source email address -- one key and a return and I'm off to the next email. Example: If I'm reading an email from fooblorb@generic.com and hit the save key, it goes to 'fooblorb' unless I indicate otherwise. Nice and easy -- hit 's' and 'return', done. No fuss, no mess. This was the norm for dozens of email applications not that long ago.
With Mail you've got an Inbox; I can read email in it, and save them to a folder by drag and drop or a menu that lists folder to drop the message into. Well and good.. if you've got maybe 10 friends. If you've got 1890 folders in one account like I do, good luck scrolling 3/4 down to drop an email off a few times a day. Seems like a flawed UI .. drag and drop, and scrolly lists, just don't work for more than a handful of values. (Yes, I can trim down the folder count, but the problem remains.. I'm sure lots of people know more than 20 or 30 people .. and having to manually seek a text item from a list is never really fast to us poor humans. This is why in 'pick a country' lists in a web browser, they usually put a Canada and US option at the top.. seeking down to find US every time would annoy the hell out of you.)
Some options present themselves, but not well: Set up a 'rule' so that mails can filed to folders based on author. Great, but then they've not in the inbox anymore .. so you search through lots of folders to find all new mail.. silly workflow. After setting that up, you could set up a new virtual inbox that is a saved query, showing 'unread' mail say. Course, I like to read and then re-read and reply later, so thats unworkable as well since my inbox would be losing emails as I read them, not as I file them. I could try and manage with little flags and colours, but lets get serious -- in Pine, elm, mutt, gnus, and other older email packages you just hit the save key, and you're done. Perhaps some rules can be 'automatic', and others 'manual', but again.. we're getting pretty fiddly, for what amounts to 'one key' in other applications.
I do realize the idea of having conversations spread across multiple mailboxes by author-of-individual-message is antiquated, but it was also mega common, and works fine. (I can search by thread if I want to.. but for me, I 99% of the time search by person, or whole conversation is with one person. Most email for me is not amongst 10 people at once, but a one on one. I'm betting the same is true for most conversations.) Since I'm setting up across IMAP, I expect Mail to work to the existing system, not require me to import gigabytes of email and rework the storage just for it.
I'm betting theres some cool AppleScript solution, but I also know this same problem is present in many other current email applications. They tend to assume one big database, or some other organization scheme, and you adjust to fit their usage and use search views. Or perhaps most people have only a dozen mailboxes at a time, I dunno. I prefer applications that bend to my usage however, not the reverse :) I've been trained by these old apps, and I like my system like an old codger. I know I've been doing email for some 20 years or more and am a little set in my ways.. but how can I be the only one? :) And yes yes I know, few people get as much email as I do :)
I would think that if most people file-by-rule at all, and thus must use a virtual inbox that shows 'recent' email, it would be a default-on feature. So it makes me wonder.. how do most people manage their email? And more to point.. how can I bend these tools to my will?
At work I manually file every email .. by project, or to the trash after awhile. It makes sense for work since theres only maybe 10 projects at any given time and a few dozen over the year so I can sub-folder to save having to see more than a few at once. I don't want to manually file every email at home.. It should be as easy as a rule that applies only when you fire it off, and it should be a regular expression (or AppleScript?) to guess the mailbox name. Like we've been doing for 20 years in other applications.
I'm certain this had been done to death; any Mac nerds have a pointer for me?
[ Category: / technology / osx ] [link] [Comments]>
OSX: Running Linux under Parallels on OSXThe goal here is to use this teeny little Mac to produce both the Mac and Linux builds of my applications. I picked up Parallels as it seemed a pretty decent package and none-too-pricey, but it doesn't seem to like running via VNC remote use too much -- something about the mouse acceleration in 3 layers confuses it (my local machine, the OSX remote desktop, and the emulated OS, all fighting.) So using the mouse is a pain while going through VNC, which is entirely the point of this exercise. Still, I've figured out a pretty workable solution.
First, it took me awhile to find the X11 server for OSX 10.4; while the Apple website insisted in no uncertain terms the application was on the install DVD, I couldn't locate it. Trying to install the official download for OSX 10.3.9 didn't work either, as it refused to install. After awhile I figured out the problem -- the installer DVD did in fact have a Optional package on it, but they made it hard to see -- and not just to me, judging from the hundreds of annoyed people I found online :) Anyway, their install disk pops up a directory panel with just a few icons in it, wihch suggests that is all; in fact, the disk has a dozen other directories in it, but they hid the icons away off the panel. Normally that wouldn't be a problem, but the way they presented it tricked me. Annoying, but shameful. Thats Apple for you :)
Second, I installed Ubuntu Linux 6.0.6 into Parallels; we'll see if that version has common enough kernel and libs to be used with other peoples installs, later; for now, its nice to have a vanilla install, and then a beefed up compiler-ready development version, all switchable back and forth through using the virtual machines. It runs fast enough inside the emulation, but the mouse and keyboard are flaky due to the VNC and Parallels disliking each other.
Thirdly, the reason I installed an Xserver: One of the great things about X is you can run an application somewhere else, and send its display to your local XServer (or someone elses, for the mischief-inclined.) Once Ubuntu is up, I fire up an xterm (shell window), and then invoke another xterm but this point pointed to my X server on OSX. Thats confusing if you're an emulation newbie, but consider -- OSX is running X11, and Parallels; Parallels is in turn running Linux with an xterm that it is displaying back on OSX. At this point you can minimize and ignore Parallels, and just work in OSX -- sharing the Linux X applications along side OSX applications. No more mouse or keyboard fighting with VNC, since VNC works great with OSX itself.
I'll fill in the cracks later, but this proof of concept is what I wanted. Building applications for both Linux and OSX on one machine. Success!
[ Category: / technology / osx ] [link] [Comments]>
Codejedi: So wheres the new Linux target now?I've spent a few days trying to suss out which version of OSX most Mac users are currently resting at, as you can see from prior blog entries. Interestingly enough, the Mac crowd seems to really stay afloat of OS updates and new versions. My assumptions on the Linux and Unix community are very different, though I've not really looked for any hard evidence yet. Total guesses I've been working from for a few years, but I think its time to rake through the Apache logs again and look for third party estimations if I can find them -- where is the 'most common' Linux user at in terms of kernel version and libraries? What distro are they using, so that I can determine those things? Since I need a few machines to produce each official release, its handy that I need to lag as it keeps costs down. In general, I'm cheap and always like to lag since I always say -- those who know how to use a machine can afford to use an older machine than those who are newbies; they don't optimize, so my machines are all old and cheap :)
[ Category: / technology / codejedi ] [link] [Comments]>
OSX: Making OSX headlessA 'headless' machine is one that is used remotely or as a server; a typical user interacts with his machine through using its mouse, keyboard and monitor -- it has a head (monitor). A web-server, for example, that user is interacting with would often go headless - no monitor - since even its local staff would usually administrate it remotely. Unix operating systems are good at going headless since it is so common with them. Windows doesn't like it so much, but it can be done by yanking out the video card after setting it up :) I've not set up many Macs, let alone headless ones, so it took me a few minutes to find the needed tidbits and I thought I'd share whichever of those came to mind.
When you're a developer supporting multiple platforms, this is the way to go -- why have 3 or 4 keyboards, monitors and mice around in a big heat-emitting mess, when you can stack the machines in a cool basement and use them remotely (if slowly for GUI applications.) I really only keep a machine or two on at a time, and they're all pretty inexpensive these days since its nice to lag behind everyone else to both keep you writing efficient code, and to support a wider population of users who might also be lagging behind.
[ Category: / technology / osx ] [link] [Comments]>
Codejedi: OSX adoption rateIn the previous blog entry I ask what the adoption rate for OSX is; it occurred to me after posting that I already have the tools at hand to make a complete guess. I imagine Netcraft and other groups have very accurate statistics but I'm far too clueless or lazy to figure that out, when I can hack something together myself in 5 minutes or less.
Checking one of my webserver hit logs should give a vague estimate; obviously google-bots and spam-info-collection-bots and such will cause a huge inaccuracy problem for comparison against other OSes, but the data does make for an interesting exercise in a like-for-like comparison. The logs include the web browser client information, so scanning for Safari (one of the browsers people use for OSX, when they're not using Firefox, say) is entirely possible. Different versions of Safari come with different versions of OSX, so you can make a guess... but obviously people who upgrade Safari on older machines will also skew things. Further, I don't really know which builds come with which OSXs, except to say Safari 2 comes with OSX 10.4 the distribution sites suggest.
[ Category: / technology / codejedi ] [link] [Comments]>
Codejedi: Getting back on top of OSXI'm not really sure if you can call Apple 'the little guy' anymore, with their iPod bringing in the masses but I imagine an OS with a single-digit share of users must be teeny. Stores and other developers insist I'm an idiot but I'll always try to wave the flag for OSX, Linux, and FreeBSD. I hope that I'm doing my part, just as those who support Codejedi -- the small guy in the mobile world, do their part.
When lightning wiped out much of my gear a year back, it took our the monitor I was using on my Powermac G4; that was okay since I essentially use the machine remotely, but it definately got in the way of things. I used another monitor and it turns out the video card in the Mac was going funky but with some quick repairs its back in order on another monitor I've got... which led to moving the machine, which led to wireless, which led to purchasing an 802.11 card and finally led to the revelation that OSX 10.2 (Jaguar) that I use will not support my wireless network. Garg!
[ Category: / technology / codejedi ] [link] [Comments]>
Audio: Recommendations for good mobile news? What can you trust?It occurred to me that I've been remiss in my duty to rant on about everything ... well, else. I know I went on about podcasting months ago, for instance - back in the summer (or last summer?) when I was listening to RetroGamingRadio. I must have had the blinders on recently, with life being so busy and whizzing by: babies, funerals, trying to get life under control, working on new builds of Shadow Plan.. busy. I suppose I've not been listening to as much music of late for some reason, and I generally don't take in podcasts too often anyway - this time of year I tend to just take in the quieter city sounds and enjoy the brisker air as I walk anywhere.
But I do check news websites each day.. from nerd stuff to CBC and CNN for the mainstream goingsonabout. And the radio, while in the car.. 680 or CFNY or the like.. background noise and traffic alerts. It occurred to me that I'd like to hear what other parts of the world think about us, or the US, or the like. Every once in awhile I get that urge to rip through random podcasts or streaming-radio from across the world.. catch some Japanese music or news, hear whats going on in Croatia, find out what the Italians are reading. Not that I can understand much of it, but occasionally I'll catch an English language broadcast from some random world station. Cool stuff and one of the great benefits the net brought us.
Usually I just pick up some BBS or UK stuff, since I've always had a soft spot for my distant ancestors and that lovable accent. Of course, I'm always paranoid about what they're telling you -- for a set of countries that amount to some of the most surveiled in the world, can you really trust the broadcast media?
So tell me .. where can I get some English-language audio news, free and in a handy format like mp3, that talks about interesting news in the world with a freshly non-Americanized viewpoint?
[ Category: / technology / audio ] [link] [Comments]>