Archive for the ‘CompScI’ Category

Lazyweb: Microcontroller help, please?

Wednesday, April 25th, 2012

Now that school is (mostly) wrapped up, I anticipate having some more time to do things. Like bike riding. And catching up on all those episodes of “The Wire” and “Top Gear” I haven’t watched yet. And maybe starting back up with the MIT OpenCourseware thing. And writing the third and subsequent installments of “Talking GPS Blues”.

One thing I’ve been wanting to dabble in and learn more about is microcontroller programming. In the past, I’ve given thought to purchasing one of the Basic Stamp or Propeller kits. But these days, it seems like everyone is going the Arduino route. It looks like there’s a vast community behind that particular family of devices, plenty of reference material, and a great deal of hardware that can interface with those devices. So I’m leaning in that direction.

But I’m confused. There’s the Arduino Uno, there’s the ADK Mega, there’s the Mega 2560, the Netduino and Netduino Plus, Fry’s has a bunch of Arduino clone boards, and I can even get Arduino boards at Radio Shack. (“You’ve got questions? We’ve got blank stares.”)

Question: what’s the best board for a beginner? My object is to learn how to program the Arduino, and to have some fun interfacing devices to it. I may eventually want to branch out into robotics (the 4WD platform interests me). I think I want something with headers and that “shields” can be added to, since I’m not planning at the moment to build any embedded projects and would prefer something that requires a minimum of soldering. Is something like the “Getting Started with Arduino” kit worth the bucks?

You would think the Make folks would have a guide to the various Arduinos on their site, but if they do, I have not been able to find it.

By the way, I actually do not have a soldering iron, and my skills in that area are weak. Can someone recommend a good soldering setup for electronic work as well? I’m not going to start out soldering surface mount stuff, but I’m willing to spend a little money to get something that will give me flexibility to do more advanced stuff as my skills grow.

I’d also appreciate any book recommendations folks have. I have Programming Interactivity: A Designer’s Guide to Processing, Arduino, and Openframeworks which looks like a decent high-level guide to working with Arduino (among other things), and am considering purchasing the Arduino Cookbook since that seems to have a great deal of “how do I do thing X” instruction in it. Are there any other recommended Arduino books? Is Getting Started with Arduino worth purchasing?

Obit watch: October 26th, 2011.

Wednesday, October 26th, 2011

I’ve been holding back on this one until I found a reliable source.

John McCarthy, influential computer scientist, passed away on Monday. NYT obit.

Dr. McCarthy may not have had the same level of fame as Dennis Ritchie or Steve Jobs, but his influence was still significant. He co-founded the legendary MIT A.I. Lab – indeed, he was one of the early pioneers of artificial intelligence in general – developed LISP, and later went on to found the Stanford AI Lab as well.

At Stanford, he influenced folks like Wozniak, Joba, and Whitfield Diffie (one of the inventors of public-key cryptography).

Dr. McCarthy was one of the unsung heroes of the early hacker culture. We seem to be losing more and more of them.

Talkin’ GPS Blues (part 1).

Sunday, January 9th, 2011

A long time ago, my great and good friend Glen pointed me in the direction of a Steven Jay Gould essay about his encounter with Richard Feynman. Gould’s point in that essay was that he thought Feynman wasted a lot of time trying to understand evolution from the ground up, time that Feynman could have spent making valuable contributions to the theory instead. My response is that I think I understand where Feynman was coming from; the only way he felt like he could contribute something was to start from first principles and work his way forward until he understood each step. I’m not anywhere near as smart as Feynman or Gould, but I feel much the same way as Feynman did. Hence, the long and rambling nature of this entry.

I have six GPS systems. That’s probably more than any one sane person needs, but we can leave that discussion for another time.


Flash! (A-ah!) Savior of the universe!

Tuesday, April 13th, 2010

Lawrence pointed me to this article over at /dev/why!?! about possible reasons why Apple doesn’t want to support Flash on the iPhone.

Meanwhile, Sebastian has a good post up on the NRA’s crappy Flash-heavy website.

And Other Brian sent me a link to this Downfall parody.

The Elves of Dalton, GA (and other tales from Christmas).

Friday, January 1st, 2010

Just be patient, it will all come together in the end.

A few weeks ago, one of my cow orkers sent around this photo, just for fun. It prompted a discussion among some of my other cow orkers about their first computers. I was sitting there listening to these guys talking about their 386 machines with 4 MB of memory, and thinking to myself, “You bunch of pikers. My first computer had 4K of memory. Not 4 MB, 4 KB. As in, 4,096 bytes total. And I used cassette tape for mass storage.” You tell that to kids nowdays, they just don’t believe you. (Well, except maybe the cow orker who sent around that photo; I suspect he actually got his start sometime in the System 360 days.)


Ho. Le. Crap.

Friday, September 25th, 2009

I’ve known about the MIT OpenCourseware stuff for a while now, and even had that site bookmarked, to go along with my ambitious plans to work through 6.001 on my own.

What I didn’t know until tonight was that you can actually download a whole freaking wheelbarrow full of OpenCourseWare stuff for free through iTunes U. Unfortunately, 6.001 isn’t on that list, but 6.00 and 6.046J are. (And 6.00 is taught using Python! Yes! Two, two, two mints in one!) I find it difficult to articulate why I’m so blown away by this; but yet, I am.

