Archive for the ‘Miscellaneous’ Category

Midterms, Math, and My Major

Sunday, February 24th, 2008

So although I really don’t have time for it, I’m writing today in the interest of preventing this blog from becoming too stale. It’s amazingly sunny and warm outside this afternoon - 34 degrees. T-shirt weather, I think. Of course, as always, it will be short-lived; tomorrow and Tuesday we’re set to get five inches of snow. Wonderful.

It’s been two weeks now since my two-part “bandwidth saga,” and I’ve really been enjoying my new freedom. My seven-day usage total peaked around 30 GB and has now backed down to around 20 GB. It really is nice to not have to check the bandwidth meter every other minute to make sure I’m not in danger of getting dialupped.

The main reason for my silence recently is that I’m in the middle of midterm season, which looks like it will extend through the whole semester since the exams are so spread out that it takes nearly three weeks to get through them all. My classes this semester are definitely harder than they were last semester, though I guess that isn’t saying much since last semester’s were so easy. The hardest (and least interesting) by far is Math 240, a required course for CS that talks about logic and the math behind sets and trees and such. Though I understand that it could be beneficial to have a mathematical understanding of various CS concepts, I really can’t see myself applying that knowledge very often.

For example, last week we talked about algorithms and big-O notation, both of which I had plenty of experience with in my data structures class last semester. The professor went over some common searching and sorting algorithms, writing them in some crazy Pascalish pseudocode. (Pascal, seriously, in 2008?) Then, in talking about big-O notation, which is used to express the complexity of an algorithm, he proceeded to talk about the exact definition of big-O notation, and how you can prove that a polynomial is O(whatever), and so on. I guess this would be cool if I had any liking for math whatsoever, but mostly it just seemed confusing. Big-O notation is a simple concept. If you had the following code:

<?php

function loop($message, $times) {

    for($i = 0; $i < $times; $i++) {

        echo $message;

    }

}

?>

You would say that the function loop is O(N). N represents the problem size, which in simple cases is dependent on one variable but can sometimes be dependent on two or more. The function contains two major statements, the for loop and the echo statement, which prints the contents of a variable to the browser. The echo statement occurs in what is called “constant time”, or O(1), meaning that no matter what the value of $message is, the statement will take the same time to execute. The for loop, however, is not constant because the number of loops varies depending on what $times is set to. So the problem size N of the function is controlled by $times ($message doesn’t matter), and the function is O(N) because the for loop only contains constant-time statements. O(N * 1) is still O(N). If the for loop had contained another loop of some kind, also dependent on $times, the function would be O(N2). If the inner loop were dependent on something other than $times, the function would be O(N*M).

Going back to the Math 240 lecture, if you have a polynomial time function g = 2N2 + 8N + 1, representing it with big-O notation is easy. You drop all terms except the highest-degree one (2N2), and then drop that term’s coefficient. So the function g is O(N2). In Math 240 though, we take it further and prove exactly why that function is O(N2) using the definition of big-O notation. It’s rather abstract and confusing, and I really have no idea when I’ll need to know it in the real world. So far, this has been one of my problems with the CS program here in general. It feels very traditional, very by-the-book. You take classes like Math 240 because that’s just what CS majors do, not necessarily because there is much reason for it. It isn’t completely bad; it just feels like the curriculum is a little out of sync with what is really going on in the software world. You learn Java and C++, there is only one web programming course to take, software engineering concepts don’t seem to be taught much at all (or at least not officially). And yet people wonder why CS grads are often so woefully inadequate when they become software engineers….

The problem is that computer science is a massive and ever-expanding field. There really is no other field that is experiencing the kind of growth that CS has had for the past thirty years or so. And because of all this growth, it really doesn’t make much sense to have one giant umbrella CS major anymore. Instead, universities should have a separate school for computer science, where you could major in software engineering or computer graphics or assembly-language programming or whatever. At the very least, CS majors should be allowed to concentrate in one area. Trying to teach everyone everything just doesn’t make sense anymore.

Some would respond that the point of a college education isn’t to train you for a job - college is supposed to be more about abstract, foundational things that prepare you to be better in the long run. This may work for business or history, but in computer science even the basic things change pretty rapidly. In the past five years, we’ve seen a shift to multi-core processors able to run many instructions at once and superpowerful GPUs capable of doing far more than just generating 3D graphics. Programming either of these requires a very different manner of thinking that isn’t being taught today, and understanding them in an abstract, low-level way won’t be enough.

Hopefully I will be proven wrong and I will graduate with a great understanding of computers and software engineering, well prepared for the advancements to come. But, just as with the University of Wisconsin in general, I feel uncertain.

Ask and Ye Shall Receive?

Monday, February 11th, 2008

I got an email today from the Division of University Housing:

Dear University Housing Resident,

Recent upgrades to our ResNet infrastructure allow us to remove the quota that limited your bandwidth use, effective Monday, February 11, 2008. Students using ResNet are no longer subject to bandwidth caps, and any previous warnings or violations for exceeding bandwidth will be restored to normal speed.

We are pleased that this change will provide you even better service. This increased access will be helpful to you when using legal online video streaming services that have recently become available, such as NetFlix online delivery of paid movie rentals.

(…)

Best wishes,

Sathish Gopalrao
Director of Information Technology, Division of University Housing

Problem solved. Pretty strange that I should get that email only two days after writing about how annoying the bandwidth cap was. Woo!

On Bandwidth Cappery

Saturday, February 9th, 2008

At Wisconsin, students in university housing are connected to the Internet using a service called ResNet. Generally it is blazing fast: 18 Mbps down and 3 Mbps up. For comparison, decent residential DSL service is usually about 3 Mbps down and 768 Kbps up. This means that in a perfect world I could download an MP3 in about two seconds or a DVD in around an hour. (Of course, most websites are on 100 Mbps connections shared with a bunch of other sites, so real speeds are maybe half that.) That’s pretty awesome, though Internet users in Japan or South Korea would probably laugh at the idea that 18 Mbps is fast in the United States.

One thing that is not awesome, however, is that I am given all this glorious bandwidth with a few caveats. If I exceed 10 GB in any 7-day period, my bandwidth usage gets limited. Severely. It becomes dial-up. I have to turn images off so that pages load faster. Streaming audio and video is impossible. I can’t Skype with my boss in Arizona. I can’t realistically load more than one page at a time in my browser. It’s crippling, and it sucks. The limits come off after a few days of frustration and pain, and then I realize just how different the Internet is with a broadband connection.

