The God Particle pp. 1-24ish, Stand on Zanzibar pp.38-58

The God Particle

Compared to the total theoretical knowledge possible on the topic, I know an amount indistinguishable from nothing about physics. Unfortunately, I have a feeling that Stephen Hawking, Richard Feynman, or Einstein might have felt similarly, so to further differentiate: compared to the sum of human knowledge about physics, I- ah, the same problem, while less likely to apply, still may. Let’s try this:

Compared to “A moderately competent physicist”, I know an amount practically indistinguishable from nothing. There. Now the physicists-in-training safely know much more than me, the moderate physicists know tremendously more (approaching infinity!) and the tremendous physicists know a simply impossible amount. But compared to a random person I might know some things, about which I’m probably wrong. The common phrase is “know enough to be dangerous.”

Yet, I think that somewhere down the road I might be interested in being a physicist. How to crack that nut! Well, for starters, I’m reading The Feynman Lectures on Physics, and today I began reading a book I picked up years ago, “The God Particle“, by Leon Lederman. It’s an account of the search for the ultimate atomic indivisible building blocks of the universe, as well as an account of the search for the Higgs Boson. It was written back before the Superconducting Super Collider was cancelled, and before the Tevatron at Fermilab was closed down, so it’s looking to the SSC as the champion that could find the Higgs, which is a little sad.

The SSC was planned to be able to smash particles together at up to about 3 times the energy levels that the Large Hadron Collider does, in a 54-mile tunnel under the Texas desert. Unfortunately, it ballooned from its originally estimated cost of $4.4 billion to over $12 billion, at the same time that the International Space Station was in full swing and costing a similar amount. For a bunch of reasons(high cost, Russia had collapsed so we didn’t have to compete with them, other ways to spend that money), the SSC was cancelled  in 1993. Many physicists were sad.

The book has already had a pretty great analogy about particle physics as being like watching a soccer game where, for some reason, you can’t see the ball. If you’d never seen soccer before, it would just be people running about kind of randomly. If you pay attention and observe them, you might come up with theories about who runs where and when, and give each of the players labels. You might notice that there’s a property of symmetry that, once seen, vastly reduces the complexity of your theories. But still, you’ll just have models that predict people running around until you postulate the existence of a ball.

The indirect evidence of a ball is a rare event — every once in a while, just around the time the goalie jumps or reaches or falls down — the back of the net is pushed outward in a hemispherical way. You can’t see the ball itself, but you can see an effect it’s having on things. And once you start thinking about the game with a ball in it, you suddenly see why everyone’s running around, and why your predictions work in most cases. I’m very pleased with it! For me, great analogies are one of the best parts of physics. Sorry to Leo for pulling that out so closely of the book!

Stand on Zanzibar

The concept of a synesthizer came up while I read it today. Effectively, these are people in the world of Stand on Zanzibar who are paid good salaries (I think he says $50,000 — and it’s written in 1968!) to research a wide variety of things for a short period each day, and to look for patterns and try to report interesting things to whoever would be interested in them. Aside from that, they’re expected to keep things kind of spicy to maintain their vigour. That’s it. Noting needs to be produced or written and nothing is checked on. Reminds me of this xkcd. And the key qualifying attribute is being pissed off at not being able to dick around learning what you want! Sounds like Brunner did some Mary-Sue’ing here.

But mannnnnn, I wish that were real. Of course, I suspect that there’s a catch, but I’m shying away from writing spoilers on here for the time being, so I won’t get into it.

Reading Day 1: Red Mars pp.1-29, Stand on Zanzibar pp.15-38

Red Mars

This book starts at the dawn of the first real Martian city, and immediately launches into the politics surrounding the evolution of the culture of the Martian people, contrasting it to the cultures of Earth. Kim Stanley Robinson does not shy away from racial conflict, which I might have misinterpreted as recklessness or stupidity if I hadn’t previously read The Years of Rice and Salt. This author is not ignorant of culture, and if he’s writing things with suggestive tones, it’s intentional. Very well written so far — I had to make myself stop at page 29.

Stand on Zanzibar

Brunner’s invented future-speak is one of the most fun parts of this book, but at times it’s hopelessly confusing. I wonder if, in some cases, he didn’t even know what certain abbreviations he’d written were supposed to mean — just to help add to the sense of bewilderment in the familiar, alien (familiarly alien?) universe he’s constructing.

Everything about this book — considering it as a collage, watching patterns emerge between the snippets of information, trying to decipher the speech of the people in his world, recognizing aspects of our society which may or may not have existed for Brunner to consciously lampoon in 1968. It’s an insanely good read every time I pick it up, but I’m very concerned that I’m just not smart enough to appreciate it. Perhaps on a second or a third reading, in a few years, I’ll feel like I get the big themes.

Occasionally there’ll be snippets that push hard at the fourth wall, and they always make me feel like I’ve missed something vital. The most recent came after an action-packed scene, and went as follows [my notes in square brackets like this]

“It’s no coincidence”

