Saturday, April 17, 2010

preliminary spec: using old headless laptop as a network kbd+mouse

I'm pretty tired (at 1PM on a saturday. how lame!) but I'm scoping out an idea to use old headless laptops to work as mouse+kbd. I have a headless thinkpad t20 with pxe support (I think) that would work nicely for this.

These are notes mostly for myself on how this thing oughta work. I'll probably use OpenWRT with a uicat/client package (which I need to write) with uiclient autostarting.

Eventually this could be expanded into a full "drone" distribution capable of being a remote video player. Probably still OpenWRT based with a LUCI interface to set up wireless networking(?) although that needs non-volatile storage. But that doesn't have to be on the actual drone...

Now to get my brain together enough to write this silly thing... ;)


- Old laptop, booting via IDE-CF, USB, memory-loading CD, or network. Network must be present and support DHCP.

- (new) uicat (uinput cat, ala netcat) - can work with netcat to stream mouse/kbd in either direction.

- (new) uiclient (uinput client) - like uicat, but with extra commands on the client side.

Using a suitably loaded Linux, the uinput-drone system will automatically start. "blind" operation is fully supported (think headless laptop) and a special key sequence can be used to link up to a uicat "server" listening for a connection on a given port.

Once the Linux is loaded, the num lock LED will blink every second. Then press the caps lock key and the capslock LED will blink instead. Then type in the IP address of the target computer, and hit return (or escape to abort on a typo). It will then try to connect to the target, and if it works all two/three LED's will blink for one second. If an error occurs it will probably just go back to blinkiing num-lock.

After that, all input events will be 'tunneled' over the network and they will look like native events to the other computer.

To end a session, use control-capslock-enter? Something that isn't commonly used at least.


V2 of the uidrone system will support xorg (newest) with mplayer? so that it can be used as a remote video player as well. This mode would be quite useful for TV out, since many older laptops have S-Video output we can probably use.

Friday, April 09, 2010

copypasta from an ars thread-post i just made...

I figured out that WP7 was DOA a few days ago... why?

Because Microsoft is throwing *everything* out, and blindly copying the *worst* things Apple did that completely remove what strengths Windows Mobile *did* have. No multitasking (because iPhone doesn't have it) and a locked App store (because Apple has it)

Combine that with breaking back-compat (so *not* Microsoft) and relying on their development flavor-of-the-month, and it's a 'me too' product - all the downsides of Apple but little to none of the magic.

If Microsoft had a clue, they would've put in Enterprise features and they would have much of RIM's marketshare, and would be able to maintain their current positioning. (RIM should be ok, at least once they get the Webkit browser... the 9700/OS5 is quite similar to Android in *some* ways... enough to keep the customer base from jumping off IMO.)

The other huge problem? The web browser is going to be garbage compared to Webkit - which because Apple based it on KDE's browser, has to share... leading to everyone else using it. WM6.5's IE only gets 5/100 on Acid3, and I doubt WP7's will be anywhere near 100.

(IMO Webkit might be the one of the most significant software packages of the 10's...)

As for Symbian - a friend of mine got a Nokia from AT&T free w/contract - disguised as a non-smartphone. If Nokia can keep lower end Symbians enough like series 40, they'll quietly keep selling 'em. And in the Webkit/HTML5 era, Symbian^3 should do just fine.

Eventually simpler apps will all be HTML5+Javascript (hence me actually *rooting* for Steve Jobs in his Flash war. *nobody* else could win it...) and everyone with a decent browser will have a usable smartphone. It'll just be easier to pick up Android or perhaps Symbian now that it's opened.

Microsoft, having too much pride to adopt Webkit, might miss out on the party for years.

Tuesday, April 06, 2010

on the iPad and computing in the 10's...

I'll start with this: if you're at all interested in picking up programming, start with Javascript and write basic web pages and apps with it. It's the BASIC of the 10's... no, it's actually far more pervasive. ;)


I haven't actually played with an iPad yet (I was sick this weekend, and I don't really have $499-599 right this second... *glances at 32" LCD*) but I think it's a turning point.

Basically, it's one step closer to the computer that isn't there - something that fades away into the background. Getting rid of the keyboard might be risky, but...

... the iPad is a consumer device. It's not about writing, drawing, or creating content.

That's where the "PC" of the 10's comes in against the iPod's "Mac."


Android is nice, but one little piece fell out of their pre-planning that hurts it:

It's Javascript that matters, not Java.


Javascript is a very interesting language, wrapped in C semantics, various web browser crap, and labeled Java* to throw off any PHB's that would kill it off for actually being innovative.

But it managed to bring quite a few academic ideas into the real world - first class functions, lambdas, closures, dynamic code execution, etc.

Go to to find out more.


Javascript could have gotten away with being as bad as it's rep, though. Think of a modern computer, sold to consumers, that doesn't have Javascript in it, in some form or another.


But partially because it *is* a very mallible language, and because webstuff is just *that* popular, it'll be tinkered around with until you can do anything that a low-complexity program needs to do.

For instance, you can make a basic iPhone app in html+javascript, provide it a manifest file, and it'll store it on the iPhone locally and even hide the location bar for you. (This is how the second pass at Google Voice works...)


Once you realize that HTML5+javascript can make decent apps for iProducts, it makes the store lock-down a *little* more tolerable. But to get to everything you still need native code, which means dealing with Apple and their censors. Blah.


Microsoft is now out of their element. Windows Mobile 7 will likely still be a 'me too' product, although it's their last chance to make something that *isn't*, especially since they're throwing backwards compatibility out the window, which is *very* non-Microsofty...


I really do think Apple's anti-Flash stance is the best thing for the entire computer industry, although part of that might be by accident. It's encouraging people to figure out just how far HTML5 can go and from there how unnecessary Adobe's bloated buggy plugin is.

(Yes, I know it's really because Steve's a control freak...)


It's time for the next generation of Linux GUI's to start coming about - one that can perform as well as the iPad's. Android will probably have to do for a year or two, but the real competition will come from a more web-centric engine.


At the very least, tech from Linux projects tend to resurface in odd ways. Like my Panasonic 32" TV (among others!) having the GPL and LGPL texts in the menu system!

And while Firefox had the biggest mindshare - at least for a while - Apple's move to commercialize KHTML and KJS into Webkit took some KDE code and made it what I think'll be the preeminent web browser engine this decade.

Being lighter-weight than Mozilla's engine, it has been picked up by almost everyone making mobile browsers - except Microsoft, and from what I can tell mobile IE is crap anyway. (The browser in Winmo 7 had *better not* suck, or it's DOA)

And Webkit runs well on full-size computers, too.


I have a nice used X41 Tablet I got for <$300 recently. It'd be nice if it had a finger touchscreen, but maybe that's where I should start experimenting with iPaddy stuff...