News You Can Bruise

Permalink [Comments] (5) Ultra Guilttrip:

Big ole weblog entry on recommendation systems mentions the Ultra Gleeper, and Paolo Massa, whose paper I referenced in the UG paper, has also noticed it. I find a lot of good weblogs to subscribe to from backlinks and being del.icio.used.

I have from the beginning felt that my paper is a much better contribution to the field of computer science than the Ultra Gleeper itself. The Gleeper, like all flesh, is frail and has shortcomings, but the paper exists in the realm of ideas, and solves all the damn problems and crowns me king of the world already.

Regrettably I have used this fact as an excuse to not work on making the Ultra Gleeper easier to install and use. I am a mess, I have writing assignments and even despite that I'm lazy and don't do work (this is also the reason I have not responded to your email). Also I beat myself up about the absolute amount of time I waste, even though by relative standards I'm a pretty productive guy.

Oh yeah, as long as I'm touting accomplishments that just highlight my lack of follow-through. blogs.gnome.org has started using NewsBruiser for their user weblogs, and they say nice things about me that I don't think are deserved. Also Benjamin Kahn ported one of those standard weblog themes (ie. one of the ones you see everywhere on weblogs of all shapes and sizes) to NewsBruiser. It looks nice!

development development/NewsBruiser

Permalink [Comments] (1) Kind Of A Penguin:

There's also a new NewsBruiser, because Jarno found a bad bug in the comment system. I recommend everyone who uses comments upgrade to this version, especially since 2.6.0 also fixed a bad bug in the comment system. I don't actually know of that many NewsBruiser weblogs that have comments, though. All the crummy.com weblogs have been automatically upgraded.

development/NewsBruiser

Permalink [No comments] Comment Permalinks:

Let me know if you like this solution. In the default theme you can link to a NewsBruiser comment by referencing the time it was posted: here's one of Zack's posts. Older entries don't have this feature in the static files because I haven't rewritten the static files yet.

I have no idea why I tried this before and found it really difficult. Either I fixed the problem while doing something else, or I was trying to have the permalink be the ordinal of the comment (which might change if comments get deleted) instead of the post time. I'd rather have a human-recognizable anchor than one that would be ambiguous if two people should happen to post comments in the same second.

development/NewsBruiser

Permalink [Comments] (6) Spam Will Eat Itself:

The NewsBruiser wiki has been defaced with wiki spam for a while. Recently I decided to do something about it, so I examined the patterns and found some bizarre features unique to wiki spam.

First, the spam I was getting seemed to be manually entered. There were long (by web bot standards) and irregular pauses between hits from spammers, and slightly differing spam methodologies. Sometimes the log message for a spammy change had a solitary "d" or "df" in it, the mark of a person used to scribbling crap data into web forms. It was kind of sad to imagine the people whose job it is to manually spam wikis, like an email spammer who must manually type in SMTP commands. Maybe I'm missing all the bot-based attacks because I use a relatively unpopular wiki software (just as the only comment spam I've ever seen on NewsBruiser was manually entered)

What is new and interesting, though, is the way the wiki spammers locate wikis to spam. To get things started there must be some bots that can spam SubWiki, or particularly persistent manual wiki spammers. But once there is any spam at all in a wiki, a pheremone trail has been laid down and the hordes close in.

You see, the majority of manual wiki spammers seem to be free riders who use search engines to find wikis that have already been spammed, then go in and replace the preexisting spam with their spam. The internicene warfare rages without end, as spammers destroy each others' contributions to the wikispamosphere while making a mockery of the work of the original spammer who went through all the trouble of finding that wiki in the first place, or writing a bot that could spam SubWiki. For shame!

There are a variety of engines and sub-techniques in use, but the most common one is to search for "wiki" plus the name of a site to which wiki spam points. Then, for each hit, go into the wiki and replace the (spam) text of the page with your own spam text. This anti-wiki-spam organization has documented this behavior, but not its comical implication.

Until I can figure out a better solution which hopefully doesn't involve me doing a whole lot of SubWiki development or switching wiki software, I am going to do a little free riding of my own. I've implemented a couple solutions that protect the NewsBruiser wiki only because it's not worth five seconds of a spammer's time to figure out what's going on, when there are so many other wikis they could be spamming.

development/NewsBruiser technology/software advertising/spam

Permalink [No comments] How Do Ya Like Them Aardvarks?:

It's up. I fixed all the stuff people were complaining about in the earlier entry, probably at the expense of stuff people sent me email complaining about much earlier than that. The two new things that have affected my NewsBruiser life the most are the comments-via-email thing and the better editing workflow.

development/NewsBruiser

Permalink [No comments] :

New NewsBruiser coming tonight, hopefully. First I gotta test some comment mail stuff.

development/NewsBruiser

Permalink [Comments] (3) Aw, How Cute:

After a year of paranoia I got a cute widdle comment spam. Probably the result of a random form-submitting robot rather than a NewsBruiser-spamming robot. I'm leaving it up to remind me to fix the NewsBruiser bug it exposed; NewsBruiser shouldn't have accepted a comment on such an old entry. Not sure why only that entry was spammed. At last, I can start training the Bayesian filter!

Update: Actually, judging from the accesses from that IP on that date, it looks like someone went poking around NYCB with a web browser and posted spam on two specific entries. Weird.

Update again: The bug is fixed and the spam is gone.

development/NewsBruiser advertising/spam

Permalink [Comments] (3) :

I don't know why I could find no Python library equivalent of The Demoronizer, but today I got fed up with not just Microsoft smart quotes but with ISO-Latin-1 in general, and I wrote ASCII, Dammit, which will remove those characters from your string once and for all, replacing them with HTML encoded entities or with my lame guess at a plain-ASCII rendering.

I'm sure there's something you're supposed to do ahead of time to prevent Python from choking on those characters, and that I'll hear all about it soon, but this is still useful because you can use it to get rid of the Microsoft smart quotes. Everyone hates Microsoft smart quotes, right?

development/NewsBruiser technology/languages/python technology/languages

Permalink [Comments] (4) Category Non-Error:

Man, it's nice to post without having to check to see if I can post today. (By the way, has anyone figured out what I was doing? Hint: I'm way too proud of it and it wasn't worth the planning it took.) Anyway, today I take finger to keyboard to praise a new NewsBruiser feature to which I gave short shrift in the actual release.

The feature was written as part of the del.icio.us integration (thus the shortness of the shrift), but you can use it standalone. Instead of selecting categories from a list you can just type in their names. Categories that don't exist get created. It's so easy to use, no wonder it's #1 (for del.icio.us interfaces). If I didn't have so much invested in my baroque system of long category names, I'd start using it for NYCB. I may do so anyway. I'm a loose cannon, Richardson! Turn in my badge!

development/NewsBruiser

Permalink [Comments] (3) :

Hi, I'm Seth David Schoen. Not really, but let's say I was. Today would be my birthday! And my friend Leonard would be racking his brain trying to think of a gift that would top 2002's floating-head-fest ksethdavidschoen. And failing, because he totally forgot until the last moment that he needed to think of a present for Seth. Yes, the same problem that befalls people who buy presents also lies in wait for those who write pieces of software to use as presents. He'd have to fall back on the old "I'm Seth David Schoen" gag, that tired prune of a joke.

But wait! Surely the fact that it's such an old joke is the key to how best to use it. In this computerized age, can we not automate the rituals that, while not actually giving us satisfaction, give a sort of second-order satisfaction when we see that others still perform them? Do we dare treat a running gag not with the deference due to age but with the surgeon's eye of the seasoned refactorer?

Indeed we do. Now that I [still Seth] use Leonard's NewsBruiser weblog software, all sorts of crazy plugins are within my reach. If only Leonard would write a NewsBruiser plugin that implemented this bizarre in-joke! Then my [Seth's] birthday would be complete!

Well, far be it from me [Leonard] to interfere with the completeness of Seth's birthday. The Birthday Incompleteness Theorem notwithstanding, I present NB-SethDavidSchoen, the most useless NewsBruiser plugin ever, and the first to come in a standalone package (the two are related). Furthermore, I've flipped the switch on my own weblog for the remainder of Seth's birthday.

As are we all, I'm Seth David Schoen.

development/NewsBruiser people/Seth David Schoen development/ksethdavidschoen

Permalink [No comments] Subscribed to Seth:

Seth's diary is now on NewsBruiser, after an evening of rewrite rule magic and Apache configuration frustration. Now you too can subscribe to his RSS feed, or just enjoy the superior navigability of NewsBruiser over... HTML files. Yeah, that was hard to beat.

weblogs development/NewsBruiser people/Seth David Schoen

Permalink [Comments] (1) NewsBruiser: Aggregated Assault:

I have some 5x7 notecards and I write down my big projects on them so that if I ever feel lackadaisical like I don't have any big projects, I can look at the notecards and remember that I'm just lazy.

This is one of the projects and to be honest there's not much on its notecard except the name--that's how lazy I am. But phase one is now complete: you can now take arbitrary RSS feeds and aggregate them into a NewsBruiser weblog, a la my arch-rival Scott's Planet.

