by lazymalevolence at 2008-08-12T08:41:03Z
by lazymalevolence at 2008-08-12T08:41:03Z
by lazymalevolence at 2008-08-07T08:30:57Z
by lazymalevolence at 2008-08-07T08:16:25Z
by lazymalevolence at 2008-07-29T07:26:45Z
by lazymalevolence at 2008-07-29T07:26:45Z
by lazymalevolence at 2008-07-28T23:40:28Z
by lazymalevolence at 2008-07-28T23:40:28Z
by lazymalevolence at 2008-07-05T08:57:21Z
by lazymalevolence at 2008-07-05T08:57:21Z
by lazymalevolence at 2008-07-04T05:23:16Z
by lazymalevolence at 2008-07-04T05:23:16Z
by lazymalevolence at 2008-05-30T16:32:31Z
by lazymalevolence at 2008-05-30T16:32:31Z
by lazymalevolence at 2008-05-30T16:30:55Z
by lazymalevolence at 2008-05-30T16:30:55Z
by lazymalevolence at 2008-05-01T07:47:03Z
by lazymalevolence at 2008-05-01T07:47:03Z
by lazymalevolence at 2008-04-28T03:57:56Z
by lazymalevolence at 2008-04-28T03:57:56Z
For the 1% of Open Source software enthusiasts who haven't yet seen this yet: Donate to support the development of free/libre/open source graphics software by helping developers meet in real time, in person, (etc.) at the Libre Graphics Meeting 2008! I'm a big fan of Inkscape, because it lets me, as someone who is not very artistic (nor has very good (precise) hand-eye coordination) to create and manipulate logos and icons with ease. My graphics programming skills are essentially non-existent, so I figured that I could be more useful by donating some cash to help a developer of one of the participating projects travel to the meeting.
And here's the shiny (but not flash-shiny) information-rich button that they're using to show how much more money they need to reach their goal:
(I should note for the American-income-tax-minded that this is a tax-deductable donation.)
On a somewhat related note, I'm planning on going to LinuxFest Northwest 2008. Fortunately for me, both the conference and the transportation is free. People who have either followed me for at least a year or have read through the archives know that I went last year. I plan on going on Saturday again (this year, April 26), and I'm bringing my XO laptop with me. If things work out right (i.e., my stupid printer decides to work), I'll have a nice, big Awn icon (again, thank you Inkscape!) taped to my bag. It'll be an interesting experiment to see who recognizes it.
by Mark at 2008-04-15T07:50:17Z
After hearing about it from a friend (specificallly, that I could get there for free courtesy of Pogo Linux), I decided to go to an actual Linux...fest... and take in the nerd atmosphere without getting some sort of otaku or gamer disease. Unfortunately, I could only go on Saturday. I would have loved to hear Brad Fitzpatrick talk about how LiveJournal scales their databases, among other things.
The bus left promptly at 8:06AM. The movie they were showing on those little screens scattered throughout the bus was the X-Files movie, which I have no intention of watching, so I caught up on some reading for one of my classes. One amusing thing that I noticed on the way up was that there was a "Lychee Buffet" restaurant at the freeway exit for the college. If you think about it, it sounds rather disturbing.
I had roughly 15 minutes between the time that the bus arrived and the first presentations. In that time, I got a bunch of CDs from the Ubuntu and Oracle tables (it was like the Oracle table was having a fire sale - I got an Oracle DVD and an Oracle Linux DVD), and some stickers from the FSF table, including the "Bad Vista" one.
The first talk that I heard was on copyright and open source, by Karl Fogel (of CVS/SVN fame). It was really interesting, given my affinity for history (especially regarding science and technology). He talked about the parallels between the era of the printing press and the present-day. I didn't realize that copyright (or proto-copyright) was created as a censorship/printing restriction tool by the official guild of printers.
The second talk I attended was on strong authentication, in particular multi-factor authentication. It was very informative, especially in regards to how those one-time password keyfobs work.
Presentation number three was about practical honeypots. I wasn't really impressed with it overall. It was rather high-level, and the presenter admitted that he had only started working on it that morning. A lot of it seemed like common sense, like being preemptive, only concentrating on exploits that are relevant to your particular systems, etc.
The last talk I observed was on scaling web services, by a lead developer from Real Networks. He reminded me of Penn from Penn & Teller. It was a very engaging talk, and it gave me a new perspective on scalability, that is, it's essentially an organizational problem, as opposed to a technological problem.
A closing thought: I would have loved to have gotten one of those stuffed SuSE lizards...it would have fit in well with the Tux I got in Canada several years ago.
by Mark at 2008-04-15T07:35:33Z
Everywhere I turn, there's a new post lamenting the fall of the mighty OiNK music torrent tracker. Yes, it's a pity, but what's surprising to me was the number of people who actually used it (and blogged about losing it after the takedown). It's like these people want to say, "Yes, I was a part of the secret organization before it disbanded!" It's an odd sort of sensation reading those posts; those of us who were also contributors to "the cause" say to ourselves, "Right on, brother! Fight the power! I, too, miss what has been wrongfully taken away from us!"
As I think about it, it gets more and more surreal. Why are we sad about something that is plainly an illegal means of retrieving goods? Is it because of the slightly better feeling in our conscience that says, "it's OK, I'm helping others who can't necessarily find this music any other way through seeding", rationalizing it as a sense of community and giving back? I am boggled.
by Mark at 2008-03-21T21:42:20Z
Obviously, I haven't done one of these in a while. There are a few reasons for this. For one, my workload has gotten a bit larger. Additionally, Super Smash Bros. Brawl came out recently...it's ridiculous how much time that game eats up, and I'm only halfway through "adventure mode".
But seriously...both the forums and the bug tracker have been relatively quiet. It's difficult to figure out exactly why that is. However, there have been a few things that have happened in the past month or so.
Moonbeam has a summary of what happened in the week following my last post. Additionally, he has been working on the framework for an applet that can use either the Gecko engine (used, most notably, in Firefox) or the WebKit engine (used in Safari) to render HTML. Hopefully, this will alleviate some of the problems that people have had trying to get some of the HTML-based applets to run properly. Unfortunately for us, moonbeam has become rather busy in real life lately, and so there may or may not be very much progress on the features/applets that he's been working on.
Andrewsomething, a longtime bug/answer triager for both Awn and Awn Extras, has finally taken the plunge (so to speak) and joined the Awn Extras developer team. His first contribution is the "Remember the Milk" applet, and for his next undertaking, he is seeing if there's any interest in a simple note applet.
It is interesting to note that two new, experimental branches have appeared for Awn recently. One, created by moonbeam, focuses on refactoring the launcher/task/applet effects framework so that it's easier to add new effects, and uses cairo's surfaces instead of Gtk+'s "pixel buffers" to manipulate the images. This allows for more complex effects to be used, while keeping the overall effect smooth (and potentially hardware-accelerated).
The other branch was created by longtime Awn contributor haytjes. He's working on fixing the "custom icon" feature. Currently, there are several bugs which prevent that feature from being very usable.
And finally, I'd like to give a quick Planet Awn roundup. Moonbeam has a very good post on the architecture of Awn and why it's not possible (currently) to have features such as parabolic zoom. Our fearless leader, Neil, has (finally) written a post about the recent Awn/Awn Extras release, and our upcoming plans for the projects. Hopefully, his presence on Planet Gnome will continue to give Awn more publicity :).
by Mark at 2008-03-21T18:12:14Z
I'm taking a break from both trying to make a <tbody/> scroll vertically without a horizontal scrollbar present and playing "Link's Crossbow Training" to write up what's transpired in the past several days in Awn-land.
The Awn Curves branch was partially merged into awn-core-testing. I say "partially merged" because meek is merging it in parts, due to the complexity.
The big event was when Neil finished reviewing the awn-core-testing and awn-extras-testing branches and merged them into their respective trunks. Among the benefits is that users of reacocard's Ubuntu Gutsy repository can now use the shiny new features that those of us on the (very) bleeding edge have been using for a while now.
I should also point out that Neil has added both moonbeam and myself to awn-core, in recognition of our work on both the testing branches and our respective personal branches. This means we have commit access to Awn's trunk branch and more bug/blueprint triaging privileges.
As a result of the big merge, we now have a new roadmap. What used to be Neil's big rewrite for 0.3 (code-named fandabbydosy) has been spread out over several releases. See the roadmap link for details. One important item to mention is that we plan to release version 0.2.4 of both Awn and Awn Extras on Monday (02/18).
In Awn Extras, most of the changes have been bugfixes. A patch was added to the media-control applet for Quod Libet support.
Finally, I'm holding a contest for Awn users/enthusiasts. In the near future, I'd like to have a post with screenshots and videos showing off all of the new features and applets in Awn/Awn Extras. Unfortunately, I suck at doing that sort of thing myself. :) So, I'm giving the Awn community the chance to show off their customized docks.
The only restriction on the screenshots and videos is that you license them under a Creative Commons license. I will, of course, attribute all media to their proper creators :) Ideally, the screenshots should be as hi-res as possible, but any resolution is welcome. The same goes for videos.
The deadline is Feb. 21, because I'd like to write the post by the end of next week. I'll choose a set of media that looks the nicest (with the help of the people in #awn) and use that as the basis of my next Awn post.
So if you wish to participate, please post the URL to the media, the attribution information you wish to use (your name or nick), and which feature/applet you're highlighting on the forum thread or as a comment here.
by Mark at 2008-02-15T23:11:51Z
Given the lack of releases of Awn, I figure that there needs to be some record of what's happening in Awn-land ever since we got version 0.2.1 of Awn and awn-extras out the door, other than the mish-mash of posts on the forums.
Here's a (most likely incomplete) list of the new features in awn-core-testing, mostly taken from the branch whiteboards:
Note that everything except the first two items are also in my desktop-agnostic branch.
Since the 0.2.1 release, a number of new applets and other changes have occurred in the awn-extras tree.
Our resident Debian/Ubuntu packager, gilir, successfully got Awn (the dock) into the official Hardy repositories, specifically universe/gnome, as avant-window-navigator. Unfortunately, there are some QA problems with the awn-extras applets package, awn-core-applets, but gilir is working very hard to get that resolved before the package freeze. He is also working on getting said packages into Debian sid.
Meanwhile, in Gentoo-land, there are official ebuilds for both Awn and awn-extras, named gnome-extra/avant-window-navigator and gnome-extra/avant-window-navigator-extras, respectively. Since the xeffects overlay is defunct, I'm working with the team behind the desktop-effects overlay to get the awn-core-testing and awn-extras-testing branches in as working "live" ebuilds. Of course, this comes after I was alerted via an awn-extras bug that one of the desktop-effects developers described the build system as piss-poor
. Being the author of the new build system, I was a bit offended. Luckily, the lead developer for that overlay was more level-headed than the stereotypical Gentoo developer whose comment started it all. I'm still waiting for an apology from said developer, but I'm not holding my breath.
A community member has contributed a wiki for our project. We've been using it for both end-user documentation (Installation, FAQ) and internal processes. In particular, the applet developers have been collaborating on some applet development guidelines which should be followed if a person would like their applet to be included in the awn-extras tree.
In non-Awn/Awn Extras news, there have been reports that the Gimmie project has added Awn applet support, in addition to its current support for the gnome-panel.
The changes I've listed for Awn and AWN Extras are currently being reviewed so that they'll be merged into trunk in the near future. In the meantime, you can grab the test packages from the Awn Testing Team's PPA (for Ubuntu users), install Awn and Awn Extras from the desktop-effects overlay (for Gentoo users), or simply install from source (making sure that you uninstall any previous version of Awn/Awn Extras first!).
by Mark at 2008-02-15T05:35:52Z
Note to self: the OpenWrt wiki, particularly the dnsmasq page, is a very useful resource for understanding why my XMPP server won't talk to the GMail or LiveJournal XMPP servers. (Hint: filterwin2k is a very bad configuration option for XMPP servers. Stupid default option.)
by Mark at 2008-01-23T09:33:10Z
I switched my DNS host from zoneedit.com to editdns.net, because ZoneEdit doesn't support DNS SRV records. They're needed for XMPP server-to-server federation support. My XMPP address is <${my_second_level_domain} at ${my_second_level_domain} dot com>. Note that this is different from my email address.
by Mark at 2008-01-17T02:11:49Z
I learned something new today: it seems that <button>s have a type attribute, and default to type="submit". Obviously, this doesn't apply to IE, which defaults to type="button". Makes my life just a bit more annoying. On the other hand, I don't have to use <input type="[submit|reset]"/>, which apparently makes it a bit easier to style.
by Mark at 2008-01-09T22:11:34Z
(Note: Originally written on 2007/11/11. It's been languishing on my computer since then.)
To begin with, I have to say that, like many people on the "Internets", I enjoy reading dive into mark for its sharp wit and no-holds-barred writing style, no matter who employs him.
His latest post is no exception. A few things bothered me about it, though.
For one, it (implicitly) assumes that you're going to be installing MySQL™ on your Ubuntu™ desktop machine and start using it to develop some application that needs a relational database for X, Y, or Z. However, ignorant CEOs and CIOs also read things written on the Internets, and when they happen to find this post via their Google™ search du jour for new technology to integrate into the fold, they'll turn to their system administrators and ask, "Why do I pay you so much when all I have to do to install a relational database is click a button a few times?" Thank you, Mr. Pilgrim, for devaluing system administrators in one fell swoop.
Another part that bothered me was the end. Here's how I imagine your average Ubuntu™ user's thought processes: "OK, I've installed this MySQL™ thing. Now what? How do I access this server thing? I have to use some sort of client, right? What kind of client do I get? Can I just search for 'mysql client' and do the same thing? Oh crap, that's for the terminal!" There goes that whole anti-"sudo make me a sandwich" argument. I guess it would be different if this HOWTO was in serial form.
On the other hand, it seems to be a much better experience than installing DB2™ on Ubuntu™.
by Mark at 2007-11-22T06:47:44Z
Just recently, I ran across the third Wordpress weblog in my feed list that had been hit with spam via what I assume to be the vulnerability fixed in version 2.3.1. It only shows up in feed readers, because it uses CSS to hide itself on the regular pages. That CSS is stripped by most feed readers' sanitizing process that removes all markup that may be malicious.
The striking thing about it is that all of the weblogs were related to web development: one was on a personal browser developer's website, one was a prominent web development news site, and the most recent one was the official weblog of a web browser. Now, I'm not necessarily putting the single browser developer at fault, since web applications aren't necessarily his area of interest. His webhost should make sure that classic security holes (like PHP's register_globals option) are turned offor disabled. On the other hand, the other two sites should know better. The web development news site has a significant number of posts on web application security, and the browser vendor deals with the security of its product every day, so surely they should be monitoring (or at least, find an automated process to monitor) feeds such as the ones at the National Vulnerability Database, in case exploits are discovered for any web applications that they may have installed.
To everyone else, if you can, please make sure that your webhosting environment is properly secured. Also, definitely subscribe to the news feeds of all the web applications that you run, because more often than not, there will be security vulnerabilities discovered, so you should upgrade as soon as possible in those cases.
by Mark at 2007-11-11T20:14:03Z
I figure this is worth a shot, given that this blog is hosted on a sister application.
To the developers working on Gmail: I would like to know your position on comment #3 in flameeyes's post from a Claws-Mail developer. Are you or are you not following the IMAP specification in this respect? If not, why not? Additionally, can it be fixed?
by Mark at 2007-11-06T20:51:02Z
Oh man, they must be Scientologists!
– Attributed to one of the three guys in front of me when I was walking past the anti-psychiatry exhibit.
2007-11-06T19:58:20Z
I had the great fortune to listen to Professor Lawrence Lessig tonight. I've been a fan of his ideas (free culture, code as law, etc.) as well as his presentation style. Well, I got to see all of that at the lecture. His speaking style is even more impressive in person. He tied together a good deal of the work he's done over the years, including a preview of his new work on corruption, which the audience wanted him to speak on in the the Q&A that followed the presentation.
The presentation itself is a little hard to explain for me, because it dealt with so much material, and yet I didn't miss a heartbeat of it. The first part of the lecture dealt with the question posed in the title advertised: Is Google (2008) Microsoft (1998)?
Short answer: yes and no, but don't assign morality labels to businesses (much like you shouldn't assign them to technology), because they're interested in only one thing: making the shareholders happy. The second part explained the "new" model of content distribution and ownership, and how Google and Facebook, for example, still don't exactly "get" it (c.f. the Google Maps API TOS or the Facebook Apps Developer TOS).
In all, I am very glad that I got to see Lessig speak in person when he came around to this area of the country.
Edit: Here's a tangentially-related Slashdot post: Google As The Next Microsoft? Also: Not Evil != Unselfish
by Mark at 2007-11-05T19:12:22Z
by Mark at 2007-11-03T21:44:48Z
After about a month of bug reports, segmentation faults, patches, and prodding of the core developers, we finally have a new release of everyone's favorite composited dock, AWN.
After some prodding on IRC, I created a branch of the 0.2 release branch, called 0.2-stable-testing. Here's how I described my workflow on this branch in the forums:
- I get patches from IRC/forums/launchpad. If they aren't on launchpad, I ask that they go there so I can put a reference to them in the commit message.
- When the patch is on launchpad, I add the stable branch to the bug with the status message "fix in progress".
- I install/run awn with the patch applied, and check the console. If there are no extra assert/CRITICAL/WARNING messages, and I don't crash within 10 minutes, I commit the patch (usually with whitespace fixes, etc.) to the branch, and push to launchpad.
- I change the status message on the bug to "fix available" and note the revision that the patch was applied on.
In all, there were a total of 13 recorded bugs fixed in my branch. About halfway through, I posted a call for a bugfix release:
So apparently, AWN is now on the front page of launchpad. This inevitably means more users, and more of the same questions about crashes, etc. occurring with the 0.2 release. Many of these crashes have been addressed in my 0.2-stable-testing branch, and I am pleased to report that several people are actively testing this branch and indeed finding it stable. So, I propose that the rest of the patches in my branch be reviewed (you can find them at the bottom of the branch details page), and a point release (0.2.1) be made.Additionally, I don't think it's in our best interests to have the only available method of retrieving awn-extras be through bzr (even though I am a strong advocate of bzr). We need, at the very least, a snapshot of awn-extras to be released. Preferably, the buggy clock applet should be fixed, moved or removed before this happens.
The result is where we are today. There are only two things that concern me about this release: Two minor features crept in, and I had found a bug the night before, but was too tired to file it. I have been opposed to adding new features (however minor they are) in a point release, because it's convention to leave new stuff to version bumps of one of the more major versions (e.g., 0.2 to 0.3, or 1.0 to 2.0). There's a good reason that most projects do this, too. New features (especially those that are untested)bring new bugs, which is not ideal for a bugfix release.
Thanks are in order for moonbeam (who wrote most of the stability patches), mhr3 (who reviewed said patches), and njpatel (who released it). It sounds like 0.3 is going to be very interesting. Hopefully I can get my desktop-agnostic branch finished and merged.
by Mark at 2007-11-03T21:44:48Z
I, like many people on the Internets, was ecstatic at the announcements of IMAP for Gmail and the blogosphere-dubbed "Gmail 2.0". I'm all for a faster Gmail experience, not to mention an implementation of the mail retrieval protocol that was developed at my alma mater. However, my enthusiasm waned in two parts, when I actually tried out these features.
When IMAP was finally enabled on my account, I opened up claws-mail and configured it to use Gmail as its mail source. When it did the mail sync operation, I noticed that it didn't populate the virtual "label" folders properly. By that point, I gave up and did something else. I learned later during my blog reading that Gentoo's flameeyes had the same problem. If you look at the comments, you'll see that Claws-Mails's developers have acknowledged the problem as Google's fault. As a(n annoyed) developer, I would agree with their assessment. As a pragmatic developer, however, I agree with flameeyes's assessment: The Claws-Mails developers should follow Postel's Law.
Part two: trying out "Gmail 2.0". Regardless of how I feel about the blogosphere's echo chamber (and by extension, the mainstream media's echo chamber), I'm using that term for it because it's convenient. Yeah, it's a cop-out. Anyway, this refactoring of Gmail's dynamic JavaScript engine seems to me, to be a step back, in terms of speed (or at least, perceived speed). Sometimes when I change tabs back to Gmail, the message list column is squeezed horizontally, as if I changed my browser window size to 200x900. When I change label views, there tends to be a lapse between unloading the old label's mail and loading the new label's mail. This leaves a big green box in the interim.
I do realize that these features are relatively new, but you'd think user/unit testing would catch these things.
by Mark at 2007-11-03T06:22:25Z
I'm working on (among other things) finishing up wiki support in my trac-atompp plugin. I'm nearly done, I think. In order to make sure it's "valid", I'm using Tim Bray's APE (albeit from CVS). However, I've got a few questions about some of the errors:
- ! 53 of 53 entries in Page 1 of Entry collection lack app:date elements.
From the source, it looks like it should actually say app:edited. But, why is it giving an error? According to draft 14, section 10.2, Atom Entry elements in Collection documents SHOULD contain one "app:edited" element, and MUST NOT contain more than one.
Perhaps the messages should conform to RFC 2119 instead of lumping in all of the SHOULDs with the MUSTs, or something.
- ? Can't update new entry with PUT: No Content [Dialog]
- ! Couldn't delete the entry that was posted: No Content [Dialog]
I don't really understand why HTTP status code 204 (No Content) isn't allowed for either PUT or DELETE, seeing as RFC 2616 says that it is a perfectly valid response for both actions.
by Mark at 2007-09-06T05:56:06Z
After years of malnourishment and two weeks of development, my little old static website (now using a smaller domain name!) is live. The old website, like the new website, was created via a templating system. However, the former website's templating system was homegrown using PHP4 classes (disgusting, I know...but that's all I could use at the time). Even more disgusting about my system was that it was HTML comment directives plus a regular expression parser. I was so young and naïve, and I hadn't taken a compilers class yet. So this time around, I said "screw it" and went with a) my favorite language, Python, and b) the template software that I had been using for my Trac-AtomPub plugin (yes, not -atompp anymore, per the lengthy discussion on the atom-protocol mailing list).
As the new website was a chance to experiment with new things, I decided to take the plunge and use HTML5 to markup my website. And with any sort of experimental technology, there were many problems.
First, I tried to use the genshihtml5 plugin, but strangely enough the code was a bit buggy (e.g., it was missing an import), and I could never figure out how to get it to output proper HTML5 while still removing end tags from tags which don't need them, e.g. <link/>, while retaining them for tags which require one, e.g., <script/>.
Next, I tried to use html5lib's Genshi-Stream-based tree walker. For some reason, it simply would not output any data. I don't remember all of the details, but I do remember inserting a lot of print statements in html5lib to see if I could find the bad piece.
Finally, I gave up and made Genshi just output XHTML plus the extra HTML5 tags. I figured that all of the debugging trouble simply wasn't worth it for the timeframe I had envisioned.
(As an aside, I do plan on submitting the patches that I've made as a result of this...exercise (for lack of a better word) so that they can be integrated in future releases of the respective software.)
Actual usage of new HTML5 tags was...interesting to debug. If you're writing HTML5 and not XHTML5, and you're viewing the page in Firefox, this is what the DOM tree looks like (according to Firebug):
<figure _moz-userdefined="" />
<img src="..." alt="..." />
<legend>...</legend>
For comparison, this is what it looks like when rendered as XHTML5:
<figure>
<img src="..." alt="..." />
<legend>...</legend>
</figure>
That completely broke my CSS files, as I was using child/descendant rules utilizing the new tags. This sort of thing is why I love using Firebug.
I've really only thoroughly tested this website on Firefox 2.x (Windows & Linux). I just checked it on Opera 9.20 (Linux) and a relatively old development version of Gtk-Webcore (AKA WebKit), and the only bug that I see (in both of them, strangely) is some sort of CSS error in calculating the spacing for the <dd/> box for "Special Skills" in my CV.
Future plans include packing both the CSS and the JavaScript, via csstidy and packer, respectively. Right now there are several bugs with regards to integrating the two applications with my build system. csstidy interprets white-space values incorrectly, particularly the vendor-specific values. I'm currently trying to integrate packer via this nifty little python module that uses ctypes to create an interface with Mozilla's Spidermonkey JavaScript engine. Unfortunately, there's a recursive reference somewhere in base2, and the module is choking on it, so I have to figure out how to resolve that (if possible). Another future plan involves making the site fully dynamic in that the page layout stays the same, while background XMLHttpRequests retrieve the page contents when internal links are clicked. Obviously the current behavior would be retained as a fallback.
Anyhow, there are more details about how I made my website on the colophon. Bug reports, suggestions and feature requests are welcome!
by Mark at 2007-09-06T05:56:06Z
This news is excellent. One of my side projects (although, it was pretty low on my list) was to figure out how to use Genshi templates in Venus. I started out by copying the Django template code/unit tests and adapted them for Genshi. However, I got stuck getting some of the unit tests to pass (_item_title and _config_context). Perhaps sometime this weekend I can see how this particular implementation works.
Speaking of Genshi, I just noticed that they had released version 0.4. Hopefully, this will help me resolve the last APE error in my Trac-AtomPP plugin — adding app:edited elements to relevant entries and sorting by that property.
While I'm thinking about it (this really seems to be turning into a stream of consciousness post), I'm not exactly sure how to page the collection efficiently, considering that Trac creates the wiki page list via a generator. Right now I'm just putting everything into one feed, but obviously that doesn't scale very well.
by Mark at 2007-09-06T05:56:06Z
I finally got myself out of my Trac plugin coding slump. Genshi is really making this a whole lot easier; I don't really know why I was manually generating XML from trees in the first place.
I am very grateful for the existence of Joe Gregorio's Atom Publishing Protocol test suite. There are only a couple of nits about it — first, it doesn't seem to play well with Multi-version installs of wxPython (seems to require 2.6, perhaps 2.5 [I only have 2.4 and 2.6 on my computer]), so I cooked up a really simple patch for that. Secondly, my wiki collection feed generates some warnings via Feed Validator, but in the logging pane, it records them as errors. Since it doesn't affect the functionality, I merely consider that a minor usability bug. But, this really doesn't seem to be meant for end users, so...whatever.
Anyway, for my capstone, I'm only working on the wiki part. GET is done, and POST is nearly done. DELETE is done in theory (haven't tested it out yet), and PUT still needs to be converted. POST and PUT now require some implementation of ElementTree to be installed, in order to parse the Atom Entry input. As an aside, ElementTree's find*() methods are really poor substitutes for XPath. Also, this implementation utilizes the Atom MIME type parameter draft whenever possible.
Reminder: Bazaar URL is: http://bzr.malept.com/trac-atompp
by Mark at 2007-09-06T05:56:06Z
Via the Freshmeat feed, I just noticed this thing called the "MinGW cross compiling environment" that looks like it does more or less the same thing as my xmingw overlay, except that it's not distro-specific. (It's not my fault that the portage concept is awesome.) I took one look at the mercurial repository, and found that it consisted of exactly one shell script. Wow. It's a big one, too. It currently supports 26 packages and is roughly 2000 lines long. My overlay, on the other hand, supports over 200 packages (with at least one shell script per package), and I probably don't want to know how many lines of code that is. I'm surprised that the number is over 200. Well, sort of. Its Bazaar repository is currently on revision 466, and apparently I've had this branch for a little over a year. That latter part's news to me.
In related news, as I type, I'm building Firefox 2.0.0.5 via xmingw. The Windows XP machine that I use is going loco, and many programs (including Firefox) crash when I try to use them. Strangely enough, my self-compiled version of Pidgin runs just fine. So, in that spirit, I'm trying to see whether a self-compiled version of Firefox will do the trick as well.
Edit: I was going to mention with regards to the Mozilla (including NSPR and Firefox) build process that they have a upside-down perspective of what "build" and "host" means, in comparison to 99% of the other autoconf-based projects out there. Usually, the "host" is the platform that one is compiling for, and "target" is the platform on which the compilation is taking place. Yes, it does make sense the way that Mozilla is doing it, but it's the opposite of everyone else, which makes it annoying to build. Well, that reason and the fact that it is a horribly monolithic build process (see OpenOffice.org, imake-powered X build process)
by Mark at 2007-07-24T09:58:02Z
I just finished looking at the slides from the GUADEC presentation on the GNOME Online Desktop and the associated screencasts. The concept of installing software from a browser like that (given that I have some idea of how it works) is ridiculously awesome. More importantly, I would like to see how they design the following:
an HTTP library that shares cache and cookies with the browser, and supports asynchronous operation with the GLib main loop out of the box
OK, so right now, Gtk+ and friends currently have libsoup, which fulfills the latter requirement. The former requirement seems to me to be much more complex. First, do you require compatibility with multiple browsers (complexity becoming O(N*M) for varying N and where M is the number orf browsers to support), and if so, what do you do with browsers which seemingly don't provide an API? (I bring this up because I have no idea whether Opera provides one.) Now, imagine that they chose only the Gecko/XULRunner libraries to be compatible with. That API is always changing, so does this mean that the resulting library will also be unstable?
As an aside, I wonder whether this will also be available for Windows. Of course, this assumes that D-Bus will be available for Windows at some point in the future.
by Mark at 2007-07-19T02:02:21Z
Note: I had intended to post the first part of this on his blogDave Johnson's blog as a comment, but it rejected me twice. Apparently I write like a spammer.
That was a lot more complicated that I had expected; makes me wonder if I'm the first person (other than Tim, of course) to deploy the APE.
I deployed it locally a few months ago, while debugging my Atom protocol plugin for Trac. During that time, I wrote up some implementation questions (which Tim graciously answered) and the method I used to run it.
Incidentally, lately I was tweaking my particular implementation since Tim Bray had recently updated the APE to be compliant with the latest revision of the specification. My shebang line for go.rb changed from #!/bin/bash /usr/bin/jruby to #!/usr/bin/env jruby. It's still working fine, even if it's still a little slow.
I need to figure out how to fix some of the errors that I get. For instance:
18. ? Client-provided slug 'ape-61911' not used in server-generated URI.
I have no idea how to fix this. When I get a valid Slug header, I use it verbatim:
To server:GET /trac/atom/wiki/ape-61911 HTTP/1.1\r Host: localhost\r Accept: */*\r \r
Perhaps the following line is confusing the APE:
Location: http://me.malept.com/trac/xmingw/atom/wiki/ape-61911\r
Additionally, apparently my plugin currently has some problems with the new multi-post app:edited test, but so far I think it's something wrong in my code as opposed to being a bug in the APE. I'm going to try to take a look at it tonight.
by Mark at 2007-06-30T05:17:02Z
I has a diploma, or at least some sort of rolled-up paper with some signatures on it. They're the same, right?
2007-06-09T05:41:02Z
Typically, I'm not one to toot my own horn too much, but I'm rather excited about this. Because of my earlier post, two things happened:
I think it's awesome that I could (somewhat indirectly) influence a standard like that. At the very least, it gives the ol' ego a little boost.
by Mark at 2007-05-19T09:54:35Z
Two announcements tonight: the creation of a bazaar branch for Avant Window Navigator (Awn), and the creation of a bazaar-related gentoo overlay.
First, I really like what njpatel has done with Awn. I've always wanted a bar that looked and functioned like the OSX bar, but the closest I could find was the gDesklets starterbar, and it didn't handle currently running programs. Awn is just plain awesome. Unfortunately, I don't use Gnome on my desktop at home, I use Xfce. So I svn co'd the source and created a patch that uses libxfce4util and thunar-vfs instead of gnome-desktop and gnome-vfs. I submitted that patch to the tracker, where, as of the time of this writing, I haven't gotten a response. We'll see. Next up on my list of modifications, is to use Glib's GKeyFile (read: ini-like file parser) as an alternative to GConf. Because bzr-svn finally doesn't die when I try to checkout a remote repository (as of bzr-svn 0.3.2 and bzr 0.15rc2), I now have a bzr-svn branch that contains all of my changes to Awn.
Speaking of bzr-svn, at the request of the developer of bzr-svn, I have published my modified subversion ebuild that contains the patch listed in the parent post to that comment, in a bzr branch, of all things. This branch also contains the latest releases of paramiko, bzr (0.15rc2), bzrtools, bzr-gtk, and bzr-svn.
[Edit: forgot paramiko]
[Edit: forgot to finish a thought]
[Edit (2007/05/16): Update here]
by Mark at 2007-05-17T05:04:07Z
After a suggestion by a commenter, I've registered a project on Launchpad for my Gentoo overlay of Bazaar-related ebuilds. If you have any patches or bundles, don't hesitate to submit a bug there.
(As an aside, I made the logo by combining the SVG logos of Gentoo and Bazaar in Inkscape; it's much easier than you'd think.)
by Mark at 2007-05-17T05:00:56Z
(Part I of a multipart series)
Printers which cannot distinguish between one and three sheets of paper going through the spooling thing at once (I am not an expert on printer jargon), thereby printing 5% of the page on one page, 5% on the second, and 90% on the third. Which also screws up the double-sided print job you were trying to do in order to save paper.
2007-04-18T12:41:47Z
In my previous post, I was running the APE via the command line because I couldn't figure out how I could run it as a CGI in Apache. I don't really want to run Tomcat just for this, and I've had bad experiences with Tomcat administration both for school and for work (which I guess is basically the same thing at this point). So after a bout of searching the Internets, I had found a post on JRuby on Rails which helped me greatly in configuring it. So, without further ado, here's the relevant apache configuration snippet:
SetEnv JRUBY_HOME /usr/share/jruby[1]
SetEnv JAVA_HOME /usr/lib/jvm/sun-jdk-1.5[1]
# Jing dependencies
SetEnv CLASSPATH ...[2]
AddHandler cgi-script .rb
Options +ExecCGI
Notes:
For the APE, I had to add #!/bin/bash /usr/bin/jruby to the top of it. For some reason, CGI complains if you leave out the /bin/bash part of it.
by Mark at 2007-04-15T19:30:02Z
There are currently a bunch (~20) of urchins in the Suzzallo reading room who walked in to take a look at the desk of former Senator Warren G. Magnuson. Why they did it, I have absolutely no idea. These were definitely elementary school-aged ones, and even during my tenure in the public school system, I didn't learn very much about the famous senators Magnuson and Jackson in Washington State History class.
2007-02-15T22:10:46Z
I passed Brian AND Carl in number of tracks played on Last.fm. Go me!
...don't look at me like that, I have a right to be shallow every once in a while.
2007-02-06T09:32:58Z
This one (particularly the last panel) describes me in general.
This other one also describes me (at times). It also describes
sus7. I swear. I've seen it happen.
2007-02-02T02:56:08Z
I am continuously amazed at people's (in this case, college students about to graduate, or those that already have done so) general incapability to follow simple directions.
2007-01-25T14:13:47Z
It seems that everybody I’ve talked to in the last little while has found a way to work it into the conversation: “Oh, and I’m hiring; know any good developers?” Plus, the pace of calls from head-hunters has picked up. It’s about as hot as I can remember it being, ever, including the bubble.
...yeah, I must be looking in the wrong place. Or maybe it's my lack of experience. It doesn't help that I don't:
...bleh. This is just me ranting. One of these days, I need to publicly publish my resume.
2006-12-07T23:27:27Z
Gah, election coverage consumed most of my night, just like it did two years ago. DAMN YOU, TELEVISION! At least it's less aggravating this year.
2006-11-08T09:17:47Z
Yahoo! is in talks to buy Facebook, the social networking site for college- and schoolkids, the WSJ reports today.
The WSJ article (via ProQuest) noted that Facebook had held separate discussions with Microsoft and Viacom
previously. Personally, if Facebook were to have sold out to Microsoft, I would have deleted all of my information as soon as it was announced. I think it's just as bad to let a company like News Corp. to have a hold of that much personal information. I'm not sure what to think of what will happen if Yahoo! ends up buying it. Yes, it's also one of those giant companies, but they seem to have made Flickr and del.icio.us (some of their other relatively recent acquisitions) better services.
Discuss.
2006-09-21T21:40:48Z
It's a good thing I read the news (and look at the Electoral Vote feed), otherwise I would have completely forgot about my silly absentee ballot. I wonder what prompted them to add the "Signature Security Flap"...
In other news, Yarr.
2006-09-19T21:53:14Z
I was talking to my dad today, and he mentioned the main feature article in this week's Seattle Weekly on rats. Why did he bring this up, you may ask yourself. Well, it just so happens that a few weeks ago, it seems that a rat crawled up out of the sewer pipes and into the toilet bowl. Needless to say, I was rather nervous the next time I had to use the facilities at home. Damned toilet rats should NOT exist.
2006-08-14T04:41:57Z
Listening to the sound of someone retching outside my window for five minutes straight is just heavenly.
2006-08-14T03:34:55Z
It’s that time of year again! Every August, Seattle is treated to 4 days of being under attack by jet fighters in the form of the Blue Angels performing at Sea Fair. Aptly described by a friend as “sky NASCAR”, these giant wastes of taxpayers dollars whiz around the city at like 300 feet all weekend, scaring the bejeeezus out of everybody.
Tip: You know it's too damn loud when you can't hear the music you're playing when they're flying over.
Why don't they just stick to their area over I-90the Medina/Bellevue/Redmond area?
2006-08-03T19:25:13Z
Am I the only one who thinks that Bedlamball seems an awful lot like Calvinball?
2006-05-03T07:58:18Z
Vietnamese sandwiches for lunch has got to be the best lunch food ever.
2006-04-13T22:24:31Z
Note: some of this stuff is technical and should have gone here, but it also deals with LJ and I don't really feel like making yet another post.
2006-04-09T23:08:37Z
A little background - I wrote this after receiving three emails from three different people in my mailbox (within the course of about three hours) that contained exactly the same content. I happened to forget that it was in my "Drafts" folder until now. Edited only to look better.
To Whom it May Concern:
I've just about had it with the way iSchool staff use the mailing lists that those that are in the school are "strongly encouraged" to subscribe to. It appears that a significant number of those who post to the lists are not aware of the social norms that should be followed when performing such a task. An example of one such occurrence was Feb. 11, when three different professors forwarded the same email to two mailing lists [1]. Utilizing Google, the iSchool's obsession, a set of useful links to mailing list etiquette pages can be found, but the first of which is sufficient [2]. In reference to the example occurrence, this particular paragraph is relevant:
Should I "crosspost" to multiple lists?
Almost always, the answer to this is no. Most mailing lists are topically disjoint, and there is very little that is equally appropriate for posting to a number of them. It can also be annoying, as usually subscribers will get a copy of your message for each list they're on that you post to -- more than two or three of those and you can have a lot of annoyed people knocking on your mailbox.
That said, there may be some occasional instances where it would be appropriate to post to a number of lists at once. If you think this is the case, then you should probably contact the owner of each list and make sure that they agree before proceeding.
Hopefully, this will enlighten some people as to how to "work smarter, not harder" with regards to mailing lists.
Thanks,
--
Mark Lee2006-03-13T02:17:52Z
This is meant mostly for myself, as a reminder.
2006-01-23T19:07:13Z
2005-11-16T10:12:59Z
Why the hell do I have to download SIX PDFs for ONE STUPID DOCUMENT? Stupid "Electronic Reserves".
2005-10-13T06:41:07Z