Grand River Film Festival... who knew?
I stumbled across a link for the Grand River Film Festival today. Who knew that this festival existed? I guess this is only the second year for it.
From the website, their mission statement starts out with...
To build bridges with the previous and future generations, since what we sow today, our youth will reap tomorrow.
The festival runs this week (Oct 22 to 26, 2008) and features 15 movies and 18 screenings.
Idea: Collaborative spam recognizing service for Drupal
If you administer a Drupal site (or any other site that allows anonymous posts or comments) you will have to find ways to contend with spam posts. The auto-generated, link-filled kind of comment spam messages are especially annoying when you're trying to open up your site to comments from he community, since they can discourage people from reading and commenting.
If someone was skilled and creative enough, they could build a Drupal module that would allow administrators to flag comment spam like this and have it sent directly to a central web site. This collaborative "dead comment pool" service would parse the spam for foul links, then keep a list of spam websites. It could tally how many Drupal admins considered each site a problem.
After some time submitting spam, the Drupal Admin could turn on automatic comment filtering for their site. The filter could then consult the central site and start blocking spam comments. Filters could be adjustable. For instance, you might not want to automatically delete a comment unless there were 20 other administrators who had marked the site as spam, or you may want to just flag comments as spam and not have them deleted.
I know there are several useful spam-killing modules available for Drupal already, but something like this might be helpful too.
Problems with protected controller methods
I struggled with this for awhile, maybe this post will save someone else the trouble?
By default, methods in your Rails controller can be accessed from the URL of your application. If you have a controller method named "car" and a method named "start", then using the URL car/start will execute the "start" method.
But, there are some cases where you might want a method in the controller, but not have it accessible. In this case, you can make the method "protected", and only methods within the same controller will have access to it.
I was happy and successful understanding these details until I tried to use a protected method inside an AJAX-style page update block. In this case, the protected method couldn't be found. I couldn't understand why the method worked in most cases, but not this one. I would get an error like:
NameError (undefined local variable or method `top_level_nodes' for #<#:0x46e7ec8>):
Then I realized that putting the call to my protected method inside a block like this:
render :update do |page|
protected_method
end
... is actually calling the method from a different class, and that's why the method is not found.
Once I realized this, I was able to move the call outside of the render block and I was good. I'm not sure if there is any other way to handle cases like this. I also noticed that the call would fail similarly inside a "for x in y" block.
Need some entrepreneurial inspiration?
Are you considering starting your own business? Thinking about bringing your existing business on-line? If you're looking to get some inspiration, head over to Gary Vaynerchuk's blog.
His site includes fairly regular videos about his successes with Wine Library TV, on-line marketing, social media sites, self promotion and how to start and run a business in an Internet-connected world. Gary is animated and emotional, passionate and blunt.
His videos are well worth the time... and they might get you inspired enough to start your own video show :)
Idea: Autonomous, submersible metal detecting robot
I was lucky enough to have my parents buy me a metal detector when I was kid. The handle was bright orange plastic and it was made for kids (I think it was from Radio Shack), but it did the trick and I always had fun using it until it gave out (after which I took it apart of course). I never found any real treasures with the device, but I was never short on bottle caps or rusty old nails :)
That metal detector was one of those formative toys in a growing geek's childhood. It sparked my interest in electronics, not to mention treasure hunting. I've thought about getting back into using a metal detector as a hobby again, but it would just have to compete with the kids and other side projects and it's just not really feasible at this time.
I've been mulling over an idea of combining a couple of my interests. I'm interested in robotics and electronics projects in general. It would be interesting to create a robot that could roam a field, narrowing down interesting places to dig. While the treasure hunter is investigating a marked spot, the robot could be locating the next place to dig. Covering the entire area programmatically would ensure that you didn't miss a spot as well (especially with an accurate GPS system installed). You could likely write the code for the robot to cover a potential find with several passes and several detector settings to qualify the find (e.g. using different frequencies for metal type detection and different depth settings). It might even be able to narrow down the size and shape of an item and show it graphically on a screen or send it wirelessly to a base station.
Then I got to thinking... where are some untapped locations for treasure hunting? Most people wouldn't have a lot of luck metal detecting in beach areas, especially along the shore and in the water where people might be unlucky enough to lose jewelery of one type or another. A submersible robot could be programmed to scour the shore for potential finds, and the treasure hunter wouldn't even have to get wet until a suitable location was found by the robot. With some attachments and a lot of skill, you could add a bucket to bring a scoop of sand to the shore for investigating.
Update 2009/09/15: Stumbled on an interesting RC car that can detect metal.
Idea: Open Source Bowling
Your average "Mom and Pop" small town bowling alley is likely to have a paper score sheet for tracking a team's strikes and spares. For the novice bowler the scoring system can be daunting or just plain confusing. That's why many alley owners have moved to a computerized scoring system. Our local alley has an Amiga-based system that is costly to maintain and getting harder to support... you can't buy an Amiga these days unless it's a scrap system. The people that support such aging systems are likely finding it more and more difficult to source parts and programmers.
This is the kind of problem that the notion of Open Source is great at solving. If someone could take the time to create and document an Open Source hardware and software solution, then many people could benefit from the support businesses. People could sell systems and installation services, maintenance/support contracts, upgrades and enhancements/customizations.
The system should be designed to be "technology change resistant"... defining some standard (and well documented) interfaces for the hardware and software, each piece could be replaced independently with new technology as required.
Such a system would benefit a niche industry, would be good for the alley owners and would be great for the bowlers too... what more can you ask for? Can you imagine a customization that uses BlueTooth to send a copy of the scores to your PDA or phone or can sense when a person comes in based on the presence of their phone and then automatically change their Facebook status or send a Tweet?
Lots of possibilities here :)
Site update
If you're a regular reader of my site (and I don't think there are too many of you out there besides spam bots), then you'll likely notice something a little different. For one, I've updated to the latest version of Drupal, and adopted a new theme (Marinelli) that I think is much cleaner. For another, on October 6, 2008 I dumped all my old site content. My apologies to anyone that's looking for something I've written in the past.