Displaying Hierarchical Lists of Files With Obsidian and Dataview

In Obsidian, I use a folder of notes called “Collections”. Inside Collections are various folders that act as buckets of info, in a quasi-Zettelkasten notes-as-personal-wikipedia kind of thing. My Collections currently include (in alphabetical order): Articles Committees Ideas Institutions Organizations People Profiles Topics Vendors Some of these have subfolders to organize notes into smaller buckets. For example, Topics is organized by folders for: General Tech Higher Education Information Technologies Learning Spaces Learning Technologies Misc Pedagogy Processes TI Projects UCalgary The folders change and I add to them and reorganize as needed....

May 3, 2023 · 3 min

Resurrecting ancient CD-ROMs with VirtualBox and Windows Virtual PC

I have a stack of old CD-ROMs from projects ranging from 1995-2003. I wanted to save a few of them to add to a portfolio of projects, before the projects were lost forever. It’s ironic - back in the olden days of multimedia, we burned fancy new CD-ROMs that were sold as “100 year archive medium” - costing $30 or more per disk back then, and we figured it was money well spent....

December 28, 2015 · 3 min

blocking distributed botnet attacks against WordPress (multisite)

I checked the Activity Monitor page1 for UCalgaryBlogs this morning, and noticed that there had been several thousand attempts by people (or “people”) to login using the usernames “admin” (the default WordPress admin account, which isn’t what’s used on UCalgaryBlogs) and “siteadmin” (which is the username for our server - scripts must have sniffed it from blog posts on the main site…) Curious. I’d installed the fantastic Limit Login Attempts plugin to prevent people from brute-forcing logins, but that plugin only kicks in if the same IP address hits the login form repeatedly....

October 16, 2013 · 2 min

how to repair all tables in all databases on a mysql server

This comes in handy, and I have to google it every time I need it12. So, here’s a copy for reference later… mysqlcheck --repair --use-frm --all-databases Run it as root, with MySQL running. It’ll repair every table in every database. Give it time to chew for awhile. It spews out the status of every table as it works. Here’s what it found with my FeverËš database tables (which now work just fine):...

August 10, 2013 · 2 min

syncing Desktop across multiple computers

I treat my Desktop as “stuff I’m working on right now” and file things away into project folders after I’m done actually working on them. I also use 3 different computers, and a couple of iOS devices. How to sync this active-work area across all? This would work with any other file sync tool1. It’s an easy trick, based on one I found on Lifehacker2. It’s also not necessary - it’s trivial to just leave the active-work files in the Dropbox directory, but then you have to go digging every....

July 9, 2013 · 2 min

debugging the text editor in sharepoint

tl dr; run IE in 32-bit mode. Seriously. I know. That’s what I said, too. I’ve been using Sharepoint 200712 with my group, to share information about groups and projects on campus. It’s been working, but we just started using the wiki tool3, and my inability to make the visual text editor turn on became really troublesome. I’d never been able to get the visual editor to show up. I looked in settings - the visual editor in Sharepoint 2007 is implemented as an ActiveX control4 so I made sure I was running Internet Explorer5 (IE9 on Win7)....

July 16, 2012 · 3 min

protecting wp-login.php

I noticed a rather severe spike in CPU usage on my Mediatemple server, and dug in to see what was causing it. For an hour, someone was hammering the login form for my blog, accounting for 98% of all CPU usage for my account during the "attack". That's not OK (I have lots of CPU/bandwidth left, but it's silly to leave a login form exposed to some kind of sustained script-kiddie "...

November 15, 2011 · 2 min

Easy server monitoring script

I manage or monitor a few servers, and it's a good idea to keep an eye on how they're holding up. The Linux `uptime` command is all I need - show me how long the server's been up (or if it's cycled recently - power hiccup?), and CPU load averages. I just whipped up a dead-simple solution to let me embed the uptime reports from the servers into my retro homepage....

October 29, 2010 · 2 min

stopping splogs - the nuclear option

I've been battling sploggers on UCalgaryBlogs continually. I just finished marking about 50 users/blogs as spam - that's since yesterday afternoon. I could easily stop the problem outright by requiring people to use an @ucalgary.ca email address to create a site, but that goes against the possibility of anonymity, and many (most!) students don't use their campus email addresses. I currently run [Bad Behavior](http://www.bad-behavior.ioerror.us/), as well as [ReCaptcha](http://www.google.com/recaptcha). They stop the automated splog creation scripts, but there seem to be a LOT of people employed around the world to manually enter forms in order to get around captcha and anti-spam/splog techniques....

October 5, 2010 · 3 min

Modifying the BuddyPress AdminBar

On UCalgaryBlogs, I'd modified the adminbar to include a link to the current site's dashboard if a person was logged in, making it easy to get to the members-only side of WordPress without having to go through My Blogs and finding the right blog, then mousing over the pop-out "Dashboard" link. Most people never found that, and it's not very intuitive. So, I hacked in a hard-coded link to Dashboard in bp-core-adminbar....

November 13, 2009 · 2 min