| Pedagogy |
[Jan. 24th, 2010|01:40 am] |
In the recent flurry of Moody stories I see a common thread that extends to other exceptional professors: unforgettable lectures about important core topics. I'll list a few below, but it makes me wonder what others y'all know of. Furthermore, are there any better ways to teach these topics? And if not, why don't all profs use these?
- Moody's Wattermellon Lecture: Illustrate partial differentiation by dramatically cutting a wattermellon in half, sticking it's sticky wet side to the chalk board, tracing it, and then saying you just proceed to differentiate normally.
- Moody's use of a tape measure as a physical analogy for a metric.
- Kuenning's Pointer/Chocolate-Chip Cookie lecture. In which you learn that a pointer to a chocolate-chip cookie is not the same thing as a chocolate-chip cookie, but that if you have a pointer you do know where to find a cookie.
Also unforgettable, although not as visual: Gu's "ln(x) is like little child: you beat it and it goes under the table." By which she meant d ln(x)/dx = 1/x.
What other serious attention-getters have you seen?
|
|
|
| RIP HPD |
[Jan. 22nd, 2010|07:55 pm] |
Michael Moody, former HMC Math Chair, Dies.
Prof. Moody was one of those unusually influential and inspirational people. And he stood out as such among Harvey Mudd professors, who can generally be described that way.
Here are a few of my memories:
When I transferred from RPI to Mudd, I was a math major, so he was involved in my getting in and, I think, in making sure I made my freshman math experience blend with Mudd's curriculum.
In my first semester, I had him for vector calculus. I distinctly remember him taking the class (or maybe his office hours) outside to the courtyard where we did vector calculus on the cement—a picture-perfect image of a SoCal engineering school if I ever saw one.
I took his Real Analysis course which (a) taught me that I am not a mathematician but simultaneously (b) taught me what I needed to know to hack it later in Functional Analysis in grad school, which greatly affected my mathematical thinking.
I remember how he introduced the concept of a metric. There he was at the chalk board (with various colors, if I recall) and he pulls out of his pocket...

...a Stanley tape measure. He went on to describe how we need a tool to measure things and that this is what a metric is for: it's your tape measure. Years later, I feel fluent talking about metric spaces, L2 norms or infinity norms or Mahalanobis norms. In any case, it's that I'm using them because I need my Stanley tape measure!
There was him MCing the SWE cross-dressing pageant, him showing up at a Baja party, him not wearing the Mudd top ten shirt because the definition of the differential was missing a constraint...
RIP Herr Professor Doktor Moody. Your impact on people was continuous, uncountable, and immeasurable. And from what I remember of Analysis, his influence is probably Cauchy.
It makes me wonder: What can any of us do to be more like Moody (aside from the obvious goatee)? What can we do to be infectiously influential on people in a positive way?
The funeral will be on Monday at 10 am in Needham, MA.
Update Facebook | Remembering Michael E. Moody, which includes a photo of the very memory I mentioned:
 |
|
|
| Crazy C++ |
[Jan. 14th, 2010|11:50 am] |
I love C++ for a lot of reasons, but I completely accept that I still learn new things about it, mostly because it supports so many paradigms that some features go unused. Here's an interesting performance OO feature, that seems crazy, but potentially useful:
Derived makeOne();
...
{
Base const& x = makeOne(); // This must be a const reference, not just a reference.
std::cout << x << '\n'; // This is legal; x still exists(!)
// The lifetime of the temporary is extended to here.
} // x.~Derived() is called here without virtual-function overhead!
See GotW#88.
Vaguely related question: Can someone explain the rationale for not allowing temporaries to bind to non-const references? That is, if you have void f(X&), why can't you call f(X())? I swear I've seen a good correctness reason once, but right now I can only find styalistic rationale. The best reason we could come up with was that you could then return a reference to the temporary, but you have the same problem with const references, so that can't be it.
I'm looking forward to C++0A (or whatever it'll be called).
Update Here's the rationale for not binding temporaries to non-const references. If you could do that, then this code would compile but fail to do what you expect:
void
f(int& i) {
++i;
}
unsigned foo(unsigned x) {
f(x);
return x;
}
The problem is that the call f(x) implicitly converts x to an int—a temproary. If that temporary were bound to the int&, then it would compile and look reasonable but not work right.
(To me it seems to me that a better solution would be for the implicit type conversion to produce a const, which would also prevent this problem and seems like it would more directly address the issue that implicit temporaries shouldn't be changed because that's just asking for trouble.)
Regarding C++0x, here's my favorite explantion of rvalue references. |
|
|
| Fun with luggage |
[Jan. 5th, 2010|08:35 am] |
I'm open to any suggestions as to how to light a fire under AA's ass. Here's the situation, as sent to AA complaints:
After four days, I keep getting the same response on the phone: American knows that my bag is in London, but it is never put on the next flight. Nobody I've talked to seems at all urgent about this. Certainly my luggage from four days ago is at least as high a priority as luggage for someone landing tonight that isn't even checked yet, but in all liklihood American will leave my bag in London while flight after flight flies to Boston. At this point I it has missed seven non-stop flights out of London, and countless routes with connections.
How many days am I expected to wait? What do I have to do to expedite it?
Do I have to call Heathrow myself on my dime?
Do I have to contact the media and tell them American has lost two four-inch knives and a ski mask behind the Heathrow security perimeter?
Can't you just have someone in London go track down my bag in person?
As a young professional working for a Fortune 100, I have many many flights ahead of me; up to now, I felt American was a trustworthy airline. Please restore this faith.
Sincerely, Ben FrantzDale
|
|
|
| Skiing Sankt Anton am Arlberg |
[Jan. 3rd, 2010|07:47 pm] |
Tuesday and Wednesday of two weeks ago, I spent skiing at Sankt Anton am Arlberg, Tyrol, Austria. I landed in Munich Monday late afternoon, took a train to Munich East, then to Kufstein, Austria, then a two-hour ride up into the Alps and a mile walk to my hotel.
You know they are serious about skiing when renting equipment involves the question "Do you want skis for on-piste or off-piste?" and do I want to rent avalanche equipment like a locator, shovel, or air-bag? Also, the trail map includes numbered "trails" with icons at the top indicating that they are only accessible by helicopter. You can also supplement your lift ticket with insurance for rescue by helicopter.
I need to learn how to ski deep powder.
Even without that skill perfected, it was still awesome. The first day was clear



The second day started out with socked-in fog. I did one run from the top (second-highest peak; the highest was closed both days) that was boring and slow because I was doing my best to see the snow in front of me:

It finally cleared, though, leaving spectacular clouds.


My ceremonial last run of the day was down a huge bowl that still had fresh powder at the end of the day:



It's a gorgeous place, with endless skiing. I barely got off of one of the mountains; there are like 85 lifts and a bus network in the entire mult-mountain complex. Wow.
(There are lots more pictures if you follow the Flickr links.) |
|
|
| iPhone time |
[Dec. 5th, 2009|04:45 am] |
So after a long saga with Sprint became the final straw haycart (including someone hijacking my account, me notifying Sprint within an hour of that, hours on the phone that Friday instead of a nice dinner out, a bill for over $5,000 of calls to Cuba, all but a few dollars of which happened after my first call to them, them disconnecting my phone without telling me (they told me by leaving a voicemail I could have listened to if they hadn't disconnected my phone), calling them and manually resetting the phone's unique ID, then actually getting the bill for over $5,000, then asking them if I had to pay it, then being told that my account has been credited, but they just wait on their lazy asses and send out $5,500+ bills for the fun of it and wait for the customer to get in touch with them, then realizing that they credited the long distance, but not the US airtime, leaving $45 more unaccounted for, then my sprint.com account got disconnected from my phone account, then when I fixed that I couldn't download the bill PDF 'cause I couldn't find the link, then finding a help entry for downloading the PDF of the bill, but then the instructions didn't agree with the actual page, then having the dude on the phone not be able to help with the PDF download, then having him not understand that me adding up my valid daytime minutes that aren't to Cuba gives me 200-something which is a lot less than my 450-minute plan and also a lot less than the 700 they wanted me to pay for, him getting confused, then throwing up his hands and just crediting me the $45 I was asking for because I was a loyal customer), it's time to switch.
Two questions:
- 16GB at $200 or 32GB at $300?
- What's the process for transfering a phone number? Does it Just Work or is it one of those pain-in-the-ass media-company interactions?
|
|
|
| warning: comparison between signed and unsigned integer expressions |
[Nov. 17th, 2009|12:43 pm] |
Dear Lazyweb,
Philosophically, why is it a warning to test equality between signed and unsigned integer expressions in C++? Is it a performance issue (i.e., u==i would become bitwise_equal(u, i) && i >= 0)? Is it just that it thinks mixing signedness is a bad idea? |
|
|
| VS Update |
[Nov. 10th, 2009|07:06 am] |
Previously I mentioned that Mudders had fun putting Mudd at #1 on VSPink.com, followed by spelling WIBSTER (loosely the Mudd equivalent of IHTFP). If you go there now, the top 25 no longer contains any Ws. It does, however, spell: Harvey Mudd rocks boo Cal Tech. (Using Cal Tech as the C, no less).
While it seems a little less than first-rate to keep perpetuating a one-sided rivalry, that is pretty cool. |
|
|
| B Movies |
[Oct. 31st, 2009|10:47 pm] |
Speaking of B movies, we watched Runaway could have been better, despite all it had going for it: Tom Selleck, Gene Simmons, robots, Tom Selleck's moustache, Gene Simmons's tongue (which got very little screen time). It was interesting to see the future as seen from 1984, complete with CRTs, analog video, huge telephones, and robots that fly and cook you dinner.
Where's my dinner-cooking robot? Stupid AI-complete problems. |
|
|
| References for Statistics on Manifolds and such? |
[Oct. 2nd, 2009|02:01 am] |
For work and for fun, I've started thinking hard about statistics in non-Euclidean spaces. For example, how do you average angles or find the MLE of a point in SE(3)n given a collection of relative rigid-body transformations or a generalized median of several homographies?
I've found some interesting papers, but no great references... do you have any recommendations? I'd like to know more about Remannian geometry, to understand affine connections, and statistics in these spaces. Any book references would be appreciated.
Yay math! |
|
|
| Traffic and Pricing |
[Aug. 20th, 2009|07:44 am] |
Great quote from Traffic by Tom Vanderbilt:
When Costco discounts televisions during its Christmas shopping promotions, pricing them so low that stores do not make a profit, what happens? There are huge lines at the door at five a.m. When cities provide roads that are priced so low that they lose money on them, what happens? There are huge lines on the highway at five a.m. |
|
|
| Total derivatives and spring systems |
[Jul. 29th, 2009|12:06 am] |
My wife is at a conference, so my mind turns to... linear algebra.
Suppose you have a spring system... like a horizontal yardstick bolted to the table at one end, flat side facing the table (not standing on edge). You can move the tip up and down and it will resist, springing back into place. You can also bend it horizontally, but it's much stiffer in that direction due to its shape. (For the sake of simplicity, let's give each element two degrees of freedom—no crazy axial motion or buckling or twisting modes; this is a toy example.)
Suppose I'm curious what happens to the shape of the yardstick when I move the end in either of those directions. This winds up being a differential equation and you can solve for it numerically or using FEA.
I'm interested in better understanding the FEA part of it. Considering just the tip of the yardstick, and assuming small deflection (so assuming no geometric nonlinearity), I expect the restoring force to be proportional to the displacement of the tip, and so
f=−Kx where f is the restoring force, K is the spring constant (a 2×2 matrix), and x is a 2×1 vector describing the horizontal and vertical displacement of that tip. Similarly the energy would be
u=½ xTKx
Now, FEA can give me a system stiffness matrix, a matrix relating the forces to the displacements of every little piece of the yardstick. That's all well and good, but how do we go from that to the 2×2 black box system matrix describing the displacement of the tip only?
My feeling is that it works like this: Intuitively, if you push the end of the yardstick up, it'll go up, and the rest of the yardstick will go along with it in what is clearly the first bending mode (the eigenmode of K corresponding to the smallest nonzero eigenvalue). Similarly if you push it horizontally, it'll move that way (and not deflect up). This is the second eigenmode. So if we want to know what happens to the shape when we push the end around, it looks like we just want to find enough low-eigenvalue eigenmodes to span the space we want to explore (tip goes up or down, tip goes side-to-side), then fit those to the prescribed deflection.
If that's right, I'm not sure exactly what basis make sense. If we eigendecompose the K for the full system so you have
VDVT=K with the eigenvalues in ascending order, then can we could just say we'll use the first n eigenvectors with nonzero eigenvalues. But what if those don't span the space in which we are interested? Unless we have repeated eigenvalues (let's assume we don't), we could just keep adding eigenvectors until we do span the space, but if we wind up with more than n eigenvectors then we don't have a unique solution. On the other hand, the only other thing I can think of is to build a basis by adding eigenvectors in increasing order, but skipping those that aren't linearly independent within the space of prescribed degrees of freedom. That seems most likely, but also seems totally kludgy.
So...
- What's the right way to do it?
- Is there an elegant way to solve this that I'm just missing
- Can you describe this
black boxing as finding a total derivative of the system energy with respect to the degrees of freedom you want to prescribe, constrained by minimum system energy?
|
|
|
| 3D Fetuses! |
[Jul. 23rd, 2009|10:11 pm] |
Back when our nephiews were in utero about 15 months ago or more, we asked their parents to get the data set from the 3D ultrasound so we could have it 3D printed. But noo.... the ultrasound tech didn't understand what they asked for and just gave 2D pictures from the 3D ultrasound.
Apparently now, 15 months later, someone has gone and done this. |
|
|
| navigation |
| [ |
viewing |
| |
most recent entries |
] |
| [ |
go |
| |
earlier |
] |
| |
|
|