Viewing Category: Geeky
A few days ago I wrote about reacquainting myself with mathematics. What started out as a mild recollection of past educational experience ended up raising negative feelings that flapped around my consciousness like angry ghosts. A buddy pointed this out, and after some reflection I laid them back to rest; there's no sense in remaining angry about the past.
While Math had been a source of frustration for me, it wasn't due to the math itself; it was the clouds of confusion surrounding the practice of Mathematics that so confounded me. This was exacerbated by my insistence on understanding something before doing it. Now that I know that there's something good to be said for "learning to recognize and reproduce patterns" before understanding something, I am a lot more interested to tackling mathematics once again.
So here is how I'm seeing the challenge:
- I like the mysterious qualities of Math, and want to be more fluent with the ideas and concepts behind that.
- To do that, I'll need to reconstruct the knowledge for myself, so I can have a clear picture of the relevant facts, principles, and standards of practice.
- However, there are barriers to reconstruction inherent in the presentation of the material: spotty instruction, missing/misunderstood key insights, ambiguous writing in textbooks, and misleading illustrations and diagrams. I groused about this at some length in my earlier post.
Turning the Tables
When I was a kid, I hated it when the facts weren't clearly presented. Today, I have much greater insight into how I learn, and am excited about trying to fix this perceived deficiency in my educational background. In fact, I could make this into a role playing game by thinking of education as a crime scene, where terrible wrongs have been committed against learning! The crime scene is a confusing, muddled puzzle: ambigious wording in textbooks obscure the true relationship between the facts, if they are indeed correct and unbiased to begin with. Key steps are mysteriously withheld, or buried somewhere in the back of the book. Upon cross-examination, key witnesses who spoke with confidence on the scene crumple in the face of sterner questioning.
Yeah, I'm totally going to be a Math Scene Investigator! I already am thinking of the cool notebook I'll get for it!
The Math Scene Investigation Process
Concidentally, I had stumbled upon the Taylor Series Expansion entry on Wikipedia a few days ago. I remember the Taylor Series as being a particularly odious waste of my time in high school, embodying all the qualities I didn't like about math:
- It expanded simple functions into VERY LARGE ONES...seemed like a net loss to me at the time.
- It introduced notation that was tedious to write out when showing your work, though I actually did like drawing those ziggy E things a lot.
- I had no idea really what it was good for, and because at the time I thought math was supposed to be about understanding rather than replicating process, I was very frustrated. The beauty of math was unknown to me.
The Taylor series is a good candidate for the Math Scene Investigative Process, which is proposed below!
Divine the modus operandi of the Mathematics
This is right out of the crime scene reconstruction article I was reading. I pulled up the Wikipedia entry and let it flap its gums for 8 paragraphs of irrelevant detail; they were descriptive facts, but not helpful at all in understanding WHY the Taylor Series even had a place in Mathematics to begin with; I really wanted the big picture first. If I don't know what something is for, how can I evaluate it? Instead, the article told me "what" it was, in terms of mathematical detail. That doesn't really help.
Around paragraph 9, the article came clean: by breaking down a difficult-to-transform function into simpler components, one can actually transform things more easily. That is pretty cool, just not in the context of high school mathematics; for me, it was just another one of those lame exercises you need to do that cramps up your hand and uses up a lot of paper. It's only NOW that I can understand that there's actually some kinds of interesting analysis buried in there; the harmonic analysis, for example, is what's behind all those cool MP3 Player spectrum analyzer displays and other cool digital signal processing tricks. But I digress...I have a little bit of the story now: The Taylor Series has the power to break down tougher calculations into easier ones, a special kind of mathematical solvent. And there are all kinds of interesting side properties that opened up entire new fields of analysis. Pretty serious stuff. Time to move on.
Reconstruct the Facts and Events of the Mathematics
Apparently, I had stumbled in the middle of a pretty serious piece of mathematics; a kind of universal solvent that has far-reaching implications throughout the field, with fingers in modern computer consumer technologies. I would have to step carefully; this was no two-bit axiom I was dealing with.
The rest of the Wikipedia entry turned out to be pretty dense. If the first 8 paragraphs were hard going, paragraph 10 and beyond were incomprehensible, filled with self-referential assumptions and inside jargon. It was a jigsaw puzzle that I would have to unravel piece by piece, reconstructing more than just the Taylor Series knowledge, but its relation to other fundamental players like Power Series and who knew what else. The material certainly wasn't written to explain, in nice bite-sized chunks, what the heck was going on to a newbie MSI like me. Still, it's my job to wade in and extract the real story. If there was a tome called "A History and Timeline of Mathematical Insight and Philosophy", that would help a LOT. Instead, I would have to do things the hard way to figure out what the math was supposed to be telling me. That meant tracking down and explaining every piece of detail on the page, from the funny notation to the significance of every fact. Some of it, I imagined, would be irrelevant in the big picture, but even the tiniest shred of evidence might shed light on another mathematical principle.
This would take some time. I decided to move on to something else.
Interview the witnesses and get their testimony.
Who are the witnesses? People who actually use or teach the mathematics. By talking to them, I'll gain a better picture of what's happening in the world of the Taylor Series, and probably mathematics in general. That perspective will allow me to put together more pieces of the puzzle and form working hypotheses as I build my case.
It's a known problem that witnesses are notoriously unreliable in their observations, and are subject to biasing influences that make their testimony subject to unintentional falsification. A seemingly-confident witness at the scene may crumble in the face of sterner questioning; I've seen this happen over and over. It's important, though, not to hold that against them: people generally mean well, and their testimony and experience provides important clues in understanding just what happened at the crime scene. If anything, you'll be getting new ideas from those witnesses, so treat them nicely.
Still, I have to remember that their testimony, no matter how well-intentioned, may have some flaws or misinformation in it. It's my job to piece together a story that makes sense to me, is supported by the facts as they have come out, and explain the modus operandi of the mathematics. And...it's all got to convince a real math teacher that I have a strong case.
Another challenge is that it's very hard to explain things, especially to someone who isn't familiar with your work and the context in which you perform it. Teachers will have an advantage, as an "expert witnesses", but even their testimony may be inaccessible or flawed. Like I said, it's tough to keep all those details straight. I've got my job cut out for me.
Put it all together
This is one of the best parts of Monk, when he gets to explain how everything fits together despite his debilitating neurosis. Um, I'm not quite there yet with this Taylor Series thing...the investigation is just beginning!
Wrapping Up for Now
Essentially, I'm thinking of approaching Math without the skepticism I've had in the past. Now that I'm older, I'm confident that there is some logic underneath all the obfuscating jargon and material; I just need to treat it like evidence at a crime scene. In the past, I had assumed that everything printed in a book or came out of teacher's mouth was guaranteed to be 100% accurate and true, and if I could not literally understand it there was probably something wrong with me. I know now that understanding comes in many forms; by taking a more investigative approach to with the assumption that the facts are not out in the open, I may be able to make some additional strides.
There are a couple of important resources I have now that I didn't have then:
The Mathematics Wikipedia Entry, from which I can skim the world of mathematics to build my own "big picture" view of how it's all related.
Access to Mathematic Frameworks for all 50 states, a byproduct of the trend toward National and State Standards in Curriculum. For the first time, I've been able to discovery just what we're supposed to be learning, and why. That's important context to have, representing a "pragmatic view" of math education in this country.
It would be interesting to look at a real college-level mathematics curriculum, for people who major in it. I'd be curious to find out how it's different. I guess I need to track down some real mathematicians. Anyone out there?
After installing the pre-release version of Bad Behavior Alpha 3, I have seen the amount of spam blocked by Spam Karma 2 drop from about 3000 to 5. Wow.
I have also noticed that the website seems to have sped back up...was it possible that all that spam hammering was slowing thing down?
UPDATE June 03: A temporary lull: "There have been 1807 comment spams caught since the last digest report 1 day ago."
UPDATE June 04: 1307 comment spams (karma above -20)
UPDATE June 05: 214 comment spams (karma about -20)
However, how many comments with karma BELOW -20? Not sure.
It has been 14 years since I've wanted an Apple for its sexy hardware. I'm not talking, mind you, about Apple's industrial design (when Jobs is in charge). Nor am I talking about Mac OS X, which continues to delight me. I'm talking about the guts: the processor, memory bus, video card, and integration with the operating system.
Finally, the first Mac I could buy without feeling ripped-off on performance is here: The MacBook Pro, with Intel Inside. Glee!
Now, I am not saying that Intel Rules over PPC... the Intel architecture is rather kludgy compared to, say, the much-loved Motorola 68000 series of the original Macs. However, the Mac has been trailing PC hardware (not the OS, the hardware) for over a decade. In 1992, when the first 486-DX2 PCs because available at 2x the performance for 1/2 the price, the Macintosh has been outclassed in terms of raw speed. I should know...I was facing that decision in 1992, and reluctantly went with the PC. Full disclosure: The LucasArts game X-Wing was only available on PC at the time...that may have had something to do with my decision as well :-)
Anyway, speed still didn't matter as much because all the good graphics software was still Mac, but around 1995 things started to turn the other way when Adobe made a usable version of Photoshop (version 4) available. The rise of 3D gaming and the Internet further pushed the Mac into a game of catch-up. Great software design and a loyal user base is what kept the ball alive, not speedy hardware.
Despite all that, I've always wanted a G5 box. They just look so cool, and OS X is so sexy. But as soon as I touched the mouse and felt the lag, I just walked away and kept my money. I did succumb once and bought the cheapest PowerBook I could (a 12" 1GHz G4), and it's easily my favorite machine in terms of personality. But fast it ain't. My 1GHz Compaq Presario notebook is noticeably faster.
No more! The MacBook has a dual-core Intel processor in it (2 processors in one = faster data processing), a faster frontside bus (better cpu-to-memory speed = faster data handling) , and PCI express (quicker graphics transfer = faster screen refreshes). I imagine that some of those sluggish 3D acceleration issues will go away too, because now 3rd party vendors can incorporate portions of Intel-native hand-optimized driver code. It's all good...hooray! Mac OS X and speed. Together at last. At a competitive price. Someone pinch me.
I see that there's a new iMac too too, that's supposed to be 2x faster. The cynic in me was analyzing the ad copy on the iMac page: it sounds like with the dual-core CPU, it's of course 2x faster than the single-processor version. But there are so many fundamental improvements under the hood, I'm wondering if it's actually capable of more speed than they're willing to admit to, say, people who just bought a PowerBook or G5; sorry if that's you...it's one of the hazards of being an Apple person! And think of this: the 2x speed may be referring to emulated PPC code, not Intel-native versions of your favorite apps. I eagerly await benchmark results of a totally-native software suite. There will be dozens of announcements over the next few weeks.
Now it feels like 2006! There are new Macs! Will 2006 will be the year to switch?
My Dad has been having some trouble with his Windows PC...apparently some programs "disappeared" from his desktop under mysterious circumstances. He requested Remote Assistance, the Microsoft Windows XP feature that allows you to control a computer over the Internet. However, first we had to get Remote Assistance working. Compounding the problem: Dad lives 13 time zones away, and communication over the telephone is impossible because of his hearing disability.
I thought this would be a good opportunity to give Fog Creek Software's CoPilot a try. Like Remote Assistance, CoPilot makes it possible to control a computer over the Internet, except it uses a regular web browser to kick off the entire process and (this is important) works through firewalls automatically. Remote Assistance possibly needed some configuration on Dad's router, but since he hadn't set it up himself I was anticipating some issues.
I'd heard about CoPilot on Joel on Software; it's a product put together by the best interns Joel could find. Helping Dad with his computer was a great excuse to try out the latest from Fog Creek Software.
The CoPilot Experience
Setting up from the browser was very easy. The logistics of communicating what to do, however, still proved difficult.
Synchronizing: Some concepts, like using signals to coordinate and acknowledge action, are actually pretty geeky. Just coordinating a time when both of us would be sitting in front of the computer was surprisingly difficult, mostly because I was confused about what time it actually was in Taiwan. So I'd send Dad an email saying, "around this time let's try it, so send me an email when you're ready so I can start the connection" and then we'd miss each other. I ended up being off by an hour, or Dad would be waiting at the computer and not send me the email, or he'd send the email and I'd miss it in the flurry of other emails I get. We finally got it down after a couple of days. This could have been fixed with a quick phone call, and in retrospect we should have used that to signal. However, it's expensive to call, and it never occurs to me anymore because we can't communicate effectively via telephone in the first place. Used just as a signalling device, though, it would have saved some time :-)
Explaining: The CoPilot sign-up process requires that the person requesting assistance to enter a special code, then download a small program. This program is keyed with the special code, and allows only the helper with the same code to connect.
There were two problems. The first one was just a matter of Dad knowing that he had to download a program and then run it. Not as simple as it sounds. First of all, where does the downloaded program go? I told him it was on the Desktop, which is....what? And of course downloading a program off the Internet triggers all kinds of warnings with the anti-virus software, which doesn't make it seem like anything GOOD is happening. Eventually any sane person just loses patience and clicks OK to everything...it's no wonder that this is such a problem. Sheesh. Making matters worse was that long label of the file itself...it's FogCreekCoPilot.Exe or something like that, and it ends up being shown as FogCree... on his desktop. First we were at CoPilot.com, but now he can't find a file named CoPilot. Gah.
The second problem was that the downloaded CoPilot program does not identify which code it is using when you run it. The first code we used was for the two-minute trial, to ensure that CoPilot actually would work. It did, so I bought a 24 hoursday pass and sent Dad the new code link via email. Dad ended up using the wrong one the second time we did a connection, because he didn't know he had to use a new download. His desktop became quite cluttered with old versions of the program. We eventually get this sorted out, and he runs the right one (FogCreekCoPilot (5).exe).
After we got the program up and running, everything was OK. CoPilot is based on VNC (the source code is available, as it's open source). I could see JPEG artifacting as screen chunks were transferred over the net, but it worked. We encountered a few problems:
If both Dad and I tried to use the mouse / keyboard at the same time, we would disconnect. At least, that's what seemed to trigger the disconnect.
If I moved too many things on the screen, or caused too massive a screen update, we would get disconnected.
CoPilot is designed to automatically reconnect when the connection drops. In practice this didn't work for us. My side of the connection would display the "reconnecting" prompt, and nothing would happen except for the program entering a "not responding" state. If I force-quit the program and restarted, it would usually reconnect, and I would see a dialog box on my Dad's computer saying "The Fog Creek Copilot service can not connect because another user with your invitation code is already connected from a different computer. If you are sure that no one selse is connected, please wait a few minutes and try again." Some kind of race condition exacerbated by the long distance connection across half the world? Dad's laptop was purchased here in the US, and still has the US Version of Windows XP on it, so I'm stumped. The Testimonials page lists someone in India who had no problems, so there must be something fishy going on in Taichung...
Overall it was a usable experience, brought to the edge of frustration by the three problems I list above. Screen updates were pretty slow; Dad is on a high speed DSL line in Taiwan, I'm on Cable. His uplink speed is probably around 128-300kbps (12-30K/sec), which is going to be slow when screen-sized JPEG-encoded bitmaps are being sent back . The interactive performance between Dad's computer in Taiwan and mine here in the US averaged about 0.5 frame per second, with screen refreshes taking 10-20 seconds when a lot happened. This may not be typical for US-based broadband, but I didn't have an opportunity to try it out.
The Remote Assistance Experience
After using CoPilot to fix the immediate problems with Dad's computer, the next thing I did was install MSN Messenger, which I thought was one of the requirements of Remote Assistance. I set it up so would only see my MSN screenname, with his profile invisible.
We then worked out how to connect via the Remote Assistant Wizard built-into XP. This was fairly straightforward, with some gotchyas:
I'm using Trillian 3.1 for my MSN connection instead of the real MSN Messenger client. Trillian does not accept Remote Connection requests. Therefore, Dad had to use the "send email" function instead. This sends an attachment with a Remote Assistance "shortcut", which I can double-click to launch. Next time I'm on his computer, I'm going to nuke MSN off the machine and install Trillian instead.
When creating an "invitation" for Remote Assistance, the requester has the option of entering a password. The idea of the double password fields ("enter your password", "confirm your password") was confusing to Dad, and he entered only one password before clicking "confirm". The wizard complained, and did NOTHING to highlight the missing field. Crappy QA. The dialog could have been better design...small text just looks like background texture to Dad, and he's not in the habit of reading every bit of text on the screen. Who wants to? There's so much of it and it does a terrible job of explaining what to do. Instead it just describes what to do, which isn't the same thing. Useless!
Different generations assume different default capitalization rules for passwords. He automatically capitalized the words, because to him that seems more natural. I automatically typed mine in all lower case.
We kept CoPilot running at the same time so I could watch him. That was cool! It allowed me to watch Dad establish the remote connection from scratch. When he needed help, I'd send him an instant message through MSN.
On a side note, Remote Assistance is considerably faster than CoPilot in interactive performance. CoPilot was painfully slow at times; the update rate was on the order of half a frame per second at best. Remote Assistance could manage maybe 2 frames a second. A lot of it depends on how much screen is being redrawn, because all those bits need to be shipped back to the assisting computer; with CoPilot, a full screen refresh would take up to a minute if we didn't lose the connection. Remote Assistance seems to be a little smarter about refreshes (it's based on the mature Windows Terminal Services technology), which is where it picks up the speed advantage.
I was surprised that the Remote Assistance setup didn't have problems traversing our firewalls. While reading about firewall support for RA, I found out what the the UPnP router setting helps with automatic forwarding of ports injust this situation. I had never turned it on before. The receiving computer (the person being helped) needs port 3389 forwarded. That's a pickle! There should be a version of RA that's called Demand Help, which puts the onus on the EXPERT to handle the port forwarding :-) My Dad's router must have this UPnP feature enabled.
Is There Money in This?
Despite the issues we had with CoPilot, I like what it's capable of doing. They have flexible subscription models that allow a person to help any number of people. It's similar to a cell phone plan: buy the number of minutes you need at a certain level, then pay a per-minute rate if you use more than that. There's also pay-as-you-go, and you can choose to bill the person receiving help using either PayPal or a credit card. There's also the 24-hour day pass, which allows you unlimited use for a 24 hour period starting from time of first successful connection.
While I would hesitate to ask a novice computer user to pay a bill over the Internet, I could see using CoPilot to do virtual computer consulting and one-on-one training. You can see almost everything that the other person is doing; combined with telephone support, you could really do an effective training session without having to leave the house. Even the slow update rate is an advantage, as experts tend to type and move the mouse too fast for novices users to follow.
Unfortunately there's no Macintosh version of CoPilot; Timbuktu is probably the next most usable solution, though the version I last used had overly-complicated setup and firewall issues to work around. VNC is free, but do you really want to put Grandma through the setup process? We love Grandma! I like the idea of CoPilot's web-based setup far better: it's a clean and simple solution, once you handle the inherent lameness in downloading and running programs. For now, I'll stick with Remote Assistance for Dad because its quicker and more stable for my application, but it wouldn't have even been possible without CoPilot. That was totally worth the 10 bucks...beats the price of an international plane ticket handily!
For my birthday, I met up with some friends for Dim Sum at the China Pearl in Woburn. Normally I am a little grouchy on my birthday, but my mood quickly lifted when I saw my present: a Master Replicas ForceFX Star Wars Lightsaber.
I'd come across Master Replicas before, when I was ogling their delectable Star Trek Classic Communicator (sadly, it isn't on their site anymore). The company specializes in making high quality movie prop replicas. From their website:
“Master Replicas are a bunch of lunatics who watch too many movies, work too hard, have no lives, but make cool stuff that helps collector’s dreams come true. Word.”
The handle is made of metal, beautifully weighted and detailed. There are some plastic elements, but they're not in places where you'd be offended. There are no cheesy decals except for the labels that tell you where the on switch is. Overall it's a little light, but it is a real object.
The blade is a single piece of clear plastic with an inner luminescent coating. It's quite nice; the thickness of the plastic gives it that "iPod" look if you know what I mean. As you power it up, the blade doesn't just light-up...the blue glow illuminates from the bottom to the top. Sweet!!! When I powered it up held high overhead, the entire place quieted down. Little kids turned green with envy, and the manager came out to tell us that light sabers were not permitted out in the dining area. He admitted though that it was super cool.
The saber has all the sounds you expect: powerup and hum. For interactive effects, a sensor detects when you swing the saber, which plays the louder humming noise. There's another sensor that detects when the blade strikes something, so you get that clashing hit effect. Simply awesome.
The saber is powered by 3 AA batteries. Even the battery module is a work of art. The AA batteries are fitted into the notches on the side of the cylinder, and then the entire cylinder is placed back in the handle. It feels like you're really putting in a power cell! The position of the cell is at the very end of the handle, which I think contributes to the saber's excellent balance.
The battery cap on the end is beautifully detailed...check out the lettering! A metal ring unscrews, which allows the entire battery module to slide out.
This is simply the coolest Star Wars toy ever. Perfect for the geekus supremus in your life!
It's sitting on my desk right now in the display stand, power switch up and ready for emergency activation. The display stand is nice; the bottom has rubber feet, and there are also holes in the back of it to allow wall mounting with screws!
I shot some grainy video with my digital camera so you can see and hear the power-up effect. You'll need Flash8 player installed.
For real drama, check out this saber duel using the toys! It's good to know that Master Replicas tests these things out for real! QuickTime required.
P.S. HOLY CRAP CHECK OUT THIS ALIENS MOTION TRACKER!!!
Last night I started---finally---entering in all my QuickBooks data. It took a few hours to figure out the best way for me to enter the financial data, but once I figured out how QuickBooks was architected beneath the layers and layers of GUI, it became a lot simpler to understand. Starting over also helped, and knowing I'll be able to do some pretty cool reporting is very exciting. It's about time I got my crap together.
As I entered the various accounts, vendors, and items on-the-fly, I realized that part of the reason I'm able to deal with QuickBooks now is that I've been doing my own business taxes for about 8 years now. As a result, I have a good idea of the various expenses are, and I have a basic "My First Book of Accounting, For Ages 4-7" level of understanding regarding AP, AR, cashflow, etc. And the Tax Code starts to make a weird kind of sense when you realize that it's driven by one basic principle: if you receive a benefit, through any means, above and beyond what the government deems as the baseline, they want a piece of the action. And unless you have something to do with churches or babies, they will take their piece. Reminds me a bit of the Mafia.
Anyway, I've noticed a learning pattern in myself: I can be introduced to a new process and set of ideas once, and even if I don't do anything directly related to them, in about five years something seems to ripen and the task is easier. I actually first tried to use QuickBooks about 5 years ago, and found it confusing and lame. In the five years since, I became more familiar with relational database concepts, the idea of categorizing expenses, and the tax filing process. All these experiences have percolated together for a long time, creating a rich base that made my 2005 QuickBooks Initiative more successful. Of course, the product itself may have also improved in terms of user interface. To me, though, it still acts like two separate pieces of software: the database-driven accounting engine, and the wizards-based GUI. They don't quite mesh, because the overall principles that drive the system aren't expressed in a system view that clearly relates the two activities. But I digress...what's interesting is how some kinds of learning are akin to fermentation of concepts over a long period of time. Suddenly, you just get it.
I've experienced the inexplicable ripening of ideas in several areas. For example, my understanding of low-level computer programming (that is, assembly language) is entirely shaped by an old Apple II book called Beneath Apple DOS, a classic tome which detailed the inner workings of the core disk drive read/write/track/sector routines: RWTS. I was particularly interested in the inner workings of disk drives because they allowed me to copy game disks, back when software had protection schemes. The process of deprotecting the games was sometimes more rewarding than the game itself...very clever programming on both sides of the fence.
Initially, none of Beneath Apple DOS made any sense at all to me, and no one I knew could explain it to me. As I started to read more about computer hardware, I realized that digital electronics was similar to the children's game MouseTrap; that laid some foundation. Additional programming gave me the experience to understand how systems of data storage were implemented (data structures). Then one day, I was trying to figure out how one of Electronic Art's Apple II games loaded SO FAST---EA's games were unique in that they showed a graphics image as soon as the disk was booted, almost before you could blink. Imagine if you booted your computer and it was just ready for you with no waiting...it was on that level of amazement. I wanted to make my own version, so I started "boot-tracing" the disk. This is a technique of interrupting the computer at the moment it has loaded the first sector of the floppy disk (which always contained code for Apple II bootable floppies). Then, you can inspect the code to see what it does; on the Apple II, it was always code that loaded MORE code from the disk (hence the term "boot"...it's short for "pulling yourself up by your bootstraps"). When you understand that, you modify the process so it interrupts a little later so you can
To make a long story shorter, I got to a part where there was a lot of looping and tricky memory lookups. It eventually dawned on me that this was actually reading data from the disk drive, and it was in fact a highly-tweaked RWTS. And then at that moment, everything about disk drives came together in an enormous flash of insight...five years of study and confusion. For the first time, I really understood the genius of Wozniak.
What I'm trying to say is there are certain moments in learning that are the culmination of a long process of percolation over time. When people think of learning, usually it's in the form of a class or a concentrated burst of activity. Not necessarily, I think. Can this be actually formalized and applied consciously in day-to-day life?
Fermentation comes to mind because I am reminded of the cheesemaking process: The cheese maker starts with raw materials, which are processed under controlled conditions to guide the fermentation process until the final product is ready, ripe, and delicious. Any fact, any controlled process that takes place over a few months or longer---wine making, coffee roasting, tea making come to mind---are very much dependent on human judgment and perception. You can't automate these processes and maintain the same level of quality...when it comes to judging peak ripeness for human consumption, it takes human guidance. Our best sensors are our noses, our eyes, and our brains.
The two personal examples I gave aren't the result of a controlled process...they just happened. I'm sure that's how cheesemaking got started in the first place, then someone had the bright idea that this could be systemized into a process. So the question is: How can I take this to the next step in long term learning? Is it a viable technique? Here's my thoughts so far:
- What I'm calling "long term learning" (to coin a silly phrase: "fermentative learning") is a process of acquisition. New ideas, relations, some practical real-world know-how, and time come together to create a proto-insight. This I'm defining as a collection of ideas/relations/experience that is not quite a full insight. but may be able to link with other proto-insights that spontaneously arise. This is, I think, also an element of "the school of life".
- Everyone possesses a number of these proto-insights, but they are unable to combine because of compartmentalized thinking across social and functional lines. We've been conditioned this way from the 7th grade and up, at least here in the U.S, and it continues in our work lives. However, ideas are transportable, with adaptation as needed, across all lines. This allows more proto-insights to mingle, making the possibility for a critical-mass insight reaction to occur far more likely. And I don't mean just "assessing" or "considering" a proto-insight. You've got to really experience it for it to be useful, to see how things fit together spontaneously. Assessment causes a delay in action, which can be an experience-limiting factor. If it won't kill you just try it.
- Continuity is essential. As we live our lives, we weave a narrative about ourselves. As I grow older, I find this is more important that "what I do" or "who I am". The narrative of our experience becomes the context for our thoughts and actions, which drive the creative impulses that we all share. In the formation of proto-insights, continuity is an essential nutrient. This is my gut feeling right now; I can't otherwise justify it.
You know, continuity tends to get shattered in the educational context, at least here in the States. Up to the 9th grade, we have a single teacher who gets to know us over the year. In high school and college that officially goes away. The remaining sources of continuity are, of course, family and best friends. Then there are the special teachers you admire, mentors in real life, and so on. If you are lacking in any of these sources of continuity, it's that much tougher to self-motivate. One exception is when your OWN sense of personal continuity is so strong that it requires nothing else. Even in that case, I think alloying personal continuity with other sources makes the individual less "brittle" if something traumatic happend.
If I were to think of standard education as cheesemaking, it seems designed to make, on average, mediocre cheese because the process doesn't take the type of raw material you're getting. The raw materials are individuals of different backgrounds, interests, and talents. You now proceed to put them all through the same process. The ones that thrive on the educational system will become fine cheeses. The ones that don't mesh don't turn out so well. Now bear in mind that there are thousands of kinds of cheese, all of them delicious, that are made from different kinds of milk with different additive ingredients and aging procedures. You can't transplant the process for making aged gouda to cottage cheese. You can't substitute goat's milk for cow's milk. Even the region matters, as do available local resources. If you're not keeping an eye on your cheese as it ages, turning it every so often and brining it appropriately, you also might get a bad cheese. But still, the potential for creating great cheese no matter where you are exists.
I know I'm not saying anything new about education here...I just happen to have some nice gourmet cheese in my refrigerator right now, so I have it on the brain. But I am thinking that creating the conditions for fruitful learning can occur over the long term if you design a process to:
Seed experience with proto-insights. This is like getting the ingredients for your cheesemaking.
Remove boundaries of experience and function, at least experimentally, so the proto-insights can mingle and form new ones. As time goes by, they will start to produce significant insights. This is akin to providing the environment in which your cheeses age.
Provide continuous lifelong continuity, relevant to what you want to learn. The cheesemaker watches the cheeses develop under a careful eye...I bet the artisan cheese makers get to know each wheel of cheese under their care.
This idea seems a bit raw...I think it needs to sit for another week :-)
I'm trying to find a quick way of installing WordPress on Windows Server 2003. Cue the ominous music.
This is for a client, of course, otherwise I'd just install on Linux and be done. Unfortunately, the answer to "WordPress on Windows Server" is increasingly looking like no, don't bother. However, there are some interesting alternatives that I'm looking into.
Interested parties click on! The rest of you, start yawning!
UPDATE: I wrote up the steps for doing the WordPress-IIS-MySQL-PHP installation on a Win2003 Server.
Ok, the standard setup I'm spec'ing to is Windows Server 2003 Standard. It's configured with:
- Internet Information Services (IIS), Microsoft's Web Server. Easy to install, it's including with every Windows distribution (even yours, if you're using it): you just click a checkbox in the Add/Remove Windows Components dialog box. The Open Source counterpart would be Apache.
- SQL Server 2000, Microsoft's Database Server. Not so easy to install and it's expensive. However, if you're using Small Business Server 2003, you've already got it. The Open Source counterpart is MySQL.
- ASP or ASP.NET, Microsoft's dynamic web page scripting system. It isn't always installed by default, but it's another one of those checkbox items in Add/Remove Windows Components. The Open Source equivalent is roughly PHP, or maybe Java/JSP.
WordPress is written for the Apache / MySQL / PHP environment on a unix-like system like Linux. While others have gotten it to work on Win2K3, it has some hiccups, and I'm not keen on doing Windows server administration. Plus, installing several new untried services on the client server is not an option.
So, here are the alternatives I'm thinking about:
Approach 1: Look for Equivalent Blogging Software That Works on a Typical Windows 2003 Setup
Although I'd prefer to use WordPress, I figured there might be mature blogging solutions available on Windows. After hunting around for a couple hours, I came up with this short list of promising candidates:
Community Server: This is the software that Microsoft is bundling with their Windows-based Hosting initiative, from third-party developer Telligent Systems. It's free for personal use, and about $170 bucks for a single site license if you're doing corporate stuff. Community Server (formally .TEXT) seems to be more than just a blog system, and supports everything I need. It has a full team of developers working on it too, documentation, and it looks like quality software at first glance.
dBlog: My initial favorite, the dBlog home page is quite attractive; the system is apparently for Photoblogging. Unfortunately for me, the documentation is written in Italian. A trip to babelfish helped translate the feature list, and it's short a few things that I need. I'll have to try installing it though...the file uploading and WYSIWYG text editing sound particularly neat.
Das Blog: An Open Source project up to version 1.8, this seemed to have the features I wanted, but it's oriented more toward developers. There are a few themes available for it, but what's disturbing is that the sites don't show up in Firefox unless you visit them first in Internet Explorer. Next!
Microsoft SharePoint Services: A free download for Windows Server, SharePoint Services allows you to create website-based collaboration through the omnipresent "Microsoft Office System". The FAQ was somewhat helpful, though I'm still not sure what it does. Why does technical marketing copy always read like this? Is it because writers write to sound authorative without actually understanding what they're writing about? Gah.
Community Server is looking like the best bet, but it means I have to learn how to use another blog templating system. It also requires ASP.NET, which is currently turned off (for security?). On the other hand, installation shouldn't be that difficult, and it's "Windows Native".
Approach 2: Install Apache/MySQL/PHP on Windows, and Hope that It Works
With a little elbow grease, I could probably make it work; there are other people doing the same thing.
Advantages:
- I could leverage my existing knowledge of WordPress.
Disadvantages:
- Some features (such as email-to-entry posting) will not work, without modification requiring expertise I don't have.
- We'd have to install a whole bunch of new services on the web server, which the IT Department is rightfully cautious of.
So this is a choice of last resort. Though, an IIS-MySQL-PHP approach could work...this guide makes it look easy.
Approach 3: Just Build a Linux Server, or Host Externally
Yeah, exactly! However, we'd like to keep it all in-house, for various business reasons. I suspect having a single server operating system to deal with will make fewer headaches for IT as well. But, this just might be the easiest way. Build a new box, isolate it, don't worry about security on the main server.
Approach 4: Virtualize a Linux Server on the Existing Windows Server
A virtual server is "a server running on a server"; this is what web hosts that offer dedicated-virtual hosting use to give you your own server configuration, without actually dedicating an entire physical computer to it. The software that makes this possible are special versions of Virtual PC and VMware. I have a license of regular VMware Workstation, which is great for testing with "clean" versions of operating systems, and when testing your PHP with an remote webserver that, in actuality, is running on the same computer. It makes your test environment completely portable. However, these virtual PCs are quite memory hungry; if you're simulating a computer with 256MB of RAM, it comes out of your real computer's RAM. Make sure you have enough to go around.
The virtual server version of VMware is called VMware GSX, and it's not particularly cheap at $1400. However, my Microsoft ActionPack subscription includes Virtual Server 2005, a competing product that retails for $499. I'm installing it right now on the Windows 2003 test server I'm building.
So the idea would be to install one of these products on the client server, and then install a bare-bones Linux with MySQL/Apache/PHP server that runs self-contained. Performance should still be good, since the virtual server is only virtualizing device access and not actually translating between processor types (as it would with Virtual PC running on the Macintosh). Since this is just a web server, we just need a lean console-based distribution, which should minimize memory footprint and disk space. A 32-64MB installation with maybe 8MB of disk should be fine. One potential downside is MySQL performance, but we'll see.
One other advantage is that I could actually create and configure the webserver as a file image, ready to go with WordPress and everything installed, and deliver the file to IT. All they need to do then is load that file image into Virtual Server and start it up; no need to install additional services in Windows or whatever! It's completely isolated. There's some question whether or not the current version of Virtual Server 2005 supports Linux; it's not "officially supported" in the FAQ. The next version, Virtual Server 2005 R2, allegedly adds official support for Linux and Solaris. Apparently you can still install Linux, but there's no fancy control panel for it. The site virtualserver.tv has some information on installing Linux on the current product.
Also, Virtual Server 2005 requires that ASP.NET is active, which may not be an option. VMware GSX does not have this requirement; score one for VMware!
Wrapping Up
Approach 1 or Approach 4 are my picks. Either way requires a bit of work, but I both solutions are interesting for different reasons...
Learning a new Windows-based blogging system would be an interesting comparison to WordPress. Plus, familiarizing myself with ASP.NET wouldn't hurt.
On the other hand, deploying a virtual server is kind of cool too. Since this is not within my main body of expertise, it's new. On the down side, I still have to probably look at the templating system for WordPress (I never did look at the changes in version 1.5), and hunting down the latest lean Linux distro is time-consuming since I like to build them from compiled source. There might be single-disk distros that just work out of the box. The Linux From Scratch website can provide the guidance I need to build a custom distro, should it come to that--it's something I've wanted to do anyway for a long time.
"Install WordPress on Windows Server 2003"...it sounded so easy :-)
Was browsing core77 and came across a couple neat links:
I was just reading about a trio of grad students who, using nothing but a 10-minute audio recording of a person typing, were able to recover 96% of what was typed. Very cool. It turns out you don't even need to have a calibration pass to match the subtle variations in sound of each key.
Since there is one key for every letter, I'm guessing the students are doing a type of frequency analysis, a cipher-breaking technique dating back to the 9th century. It works like this: though at first you don't know what key makes what sound, you do have a lot of sounds collected. For the English language, we know that certain letters are more likely to appear than others. This information is found in a "letter frequency table", and you can make your own by counting letters in enough text. So see which letters seem to be occuring most often, and you can guess that those letters correspond to the top entries of the letter frequency table. Plug 'em in and see if it makes sense.
Also, in two- or three-letter words, we have a good chance of guessing that they're words like THE, A, and IN. And once we have those letters matched, we have a good chance of uncovering other letters through context...if you're good at "Wheel of Fortune", you get the idea. Now imagine a computer doing this all for you. Scary!
BTW, there's a cool collection of maritime posters at the American Merchant Marine at War website.
Via Freedom To Tinker...quite some time ago :-)
I love video games and computer graphics, but I've been wondering lately if my thinking has been constained by the small screen. I've been researching how other people are using larger-scale media: physical spaces, simulation environments, exhibit design, etc. to find out.
It so happens that one of the guys in my New Media group, David Cort, works for the Christa McAuliffe Planetarium as a media designer. He invited us for a visit behind-the-scenes; it turns out that a Planetarium is an interesting blend of old-school multimedia, computer graphics, personal showmanship, and best of all: a giant freakin' screen.
David has a physical resemblance to Einstein, and one of his extra duties at the Planetarium is to portray him in one of their shows, "Celebrating Einstein's Greatest Hits". Since the Planetarium is phasing out their 12-year old Evans and Sutherland DigiStar I (more on that later), the Einstein show is going with it. So this Friday I went to check out David's last performance on the old gear.
The McAuliffe Planetarium's dome theater can be thought of a computer display that surrounds its users. The 40-foot dome is host to 92 seats, which creates a surprisingly intimate environment. In the middle of the room is the Evans & Sutherland DigiStar I projector, which consists of a 160-degree fisheye lens and a monochrome cathode ray tube--basically, a very bright video monitor projected through a fancy lens up onto the ceiling. They get full 180-degree coverage of the dome through some optical trickery with the lens setup. The projector enclosure is about the size of an R2 unit (yep, I'm a geek!)
From what David told me, and what I could corroborate online, the DigiStar I uses a VAX mainframe with some custom graphics hardware as the graphics processor. Back in 1992, you needed something this big (A VAX is at least the size of a couple refrigerators) to handle sustained animation rates and 3d-calculation of thousands of star points. Evans & Sutherland was well-known for its realtime 3D simulation technology in the early days of computer graphics, and it's only recently that desktop PCs have caught up. A blazing-fast PC back in 1992 was a 486DX2-66 w/ 4MB of memory. It did not have any kind of hardware 3D acceleration or fast data capability, so it makes sense that they used a special-purpose mainframe to drive the system. As computers shrank, E&S upgraded their system components: the DigiStar II replaced the VAX with a desktop SGI a few years later, albeit with the same monochrome fisheye projector. I just looked at the specs for the DigiStar 3, which is an entirely digital, up to 64-million pixel system that can use laser projectors. There's a nifty video that shows what the system can do...pretty cool.
Back to the DigiStar I: The display quality is not as good as an optical system like a Zeiss. The entire dome is illuminated by the single projector sourced by that tiny 7" monochrome CRT tube. As a result, it's a bit dim; I had some trouble seeing the stars at first. However, when things start moving, the effect fills your peripheral vision and it rocks. There's also something about green monochrome vector graphics that I find really exciting...perhaps it's the sense of mathematical precision, or memories of playing Battlezone in the arcade. Brighter and in higher fidelity, the effect must be pretty amazing.
The actual show program for Einstein's Greatest Hits is based around a traditional digital multimedia presentation, with the beginning and end capped by starfield animation provided through the DigiStar. The entire presentation is guided by an educator/host that interacts with the audience. It's a tough crowd...there are fidgety kids, hard-core science nerds, and completely un-science oriented people sitting in very relaxing chairs in a dark air-conditioned room.
The show opened with the DigiStar animation of Einstein's face forming out of stars, the traditional multimedia part began. The presentation was augmented by a system of 40 Kodak carousel slide projectors arranged in a circle around the circumferance of the dome; they projected still graphics of nebulas and constellations across the entire dome. At the front of the dome, a regular high-resolution video project is used to show content from a Windows-based PC. To add some pizzazz, the dome is also equipped with theatrical light effects (flashes, dimmable colored lights), which were triggered by the host at dramatic moments.
The most impressive part of the show for me, besides David's performance as Einstein, was witnessing the full power of the DigiStar 3D sky. Although the stars were dim and the framerate a little low--I'd estimate about 20fps--the feeling of flying through stars into a blackhole was very compelling. The effect is so powerful that the host told us that if we felt dizzy, just close our eyes. Even with this warning, I was told, the staff sometimes has to bring in a bucket and a mop. All I could think was I would love to play a space simulation at this size. The dome room could be made to resemble the bridge of a starship...that would be awesome.
When I got home, I dug around a bit to find out about the capabilities of the new system that will be replacing the DigiStar: it's called Digital Sky from Sky Skan. It is based around high-resolution video projectors and proprietory PC software, all synchronized to create a seamless graphics space. Media elements such as animation and bitmaps can be easily positioned anywhere on the dome geometry via a scripting langauge. From what David tells me, the graphics processing is handled by 8 workstations with 3D graphics cards, ganged together to create one giant space. Each of the graphics cards maps to one section of the dome, synchronized through another computer that acts as the central show controller. The system can also import 3D geometry in the .X format and show it anywhere on the dome. The scripting samples I came across seem more batch-driven than procedural, so the kinds of games one could make are probably somewhat limited.
I found there are companies that specialize in the production of media for dome theaters; Sky Skan maintains a partial list on their website. I'm curious whether there are opportunities for third-party development. The samples I saw online could be so much cooler...imagine something like the 2advanced interface filling an entire 40-foot dome, with individual input controllers feeding from in-audience operators. Could the dome be divided into different interactive zones for groups of kids? That would be so awesome.
Some thoughts:
While computer games are pretty cool, as designers we're ultimately bound by the size of the screen. It's just a window into a virtual world. The scale of presentation in a dome theater puts our physical bodies inside the virtual world...that's more interesting in some ways, and probably better suited to group learning.
I'm not saying that the small screen experience is not awesome in its own right; I'm just becoming aware of how the scale of experience affects the learning process. Maybe there's something about having the world google-able on your computer screen that makes it a little less wonderful in the mind's eye: Familiarity breeds contempt, and contempt closes minds.
Real experiences in real environments engage different parts of the brain, and the results can be perspective-changing when they hit in just the right way at just the right time. I think the most talented teachers have a natural intuition for this. The promise of interactive learning tools lies in this realization, if we're to ever have adaptable systems like The Primer in Neil Stephenson's The Diamond Age. However, it's interesting to note that the success of the Primer was dependent on having a human component to drive the educational process. Not that it proves anything, but I think it's still pretty insightful.
I'll have to read more about education and learning theory to figure out what this could mean. It's interesting to think about while I figure out a way to get some design time on one of those humongous screens.