Viola! I give you the long-promised Richardson/Chadwick/Matkin/Whitney/Walch recipe weblog! Right now it only has me and Susanna since we're the only ones with a category where our recipes go. If you've got a weblog on this site and you want in, send me mail and I'll show you how to create a category. You don't have to do anything special to get recipes to show up in this weblog; just post to your category and they'll show up within an hour.

development/NewsBruiser

Permalink [Comments] (1) Biting The Hand That Feeds:

My latest contribution to the LazyWeb: The Syndication Automat! I suck websites into NewsBruiser weblogs and show you the RSS feeds that result. Eventually I'm sure I'll scrape ConGlomGo's site and anger the corporate gods, but for now I'm sticking to getting information out of the government, Project Gutenberg, and other well-meaning mastodons. Hit the wiki page if there's a feed you want and you think I might want it too. Life is too short for me to mantain a bunch of scraped feeds I'm not actually interested in.

This was the main reason I wrote Beautiful Soup, so it's been in my head a while. I've been building it up in pilfered snatches of time and it's good enough to release now. It's also the first project created under the aegis of the new Center for High-Energy NewsBruiser, the name I like so much I'm going to use it for my other NewsBruiser-as-web-platform projects.

Give it a try if anything there interests you. I'm especially proud of the text excerpts in the Gutenberg feeds, and the clickable maps in the piracy report.

development development/NewsBruiser

Permalink [No comments] NewsBruiser Nepotism #3:

My cousin Joseph Walch joins the cavalcade of my family members with crummy.com weblogs. Joe is Alyson and Kristen's brother. If you're related to me, the offer remains open.

development/NewsBruiser people

Permalink [No comments] Curse You, Noun Gender:

After way too much nightly drudgework on NewsBruiser at the expense of all the work I wanted to do, basically all its text is now I18Ned or I18Nable. I managed to do this without sacrificing ease of installation, ease of use, or the decentralized nature of the plugin architecture. Jean-Pierre is still working on actually doing the I18N and the French translations, but he's done with everything except the themes (which were the last piece of the puzzle) and most of the plugins. If you've been wanting to translate NewsBruiser into another language, now's a good time to start.

development/NewsBruiser

Permalink [No comments] The Matrix Refactored:

Sequels are never as exciting as the original, but in this case it was neccessary. The del.icio.us integration was a big fat hack, and it had to be fixed. Now there's a separate annotation plugin that lets you associate a URL with an entry, and the del.iciou.us plugin checks to see if there's a URL in the special URL slot instead of seeing if you typed a URL in the title field.

Sometimes it takes a day or so for me to remember that I wrote a plugin-based system and not just a system where you have to put new features in a directory called "plugins", but eventually I figure it out.

development/NewsBruiser

Permalink [Comments] (1) I finally finished something!:

I'm sure you've had one of those time periods. The thing I finally finished automatically exports appropriate entries in my personal notebook to my del.icio.us account. I like my personal notebook because in it I can work on stories, write notes to myself, and ramble on at length about things that aren't links, but I also like the public-brain aspect of del.icio.us. Thanks to doing useful work, I can have both. I spent a little time reformatting old entries so they'd get crossposted, and it's a nice feeling. There's some entity escaping going on that I don't want to go on, though.

The del.icio.us plugin is in NewsBruiser, but I think it's stretching the limits of what should be in NewsBruiser. I can't see that many other people really wanting to echo certain of their weblog entries to their del.icio.us accounts. Am I wrong?

technology development/NewsBruiser

Permalink [Comments] (2) Attention George Moffitt:

I can't email you; something between me and you does not like recipient. The answer to your question is to append ?content=lofi to the URL of the RSS feed. Also, if you're running off a CVS checkout, update plugins/entry/render/syndicate and it'll do exactly what you want instead of a lame approximation.

development/NewsBruiser

Permalink [No comments] :

Man. Just spent way too much time cleaning up the NewsBruiser I18N keys. We've now crossed the I18N Rubicon; all the main code has been I18Ned and now it's just the libraries and the modules. Time to figure out how to handle the libraries.

development/NewsBruiser

Permalink [No comments] :

Testing NewsBruiser's newfound use of Ping-O-Matic, the long-awaited (by me) service that offloads the work of pinging the myriad of weblog aggregation services that spring up like mushrooms in the wake of a Mushroom Creation Scroll. Found via Ned Batchelder.

development/NewsBruiser

Permalink [No comments] :

Today's a day I've been waiting for: at last, there is a user-contributed NewsBruiser plugin. Timo Virkkala's SummaryList plugin is a little mini-entry list that can go on every page on your NewsBruiser install. It is neat, and I didn't write it!

More NewsBruiser meta-stuff later.

development/NewsBruiser

Permalink [No comments] NewsBruiser, Citoyen du Monde:

Thanks to persistent prodding from Jean-Pierre Chretien (not, despite appearances, the former prime minister of Canada), NewsBruiser now has an internationalization framework. It acts like gettext but it's not. I couldn't get gettext to do what I wanted it to do, and wrestling with gettext was costing valuable time that could be better spent sipping lemonade while my users do translations for me. Now that Jean-Pierre can translate in peace, I'm free to improve the framework or maybe even get gettext to do what I want. Jarno, the door is now open to the Finnish translation you wanted to do. I'd wait until Jean-Pierre finishes I18Ning all the bare strings, though.

development/NewsBruiser technology/languages

Permalink [Comments] (2) Creative Cormorant:

And we're back. Kevin did an OS upgrade on this webserver so now we have all sorts of goodies like Apache 2 (which means mod_py (which means mod_py support for NewsBruiser) and a Subversion repository (which means SubWiki (which means a NewsBruiser documentation/fun Wiki)). Yes, it's all about NewsBruiser here. And parentheses. Speaking of the world's premiere news bruising software package, I just released version 2.4.0, "Creative Cormorant". Not only does it have integrated Creative Commons licensing support, it fixes several a couple bugs in the configuration interface that could cause you to lose data, so I definitely recommend upgrading.

development/NewsBruiser site-meta

Permalink [No comments] Hummus Weblog or Licensing Weblog?:

You decide, gentle reader. Tonight I got a lot of good work done on the notebook licensing stuff as well as my usual time spent solving the problems of my new users. The licensing code is one or two hours from being releasable; I just need to tie in the templating code. The release may happen tomorrow or it may happen Tuesday; I'm going to Bakersfield again for the long weekend so there's a kind of narrow window.

It's well-known that typos spawn ideas. Such an idea: the I Want Options library should spawn a knockoff called I Want Potions.

development/NewsBruiser

Permalink [Comments] (2) Rewrite Rules:

It seems I am, relatively speaking, the master of Apache rewrite rules. If you're setting up NewsBruiser and you want the URLs to look a certain way, send me email letting me know what you want them to look like and I'll come up with some rewrite rules for you to try.

Note that rewriting goes both ways. If you use rewrite rules you also need to create a Python class that rewrites the URLs NewsBruiser generates, so that it outputs the nice URLs that will trigger your rewrite rules. I can help you with this too, if you want.

development/NewsBruiser

Permalink [Comments] (2) Instant Karma Chameleon:

This is seriously the best NewsBruiser yet. It's got all the features on Zack's "stuff NewsBruiser can't do" wish list, and you know Zack's a tough customer. You want NewsBruiser to look like the rest of your website, you got it. You want a blogroll, you got it (albeit slightly ugly to manage). The search engine is smarter and much more robust; it's fun to search where before it was kind of a drag, as though your baby had been untrue.

And if you like to import things, you're in luck. Not only can you hook a NewsBruiser weblog up to a Moveable Type weblog and suck down all the entries, comments, and trackbacks; it now comes with a lumbering Tor Johnson of an HTML machete (deserving of its own post, tomorrow) that you can use to exhume weblog entries (and things-that-should-be-weblog-entries) from their nonstandard HTML coffins.

You'll forgive me if all that functionality makes me wax poetic for a bit. Over the past year or so I've been thinking about weblogs, syndication, online communities, information retrieval, the next step in computer-mediated communication... the whole bit. I haven't been talking about it much, because I don't do the grand vision thing well. In my experience, a grand vision is largely a pheremonal advertisement for the person with the vision. I see instead a lot of little strategies and experiments. The world doesn't need another wannabe visionary, but I figure if I can make some incremental improvements and implement some ideas, I can hold my head high with the rest of them.

This ties into NewsBruiser like so: you know how a lot of open source software projects start out with an idea to write a program to do one task, then get it into their heads to do a generalization of that task, and keep integrating the task over some variable and never get anything done? I am fortunate and happy to report that the history of NewsBruiser development has been the good twin of that phenomenon.[0] All this time I've been envisioning and implementing slight tweaks to NewsBruiser concepts that open up new vistas, restricted liftings of restrictions that make it more powerful. Such changes add up, and somewhere during the past year the application became capable of being a platform. Those slight tweaks are becoming more powerful, and my crackpot ideas for fearsome electronic beasts are resolving themselves into simpler and simpler transforms on the NewsBruiser codebase.

