How To Make Your MediaWiki Private

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: 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.

  • Create a subdomain for your MediaWiki install, such as, Select PHP 5.x (not 4.4.2) and leave Extra Web Security.
  • Install MediaWiki. Dreamhost walks you through this and it's also covered at the Dreamhost Wiki so I'm not going to go into detail here. But be sure to move the newly generated LocalSettings.php to the parent directory, and delete the config directory with its content.
  • Chmod LocalSettings.php to 600
  • Create a backup copy of LocalSettings.php, rename it something like .BAK instead of .PHP or something. Put it back in your Wiki install directory right away so it's safe and available if you need it later.

Restrict Wiki Access

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

  • Prevent new user registrations. Add the following line to the bottom of LocalSettings.PHP:
    # This snippet prevents new registrations from anonymous users
    # (Sysops can still create user accounts)
    $wgGroupPermissions['*']['createaccount'] = false;
  • Make sure it's working by trying to create an account. You should receive an error message that says username not found, please create an account. To change the message login as yourself (you should have set up a Sysop login when you configured your wiki) and point your browser to
    I changed my message to:
    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!
  • Prevent anonymous users from reading by adding the following to LocalSettings.php: # 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'));
  • Verify setting by logging out of your wiki and attempting to browse. You should get a 'Login Required. You must login to view other pages.' when clicking on any local link and the page should redirect to the main page after a few seconds.
  • If you want to hide the side navigation if the user isn't logged in (because, perhaps you have private project names or something) edit includes/Skin.php and change the function buildSidebar(). Add these lines near the very top, after the globals.: 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.


I have a geek confession. I always thought grok just came from Unix. Oh no, I’m a dork, not a geek! How embarrassing….

The word “grok” comes from Robert A. Heinlein’s Zen-hippie science fiction opus Stranger in a Strange Land. It’s a verb from the Martian language that means something along the lines of “to understand completely.” To grok something is to achieve a deep, intuitive comprehension of it. – How to Grok Web Standards by Craig Cook on A List Apart

Web 2.0 – When is enough enough?

Ong Bak fan site on FanPop
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!

Keyboard Lust

Okay, I still want dasKeyboard. Now I want one even more, in fact, because they’ve come out with a new and improved version. But there are a couple other keyboards that look pretty sweet – the Combimouse and the TypeMatrix EZ-Reach 2030.

The EZ-Reach 2030 moves the important shift, enter and backspace keys to the center, where your strong fingers are. Not only can you order it with DVORAK layout, but there’s a button to switch back and forth to QWERTY. (Great if you share the computer or are not sure about switching.) It is totally flat, which can be good or bad – I personally find skinny flat keyboards a little uncomfortable, but the good news is you can put it right on top of your laptop keyboard.

Combimouse keyboardThe Combimouse is, like it sounds, a combination keyboard and mouse, basically splitting the keyboard in two and allowing the right side to function as a mouse as well. I love the concept, however, it’s not in production yet, I probably would want to wait for a second generation product and the keyboard inflexible for other mods, like layout changes not to mention the inability to switch mouse hands, which I do periodically to spread the click-impact load.

Yep, dasKeyboard is still the front-runner…I have some hesitations though. For one, I’ve been on a spending spree and just purchased Clocky, an alarm clock that runs away from you after one snooze, this morning. Also, it hasn’t been featured on Cool Tools yet (how great can it be?!?). I also want to read more reviews…but I’m willing to gamble at such a potential productivity boost. Maybe I can do a quick side-job to fund my gadget wish list…anyone need a WordPress install customized for their business? Or maybe you want to get me one (it’s on my ThinkGeek wishlist).

Das Keyboard by Flickr User polyG0o

Related posts: Blank Keyboard on, The Combimouse on Engadget, Top 5 Creative Keyboards on Tech E Blog.

Killer Keyboard Skillz

I remember when I first met my boyfriend Tim, he impressed me by alt-tabbing and exporting paths from Photoshop to Illustrator. I was mesmerized by his Illustrator work flow: no visible tool bars, full screen mode. He was a keyboard master. Then I saw his desktop and realized he was an application-savant. Still…the impression was made during that critical get-to-know you phase.

Get L337 skills that impress the geekiest of your friends by becoming a mouse-free keyboard Jedi. Not only is it cool, it’s a major productivity booster.

Here’s some links to get you started.

Hack Attack: Become a Gmail Master

Now, don’t go off and try to learn everything at once! Unless you have an amazingly spongy memory it will be a waste of time. I usually learn a couple at a time by writing them on a post it and sticking it to my monitor. Once I have them down, I find new ones. The key is to actually use the shortcuts…force yourself, it’s harder than you think to start breaking the mouse addiction. It will feel awkward. But once you have, you’ll feel liberated.PDF of Firefox browser's keyboard shortcuts

