Saturday, December 12, 2009

LED Abuse

Another fancy application which was news to me (I am not an electrical engineer, but rather a computing "scientist")... one can use LEDs for sensing.



I was made aware of this by two students of ours, wondering how this is achieved. We explored several ideas and finally came up with a concept that probably is exactly how it works in reality: LED as light sensor.

Fancy.

Labels:

Magnetic Field Torque

Last week, Edward Cheung from the NASA Goddard Space Flight Center, one of the engineers for the Hubble Space Telescope, visited the LCSR and gave a talk. Given that the Space Shuttle is to be retired after the next half-dozen flights, the talk scope changed to focus on the Shuttle technology. However, there were still some interesting details about the Hubble to be learned.



One of these details concerned the actuation of the telescope. As the Hubble has to stay operational for very long periods of time without any servicing missions, it doesn't have thrusters or boosters for orienting the telescope that would use up fuel. Instead, it uses inertial reaction wheel assemblies (that was what I expected), but also magnetic torquers (which was news to me). To keep the rotational speed of the RWAs within certain limits, the telescope can use metal bars that are extended and oriented into the magnetic field of the Earth as the Hubble traverses it, generating eddy currents in circuits through the bars and thus generating torque that turns the whole telescope (EDIT: or maybe not eddy currents, but rather a capacitor is discharged into the rod, cf. the link below?). The proper term seems to be "RWA momentum desaturation".



Properly awesome principle.
(For more info, look here. In fact, one control center for the Hubble is at the Space Telescope Science Institute just down the road, on my morning way to the parking lot.)



Strangely enough, these insights always come in pairs. Today, I saw an automatic tabletop globe in a catalog. Since it was an "organic" catalog (what is called "Öko" in German), it doesn't use batteries for rotation, but instead has a built-in photovoltaic cell. So far, so good; but the interesting part is that the globe sphere is embedded in an outer glass sphere that completely encases it, and there is no axis connecting the two spheres. In fact, the inner globe sphere is suspended in a thin layer of water within the outer sphere. And yet it moves. (10pts for proper quote attribution without googling.)



The catalog description claimed it uses "Earth magnetic field torque". Of course, having read up to here, the reader knows how it works, but I have to admit at first I thought "what a load of bull". Only then did I remember the magnetic torquers on the Hubble. Probably there is a magnetic rod similar to a compass needle mounted inside the globe sphere, and a photovoltaically powered motor inside the sphere torques the globe sphere against said rod. Voila, completely encapsulated torque actuation. Not a bad idea.

Labels:

Thursday, October 29, 2009

The Digital Gutter

Spotlight.

Apple's Mac OS X search facility is built right into the operating system, hooking into the file access functions to know about every last bit that goes in or out of your disks. Every file is indexed the very moment it is written, read, moved, or anything, and searching for file names, file content, file types, dates, or anything is a blast, happening right as you type.

(Alright, Windows got something similar much later, called Live Search, or Search 4.0, or whatever unfunky name is its moniker du jour.)

But the point that has to be made here is not about how fast finding things has become. Rather than organizing stuff, it's possible to simply find it. Even if you are organized (maybe as a result of DCD's filing dogma), searching for your data is much faster than going after it through the directory hierarchy. The more you use certain documents, the more probable it is they show up right away at the top of your search before you even actively remember how you would like to look for them.
But that is also not the point of this post.

Over the years, in some dark corners of the hard disk, directories that have been handed down over time, that have survived copying disks a dozen times, somehow made it through three or four operating systems, twenty upgrades, six or seven different computers, that adhere to naming conventions one cannot remember ever having used, with file formats that you have forgotten you ever had the respective programs for, those directories are still around. These files have begun their lives on 120MB hard disks, were backed up using command line tools onto 1.44MB HD floppies, later onto 100MB ZIP disks, then onto 600MB CDs, sometimes maybe even onto DVDs, before it simply became too unwieldy to take care of all this data, before it became feasible to simply buy more and more storage space to put them onto, and before they were simply and unceremoniously forgotten.
Normally, there is nothing of any conceivable use contained in them any more. Files and file collections that once were considered huge are now sitting around in megabyte-sized chunks, waiting huddled in silence for the day when their file system node will accidentally release them in a crash as orphaned files, which in these days of journaled file systems has become not just improbable, but with pervasive http://www.apple.com/macosx/what-is-macosx/time-machine.html backups on your terabyte desktop disk, manual copies on the central file server approaching petabyte capacities, and Dropbox replication in the infinite cloud simply utterly impossible. Won't every bit and byte somehow end up in the resource fork of some operating system index structure, to be stored away forever and to surface again at the whim of a moment, at the merest twitch of a little finger?

