Some Good, Some Bad

Share via Twitter Share via Facebook Share via Linkedin Share via Reddit

Before I get to packing for my red eye to Boston for Mashup Camp, which I’m really looking forward to (Camp, not the red eye), a couple of updates for interested parties on some technology related items that have been mentioned both recently and not.

Feedburner / WordPress Issues

First mentioned back in December, this issue was simple: Feedburner and WordPress couldn’t seem to play nicely together. After cutting over to WordPress, Feedburner continued to report issues every time it picked up the feed. Fortunately, Alex pointed me to a fix here. Having made the code changes recommended in that entry (which won’t be necessary >= 2.0.7), I’m happy to report that the issue appears to be resolved. That’s good.

ZRM MySQL Restore Issues

As reported over the weekend, while I was able to successfully configure ZRM to back up our Mediawiki and WordPress MySQL databases, I was unable to successfully restore them. After some assistance from the very helpful kkg and paddy over at the Zmanda forums, we were able to establish that the issue wasn’t what I thought, but insufficient permissions. Given that I granted the precise permissions recommended in the piece, it was clear that this was a documentation error. It’s always interesting to me to see how quickly a community or vendor update inaccurate documentation. How’d Zmanda do? It’s already fixed. Kudos, guys. This is also good.

One quick additional note on the ZRM front. If, like me, you’re interested in backing up your backups to S3 and followed the instructions previously linked to, you may find that you’re unable to copy the assets because no one but root has access to the backups. There’s an easy fix for this: create another copy of the script, this one pointing to the database directories, and stick in the root user’s crontab. On Ubuntu, that’s an easy sudo crontab -e (there should already be mysql-zrm jobs in there, assuming you’ve scheduled automatic backup).

Feedburner Feedflare Issue

Feedburner very helpfully provides a couple of widget-like features that can be added to your feed and/or your blog. I’m interested in two in particular: one that displays del.icio.us links to the item in question, and one that displays the current comment number. In theory, it should be simple to add these via Feedburner’s web interface, but having done that they’re still not displaying in my feed. I searched the Feedburner forums quickly, but only ran across complaints that it wasn’t showing on the blog, which isn’t my problem. I just want them in my feed. If anybody has any ideas, I’m all ears. This is bad. Well, sort of bad.

Eclipse Package Management Problems

I haven’t commented on the package management question in a little while, and promise to remedy that soon as there’s some news worth discussing. In the meantime, however, I wanted to note that I’ve been having escalating problems with Eclipse’s package management. It all started when I installed PyDev alongside of the PHP IDE, with RDT and RadRails already on there (which was an ordeal in and of itself, only remedied by Bill Higgins’ access to the RR devs). The package management (Help: Software Updates: Find and Install, in case you don’t know what I’m talking about) functionality began to complain about missing packages, which was suboptimal. Now, however, I’m receiving errors on open and as mentioned cannot even remove the offending packages. I’m considering blowing away my Eclipse instance and starting over. This is bad.

And as long as we’re talking about Eclipse package management, it’d be great if they could add dependency handling and management. Being told that I need a package without knowing what it is or where it’s located is a drag. Or perhaps this has already been addressed? I’m on 3.2.1.

S3 Upload Beginning

45+ gigabytes has just started to upload to S3 via JungleDisk, and the application tells me it’s uploading at 87kb/sec. Given that I have verified uploading speeds of 700 (which at least is close the 768 promised, unlike my download speeds which are 3K rather than the 6 I’m paying for), I’m not sure what’s going on. I did not use JungleDisk’s bandwidth throttling feature, so I’m assuming that the issue is on S3’s side. It’s reporting 6 days to complete the upload, which is not good – AKA bad.

One Last Thing