Why have a bandwidth cap like this? I would guess that about 50% of ResNet users never come close to exceeding the cap. Things like Facebook, the iTunes Store, and the occasional YouTube video consume next to nothing. Another 25% might use more than 5 GB in a week every once in a while. You could call these people power users, knowledgable users, but not exactly hard-core users. Another 20% are in the category I’m in: they’re deeply interested in technology and the Internet, and always on the hunt for high-bandwidth content (and I don’t necessarily mean illegal stuff - even tech-unsavvy students have discovered the awesome HD episodes of LOST on ABC’s website). Along with using Skype, the iTunes Store, ABC.com, YouTube, and NFL SuperCast (last semester), I download Linux distros from time to time, new software or updates to installed apps, and large files related to my job. There is probably no day in which I use less than 500 MB of bandwidth. Multiply that by seven days, and I’m up to 3.5 GB of bandwidth per week no matter what. In a heavy-traffic week I might hit 15 GB.

But that is nothing compared to the final 5%’s bandwidth needs, the users who work with scientific data or produce video or download a lot of movies and music over BitTorrent. The majority of these people are probably abusing the network, and the bandwidth caps are in place because of them. At Case Western Reserve University, which my friend Garrett Singer attends, it was found in 2006 that 34 students were consuming 73% of the bandwidth allocated to all students living in residence halls on campus. That’s pretty insane, and it’s no wonder Wisconsin uses caps to thwart these kinds of users.

However, 10 GB is too low. According to the ResNet bandwidth usage policy, 10 GB is “a very large amount of data.” It was a very large amount of data. Two years ago 10 GB would’ve be fine. But online video has exploded over that period, as has VoIP calling (sometimes with video). Considering that the 18 Mbps connection speed is a tad excessive currently, it doesn’t seem like it would be such a big deal to lower the speed a bit and increase the cap to 20-25 GB. Then, people in the power user group would have more than enough bandwidth (you could sit on your computer for every waking hour and download 200 MB each hour continuously without breaking 25 GB).

As it is, the cap is annoying and inconvenient, but not impossible to work with. You can reset your usage total twice each semester (I used both resets and got throttled once last semester), and with time you get skilled at keeping yourself just under the cap. I cannot imagine what it would’ve been like last year though, when the cap was at 5 GB. I would’ve died.

Feesh.

Update: Two days after posting this I learned that the bandwidth quotas had been removed! Crazy.

Wisconsin is Cold

Wednesday, January 30th, 2008

Weather on January 29, 2008, at 9:30 PM.

Profound title, I know. It’s no secret that Wisconsin winters are harsh. But this winter has been a little strange. It snowed lightly on Thanksgiving Day. In December, we had about twice the snowfall we did last year. But instead of sitting around and accumulating as more storms passed through, the snow would melt off almost completely on warm days before being replaced by a new six-to-eight-inch blanket. I came back to find about four inches on the ground, and more snow last week added another couple of inches. This past weekend, the unthinkable happened - temperatures rose above 35 on Sunday and nearly reached 50 on Monday. It was warm enough to wear shorts! This morning, it was 43 outside before the sun was even fully up. Unfortunately, the temperature dropped from there. And dropped. And dropped some more. At around 2:30 I found myself caught in a hailstorm while trying to get home from class. After about a half-inch had covered the ground, the hail became snow. By 5:00 it was 23 degrees and the slush on the ground was beginning to freeze. As you can see, it is now 3 and will hit -12 overnight, a 55-degree difference in 24 hours.

Like 100 million other people, I’ll be watching Super Bowl XLII (in which the New England Patriots will destroy the New York Giants) on Sunday. As a proud semi-Arizonan, I can’t wait to see all the coverage of the Phoenix area and the beautiful desert surrounding it. I’ll just close my eyes and imagine the warm sun beating down upon me.

Sorry to bore you with a weather report, but I just needed to write something.

A New Beginning

Saturday, December 8th, 2007

Hi. If you’re reading this, you’re one of a very small number of people that still visits this site. Probably you once had my Atom feed in your reader and you wondered why it suddenly stopped working a few months ago. My web host, Joyent, upgraded its servers, and the change in configuration broke my site. It wasn’t really a big deal; this blog, the only remotely active part of the site, had lain dormant for months, and much of the information on other pages was out of date. So rather than spend a few hours updating things and fixing the code that was no longer working, I decided it was time to start over. While I took pride in the fact that my site was completely powered by a CMS of my own design called Langosta, the code wasn’t the best and I could never really find time to add all the features I wanted.

So now I have a fresh installation of WordPress, and it does everything Langosta did and more. When I began writing Langosta in the summer of 2005, WordPress felt unpolished and immature, but it has evolved quite a bit since then. Plus, it has a huge user community and a variety of user-contributed plugins and themes. And, though I’d never used it myself, I’ve installed and customized WordPress for others a few times now, so I was more familiar with it than some of the alternatives, such as Movable Type. Obviously, the default theme leaves something to be desired, so I’ll be sure to change it as soon as I am able. For now though, I’m just happy to have something that works.

With the new CMS will come some changes to the content of this blog. Historically, it has been very me-focused, with a smattering of entries about philosophy or programming or events on the web. For the most part, I will continue to adhere to this formula. I know that most bloggers pick a particular subject to focus on, but I enjoy the freedom of being able to write about basically anything that comes to mind. However, I’ll make an effort to reduce the amount of “me entries” from 95% of the content to a less annoying 50%. I still think those entries are a valuable way to self-reflect, but I understand that they probably aren’t very useful to anyone else. I’ll also try to keep entries shorter and more focused.

Eventually, there will be more to this site than the blog. I plan on adding a link blog of some kind, a portfolio of my web design work, and perhaps a photo gallery. I also have some ideas for a new design that I may discuss in a later post. If all goes well, everything should be done by the end of January.

I’ll leave you with a list of upcoming entries to whet your appetite:

  • An introduction, in which I describe myself (probably coming tonight or tomorrow)
  • A review of Mac OS X and thoughts on my experience as a new Mac user
  • A post about video games I play
  • A post about my college experience thus far
  • A discussion of the problems in the web development field
  • A summary of my latest philosophical musings
  • A very tearful postmortem for the Kansas City Chiefs’ 2007 season

Until next time….

On Printing Stuff

Sunday, January 21st, 2007

We have an HP Photosmart 2610 printer, one of those all-in-one thingies. It does really well at printing Word documents and photos, but it has a tendency to be temperamental when it comes to printing anything made in InDesign or Photoshop or other programs like that. Today I was printing 100 copies of a brochure that I made in InDesign for a class project, and it was going horrendously slowly. My “brochure” is a double-sided guide to “safe and secure computing,” and the printer was literally taking over a minute just to print one side of it, even when I was using “Fast Normal” mode, which on my printer is a step below Normal 600 DPI resolution but a step above saves-ink-looks-crappy FastDraft. I printed the first set of 50 copies for one location where I’m distributing it (a requirement of the project) in InDesign, and it probably took over two hours altogether. When I had finished that set, my mom suggested that I try exporting it to PDF and then printing it using Adobe Reader. I had never thought to do this before, though we export PDFs of the Cooney Crier to send to the printing company each issue. I exported my brochure using the same PDF settings, opened it in Adobe Reader, told it to print 50 copies of the first side, and voilà! Now it prints a side in about 20-25 seconds, which still isn’t nearly as fast as a Word document but is far better than before. So my new recommendation when something just won’t print correctly or won’t print at all is to simply export it as a PDF using whatever program you made the document in, or if you’re using Word, there’s a nice open-source program called PDFCreator that installs a special printer on your system that will output PDFs of documents instead of actually printing anything. You can use that to export PDFs from pretty much any program that allows you to print, even if the program doesn’t export PDFs on its own.

