Category Archives: Process

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

  • Create a subdomain for your MediaWiki install, such as, wiki.yourdomain.com. 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 wiki.yourdomain.com/index.php?title=MediaWiki:Nosuchuser&action=edit.
    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.

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 mahalie.com, 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.

Dual Monitors Increases Productivity


Lawrences workstation
Originally uploaded by BigAlUK.

“adding an extra monitor will give your output a considerable boost — 20 percent to 30 percent, according to a survey by Jon Peddie Research.” New York Times



Earth and Moon
Originally uploaded by PlayWithFire.

I can attest to that! I love having two monitors, generally I use one for coding/designing/main-task and the other for reference such as googling groups, reading documenation. Also I keep my monitoring activies visible in the right screen. Unfortunatly I have one awesome LCD monitor and one old blurry kludger at work I may purchase one for myself soon. Yes, I like it that much. After all, consider how much time you spend at work – it’s worth the investment!

Getting Started is the Hardest Part

Once again I have to agree with Scrivs, getting started is the hardest part of web design for me. I’m not sure if it’s that there are limitless options, or I feel like there’s new technology I need to learn before embarking (and there always is) or if it’s just creating the inertia. Perfectionism can be so painful, and it’s weird to try to be less perfect. If only I didn’t have any scruples related to design integrity…I’d just chuck stuff up in Front Page Dreamweaver. I’m the same way much worse with painting – major fear of blank canvas.