Sunday, June 28, 2009

Practical Programming: An Introduction to Computer Science Using Python: Introduction: My Blog Entry

A few days ago, my dad said that a programming book about Python he'd ordered for me a few days (weeks?) previously had arrived. He had been saying, before, that the book focused not only on Python itself, but on the nature of being a computer scientist itself. The book is even called, before, and introduction to the science using Python, as opposed to an introduction to Python itself. When he handed me the book at my little brother's graduation ceremony, I was interested. I have Python for Dummies, and I took several stabs at it. Those stabs ultimately failed; I didn't go very far probably through a combination of too short an attention span, and the book having made assumptions that I already knew something about programming. The book even said that outright; it mentioned that a truly basic level of programming knowledge was suggested, but that really ended up being important, or at least I assume it did; there were more assumptions of what we knew than I was happy with.

I've liked the introduction to the book so far. Like the Dummies book, it gave a straightforward introduction to computer science; what is a program (a set of instructions), what purpose do they serve (to amplify humanity's potential dramatically wherever a program can help), an outline of how to think like a strong programmer (if there's something that isn't in account, take it there, and then get creative about your next steps), why Python is awesome (its use is widespread and deep, noobs can pick it up more easily, it's 'free and well-documented' [excellently put by the book], and it's well supported on ancient machines and other tools), etc. I think these were very well laid out in the introduction, and then finally it gave, very broadly, what the book would teach. This was put into a list of 4:

1. Solving real-world problems using programs

2. Using Python in particular

3. How to think and work like a professional programmer (the styles, formats, goals, and very generally the mindsets)

4. And finally, the book gives 'tools', the rest of the sentence going on to essentially say that these tools make 1 and 2 easier, effectively accomplishing 3 (but likely incorporating other materials... but that may also result from 3). I really shouldn't have said there were 4 before I actually reread them; I've liked the book and its approach quite a bit so far, but this 4th point is basically some rewording to give the authors a nice, even number of points greater than 2 (but, once again, this might also be a pile of things like other useful literature and files that would definitely help out).

Well, I've read some of the book beyond this point, and I've found it h4wt, to quote Cory Doctorow (I had... never seen that typed before I read Little Brother, although I thought it was a great book). More on the other chapters later.

Wednesday, June 10, 2009

Extreme Debating! (not spelled Xtreme on purpose)

Recently, I started reading a bit about formal debate too (well, I read the Wiki on it a bit, and read some transcripts from the religious site Reasonable Faith), and I've found that people always seem to stage debates that would usually last no more than twenty minutes or half an hour. As much as this seems to make sense, given it takes mental endurance to debate coherently and to listen attentively, there's always more to be said afterward (from my limited to moderate experience at school and reading online). At the end of formal debate, both sides shake hands and agree to disagree (more or less). The threads are left hanging, and that's usually fine.

Now, what if there were some sort of formal debating style that involved dramatically extended times? Into the realm of hours? Now, to start, I can come up with myriad reasons why this wouldn't work (as hoped for), but I'll bear with myself for now. The idea in progress:

If there were a six hour debating style, and each side would be composed of a single speaker (the main belligerents), and a bunch of research and support positions. These support positions would be critical; they'd have access to such things as the Internet with various database subscriptions (as required), and non-digital source material. There may even be practical demonstrations to be made, provided they are very thoroughly screened for transparency and relevance. These could be showcased on any time that the side using the demonstration is allowed to speak (overrun would have to be negotiated with the opposition, who would have the right to refuse it). An audience that may comment is also important, as well as a moderator. Preparation in advance would be lengthy and intense: first, each team would be given a month in advance to prepare (if that's when the competitors first even learned of this competition, preparation would likely involve mental and physical conditioning too). Sources are only barred if they aren't legally allowable in the country in which the debate is held (if held in a country with weak human rights, well, let's just hope there wasn't too much crap involved in information gathering...) Any source may then be challenged during the debate. If one party is completely dissatisfied with a certain source and cannot be convinced of otherwise, I'm not sure how that would be resolved.