End random blurb.

A Design Editing Liveblog

Wednesday, January 10th, 2007

The newspaper thing is improving a bit. I emailed some suggestions to my supervisor and much has been done to better edit articles. That’s great, but now I’m loaded with homework, so the issue’s been delayed a bit since our timeliness is basically contingent upon whether or not I am able to work on the layout. I gotta work on building up the team a bit…especially since I’ll be gone next year. Anyway, I’m pseudo-liveblogging tonight while I work on the paper. It’s coming along fairly well; most of the pages at least have stuff on them, but there’s a lot of tidying up left to do.

I’m listening to a station I made on Pandora, which you really should try if you haven’t discovered it yet. The song it’s playing right now kinda sucks…where’s that skip button…. Yeah, anyway, I’m working on the Sports and Clubs section right now, mainly because it’s been kinda crappy all year because no one seems to want to write articles for it this time around (last year it was one of the better sections). It’s looking a bit better in this issue though; we’ve got two good articles on FCCLA, a new club at my school. I went with the ever-awesome wrap-around text effect around the FCCLA logo, so that page looks fairly good, though there aren’t many pictures. Maybe I’ll flip it to the other side of the fold so that the other page in the section (which should have more photos) will be the primary page…hmm….

A screenshot of the top half of a Sports and Clubs page

Okay, so now I’m on that other page…I think “Jerred’s Journal,” a soon-to-be monthly thingy about a student who’s training to be an Olympic skier will go at the bottom…in a nice box. Yes, boxes are always good. I think I’ll use a little journal image next to the main heading to set it off a bit more.

A screenshot of our special “Jerred’s Journal” section

That looks pretty good…I just finally figured out how to do rounded corners in InDesign - there’s an option under Object -> Corner Effects… that will do them. Maybe I’ll round off some other things too…hmm…. Next up, the top half of this page.

A screenshot of the top half of a Sports and Clubs page

That basically finishes this page off…just needs a picture for that big empty splotch in the middle of the chess article - that might be a problem, but we have timid freshman for these things…. I’m still not sure whether I like the rounded corners thing or not. It seems okay; it softens the somewhat harsh font choices…but it also kinda clashes with other, less curvy design elements. I guess this can be the “pilot issue” for that - er, feature. Onward!

Oh, one other thing…headlines. Few of our writers seem to be able to write good ones. I can’t blame them; after spending your academic career writing titles for papers and such in a certain way you wouldn’t be all that good at writing newspaper-style headlines unless you read the news often. But still…I tire quickly of writing them myself, mainly because sometimes the ones I come up with really aren’t very good, and secondly because writing a decent headline often requires me to read the whole article to get an idea of what it’s saying first. After a while I start to get exasperated and I begin playing around with them…one of last issue’s headlines was, “Sales from sugary snacks support sweet scholarships for some OHS seniors.” Yay for alliteration! Unfortunately, I don’t think anyone notices these things unless I point them out to them….

A screenshot of the top half of an Entertainment page

Yay, a chunk of a page in the Entertainment section. I’m thinking that due to a dearth of good entertainment articles I might have to divide this page between Entertainment and Sports and Clubs. Hmm…decisions, decisions. Yay for (almost) total editorial control!

Ugh, my music just turned crappy. Pandora hasn’t been trained very well on this station; I think I messed it up by thumbs-upping some songs that didn’t really fit that well. Back to iTunes, then.

A screenshot of the bottom half of an Entertainment page

Ugh again, someone submitted an article that just randomly started Microsoft-Works-ing all over the carpet. There’s WPS everywhere. All over the walls! Oh God…lead me to the magical Save dialog so that I can destroy this atrocity once and for all! *sighs contentedly* Much better…now it’s been happily converted to a Word document. Well, c’mon, at least it’s kind of an improvement. At least it’s not an oxymoron. Don’t bash Word, you know you use it too! Even you OpenOffice people - you know in your soul that it’s not as good! Don’t wave your Java-bloated semi-open-source office suitey goodness at me!

Well, it’s 12:30 and if I don’t shower and go to sleep now I’ll probably be dead in the morning, so I guess I’m finished for tonight. Above is the second half of that Entertainment / Sports and Clubs page. Not my favorite of all layouts, but it’ll work, I guess. Maybe tomorrow night I’ll blog some more about the other pages. Until then…peace out, homies. (Yeah, yeah, laugh it up. I know you’re just jealous because I’m so much more street than you are. I got skillz, baby.)

The Fellowship is Broken

Thursday, September 7th, 2006

I’m not really sure where to begin this one. It’s been about three weeks since the last time I blogged, and so much has happened since then that it’s hard to synthesize it all into something coherent. Last time I posted, I was in the middle of my seventh week at Stanford, and even though my spirits were somewhat dampened by the departure of one of our more beloved mentors, I (and everyone else, I think) still wanted to make sure that the summer ended on a good note. However, at the same time, finals loomed on the horizon, making everyone a little bit more intensely focused on their work than normal. It was all very weird…new mentors popped up to replace those who had left, and though they were cool, things weren’t the same. Meanwhile, the trips and activities were winding down, and there were new restrictions on where we went and when to make sure that we were spending most of our time preparing for finals. It wasn’t really the best way for us to end the short time we had together, but there were some good moments.