Following my bout over vacation with several months of mail, I was forcibly confronted with the obscene amount of junk mail I receive. In an attempt to remedy this, I’ve given in and signed up with Greendimes for a three month trial at $3/mo plus change. The service, if you’re unfamiliar with it, contacts junk mail organizations on your behalf and removes you from their lists. They also plant a tree a month in your name. It’s a small price to pay just for the trees, but if they can reduce my mail volume it’ll be worth its weight in gold. Will let you know how I fare.


  1. Just a note on the Jungle Disk upload speed – Jungle Disk quotes upload/download speeds in kilobytes/sec (KB/sec) – the same units used by most web browsers.
    The speed for most Internet connections is rated in kilobits/sec (kb/sec).
    Since 1KB/sec=8kbits/sec, you are actually getting 696kbits/sec upstream, or close to your (observed) maximum.

    Of course, that doesn’t change the time estimate required for upload. 6 days may seem like a while, but I assume you’re just doing an initial upload and only new/changed files will be uploaded in the future – which will likely take much less time unless you modify 45GB of files per week.

    The initial backup of my home machine took 4 days, but my nightly backup usually runs in under 5 minutes now.

  2. Hi Stephen. The Eclipse Package Management problem is curious. The PyDev feature lists only the Eclipse SDK as a prerequisite. For kicks I set up a Python environment, accessing only the PyDev update site, and everything loaded and just worked.

    I will try to determine if there are any bizarre conflicts between PyDev and the other features you mention.

    In the meantime, can you provide some specifics? What messages are you getting? What packages are missing?

  3. Jungle Dave: ah, outstanding – thanks so much for the clarification. should have figured it was bad math on my end. might be useful, however, in future versions to do that conversion for stupid users like myself 😉

    Wayne: sorry, didn’t mean to say that it was definitely PyDev that caused the problem, just that that was when the problem first occurred.

    Here’s one error from trying to load a PHP perspective:

    “org.w3c.dom.DOMException: NOT_SUPPORTED_ERR: The implementation does not support the requested type of object or operation.
    at org.apache.xerces.dom.CoreDOMImplementationImpl.createLSParser(Unknown Source)
    at gnu.xml.dom.DomDocumentBuilderFactory.newDocumentBuilder(libgcj.so.70)
    at org.eclipse.php.core.project.options.PHPProjectOptions.loadOptions(Unknown Source)
    at org.eclipse.php.core.project.options.PHPProjectOptions.(Unknown Source)
    at org.eclipse.php.core.project.PHPNature.getOptions(Unknown Source)
    at org.eclipse.php.core.project.options.PHPProjectOptions.forProject(Unknown Source)
    at org.eclipse.php.ui.treecontent.IncludePathTreeContent.getChildren(Unknown Source)
    at org.eclipse.php.ui.StandardPHPElementContentProvider.getChildren(Unknown Source)
    at org.eclipse.php.ui.explorer.ExplorerPart$ExplorerTreeViewer.isExpandable(Unknown Source)
    at org.eclipse.jface.viewers.AbstractTreeViewer.isExpandable(AbstractTreeViewer.java:1900)
    at org.eclipse.jface.viewers.AbstractTreeViewer.updatePlus(AbstractTreeViewer.java:2487)
    at org.eclipse.jface.viewers.AbstractTreeViewer.createTreeItem(AbstractTreeViewer.java:754)
    at org.eclipse.jface.viewers.AbstractTreeViewer$1.run(AbstractTreeViewer.java:731)
    at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:67)
    at org.eclipse.jface.viewers.AbstractTreeViewer.createChildren(AbstractTreeViewer.java:705)
    at org.eclipse.jface.viewers.TreeViewer.createChildren(TreeViewer.java:892)
    at org.eclipse.jface.viewers.AbstractTreeViewer$5.run(AbstractTreeViewer.java:1288)
    at org.eclipse.jface.viewers.StructuredViewer.preservingSelection(StructuredViewer.java:1323)
    at org.eclipse.jface.viewers.AbstractTreeViewer.inputChanged(AbstractTreeViewer.java:1277)
    at org.eclipse.jface.viewers.ContentViewer.setInput(ContentViewer.java:250)
    at org.eclipse.jface.viewers.StructuredViewer.setInput(StructuredViewer.java:1542)
    at org.eclipse.php.ui.explorer.ExplorerPart.createPartControl(Unknown Source)
    at org.eclipse.ui.internal.ViewReference.createPartHelper(ViewReference.java:332)
    at org.eclipse.ui.internal.ViewReference.createPart(ViewReference.java:197)
    at org.eclipse.ui.internal.WorkbenchPartReference.getPart(WorkbenchPartReference.java:566)
    at org.eclipse.ui.internal.PartPane.setVisible(PartPane.java:290)
    at org.eclipse.ui.internal.ViewPane.setVisible(ViewPane.java:525)
    at org.eclipse.ui.internal.presentations.PresentablePart.setVisible(PresentablePart.java:140)
    at org.eclipse.ui.internal.presentations.util.PresentablePartFolder.select(PresentablePartFolder.java:268)
    at org.eclipse.ui.internal.presentations.util.LeftToRightTabOrder.select(LeftToRightTabOrder.java:65)
    at org.eclipse.ui.internal.presentations.util.TabbedStackPresentation.selectPart(TabbedStackPresentation.java:394)
    at org.eclipse.ui.internal.PartStack.refreshPresentationSelection(PartStack.java:1144)
    at org.eclipse.ui.internal.PartStack.setSelection(PartStack.java:1097)
    at org.eclipse.ui.internal.PartStack.showPart(PartStack.java:1311)
    at org.eclipse.ui.internal.PartStack.createControl(PartStack.java:601)
    at org.eclipse.ui.internal.PartStack.createControl(PartStack.java:532)
    at org.eclipse.ui.internal.PartSashContainer.createControl(PartSashContainer.java:562)
    at org.eclipse.ui.internal.PerspectiveHelper.activate(PerspectiveHelper.java:244)
    at org.eclipse.ui.internal.Perspective.onActivate(Perspective.java:815)
    at org.eclipse.ui.internal.WorkbenchPage.onActivate(WorkbenchPage.java:2436)
    at org.eclipse.ui.internal.WorkbenchWindow$6.run(WorkbenchWindow.java:2616)
    at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:67)
    at org.eclipse.ui.internal.WorkbenchWindow.setActivePage(WorkbenchWindow.java:2597)
    at org.eclipse.ui.internal.WorkbenchWindow.busyOpenPage(WorkbenchWindow.java:658)
    at org.eclipse.ui.internal.WorkbenchWindow$5.run(WorkbenchWindow.java:1590)
    at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:67)
    at org.eclipse.ui.internal.WorkbenchWindow.openPage(WorkbenchWindow.java:1587)
    at org.eclipse.ui.internal.actions.OpenPerspectiveDialogAction.run(OpenPerspectiveDialogAction.java:75)
    at org.eclipse.jface.action.Action.runWithEvent(Action.java:499)
    at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:539)
    at org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:488)
    at org.eclipse.jface.action.ActionContributionItem$6.handleEvent(ActionContributionItem.java:441)
    at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1085)
    at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3166)
    at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2842)
    at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1914)
    at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1878)
    at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:419)
    at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
    at org.eclipse.ui.internal.ide.IDEApplication.run(IDEApplication.java:95)
    at org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformActivator.java:78)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:92)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:68)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:400)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:177)
    at java.lang.reflect.Method.invoke(libgcj.so.70)
    at org.eclipse.core.launcher.Main.invokeFramework(Main.java:336)
    at org.eclipse.core.launcher.Main.basicRun(Main.java:280)
    at org.eclipse.core.launcher.Main.run(Main.java:977)
    at org.eclipse.core.launcher.Main.main(Main.java:952)
    . “

  4. No problem – you’re not the first person to make that mistake. Web browsers and other file transfer utililities tend to use kbytes / sec (since file sizes are always in bytes) but we’re considering switching the status display to kbits/sec in the future since that’s what users tend to associate with their Internet connection.

  5. Hey Stephen,

    The FeedFlare you’ve selected and set up for use in the feed are correctly configured. The main problem with the Comments Count FeedFlare is ours; we don’t make it nearly apparent enough that your original source feed must be using the wfw:comments namespace elements in order to power its display. (Without these elements in the feed, it simply doesn’t appear.) I do see the Save to del.icio.us link appearing in your feed now, however.

    We should update the on-page listing of that FeedFlare to make it much clearer that wfw:comments is required. If we can help with anything else, just shoot us a note at feedback AT feedburner.com and we’ll dig deeper!

  6. Hi Stephen. The gnu package has me curious. Are you running GCJ? It looks like an XML configuration file for the PDT (PHP Development Tools) has a unsupported doctype or something. What platform are you running on? What JVM are you using? I’d like to chase this one down…

  7. Hi Wayne, I belive GCJ is what Eclipse runs off by default on Ubuntu, but my registered JVM at the time was Sun’s 1.5 (it’s now 1.6). Platform is Ubuntu, but regrettably I won’t be able to debug as I’ve just reverted to a prior instance and removed all of the offending plugins. Apologies.

Leave a Reply

Your email address will not be published. Required fields are marked *