But as they say, talk is cheap. I'll let you know when the killer app is done. For now, we've just got a really good weblog system.

[0] The urge to generalize is natural, and it's not hard to generalize without biting off more than you can chew: you start with a working system; you make incremental improvements; you make sure all improvements have a working system as their endpoint; and you try very hard to make the new system as simple to use as the old system, assuming you don't care about the new features. Above all, be patient. It will be better and come faster, and you'll get a better understanding of the problem domain if you don't try to do everything at once. Slow and steady wins the race. A stitch in time saves nine. Neither a borrower nor a lender be.

PS: Zack, Mike, everyone else who's interested: give this version a try. Let me know if you have problems or feature requests.

development development/NewsBruiser

Permalink [Comments] (5) :

The licensing stuff has to wait a little bit, because today I discovered that Movable Type has a data dump format! Well, you know how I love importing entries from other weblog tools. So I had to add a plugin to NewsBruiser that eats up that format and turns it into NewsBruiser entries. Thanks to Josh and Anirvan for sending me example dump files for me to work with. Today's new library is Transfusion, which parses the not-so-great MT data dump files into something you can use.

Incidentally, I've noticed a worrying difference between email spam and weblog spam. With email spam, the spammer can maybe approximate your spam list (after all, even spammers get spam), but they can't see your non-spam list without cracking your email account. On the other hand, with weblog spam no one sees the spam you deleted, but all the non-spam comments are right there for everyone to see and parse. It would be trivial for a comment spammer to post an exact repeat of someone else's comment but with Viagra links all over the place. In the long run, a Bayesean filter for comment spam might degenerate into an IP and URL blacklist. Is there any algorithmic defense against an attacker who has access to everything previously blessed by the algorithm?

weblogs development/NewsBruiser

Permalink [Comments] (3) Shameless Word-Of-Mouth Marketing:

Wherever there are petty, disgruntled Moveable Type users there is an audience for my rabble-rousing. Check out my weblog software, NewsBruiser. It probably does what you want; it's easy to install, upgrade, and hack; and it's open source and written in Python. Also, declare yourself emperor while the real emperor is away inspecting the border with Gaul! It's easy and fun!

PS: There must be a more effective way to do this?

development/NewsBruiser

Permalink [No comments] No, I Da Snowman!:

You know how sometimes you work and work to find the cause of a bug, and after hours of debugging it turns out to need a one-line fix? Well, I just committed a four-line fix. Four times as satisfying!

development/NewsBruiser

Permalink [Comments] (2) The One Time That Little "Under Construction" Icon Would Be Appropriate:

I just updated NewsBruiser after a bunch of big Zack-related changes, so who knows what kind of stuff is going to break. Be on the lookout!

development/NewsBruiser people

Permalink [Comments] (3) :

Tonight I reached a NewsBruiser milestone (by popular demand, you can now change the look of the notebook front page with templates), and tried my hand at baklava. I don't like wimpy dry baklava, so I packed it full of walnuts, dates, and shaved chocolate. It turned out pretty well, I think.

food development/NewsBruiser

Permalink [Comments] (3) Where was I on the night of the 19th?:

Way-ul, I was sitting in my chair, working on the new NewsBruiser website. It's got a big tour page that covers most of the major features, and a great new logo and button drawn by Brendan. Both logo and button feature the bruisin' yet friendly NewsBruiser pachycephalosaurus, as yet unnamed. Name him, and win a valueless prize!

If you're interested in the progress of the Brendan/Leonard logo collaboration, check out the Gallery of Rejected NewsBruiser Logos. The dimetrodon was my original idea, and in the face of all evidence I still think we could have gotten it to work out somehow.

development/NewsBruiser biology/organisms/dinosaur

Permalink [No comments] :

Kevan's latest project is a syndicated weblog of Victorian satire Diary of a Nobody. It uses NewsBruiser, and in doing so exposes all the warts of the portal page that for some reason I never really anticipated being used as the front page of a website. Gotta get busy.

PS: Coming soon: more Kevan mania. Wait til you see the link he sent me! You won't believe the twist! Because it's based on a counterfactual!

PPS: Already here but not actually released: mine and Peter's weblog-ish hypertext versions of Gogol's Diary of a Madman. There's also fifty contemporary weblogs with the same title, most probably named after the Ozzy Osbourne song rather than directly after the story. Find the next trend before it happens!

weblogs development/NewsBruiser literature people

Permalink [No comments] NewsBruiser Review is Here!:

Previously, on News You Can Bruise...
Joe says that there was a glowing review of NewsBruiser in the UK magazine Linux Format.
...
Joe is sending me the magazine and I'm gonna type it up.
...
Just another way in which my life is less exciting than Pepys': fewer random onstage beatings.
[Nb. I guess that's the subplot?]

And now, the continuation...

Got the package in the mail today. I thought "Huh, this looks like a magazine. I didn't order a magazine! Huh, this looks like overseas mail. Who would send me a magazine... from another country?" I forgot that my life has continuity. Anyway, the article is as glowing as Joe said it was, and as promised I've typed up the review and plan to shamelessly exploit it for promotional purposes. Some choice quotes from the review:

"[O]ne of the best blogging utilities doing the rounds."

"Installation is brilliantly simple..."

"[T]he whole system runs like clockwork."

"Friendly, organised, versatile and great to use."

How do you like that bookending? Thanks, Joe!

development/NewsBruiser

Permalink [Comments] (2) Freshmeat Mysteries:

Freshmeat's page for NewsBruiser says it has a rating of 8.37 out of ten. With one vote. How is that possible? I can only rate a project with an integer. Is the 8.37 a grandfathered score from some older rating system in which NewsBruiser had multiple votes?

Update: Your Earth FAQ has the answer.

Coming soon, if you're interested: easily-derivable-from-first-principles secrets of how to get the most bang for your Freshmeat announcement buck.

development/NewsBruiser technology/software

Permalink [Comments] (3) The Rothe Hits!:

New NewsBruiser release. It's Atom-licious! And Sumana-compliant!

development/NewsBruiser

Permalink [Comments] (4) An Atom of Sense:

Getting back to NewsBruiser development. I made a bunch of comment-related fixes and I just finished adding Atom syndication support. If people are going to make my life difficult by making up new syndication formats, I might as well play along. Still need to fix the longstanding timezone problem with the timestamps: I'll do that tomorrow and then cut a release.

New comment features: you can automatically shut down comments on old entries, and you can turn on comments for specific entries instead of for the whole site.

Joe says that there was a glowing review of NewsBruiser in the UK magazine Linux Format. Since they don't do aspiring weblog software authors the favor of putting their glowing reviews online, Joe is sending me the magazine and I'm gonna type it up. And as long as we're discussing Linux magazines with weird names, how about India's Linux For You?

development/NewsBruiser technology/software

Permalink [Comments] (1) I'm Sorry, I Can't Seem To Read The Rest Of Your Message:

Dear Leonard,

Your newsbruiser was introduced in one of the magazines published in Korea, and

development/NewsBruiser

Permalink [No comments] You Know The Drill And Set:

Here you go: NewsBruiser 2.1.0, with real commenting action. This version's nickname is previous Crummy title and all-around piece of good advice "Release Early, Release The Hounds".

development/NewsBruiser

Permalink [Comments] (10) Comment Test Entry:

I'm about to release NewsBruiser 2.1; I just want to make sure that the comment cookie/Javascript thing works.

development/NewsBruiser

Permalink [Comments] (4) Price Check On Colostomy Bags!:

Uh... I need some help with JavaScript. I want to read a user cookie and populate some form fields based on the contents of the cookie. Email me if you can help, and try to be discreet.

(Don't worry, NewsBruiser is not going to become a JavaScript monstrosity. I need JavaScript so that static entry pages can have the comment fields prepopulated with your remembered information. If you don't have JavaScript, the comment cookie stuff won't work on a site with static entry files; that's all.)

development/NewsBruiser

Permalink [Comments] (6) State Of The Comment System:

OK, back to your regular, non-mysterious stuff. The comment system is coming along quite nicely. Here's the stuff I have to do next time I have free time (probably Thursday, as tonight is dinner and TV night with Sumana).

Stuff you don't care about because it's internal:

Of course, since basically all the comment stuff is in one file, you could hack on it yourself instead of waiting for me.

development/NewsBruiser

Permalink [Comments] (5) One Side Of The Paper, Please:

Many new comment features now in place, including a goofy-looking icon I drew and does-what-you-want newline handling. I also made up a really simple XML representation of Bayesian classifications and made Newsbruiser export to it. I call it Cheatsheet, and I hope others will use it so that people can, eg. share a Bayesian spam corpus between NewsBruiser and SpamAssassin. If something like this already exists, let me know and I'll kill Cheatsheet.

development/NewsBruiser technology/software

Permalink [Comments] (22) It Lives!:

NewsBruiser now has a rudimentary comment system with Bayesian spam filtering. Go ahead and try it out; if you break it I'll fix it. You know what this means: I need another icon. A speech bubble? A burst of flame? Well, I could probably draw a speech bubble myself.

development/NewsBruiser

Permalink [Comments] (1) Unintended Consequences:

When I added a NewsBruiser statistics gatherer that counts which words you use most frequently in your weblog entries, I did not envision this.

development/NewsBruiser people/Rachel Richardson

Permalink [No comments] :

Hoo, if I may, hah. I've got my nitro-burning NewsBruiser Bayesian spam detector working and into CVS, and it is sweet. Now that I've got it working, I can implement comments in NewsBruiser with a relatively clear conscience. It's still a way for people to automatically write on your website, but now there's a way to automatically stop them from writing crap. There might even be comments on NYCB in the relatively near future (shock, gasp, etc.).

Other reasons why you should look at that screenshot: the first fake weblog name is really good, good enough for someone to use[0], and while making up fake spam for the sample Bayesian network I came up with the phrase "the set of all sluts".

I think the lack of comments is the leading cause of people who might use NewsBruiser not using NewsBruiser. Every time people complain about Blogger or Moveable Type, I (along with every other penny-ante weblog software author) see an opportunity to plug our own software. I'm too shy to actually do it, though. I'm stuck in the naive hacker's world where if I make something better everyone will automatically use it.

I still need weblog spam from you. I want to provide a starter Bayesian network with NewsBruiser, and I need me some data. The trackbacks and comments will share a Bayesian network, BTW; the datasets are undoubtedly similar, and that will cut down on training time.

PS: I made Reverend work with Python 1.5, because I live in a cave. If you're interested, it's here.

[0] Another weblog name I made up recently: "Commodius Vicus". You're welcome.

weblogs development/NewsBruiser

Permalink [No comments] :

Do you have a weblog? Are you bothered by unsightly trackback spam and/or its sinister, tar-dripping companion, comment spam? I'd like to collect samples of these noxious materials for NewsBruiser work I'm doing. I can find lots of places where people *talk* about weblog spam, but by the time they start talking about it they've already gone in with a pitchfork and killed it all. So please mail me some weblog spam you've gotten, if it's convenient for you.

weblogs development/NewsBruiser

Permalink [No comments] Hot Topic:

I made NewsBruiser capable of talking to the Internet Topic Exchange. Why? Because it's cool. I'm not sure whether ITE etiquette allows me to do my idea for a fully-automatic mapping, where you just turn it on and every NewsBruiser category gets munged to the name of an ITE topic, cluttering the ITE with weird topics like "whale", "mike_popovic", and "shipping_containers" (as opposed to the current, oh-so-orderly list of topics). So right now you have to make a manual mapping between a specific NewsBruiser category and a specific ITE topic. It works, though, and I got a new library out of it.
Sumana: Is this a semantic web thing?
Leonard: Nooo...
Sumana: You know I can tell when you do something with the semantic web.
Leonard: Yes, dear.

development/NewsBruiser people/Sumana Harihareswara

Permalink [No comments] Hello, World:

Kevan made me a nice trackback icon [the icon], which I've added to NewsBruiser. Now if only someone would trackback me, it would show up. HINT! Whoops, I hit the "HINT!" key by mistake.

development/NewsBruiser people

Permalink [No comments] NewsBruiser 2.0:

Get it while it's hot. Code name: "Master Planarian". Money screenshot.

development/NewsBruiser

Permalink [No comments] Icon V:

I need someone to design a tiny icon for NewsBruiser that denotes "trackback", an icon no bigger than the existing permalink icon. I sort of want to use the MoinMoin globe icon, but MoinMoin is GPLed. If you have icon ability, let me know if you're interested.

NewsBruiser has incoming trackback now, incidentally. The display is pretty ugly, but I've got all the neccessary templating in place. (I'm still looking for some general UI help with NewsBruiser, actually).