The weekend before finals week, my roommate, two other Eucaliptolites, and I all went on one of the last organized trips of the summer, a trip up to San Francisco to see a Titanic exhibition. It turned out to be a little more than just a trip…among other things, we did the following:

  1. Ate bagels in Palo Alto after missing our scheduled 9:30 AM CalTrain.
  2. Saw lots of cool Titanic artifacts, a scale replica of the grand staircase, a model iceberg created by condensing water vapor out of the air and freezing it, and lots of information about the passengers.
  3. Went downstairs to the PlayStation store (the exhibition was on the top floor of the Metreon, a downtown mall) and gawked at gory video games.
  4. Almost ate lunch as a group at Denny’s, but then (thankfully) veered across the street to a slightly less greasy and slightly more expensive diner-like establishment.
  5. Ordered ten-dollar hamburgers after being told by our lead mentor to keep our tabs under $10 (including drinks and such) because we felt the need to exact vengeance on her for her poor restaurant choice (especially in San Francisco).
  6. Broke off from the group and went to a BART station, where we put the lowest amount of money possible on our tickets and went to Oakland “for the heck of it.” (We’d been told we had an hour before we had to be back at the San Francisco CalTrain station.)
  7. Realized on the way back to San Francisco that we would have to run from the BART station to the CalTrain station (about two miles away) in order to make it.
  8. Were delayed in the station when our tickets didn’t work because we had tried to cheat the system (leaving from and coming back to the same station != a free ride - let me assert right now that this was not my idea).
  9. Had to chuckle silently while the mastermind of our foiled plan, Tim, tried (and failed miserably) to lie to the lady in the ticket window.
  10. Escaped the BART station with no time left, walked a mile down Market St. before realizing that we were going to miss our CalTrain.
  11. Called the mentor and told her we’d take the BART to Milbrae, where we could get on CalTrain and meet up with our group.
  12. Walked 1.5 miles back up Market, passing the first BART station we saw because we didn’t want to encounter the ticket window lady again.
  13. Took BART back the other direction (southwest) and then further southward, realizing about halfway to Milbrae that we weren’t going to catch the CalTrain there, either.
  14. Got off BART at San Francisco International Airport, for no reason whatsoever.
  15. Got back on BART and took it to Milbrae, the next station.
  16. Waited there for the next CalTrain.
  17. Got on that train and fell asleep, nearly resulting in an unscheduled “trip” to San Jose. (Luckily, we were awoken five minutes before our stop by the sound of people clapping; the engineer had announced over the PA system that there was someone on board who was celebrating a year of being cancer-free.)
  18. Got off the train in Palo Alto and went to California Pizza Kitchen, where fellow Eucs and Cole awaited us for dinner. (Getting home three hours later than we were scheduled to worked out for us after all.)

And that was our big “adventure,” as Tim calls it. Later that night, he and Kyle (my roommate) wanted me to come with them to Walnut Creek, again on the BART, to see Kyle’s girlfriend, who was staying there for a few days at a church retreat. I declined, having ridden enough public transportation for one day. Dinner was great, with everyone in our little group of Eucalipto happiness in attendance. I got back to the dorm fairly late, just when other people were leaving their rooms all dressed up for a semi-formal being held in the dining hall. I found Garrett in his room and Linuxed happily for a while, and then two other Eucs, Bill and Khanh-anh (I know I misspelled it…sorry…) walked in with a copy of “The Shawshank Redemption” and asked if we wanted to go watch it somewhere.

Our lounge TV was occupied by a group of kids having an anti-semi-formal, so we decided to try to find a classroom somewhere that was still open where we could watch it on a bigger screen. After spending a few minutes throwing citruses (citri?) at each other outside the bookstore, we found one. I won’t say exactly where, or the exact circumstances by which we got in (it was 11:30 PM), only that the door was open and the lights were on…can you tell I’m not sure we should have been there? Anyway, we had to leave early to avoid breaking curfew, but it was great to watch the movie on such a huge screen after having to squint at people’s tiny laptop screens when watching previous movies.

After finishing the movie back at the dorm, it was about 2:00 AM - time for a mattress party. It was our last real Saturday before the end of the session, so it got pretty wild. At one point, Garrett was in a tree outside the window (after almost breaking our screen in order to get out the window and into the tree) waving at some girls in the room above us. Later on, I was holding on to Garrett’s feet so that Tim could suck his toes. Er…yeah…sometimes things happen at mattress parties that really can’t be explained later on. Anyone who saw the YouTube videos of the first one know exactly what I mean. (Tim was the raving drunk in those clips, by the way.)

Eventually our party was cut short by the girls upstairs, who came down to bitch at us at about three. I can understand being mad about our loudness on just about any other day, but it was the last Saturday night (well, Sunday morning, actually) of the session. Being the cuddly giant intellectual teddy bear made of awesome that I am (not a title I gave myself, I promise), I didn’t bitch back at them…I think maybe I should have.

The rest of the week wasn’t that interesting. I became increasingly worried about finals with each passing day, even though I had already calculated that I could get as low as a 75% on my CS final and still have an A in the class, and my roommate and I had been given an extra 5% boost on our final exam grades in word roots for placing second in a class tournament. There was a lot of other end-of-summer stuff to worry about as well, like picking up the random dishes and trash littering the floors of our rooms (some of the stuff in my room had been there for at least three weeks). The dining hall staff also threw us an end-of-summer banquet, where we ate good food and watched the current mentors be recognized for their great work in making our summer fun.

On the last Thursday of the summer, Kyle and I awoke at 10:15. On any other day, this would be no big deal, but today we had word roots at 10:00. Not only that, but we had missed class twice before and been warned that missing another one would result in some kind of consequences. To make things worse, our take-home final exam was going to be handed out that day. Opening my eyes and seeing the time on the clock on the floor in front of me gave me the worst feeling of dread I’d had in a long time. My stomach churned. My heart pounded. Inside, I was berating myself for not waking up when the alarm had gone off. Kyle looked equally unhappy. So we got up and walked as quickly as we could toward the classroom in our sleeping clothes (conveniently, the class was in a building all the way across campus), knowing that we’d be at least half an hour late. But someone smiled upon us that day, because we met some of our classmates returning early to the dorm, and they told us that there had been no real class; the instructor had just handed out the exams and let everyone go, sending exams for Kyle and myself along with someone who lived down our hall. I breathed a sigh of relief, but the bad feeling in the pit of my stomach lingered for the rest of the day, punishment for missing class that intolerable third time.

Resolving to do well on the final so as to not feel as guilty, I studied hard for word roots on Thursday and Friday and took the exam on Friday night. It was hard…painfully hard. There were lots of roots that we hadn’t studied in detail in class, and I found myself guessing often, even after spending the last 30 hours doing almost nothing but studying the lists of words and roots in the textbook. I decided as I emailed the instructor my answers that even with my 5% extra credit, I was depending heavily on a favorable curve for a good grade in the class. But at that point I had no time to worry about word roots - the CS final, a grueling three-hour written exam, awaited me at noon on Saturday. I wasn’t looking forward to it, even though I knew that there was absolutely no way I would bomb it with the amount of programming experience I have.

