Walk Score Local Expert
I’m a local expert on Walk Score in North Beacon Hill.
Summary: If it was just one click I probably wouldn’t be writing about it ;) This is really for the ADD peeps and newbs out there, there’s nothing too challenging about this install.
Here’s a quick guide to starting an Open Atrium (Drupal-based “intranet in a box”) site if you happen to be a lucky Dreamhost customer. Dreamhost just added this feature today and it is pretty slick, but there’s still a couple bits of manual configuration.
Here’s what you’ll get:

# Copy the ./sites/default/default.settings.php file to ./sites/default/settings.php.
# Change file permissions so that it is writable by the web server. If you are unsure how to grant file permissions, please consult the on-line handbook
For you newbs, an easy way to do this is to use an FTP client (like Filezilla) to access your new site.
You will get an error message (at right) if you skipped the ‘Set file permissions’ step (above). That’s ok, you can just go back and do that now and then click ‘Try again’.
Hope this was useful for someone, I’m curious to see/hear what folks are using their Open Atrium installs for. Obviously not an intranet…unless you made it private…there’s loads of ways to do that (if there’s interest I’ll expand). I’m using mine to organize house projects with my roommate and husband. What are you using Open Atrium for?
P.s. If anyone is looking to get a new Dreamhost account I have a $100 off invitation if you’re ready to commit to two years and there’s plenty of referral codes out there too, so find one before you sign up!
USE THIS INFORMATION AT YOUR OWN RISK. Any information found on this website is offered only as informational and includes no warranty, guarantees or support. The author claims no authority on any subject whatsoever.
I just started reading the recently published book Using Drupal, 1st Edition, published by trusty ol’ O’Reilly and written by a bunch of Lullabots.So far the book is great, but the instructions on setting up a dev environment aren’t exactly crystal clear for those completely new to Drupal. I thought I’d help out the next geek that bothers to GTS to find pitfalls before starting.
First review the preface section 2.7 ‘Downloading Drupal’. If you’ve never installed Drupal before, or any web application on a web server before, it’s a good idea to check out Lullabot Addison Berry’s very easy to follow video, Installing Drupal 6.
These instructions are specific to the context of a shared hosting account on Dreamhost, but may work for your environment as well. Be sure to review the book’s errata – the ‘confirmed errata’ will let you know about any code mistakes or problems with source discovered since the book was published. For troubleshooting help related to the books exercises and installation issues, review the Using Drupal book forum.
THESE INSTRUCTIONS MAY CAUSE YOUR DATAZ TO BE LOST. In addition to setting up things quickly, these steps include how to quickly delete all the stuff in your database, without bothersome ‘back up your data first’ steps. The idea is you are just creating a sandbox and nuking your install is no big deal.
Enough blab, let’s do this:
mysql://name:psswd@mysql.drupal.yourdomain.com/dbnameYou’ll be prompted to select an ‘Installation Profile’. The book source code includes scripts to automatically install a site with assets and modules used in their examples for you. If you are just starting Chapter 2. where they send you off to the Appendix for installation instruction, chose the last option – the generic/basic Drupal install.
Here’s how to “start over” so you can use a different installation profile. These steps will cause you to lose any data you entered in Drupal – you will end up with a brand new install and a chance to chose a diferent installation profile:
I hope that was helpful for someone. I remember all to well not even knowing what chmod was and trying to write perl scripts, ouch! As you might guess, with as much time as I spend documenting when I should be doing book exercises I don’t really have time to offer support, but please let me know if anything I’ve written here needs to be corrected or elaborated on. Have fun in Drupal land!
Tracer by Tynt.com is a new analytic tool for websites. Like Google Analytics, you install a link to an external javascript on your site and then the service tracks what images and words your visitor’s copy.
Read a product intro and clear step-by-step setup instructions at SideKickBlog.com. Tracer is installed there, so I’m using the site to test the script as well. I pasted some copied text from his post into this blog post while in HTML direct edit mode and this is what I got:
Tracer is a script designed to let you track this copied content and also provide all kinds of usage statistics for it. Best of all it will add an automatic attribution link back to your post so that content you have created can result in traffic to you regardless of where it resides. And to top it all it promises to let you do all this for free. Definately a must have for all the content creators out there.
Read more: "Track what’s been copied from your blog | SidekickBlog" - http://sidekickblog.com/track-whats-been-copied-from-your-blog-83.htm#ixzz09JKa0aSw
After pasting into a blank email in Outlook, a Gmail message, and a Word document, it’s clear that the script is adding the credit link to the copied item when it’s copied. Tracer will certainly fix the problem of an inadvertent failure to credit (due to laziness, lack of savvy, etc) but it will in no way prevent anyone intent on stealing your content from doing so.
The link adding is nice, but I’m hoping Tracer will really shine as I get real insight into what my sites’ visitors are copying. What do you think? Is Tracer worth its weight in script?
USE THIS INFORMATION AT YOUR OWN RISK. Any information found on this website is offered only as informational and includes no warranty, guarantees or support. The author claims no authority on any subject whatsoever.
wget http://ftp.drupal.org/files/projects/drupal-5.7.tar.gz
tar -zxvf drupal-5.7.tar.gz
I'm a big fan of apt-get but there were a lot of issues in the forum started by people having problems with Drupal in the repositories. Community Docs recommend getting the latest package from Drupal.org, right now that happens to be Drupal 5.7. (Drupal 6 is out now as well, and is very cool, but CCK/Views aren't ready for prime-time and I'm installing for the purposes of following tutorials written for 5.x.)
sudo mkdir /var/www/drupaltest
sudo mv drupal-5.3/* drupal-5.3/.htaccess /var/www/drupaltest
sudo mkdir /var/www/drupaltest/files
My apache install is pretty much setup to default config. /var/www is my web root, yours may vary. Because I'm just using this particular install as a test which I plan on destroying later I'm going to put it in the boring old subdirectory 'drupaltest', actually I named mine d57_test_01 but thought drupaltest would be more comprehendable in the example.
In the mv command we explicitly move .htaccess because it's a hidden file.
mysqladmin -u root -p create db_drupaltest
mysql -u root -p
Create the database for Drupal to use - you can replace 'db_drupaltest' with whatever you'd like to call the database. You'll need to enter your mySQL root password. If you get an access denied error make sure you're using the mySQL root password and not your login or Ubuntu root password. The second command puts you in mySQL monitor, the command line interface for managing your MySQL server. The commands in the next code section are SQL. You could also run this in phpMyAdmin if you'd rather have a GUI.
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER, CREATE TEMPORARY TABLES, LOCK TABLES ON db_drupaltest.* TO 'drupal_usr'@'localhost' IDENTIFIED BY 'secretpassword';
FLUSH PRIVILEGES;
\q
Change the datebase name, the username 'drupal_usr' and 'secretpassword' to whatever you like. Just don't forget to write it down somewhere safe because you'll need to know it later.
sudo vi /var/www/drupaltest/sites/default/settings.php
Using vi (or whatevs) change the $db_url line. Note: If you use a fancy charcters or dashes in your user, password or database names replace them URI hex encodings, this is detailed in database settings comments section in the settings.php file.
$db_url="mysql://drupal_usr:secretpassword@localhost/db_drupaltest";
If you have a new LAMP install the default memory setting for scripts is 8M. This is redonkulous and Drupal will suck. Look for the 'Resource Limits' section and change memory_limit to 32M and then restart apache.
sudo vi /etc/php5/apache2/php.ini
sudo /etc/init.d/apache2 restart
Go to http://localhost/drupaltest/install.php (or your servername instead of localhost if DNS is setup). You should see this:
One last thing, if you click Administer you will probably get a 'one or more problems were detected' error message. Two things: your files directory isn't writable and you cron job hasn't run. The first one is easy - just make the files area writable by all:
sudo chmod 777 /var/www/drupaltest/files
As for cron, you can just click 'run cron manually' on the Status report page - but you'll need to do this anytime you want to update the index. For a quick dev install you're likely to trash soon it may not be necessary but for a production or long-term dev install you'll want to set up a cron job to hit http://localhost/drupaltest/admin/logs/status/run-cron every few minutes depending upon your site's traffic and requirements. See Configuring cron jobs in Drupal's Getting Started guide for more.
That's it. Good luck folks, now enjoy surfing the Drupal learning curve...heheh.

Plone 3.0.2 on an 32-bit Ubuntu 6.06 LTS ‘Dapper Drake’ LAMP
What is Plone? – Plone is a pretty cool content management system (CMS). Well, I think it’s cool based on some videos and documentation on their site. After comparing a lot of CMS options (including some really expensive closed-source stuff and 2 weeks of developer training on Sharepoint) I’m trying out Plone because a) open source is cool. b) Google people are smart, c) it supports LDAP authentication which I need for my all-M$ work enviro, d) there’s training/conferences/books/commercial support!? available and d) I’ve read some great reviews and CMS comparisons that rated it #1.
That was the good, now the most common complaint: hellish learning curve. Well, if you’re a developer and you’re going to customize beyond the existing system and available plugins. Why? Well, you’ll have to learn some python and the database is the rather obscure Zope instead of MySQL or SQL. In fact, I just read this on 456 Berea St (one of my fav dev blogs) and it gave me the shivers:
And the inital learning curve, even though I was a fairly good python programmer, was insane.
Then again, people told me Perl was insane too and I loved working with Perl. Besides, we’re just playing right now, right?
What is Ubuntu? - Ubuntu is a community developed, linux-based operating system that I use for a web server. ‘Dapper Drake’ is the release name for 6.06 LTS. (Keyword: LTS – long term support). It’s surprisingly easy to install. If you’re bored, geeky and/or have extra VMs or boxes lying around you should try a LAMP install and get your web server up in 15 minutes!
There’s already a Plone From Scratch HOWTO on the Ubuntu Forums, however it is for a previous version of Plone (2.0.5) and uses the apt-get method which I’ve noticed a lot of people in the forums having trouble with. Disclaimer: I do not provide ‘undo/uninstall’ instructions, other than, whip up a a LAMP on VMware and test it first or backup your system. I would welcome uninstall directions if someone who knows what they are doing could provide them.
Doesn’t Plone provide installation instructions? Well, yes. But when I started to read them I got real nervous. What the heck is gcc? libssl? TLS? etc. Those poor geeks at Plone don’t realize how noob noob can be! I tried to find better instructions (for me) at the Ubuntu Forums and instead I found a lot of people having problems trying to install Plone via Synaptic or apt-get instead of using Plone’s instructions. So here ya go.
You should already have gcc, g++, make and tar installed by default, but if you want to be anal do this:
sudo apt-get update
sudo apt-get install gcc g++ make tar
Sidetrack > (Possibly totally unnecessary step!) If you’re a fair server noob like me you have no idea what libssl and readline libraries and development headers are and what the heck is TLS? Google suggests it has something to do with mail encryption. I read some confusing stuff on Ubuntu Forums about RPM and a program called Alien that converts RPMs to DEB packages seemed probably unrelated but like a handy utility to have and so:
sudo apt-get install alien
Download the Plone Installer Package. I saved it in my home folder – it doesn’t really matter where you put it so long as you can find it.
wget -c http://plone.googlecode.com/files/Plone-3.0.2-UnifiedInstaller-Rev2.tar.gz
tar zxf Plone-3.0.2-UnifiedInstaller-Rev2.tar.gz
cd Plone-3.0.2-UnifiedInstaller
Here’s where you have to pay attention. You can do a ZEO or Stand-Alone install. “WTF?” you say? Yeah, well just pick your poison after reading all about it. Me, I’m doing a Stand-Alone as root install.
According to the README.TXT in the installation package my choice of standalone instance installed as root will result in Plone being installed to /opt/Plone-3.0.2 and libz and libjpeg libraries getting built in /user/local. A “plone” user will be added and Zope will be configured to run under that user id. You need to start Zope as root user (via sudo).
sudo ./install.sh standalone
Then a whole bunch of stuff happens. Lots of gcc (compiling) and checking for things (lots of yes and a few no-s in my case). Just wait, watch, hail Mary and knock on wood. This is a good time to read about the rest of this tutorial or creating new Zope/Plone instances if you want to do that. Or just catch up on your RSS feeds and I’ll hold your hand some more ;o)
If you’re real lucky, this is what you’ll see when it’s all said and done:
#####################################################################
###################### Installation Complete ######################
Use the account information below to log into the Zope Management Interface
The account has full 'Manager' privileges.
Username: admin
Password: XXXXXXX
Before you start Plone, you should review the settings in:
/opt/Plone-3.0.2/zinstance/etc/zope.conf
Adjust the ports Plone uses before starting the site, if necessary
To start Plone, issue the following command in a Terminal window:
sudo /opt/Plone-3.0.2/zinstance/bin/zopectl start
To stop Plone, issue the following command in a Terminal window:
sudo /opt/Plone-3.0.2/zinstance/bin/zopectl stop
Plone successfully installed at /opt/Plone-3.0.2
See /opt/Plone-3.0.2/zinstance/adminPassword.txt
for password and startup instructions
Ask for help on plone-users list or #plone
Submit feedback and report errors at http://dev.plone.org/plone
This installer was created by Kamal Gill (kamalgill at mac.com)
Maintainers for Plone 3 are Kamal Gill and Steve McMahon (steve at dcn.org)
First, write down your admin password!! Then, check zope.conf to ‘review settings’. I’m not familiar with them, so I just scanned for the port. Found it on line 969 (YMMV), set to the default Zope/Plone standalone install grabs, port 8080.
sudo vi /opt/Plone-3.0.2/zinstance/etc/zope.conf
Use :q! to quit vi without messing anything up
Use netcat to see what ports you have open already. (Netcat comes with Ubuntu install)
nc -z -v -w2 localhost 1-65535
After confirming that 8080 is avail (or changing it in zope.conf if it is not available) continue following directions.
sudo /opt/Plone-3.0.2/zinstance/bin/zopectl start #that last part is an L not a 1, took me a while...
Then go to: http://localhost:8080 (or sub servername for localhost to test from other computer). If you’re lucky AGAIN you’ll see the Zope Quick Start page!! Wahoo! Hii Fiiiiveh to self! Then look at the example site: http://localhost:8080/Plone, and then check out the management interface at http://localhost:8080/manage. Have fun. I hope it was as good for you as it was for me!
BTW: I suggest the Ubuntu Support Forum and Plone Support Forum for help. I am totally new at server administration, I prolly shouldn’t even publish this and I definitely can’t support your lazy arse!
USE THIS INFORMATION AT YOUR OWN RISK. Any information found on this website is offered only as informational and includes no warranty, guarantees or support. The author claims no authority on any subject whatsoever.
I've been using an amalgamation of hacks to track all the information I want to be able to recall later: del.icio.us for bookmarks, gmail for contacts and random notes, private blog entries for some organized content, and tracks for tracking projects. Blech. It's just too much. My memory is too weak. What I really want is a comprehensive PIM (Personal Informatio Manager). And so I installed MediaWiki because that's what Wikipedia uses and that's what Dreamhost offers as a One-Click Install (e.g. the path of least resistance).
I thought I'd share with you all the the process of customizing the default install to create a private wiki. Following are the specifics to my install but this will probably be helpful to many with a different host or newer version.
Before bothering to put up our own cute logo or other fun stuff like enabling image linking and using clean urls, we're going to lock down our install. I didn't find a lot for this particular intent on the official MediaWiki Docs or the Dreamhost Wiki, but I did find this old Meta Wiki Article
# This snippet prevents new registrations from anonymous users
# (Sysops can still create user accounts)
$wgGroupPermissions['*']['createaccount'] = false;
There is no user by the name "$1". This wiki is private and therefore closed to new accounts. Please contact Mahalie if you have any questions.I intentionally failed to provide contact information. If a user doesn't even know how to contact me, they really don't need an account on my private wiki!
# Disable reading line, for anonymous (not-logged-in => * ) :
$wgGroupPermissions['*']['read'] = false;
# ... and enable anonymous to read the followings pages :
$wgWhitelistRead = array( "Main Page", "Special:Userlogin", "-", "MediaWiki:Monobook.css" );
# ... same in an other language (French, with one UTF-8 special characteres) :
# $wgWhitelistRead = array( "Page Principale", "Special:Userlogin", utf8_encode('Aide en français'));
global $wgUser;
if (! $wgUser->isLoggedIn()) {
return array();
}
This will hide the navigation on sup-pages (not the default main page)p.s. WebWorkerDaily just published 15 Productive Uses for a Wiki in case you're wondering why someone would want to do this!
Update: Check out a new tutorial on Lifehacker, Customize Mediawiki Into Your Ultimate Collaborative Website - it's not a PIM implementation but it offers some good information on quickly re-skinning and mods to consider.

Screenshot of the Ong Bak fan portal on FanPop!
I have internet ADD. I try every new web 2.0 app out there – I have a good spam filter (gmail) and I always use the same password and the my username of choice is never taken so I don’t hesitate to try out a new website. I recently stumbled upon the Ong Bak spot I started on FanPop! when they were first accepting beta memberships. FanPop! is a site where you can find existing ‘spots’ for things you are interested in or start your own if it doesn’t exist. Each spot is a user community dedicated to a specific topic where people can go to find and share related information. Because the site offers RSS feeds you can subscribe to the content and always be in the know when someone posts something about what interests you.
I’d totally forgotten about my ‘spot’ and the site altogether, but a few users had posted some interesting Ong Bak related links so I decided to subscribe to the feed and look up a few more topics.
We’ll see how many of these sites earn a permanent spot on my feed list. The problem with all of these user-contributed social sites (much like 43things/people/places) is that there are so many sites like them vying for attention and not enough aggregation. Studies have shown that for all the Web 2.0 community-driven sites out there, the vast majority of traffic is comprised of non-participators/spectators and the content is contributed and driven by a tiny percentage. These sorts of people are also likely to have blogs and as the author of three blogs and frequent user of web applications flickr, digg and 43places, I can personally attest to how spread thin I am with my time and attention.
While each of these and hundreds of other sites have amazing potential that I could explore more deeply, there’s just too darn many. For instance, if I really like a restaurant and want to share my enthusiasm there are scores of places I could post a review – so how do I choose? Well, personally I choose my own blog first because I know the content will always be there and I can find it later, but because only my friends read my personal blog, I might post it on 43places because I like and use that site. But I kind of want to post it to CitySearch so non-geeks can find it, what about Yelp?, Epinions? Oh, I could post the review with a photo on Flickr, a lot of people are using Flickr as a blog these days. The list goes on and on, and on!
At what point are there too many user-contributed websites and not enough contributers? Too many content receptacles and not enough content?
What’s Web 3.0 going to look like? Web-based office…maybe. Productivity, I believe, and relevancy are definitely going to be major themes as we all struggle with the information overlap and overload.
Something I’d like to see is an easy way for people to customize display of, input and then push out content. I’d love to be able to just open up my WordPress admin panel, through it, upload my photos to Flickr, have them all link back to the post they originated from, push out the post as a comment or review of various sites like 43places or Epinions, etc. Because, like I said, I have internet ADD, I don’t necessarily want to pick my battles, but these days I have to!
Seth Godin posted a great list of 937 Web 2.0 applications ranked by traffic (according to Alexa). I compared it to my top 10 (most used and most loved):
I use everything on this list daily, except for myspace. I hate myspace, but I must acknowledge it’s extreme power. The UI is horrible. Everything requires multiple clicks, I constantly run into error messages, what they allow their users to do to their pages is almost as bad as the ads that do anything but grace the screen. Myspace is not a site you want to be seen looking at at any respectable workplace. Yet I also love Myspace – because so many people use it. I have three friends including my 11-year old neighbor (*ahem* I mean 14 yo) who I’ve communicated with more in the last 4 months than in the last year, easily. It’s cheesy, it’s silly, it’s scary, but it’s also infectious. I actually don’t use it very often, but if I want to get a hold of certain people, it’s the surest way.
Related:Web 2.0 for designers.
Dear Google,
Please make it so that I can have reminders sent to my cell phone for some events and not others. Afterall, I could use the help getting up in time to get over to Arboretum on Saturday for Earth Day but I really don’t need my phone to beep for all my staff meetings!
Thanks,
Mahalie (a big fan)