Archive for the 'School' Category


The title of this post, AbiWordBigChecklist, also happens to be the title of a Tomboy note which has been permanently opened on my desktop. It’s essentially a todo of all the bugs and features I know about in my GSOC project, and I’ve been whittling it down steadilyish over the summer. As of right now, I’m leaving for school on the 10th, so I need to complete as much of it as possible before then; that’s about 1.5 weeks.¬† >_<

Bold items are urgent, italic items don’t affect usability as much and are considered less so.

  • Pretty blue selection not shown after first row/Backspace does not erase letters after the first row
  • Cursor messed up on up & down arrow keys
    • ::getPageYOffset ::_findPositionCoord ?
    • The cursor is almost literally just moving up and down without regard for horizontal pages.
  • Scrollbar fix for fit to page width zoom. Unneeded if auto-tile is the only mode usable, ala Microsoft Word.
  • Normal page view needs a little work; page separator line not getting erased properly
  • RTL
    • Earlier pages in same row not redrawn properly. (Though they work fine when opening an existing doc or when forcibly refreshed by moving another window over AbiWord when not using Compiz.) Related to redraw issues above?
      • I’m handling RTL right now by just having pages start at the left and then moved a space to the right when the end is reached and a new page is started. This allows minimal code changes from LTR mode, but I don’t think AbiWord redraws older pages to start with. Also, this happens on the first row, meaning it’s probably not related to the above urgent. Crap. I need to write stream-of-consciousness more often.
      • I initially tried drawing the page at the right side of the screen, but it was kinda flickery and felt sluggish and hackish when the window was resized. I’m running out of time to make this, I may have to revert back to this and submit some patches after summer of code ends.
    • Make RTL use document preference (easy fix?)
    • Bottom of page shadow cut off when col > 0
  • Top ruler (figure out how left ruler is moving and mimic that. once this is located, easy fix?)
  • GUI for using this feature (I have several ideas for how to implant it, the simplest just being a View menu entry for “Multiple page view.” Still working out how menus work.)

So, yeah. I’ma be spazzing out over this until I leave. Packing for school is pretty straightforward, anyway. ūüôā


Save coinage on your semesterly educational bibliotheca

There are many ways to achieve the goal stated in the title of this post. Crime is one option. Several student bodies hold that organizations such as campus bookstores engage in it on a frequent, if not regular basis; though we can hardly blame “them.” We can, and do, blame semi-anonymous people on the internet however. People like “Thor”, who shoot lighting from their fists while cutting up cardboard yogurt boxes for use in shipping illicit materials via our great nation’s postal servicemen.

Allow me to elaborate. One of the used textbooks we bought off Amazon arrived today with the phrase, “EXAMINATION COPY” plastered in large, unfriendly letters across the front cover. An explosiony star-burst encouraged instructors to “keep the cost of textbooks down!” by “See back cover.” It was an intriguing invitation, though I am but a student. Yet, must not all good instructors frequently lower themselves to the status of student in order to expand their mind and return to professoring refreshed anew? Having thoroughly rationalized my position in the matter, I flipped the tome over. There were several lengthy paragraphs to which the star-burst indubitiously referred, but as the son of a lawyer my eyes were immediately drawn to the small print at the bottom.

Behold! Engraved in ink was a message from the publisher informing me that dissemination or resale of the work was prohibited.

I sensed irony.

Facebook Chat

So, Facebook got a new feature, Facebook Chat. It looks a lot like Gtalk, but it can only be accessed online on the facebook website. It also comes with an annoying gray bar which covers the entire bottom of the screen and can’t be permanently removed. Joy.

So, I thought it would be a great idea to have Jabber support for this thing. I told them as much.

Will Facebook chat support Jabber in the future?

It would be a shame if it were browser-only or used some proprietary desktop client not compatible with Linux.

They replied.

Hi James,