(COINCIDENCE You weren’t paying attention to the other half of what was going on.
–The Hipcrime Vocab by Chad C. Mulligan

“that we have…” [continues]

The initial sentence is continued, and goes on to talk about berserkers, density in societies, and conditions that led to adoption of eunuchs in China, as a backdrop for ‘muckers’, which is a commonplace term for people who go crazy and kill random strangers at malls, parks, schools, anywhere. I was unaware that mass murder was “a thing” in 1968, enough to be seen as a rising trend in society. I which I had more context about what the world was really like at the time, so that I could tell what satirical elements turned into predictions versus what is just poking at the elements of his own world.

Anyway, good start. I took quite a while to read them — mostly did it while walking around. Tomorrow I’m continuing Stand on Zanzibar, and I’ll start re-reading that other one I mentioned in an earlier post. Three posts today! Wild.

Let’s get meta for a minute

Like, really meta.

Okay, so picture there’s a problem you don’t know the answer to. Let’s talk about this problem. Meta level-1.

So, it’s a problem that’s really tough to figure out because there’s a lot of abstract, moving parts. The kind where experience with the sort of problem would help a lot, but any simplified example that attempts to approximate it becomes hopelessly contrived and abstract, while any real instance of the problem is complex for its own reasons. Maybe you haven’t ever had one of these problems, but I assure you that they exist. Essentially, they’re problems where complexity is an integral part of the problem.

Now, let’s talk about what happens when you discuss those sort of problems. Meta level-2. The most common case where these problems arise is in bad solutions. When you don’t properly frame the response to a real problem, you might work yourself into a corner where a very complex, convoluted answer is the only way out. In this case, the real solution isn’t to solve the momentary problem — it’s to think about the root problem differently. People who have run into these sorts of problems (which I’ll call Complex Problems) are likely to give you that advice: If you run into a Complex Problem, re-examine the foundation of what led you there and look for ways out.

If you didn’t notice, we just started talking about people talking about the kind of problem we’re discussing. Meta level-3. We have to go deeper.

Something cool happens when you realize that the advice to reframe your solution to simplify it is, while good advice, not always correct. People often give stock, cargo-cultish advice when they recognize the broad class of a problem, without examining its specifics. Even if most problems fall to the advice, not all necessarily will. Now we’re talking about the way that people talk about the kind of problem we’re discussing. Meta level-4.

Taking it to the extreme, let’s wonder about the class of problems for which that is true, and whether there are classes of problems where it’s not. Where the cargo-cult result is always correct. It’s possible that for some sorts of problems, the standard advice is guaranteed not to fail. Now we’ve hit meta level 5: talking about the type of problems that elicit specific ways for people to talk about the kind of problem we’re discussing.

Well, kind of. Meta level-5 kind of got lost there: we’re really just talking about types of problems that people talk about in certain ways. That’s only like 3 levels of metadiscussion.

But now we’re talking about the metadiscussion itself — that’s level 5. In a fashion, you could say that we reached level 6 in talking about talking about the metadiscussion, but can we really go along like that? That would amount to a quick infinity: you can always get a level deeper by talking about talking about etc… which, while maybe true, feels cheap. Let’s say you can’t do that in a pragmatic sense of metadiscussion.

But discussing the validity of the meta-ness of the metadiscussion seems pragmatic enough to count. So is that level 7? I’ve lost count.

Anyway, those were my thoughts while I walked to the washroom and back.

Reading

Any time I need to answer a question about REST, I end up spending 2-3 hours reading. I’m not sure if that’s a good thing or a bad thing… anyway, while doing some of that reading I was on InfoQ at this post, and that lead to this post, and that lead to this post, and at the end of the post the guy said:

So run away screaming from anyone who dismisses these as “just implementation details” – implementation details matter. They cost money, and break hearts.

And it’s an excellent quote. I’ve still got this page, which looks like its mime-type is wrong, and this wikipedia page, because it looks interesting, and this website, because it’s what inspired Sam Ruby to get off his SOAPbox to take a little REST (haha I’m so clever) and this article because it seriously sounds like an insanely useful read. I might save it for another day. This is a good time to just toss this in here, which should have been included yesterday, but wasn’t. It’s about the javascript event model, which prior to reading that article, I had never really considered the existence of, and it’s made so much magic plain in my mind. quirksmode and infoQ are really excellent websites, by the way.

Echoing yesterday’s words, every time I look into the internet, it grows deeper. I can’t help but wonder about whether there’s something worthy hidden in rpc-style communication, but I’ve heard the horror stories, and I know that no technology is a panacea, even if working with JSON tends to feel an order of magnitude less painful than working with XML, and all the big SOAP things I’ve worked with were XML-based.

Also, I completed day 21 of blogging, yesterday. My last two posts kind of sucked. Well, no, they really sucked. They’re just me rambling! I need to have a focus and a plan in the future, or at least a bunch of exposition and links like I’ve got here.

What’s next

My plan for the next 21 days is ambitious, and maybe a little reckless. I’m going to be speed reading. Here’s how it breaks down, with each phase lasting a full week:

Phase 1: Read at least 10 pages of at least 2 books, every day.
Phase 2: Read at least 20 pages of at least 3 books, every day.
Phase 3: Read at least 30 pages of at least 4 books, every day.

I’m going to review this plan as I go forward, because I have absolutely no idea how realistic it is. It ends with me reading 120 pages a day, which at the moment feels totally outside of my ability to fit into my life. It starts with reading 20 pages a day, which feels doable, but like it’ll take effort. If I’m going to reach a point where I’m burning through 120 pages of material a day, then I think I’ll have to be speed reading. I’ll definitely need to break 200 words per minute — let’s make some estimates:

A book has on average 50 lines per page (I know, most have 40, but I’m going to be reading the Feynman Lectures on Physics as part of this, which have ~60 lines of text per page), and has, on average, about 14 words per line (again I’m pulling this up from 12ish because the Feynman book averages about 16). So we’ve got 50 * 14 = 700 words per page. 20*700 = 14000 words, and at 200 wpm that means 70 minutes of reading. To start. On the high end, 120 pages, we’ve got 6 times as much, which means 420 minutes of reading. That’s insane.

If I can get up to 500 wpm, I can cut 70 minutes down to 28 minutes, and 420 down to 168. I think I can manage to read for 3 hours in a day, but seven is impossible for me. If I can get up to 800 words per minute (my dream goal), then I could read 120 pages in just 105 minutes. Just under 2 hours of solid reading every day. Scary, but I’d love to accomplish it.

Today, I’ll just read my normal speed on whatever books I have around two of (The Illiad, Red Mars, Feynman, and Walden). Starting tomorrow I’ll grab a book that I’ve read previously so that I can focus on speed without worrying about my loss of comprehension. My other book will be Stand on Zanzibar, which has a “stream of content” delivery, and may be best consumed at a lightning-fast pace with slight misunderstanding. Blog posts for the next 21 days will be responses to or summaries of the content I’ve read; they may be done with a day’s lag. Not sure yet! And as usual, I’ll occasionally leave updates with regards to the process.

The Web Is Complicated (and schools should do more to teach it)

In the past few weeks, I’ve been reading about some little aspects of web programming that I’d never really considered the existence of, let alone closely examined: for example, the DOM event model. There’s a deep amount of learning to be done here about the history, the problems that are being solved, and the present state of this system. While reading and researching, I was reminded of a discussion I tried to have with the School of Computer Science’s faculty during a planning retreat, back when I was a student representative. I do not remember the specifics very well because it was years ago, but it was along these lines:

Chair: (to all present) “Are there any other suggestions for areas of improvement in our teaching?”
Me: “I think we should do more to teach people about making applications for the internet — there’s a lot of deep information there, and we don’t really teach it. Sessions and login/password handling, HTTP verbs, caching, CGI, how web frameworks like Rails work — academically, we seem to live in a world where the internet doesn’t exist.” (only I was probably way more awkward)
Chair: “One issue with that is that we’re not in the business of teaching technologies; we teach concepts, and students are expected to be able to figure technologies out on their own”
A Professor: “I include some slides about HTTP when I teach my (optional) 4th year networking course” (which requires an optional 3rd year networking course)
Another Professor: “I teach students about REST and design principles in my (optional) software design course” (which has a reputation as a course for people who want to do nothing but write essays about design patterns)
Another Professor: “You have to use GET requests for the server we you write in second year — we talk about HTTP verbs then (we talk about GET)”
Chair: “Well, it’s not our job to hold people’s hands and give them every bit of knowledge, especially not about specific technologies. We’re not going to make a Ruby on Rails course. The concepts are being taught, you just seem to have missed them”

I am probably editorializing too much, because everyone there was reasonable and (mostly) friendly, but I was given a distinct sense of “learner’s machismo”, that if I don’t know the answer to a question it’s because I’m not trying hard enough, not because there’s anything wrong. I had spoken to several students and gathered their requests: education on the internet was perceived as sorely lacking, and a very useful thing to add.

There is a new stream in the School which is called “Software Engineering”, as opposed to the generic Computer Science program. It sounds like they’re doing some more hands-on work in it than we did in the CS stream, so perhaps new students will have an opportunity to learn these sorts of things. It’s difficult for universities to face the topic of “abstract vs applied knowledge”, especially in the realm of Computer Science, because both sides have valid arguments.

My experience and training at school was not to be a competent programmer. I really didn’t program much over the 4 years at all — probably less than half as much as friends of mine who went through 2-year college Software Engineering programs. And what’s worse, code quality was worth almost nothing throughout my time in school: deadlines were hard and fast and we were typically marked on correctness and presence of documentation. Almost no time was spent reading code or talking about how to write good code, or to design good code. It seemed like the portions of our education that most closely related were talks about coupling, cohesion, UML and sequence diagrams.

Colleges are supplying a high level of technical knowledge for our field, and the candidates seem less confident that they know theory, but appear to be very well versed in it. In my experience, University students seem to be half way between good programmers and good researchers, without being either. Well, now I’ve wandered off topic. Code quality would be a great thing to try to teach, but for now, I want to reiterate that the web is complex, and we need to have more information about creating applications for it included in our education.