I got up early on Saturday and went over some random programming stuff like memory mapping and the String API, and when noon came and doomsday bells rang across the countryside I walked to the examination classroom with Garrett and Richie, a ‘Nadan (from Grenada, Eucalipto’s sister house). I kept telling myself that I shouldn’t worry, yet I did anyway. I’m just a dumbass that way. Once we had been let into the classroom, I sat down and waited a painful few minutes while the exams were passed out. Finally, we had our exams and were allowed to begin. I stared at the paper for a few moments, clearing my mind, and then I flipped to the first problem. It was time-consuming, but simple. So was the next. And the one after that. I skipped the few that I felt would take some real thinking, and plowed on through to the end of the exam, where a “problem” on the last page asked us to write what we thought our instructors’ high school yearbook “most likely to…”s were for one extra credit point. Then I went back and did the few difficult problems, tidied up some of my messier work, checked things over one last time, and turned my exam in a good 45 minutes early. I was amazed…after all the anxiousness leading up to the test, I had just utterly destroyed it. It was a good feeling.

Note: At this point I’m continuing this entry (begun on August 29th) a week later. Sorry for any inconsistencies that might arise from that.

Were I in high school, the completion of the last of my exams would have left me euphoric and ready for the semester to be over. At Stanford, the feeling was completely opposite. I had a strong and strange desire not to see or talk to anyone for a while, so I walked around campus doing some last-minute errands and taking pictures on a disposable camera. After about two hours, though, I just couldn’t handle being away from everyone anymore, so I went back to the dorm and got ready for a “small” dinner gathering planned by Tim for those of us Eucs who hadn’t left yet. About thirty of us walked slowly from Lagunita across campus to the P.F. Chang’s at Stanford Shopping Center, fearing that we might have some problems with getting everyone in and seated at the same time because the initial reservation had been made for only fifteen. Luckily, we had a great waiter who was happy to put most of us together at one huge table and another smaller group of us at another table nearby. The food was good and we had a lot of fun, especially once our beloved Cole had arrived. Still, the next morning loomed over us as we ate, and I couldn’t help but think of it as a kind of “Last Supper.” Several of the girls were fighting hard to keep from breaking down in tears.

After we had eaten, two Euc boys, Joon (from Jakarta) and Thomas (from Hong Kong; the fourth kid in our group at the Titanic exhibition) had to leave in order to catch their plane flight. They got a hug and a handshake from everyone, right in the middle of the restaurant with the waiters looking worriedly at the clot we had formed near the hostess’ desk. We could tell they didn’t like it, but no one cared at that point. Once Joon and Thomas had left, we gathered together some money and paid our bill, and then we broke off into smaller groups of 10-15 and started the long walk home. After a long and eventful journey, the fellowship was finally broken. And thus began a long and torturous night of tragic disappearances.</lotr>

Nothing really occurred that final night that is worth mentioning here. Some mattresses were pulled out into the hall, and people spent their last hours talking and goofing around in a subdued sort of way. I signed about three dozen yearbooks, or at least it felt that way, and got plenty of messages from other people about what a great “giant intellectual teddy bear made of awesome” I was (that was my nickname). Being the weird kid that I am, I wrote love poems to most of the guys on my floor, most of which I can’t repeat because they got pretty inappropriate. I found at Stanford that some people really appreciate my ability to write humorously (I know, it never manifests itself on this blog, sorry…). I once had to write a letter to my roommate for one of his classes at 1:30 in the morning - I was just tired enough to be almost insane but not so tired that I’d lost my ability to write, and it turned out to be really funny, according to the few who read it. I don’t know why that matters or why I’m writing about it; maybe I’ll post the letter here someday or maybe I’ll try harder to make my entries funny (gasp!) rather than just sad or serious most of the time. I dunno.

I think I went to bed around three in the morning that night, knowing that I’d need to be semi-functional the next day in order to get my room cleaned up before my aunt and uncle arrived to pick me up at 11:00. When I awoke, I found that about two-thirds of the kids on my floor were gone, and everyone else was either packing or crying in each other’s arms. It wasn’t really a great way to end the summer, but with people leaving every fifteen minutes or so that morning, no one really knew what to do other than feel sad. I finally escaped the overwhelming tearfulness (though I didn’t cry) around 11:30, and I remember vividly the feeling of walking out the main Lagunita entrance for the last time, wondering if I’d ever see the venerable old dorm again. I was followed by three Eucs, Ahmad, Lainey, and Lily. I could see the tears in Lainey and Lily’s eyes as they hugged their “teddy bear” for one last time, and when I broke free and shook Ahmad’s hand I could see that his eyes were red and bleary too. If my aunt and uncle hadn’t been waiting for me in the parking lot, I would have just broken down then and there and let the days of pent up stress and sadness roll forth in a flood of tears, but somehow I kept my composure.

Once I was in the car and speeding away from Lag toward Palo Alto, I had to keep fighting hard to hold the tears back as my aunt and uncle asked me about the experience and all that I had done while at Stanford - remembering it all so soon just made things worse. The day wasn’t completely bad, though; we went to a good Mexican restaurant in downtown Palo Alto and then back up to my aunt and uncle’s apartment in San Francisco to lay around and watch a movie. It was a strange time…after so many weeks of doing all kinds of things almost non-stop, now I just wanted to sit there on their couch and never move again. I didn’t want to think anymore.

Night finally came, and I lay awake for a long time on a waterbed in the guest room, unable to find a good position because of the way I sank down in the middle of it. Eventually, I couldn’t take the blankness in my mind anymore, and the memories of Stanford came rushing back in. I thought of everything, from the first day of apprehension and nervousness to that last supper at P.F. Chang’s, and I finally did let the tears fall. But after only about fifteen minutes, my reserve of emotion was tapped out, and the pessimism and depression retreated. I began to think of the whole experience in a happier light as I knew I should have all along (it was too difficult to think optimistically when back when everyone else was saying their tearful goodbyes), and in the morning, I felt rejuvenated and strangely ready to leave. Though I hadn’t looked forward to it, I knew this day would come.

My uncle dropped me off with my two suitcases at a BART station (those two large bags made riding the escalators really interesting) and I rode the train southward to the airport. Once there, I hopped on the tram to my terminal, went through the security checkpoint without any problems (amazingly), and, after about an hour of waiting around, got on the plane to fly back to Milwaukee. It was a fairly long flight, but my DS Lite proved useful, distracting me from the summer reading I knew I still needed to get done. I didn’t feel the same way I did last year when I went back to Arizona…I was attached to Stanford, but in a different way. I loved my Friends and my other friends, but what I missed most was just the feeling of being there. It was so different from Wisconsin, different from Arizona, even - different from anywhere I’d ever been. People there always seemed laid back, happy, smart, nice…they were simply fun to be around. And people cared. They cared about their future, about their schoolwork, about one another. There was none of the closed-minded dumbness that one sees often in Wisconsin, or the too-rich-for-their-own-good selfish arrogance that I noticed too often in kids from Arizona. Sure, there were a few bad apples in the Stanford crowd (the students who got sent home, none of which were from Euc), but not as many as in other places. Even though the whole experience had an almost unreal feel to it, probably because it was so carefully constructed and managed and planned out (unlike real life), an aura of fakeness that every once in a while would become obvious and remind me that the whole thing was more of a simulation than a real, uncontrolled taste of college life, I felt as if over the two months that I was there I had, for once, become a real person. My year-ago-self would never have believed that such a thing could happen in only eight weeks.