development/NewsBruiser

Permalink [No comments] This Time, For Sure:

I added (outgoing) trackback to NewsBruiser. I did it entirely inside a plugin, which is why it took so long: I had to add display hooks and code hooks and output hooks and blah and blah. It works, though. Currently working on incoming trackback, which is equivalent to comments, which is equivalent to me giving in and admitting defeat: NewsBruiser will also have a comment system soon.

development/NewsBruiser

Permalink [No comments] Yes, I Think Your Website Is Very Interesting:

Are there any websites besides weblogs.com and blo.gs that want to be pinged when you update your weblog? Now that it's possible (with more plugin magic), I want NewsBruiser to be set up to be able to ping all of them.

weblogs development/NewsBruiser

Permalink [No comments] Plugins: They Do A Body Of Code Good:

Sometimes I think I don't need a plugin system for NewsBruiser. It's overkill! But it's not, because last night I implemented automatic email of new entries by writing two plugins ("send email on entry publication" and "render entry as email message") without touching the main codebase. Plugins let me effectively refactor a lot of NewsBruiser code into separate projects.

Throughout my plugin adventure I've been bothered by Robert X. Cringeley's argument against refactoring. Was I refactoring to improve NewsBruiser or just futzing around with the code to give myself something to do? I kept reminding myself that I was doing this to make it easier to introduce new features that other people had written. Now that it's done, new features are easier to write and don't clutter up the main code. Lousy programming conscience! Take that, Robert X. Cringely!

development/NewsBruiser technology/software

Permalink [No comments] :

Spent the evening working on NewsBruiser. Wrote the plugin system documentation, and made the changes neccessary to make the documentation honest. Leonard's Immutable Law Of Open Source Software: "Version 2.0 is always plugin-based".

There were also a couple plugins I had seemingly abandoned in mid-change a long time ago, and I had to whip them into shape. I'll start testing on Crummy tomorrow and hopefully release version 2.0 next week.

development/NewsBruiser

Permalink [No comments] :

Welcome the latest addition to the NewsBruiser family: Timo Virkkala's WeeTee's Piece Of Mind, all the way from Finland. (Wow, I now know an amazing 0.00005% of the population of Finland! Only 5909239 to go!)

Timo's installation story is pretty harrowing, but only one of his problems was directly caused by NewsBruiser (and it's been fixed in CVS), so I feel a little better. It's always painful setting up a web application on a machine you don't control; I tried to design NewsBruiser for that situation because I know the feeling. Anyway, I hope Timo has a great time with NewsBruiser.

Incidentally, the download URL I gave Timo is this one, and here's the patch against nb/NewsBruiserCGIs.py which fixes the infinite loop problem in version 1.13.0. I guess I'll have to release a version as soon as I get Internet back:

131c131
<         while not os.path.exists(dir):
---
>         while dir and not os.path.exists(dir):

weblogs development/NewsBruiser places

Permalink [No comments] :

