Thursday, January 21, 2010

First Day

Well, my Financial Math class started today. I am not convinced it went particularly well. I'm trying to remind myself that the real test will come Tuesday (our next class meeting), after they've done some reading and their first assignment. Today I just wanted to talk about my goals for the course, and how it was structured.

I guess that's not all I wanted. I wanted to start the class off with lots of discussion, since that's what I want the class to look like for the rest of the semester. Not just me talking. I remember this happening last semester, and thinking it was a great thing. Perhaps it helps that I started with content on the first day last semester.

Today, besides people saying "Here" or so as I read their names from the roster, I think approximately 3 people said something during class. That might include me, I can't quite remember. Not quite all I'd hoped.

When I wrote my last post about this class, just two days ago, I was, for whatever reason, working under the assumption that a majority of the class would be first year students or so. It is, after all, a 100 level course. It turns out that nearly my entire class consists of seniors. I'm trying to remind myself not to expect them to be lazy before giving them the opportunity to prove otherwise. I'm having a hard time of it, to be honest.

I wanted students to to tell me why they were taking this class, and what they'd heard about it (since I knew little about it). One student said it filled a general math/science credit. Another said that he had heard it was a good intro to finance and things. I should have pressed the issue... I'm starting to think this course is looked at as any easy way to fill one last graduation requirement. And I sort of hate that.

