May 17, 2012

A short example using django-app-plugins

At Djangocon a couple months ago, I was intrigued to hear about Django App Plugins. This small app adds the ability to make mount points in your Django templates.

That way, you can have your apps insert text into your templates just by referencing the mountpoint in the template. This allows you to have apps which possibly aren’t central to your main application add text which you wouldn’t want to put into the default template.

Unfortunately, there is absolutely no documentation, so I spent the evening working out how to get this to work. There are tons more options than what I’ve figured out, I think a simple example is much better than no documentation at all.

[Read more...]

Technorati Tags: , , , ,

Git SVN Error – Fixed

While working on a SVN project using my new favorite tool, “git”, I ran into a small problem. A network bobble caused the subversion portion to fail. I stopped it, but then when I tried again, git said:

Cannot dcommit with a dirty index. Commit your changes firstor stash them with `git stash'.
[Read more...]

Technorati Tags: , , , ,

Why I didn't switch from jQuery to ExtJS after all

A while back, I wrote an article about why I was switching to ExtJS from jQuery. This remains one of the top ten pages on the site, despite the fact that I never really did switch. Checking it just now, I am certain that it is the most heavily commented article on the site.

The fact is that I started to switch, did a site or two, and then I quickly changed my mind.

There are four reasons I didn’t end up switching from trusty jQuery. Size, familiarity, purpose, and license.

[Read more...]

Technorati Tags: , , , ,

Updated my AIR apps to version 1.1

I finally got around to updating my Adobe AIR apps to the latest version of the runtime. Argh.

They keep changing the sandbox! It is incredibly annoying to have to work around the sandbox, and then to have to go make seemingly arbitrary tweaks on every version update.

Regardless, I’ve now updated Bluegrid and Weewarify to work with the latest AIR.

Mostly, I did it so that I could get a free Thawte AIR developer cert from the Adobe Air Marketplace. Those things cost $300, and Adobe is giving away 125 of them to AIR developers who post apps there.

[tags]air,adobe air,bluegrid,weewar[/tags]

Linux.com article

I’m quoted heavily in a Linux.com article about http://oohgabooga.com, the webstore I launched this summer.

If you want to hire me for your dream webstore, I’d love to talk to you. Please send an inquiry through http://solidsitesolutions.com.

[Read more...]

Blueprint CSS Grid Tool for Adobe Air

I’m a big fan of the Blueprint CSS framework. In the process of using it to develop the base template for Banjo, the blog app I'm writing, I realized I need a tool to help me keep page elements lined up on the grid, both vertically and horizontally.

Blueprint comes with a background grid image to use for this, but it only works as a background, and it is not that useful when you are working with colors and final tweaks. So, I made a little (tiny) AIR app which will show a floating grid, sized at 18px and with Blueprint-sized columns.

[Read more...]

Related posts

Technorati Tags: , ,

Banjo Blog nearing 0.1 release

banjo Banjo Blog nearing 0.1 releaseI’m nearing release 0.1 for Banjo, a blog app written in Python on the Django framework. If you look at the mailing list, you’ll see plenty of people asking about a blog app, and the standard reply is that it is just so easy, almost trivial, to write your own that there is not much call for such a package.

I disagree

I really don’t agree with that logic although I do understand it. Blogs look simple, and stripped of everything else, they really are simple. Basically they are just reverse chronological posting of text on a page. No biggie, at least at first or second glance.

But the trick is in the phrase “stripped of everything else.” Once you start considering the features commonly available in blog apps, it gets quite a bit more complex:

[Read more...]

Oohgabooga launched

oohga logo Oohgabooga launchedMy premiere e-commerce client, Oohgabooga Island Traders launched yesterday. After doing a little dance of happiness, I sat down to think through all that went into it.

I used the Satchmo e-commerce framework for Django to build it. Of course I did, because I am a core developer on Satchmo, and a peripheral contributor to Django. They’re my absolute favorite frameworks for actually getting web apps done without going crazy.

To get Oohgabooga done, I had to add tons to Satchmo. I added an entire settings management system, a modular payment system, newsletter management, and a custom-order workflow/product-type. The great thing about doing all that was that the framework let me. It didn’t force me to do it “their way” or no way at all like some systems (CubeCart). And it didn’t make me hate having to work with ugly ugly hacks (ZenCart). Best of all, it isn’t PHP.

At the moment I’ve got three more Satchmo clients. It is rapidly becoming the core of my consultancy, which is no surprise for me. The world needed a strong framework for people who need a beautiful, fast, customizable, extensible cart.

[tags]satchmo,django,e-commerce[/tags]

Training My Spamato Spam Filter

Months ago, I threw in the towel with my old Spam filter, SpamFire. It was apparently written in RealBasic, and so it was slow and constantly got “stuck.” I’d rather have spam than have to be constantly nursing a memory hog, finicky application.

Finally I got fed up with my spam problem this morning and I’m trying something new. 95% Spam is just too much to handle.

Spamato

Spamato is an interesting Spam filter solution. It works by having a set of filters which all look at the mail and then sort of vote on whether it is to be considered spam. When training the filter, I notice that commonly three of the eight filters will hit most of my obvious spam. After training is done, presumably more will hit.

I’m using the Spamatoxy mail proxy filter, rather than the Thunderbird plugin because of OSX compatibility problems. Still, it is quite easy to set up, and training is only one step more difficult than it would be with a full integration.

Training

I have seven accounts I actively check. One of them is IMAP, the rest are POP. So, I set up my IMAP filter to use a spam folder as a “smart mailbox.” All IMAP spam goes into that folder, and if I manually drag a file there, it gets reported to Spamato as a spam, the reverse is true as well, if I drag one out, then it is “revoked” and is not considered spam.

To train it, I just dragged a few hundred junk mails from my local junk mail directory into my IMAP inbox. I made sure all were marked *spam*, then I cleared my spam folder. to train for good mail, I dragged a few hundred good mails from local folders to the IMAP inbox, and then made sure none of them were tagged as spam. A few dozen were, but it was no bother to revoke the spam dermination.

After doing that, my Bayesian filter should be active. I’m curious to see how much better the system gets with the Bayesian filter active.

[tags]spam,spamato,spamatoxy,spamfire[/tags]

Mass Import Yojimbo Passwords

yojimbo Mass Import Yojimbo PasswordsI searched all over the place last night and I couldn’t find anything that could import passwords into Yojimbo for me. I did see a lot of complaining about the lack of ability to do so, however.

Since I really like the app in most ways except for its lame import capabilities, I whipped one up to import my 250+ password entries from a different program.

Get the program: Yojimbo Importer 1

Read on for discussion of how to use it, or else just look at the instructions provided in the download.

[Read more...]

Related posts

Technorati Tags: ,