So whether or not I ever get to go to Stanford “for real,” at least I’ll still be able to remember that glorious summer before my senior year of high school, the best one of my short life, and know that I learned far more important things in those eight weeks than I ever will at my real college, even if that college is Stanford. I learned (or perhaps re-learned) how to be human: I began as a robot, a drone, and I left as a teddy bear…a giant, intellectual teddy bear, made of awesome.

Yay for College Life

Tuesday, July 25th, 2006

I’m pretty sure I’ve already talked before about how I’m not exactly excited about having to eventually leave Stanford, so in my usual fashion, I’ll write about it some more. I was in the lounge a few weeks ago talking with some people, and at one point or another the subject of going home came up. We all agreed that high school was going to suck after having had a taste of freedom this summer. Things like having to get a pass to walk between classes or being told we can’t wear coats when the heaters are turned off in the middle of winter because of a “safety risk” are going to feel incredibly stupid and unnecessary (not that they aren’t that way already…but it’ll feel worse, I guess). I’ve always kind of felt that high school was far too restricted because safety policies are geared toward keeping the most immature kids in check with barely any regard to the more mature ones, but until now I’ve never had a chance to experience what life might be like in the semi-real world. I’m kind of amazed that only a month ago I was actually afraid of coming here…now it seems that that fear was just a side-effect of being over-protected by a combination of an overbearing school administration (not just at OHS, but at every school I’ve been to) and my own instincts.

What amazes me most about college life, at Stanford at least, is that people seem generally okay with being intelligent. In high school, popularity often seems to be tied directly to just how stupid one can act. Not so, here. Here, people group together in the lounge to study. They read books for fun. They have discussions about politics, business, current events, and so on. Music is rampant, yet mindless rap or pop songs are somewhat rare. People randomly play guitars, pianos, trumpets, and all sorts of instruments that I’ve never heard of at all hours of the day. It’s kind of difficult to describe the feeling of being here in one word, but terms like “eclectic” and “bohemian” come to mind. It makes me wonder if this is an aura that’s unique to Stanford or if all colleges feel this way.

It amazes me how quickly things can change here. When I wrote my last entry, I had made a lot of acquaintances but few real friends. People knew my name, but not me. It wasn’t really a bad thing; it was just earlier on in the summer and most people weren’t yet comfortable about being completely open and normal with each other. I wasn’t exactly helping my situation. After days of working on my Java version of Breakout for computer science, I lost several hours of work due to Eclipse’s lack of any undo function when deleting files, and somehow the act of redoing that work ballooned into two more days of grueling coding sessions in which I barely left the cluster. I wasn’t happy about having to do it, yet at the same time I told myself that if I truly wanted to be a programmer, I’d have to be passionate enough about it to want to code for hours on end, and somehow that kept me going. I knew in the back of my mind that I was relying on circular reasoning - not a very strong foundation - but I didn’t care all that much.

I finally turned my code in two days late (we get three extra days for situations like the one I was in), and then there was more homework to do for my other class, Greek and Latin word roots. It sucked. I got finished at around three in the morning, which ended up being slightly convenient because my mom responded almost immediately when I emailed her about some new headphones I wanted to buy. I happily collected her credit card information (over the phone) so I could order them off Amazon.com, thinking about what wonderful service I enjoyed from my parental units. I mean, a response from a qualified technician not based in India in under five minutes? Incredible! (I kid, I kid.) While on the phone, I reassured her that 3 AM was a fine time to go to bed and that I would never dream of “accidentally” sleeping through my alarm the next morning in order to get a few more hours of much-needed rest. Yet, seven hours later, that’s exactly what I did, except it really was an accident. It was one of those things where you bat dazedly at the alarm immediately after you wake up and somehow manage to turn it off completely, thinking that you’d get up after just a few more minutes, that there’s no way you’d fall back asleep again, and continuing to think these things until your eyelids finally droop closed and your breathing becomes regular and you awaken once more two hours later with your roommate snoring away above you. It was the first time I’d ever skipped class. Ever. Initially, I felt bad. I told a few people, wondering what the reaction would be. Would they recoil in horror at the lack of respect for my instructor and his class that I displayed by skipping it? Nope. Instead, they told me about X class that they had skipped and how it was “hella cool” that no one cared about whether they came or not. I love college.

Last Thursday was the day I missed class, so the only thing I had left that day was CS. It was some kind of highly boring lecture about string functions, covering material that I had mostly figured out on my own days before. The kid sitting next to me, a fellow gamer/geek named John who has recently achieved Friend status (50 relationship points, like in The Sims…hwada sofada!), fell asleep, and another recent Friend, Chris, (we noodle together), laughed with me at John’s expense until he woke up. The rest of the day was pretty boring…I don’t really remember now, but I think I slept some more, still trying to make up for lost sleep over the past week. Oh yeah, Thursday night was the night of the dreaded compsci midterm, which seemed like it would be incredibly difficult after taking the practice midterm but actually turned out (for me) to not be so bad. However, everyone else said it was horrible and they didn’t have nearly enough time, so now I’m thinking that I somehow zoned out and didn’t realize that I was failing as I took it. I’ll know by tomorrow whether or not I am worthy of continued existence.

Friday was a good day, but it was also hot. Like, way hotter than it should ever be in the Bay Area. I think the temperature broke 100 degrees every day over the weekend, and possibly on Monday too. There were blackouts in some areas because of overtaxed electrical systems (luckily, Stanford has its own power plant). I began to regret the fact that I hadn’t brought a fan since the dorm isn’t air-conditioned. Generally speaking, it wasn’t a pleasant experience. But it was made better by a neat little idea that my roommate and I had: the mattress party.

Mattress parties are very simple; anyone with a lot of mattresses can have one. Basically, we moved all of our furniture out of one of our rooms (remember, I was supposed to have a third roommate who never showed, so we have a two-room suite-thing) and into the other, and we pulled our three mattresses off the beds and put them on the floor in the cleared room. They only took up about two-thirds of the space, so we invited a few more people to donate their mattresses to our goal of covering the room with mattresses from wall to wall. It worked, and the three extra mattresses fit perfectly. Then, random people who had watched mattresses pass through the halls for about ten minutes came in and flopped down with their pillows, and it became a sleepover. A co-ed sleepover. *cue dramatic music*

We didn’t do anything too bad, though. At one point or another, a game of truth or dare was started, and poor Chris had to endure a rather embarrassing question from another Friend, Tim, who had gotten Chris to tell me and a few other people the answer in private a few days before. I laughed at him anyway, especially when he gave Tim that “I’m going to pull you apart with my bare hands” look that people get when they’re put in that sort of situation and they know exactly who has put them there.