This digital gutter, the last refuge of data that has long outlived its welcome, is dragged back into the spotlight using the search facilities mentioned at the beginning. Presentations from grad school, dissociated program chunks from undergrad courses (originating from right after the last crash, back in the old millenium, that still had a chance of effecting real data loss, files like the first flickering light from the young universe after it had cooled down from the Big Bang), links from the World Wide Web that back then was still awaiting the dot-com boom and knew nothing of the bust that was to come, Java documentation from the language's early, unstable times, they all reappear in milliseconds like impotent spectres when some unsuspecting keystroke combination enters the search.

It's a different world you live in when everything you ever stored, every site you ever visited, every email you ever wrote or received, is less than the blink of an eye away.

Labels: ,

Saturday, March 07, 2009

Teraflop

This post's title is not a reference to anything around me (for the record).

Instead, it refers to a performance measure, for the non-computing scientists among the readers. More specifically, a teraflop (or Teraflop, or teraFLOP, or TeraFLOPS, or whatever) means one trillion (that is, 10^12) floating point operations per second. In any case, it is almost a lulz number.

The important part is how fast we got there. In 1999, Apple released the G4 PowerMac, which was touted as "the world's fastest desktop computer ever" and which broke the gigaflop barrier for home computers, at 1-4 Gflops. Less than a decade later, I am sitting in my lab here at Hopkins and am poring over hardware specifications.

The task is to order a single workstation PC for some ultrasound projects in our group. Many of those projects involve lots and lots of correlation computations - elastography or strain imaging is full of them; for 128x2000 ultrasound RF arrays and "small enough" windows, this amounts to a huge number of correlations. So we moved beyond quad-cores, dual-processors, hyperthreading, clustering, and so on - instead the focus is on GPGPU programming (effectively CUDA), or programming a high-performance supercomputation device. Nvidia's Tesla cards are one example of this species, one of which will probably end up in the workstation-class PC, completely dwarfing the computation power of the CPUs inside. A single Tesla C1060, for example, has a performance of nearly one Teraflop, at a price point for a complete system not much higher than $5000. Even a fully-specced 4-card system with almost four Teraflops under your desk clocks in at well below $10k, including dual-Xeons, 16GB of RAM, and friggin' huge monitors.

This is a speedup factor of 1000 within one decade. In this light, that older post sounds very nostalgic.

Labels: , ,

Tuesday, March 03, 2009

Canadian English



Click cromulent image to embiggen.

Labels: , , , ,

Monday, November 17, 2008

Brave New World!

Brave new world, parents on my Mom's new Eee! Only my sister - who is studying something with "...informatics" in the name - is slow to pick up on new technologies... And yes, I haven't shaved.



And, totally unrelated: Such an eBay starting page can probably only happen in the U.S., the land of free choice and no gun control to speak of.
I hope I don't infringe on some wacko copyrights with this picture.

Labels: , , ,

Saturday, February 09, 2008

1K = 210

It is not something urgent, or something which happened suddenly. But still...

It occurred to me that since I entered the computing world in 1992 or 1993 - for some unclear reason, I got an i486DX/33MHz (later tuned to 40MHz by manually exchanging the oscillator, thus overclocking everything inside) with 4MB RAM (later extended to 8MB) and a 120MB Seagate hard disk (it headcrashed, same as a later 300MB Maxtor) as a gift back then; a high-end working machine (its OEM maker brand OKANO has all but vanished since then) - since that time, numbers have multiplied.

Core frequencies have risen 100-fold. RAM has grown by a factor of around 1000, or 210. Hard disks have grown even beyond this scale - more or less 6000x. Even the size of the computer I use has shrunk to around 0.5%.

We can run more programs simultaneously - maybe ten times more. They are more colorful, compared to the 256 colors of SVGA. We can listen to more music and stream video from the Internet. Connecting peripherals is a breeze.

