Skip to content

Syncing Google Calendars to your Mac (+ iPhone)

Because this wasn’t easy to find when I did a Google search on how to do it…

I’ve been using Google Calendar for a few years because it was really the only feasible way to manage my schedule in school, where I used more than one laptop, lab machines, and kiosks on a regular basis.

Now that I work primarily on two Macs and have an iPhone, I’m still happy with Google Calendar because of two things: Google now supports CalDAV, iCal 3 supports CalDAV sync, and NeuvaSync acts like an Exchange server for my Google Calendars!

NeuvaSync allows direct, over-the-air, native synchronization of certain smart phones and PDA devices with public PIM, and calendaring services including Google Calendar. NuevaSync does not need any software installed on your device because it uses synchronization protocols that are already built in.

With this setup, I can add/edit events from either of my Macs, Google Calendar, or my iPhone.

It took less than 10 minutes to get the iPhone setup from registering at NeuvaSync.com to syncing for the first time. (brief instructions on setting up NeuvaSync)

Only criticism of this setup are: NeuvaSync can’t color-code indivual calendars from gcal, but maybe that’s coming?

Tagged , , , ,

Recording Video on a Jailbroke iPhone

I have an iPhone, but I don’t spend a whole lot of time messing with it. I wanted to be able to record video on it (why you have to jailbreak your iPhone to get this working, I just don’t understand) and get those videos online without much fuss.

  1. Jailbreak iPhone using QuickPwn (offical torrents avialable on blog.iphone.dev). This takes about 10-15 minutes once you’ve downloaded the torrent (which, if you’re on Comcast, could take an indefinite length of time…).
  2. Use Cydia to install Cycorder (one of the featured packages, by Jay Freeman (saurik)) to record video, OpenSSH to enable SSH access, and Toggle SSH to turn it on and off.
  3. Record videos.
  4. Launch Toggle SSH and hit Enable (there’s no feedback in this app, you just have to trust that it actually enabled SSH).
  5. Connect to Wi-Fi on your iPhone and find your IP (Settings > Wi-Fi > choose your network > find your IP). (I don’t have a good wireless connection where I’m doing this, so I turned on Internet Sharing over AirPort on my iMac for this.)
  6. Open your favorite SFTP client and use your iPhone’s IP for the hostname, and the “official” Apple username/password for SSH: root/alpine
  7. Videos made in Cycorder can be found in the /User/Media/Videos/ directory.
  8. When you’re done transferring files, logout of your SFTP session and use Toggle SSH to Disable the SSH Daemon.
  9. Upload to your video site of choice…

    Sweet!

Tagged , ,

Media Buttons fixed in WPMu 2.6.2

Reading Donncha’s WPMu 2.6.2 announcement this morning made me very happy. Especially this part:

3. Configurable media buttons on the Write page. #598, #738

Something that I’ve been working on for the Smith WPMu install is making it easy/intuitive to make rich content. This means being able to add images, video, audio, links, tags, categories, and dynamic content (this is coming…) without any html or other specialized knowledge.

I’m using Google Maps Quicktags, Photo Dropper, Anarchy Media Player, and a Donncha’s Flickr Widget for media on the Smith blogs. But the ability to easily add an image from URL was missing. This is important because at this stage, each blog has a 50MB upload limit, so our users really need to host their media elsewhere.

So, thanks Donncha for fixing tickets #598, #738 !!

Tagged

New uses for WPMu at Smith

I just met with some folks from College Relations to talk about how they could use WordPress for faculty bios, which got me totally amped! They want to make faculty responsible for updating their own bios, which was being done with Adobe Contribute, with much resistance from the faculty.

We discussed what the best strategy would be to get faculty to write their own bios and how to make it easy for them to actually get in there and get their hands dirty without it all being too intimidating. (As I told them, I’ve never had trouble teaching someone who wants to use WordPress how to do it, but I’ve yet to try to force someone to use it…) We settled on this for a plan: College Relations folks will administer a Faculty blog with one page for each faculty member with a bio. The Faculty members will be added as Contributors/Editors and given a link to …/wp-admin/edit-pages.php where they will find their own page and hack away at it. All of this occuring on a theme that uses the college styleguide & standard links.

Faculty members can also update their personal pages/blogs and link back to them from their bio’s on the Faculty blog if they’re into that sort of thing. We also discussed ways to get the RSS feed from their personal blog to show up on the bio page, which I know is do-able but don’t know exactly how it would be accomplished yet. (Thinking of a plugin that would incorporate a custom field for the feed url then print out the last few posts under the page.)

All in all, I think this is a great start for using WordPress on campus to do non-blogging and more-than-blogging. (Shout out to Jim Groom, Ten ways to use UMW blogs)

Sub-sites in WordPress

Last year, I wrote a number of posts to TechNotes (the Smith College technology blog for students) about copyright infringement and the Acceptable Use Policy, but the posts were scattered chronologically, and other than searching by tag, there was no good way to gather all the information/announcements together in one place. With the new semester and a whole new batch of eager students, ready to download re-runs of Sex & The City and Usher songs on LimeWire — it’s time we gathered all that information and make it available to the students.

So, instead of making a fresh design and hand-coding a new site just for 5 or 6 pages of content, I decided to adjust the TechNotes theme for this “sub-site” so that it would look similar to TechNotes, be easy to update, and bring students to TechNotes if they haven’t seen it before. Thus, File Sharing @ Smith was born.