The truth-or-daring got pretty loud at about three in the morning, so loud, supposedly, that a mentor opened the door and started yelling at us that he could hear us from out in the courtyard (a few hundred feet away through several walls). What made his tirade hilarious to all present was the fact that another mentor, Cole, the coolest of them all, was sitting the whole time in a corner of the room where the other mentor couldn’t see him. I could see Cole easily, and we looked at each other and the look on his face was enough to almost put me over the edge (pretend that wasn’t a run-on sentence, I’m in the middle of a story here). When the mentor was done and had shut the door, everyone immediately burst into fits of laughter. Unfortunately, we let go a little bit too early, and the door opened again seconds later with the furious mentor telling us that the party was over; everyone had to leave. That time, however, Cole showed himself and smoothed things over, so the party was allowed to last a little while longer before everyone fell asleep.

The next was another long, lazy, hot day, and most of us just kind of laid around, trying to stay cool. The computer cluster, usually deserted and considered a place where only the computerless people would go, became a cool place to be in more ways than one (ha ha, bad pun). It’s the only air-conditioned room in the Eucalipto part of the dorm complex, so at one point there was probably close to thirty people in there. It was kind of inconvenient for people like me who actually depend upon the cluster in order to work, and I was extremely annoyed when people with laptops started taking the network cables from the university desktops and using them for their own Internet connections, but it was also kind of nice to have people in there for once. At the same time, though, there’s such a thing as being in there too long…one kid slept there in a mess of food trash on the floor, and a few others have been in there for days, as far as I know, leaving only to sleep a few hours in their own rooms. I kept having to find reasons to abandon my homework in order to get away from them - I think I took a few more trips to the Jamba Juice at the student union than were necessary.

Saturday night was a Mix-n-Match dance party hosted by my house, and I went with a half-assed costume made out of my bed quilt. I ended up only staying there for about half an hour; I got sidetracked by another Friend, Garrett, who I was with in Monterey. Garrett happens to be interested in Linux and programming like I am, and he had the idea that we should try to create our own programmer’s Linux distro. I suggested that we base it off Gentoo, and at the moment that’s about as far as our plans have gotten. I started the bootstrapping process on his Core Duo laptop (which should make compiling extremely fast, I hope) that night, and we’re going to work on it again this weekend. We want it to be fast, light, small and runnable off of a USB drive on any computer, similar to SLAX or Knoppix. I dunno if the project will come to anything, but the fact that there’s another person who even knows what Linux is living right down the hall from me is awesome. Like I said, I love college.

Once the party had ended, at about one in the morning, Kyle (my roommate) and I decided to have a Mattress Party Redux, but with less people so it wouldn’t be quite as hot in our room. We all flopped down on the mattresses and were unsure of what we were going to do when who else but Tim staggers into the room, pretending (we hope) to be drunk. I thought he would do some quick drunken antics to be funny and then we’d resume whatever we were originally going to do at our little party, but instead he kept us rolling on the floor with laughter for a good two hours. Some videos of it ended up on YouTube…I’d recommend that you watch them, but not when anyone with sensitive ears is listening. If you don’t think it’s funny…well, maybe you just had to be there. I dunno how he kept it up for two full hours…it was a truly amazing comedic feat.

The next day, Sunday, was perhaps the hottest day of the weekend, and I ended up journeying to Jamba Juice to get about a gallon of pure smoothie goodness for my roommate and his girlfriend. They had already begun to melt during the ten minute walk from the student union to the dorm, but they were still somewhat cold…and so…good…peenya colada es mi amor. The reason I was at the student union in the first place was to receive my second round of homework grades for CS, and I found I’d done well on the second (very simple) assignment: check-pluses in both categories again. I’ve recently learned that a check-plus is closer to an A than an A-, which makes me happier, though I still want to get one of those elusive plus grades sometime this summer. Breakout might get it for functionality…I added everything I could think of, from a scoring system based on events to a powerup system to a brick counter to improved ball physics. The code wasn’t as clean as usual, though, and I employed some less-than-acceptable techniques in order to use global variables, but maybe I’ll get by with at least a plus/check-plus anyway. My section leader (who grades my homework assignments) works at Google, therefore he must be a good guy. As it turns out, it was a good idea to go to section on those nights when I doubted its usefulness.

The rest of Sunday was sort of subdued because people were thinking about and preparing for the week ahead, which for some hasn’t been a nice one. Midterms are falling all over the place for many of us, though some of the tests have been worse than others. Benne and Josh, two nearly-identical brothers from Chicago known as “the twins,” probably had the worst lot of all; their statistics test had questions on it that were so difficult and so cutting-edge that the answers could only be found in graduate-level term papers published within the last two or three years. Somehow, though, they got the second- and sixth- highest grades in their class (in which they are the only high school students) which to me is unbelievable. I wish my work/study ethic was as good as theirs…though it’s not as bad as it was last year now that I’m studying subjects that I’m truly interested in.

That basically brings us to Monday and today, which were basically just regular school days devoid of anything particularly interesting. I did manage to noodle with Chris twice in that period - I learned how to use chopsticks to eat my Ramen instead of slurping it up with a spoon and getting it everywhere. Meanwhile, I’ve begun reading a book by Stephen King called The Gunslinger, part of a sci-fi/fantasy series that was recommended to me by John. So far I’d recommend it, but it’s kind of on the weird side.

The rest of this week won’t be too exciting, but this weekend two or three more mattress parties are planned. I have no idea what we’ll do, but maybe we can get Tim drunk for real just to see if he really acts the way he did this past weekend when he’s wasted. (Or not, because none of us would ever dream of breaking the behavior code…probably.) There’s also a trip planned to go sailing on the bay that I’m signed up for. Also, I’m continuing my work on planning and writing low-level code for Gabo (the newspaper organization project), work that could pay off literally because of a new project I’ve been given from my Arizona-based web development employer which will probably use the same libraries I’m working on for Gabo. Gabo and the new project will both be a lot of work, but as both could be equally lucrative (one in terms of connections / reputation / recogition and the other in terms of monetary compensation), I’m hoping I can reuse as much code as possible and get both done sometime early this fall. I’m bursting to write about all the cool APIs I’ve been working on integrating into Sangre, but I’m sure you’ll hear all about it eventually. Anyway, it’s midnight and I still need to do some word roots unhappiness. I still love college, and Friends are nice too. I miss Wisconsin…and yet at the same time I never want to go back.

Behold, the Uber-Project

Saturday, July 8th, 2006

