Archive for July, 2008


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.

About the Facebook redesign

Dearest Facebook,

You have no Linux users in your UI testing groups. Either that, or you ignore them. Or they don’t actually test. It’s one of those. I state this merely because Firefox 3 on Linux is not compatible with your new design. This has been tested in Arch Linux and the version of Ubuntu that came out back in April.

So anyway. The links on the main page don’t work. You must click a link, then refresh the page to be taken to your destination.

On a completely different note, it’s somewhat disappointing to see that you switched from one fixed-width style to another. I used to be able to have a web browser on the left sode of my desktop and IM windows on the right side. Now my browser needs to be about 170 pixels wider, so it overlaps. The worst part is how much seems to be dedicated to ads (a large number of which are either completely irrelavent to me or offensive. I shamelessly block them) and whitespace. Yeah, the new layout seems a lot cleaner, but a lot of that is because you bought the whitespace by making the user resize the window larger. And what’s up with 1/3 of the viewable area not being used while looking at wall-to-wall conversations? It would have been a lot more nifty if the layout flowed depending on how wide the window was.

Just some thoughts.


P.S. Oh, just remembered. That you know that guy Joe Minifeed? Why are you calling him “Mr. Wall” now?

P.P.S. Try loading the main page with the window not full length. Scroll to the right. Note the fun redraw issues. I’ll bet we see Firefox 3.0.2, “Facebook Edition” pretty soon.

Summer of Code II: Code Harder

Hey look, I’m on Planet AbiSource. If you’re the type of person or poorly programed bot who clicks every link they see, you now have a slightly higher chance of endless recursion. Huzzah.

It’s been slow going recently; there were thunderstorms all last week. In between frantically unplugging every electronic device in the house and being bored listening to thunder and watching the lights flicker, I spent a lot of time using GDB looking for the source of a mysterious drawing glitch which turned out to be the margin of the first column drawing over all the other pages. Whoops. My debug-fu is still somewhat weak.

Here is le current running changelog for the past week or so, which is accompanied by rather meager source edits. (I hate it when that happens.)

  • Smooth scrolling is disabled with multiple pages due to jerkiness.
    • It also fixes an auto-page-tiling bug, which I didn’t actually know existed until I was seconds away from tweaking the line of code which corrected it. Convenient!
  • Multiple horizontal pages should only show in VIEW_PRINT
  • Margins now draw correctly, not over other pages. (I’m an idiot; took way, way too long to figure that out)
  • Made FL_DocLayout::getHeight() slightly easier to read; the output is identical.
  • Page height fixed. Again. No, seriously, it works this time. I think.

Stuff I need to fix:

  • Scrolling is really messed up when in single page mode; it’s all jerky and slow. I suppose I brought this upon myself by running all the multipage algorithms with “1” as the number of horizontal pages, but I didn’t expect this huge of a slowdown. It popped up in my last SVN submission, so I should probably backtrack and see if there’s yet another obvious thing I missed.
  • Scrolling is funky. Stuff just isn’t being drawn consistanly when you scroll up or down. Figuring this out is a rather high priority right now.
  • The cursor jumps up a page when you use the up arrow key. IIRC what my mentor said, this is apparently being caused by a preexisting bug. The easy fix is to just duplicate the functionality of a particular function I’m calling. I don’t much like this solution, but it’ll work for now.
  • No text is drawn on the 3rd+ rows. It’s like this in all AbiWord builds, so while I’d like to fix it, I’m not going to sweat it too much if I don’t locate the cause before things end.
  • The pretty blue selection rectangle is not being shown on second+ row of pages, and on random letters on the first row.
  • Auto page tiling doesn’t update until _draw(…). This can be an issue as when the zoom is changed, the tiling doesn’t update.
  • Now that the page is approaching being drawn properly, the top ruler is starting to look tempting. I was overjoyed to discover that the left ruler requires no modification at all; I leave rulers turned off pretty much all the time. I wonder how much code is
  • Left to right tiling. I haven’t actually explicitly coded anything which sets this up (following the popular “get basic functionality first” philosophy), but it’s been in the back of my mind while I’ve been coding. I don’t anticipate having a really hard time with this
  • After that, interface stuff to actually use this feature. Then it’s over? Wow.

In conclusion, I have now drifted into Honolulu, lost all productivity, and should seriously consider sleeping. James out.

I remain unimpressed with ZoneAlarm

Aforementioned “free as in my time” ZoneAlarm firewall was installed upon almost every Windows computer in the house, up until this evening. This evening, it randomly decided that it would be a really great idea to block all traffic to and from port 80. Since the free version of this product does not let you configure individual ports (a grevious inconvenance at junctures such as this), I was left with no option but to replace it.

Of course, this doesn’t actually affect me in any way except that I’m de-facto home tech support because people in the house become unhappy and suspicious when I’m the only one with functional internet access. It couldn’t be because I’m running Linux and never actually have to deal with all this ZoneAlarm nonsense, could it?

Get your act together, Zone Labs.

Microsoft reported to be female

So, Microsoft has stated that they’d be willing to resume talks to acquire Yahoo if Yahoo’s current board of directors are replaced. link

Best quote of the article: “The Yahoo board just doesn’t get it: The girl won’t go to the prom with them.”

Oh, the irony.

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.