The need for a site that fits in with the current TechNotes site but has it’s own header, sidebar, etc got me to play around with if statements in a WordPress theme for the first time.

To accomplish this, I edited three files (sidebar.php, header.php, style.css) and created a simple template, filesharing.php. All of the pages on this sub-site use the File Sharing template (filesharing.php).

filesharing.php calls get_header(), “the loop”, get_sidebar(), and get_footer() with the appropriate wrappers and classes for my theme.

The TechNotes theme uses a Photoshop image map (the original theme has a bunch of links on a “stickie-note” and this was the simplest way to get it to look right in IE etc… so much for table-less design), so I changed the include in header.php from

<?php include('TechNotesBlogFileTransferBanner.html'); ?>

to read

<?php if ( is_page_template('filesharing.php') ) {
     include('TechNotesBlogFileTransferBanner.html') ;
} else { include('TechNotesBlogBanner.html') ; } ?>

The sidebar for TechNotes doesn’t use widgets, it’s hard-coded (mostly because I designed this theme before I knew as much as I do now about theming WordPress, but also because it doesn’t really ever need to change). So, I added the following code to the top of sidebar.php:

<?php
if (is_page_template('filesharing.php') ) {
?>
		<div id="sidebar-fs">
            <div class="left">
            	<ul>
            		<?php
				  	if($post->post_parent)
				  	$children = wp_list_pages("title_li=&include=".$post->post_parent."&echo=0") . wp_list_pages("title_li=&child_of=".$post->post_parent."&echo=0");
				  	else
				  	$children = wp_list_pages("title_li=&include=".$post->ID."&echo=0") . wp_list_pages("title_li=&child_of=".$post->ID."&echo=0");
				  	if ($children) { ?>
				  	<li><h2>File Sharing @ Smith</h2>
				  	<ul><?php echo $children; ?></ul>
				  	</li>
			  		<?php } ?>
			  		<!-- File Sharing Quick Links -->
	               	<?php wp_list_bookmarks('category=286'); ?>
	               	<!-- Copyright Links -->
	               	<?php wp_list_bookmarks('category=287'); ?>
				</ul>
            </div>
       	</div>
<?php
} else {
?>

Lines 7 - 16 of the code above gather all of the File Sharing pages on TechNotes (including the parent page) and write them out as a an unordered list (modified the code found in the WordPress codex, wp_list_pages(): List subpages even if on subpage)

As for the stylesheet, I added #sidebar-fs to style the File Sharing sidebar seperately from the “normal” sidebar on TechNotes (#sidebar).

Now that I’ve done this once,  I’ll probably use this technique for a number of projects.

Tagged ,

That’s one way to build a dynamic front page for WPMU…

A few months ago, I started working on a WordPress MU (multi-user) install to host the few blogs at Smith College ITS. Once I got it setup, it seemed like the next logical step to open the install up to other people on campus. Hosting 10 blogs isn’t any harder than 1000 from an administrative perspective, and the campus needed a quick & easy web-publishing platform.

So, after a few meetings to decide on policy for the blogs and whatnot… we’re live this semester with 138 blogs and 131 users today.

After getting new user registration setup, one of the first things I wanted to get working was a dynamic front page for my WP MU install. And, the only way I figured any of this out was reading other people’s blogs, so here goes!

The first step was setting up a custom theme for the front page, which I based on the “Piefecta” 3-column layout from Position Is Everything  and the original Sandbox WordPress theme from plaintxt.org

I setup a Template page for the “portal,” which has a Featured Post block, Recently Updated (public) blogs block, and News & Updates block below that. (To setup a blog to use a template as the front page, make a new Page using your Template for the front page and a new page using the Default Template for your posts page, then go to Settings → Reading and use the “Front Page Displays” block to specify your front page and posts pages.)

The Featured Post and News & Updates blocks are actually a simple RSS parser that grab the appropriate feed. The parser uses Magpie RSS, which I simply added to the theme so that it could be easily included without screwing around with urls.

The code below could easily be adapted for other sites:

Featured Post Block, pointing to http://sophia.smith.edu/blog/winblog/feed/

News & Updates block, pointing to http://sophia.smith.edu/blog/feed/

** While I was working on this parser, I found a few resources online particularly useful, listed below:
PHP and RSS: Getting it Together from IBM
List/Display YouTube Videos with MagpieRSS from NetWebLogic
PHP, XML, and Character Encodings from messy-78

For the Recent Posts block, I’m using a template tag provided by the plugin Most Recent Posts - Updated, which I originally got from WPMU Dev and edited for my own purposes (released here: Most Recent Posts (Updated Again) ).

For the Sidebar, I’m using the Ada List All [widgets] plugin, which adds new/updated/active blogs widgets and a login widget that I put together using some code by Patrick Murray-John [via bavatuesdays' New digs for UMW blogs, or the anatomy of a redesign].

The FAQ & How-To pages are just regular pages using the Default Template, the News & Updates page is the posts page (specified in Settings → Reading) using the Default Template, and the Blog Directory is a custom template that calls the List-All plugin’s template tag.

Of course, there’s a lot more under the hood, but that’s probably a pretty good explanation of how I built a dynamic front page for WordPress MU.

Edit 9/26/2008: I switched from my own Most Recent Posts plugin to Aziz Poonawala’s superior
AHP Sitewide Recent Posts Plugin for WPMu
.

Tagged , , , ,