On my run after class, trying to clear my head a bit, I realized that perhaps I was being too idealistic about this (I thought that's what ivory towers were for!). Looking back, I know that as an undergrad I cared very little about anything besides my math and computer science classes. I took whatever else I had to, but have no memory of enjoying learning any of it.

Since starting grad school, I seem to have really grown into loving learning. I basically cannot stop reading things online. And they aren't all math and computers and teaching. Well, mostly they are. But I also feel like I would actually be excited to maybe learn some history (which I always hated), more science, more literature... anything. My friend got my a gift card for a book store, and I wondered at some point if there was a convenient way to pick a "nice" random collection of books from scattered topics to read (feel free to leave a comment!). Broaden my horizons and all that.

Even learning financial math has been not bad. I've always shied away from applications. Today I went to the library and got a few popular-level books on finance. I felt a little dirty, honestly. But I was also excited to learn about things I know nothing about.

Surely my students will share this enthusiasm, right? I'm reminding myself who I was years ago, and realizing that probably many wont. But I'm also trying to remind myself that if I go to class thinking that, things will turn bad (worse?) quickly.

I did, in class today, get a nice chuckle out of the class when I told them I know nothing about finance. I expect many were a bit shocked when I told them that while I'd read the first chapter a few times, and skimmed the next two, I had no idea about the other three we'll be covering. I'm hoping they appreciate my honesty, and don't lose respect for the course. I'm wondering if a pop quiz is in order for Tuesday, to make sure they know I'm taking this class seriously.

I'll keep you posted.

Tuesday, January 19, 2010

A Confused Teacher

This semester I'll be teaching a course in financial math (a first-year-level course offered by the math department). This is a bit of a change from what I've been teaching (calculus, for 5 years). Moreover, I basically know nothing about the subject.

Ok, sure... you put money in a savings account, it earns interest at some rate, compounding sometimes, and you end up with more money than you started with. Conversely, you use a credit card to buy stuff, and it costs more, due to interest. I've got some grasp of those concepts (though not much... I mean... why would a bank give me money for having money?), and the equations involved. However, some of the chapters in the book that I'm supposed to cover are titled: "Discount Interest", "Ordinary Annuities", "Other Annuities Certain", "Debt Retirement Methods", and possibly also a chapter on "Investing in Stocks and Bonds". Well, I think I can claim to have heard those words before (not necessarily together), but that's as much as I can honestly own up to.

So I'm supposed to go teach a class (45 students) on a topic I basically know nothing about. This has put me in a bit of a philosophical mood. Or, since I also won't claim to know what philosophy is, let's just say: I've been thinking about how I should set up a course like this, and why I think that.

[Just a heads up. This post has parenthetical comments within parenthetical comments. And it isn't about LISP. If that gives you some indication about how rambly this post is, and you don't have time for it... perhaps I'll do better next time. See you then.]

My thoughts are: I'll be learning this stuff essentially as my students do. I will be no more an expert on the subject than they would be after reading each section. It believe it's quite possible that some students will come in knowing more about the subject than I do. So why should I lecture on it (nevermind if I should be lecturing when I do have an understanding (calculus))? Shouldn't they be able to teach themselves, just like I'll be doing? And then we can all get together and see if we came to the same understanding?

I asked basically these questions on twitter, where @michiexile was kind enough to offer up some thoughts. He stated that I've got some advantage, having spent more time learning how to learn, and also that I'm there to be "a bad conscience", "a voice of authority", and to "give context".

I can certainly see the bad conscience part. That's the point of making assignments with due dates. I'm not sure how much context I can give, though perhaps I'll do more reading in places besides the text, so I'll have more to share (but, again, they can do this). I'm not a particularly authoritative person, but perhaps that's something I should work on in my role as an instructor (or perhaps not?).

Clearly his point about having more experience learning is valid. If you kept count that high, I think I'd be in 22nd grade (only taking 21 of them though :)). With my students who I'm expecting to mostly be in 13th grade, that's approaching twice as many years in school (ouch). Surely I've picked up something in all that time. How can I best impart this knowledge (which I don't have a ready grasp on) to my students as efficiently as possible? I have no idea. My consolation is a guess that I'm not alone in not knowing.

It seems fairly clear to me that knowing a bunch of things is useful. Surely (though I have no experience to base this off of) employers like to hire people who already know many things, and know how to do many things. However, there is absolutely no way an employer can expect a future employee to know everything about pertinent subjects. There's quite simply too much out there. And this holds true especially for students fresh out of college, who almost certainly have significantly less experience than individuals who have been working for some time.

So it seems to me that what employers should be hoping to find is individuals who have a strong ability to learn. I'm guessing this isn't much of a revelation to anybody. I think I'd like to claim something stronger though. I believe that an individual who has a strong ability to learn independently makes for a stronger job candidate.

(Please don't think that my whole outlook is helping kids land jobs. I don't even want a job :), though of course money is nice. I have little idea how to get one anyway - that's a portion of the reason I'm still in school. Also, I don't have much in the way of an idea how an employer would determine if one individual is a stronger independent learner than another. I do believe the internet can help, by giving people a place to show what they do. But I'm getting off track (seems to be what I do).)

I've been trying, at least a little bit, to think about why I believe that an ability to learn independently is an admirable quality. Possibly I'm behind, and people have decided that it's simply true, sort of intrinsically or something. Perhaps not. Part of my concern is that I like to think that I have at least some ability to learn fairly independently (I'm quite possibly fooling myself), and so perhaps I just want to believe that this is an admirable quality. Or, more drastically, perhaps I've got some psychological issues about relying on other people. I like to think this isn't the case, but what do I know?

Having not much in the way of "other opinions" on the subject, I'm pretty much going on the assumption that I'll be doing well if I can get my students to be better independent learners. I'm not saying total independence. I'm not going to cancel all the class meetings and just have a final exam, and expect everybody to be fine at the end of the semester (man, think of all the free time though...). I know that I am not that independent myself (and I'm sure my thesis advisor would be quick to agree), and I don't think it's even a reasonable goal.

So here's what I think I'm going to do with my class. We have 75 minutes class periods, one on Tuesday and one on Thursday. Each Tuesday there will be an assignment due, presumably consisting of exercises from the text (I'm still working on this part), on sections that I have not talked about in class at all. This will require the students to read the appropriate sections, carefully, so that they actually gain an understanding of the material. I'm going to have office hours on Monday, to help students who got stuck on the assignment.

This is the way my undergraduate math courses were structured, by the way. I'm excited about diving in on this policy. I've made attempts in the past, with my calc classes, but went too easy with it, I feel.

So, great, my course is set up. Except, there's one small issue. I've got 150 minutes in front my students each week. If I'm not talking about new material, and they just turned in an assignment showing that they understand old material... what do I do with this time? This part has me seriously nervous (so I'm writing about it out here, good use of time :)).

My guess is that students (including me!) won't understand all of the material from the section. I'm planning on spending as much class time as possible and necessary having a discussion with my students (hopefully with them doing most of the talking) about any questions we have from the reading. Hopefully some will be confused about examples in the text. Hopefully some will still have questions about how to work problems. Hopefully some will have questions about how to interpret answers to questions.

I'm trying to think about what to do if they don't have anything to say. Or if they pretend they don't. I'm guessing if I say "So, since none of you have any questions, maybe I should just give you a quiz on this for you to earn lots of points on, and then we can all go home", some hands will go up (and some people will think going home is a great idea).

One thing I think I'll do is to try to keep track of my own thoughts and observations and questions as I read, so that I can share that with the class if they don't have their own things to talk about. I may also come with some extra examples, to give them time in class to work on them (possibly in groups, or as part of a game or something) and get better at problems simply by doing more of them. Possibly I'll be inspired to look at other materials online or in other books, and can come in with something to share from that reading.

I think talking about the material the students (and I) have just read, after we have worked some problems on our own, will help with our understanding of the material. Surely that's a good goal for the course.

But I was rambling on just a few paragraphs ago about getting my students to be more independent learners. I do think that setting up the course as described above will give them experience trying to develop this skill. I also think, however, that this goal can be addressed slightly more explicitly during class time. I hope that by keeping track of my own "how I read this section" process, I will be able to share that with the class. I touch on this a little above. But I could take it further, I think. I could perhaps scan a section of the text, and keep my notes on the paper as I go. Then during class I could walk through how I read the section with my class. Perhaps they'll pick up on things. Things like... what questions do I ask while reading? How can I tell if I'm actually understanding this material? Where can I go to answer questions I have? Perhaps the exercise will make me more aware of the process myself, and I'll be able to point something out. Perhaps students will point out their own methods of gaining understanding.

At this point I've probably rambled on far too much. Clearly this semester will be (or, at least, could be) an interesting one. I believe that I will learn quite a bit. I hope that my students also do.

Thursday, January 7, 2010

Forgive Me, Gnu

Forgive me, Gnu, for the sins I am about to commit.

I have a plain old text file, whose contents are valid xml. It is my task to convert it into some sort of PowerPoint monstrosity.

Forgive me for embarking on this path. Forgive also those who have asked for said monstrosity, as they may know no better. Give me the strength to show them the light you have given the world. Indeed, thank you for showing me the way, that I decided initially to put my data into plain text, knowing that it could later be converted to anything.

I do not know if it is a larger sin, or some sort of compensation, that my current plan of attack is to first convert my file into an odp file. Or that I will be doing as much of the conversion as I can on a Linux system.

In the name of Stallman, Raymond, and Torvalds (and the many eyes I know not), amen.

Wednesday, December 23, 2009

Desktop OAuth/Python Question

This post is slightly more tech-heavy than most of my recent posts. If that's not your thing, feel free to move on now.

[Update 20091223: NEVERMIND. I got it sorted. The url you re-direct a user to with OAuth doesn't need extra OAuth headers. So you really could just use webbrowser.open(). My bad.]

Suppose I want to interact with the twitter API via some python code running on my personal computer. Suppose, for grins, that instead of using the Basic Authentication I'd rather try OAuth (even though it's all running locally...). Part of the flow of OAuth authentication is that my script is supposed to direct the user to an address at twitter (oauth/authorize), with some OAuth specification headers in the HTTP request for that address (I hope I'm saying things within a few shades of correctly). Well, python provides the webbrowser module which should open up a url in the users browser of choice. And it does, pretty easily (based on my 1-test sample). The problem is that for the OAuth dealings, I'm supposed to pass additional HTTP headers, and I can't figure out how to do that with the webbrowser module. I tried creating a Request object, from the urllib2 module. If I were just making a url request using this library, I could make the Request object, with the extra headers, and things would go fine. But the webbrowser.open() method seems to want its url parameter to be a string, not a Request object.

So... how am I supposed to do this? Or am I not supposed to do this?

Am I supposed to use some other existing python based browser? How is the user supposed to feel like I'm not still in the middle of the authentication process? I mean, if my script displays a webpage using some graphical widget, and waits for the user's input, then I could just be grabbing their username and password while they log in to twitter, no? The point of having the user go to twitter and get a pin is that the user then tells me that pin. I don't put myself in the middle and grab the pin (or their username/password) somehow.

Does any of this make sense? Can somebody point me at a solution? Existing code that solves this problem?

Friday, December 11, 2009

Changing Calculus

Apparently toward the end of every semester I decide to write a post about changing calculus. At least, this is my second go at it. But today's attempt is more a follow-up to my most recent post, about the role of higher education.

My initial motivation in asking the questions in my last post was to provide some structure for what a calculus class should look like. Is the role of calculus really to make sure that all freshman know how to compute integrals by hand, and can use this to find the volume and surface area of a solid of revolution? That rising second years can go through mindless algebraic manipulations to arrive at an answer to a question that was asked without any context or applicability? Moreover, that they need to be able to do so by hand? Quick, find the antiderivative of $\sqrt{3-2x-x^2}$, no computers. Who gives a crap? How many times will that function, or one like it, actually show up in the lifetime of my student? I get paid to do math, and the only time I've ever cared about the answers to these algebraic questions was when I was taking or teaching a calculus course.

Looking back, I'm a little ashamed that the problem above was actually one I assigned as homework for my students this semester. What good does it do to have them work this integral by hand? Surely the answer depends on the students, right? My students going away from the sciences have gotten nothing out of this assignment. My students staying in the sciences have spent another... 5 minutes? 30?... practicing their algebra skills. Hurray‽

Look, I'm not saying algebra isn't useful. But I really do think it is over-emphasized in calculus courses (the ones I've encountered). My calc II course covered: techniques of integration, improper integrals, arc length and surface area of revolution, parametric curves, polar curves, multiple integrals, and infinite sequences and series. Lots of these are wonderfully fascinating and fun topics. Parametric and polar curves force students to start thinking about curves differently, to start re-interpreting functions and points in the plane. Infinite sequences and series are so unlike anything that's ever come before that they can't help but be interesting. Add up infinitely many things that get infinitely small, and produce an infinite value? Or a finite one? How the hell does that work? What does it even mean?

If not a single one of my students can do the integral mentioned above, I'm not sure that I'd feel bad about my semester. If not a significant portion of my students could tell me what was new about a parametric or polar curve, I think I'd be fairly upset (admittedly, now I'm a little afraid to ask).

My problem with my course is that algebraic manipulations are essentially given precedence over conceptual understanding. This is done by making exams that test algebraic nonsense, forcing instructors to make sure their students can do the algebraic nonsense, taking up valuable time that could be better used in other ways. With less time spent on algebra, more time could be spend on concepts, and more time could be spent on improving student's writing. The time spent on concepts makes it a more mathematically interesting and, I'd argue, worthwhile course. Whatever negative impact on my students is brought on by slightly less algebra practice will be more than compensated for by having them spend time thinking about ideas. More time spent teaching students how to write mathematics will force them to think more precisely about what they are saying and how to say it. How could this not be advantageous to students, whether they will be taking more math or not? Unless, of course, thinking about these ideas and how to write them is not aligned with the goals of my university. If the role of higher education isn't something that thinks this would be better, then I'm getting off this boat before it sinks.

So why not go for it? Spend drastically less time on techniques of integration and series convergence tests. Force students to turn in well-written assignments. Spend class time talking about what well-written math is. Spend time letting students play with computers to get a feel for parametric and polar curves. Computers will be faster and more accurate in plotting curves than any student ever will be. Give students time to plot lots of curves, changing parameters to see the effect on the graph. Make students look up resources online to learn how to find arc lengths or surface areas, instead of just telling them the formula (or even deriving it) and having them memorize it. Spend class time talking about how to read the resources they find, and how to evaluate them for quality.

My advisor pointed out, during our conversation mention in my last post, that there are some issues with trying new things. At the lowest level: who gets to teach such a course, and where does their funding come from? But I think better concerns that he mentioned are two that bring me back to some of my earlier questions.
  1. It is hard to test conceptual understanding. It is much easier to test if a student can do some algebra. With several hundred students going through calculus every semester, this is a practical concern. How does a university handle scale?
  2. Institutional inertia would have to be overcome. Change is hard. We do this because this is how we've done this for a while now, and it is clearly the best way to do things and it's going ok and nobody has complained.
So let me ask again, what is the role of the university, and how will the university adapt to the changing world? Is the role to grant degrees, and so is the role of my lowly calculus class to funnel students on to further classes until we can get them out of here with their paper in hand? What market are universities in? If we know, then we can see if our institutional inertia is good or bad. If we don't know, we should probably get on that.

These questions brought me back, full circle, to my initial desire for some formal guidelines for courses. I think it would be hasty to change all of our calculus courses around right away. I think a better solution involves some experimenting. Make a new course, make grad students apply to teach it, arguing for what they want to do differently, and require the instructor to report back on how it went. I think having formal guidelines for courses would aid the experimentation, because it gives an objective measure for comparing a newly designed course with a more traditional one.

I know that much of what I'm saying is oriented toward the way things are set up in my department. How is your department set up differently, and what does that mean about how calculus courses are structured?

Thoughts? Objections? (non-spammy) Links?

Higher Ed

I've been wrestling recently with identifying the role of higher education. I'm not much of a wrestler, physically or intellectually, so I thought I'd see what I could put into words and have you folks comment on. Thoughts of yours, or links to thoughts of others are much appreciated.

What brought on my recent concerns, or possibly made the pot boil over, as it were, was some frustration in making a final exam for my calculus course. The course I teach is one section among several, and we all have common exams. When we went to make the exam this semester, there was some disagreement about what should be tested. The lack of a prescribed vision for the course (at least, one I was aware of) started to upset me. And then I decided that such a vision should be accompanied by a broader vision of the math courses offered by the department. It should include formal indication of how the courses fit together, what is assumed of students coming in to each course, and what is assumed of students passing a course (I'm thinking something more formal and precise than the short list of pre-reqs for a course). And then I wondered where this vision came from, if it was internal to the department or how much say other departments had in what they wanted math classes to require. I'm not expecting the English department to care at all what is covered in Calc I or II. But perhaps Economics has some input for us? Or other departments? And then I wondered what the point of any of it was. What is the role of higher education, and how does my Calc I or II class fit into that?

Clearly things were getting out of hand.

Luckily, my thesis advisor turns out to have the title of Director of Undergraduate Affairs. Furthermore, he was happy to talk to me about these things, and brought a welcome level-headedness up against my relative insanity. Of course, I'm sure he won't mind much when I get back to research... :)

He pointed out that probably having formal guidelines for all courses is a bit much - that professors teaching upper level courses should be granted plenty of flexibility. I can't really argue with that. I have vast respect for all of my professors. But this flexibility doesn't really help in getting a vision for Calc I or II together. And if the courses are coordinated among several sections, there should be some vision backing it, right?

Part of my initial inquiry was if there was a curriculum review that happened periodically, and how long ago the most recent was. My guess was that if there was such a thing, it happened before nearly all of my students had personal laptops (or possibly even personal computers in their dorm room). I know I'm a bit of a nerd, but I really think it is important to adapt to the changes brought about by each student having their own computer (that they maybe can carry in their pocket!) connected to the internet. The explosion of infinite goods and real-time global communications, for "everybody" (yes, I know I live in a privileged region, or whatever is the PC way to say it. I'm sorry?), has been changing, is changing, and will continue to change... well... nearly everything. When the fundamentals of economics and communication change, what isn't impacted? [Side note: I know very little about economics, I'm probably saying things incorrectly]