What is comes down to, though, is a perceived productivity gain of much less than 1000, or even ten. Where did this performance go?

Unless software development is closely coupled with hardware performance gains, this means that software complexity is rising by, say, a factor of 100 over the time in question, and if hardware won't keep pushing the limits the way it did, we'll face a slowing increase of software feature growth.

Maybe that's not too bad, even. At least for my own project, some time for a rewrite from scratch would be a good thing.

Labels:

Wednesday, October 17, 2007

Mind-boggling Synergy

The other day, I found a mind-bogglingly cool tool. Synergy/QuickSynergy shares control of multiple computers with just one keyboard and mouse via TCP/IP. No matter Unix, Windows, or Mac OS X... one mouse to rule them all. Now one sweep with one mouse can cross screens from my Linux desktop over to my MacBook and then on to a second screen attached to it.

Extremely cool when that sweep transfers control between Linux, Mac OS X, a Windows running in a virtual machine on the MacBook, and another Windows Terminal Server remote session, seamlessly attaching the wireless keyboard to each one in turn, and synchronizing the copy&paste buffers along the way.

Labels: ,

Sunday, June 17, 2007

The New One: DianHua, PingGuo, QiLin

On a totally other note: The new notebook.
After something like four-and-a-half years, I got fed up with DianHua. There were a few irksome peculiarities about it that made me more and more unhappy (like its battery-hoggishness, its weight, but most of all its lack of standby mode... what.... S2, and S4? Standby and Hibernate, in any case. They both disappeared after an upgrade to a 160GB hard disk, in exchange for keeping DMA transfer capability. Losing that seemed an even worse option. However, why those three things - 160GB, DMA, and standby - need to exclude each other is a mystery to me.) Even though I don't know if there'll be many more opportunities to actually make use of this, but having a computer without standby in a conference setting is a severe no-go reason to look for a replacement. In those (conference, or just any general presentation) settings, a snappy response to sleep/wakeup requests to your own computer is a must.

Anyway, many years of experience with different operating systems (Windows and Linux) on many computers (desktop and portable, networked and standalone, personal and office) instilled a deep, gutsy feeling of utter revulsion towards those. The constant need to reconfigure stuff at the smallest change (as in Windows) or the total lack of any usability (as in Linux) made me look for alternatives. Where do you *not* have to choose between speed and size, DMA and GB, as in Windows, and where do you not have to bother to *restart* your computer to use a simple USB stick a second time, as in Linux?

The choice was clear: The mother of all operating systems, Mac OS X. Some drumrolls please.



Finally I settled for (okay, I was driven into this choice) a mid-sized MacBook. The comparatively good deal I got inspired me to pimp it to da max ASAP, together with a general sluggishness under the god-damn-power-user load conditions I subjected it to. The 10MP picture editing, virtual machines, and software development gained a lot from upgrading it well nigh near to the physical limits of computing power a confined region in time-space can bear. And confined it is, fellas - a smaller, sleeker, and generally more attractive notebook this world ain't seen yet. Oh, small and light I mentioned, right. The one bad part is... all the stickers adorning the bottom side of DianHua are gone now. All the time, all the effort, collecting travel and other stickers during all those years... all gone!

Having a truly mobile computer leaves a print on your lifestyle, too. Bulky DianHua was too large, heavy, and power-addicted to be carried around. The new one... okay, let's face it, it's got no fixed name yet. There are a few competitors shortlisted already:

  • DianHua:
    The incumbent. This name's been around for ages for PJS' computers (all of them, forever), and man, it sticks.

  • PingGuo:
    The lifestyle choice. Meaning "Apple" in Chinese (and thus being hilariously funny), it both gains and loses on account of its phonetic similarity to penguin, which in turn reminds one of Linux. And man, that OS sucks.

  • QiLin:
    The runner-up. An immensely powerful animal in Chinese mythology, it symbolizes the motherlode of kick-ass impressiveness and sovereignty. Unfortunately, it's difficult to explain to outsiders.