So, I added a rudimentary plugin system to NewsBruiser. The minimal example plugin is a Gary-esque thing that automatically links any bare URLs you type (I can't demonstrate because I don't have it turned on here, but it turns http://www.crummy.com/ into http://www.crummy.com/). More plugin madness is surely on the way, including the migration of existing NewsBruiser features into plugins.

development/NewsBruiser

Permalink [No comments] Question:

I thought the term for a modifying filter (a filter which may remove data from a stream, like a regular filter, but may also pass data through in modified form) was "milter", but it looks like that is only used for a modifying filter whose job it is to modify or block email messages. What's the generic term for a modifying filter as opposed to a straining one? I need this for NewsBruiser.

technology development/NewsBruiser

Permalink [No comments] Very Special Episode:

A guy installed NewsBruiser and had all kinds of problems setting it up on his machine. I kept answering his questions and feeling bad, but in his most recent email he says "BTW, for what I am doing I still like NB the best," and it was the best Christmas ever.

development/NewsBruiser

Permalink [No comments] Suffertime:

I forgot to mention that another thing I don't like about template systems is when they add whitespace to my template as they interpolate it. I'm going to be using this templating system to generate RSS 3.0 feeds and other things that care about whitespace. I finally got XYAPTU to work in 1.5, but it introduces blank lines and extra spaces all over the place until I can't stand up. Bleah. Still hacking. Update: Got it to work.

development/NewsBruiser technology/languages/python

Permalink [No comments] Static, Electric:

Not a bad evening's work: I added a framework to NewsBruiser for writing static files containing entries and sets of entries. The result is that this most-recent-25 items comes from a file instead of a CGI call, as does any one random entry. Much faster. It's not usable unless you're a Python hacker, but it's in there and I'm using it. With the proper care, NewsBruiser can now be as aggravating as Movable Type and Blogger! Next up: adding writers for the RSS feeds.

development/NewsBruiser

Permalink [No comments] World Famous NewsBruiser #2:

I don't mention the silly animal-themed codenames I give to NewsBruiser releases in the Freshmeat announcements, both out of my general neurotic distaste for tall poppy self-promotion (notice how the 'get NYCB via email' box is way at the bottom of Crummy's front page, and how NewsBruiser didn't even have a Freshmeat entry for the first four years of its existence) and because I had a vague feeling that the Freshmeat team would just edit out such frivolity. My vague feeling was vaguely justified with the most recent NewsBruiser release, as the Freshmeat team changed "round out the release" at the end of my announcement to the blander "were also added in this release." Perhaps it was merely an attempt to rid Freshmeat announcements of cliches; but then why stop at the announcements? Why not reject entire software packages for being cliched?[0]

All of this is completely irrelevant to the fact that NewsBruiser now has an entry in the prestigious FSF/UNESCO Free Software Directory (UNESCO? They just got involved, apparently.)

[0] Actually, I am kidding. Before my initial NewsBruiser submission was approved, I was interrogated by the Freshmeat admins as to what was so great about NewsBruiser that they should put up another pointer to a weblog program. I think this is a good idea, and I think Freshmeat's reputation for being a repository of pointers to useless, unfinished software is mainly because they don't want to go back and deal with all the packages they added in pre-interrogation days. I check the new packages on Freshmeat every couple weeks for Software Roundup, and even the stuff I'm not interested in is pretty original. Compare SourceForge, which doesn't even care.

development/NewsBruiser

Permalink [No comments] A Small, Friendly Jackal:

Hi, I am Hong Kong Tom. Have you seen the first and latest evolution of NewsBruiser that made in Hong Kong? You can also benefit by making extra income .

development/NewsBruiser advertising/spam

Permalink [No comments] :

I sent a quick tarball of the new NewsBruiser to Brendan, who was having problems installing it due to not having shell access. Says he:
I fully believe that flowers spring from concrete wherever you walk. It totally works!

Huzzah!

development/NewsBruiser

Permalink [No comments] Our Long National Nightmare Has Reached Intermission:

Woohoo, now every part of NewsBruiser setup except actually unzipping the tarball and making sure the webserver can write to the directory is web-based. Gotta test it and rewrite the docs, and then it's time for a release to beat all previous releases.

development/NewsBruiser

Permalink [No comments] You've Never Bruised News Like This:

Working on the final push towards getting rid of the manual-configuration setup step in NewsBruiser. You can now (in CVS) add, delete, and reorder notebooks through the NewsBruiser interface. I have to rewrite the documentation and add application cues for new users, but the heavy lifting is done. They said I was mad! And, frankly, I was mad. But that's neither here nor there.

development/NewsBruiser

Permalink [No comments] :

Easibox looks to replace the little shell script I have written to tar up NewsBruiser releases. I'll have to hack it to pregenerate the template for the release message, though.

development/NewsBruiser technology/languages/python

Permalink [No comments] The Bureau of NewsBruiser Statistics:

I added a statistic-gathering framework to NewsBruiser; you can see the results here. Let me know if you have any ideas for additional statistics.

development/NewsBruiser

Permalink [No comments] We Put The "Fun" In Functionality (And Vice Versa):

It's Templating System Daze here in NewsBruiserville, home of the World's Most Deeply Nested Template. In celebration, the kids from the high school have painted the old barn and put on Template! The Musical. It's the NewsBruiser template interpolation system, now housed in an all-singing, all-dancing Python library. You can use it just about anywhere you've got a string containing embedded commands. What will they think of next?

development/NewsBruiser technology/software

Permalink [No comments] World Famous NewsBruiser:

Buried in an appendix to Blogging: Genius Strategies for Instant Web Content, it's a link to the old NewsBruiser page! Woo hoo!

development/NewsBruiser

Permalink [No comments] :

New NewsBruiser release: 1.12.1, "Rings of the Rattlesnake" (look, my news item got the pi database ID!). No amazing new feature in this release, unless you're wild about ESF or you've got an Advogato diary that you want to import into NewsBruiser, but it's got a lot of bugfixes and the code is more modular. It's a good interim release. Interim to what I don't know.

development/NewsBruiser

Permalink [No comments] Extreme Marketing!:

I added an awesome new doc to NewsBruiser: NewsBruiser Notes From All Over. It contains radical tips about how to get the most out of your NewsBruiser. Right now there's a tip from Gary Benson on making your NewsBruiser installation a speed demon! Also, a silly tip of my own concoction about importing into NewsBruiser from an Advogato site which--surprise!--is also NewsBruiser!

I wanted to make NBNFAO a goofy-looking pseudotainment site like Cool 2B Real, so that the younger generation would be tricked into sampling hot NewsBruiser tips, not knowing that I was secretly underwriting the whole affair in hopes of boosting their NewsBruiser consumption. That fell through because I lack the neccessary design skills, so it's the same (admittedly icky green, which might play well with males 5-8) scheme as the rest of Tigris, and the NewsBruiser Flash hangman game will have to wait. Instead, I'm going the Astroturf route, like Dr. Pepper before me, recruiting key bloggers to discretely shill for NBNFAO on their sites. Unfortunately, that's not going too well either; I've only been able to convince one blogger to agree to the formatting and tone requirements that best reflect the sheer extremeness of the NewsBruiser brand.

development/NewsBruiser advertising

Permalink [No comments] :

A bunch of NewsBruiser cleanup. It's like cleaning the house, except it doesn't just immediately get dirty again. I added I Want Options to the Leonard Software Map, as well as the little HTML-generation module that comes with NewsBruiser, Leonard's Obsequious Markup Producer.

development development/NewsBruiser

Permalink [No comments] :

Added mod_virgule import to NewsBruiser (coding! easy!). Bought tickets and made hotel reservations for PyCon (decision-making! agonizing!).

development/NewsBruiser

Permalink [No comments] You May Already Have Won:

If you use NewsBruiser and want the town from which you blog immortalized in the NewsBruiser example time zone cities, send me mail with the city and the time zone.

development/NewsBruiser

Permalink [No comments] :

I did some useful (for my talk) work on NewsBruiser, and then I did some useless work on NewsBruiser, like adding support for the ESF syndication format. Down at the bottom top of the front page there are now TXT/XML/ESF buttons that I copied from Nick's weblog diary. In short: believe it, y'all.

development/NewsBruiser

Permalink [No comments] :

Got some good work done on the configuration framework; I was able to move all the NewsBruiser-specific stuff into a helper class, and now I've got a generic framework that I can turn into something usable for my talk. The generic library is called "I Want Options".

development/NewsBruiser

Permalink [No comments] :

Crummy's been up and down for a while; the hosting machine has been hanging. Hopefully it won't happen anymore.

Anyway, I released NewsBruiser 1.12, "Remote Control Rhino". It's got the XML-RPC interfaces and many bug fixes and enhancements. In fact, I'll be using it right now to import my old editthispage entries.

Update: Success! Eg. "dinoflagellate", The Even Newer Economy.

development/NewsBruiser

Permalink [No comments] :

You may have noticed something cool and new; if not, please notice it now. Crummy's NewsBruiser links are now run through a routine which gets rid of the .cgi cruft, leaving clean-looking urls like http://www.crummy.com/2003/02/06/1. Apache rewrite rules do the transformation in the other direction. This (the implementation is pluggable, so you can implement whatever transformations you want) is a new NewsBruiser feature, not quite ready for CVS yet, and inspired by Gary's implementation of the same thing.

development/NewsBruiser

Permalink [No comments] :

Gary Benson sent me a couple useful NewsBruiser patches. He also has good things to say about NewsBruiser on his weblog (which is not yet running NewsBruiser, but which I presume soon will be), namely that "NewsBruiser rocks" and "It really is an awesome piece of code".

development/NewsBruiser

Permalink [No comments] :

Committed the Blogger and MetaWeblog XML-RPC interfaces, and as a bonus I implemented the Advogato interface. Let me know if they work; I have no idea except that my little test script creates and edits entries like mad, without crashing. Next: the LiveJournal interface, or at least its intersection with the NewsBruiser feature set.

development/NewsBruiser

Permalink [No comments] More Excitement:

The Amiga port was apparently the last straw, as Pete Peterson II has seen fit to update the robotfindskitten.org site.

I wrote a little CGI for NewsBruiser what implements the MetaWeblog and Blogger XML-RPC APIs. It needs a little refactoring before I commit, but it works. Soon you'll be able to... do various things. And the company that'll bring it to you: NewsBruiser, Inc.

development/NewsBruiser development/robotfindskitten

Permalink [No comments] :

NewsBruiser 1.11.0, "Weasels Bruised My News", is out. It's got a million ways of importing entries: any version of RSS, email, or directly from Manila or Blogger. It also runs on Windows, and has the fun random entry functionality. To do all the importers, I ended up using two pieces of code each from Mark Pilgrim and Fredrik Lundh.

development/NewsBruiser

Permalink [No comments] New NewsBruiser Installation:

The world-famous [PEA] site is now running NewsBruiser. Andrew Newton, the webmaster, says "Very cool stuff...thanks for the good, free code."

development/NewsBruiser

Permalink [No comments] :

I heard from a guy who might want to use NewsBruiser on a Windows server, so I investigated the possibility. It's surprisingly portable, considering I never gave the idea a thought until a couple days ago. There are only three problems I can find:
  1. NewsBruiser uses the Unix-specific crypt module to encrypt passwords. Fortunately, there is a pure Python implementation. This is also good because crypt isn't included with the default Python package on Unix, so bundling my own crypt will increase portability on Unix.
  2. NewsBruiser uses the Unix-specific fcntl module to lock the list of pending index updates. On Windows it can use a method in the msvcrt module instead.
  3. I made the assumption in a bunch of places that the path separator character is '/'; I need to go through and fix those, or NewsBruiser will generate horribly broken URLs and have problems finding files.

Pretty good, I think. I'm also thinking seriously about a paper topic. I think I'll probably go with demonstrating the simple web interface to the configuration file, focusing on the technique rather than the specific tool (I think the specifics of web apps differ too much for such a tool to be both understandable and generally applicable, but I could be wrong).

development/NewsBruiser

Permalink [No comments] :

Did some NewsBruiser code cleanup, and added a MailImporter class which will take an email message and turn it into a NewsBruiser entry. It will handle attachments to the email as uploaded files. There's also a less-polished RSSImporter class which imports entries obtained through an RSS file (right now it only supports RSS 3.0). I'm making RSS the official import/export format of NewsBruiser; it works well for that and I don't want to come up with something else.

development/NewsBruiser

Permalink [No comments] Reader Response Roundup:

Aaron sends a link to the Dr. Fun comic about Donald Knuth that he mentioned last night.

Joe Mahoney on the Python talk:

How about giving a talk on how you've gone about implementing all the different items on that weblog software checklist. The title could be "Treating Feature-itis with Python"

Also, "Newsbruiser! Who ate all the pies?" works in the theme song [Naturally! -ed.]

Brendan on same:

How about just a talk on maintaining your own open-source software as a one-person team? Plenty of people do it, sure, but not many I've seen have the design consistency or version control of NewsBruiser.

And on bags of holding:

You're right about the lame prohibition, in a way--according to the 3rd ed DMG, living things can be placed in the bag, but suffocate after ten minutes. There wasn't anything in the 2nd ed DMG or Unearthed Arcana, though, so it obviously took a while to think up. Maybe the bag is made of astral elastic, so it's always just the right size for the sum of its contents, and air just gets squished out. Or maybe it's a linked list.

development/NewsBruiser

Permalink [No comments] Call For Paper Suggestions:

Some people at work (basically Josh) tried to get me interested in submitting a talk on NewsBruiser to the Python Community Conference, and sort of succeeded: I'm interested, but also apprehensive. Sometimes I consider submitting a talk to some conference or other, but I back out because I'm afraid of wasting people's time. Manoj pointed out that if people thought my talk would be a waste of time, they wouldn't show up. In that case, I responded, I was afraid of no one showing up. Ed pointed out that this would be the fault of the conference planners, for accepting a talk that no one wanted to attend. So I suppose I'm actually afraid of proposing an idea that will be rejected, which is a stupid reason for not at least giving it a try.[0]

So, I can think of a couple topics for a speech and discussion. I'd like feedback from you on what sounds interesting. I've included several ideas, along with the rebuttal provided by my internal critic. Background for those who need it: NewsBruiser is a web-based Python application of about 7500 lines which lets you run weblogs. Python is my favorite programming language; I use it a little bit at work and a lot at home, but I'm not an expert.

[0] Except, I might have an idea which the conference planners like but no one else does, so that no one shows up; or I might have an idea which sounds good enough to get people to show up but which actually is a waste of time. Also, I might show up to the talk in only my underwear, then suddenly be falling off of a cliff.

development/NewsBruiser

Permalink [No comments] The NewsBruiser Theme Song: A Rebuttal:

by Aaron Swartz. As far as I know, no other theme song has a rebuttal (A Google search turns up nothing except the bizarre fact that Crummy is already on the first page of results for "theme song rebuttal"). This must mean NewsBruiser has "arrived", in a sense previously matched by no other thing with theme song.

In other cleaning-out-my-inbox news, the aforementioned-if-you-count-inclusion Seth David Schoen writes:

If one were to remark on the appearance of our area code early in the decimal expansion of pi, one could say
Newsbruiser!
415's in pi!

Then one could debate, per Hempel, whether this helps to disconfirm the hypothesis that pi is not normal in base 10.

And Andy Holloway takes valuable time away from corrupting the youth to write:

Maybe it then proceeds to bruise all news pertaining to the eating of the pie. That news will think twice before it touches your pie again!

NYCB regrets that this correspondence is not yet closed.

music/mine development/NewsBruiser

Permalink [No comments] :

I told Sumana the short version of the NewsBrusier theme song and, shockingly she came up with the exact same second line as I did. Together we came up with a few alternate second lines, some of which attempt to actually connote what NewsBruiser does. Examples:
NewsBruiser!
Holds up half the sky!
NewsBruiser!
Blogging on the sly!
NewsBruiser!
Featureful and spry!
NewsBruiser!
Usabili-tie!
NewsBruiser!
Someday you will die!

That last one is useful for putting the lie to Doc Searls' (??? I can't find it anywhere) observervation that "Everybody dies" is an idea never seen in advertising.