Mike, you might find this interesting, too (though technically it isn’t courseware).

Project e, Part 3: The Virtualizing

Thursday, September 3rd, 2009

Work on Project e continues, slowly, as time permits.

  • The Alfa WiFi adapter worked right out of the box; just a simple plug and play operation. Who’d a thunk it?
  • Built-in wireless continues to be a problem, but mostly on my home network. I am starting to wonder if this is an issue with the access point. Wireless at St. Ed’s (where I’m spending a lot of time these days) isn’t great, but at least the connections stay up.
  • As far as I can tell, the current version of Wireshark for Ubuntu 9.04 is 1.0.7, while the current stable version for other platforms (including Ubuntu Karmic, aka 9.10) is 1.2.1. Between that and the other wired/wireless networking issues, I think I’m going to wait until Karmic drops in late October, then upgrade and install Wireshark and Kismet if networking is stable.

In the meantime, I’ve spent the last few days playing around with something else…


Project e: Part 2: The Ubuntuing

Sunday, August 23rd, 2009

Before I begin, a couple of notes:

First, I’d like to publicly acknowledge D. D. Tannenbaum as the first person to actually leave a real substantive comment on Whipped Cream Difficulties. (There was one spam comment before his, which I guess makes some sort of pathetic statement about the state of the Internet.) Thank you, sir.

Second, another size comparison:

IMG_0334 (Modified)

That’s my (somewhat beat up, as I’ve been toting it for a while) copy of Learning Python, 3rd Edition. As you can see, the eee is only slightly larger than the book; you can’t see this in the photo, but it is substantially thinner. I wanted to get a weight comparison between the two as well, but I don’t have a scale that will work well for that purpose; manufacturer’s quoted weight for the eee is 2.9 pounds.

On to The Ubuntuing.



Thursday, August 20th, 2009

The Japanese have set a new world’s record for calculating pi: 2,576,980,377,524 decimal places in 73 hours 36 minutes.

Those of you who know me well, also know of my long standing fascination with calculations of pi, and should realize I couldn’t pass this one up.

Project e: Part 1, the unboxing

Friday, August 14th, 2009

I’ve been wanting a netbook for a while now.


It isn’t because I’m unhappy with my MacBook; I love the MacBook (especially now that I’ve taken it up to 4 GB). I love it so much that the MacBook has almost become my primary desktop machine (pushing the beige G3 down on the stack; I’m now mostly using that for word processing and updating the SDC pages). Because the MacBook has become more of a primary machine, disconnecting everything to take it on the road has become an increasingly unattractive proposition.

What about the Nokia N800? Nice machine, very handy, very useful for checking email and some web browsing. Also great for running Maemo Mapper. But the N800 has been discontinued; while there’s a pretty active open source community right now, I don’t know how well that’s going to hold up in the future. Doing LINUX development on it is possible, but painful. And I’m getting to the point where I have trouble seeing the screen unless I zoom to 120% or 150%; doing that often messes up rendering in the browser.

What I wanted was a mid-size machine that I could use as a dedicated LINUX box, with a reasonably sized display, to do various things on:

  • sharpen my LINUX skills
  • penetration testing
  • Wi-fi hacking
  • learning Python
  • brushing up on my Perl, which has become rusty.

What I really wanted was one of the ASUS Eee PC 901 machines; the solid-state drive, form factor, and pre-installed LINUX were pretty attractive. But by the time I got ready to act, these machines had more or less vanished.

“Life is compromise”, said the Buddha. Or, if he didn’t, he should have. After the jump…


DEFCON notes: Day 3, or “Killing Priest won’t bring back your G–d–n honey!”

Monday, August 3rd, 2009

Apparently, one of the pools at the Riviera was overrun by killer bees. The fake ATM has been well covered elsewhere.

Final set of quick takes:

RAID Recovery: Recover Your PORN By Sight and Sound”: Technically, a pretty decent presentation on recovering RAID, building on Moulton’s previous presentations on the inner workings of hard drives and their recovery/rebuilding. (Those presentations are linked here: I’m actually pretty interested in the one on SSD drives.)
Key takeaways:

  • Many people don’t understand RAID levels; they think that RAID 0 actually offers some protection against data loss, or there’s no hurry to replace that one drive in the RAID 5 that failed. (The presenter seemed to believe that photographers are particularly bad about these things, perhaps based on bitter personal experience.)
  • If you have a RAID full of pictures, some sub-$100 tools, along with intelligent analysis of reconstructed images, can help you rebuild the array. Even if you don’t know what order the drives were in originally.

“Cracking 400,000 Passwords, Or How To Explain to Your Roomate why the Power Bill Is a Little High” (preview): Or, how to use John the Ripper, and how to optimize your JtR runs.
Key takeaway: Lists of previously cracked passwords are good fodder for JtR. Would you believe people use the same password on more than one site? Even better, you can use lists of previously cracked passwords to build JtR word mangling rules.

People who deserve a “Thank You” (part 1 of an ongoing series)

Monday, August 3rd, 2009

Joseph Hall, for his excellent set of instructions on setting up WireShark under OS X.