Mac OS X being the end point of the evolution of graphical user interfaces, there are still some... quirks in the Mac OS user interface. Like, no mouseless use. Maybe it's possible to use the system without a mouse, but it's either highly improbable or highly impractical. There is a humongous number of shortcut key combinations; no even halfway consistent (not to mention logical) way to group them; and gosh it takes time to get used to different keyboard layout. The iLife program suited, totally hyped (by Apple) for multimedia tasks, is basically useless when it comes to importing large collections of existing music or photos. Are all Apple users dummies? Somewhat improbable. So am I the only guy who wants those applications have some at least partly transparent way of handling data, instead of gobbling it all up and stuffing it away in some huge opaque archive file? What's wrong with using pre-existing, user-provided hints for data layout?
On the other hand, stuff like WiFi (aka "AirPort"), printing (even over a LAN), and hooking up to the Internet with Mac OS X works like a charm. "Instant-On" gets a whole new meaning. That's what a user interface should be all about.
Still, file system navigation and window navigation suck badly. There's some additional program to iron out the worst mistakes of the interface design, but that's not the way it should be.
On the (final) up side (at least from a CS/developer point of view), there is a whole lot of "frameworks" (OpenGL, Java, X11, Qt, ...), RDP clients, virtual machines, emulators, and all kinds of other stuff available for that system, making it probably one of the most versatile and extensible systems around. And when factoring in the general ease of use, it wins hands down.

Labels: ,

Thursday, March 08, 2007

R1

Finally, my new DOA ("discontinued on arrival") camera has arrived.



The first time I saw it (in late 2005, in the streets of Toronto, teaser stands were put up in every photography shop - "CMOS, 10MP, revolution"), I completely totally fell for it. Now one of the last specimens of this model has made it into my hands.

Labels:

Thursday, January 18, 2007

Lights out at 1&1

Since Monday, the 1&1 mail servers are down.
At first there was no information, then some "necessary software update problems", then a RAID gone bust. However, nothing of all this through customer communication channels - only hearsay.

Which means, give or take, 50 spam mails per day less.
However, this also means that one of the biggest webspace and mail providers in Germany has stopped providing service for almost a full working week.

"Mailservice von 1&1 nach wie vor gestört" at Heise Online

Which also means, anybody who *needs* (for some reason) to reach me should rather try writing to philipp.stolka [AT] uni-bayreuth [DOT] de, for the time being.

Labels:

Sunday, November 26, 2006

OverTime 1.0

Finally, the OverTime project is finished. At least finished enough to be presentable in full.





The leftmost is chiming, the rightmost is ticking, they get 3V mains power, and are fixed on a heavy-duty surgical steel bar.

Labels: ,

Wednesday, November 22, 2006

Palm Zombies

A year ago (or so I reckon), I acquired what can only be called a graveyard full of old Palm handhelds. One Palm III, two Palm IIIe, and two IBM Workpads. They are the building blocks of a completely overkill-sized wall clock, the minimum configuration of which (HH-MM) can be seen here.





They click for seconds (only the one in the possible SS configuration, or S2), chime for hours (only the HH one, or H2), and can sychronize time via IR.
Now I'm waiting for a batch of sockets, plugs, and an adapter before mounting them on the wall.

Labels: ,

Monday, October 02, 2006

Blazing

Wow.
I'm busy investigating the cause of very... how to put it... unsatisfaying performance of my 3D localizer camera, and when I accidentally pointed the PDA's camera at it - look at this blazing display of infrared illumination, invisible to the naked eye:

Labels:

Saturday, September 30, 2006

a channel

What's this?
Does this work?
*Is* email a way to...

blog?

// Philipp J. Stolka
// mobile +49-176-45045638
// fixnet +49-921-1676644

Labels:

Thursday, September 21, 2006

Soldering

Today, from around 11:02 to 11:21 a.m., I successfully managed to dig out some long-presumed-lost abilities: I can still do some minor soldering work.

After giving up to create a good-looking knot in the extremely long cable of the hands-free stereo set of my Nokia phone, the decision fell to shorten them. I cut them, then used my teeth, some tongs as weight, and an oversized soldering iron to do some intricate trial-and-error.

Well, it still works. It's still stereo, MW can hear me, and the cable between microphone and ear buds is about 1m shorter. The botlab work desk has some more dark spots on the surface now.

Labels: ,

Thursday, August 31, 2006

The Bot Which Spawned A Bachelor Thesis