music/mine development/NewsBruiser

Permalink [No comments] NewsBruiser Theme Song:

I made up a silly NewsBruiser theme song. The short version goes:
NewsBruiser!

Only you sing it like "Transformers!" in the Transformers theme song. This is actually the better of the two versions. The extended remix goes:

NewsBruiser!
More than eats the pie!

Again like the beginning of the Transformers theme song. I don't know what qualities enable NewsBruiser to exceed mere eating the pie, but it's a theme song that Joe Mahoney will like, which is the important thing.

development/NewsBruiser television advertising

Permalink [No comments] Today's Fun Thing:

I added random entry functionality to NewsBruiser.

development/NewsBruiser

Permalink [No comments] :

NewsBruiser 1.10.0 is out. It includes new date grouping stuff, which is demonstrated by a theme that makes NewsBruiser look like Kevan's weblog (I was going to clone a LiveJournal theme as a demonstration, but Kevan's looks better).

development/NewsBruiser

Permalink [No comments] :

Brendan came up with another theme, "Laurie", which duplicates the look of his weblog. Cool! This was one of the things I was hoping NewsBruiser was now flexible enough to do.

development/NewsBruiser

Permalink [No comments] :

Andy, try NewsBruiser 1.9.2 (Motto: "Now, with functionality!"). If it doesn't help, let me know.

NewsBruiser 1.9.2 also features Brendan Adkins' "Timothy" theme, which is pretty sharp.

development/NewsBruiser

Permalink [No comments] :

Todd Fahrner, master of CSS and hopeful NewsBruiser UI manager, lays the smack down on me:
you advise andy holloway to jump from the frying pan of his horribly invalid html to the fire of even more horribly invalid html. span can't contain p. any inheritable formatting properties associated with the span shouldn't make it into the p because the p essentially terminates the span - if a browser does otherwise it's part of its (nonstandard) error handling. my first concern with theme development/ui is to make it difficult to produce invalid html. it's not productive to try to apply css to html that can't be parsed in a deterministic way.

Shows what I know.

development/NewsBruiser

Permalink [No comments] :

Happy day! Problems have been resolved and NewsBruiser now has a Freshmeat entry.

development/NewsBruiser

Permalink [No comments] :

First, I added RSS 2.0 support to NewsBruiser. Thirsty for revenge, I then added RSS 3.0 support to NewsBruiser. Works pretty well. I also integrated Ahoy, making this a nice little maintenance release. Not touching NewsBruiser for the rest of the day.

development/NewsBruiser

Permalink [No comments] :

I just added RSS 2.0 support to NewsBruiser, so RSS people try it out and let me know if it works. I got it to validate, so I must be doing something right. [Valid RSS]

development/NewsBruiser

Permalink [No comments] :

I added some clever code to NewsBruiser which runs the weblogs.com ping in the background so that you're (I'm) not wasting precious post-submit seconds waiting for it to complete. This is a test entry for it.

Update: Yeah, that was faster.

development/NewsBruiser

Permalink [No comments] :

NewsBruiser 1.9.0, "Dancing Elephant Revue". Fixes several annoying bugs and creates theme support. I still need themes (a couple of people are working on themes, but no themes yet); the docs and changelog are sprinkled with rather pathetic requests for contributed themes.

development/NewsBruiser

Permalink [No comments] :

To the ad hoc NYCB search debugging team (which is Brendan and someone else, I forget who): I found the cause of the index corruption. It was happening when there were outstanding index updates and two people hit the search CGI at the same time. Both CGIs were simultaneously processing the index updates and saving the index, which caused random corruption. I added locking and I can't duplicate the problem anymore on my computer. Hopefully NYCB will be as fortunate.

development/NewsBruiser

Permalink [No comments] :

Added theme support to NewsBruiser. Now I just need themes. I came up with a maximally boring theme called "Poindexter", so at least I have something, but I can't release 1.9.0 until I have a decent alternate theme.

development/NewsBruiser

Permalink [No comments] Oh No, It's Devo NewsBruiser!:

1.8 is out, with hot file upload action. Unlike with previous versions of NewsBruiser, I've been using the (effectively) 1.8 code for a week, so you have more cause than usual to think it stable.

So far I've recruited Brendan into my conspiracy to commit themes. Any other takers?

development/NewsBruiser

Permalink [No comments] Call For Submissions:

I need some NewsBruiser themes (I'm working on the actual theme packaging and selection, but I am no good at designing themes). A theme consists of a CSS file and some template strings. Ideally, the NewsBruiser theme you create would be exciting and original, but I will settle for ripoffs of LiveJournal/Radio/Movable Type/Whatever themes. Getting other people to work on themes will also be useful for pointing out deficiencies in the template system.

What's the best way to do this? People who already have NewsBruiser installed can just mess around with their install. For others, I could create a temporary notebook on crummy. Is anyone interested in that?

In more labor-intensive UI news, I'd also really appreciate it if someone would come up with some UI standards for NewsBruiser. I've been doing it sort of ad hoc and it's not as consistent as I'd like.

development/NewsBruiser

Permalink [No comments] :

I finally remembered where the idea of the little permalink triangle came from: not, as I once thought, from Doc Searls' site, but from a project I did with Peter Hodgson where we did a hypertext version of Diary of a Madman. The triangle interrupted the main text to signal an entry into the thicket of hypertextual readings below.

Why, you ask, did we not instead make use of that marvel of HTML, the text link? I'm not sure (I'd never even asked myself that question until just now). Probably because I was trying for an exact lookalike of the earlier HTML version, which was itself a lookalike of a version done in some proprietary hypertext system, which was itself a lookalike of a version done in a third hypertext system, and so on back 10 or 15 years to the dawn of PC hypertext systems (my version is called 'madman7', and there's talk between Peter and I of a madman8). Somewhere in the DOS era there was probably a hypertext system that didn't know about or didn't want to rely on terminal bold or reverse video to signify linked text, and so displayed the link as an asterisk next to the linked text. I actually think madman7 looks nicer with the triangle than it would with linked text, but I may have to revisit that.

Anyway, here's the triangle, the colors darkened a little for NewsBruiser: . I like it better than the old triangle I made by hand , so I'm going to start using it for NYCB and after I check with Peter I'm going to make it the NewsBruiser default permalink image.

Note the subtle use of attachments there.

development development/NewsBruiser

Permalink [No comments] You Asked For It Implicitly Accepted It:

Brian Donovan has been defending from no one in particular my habit of talking endlessly about NewsBruiser. I will, accordingly, indulge said habit (this also indulges my habit of talking about my personal life, since NewsBruiser and sleeping is all I've been doing for the past 20 hours).

The image upload code is nicer now, and it is now useful in conjunction with NewsBruiser instead of being a completely separate piece of functionality that happens to share an interface, and I've started using it on this site (see screenshot which is brought to you by the technology of which it's a screenshot). This needs testing before I'm comfortable with another release, though. If anyone thinks this feature is cool and would like to test what's in CVS, I'd love that (or I can make a tarball for you if you're scared of CVS, as I once was).

development/NewsBruiser

Permalink [No comments] :

I've got a rudimentary image/file management system working in NewsBruiser. It's ugly and not everything is implemented, but you can add attachments to an entry, delete attachments from an entry, view a particular attachment, and view all the attachments from a date range. The downside is that I don't want to work on it any more. Which is why sleep was invented.

development/NewsBruiser

Permalink [No comments] Daddy, Make The Man Stop Talking About NewsBruiser:

Sorry, kid, but my insane ramblings will ring in your ears throughout this bus ride, yea, even all the way to Tampa. I just added import functionality to NewsBruiser: not import in any specific format, but the generic ability to retroactively post an entry. This will come in handy when I figure out what I need to do to "import from Manilla" to get that checkbox checked and bring in the old editthispage entries. And also, of course, import is essential for Segfault.