Thank you for your interest in Facebook Chat.  Unfortunately, the features offered by Facebook Chat do not necessarily match those of other chat clients.  Additionally, Facebook Chat cannot currently be integrated with third party chat applications.  We will keep your suggestion in mind and welcome your feedback as we continue to improve this feature.  Let me know if you have any further questions.

Features? Facebook Chat has features? Additionally, I distinctly remember the word “future” being in there someplace. Meh. Open standards! Interoperability! Pretty please?

On Semesters, and the Ending Thereof

Wee! The end of the school year is in sight. Honestly, I felt a lot more in control this point last semester. Since spring break, everything seems like it’s been a blur. An accelerating blur. I can hardly even remember the last week. Well, I can remember specific details about it and sort of piece things together, but I can’t really picture it as a whole. This is probably because I’ve had a bizarre cold/allergy thing coming on, followed by lots of sleeplessness. I have taken to measuring the days past by noting the number of tissues piling up in the trash bag under the sink. That’s probably not a good sign.

Notable events this week have included:

  • Getting back an operating systems assignment and not failing. Doing considerably better than failing. Yay.
    • Good thing too, because I was up ’till three AM working on that. >_<
  • RAM from NewEgg arriving. Subsequently, my Linux desktop runs a lot zippier and Guild Wars runs smoothly (There are several other games I’d like to test, but haven’t had time). I can have a lot more stuff open before swapping kicks in. In fact, I haven’t managed to hit that point yet. Yay. The laptop also seems to be dumping out a bit more heat. I’m guessing this has impacted the battery life in some way, but my battery is basically a 15 minute UPS at this point.
  • Learning that even though you can implement procedural algorithms in a functional language, it doesn’t mean that you should. TEA looses a ton of elegance when written in Haskell. Not to mention it becomes a ton harder to read and understand. Quite disappointing.
    • Thank you Jurassic Park. You have given me a phrase I can apply to just about anything.
    • Taking two programming courses at once is interesting. There is always something due. Always.
  • Racquetball tonight? I want to play racquetball. I’ve hardly moved at all this semester, unless you count walking to classes and SAGA. Need physical motion.
  • Attending physics TI this evening and having a personal tutor of whom to ask stupid questions. ūüôā
  • Almost walking into a lightpost on Wednesday. This was my second clue that I needed more sleep. (The first was how tired I was.
  • Not recalling having difficulty forming coherent sentances while sleep deprived. Amazing! My personal theory is that all speech is simply bypassing the mental facalties. Um, yay?
  • Everything I write eventually turning into bulleted lists. Normally I’m able to supress this urge and make the English flow like butter on a rabid bald monkey, but I suspect the aforementioned lack of sleep is overwhelming my English facilities.

My desire to play racquetball seems to be being fulfuilled. Now, if you’ll excuse me, I must go and loose miserably.

Hootenanny and Humor Desensitization

So, there’s a third round of Hootenanny auditions. Huzzah!This means the chances of skit from James entering in the running again is much higher than it was several days ago, when the chances were zero.

We even have (extremely busy and pressed for time) actors this time.

To prepare (and because most of the penn2ers are noobs and needed to see it anyway), I watched about half an hour of the show from last year. My previous skit? Painful. Horribly painful and embarrassing. We were nervous, we fudged up lines, and most of the (extremely frequent) puns were either too subtle to show up in dialog, or not funny when they did. Overall, it just didn’t flow well at all.

Part of the issue was just how long and elaborate the lines were. Having taken speech since than, I now realize that part of the issue was that the script was not written to be verbal. One of the great and unique things about authors like Dickens and Wodehouse is that most of their work reads great on paper and sounds great when read out loud. I definitely lack that gift. Hence, the target time for this year is two to three minutes. Much longer than that, and the audience looses interest.

Another part of it was just The Stage and Preparation. Joking around and having fun with a skit while auditioning was great. We were all loose, we had scripts, and I knew beyond a shadow of a doubt that what we had was a decent skit. I was wrong, but it didn’t really matter at that point because we didn’t know I was wrong, and it’s much easier to convince people that your skit is funny if you think it’s funny.

However, as the event drew closer, I became completely immersed in the dialog. I began to doubt that it was really as humorous as I’d previously supposed. Others in the cast felt the same way, so we began to edit. Humor is so much easier to deliver if you know exactly what part is supposed to be humorous. You can build up to it, emphasize it, and all sorts of wonderful things like that. But after going through the same lines so many times, we lost track of what was funny.

The writer behind Portal was interviewed recently, and he said something that resonated with me.

“Tough guy dialogue is just about as macho the 50th time you hear it. Funny dialogue is funny once — maybe.”

I can’t really say much about macho dialog as I can’t write it without instantly deleting my work and washing my hands to get rid of the slimy cliche,¬† but the latter part is definitely true about humor. This year, I am relying much more heavily on 3rd parties to see how much they laugh when reading the script.

But there are still issues. Especially tying it off neatly. Everyone loves a climax directly followed by a witty comment. Do you have any idea how insane that is to write? This is why half my skits don’t even have real endings and sort of trail off into the distance, much like this post.

Ah, well. At least I can write code.


My roommate and I are both nerds. My nerdy nature is probably already widely known to people online (due in part to this blog), and to associates in The Real World (due to my attire, language, topics of conversation, and general social awkwardness). However, I felt it necessary to establish that my roommate is with me on this.

So, what did we do with part of our extended, three day weekend? No, I can truthfully say that it had absolutely nothing to do with the dixie-cups. No! We were constructive! We built a Beowulf cluster!

Behold: Project FragMano.

While, in the past, a project to get a permanent gaming server running for my dorm floor was titled this, the majority of gamers are gone, and it’s much too cool a name to waste.

What you see here (aside from my back and amazing Hootenuity t-shirt) is our (poor) estimate of about 3.5Ghz of combined processing power. They’ll be running Ubuntu Linux (server install) with OpenMosix. We’ll use them for rendering Blender stuff, possibly a little folding@home, and (of course) seeing if we can program games that utilize the cluster effectively.

Right now, the task is getting the stupid things running, much less talking to each other. Two of them are missing vital organs such as hard disks, ram and cables. One of them is missing a processor. A few are under the mistaken belief that they have no physical storage media implanted within them.We’re working on it. Andy is a hybrid hardware/software guy, and I’m mostly software, so it works out quite nicely. My priority is installing Linux, recompiling the kernel, and getting the cluster software on as many of them as possible, while he figures out the happy hardware and network configuration. Or something. In theory.

We would like to note that there are now no less than eleven x86 based machines in the room. There are even more computers than that if you count our calculators, the hacked routers, and Andy’s game console. Isn’t being a computer science major just amazing?

Check out our Flickr stream for more photos of our progress as it develops.

The Moon is a Lie!

This is how I spend so much stupid time not doing homework.

  1. I need to do physics homework like a good student
  2. It’s online! How handy. Let’s go to Lon-Cappa
  3. Hmm. This problem requires that I use the gravitational acceleration¬†constant¬†for¬†the¬†moon.¬†I¬†don’t¬†know¬†that,¬†and it’s¬†not¬†stated¬†in¬†the¬†problem¬†or¬†the¬†book.
  4. I know! Wikipedia. Not always 100% reliable, but can be handy for things like this.
  5. That’s a really short article. Doesn’t have the number I need. But hey, look! It’s a reference to faked moon landings. Wow!
  6. Ok, don’t get distracted. Some other website must have it.
  7. Volia! 1.62m/s^2. How easy!
  8. Gah! It says the answer was wrong! Stupid site gave me bad info. Good thing I’ve still got four tries left on the problem.
  9. Click! I close the tab of the treacherous website. Oh, look. It’s the wikipedia page on faked moon landings.
  10. Time passes…
  11. Wait, it’s how late? Gah!

Tune in next week, when James SSHes to letnet… and certain doom!

RSS Status

  • An error has occurred; the feed is probably down. Try again later.

Creative Commons License
This stuff is licensed under a Creative Commons License.