Well. This bot model didn't actually spawn a bachelor thesis in itself, but it ignited the desire for a bachelor thesis which is aiming at solving a problem which occurred to us mainly because of this model.
After having worked with the real thing for years (a Jahrfünft as it is called in a somewhat awkward German mainly used by Luxembourgeois EU citizens), it was playing with this model for 10 minutes which showed us (me) that there is a kinematic phenomenon we never thought about.

Alas! A paper showing up on the horizon!

Labels: ,

Saturday, June 03, 2006

Kernel Oops/Panic

Although I don't know whether the following should be properly referred to as a kernel panic or merely a kernel oops, it's been just the other day that I successfully made the (certified for surgical use) industrial robot controller from Adept (running an installation of the V+ OS) hang and display this red-on-black-screen-of-death:

Labels:

Friday, May 26, 2006

Spyderbot 1.1

The chakachaka Spyderbot has evolved a little, in full compliance with Karl Popper's philosophy of Critical Rationalism. The constant hum of criticism concerning its stability has - indirectly - equipped it with a self-stabilizing frame and a longer wheelbase, or more precisely legbase.
This has its pros and cons as well, but different ones.

The newer Spyderbot 1.1:

spyderbot_1.1.03.avi

Aggressive-looking though it may be, it gets hooked up pretty badly sometimes, too:

spyderbot_1.1.04.avi

And a fight between the older Spyderbot and the Forces of Nature:

spyderbot.03.avi

Labels: ,

Wednesday, May 24, 2006

Spyderbot

Undeterred by my colleagues' measly criticisms concerning the uselessness of this artifact, I present a lame copy of a remote-controlled walking robot I remember having seen in some conference proceedings - the Spyderbot.

This lame name can be safely attributed to the original name of the underlying LEGO construction kit series Spybotics, which comprises a central controller with integrated motors, remote-control capabilities, zero intelligence and zero programmability.


spyderbot.01.avi
spyderbot.02.avi

PS: The original idea for the MiniWhegs was devised by the Biologically Inspired Robotics Lab at Case Western Reserve University.

Labels: ,

Monday, February 06, 2006

The Difference A Queue Of . Makes

...

It's even more, how should I put it, dramatic/bad/stupid of me than I thought.

I just found a bug which has been extant for many many many months... delays, existing for no reason... strange effects with real-time messaging...
... all of which stands witness only to one all-encompassing theory:

Looking for a bug in your code, or any error in any system, is completely futile - or at the very least extremely inefficient - if the model underlying your assumptions about the suspected place of the initial mistake is wrong itself.

In less abstract terms, I thought the messages I send in from one end of a communications link always arrive within a certain finite time at the other end. Notwithstanding delays from computation load or anything, those messages should arrive, or get lost when hitting an overflowing buffer. However, with the framework I use, they end up being queued deep inside the system, without so much as a hint to the amount of data backed up. I can only fall to my knees and thank the camera that it offers me an easy way of interacting with the whole system - otherwise I'd never have found out about this, and this problem, permeating several communications links in my software, would have lain in hiding, waiting for me to trip over it... everything I'd have been building would have been faulty.
Incredible.

Labels:

The Difference A . Makes

你好?
好。很好。你呢?
我是德国人。
这是我的中文。。。汉语?
Wow. This is something I accidentally found on my newly-installed Linux... SCIM makes entering those hanzi above sooo easy!(Let's see... 汉字。) Well, it's useless if you have no idea which ones should be the right ones in the right place, but still, it's cool it works.

But the topic should rather be... the difference a "." makes.
Suddenly my PiMP2™ became incredibly slow... so slow that I couldn't get a decent sample rate from my Polaris™ camera. And guess what, the reason was... the Evil Dots™. I kept sending "."s in order to be able to detect when communications are lost, but those Evil Dots™ make it impossible to work. They completely - and for reasons unclear to me - clog up the TCP/IP queue, the Qt™ event queue, or anything.

Therefore, I think my thesis is saved, since I can just get rid of them and speed everything up. So, no more "Sorry sir, I couldn't finish my thesis on time because the compiler is too slow"™ and no more "Sorry sir, I couldn't finish my thesis on time because I had the Evil Dots™"™... hooray.

Labels: