Tuesday, June 25, 2013

Papa's Tech Class: Help your kids deconstruct a computer

My 8-year-old son I. loves taking things apart. He loves to see what's under the covers - and he also loves the destruction!

He's long had his eyes on the three old desktop computers lurking in our basement. Taking them apart was the first thing he mentioned when we started talking about what we'd do for Papa's Tech Class.

To give you an idea of the vintage, I built the newest PC to run betas of what turned out to be Windows Vista; there's also a G4 PowerMac one of my friends acquired when his employer was getting rid of obsolete computers, and an even older PC that once ran software like AudioGalaxy (in its awesome first incarnation).

If you have an obsolete PC lying around, taking it apart can be a fun activity with your kids. Unlike building a new PC, there's no worry if they damage anything.

Unlike most laptop computers, desktops can be disassembled with tools you probably already have around the house. You can get it pretty far apart with just a Philips head screwdriver (#2 and #1 sizes - the most common). If you've also got a small pair of pliers, that can help young fingers get a good grip to pull out on those really jammed-in cables.
All you really need to disassemble most desktop computers is a screwdriver with standard bits. A small pair of pliers is the next most useful tool.
For protection, check the metal edges of the case. Some PC's have pretty raw edges that can cut fingers — especially little, uncalloused fingers.

You can do this easily on a living room or kitchen table, but put down some newspaper or cardboard to protect the work surface and make it easier to rotate the computer.

Depending on your kid, you may have fun identifying the major components of computers (CPU, RAM, motherboard, input and output ports, hard drive, CD/DVD drive, graphics card & CPU). You can also trace the paths data flows through in terms of things the kids will be used to. For example, when you surf the web, the web page comes in over the network connection; when you put in a game disc, the software on the disk is read from the DVD drive and goes over these cables to RAM, and the CPU reads the instructions from RAM and follows them, then it tells the GPU what to draw on the screen, and the GPU sends a video signal out to the display, and plays sounds through the speakers...

Finally, if the thought of rendering a functional piece of hardware non-functional rankles you, you can always donate them - there are many eCycling options around Seattle. Another approach to consider for making use of PC's that can't handle current operating system versions is installing Linux. But here at PTC, we have a Raspberry Pi for our Linux hacking, which uses a fraction of the power - and we also have several unused laptops of more recent vintage.

Tuesday, June 18, 2013

"Papa Tech Class" - summer hacking with my kids

After completing graduate school, I'm taking the summer off with my boys, ages 8 (I) & 11 (Z). One of the things they asked to do this summer is "Papa Tech Class."

Today, on the first day of summer with just the three of us at home, Z asked to get a blog set up so he could write about one of his passions: soccer.

Z had previously asked about making web pages, and he learned how to do basic HTML by hand. He learned inserting images, creating links, and basic page structure. He could see the results by opening the HTML file locally in a web browser. We uploaded the file to a web server and he could see the page on the Internet. I think it's useful to at least see what's going on one layer down - though HTML and FTP are still pretty far above bare wire & bare metal!

To make the blog an ongoing concern, we signed up for a free blog hosted on WordPress.com. WordPress provides great blogging features like ready-made templates, WYSIWYG editing, and it's a very popular platform for blogs of all sizes. So it's got a great deal of room to grow, if Zeb wants to get fancier later on. So using WordPress lets Z focus on what he really wants to do: write about soccer.

I knew we wanted to have prior review & approval of anything Z wants to post, at least while he's getting started and learning the ropes. To set that up, I created one account for the parents to use, and created the blog during the sign-up process. So the parents' account owns the blog.

Next, I logged out of WordPress.com, and then created a second WordPress.com account for Z to use. During the sign-up process, you have the option to sign up for just a username without creating a blog, and that's what I did.

Finally, I logged back into the parental account, and added Z's account as a contributor to the blog. This way he can write articles any time he likes, but he can't publish them on his own. When he is done, instead of having a "publish" button, he has a "submit for review" button. This will send an email to the parents. We can then review the post and approve it, edit it ourselves, or discuss with Z what needs to be changed and why.

This isn't perfect; to make changes to the blog itself, like changing the theme or adding widgets, I'll need to log him in under the parents' account - but since I don't use that account for any other blogs, there's no worries there.

You can follow Z's blog at http://zebsoccer.wordpress.com.

Monday, February 18, 2013

Getting Raspberry Pi DHCP working with internet sharing from OS X

My sons asked to learn more about computers, so we got a Raspberry Pi. We also got Adafruit's Pi Cobbler kit. Using Adafruit's Occidentalis distro of Raspbian, I had to do a little configuration to make the following setup work, and it turned into a little bit of a networking lesson for my kids, too. I figured I'd write it up in case some other Googling Pi user needs to learn & solve this particular combination of problems - or in case I forget and need to re-do this sometime. :-)

The goal was to have the Pi share a wifi-equipped Mac's network connection.

Mac running Lion (OS X 10.7) is connected to Internet via wifi.

Pi connected via Ethernet cable to Mac.

Share the Mac's Internet connection: on the Mac, go to System Preferences - Sharing.
  • Check the box Internet Sharing from the list of services. 
  • Confirm that that the sharing status is On. 
  • Confirm that Ethernet is checked on the list of ports to share to.
Now power on the Pi. It should get an IP address assigned via DHCP, and it should be on the network. Thanks to Occidentalis, the Pi is registered with Rendezvous using the name raspberrypi.local. If  DHCP and Rendezvous are both working, you can reach the Pi from the Mac using that name. This is great, because you can plug in and access a headless Pi quite easily this way.


Macintosh:~ dan$ ping raspberrypi.local
PING raspberrypi.local (192.168.2.2): 56 data bytes
64 bytes from 192.168.2.2: icmp_seq=0 ttl=64 time=0.720 ms
64 bytes from 192.168.2.2: icmp_seq=1 ttl=64 time=0.982 ms
64 bytes from 192.168.2.2: icmp_seq=2 ttl=64 time=0.919 ms
^C
--- raspberrypi.local ping statistics ---
3 packets transmitted, 3 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 0.720/0.874/0.982/0.112 ms


But, it wasn't working for us. The Pi wasn't registering its name, we couldn't reach it from the Mac. Pings just resulted in "ping: cannot resolve raspberrypi.local: Unknown host". We tried all the suggestions on the FAQ and troubleshooting wiki (cable swapping, reflashing the Pi's software, swapping power supplies) but they did not help.

There were two problems: the Pi's network configuration needed to be changed, and the Mac's Internet Sharing needed to be restarted.

Fixing the network configuration on the Pi, David Singleton's web page gave me a clue about needing to enable the Ethernet interface on the Pi to make it get configuration from DHCP.

This is the original network interface configuration on Occidentalis:

pi@raspberrypi:~$ cat /etc/network/interfaces
auto lo

iface lo inet loopback
iface eth0 inet dhcp

auto wlan0
allow-hotplug wlan0
iface wlan0 inet dhcp
        wpa-ssid "my-network-ssid"
        wpa-psk "my-wifi-password"

Using nano, and opening the file as superuser because it is a restricted system file,

pi@raspberrypi:~$ sudo nano /etc/network/interfaces

we make the following additions (in bold):

auto lo

iface lo inet loopback
auto eth0
iface eth0 inet dhcp

#auto wlan0 allow-hotplug wlan0 iface wlan0 inet dhcp
#        wpa-ssid "my-network-ssid"
#        wpa-psk "my-wifi-password"

Here, eth0 is the Ethernet interface,  lo is the loopback interface, and wlan0 is the wireless interface.

We don't have a wireless adapter on our Pi, so we commented out the three lines of wireless interface configuration.

Then, we restart the network, forcing it to load the new interfaces file.


pi@raspberrypi:~$ sudo /etc/init.d/networking restart


That worked better. The Pi was now coming up and making a DHCP request. But it wasn't getting a response. That's not a Pi problem, that's a problem with the Mac's Internet Connection Sharing.

Off to Google again - this thread showed other people had problems with ICS in Lion. The easiest suggestion was to simply stop and restart the service, and this worked. One more restart of the Pi's networking, and as David says: "yay, network!"

Monday, April 09, 2012

Coping with metadata problems in book searches

I'll soon be facing the same issue and using the same workaround that findings.com did:

Whenever we can, we will supply WorldCat with an ISBN or other identifier to bring you straight to a book…but sometimes you will see a number of search results based on an author and Title. We would like this to be as seamless as possible, but the world of book publishing metadata is riddled with information gaps and geographic thorns.





ebooks need skimability

Stephen Johnson, talking to Findability:

If you could move one feature of paper books to digital books, what would that be?

Skimming. It’s a funny thing with print vs. ebooks; the digital age is supposed to be all about attention deficit disorder and hypertextual distractions, but ebooks lock you into reading them in a linear fashion more than print books do. It’s much easier to pick up a print book and flip through the pages, get a sense of the argument or structure, than it is with an ebook (or magazine.) It’s a very interesting interface challenge: I think it’s probably solvable, and I know many smart folks are working on it, but we don’t have a true solution yet.


I agree. It's one reason browsing in bookstores is still better than shopping online, even with Amazon's "look inside this book" - since flipping through the pages hasn't yet been implemented.

It's just a matter of time, though - I'd guess next year or two. Might just need the next generation of mobile CPUs & GPUs to ship. Flipping pages in a book requires some serious framerates!

Saturday, April 07, 2012

The New Aesthetic

Bruce Sterling:
The evidence is impossible to refute. Anybody with a spark of perception who looks through this thing:
http://new-aesthetic.tumblr.com/
must recognize that modern reality is on display there. What we think about that, or do about that, is another matter. That it exists is not in question.

Also, be sure to read James Bridle and also this:
People are “acting” in ways we may or may not understand, which may or may not have an effect in the real world, whether it’s signing petitions, organising riots (on BBM), clicking, ‘liking’ KONY, whatever, the correct (maybe) response is not to have an opinion (default internet response, still) or a moral position, but to live inside the thing as it unfolds.

And there's even more!

We Are Creators, Not Consumers

My class reading this quarter is Mobile Design and Development, which you can read free online.

Author Brian Fling says:

We Are Creators, Not Consumers

The final principle of Mobile 2.0 is recognizing that we are in a new age of consumerism. Yesterday’s consumer does not look anything like today’s consumer. The people of today’s market don’t view themselves as consumers, but rather as creators.


He's talking about "user-generated content" as creation. But to me, "create" doesn't feel like the right verb for what makes social constructs happen.

Still, my reaction - being bothered by that equation and needing to probe at it like a sore tooth - tells me I should take a closer look at what is happening there.

Ok, brain, whatever you say.

(That's right, Pinky.)


Saturday, March 17, 2012

IT buzzwords and memes of the moment: cloud & consumerizarion

Peter Kretzman, IT Consumerization, the Cloud and the Alleged Death of the CIO:
Let me be clear once again: this frequent linking of cloud and IT consumerization to the looming demise of the CIO and IT is not just misguided, but actually gets it completely backwards. In fact, I argue that IT consumerization and the cloud will actually elevate the importance of IT within a company, as both a service and a strategic focus.

Let’s list and then discuss some of the ways that combining these memes (IT consumerization, cloud, and the ensuing heralded death of the CIO) falls down when measured against common sense and reality:

It fails to understand the full range of what a CIO (or IT) actually provides for modern-day companies.
It fails to recognize the profound pitfalls of a decentralized and fragmented approach for company systems and technologies.
It erroneously equates IT consumerization with the BYOD trend, missing the larger important picture that underscores the strategic need for IT.
It misunderstands the interplay of commoditization and competitive strategic advantage.

Writing in "Wired Cloudline sponsored by IBM."


IT is hard enough already - why do things you don't need to?

Galen Gruman in Infoworld:

I don't get why IT itself takes on so many management challenges unrelated to technology operations or strategy.


Yes, it's not a good use of limited resources. But I don't think the problem of taking on things that don't need to be done is unique to IT.

Looking at IT for an answer to this is misplaced; instead, I'd start by looking at psychology, both organizational and individual.

Close Encounters of the Collaborative Kind

Good article in this month's IEEE Computer magazine, Close Encounters of the Collaborative Kind:
The participants in a collaborative interdisciplinary project found that developing a shared, project-specific communication style helped them overcome cultural barriers, understand the nuances of each other's work, and enhance the accuracy, interpretability, and utility of their models.