Bringing things back down closer (somewhat) to the level of a graduate student who knows basically nothing about anything useful... how does the internet change higher ed? What happens when lectures become an infinite good, available to be watched freely online? What happens when the content that makes up our textbooks is available in a multitude of places online? What happens if students have direct access to experts in any field at campuses on the other side of the globe? Gah, I'm getting out of hand again.

Two recent posts online have been on my mind a bit as I think about this question:
  1. A post on ars technica about the difference between the movie industry and the music industry. For some reason this article made me realize that I probably wasn't thinking much about what was distinct about higher ed, as opposed to the entertainment or news industries, and what that meant about the impact of technology.
  2. A video on techdirt explaining the innovator's dilemma. This video makes me think that in order to adapt, universities should be asking what market they are in. I've been phrasing the question in terms of what role they play, but I think maybe they're pretty similar questions. Are we in the horse-and-buggy market, following the example in the video, or the transportation market? Are we in the market of churning out degrees? Are we in the certification market? Is that our primary goal and purpose?
I truly hope that I'm not saying anything surprising to people involved in higher education (or other fields!), or asking questions you've not heard before. I really do hope that I'm late to this conversation - that smart, dedicated people in the right places are asking these questions. Moreover, that they are coming up with some answers. I hope that I am just not seeing this conversation at my university, or at others, because I am not involved enough somewhere.

Anybody have some thoughts or links for me?

This post is somewhat of a part 1 in a series. The second focuses more on teaching calculus.

Monday, November 23, 2009

Phones

Today I made a few changes to the way I intend to interact with phones, and I thought I'd see if any folks out there had any advice for me about these changes.

I switched to a pay-per-minute plan for my mobile phone today, and also signed up for Google Voice (thanks to an invite from a twitter follower), with a new Google number. My mobile plan is now 1 dollar every day I make or receive (actually answer) a call, plus 10 cents for each minute of those calls.

So here's what I'm planning on doing: I'll tell people my Google number. They'll call that, and it'll call my phone, and I'll not (in general) answer it, but I'll notice that somebody called because my phone will ring. Then I can wait for them to leave a voicemail, and check it online (assuming I'm near a computer (which I probably am)). If it's important (and the person isn't online where I can just chat with them) I can then call them back.

Perhaps this is selfish and a hastle for the people that call me. But there simply aren't that many people that call me, and most of them (Mom, e.g.) probably won't mind or even notice the slight hastle. And if I know somebody will be calling (a friend arriving somewhere, say), I don't have to let the call go to voicemail. And I can tell folks that if they'd really like to reach me, now and on the phone, they can just call twice or something.

I thought I'd see if anybody out there does, or has done, or has had a friend do, something similar. If you've got any comments of feedback about my new scheme for being a cheap-ass hermit, please leave one below. Don't bother calling me :)