I’ve got the basics of most my apps down, so now I have a cheat sheet for Firefox Shortcuts pasted to my monitor. Here’s a pdf of it, it’s a tri-fold that will eventually have a section for Gmail shortcuts and one for my macros and custom shortcuts in my text editor and various IDEs.

And once you’ve learned all the keyboard shortcuts you need, it may be time to take it to the next level and use an application like Hotkeys (freeware) that extends windows keys shortcuts.

Top 10 Web 2.0 Apps

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):

  1. Flickr – photo site, browse photos and store your own
  2. WordPress – blogging platform either on your own server or theirs
  3. Gmail – Google’s web based email client
  4. Wikipedia – free community-written encyclopedia
  5. Google Reader – I started with Bloglines, then Rojo, but Reader is the best!
  6. – Find your bookmarks no matter what computer you’re using, it’s a great discover tool as well as you can search other people’s bookmarks. I love the Firefox plugin as it works better than their default web interface.
  7. JetEye Jetpacks – I use this as a Firefox add on as well, although there’s a regular web interface so you can access your ‘packs’ any time. It’s like but you can save just an image, an excerpt of text, a movie and your own notes and package them into packs which can be shared with others – see my ‘Shoes I love‘ collection.
  8. 43Places – read and write reviews of places from Fremont to Dhaka, India. I use 43people and 43things too, but not as much.
  9. Google Maps
  10. Myspace

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.

Major Search Engines Agree to Sitemap Standard

Excellent news for web designers…there’s just one sitemap standard to worry about for all the major search engines. Google, Yahoo and Microsoft agreed, this bears repeating, agreed to use the same Sitemaps protocol to index sites around the web.  Visit to learn how to create an XML file that tells spiders where to go and what has changed. If you’ve already been using Google sitemaps, it’s the same protocol.

Read more on TechCrunch.

IE7 is Officially Out, Time to Switch to Firefox?

Internet Explorer 7 and Firefox 1.5 Face Off
There’s been much buzz about the recent release of Internet Explorer 7 – and it’s true, the first new version of Microsoft’s browser to come out in half a dozen years is a vast improvement. Most important to your average user, tabbed browsing and rss feed support are finally here for the masses. By all means, upgrade, but while you’re at it, consider downloading a browser that’s been offering tabbed browsing and a dizzying array of optional plugins for years, Firefox.  My favorite .NET tech blog, Coding Horror, points out that while IE has caught up to Firefox (for now) in terms of core features, Firefox has extensibility and community support that IE will likely never match.

Web 1.0 vs. Web 2.0

Zeldman, author of the vastly popular Designing With Web Standards, offers an amusing comparison of Web 1.0 vs. Web 2.0 trends here are my favorites:
Web 1.0: Crap sites on Geocities.
Web 2.0: Crap sites on MySpace.

Web 1.0: Writing.
Web 2.0: Rating.

Web 1.0: Cool Site of the Day.
Web 2.0:

He invited his readers to submit their own as well:

Web 1.0: Animated gif
Web 2.0: Badges

Web 1.0: Bloated Table Code
Web 2.0: Divitis

Web 1.0: “Under Construction”
Web 2.0: “Beta”

Web 1.0: Content is king!
Web 2.0: Contributed content is king!

Web 1.0: drop shadows
Web 2.0: reflections

Web 1.0: “Site best viewed with Internet Explorer”
Web 2.0: “Site best viewed with anything but Internet Explorer”

Web 1.0: “Looking for an experienced designer. Must be able to design and implement websites using HTML, CSS. Knowledge of Javascript a bonus.”
Web 2.0: Looking for an experienced designer. The candidate must be affluent in XHTML, CSS, Javascript, DHTML, AJAXY GOODNESS, Ruby on Rails, PHP, JSP, SQL, MySql,, XML, Actionscript (2.0 and 3.0), Adobe CS2 products, Dreamweaver, Coldfusion, Quark, eCommerce, SEO, linux, unix, IIS.

And I reworded a couple:

Web 1.0: Surfing
Web 2.0: Consuming

Web 1.0: Webmonkey
Web 2.0: A List Apart

Google Code Search

Google Code Search

Google Code Search indexes contents of zip and tarball files and best of all, you can use regular expressions in the query field when searching, as seen in the screenshot from the search page (above).  One thing I noticed was the conventient search language feature, but it’s convenient only for certain languages. All the expected big boys work, searching for lang: and c, c++, c#, java, jsp and even javascript return plenty of hits.  Oddly lang:asp works but lang:vb,, or visualbasic all return nada. I guess there’s another reason to use c# instead of vb. via: techcrunch

The public notebook of Mahalie Stackpole, Web Developer.