I really like working on Langosta. It’s a project that suits me perfectly - something to work on on the side when I’ve got time, a relatively small project that isn’t impossibly complex and difficult to add new features to. However, Langosta has one fatal flaw: the only person it really benefits is me. In the past, it has always been the projects that I’ve done for others (such as my old high school’s website), usually for free, that have resulted in major payoffs for me in the end in the form of rewards like academic credit and a job. I’ve been attempting to find a new project like this for a while now, but a number of things, ranging from a lack of time to preoccupation with Langosta to my inability to work on any major projects for my school, kept me from succeeding in doing so. Now, the opportunity has finally come.

For me, my work on the school newspaper at OHS has become an almost exact replacement for the work I used to do on the CSHS website. However, it’s highly cyclical, and I don’t think I spend anywhere near as much time designing the newspaper as I used to spend maintaining and improving that website. Also, while the newspaper teacher has let me know repeatedly that my work is appreciated (and has bribed me with caffeine, of course), the average reader has no idea that I even exist and probably could care less about things that I nitpick about, like making sure that a line is positioned “just so” and that lines of text line up evenly across the page. So, in an effort to redouble my…um, efforts, I’m going to develop a new piece of web application software over the next year that will hopefully streamline the newspaper publishing process considerably.

The Problem

Currently, submitted articles follow a sorta-kinda-well-defined path to being published in the newspaper. It works like this:

  1. Students write their articles on computers at home or at school, using Microsoft Word.
  2. Students copy the Word document to a special folder on the school network’s common drive and fill out a form called a “tracking sheet” with information about the article such as: author(s) name(s), section, pullquotes (if any), and headline / subheadline.
  3. The article is edited up to three times by different editors, with the number of editing rounds depending on the article’s writing quality.
  4. The article is approved by the managing editor (the newspaper teacher) and the tracking sheet is put in a basket according to the article’s proposed section.
  5. A team of editors meets and runs through every article, assigning it “first wave”, “second wave”, or “third wave” priority.
  6. The design editors (me and usually one other person) divide up our pages by section and begin placing articles in their corresponding sections, using largely our own judgment and to some extent the priority guidelines given to us by the editors to determine which articles get the most important spots (front page, back page, above the fold in any section, etc.).
  7. As each article is placed, design editors are responsible for fixing last-minute editing errors and solving any issues such as finding photos for articles and giving them captions.

As you may or may not have noticed, there are some major issues with this method:

  • Huge amounts of paper are wasted because each article is printed multiple times while it is being edited and all 60-odd articles submitted for each issue have their own tracking sheet.
  • A lot of work falls to the design editors in the final days before publishing, usually because of writers’ laziness (it’s not that difficult to request that a photographer take a picture for your article or to fix simple spelling or grammar mistakes) and because the editors’ prioritization system remains somewhat vague. First-wave articles can vary widely.
  • Tracking sheets are easily lost and difficult to deal with / search through. I don’t like spending precious minutes on a deadline day rifling through tracking sheets looking for an article that will fit in a certain spot.

The Solution

The bigger issue that causes all of the above problems is the “hole” in the article’s path to being published where the process switches from digital to analog/paper and then back. It would be vastly easier if we could simply making the entire process automated and digital. Enter, Gabo, the latest project in the Brettia family, named with yet another Spanish word. This time, it’s a nickname for famous journalist and writer Jorge Luis Borges. Here’s what Gabo will do:

  • For Writers:
    • Article submission is now done via the Internet (both more convenient and easier to manage dynamically).
    • Articles can be flagged for extra editing by specific editors, if necessary.
    • Articles have requests for photos attached to them.
    • Articles can be revised on the website, with no printing necessary.
    • Article metadata (proposed section, headline, subheadline, pullquotes, etc.) can be added and changed at will.
    • Articles can have notes or comments attached to them that are directed to users of certain roles (such as layout suggestions for design editors, editing questions for editors, journalism questions for the managing editor, etc.).
  • For Editors:
    • A listing of all articles awaiting editing will always be available.
    • Articles can be tagged with priority levels or rated to establish which ones are the best.
    • Articles can be sent back to their writers with comments for further editing.
    • For the Managing Editor:
      • A list of all articles awaiting final approval would be available.
      • (Can do anything that a normal editor can do, basically, as well as give final article approval.)
    • For Photographers:
      • A list of all articles awaiting photos would be available.
      • Photographers would be able to attach photos (with captions) to articles.
      • For Design Editors:
        • Articles are now searchable, categorized by section, rated, and have photos by the time they reach the design editors’ listing.
        • And the hidden link that makes it all work: InDesign can import articles as XML; to place an article, design editors would simply download the XML file (generated dynamically) and then place the article like they always have (except with no more dirty work).

        So yeah, that’s my new proyecto grande. But even more is possible. Think for a second: how could a huge online database of every article ever submitted, along with all the necessary metadata for publishing them, ever be useful for anything but what I’ve described already? I’ll give you a little longer before I tell you…. Okay, long enough: the database could be used to build an entire website for the newspaper, dynamically. With basically no more work than what is done to produce a print edition, an online edition of the Cooney Crier could by published simultaneously. This opens up all sorts of new avenues of growth, such as online advertising and school event promotions. Also, writers whose articles miss the metaphorical boat for the print edition could still be available online (assuming they have final editorial approval), giving them a bit more incentive to write, even if their articles aren’t the best.

        When I thought all this up, it was a random Saturday in May, and I was so excited by the idea that I could barely contain myself. Now that the idea has had some time to percolate in my mind, the excitement still hasn’t gone away, and I’m already planning for Gabo 1.0 (just the backend stuff, not the public website) to be finished by September 22nd. So I ask you, dear reader, what do you think? It it unique, incredible, worth pursuing? Or have I just been carried away by excitement at a concept that really isn’t that wonderful?

        As far as difficulty goes, this project definitely is the hardest one I’ve ever attempted, at least on paper. However, I have advantages now that I didn’t have a year ago, such as Sangre, my collection of core libraries that will hit 1.0 on the same day as Gabo and then become its own project separate from Gabo and Langosta. At the same time, though, Sangre isn’t perfect. I’m working currently on several improvements, such as object-relational mapping, a way of representing data in a database and relationships between bits of data as objects in code (Ruby on Rails does this), full modularization of all code into actions and views, and a better authentication layer with support for user roles and permissions (these roles would be used to control what a logged in user can and cannot do depending on their job, such as writer or photographer) integrated into views and actions, database-stored sessions, and support for multiple authentication backends, such as LDAP, PEAR::Auth, the phpBB authentication system, or pretty much anything else. It’s a lot to do, but I have a whole year to get it right. Also, this project will be a much higher priority for me than Langosta ever was because bugs will impact more people than just me and the ten people who visit my site each day.

        Anyway, don’t forget to comment if you have any opinion on this, otherwise, see you next entry (which I’ll be writing soon, I promise!).