That's basically the end of this post. But my original version of the post started with the story behind making these changes, and it's all written out, so I thought I'd include it anyway. If you don't care, then go find something else to do, I won't be offended (I won't even notice, but even if I did, I wouldn't be offended). If you're bored... here's the story:

I think I've never really been a fan of talking to people on the phone. Certainly not recently. I'd almost invariably rather talk to somebody via email or instant message. But I've got a phone, because apparently you've gotta have one. And, I'll concede, they have their uses.

When I started grad school, I got my own mobile phone (look at me all grown up), and an individual phone plan. I've been on the cheapest mobile phone plan since then (5+ years now). I have never gotten particularly close to using anything like my allotted minutes. My most recent bill claims I used 6 minutes total. Not exactly something I was happy paying 50 dollars a month for, but I was too lazy to look into many other options.

The other day I accidentally left my phone in my pants pocket when I put those pants through a cycle in the laundry machine. It was an old phone that I'd gotten for free for signing up for whatever plan anyway, so I can't say I was too upset when it came out of the laundry and wouldn't turn on. I was mostly amused, and glad it didn't do any damage to the laundry machine (water and electronics being what they are... I figured).

After letting it sit for a few days on the hope it might sort itself out, with no luck, I decided it was time for something new. What I probably most wanted to do was get a Droid. This would mean paying more for my phone service, but it'd be paying for something I'd almost certainly use. Not the voice service, so much, but certainly data. However, I listened to the voice of reason (for now :)) and decided instead to switch to a pay-per-minute plan with AT&T (my current provider, inertia being what it is). I went and got a new phone (the cheapest), and am now (after some slight hastle with the SIM card, and having lost all of my contacts) on a plan where I pay 1 dollar every day that I make or receive a call plus 10 cents per minute that those calls take. While I certainly can see that some months will be more expensive than others (due to travel or getting stuck on hold doing something stupid), I have a hard time believing any will be more than the 50 dollars a month I was paying. That's something like 6 minutes of calls every day, or a couple of hour long calls scattered through the month. I'm not sure there's anybody I want to spend an hour on the phone with.

None of that is particularly interesting or exciting, I suppose. It's new for me, so a little exciting, but I can't see why you'd care. What's more exciting is Google Voice. Thanks to an invite from a twitter follower, I now have a Google number. In fact, it's HAM-BLET (in an area code that isn't where I am), which is a little fun (ANIDIOT wasn't available). And I guess the idea is I have the number... indefinitely. And then I can add any of my usual phone numbers (the one I've had for a while now, e.g.) to my Voice account, and whenever somebody calls my Google number, I see the call on my normal phone. And if I decide to not answer, Google will record the voicemail for me and send me an email (or text message, but I turned that off) with a transcript, or I can even listen to it online. That's probably the most exciting thing I've seen in... rather a while. Pressing some buttons online and having my phone ring is pretty magical.