The debate itself would be structured, but there would be sections that would be more and less orderly. The first, say, half and hour would be split into specific speaking times; a traditional sectioning of time. Each side would be given only a few minutes per section, as is common. After initial introductions and rebuttals, there would be a short period of free argument; in this part, it would be very important that the two debaters have respect for the others time and words, and the moderator would be permitted to stop someone if they're making too strong an attempt to dominate by interruption or is disallowing their opponent to speak for too long. Following this section, there would be a question period for the audience, and this might last a solid few minutes. After that, the moderator would ask a few questions that are presumably as unbiased as possible, and each debater would have a couple of minutes to respond. Finally, each debater would get a few minutes that are supposed to be focused on clarifications and pointing out concepts that they think their opponents are fundamentally failing to understand about their arguments. Each side would get a rebuttal/reiteration of around the same time. After this round, there would be an intermission of a few minutes to around fifteen for each side to regroup. The whole process would have taken, maybe, an hour to an hour and a half.

For now, I'm thinking that that format would be repeated several times until the end of the debate. Also, what I consider to be a staple of this debate: it's meant for formal debating where both sides actually disagree with each other over something, not a competition where each side must argue what is given to them, unfailingly. The idea is that each side and everyone attending wouldn't only learn new things, but acknowledge them. The central aim would be that the arguments would become sophisticated enough that entirely new thinking may be introduced, and possibly strong concessions on one side or both. Although it's incredibly difficult to overcome the most ingrained views that come out after a few hours of arguing, one hopes that both parties approach the case as objectively as they can, but extended postulating is increasingly fine as the debate drags and (relatively) solid information begins running thin. At any point in the debate, one side may even concede it is wrong, to any degree; this should not be frowned upon at all when done honestly.

Well, that's all I can think of for now. Maybe I'll do some work on this later, maybe I won't. I'm still in the midst of exams, and in two days I'll have two at once. After that, I'll have only one more. Almost there...

Friday, June 5, 2009

Well, I didn't do it. Yet?

So the people out there that read the last post, and decided they wanted more, are probably disappointed, but-- well no, it's completely legitimate. I guess I have two things to say for myself now.

First, I didn't say last time that I wanted to take a really solid, nuanced whack at this, reading all material that seemed relevant. I thought that relevant material would be a couple forum posts and that a nuanced whack would be at most a page, but then it all went to hell when I found that there was more relevant material than that to read, there was a lot to address all the time, everywhere and anywhere in the proof, and so I'd have to write something more detailed to encompass it all.

Next, there were final evaluations at my school. That meant that it was actually the most intense homework period of the year, and I'd largely blown the week before not doing enough work on this... and then all of a sudden I didn't really want to work on a self-assigned project on top of all the other things teachers told me to do. I really could have done this, but I'm also battling my procrastination on work for real marks (now largely over; exams time, and studying is much less of an issue with all my newfound time). Citing personal failing never really stops looking lame when used as an excuse, but the Internet Police are leaving me alone for now.

At least thinking I'm approaching this topic with an open mind, I still can't help but feel a little depressed while in the process. Though I'm thinking right now that subjectivity and passion are one's arch nemesis when having a religious debate, they beat at my mental door harder and harder the longer I remain reading and writing on the topic. Damn emotions. Afterward, I'm left passionately thinking thoughts that at very least feel deep, but subjectively are definitely strange and disturbing. The more people assert things that I think are false, the more I have to, in turn, analyze my own thoughts, and face my own argument on the nature of truth, and the idea that we can't really be certain about the any question, including the big ones, when we just don't have the means to find the answer... oddly enough, I feel relaxed by intense music when working on this though. Helps me concentrate when my brother is playing Nine Inch Nails or System of a Down. Interpol's good stuff too, Modest Mouse... maybe it's just my brother's taste in music that helps me focus. I won't call it mine, because he's the one that gets all of our room's good noise, but I like it enough not to grow my own musical brain, get some headphones, and buy my own stuff.

I have summer school too, but it's less intense. Looks like there's no excuse for not doing this now.