As so often happens to me, I thought it was going to be difficult to implement this but it was very easy. I added just one new method (given a time, figure out what entry ID an entry would have if it had been published at that time) and the rest snapped into place. I would like to attribute this outcome to some special ability on my part, but my genius mainly consists of intuiting the optimal ordering of my feature implementations: retroactive posting was easy because it uses most of the same code as entry deletion (it's just that instead of moving the ordinals of a day's entries back to eliminate one specific entry, you're moving those ordinals forward to accomodate a new one).

Of course, the elegance of Python helps with the snapping into place: Python frequently gives me the I-joined-lots-of-subsystems-and-they-worked-together epiphanies I call 'Lisp moments', without the I-misplaced-a-parenthesis-and-my-dog-exploded headaches I call 'Lisp moments'.

development/NewsBruiser

Permalink [No comments] :

Keri, if it will positively affect your decision to use or not use NewsBruiser, I will be working on image upload for NewsBruiser this weekend (assuming I don't spend the whole weekend playing Diablo with Robert). Also, I don't think Andy's statement about NewsBruiser's orientation towards small entries is true anymore, since newer versions use entry templates and you can change the template to, say, put the entry in its own <div> and whatnot. We'll see what I need to add to get Segfault looking nice.

I'm eventually going to add a way to package a CSS file and some template files as a "theme" in a directory. This will have four beneficial effects:

  1. It will be easy to demonstrate NewsBruiser's increasingly wackass (that is to say, more wack per unit ass) layout possibilities without manually changing the template strings forward and back.
  2. I'll be able to package a bunch of prebuilt themes with NewsBruiser.
  3. People who love to tweak HTML and CSS but who don't love Python coding will have a mechanism for contributing stuff to NewsBruiser.
  4. I will get to check the "multiple templates" and "remote templates" boxes on the blog tool comparison chart.

Sumana said I should write a song called "The NewsBruiser Blues".

development/NewsBruiser

Permalink [No comments] :

Hm, I wonder what's holding up the approval of NewsBruiser's Freshmeat entry? But I don't wonder so much that I'm willing to bother the Freshmeat people about it. It's probably a background check or something. They're making sure NewsBruiser hasn't smoked pot on more than three occasions in the past twenty years. (If NewsBrusier ever achieves sentience and runs for public office it can use dodges like: "It was a previous version of myself that published those statements.")

More NewsBruiser progress this evening. It's almost ready to run Segfault; I just need to add the ability to retroactively post an entry (and I need to convert all those stories I got from the Internet Archive from God-awful Segfault HTML into something I can feed NewsBruiser). I also eventually need image upload and an author index, but that is frosting.

development/NewsBruiser

Permalink [No comments] :

NewsBruiser 1.7.0, "Doob Doob A Rama", is out. It's got a lot of stuff, and I finally got serious about documenting the license, so I can in good conscience put up a Freshmeat entry for it.

development/NewsBruiser

Permalink [No comments] :

There was one serious bug in the draft code which ate the technology:software category, but I can restore it thanks to my non-data-normalization laziness.

development/NewsBruiser

Permalink [No comments] :

Spent the day working on draft support for NewsBruiser; you can (w/the version in CVS) put aside an entry to work on later. You can also set it up such that anyone can contribute a draft and then the administrator can edit and publish the draft; you may recognize this scheme from Segfault. I'm really close to being able to use NewsBruiser to revive Segfault.

development/NewsBruiser

Permalink [No comments] :

Just released NewsBruiser 1.6.0, "Sheep May Safely Graze". It's an overlapping mix of features implemented for the benefit of others (specifically, Mark and Mike), features implemented as part of checklist mania, and features implemented so that I can resurrect Segfault as a NewsBruiser site. There's not much new in there for 1.5.0 users, but pre-1.5.0 users should upgrade.

development/NewsBruiser

Permalink [No comments] :

I realized yesterday why I don't trust NewsBruiser item delete: when it moves back subsequent entries from the same day it doesn't change their entries in the index. I'm pretty sure that was what was bothering me subconsciously; right now I feel that once I fix that I'll be fine with entry delete.

development/NewsBruiser

Permalink [No comments] :

I also added entry deletion capability to NewsBruiser (I did this mainly to mollify Mark). It's in CVS, but I don't trust it yet. Incidentally, Mark and his girlfriend Kim have a new weblog, ToastedKitten.

Update: I deleted a couple NYCB entries from March 2000 which were actually entries from Susanna's notebook that accidentally got copied into the NYCB directory, and which for the past two years have been providing amusement to those who read my archives and see me suddenly talking about my boyfriend and claiming to be a soapdish. I still don't trust entry deletion because the thing I don't trust is deleting entries when you posted entries later in the day and those entries belong to a bunch of categories. (I've tested that, but I don't trust it. You know what I need? Trusted computing!)

development/NewsBruiser

Permalink [No comments] :

Just in case you're not yet sick of me talking about NewsBruiser, let me tell you how proud I am of the new stuff. I was looking at the changelog and I noticed that a lot of the cool features I take completely for granted (the category system and the configuration system) didn't exist or wasn't usable a mere eight days ago. I don't even use the templating system (yet?), so that's not on my radar, but because I wrote it I know enough about it to know that it's cool.

I'm definitely a much better programmer than I used to be (and Python fits my style). My self-stereotype is that I'm good at code and awful at interface design, but the interfaces I've designed for NewsBruiser are good and I know how to improve them. How did this happen? [Obvious answer: practice]

development/NewsBruiser

Permalink [No comments] Release Early, Release Often:

I hope you didn't download NewsBruiser 1.4.2, because I just released NewsBruiser 1.5.0. It's got a templating system (*cough* checklist *cough*) that's both simple and fast. Check it out. I also got honest with myself and added about 10 things to the TODO.

It takes a little time to roll a NewsBruiser release, although about 98% of that time is uploading the file and publishing the news item and sneakily releasing it again because I found another bug immediately after releasing it. Everything else I've automated, and as of 1.5.0 I've even automated that portion of the news item that can be automated (the link to the changelog and whatnot). But it's still a little boring, so to lighten the drudgery I've decided to make up silly code names for NewsBruiser releases. 1.5.0 is the "Pig In A Blanket" release.

development/NewsBruiser

Permalink [No comments] Perils Of Broadcasting:

Oops. I had the 'notify weblogs.com' box checked on my NewsBruiser development installation, so weblogs.com has periodically been notified of exciting changes to 'My Notebook' by 'Joe Newsbruiser'. Sorry. (Hopefully weblogs.com knows to ignore pings where the weblog is at 'localhost').

development/NewsBruiser

Permalink [No comments] :

I added authentication cookie support to NewsBruiser, and the result is NewsBruiser 1.4.2. Now you only have to enter a notebook's password once per browser session (if you have cookies enabled in your browser).

development/NewsBruiser

Permalink [No comments] :

Behold NewsBruiser 1.4.1! This version is really easy to set up; I wrote a little script which writes the configuration for you, and you no longer have to change cfg.py. It also has the tarball support, which doesn't always work, and I don't know why, so I marked it 'experimental'. Isn't it great how calling something 'experimental' absolves you of all responsibility?

development/NewsBruiser

Permalink [No comments] I Can't Stop Writing NewsBruiser code!:

I just added the ability to download a tarball containing all information about a notebook (except for the index and other stuff that can be recalculated). When will the carnage end?

development/NewsBruiser

Permalink [No comments] Categories For The Masses:

NewsBruiser 1.4.0! If you were previously put off NewsBruiser because of the complexity of the configuration file, give it another look; almost all of that is web-based now (compare the new sample .nbrc with the old sample .nbrc).

Update: I took some screenshots and made them part of the NewsBruiser site.

development/NewsBruiser

Permalink [No comments] Teaser:

NewsBruiser 1.4.0 will have web-based configuration.

Update: It's in CVS, and I'm using it here. I need to write the category documentation before I can release 1.4.0 though.

development/NewsBruiser

Permalink [No comments] :

The index for NYCB was broken (Brendan, among others (well, other (well, me)) noticed this), so I wrote a little utility CGI to rebuild it. I'm fairly sure that NYCB's brokenness is not due to a bug in NewsBruiser 1.3.0, but rather to my habit of testing out undebugged code on NYCB.

development/NewsBruiser

Permalink [No comments] The Categorical Imperative:

I made the neccessary consistency fixes, so I'm only slightly nervous about trying out categories on NYCB. An entry's categories are not displayed on the front page, but they are displayed when you drill down. Assuming I can actually stick with categorization, I'll probably spend a little time each day categorizing the 'today in history' entries. Surely there must be some end to the categorization madness, you ask? So refreshing, your Continental mode of thought... yet so presumptous. We must discuss the issue at greater length, after the banquet. But I forget myself. Gralnor! See Dr. Rambaud safely to his accomodations. Some say the northern tower is haunted, but I find the draft refreshing.

development/NewsBruiser site-meta/Best Of NYCB

Permalink [No comments] The Categorical Imperative:

I can now file entries under categories from the add and edit CGIs. But it's broken now when I rename or move a category; the category's entries don't know that the category's path has changed. I'm not sure whether to notify all those entries on a change, or whether to create a pseudo-database where categories have IDs that don't change and refer to categories by their ID. Categories open up all sorts of cans of Consistency brand worms that I don't like dealing with.

development/NewsBruiser

Permalink [No comments] The Categorical Imperative:

I added to NewsBruiser about 75% of the code neccessary for category support (the 75% that lets you manage and browse a category tree). I still have to add category filing controls to the entry add and edit CGIs.

Here's a screenshot. Note the HTML sparseness that is the hallmark of the Leonard Realism style.

development/NewsBruiser

Permalink [No comments] Another Release In The Wall:

NewsBruiser 1.3.2. Now with kung fu entry title grip!

development/NewsBruiser

Permalink [No comments] Unique String in Little Hippo:

I got entry titles working, and this is the first NYCB entry to have an entry title separate from the body. (Ooh, aah) The title itself is nonsense, a mutated version of a title I made up while testing the code. To me it sounds like a science fiction story involving a land dispute between two prospector robots. Or a Merry Melodies cartoon for intelligent agents.

development/NewsBruiser

Permalink [No comments] :

Today I toyed with a category system for NewsBruiser (yes, I am shamefully allowing my product to be driven by the checklist mania). The main reason I want this (besides checklist mania) is so that I can categorize my entries according to my minor obsessions. But I can't think of a good web interface for mantaining so many categories, and since I inevitably mention the minor obsession in the entry, I think I'll just add the ability to have an entry title.

development/NewsBruiser

Permalink [No comments] :

Fixed the two Mike problems (I'd actually already fixed them in CVS and forgotten about it, apparently) and switched from indexing after an add or edit to indexing just before a search. Whee!

development/NewsBruiser people/Mike Popovic

Permalink [No comments] :

Praise for NewsBruiser from a non-user: "a nifty upgrade" with " the feature that means a weblog stops being an overgrown .plan file, and becomes a proper Web Log -- a calendar. Now I'm jealous."

Mike found a couple bugs in 1.3.0 which make it difficult to actually run a new NewsBruiser installation, so if you were planning on doing that please wait until tonight when I can fix them. I also found another problem with using indexer to do incremental indexing, and I'm not sure how to fix that, but I'll at least put a stopgap solution in place tonight.

development/NewsBruiser

Permalink [No comments] :

I fixed a bug in indexer, and the fix will be included in the next release.

Reindexing after an add or an edit is too slow for me. I'm thinking of saving up reindexing tasks and taking care of them immediately before the next search. That will amortize the cost of writing the index to disk, and, more importantly, shift the wait onto people who do searches, like you, and away from the people who write entries, like me. (It's not a big wait, about 1 second. But I'd rather make a searcher wait 1 second sometimes than wait 1 second myself all the time). Adding an entry already takes long enough to do the weblogs.com ping.

development/NewsBruiser

Permalink [No comments] :

NewsBruiser 1.2.0 is out! Now, to waste the rest of the day playing Nethack!

development/NewsBruiser games/nethack

Permalink [No comments] :

Behold the RSS! What now?

You can get this from CVS; if there aren't huge problems I'll release 1.2 tonight or tomorrow. Be warned that you have to change your configuration files around a bit.

development/NewsBruiser

Permalink [No comments] :

Apparently there are two file formats called "RSS" which are barely similar. I don't want to hear about it. I'm adding support for the other file format now.

development/NewsBruiser

Permalink [No comments] :

Are there any RSS aggregators that actually work, or is it just a big scam to get hard-working programmers to waste time adding RSS support to their applications? I don't want to commit anything until I know it works, but I can't find anything that will look at my RSS file and tell me what it says.

development/NewsBruiser

Permalink [No comments] :

Through cargo cult data structure analysis (the flip side of cargo cult programming), I got NewsBruiser to write an RSS feed that looks like Danny O'Brien's. It even steals his content! No, just kidding.

development/NewsBruiser people

Permalink [No comments] :

Hey hey! I moved NewsBruiser development over to tigris.org! Now it's got a CVS repository! Now it won't be a pain in the butt to do new versions! (and I won't need to do new versions as often because people can just get it from CVS). This is a new feeling; I've had the feeling of using SourceCast on itself for over a year, but this is the first time I've used it on anything else.

development/NewsBruiser

Permalink [No comments] :

Actually, I can just kludge together a file format. Which I did. Why is the generation of XML documents treated as a second-class activity? Python's XML parser comes with the system, but there's only a half-assed XML generator which comes separately. Am I wrong in thinking that I should be able to give a DTD and a data structure to an object and have it spit out an XML document? Doesn't that seem reasonable? Is there some module that I'm overlooking that does it?

development/NewsBruiser

Permalink [No comments] :

I have Newsbruiser writing entries to files. Once I do the editing frontend, editing will magically work as well.

I did not spend all day doing this. Just so you know.

development/NewsBruiser

Permalink [No comments] :

Is there an XML DTD for notebook entries? I don't want to reinvent the wheel. I don't know where to go to find DTDs.

development/NewsBruiser technology/software

Permalink [No comments] :

More Newsbruiser work. The only big chunk that still remains undone is the chunk that actually changes the files around. Now I have to take a shower and go work in the lab with Adam.

people/Adam Kaplan development/NewsBruiser

Permalink [No comments] :

I now have a software notebook for putting my freshmeat appindex entries and other software links in. It's easy, with the notebook program!

The other thing I want to do is have a hook that you can have executed on the text of your notebook entry. So I can <pre> the freshmeat entries, and put the time formatting thing in there for the other notebooks. That will have to wait until I move everything over to Python.

development/NewsBruiser