A collection of things.
By Chris James Martin

Useful LLM AI: First Day With an AI Assistant

10 Jan 2025 — Olympic Valley, CA

What am I talking about? Watch this video

Earlier this week I checked a months-overdue item off of my todo list, and set up a very basic “AI Personal Assistant” with Dan Catt’s Kitty AI. In my version’s current form it simply uses ChatGPT 4 to generate a set of 3 morning questions, then saves my answers and feeds those back into the prompt on subsequent days. This allows each day’s new questions have some context of my previous answers, and therefore my emotional state, what I’m working on and hoping to achieve, if I’ve been setting aside time for exercise and rest, etc.

So far I think it is shockingly great and I am incredibly excited to use this tool to track what I’m doing, give myself accountability, and develop a routine. Obviously a script backed by an LLM isn’t going to magically make those things happen, but I think it just might the right thing to help me make those things happen. It’s already made a huge impact on my productivity and what I’ve chosen to do with my time over the last two days (I know, two days… but I’m optimistic!).

Of course this tool is in the context of what I’m trying to improve personally. Mindfulness, organization, goal-setting, and work/personal life separation.

On my first day using Kitty it asked me a question about my emotion state which I answered with something like “I’m feeling anxious that I won’t accomplish everything I hope to today, and rushed because I need to get treats to Lucas’ school for his birthday.” I was wrapping up getting Kitty running, really wanted to get it done that day, and stressed that I wouldn’t. Another question was about what type of short break or activity I could include in my day to recharge to which I said “It would be nice to get a few ski runs in but I don’t know if I’ll have the time.”

As I rushed to Lucas’ school to deliver his birthday treats I turned these answers over in my head. I had initially planned to drop treats off at the school, then head back to a cafe and spend a few more hours on the computer before returning to pick Lucas and Isaac up from school. However, I realized that I would really get more value out of focusing on my son’s birthday, and celebrating that, then whatever I might accomplish with two more hours staring at the computer. Instead of rushing in and out for a quick birthday celebration, I signed Lucas and Isaac out for the remainder of the day (a totally normal thing to do, half the school leaves at noon for sck teams), and spent the afternoon skiing with them. I got the activity I needed, and made my sons’ birthday week that much more special.

Would I have done the same without the questions, responses, and post-thought? I don’t know, but I really like the feeling of stopping for a few minutes each morning and being thoughtful, not just rushing into my todo list.

comments

Getting Started with Kitty

08 Jan 2025 — Incine Village, NV

Hello Kitty!

I’m cheating a bit and writing/posting this a day late, but Kitty is set up! The process was super easy, although I now understand that what Dan has shared on GitHub is a very simple example of what Kitty or an AI PA can do, and not the full extent of what he is doing… which makes complete sense, as people are different, this is a personal project, and it would take a massive product team to try and make it work for everyone. (and then it would also probably suck for everyone)

My first three morning questions from Kitty:

"What emotions are setting the tone for your morning, and can you identify their sources?"

"In consideration of your physical and emotional state, what's the key thing you would like to achieve today?"

"As you envision your day, is there any particular activity or short break you could incorporate to recharge?"

All three are clearly inspired by but not directly pulled from the default question set, and having been run through GPT they feel much more natural than the defaults. Weird, but huge thanks to Dan for being miles ahead of me in his thoughtfulness towards what to ask to help one write useful answers.

Tomorrow I’ll write more about how these initial questions immediately impacted my day, and some other thoughts about how I want to use Kitty in my day-to-day life.

Here are my notes on setting up Kitty, in case someone happens to be here wanting to set up their own. Dan’s readme is thorough, but there were a few things that were slightly more involved for me because I hadn’t already set up an OpenAI Platform account.

Setup Steps

  1. Install kitty terminal. This is not required, you can run the AI PA in any terminal.

While it’s not mandatory to install the kitty terminal app, I’m doing it because I’ve never used kitty, and I want to see how it compares to the iTerm2 quake-style dropdown terminal I’ve been using for the last n years.

kitty binary installation instructions

Stopping myself from going down a rabbit hole of exploring kitty, I’m going to use it as-is after install and drop this thread here to explore customizing as a replacement for iTerm later.

  1. Fork and clone Dan’s Basic Kitty Journaling repo to your local machine.

  2. Set up an OpenAI Platform account and add some credits. I initially just created an API key, but it didn’t work for GPT-4 without credits, and I had to create a new API key after adding credits, the existing key didn’t automatically start working.

  3. Follow the rest of the instructions in the installation section of the readme.

comments

Working Towards Sustainable Indepence

07 Jan 2025 — Alpine Meadows, CA

This will have to be short, but I need to get started.

In June 2024 I stepped away from my latest professional role as co-founder and head of engineering at Scenery. It was a friendly parting of ways, with 5 years of work completed and a great person available to step in. I knew that I wouldn’t be able to give family and the company the time and focus they each needed through the summer, and I didn’t want to do both poorly. Later while describing some issues that were concerning me, including hightened anxiety, poor sleep, and others, my wife pointed me to a few detailed descriptions of burnout. I didn’t realize there were so clearly defined definitions, but yep, that was me; juggling family, startup work, and trying to find time for physical activity was proving to be too much for a bit too long.

The summer was great. I stayed away from the computer, spent a bunch of time outside, and had a wonderful time not feeling stressed and enjoying family. Yay!

With the start of school in August I settled in to the routine of getting the kids to school, then sitting down with at the computer for a few hours with the goal of exploring and educating myself on tech that I wasn’t able to pursue while working on Scenery. I’ve pretty successfully done this, but haven’t produced much more than a bunch of exploratory projects (and a bunch of learning on what works and what doesn’t). I still want to roll the hundreds of hours of exploratory work into a shippable project or two, but I’ve found that I need to focus on structure now to give myself some accountability and track what I’m doing.

I also had the opportunity to contract with the Scenery team as they transitioned into new roles with Adobe, which was awesome and I’m so happy for the outcome and to be able to close that chapter with the team.

But now, for that accountability and tracking.

My goal: Spend ≤ 50% of my time each day on the computer producing digital work, and the rest on family and healthy active activities.

Ideally both sides of the day can also generate income. Contracting is always an option, but my (digital) goal is for personal projects to produce income as well. Unfortunately I’ve always been more driven by curiocity and learning than income generation, so I have some growth to do to stop stopping when my questions are answered and turn my work into finished projects.

Immediate plans:

My to-do list has had a bullet of “set up AI assistant” on it for a few months now, so I’m going to do that. This journal post is an attempt to force myself to follow through. I don’t think anyone will read it, but I’ll know it’s here.

I’m inspired by Daniel Catt, and have been impressed with his exploraitons of how to best use different forms of social media, video, and writing; and now the addition of AI to track projects, etc. I’m going to see if his “Kitty” assistant can be a useful part of my workflow. My next step is to set that up. Hopefully I don’t waste too much time coming up with a clever name.

My 50% computer time is nearly up, and I have a Ski Coaching clinic to get to. I guess I can call today a success?

Tomorrow: write an update on setting up my version of Kitty.

comments

Serverless Auth: OpenAuth on AWS with SST

17 Dec 2024 — Truckee, CA

I’ve been playing with a bunch of “serverless” solutions lately. I used Amplify to configure and bootstrap various AWS services for Scenery and the projects that preceeded it, and I’d say it provided equal parts convenience and frustration.

As a learning exercise, I recently used Amplify gen2 to deploy an OIDC wrapper around the Flickr API as a next.js app. It worked, and served it’s purpose of refreshing my memory on how OAuth2 and OIDC work while giving me an excuse to play with next.js, but I wouldn’t use the final product for a production application. It also convinced me that it’s time to try out SST as a replacement for Amplify. Let’s see if we can find a bit more convienience and less frustration.

Enter SST’s OpenAuth. Let’s give it a try as an auth service and explore SST in the process.

I’m going to depoy OpenAuth as it’s own standalone service on AWS using SST.

Setup SST

  1. If you haven’t used SST before, read through the workflow and configure your IAM credneitals.
  2. Create a new directory for our project: mkdir openauth && cd openauth.
  3. Initialize SST: npx sst@latest init - use the default options: vanilla template and aws.

Add the OpenAuth Component

In the run function of sst.config.ts add:

const auth = new sst.aws.Auth("MyAuth", {
  authorizer: "src/authorizer.handler"
});

Authorizer

  1. Add OpenAuth npm package: npm i @openauthjs/openauth.
  2. Create a file at src/authorizer.ts: mkdir src && touch src/authorizer.ts.

This authorizer is based on the lambda example, with a few changes because we’re using the auth component which creates the dynamodb table and links it to the authorizer automatically.

import { authorizer } from "@openauthjs/openauth"
import { handle } from "hono/aws-lambda"
import { subjects } from "../../subjects.js"
import { PasswordAdapter } from "@openauthjs/openauth/adapter/password"
import { PasswordUI } from "@openauthjs/openauth/ui/password"

async function getUser(email: string) {
  // Get user from database
  // Return user ID
  return "123"
}

const app = authorizer({
  subjects,
  providers: {
    password: PasswordAdapter(
      PasswordUI({
        sendCode: async (email, code) => {
          console.log(email, code)
        },
      }),
    ),
  },
  success: async (ctx, value) => {
    if (value.provider === "password") {
      return ctx.subject("user", {
        id: await getUser(value.email),
      })
    }
    throw new Error("Invalid provider")
  },
})

export const handler = handle(app)

Subjects

  1. Add the valibot npm package: npm i validbot.
  2. Create a file at src/subjects.js: touch src/subjects.js.
import { object, string } from "valibot";
import { createSubjects } from "@openauthjs/openauth";

export const subjects = createSubjects({
  user: object({
    id: string(),
  }),
});

Run SST dev mode

Run SST dev to configure AWS resources and run the app in dev mode.

npx sst dev

Once SST has deployed all of the AWS resources needed for OpenAuth, it will output a URL you can use to test the authorizer. It will look similar to this:

https://[uuid].lambda-url.us-west-2.on.aws

Add /.well-known/oauth-authorization-server to the url and open in a browser to test that your OpenAuth service is up and running. You should see something like this:

https://[uuid].lambda-url.us-west-2.on.aws/.well-known/oauth-authorization-server

{
  "issuer":"https://[uuid].lambda-url.us-west-2.on.aws",
  "authorization_endpoint":"https://[uuid].lambda-url.us-west-2.on.aws/authorize",
  "token_endpoint":"https://[uuid].lambda-url.us-west-2.on.aws/token",
  "jwks_uri":"https://[uuid].lambda-url.us-west-2.on.aws/.well-known/jwks.json",
  "response_types_supported":[
    "code",
    "token"
  ]
}

Congratulations, you have successfully set up a basic OpenAuth service! You should now be able to set up an Auth Client to use with your shiny new OpenAuth server.

comments

Filed Under: I can’t believe I live here.

27 Mar 2015 — San Francisco, CA

From Above

Good greif.

comments

Flickr Heatmap Tiles in Satellite Eyes

11 Apr 2014 — San Francisco, CA

I love Satellite Eyes. I’ve been using it for the last few years(?) to beautify my desktop with local Stamen Watercolor Maps.

When I saw these Flickr heatmap tiles by Eric Fischer, I immediately wanted them as my desktop. Here’s how to do it.

  1. If you haven’t already, install Satellite Eyes.
  2. Head to the Satellite Eyes preferences.

    Sattelite Eyes Menu

  3. Click “Manage Map Styles…”

    Sattelite Eyes Preferences

  4. Add a new map style, set the source to:

    http://trafficways.org/cgi-bin/tile.cgi?map=flickr-apr10&opt=-cFFFF00%20-M%2037%20-B12:0.0066:1.0119%20-G0.5&z={z}&x={x}&y={y}

    Sattelite Eyes Map Styles

  5. Set Satellite Eyes to use the new map.

    Sattelite Eyes Select Map

  6. Enjoy!

comments

Virtualenv with Virtualenvwrapper on Ubuntu

30 Mar 2013 — San Francisco, CA

I’m a big fan of using virtualenv to create isolated environments for Python projects. Here’s how I set everything up on Ubuntu 12.10.

Install pip

sudo apt-get install python-pip

Install virtualenv

sudo pip install virtualenv

Create a dir to store your virtualenvs (I use ~/.virtualenvs)

mkdir ~/.virtualenvs

At this point you are all set to use virtualenv with the standard commands. However, I prefer to use the extra commands included in virtualenvwrapper. Lets set that up.

Install virtualenvwrapper

sudo pip install virtualenvwrapper

Set WORKON_HOME to your virtualenv dir

export WORKON_HOME=~/.virtualenvs

Add virtualenvwrapper.sh to .bashrc

Add this line to the end of ~/.bashrc so that the virtualenvwrapper commands are loaded.

. /usr/local/bin/virtualenvwrapper.sh

Exit and re-open your shell, or reload .bashrc with the command . .bashrc and you’re ready to go.

Create a new virtualenv

mkvirtualenv myawesomeproject

to exit your new virtualenv, use deactivate.

Switch between enviornments with workon

To load or switch between virtualenvs, use the workon command:

workon myawesomeproject

You can read more about virtualenv here and virtualenvwrapper here. You might also want to look at this very similar (and probably better) python guide post.

Questions?

comments

Photo Hack Day SF — The Plan

14 Jul 2012 — San Francisco, CA

En Route to Photo Hack Day SF

I love hack days. I usually go into these things with either no idea, or an idea that’s been bubbling in my head and will almost certainly be too ambitious for a day of hacking. Today is the latter, this should be fun.

A few months ago Cal built http://thisismyj.am, a parody of http://thisismyjam.com. This triggered the domain-buying lever in my brain and I wound up with http://thisismycam.com, which has been parked ever since. The sliver of an idea that inspired the domain purchase is a site that hooks up to Flickr, looks at a user’s photos, and builds a profile of all the cameras that they’ve used. Simple, right?

The plan, pull in photos, check exif, pull in camera info from amazon, build some pretty pages to display it all. Keep an eye on http://thisismycam.com for progress.

comments

Fix MenuMeters for OSX Lion

14 Jun 2011 — San Francisco, CA

Update: The current version of MenuMeters (1.5) supports Lion, "get it here":http://www.ragingmenace.com/software/menumeters/. "MenuMeters":http://www.ragingmenace.com/software/menumeters/ is one of those little things that I must install immediately after any fresh install of OSX. Unfortunately the current build doesn't run out of the box on OSX 10.7 "Lion", but it's easily fixed. The problem lies with the hack MenuMeters uses to insert menus into the OSX menu bar, "MenuCracker":http://sourceforge.net/projects/menucracker/. We need to update the version included with MenuMeters to the latest version. # Go ahead and install "MenuMeters":http://www.ragingmenace.com/software/menumeters/ if you haven't already; make note of where you install it (/Library or ~/Library). # Download the latest version (currently 2.2) of "MenuCracker from SourceForge":http://sourceforge.net/projects/menucracker/. # Replace MenuCracker.menu in (~)/Library/PreferencePanes/MenuMeters.prefPane/Contents/Resources/ with the version you just downloaded. If you're lazy, you can paste this into your terminal: sudo cp -R /Volumes/MenuCracker\ 2.2/MenuCracker.menu /Library/PreferencePanes/MenuMeters.prefPane/Contents/Resources/ # Close/(re)Launch System Preferences, and enable MenuMeters. Boom.

comments

How To Install wkhtmltopdf PHP Bindings

16 Mar 2011 — San Francisco, CA

This isn't a difficult process, but I'm sure I'll need it again, so here it is. Pre-requisites: # Download the latest version of libwkhtmltox and the source of wkhtmltopdf "from google code":http://code.google.com/p/wkhtmltopdf/downloads/list # Copy lib/libwkhtmltox.so from libwkhtmltox to /usr/local/lib # Copy include/wkhtmltox from wkhtmltopdf to /usr/local/include # $ldconfig -v | grep wkhtml (just to make sure it's loaded) PHP Bindings: # Grab php-wkhtmltox "from github":https://github.com/mreiferson/php-wkhtmltox # Install Installation: If development tools aren't installed: $apt-get install build-essential php5-dev (ubuntu) $phpize $./configure $make install Add extension=phpwkhtmltox.so to php.ini. P.S. These instructions are for Ubuntu. If you're on centOS, things are more difficult, good luck.

comments

Rainy Thursday

24 Feb 2011 — San Francisco, CA

Rainy Thursday Even on a rainy Thursday in February, San Francisco is beautiful.

comments

Remove greenpois0n Boot Logo After 4.2 Jailbreak

07 Feb 2011 — San Francisco, CA

I greatly appreciate the work of the iOS hacking community, I really do. I've never used a non-jailbroken iPhone (for long), and I can't imagine upgrading to a new iOS version without a jailbreak and all the goodies I've come to rely on in my iPhone world. However, I expect a jailbreak to do it's thing, and then disappear. Installing a utility like Cydia is acceptable (and expected), but I want my iPhone to look and operate from the UI/UX side just as it did before. This means I don't want any themes installed, I don't want the apple on boot to switch to a pineapple, and I certainly don't want an animated skull logo every time I reboot my phone. Anyway, enough bitching; the beauty of having a jailbroken phone means you can get in there and change it. # Install OpenSSH from Cydia # SSH into your iPhone using the default account "mobile", password "alpine" # Switch to root with $su, the password is also "alpine" # $rm /usr/bin/animate That's it, on the next reboot you'll only see the standard apple logo, yay! If you want to keep SSH installed on your phone, you should change the default password using passwd, right now.

comments

Support Hayes Valley Farm on Kickstarter

30 Sep 2010 — San Francisco, CA

For the next month and a half, anyone visiting this site will see a widget on the left side of the page showing the progress of the Hayes Valley Farm "Kickstarter project":http://www.kickstarter.com/projects/hayesvalleyfarm/hayes-valley-farm-a-freeway-food-forest-and-educat to help fund the farm in the coming year, here's why: !http://farm3.static.flickr.com/2677/4433747577_145aa54e2b_z.jpg(Liquid Light)!:http://www.flickr.com/photos/cjmartin/4433747577/in/set-72157623666806379/ "Hayes Valley Farm":http://hayesvalleyfarm.com is an amazing urban farming project taking place in the middle of Hayes Valley in San Francisco on the 2.2 acre lot that was formerly the on/off ramp for the central freeway. Since 1989 when the "Loma Prieta earthquake":http://en.wikipedia.org/wiki/1989_Loma_Prieta_earthquake#Effects_on_transportation damaged the elevated road and led to the central freeway ending on Octavia Boulevard, the lot has been vacant and lonely, unused and surrounded by a chain link fence. The Hayes Valley Farm project "started work in January":http://hayesvalleyfarm.com/about/history.html, and in the last 8 months the site has transformed. The chain link fence remains, but it is decorated with art from students at a near-by school, the on-ramp has become a "freeway food forest", hundreds of cubic yards of mulch have been spread and planted with fava beans and more to start healing and renewing the soil, and the community has come together to get their hands dirty while meeting and enjoying the company of those who live in the neighborhood and beyond. It really is an awesome thing to watch grow and be a part of. To help raise funds for the coming year, the Hayes Valley Farm team has set up a "Kickstarter project":http://www.kickstarter.com/projects/hayesvalleyfarm/hayes-valley-farm-a-freeway-food-forest-and-educat with the goal raising $20,600 to buy tools and supplies, and more importantly, continue building the educational programs for local schools and community. Kickstarter is a great concept where "backers" pledge to donate a certain amount of money if the total pledges reach a pre-set goal in a set period of time. "This model":http://www.kickstarter.com/help/faq#AllFund encourages projects to set goals based on what they really need, and backers know that while their donation alone may not mean the project's success, their public pledge of support might encourage others to chip in and raise the amount the project really needs. When I started writing this post, the project was at under $1000 pledged, two days later it was over $3000. Go check out their "Kickstarter project page":http://www.kickstarter.com/projects/hayesvalleyfarm/hayes-valley-farm-a-freeway-food-forest-and-educat and the "Hayes Valley Farm website":http://www.hayesvalleyfarm.com, then join me as a backer and help them reach their goal!

comments

Install X11 on OS X 10.4 Tiger Without the Install DVD

01 Dec 2006 — Atlanta, GA

!(alignright)http://files.cjmart.in/images/x11.jpg! The other day I was at school and I needed to install "X11":http://images.apple.com/macosx/features/x11/ on my intel mac in order to run an "NX Client":http://www.nomachine.com/download-client-macosx.php session into my linux box at home. However, apple doesn't seem to want to put the X11 User package for Tiger online anywhere... You can find the package for <=10.3 but what good is that!? For anyone like me who doesn't carry their Tiger install DVD at all times, I am going to put the X11 User and X11 SDK packages online. "You can download them here.":http://dl.dropbox.com/u/1145207/X11TigerInstall.zip - zip file ~60MB The .zip file contains 2 packages, X11User.pkg and X11SDK.pkg. I think you need to install the X11SDK.pkg first, however if you have the dev tools installed it's probably already there. After the install run software update as apple has released "an update":http://www.apple.com/support/downloads/x11update2006113.html for this version of X11. Enjoy X11. p{margin: .5em 20px}. Note: There has been some question as to whether or not I am allowed to host and distribute this binary copy of X11 from Apple. In looking at the "XFree86 license":http://www.xfree86.org/legal/licenses.html, I believe I am freely able to redistribute this file as specified in this section: "Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicence, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:" p{margin: .5em 20px}. And this condition: p{margin: .5em 20px}. "Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution, and in the same place and form as other copyright, license and disclaimer information." p{margin: .5em 20px}. I hope I'm right, all I want to do is help people out here... Update: Want to thank me? Leave a comment (many already have, and I love seeing that I have helped people)! p{margin: .5em 20px}. Some have suggested that I set up a way for people to leave small donations for my hosting of the files. Here's my idea, why don't you treat yourself and help me out at the same time! Below are a couple links to the amazon product pages for OSX Leopard. If you buy Leopard through one of these links then I get a small amount of money through the Amazon Associates program. The cost to you is the same (actually less than buying Leopard from Apple), and you can help me save money to get myself a copy! p{margin: .5em 20px}. Even if you don't want Leopard, use one of these links then buy a book... I'll still get ~10¢, Yay! * "OSX Leopard":http://www.amazon.com/gp/product/B001AMHWP8?ie=UTF8&tag=roundherenet-20&linkCode=as2&camp=1789&creative=390957&creativeASIN=B001AMHWP8 (Single User) * "OSX Leopard":http://www.amazon.com/gp/product/B001AMPP0W?ie=UTF8&tag=roundherenet-20&linkCode=as2&camp=1789&creative=390957&creativeASIN=B001AMPP0W (5 User Family Pack)

comments

Download Flash (or any other) Video on OSX with Curl

30 Nov 2006 — Atlanta, GA

So say you come across a video online that is so great you would really like to save a copy locally to watch over and over again (assuming you are allowed to). For sites such as youTube and the other majors this might not be a problem... there are numerous tools available to grab content. However, some sites don't work with the commonly available tools, or maybe you would just rather use tools that are already included in OSX, well here's how. Say you want to grab a wonderful video about "Happy Feet" from Reuters.com...
  1. *Using Safari* navigate to the page that contains the video. !http://files.cjmart.in/curlVideos/Picture1.png!
  2. Open the "Activity" window from the Safari Window menu. !http://files.cjmart.in/curlVideos/Picture2.png!
  3. In the Activity window, find the page that contains the video, and click on the triangle to show all the elements loaded in the page. !{margin:0 0 0 -30px; width: 550px;}http://files.cjmart.in/curlVideos/Picture3.png!
  4. Scan the list until you find a video file (in this case a .flv flash video file). It is easy to pick out the video files as they are generally much larger in size than everything else. Also note that a page might contain more than one video file (if the movie first loads with an advertisement etc.) you generally want to pick the biggest one. !{margin:0 0 0 -30px; width: 550px;}http://files.cjmart.in/curlVideos/Picture4.png! Edit (Dec 1, 2006) It seems that some sites (I've seen it at youTube) actually load the video without the extension. In this case, just look for a large file (it's called get_video on youTube) and add the proper extension to the end (ie. for youTube, .flv).
  5. Double click on the url of the video file and a new Safari window will open. At this point, safari might start downloading the video. If it does not and a bunch of random text starts displaying in the browser that's ok, continue by selecting the url and copying it. !{margin:0 0 0 -30px; width: 550px;}http://files.cjmart.in/curlVideos/Picture5.png!
  6. Open up a terminal (Terminal.app is located in the Utilities folder inside your Applications folder). In the terminal, type (leave out the "<>"): $curl -o / Make sure that whatever you chose to name the video ends with the same extension as the original file, in this case .flv Here's what it would look like for the "Happy Feet" video: $curl http://int1.fp.sandpiper.net/reuters/t_assets/20061127/a72e...f2943.flv -o ~/Desktop/HappyFeet.flv This would save the video to my desktop and name it HappyFeet.flv
  7. Press enter and you should see something like this as the video downloads: !http://files.cjmart.in/curlVideos/Picture7.png!
  8. When it's done, you should have a copy of the video file on your local disk. You'll need an application that can play flash video to watch .flv files, I recommend "VLC":http://www.videolan.org/vlc/ or the "Perian plugin for QuickTime":http://perian.org/. !http://files.cjmart.in/curlVideos/Picture8.png!
-Enjoy!

comments

(Un)Official Flickr Badge

30 Mar 2006 — Athens, GA

I randomly found a site tonight that all "flickr":http://www.flickr.com/photos/cjmartin lovers will enjoy, "create your own personal flickr badge":http://flagrantdisregard.com/flickr/badge.php. I'm a Professional. "I'm a Professional!"

comments

Changing your Darwin / Quicktime Streaming Server Password

11 Dec 2005 — Athens, GA

Many people may not realize that if you install apple's "public source" "Darwin Streaming Server":http://developer.apple.com/darwin/projects/streaming/ on to a mac running a normal version of OSX (not server), it really seems to install the exact same "Quicktime Streaming Server":http://www.apple.com/quicktime/streamingserver/ software that comes with OSX Server (minus some UI tools). Well I found this out earlier this year when I installed DSS on my powerbook to play with streaming content to a Nokia 6620. I subsequently forgot that it was installed on my powerbook until tonight when I wanted to run phpMyAdmin and I was getting errors because... QTSS has been running this whole time (oops). Of course I didn't remember what my username or password was for the QTSS, and I found that it was quite a pain to hunt town how to change it (doesn't seem to be in the docs from apple), so I will post the method here for anyone else with this problem. Open a terminal and enter: sudo cat /Library/QuickTimeStreaming/Config/qtgroups You will see something like: admin: yourQTSSuser Now to change the password enter: sudo qtpasswd yourQTSSuser You may now go to http://localhost:1220 with your new password and carry on.

comments

East Clayton PodGuide

14 Sep 2005 — Athens, GA

After using "Podcast AV":http://www.oldjewelsoftware.com/products/podcastav/ for my first podcast and having a fairly painless experience, with the exception of having to manually write the final "XML":http://en.wikipedia.org/wiki/XML for the "RSS":http://en.wikipedia.org/wiki/RSS feed, I thought I'd go out on a limb and try a new piece of software called "Podcast Maker":http://www.apple.com/downloads/macosx/internet_utilities/ this time around. Podcast Maker was appealing because it's supposed to do everything from enhancement to writing the final XML all for you in a "GUI":http://en.wikipedia.org/wiki/GUI interface. After fighting with Podcast Maker for 2 days, I decided that Podcast AV was the way to go... Podcast Maker seems to get into an infinate loop (problem in code where a process keeps repeating endlessly) on the "enhancing podcast" step which creates an mp3 file that just keeps growing until you have no more disk space - that's a long time when you have 70gigs free (I didn't want to force quit and lose all my work). Hopefully this was just some strange bug for me and they will have it figured out soon. Even after all the pain, I'll still probably try it again in the future - if it worked it would be _real_ nice. I created this PodGuide walking around Downtown Athens with a powerbook and a bluetooth headset. I think I had the input level turned up too high in the sound settings on the powerbook so it kept cracking up and I had to lower all the levels later and it's kinda quiet. I'm learning... more on some other mobile recording methods I've discovered in a later post. Use this link to subscribe to the PodGuide in "iTunes":http://www.apple.com/itunes/: "feed://nmi.roundhere.net/podcasts/podguide.xml":feed://nmi.roundhere.net/podcasts/podguide.xml - Note this is an enhanced podcast, so it will only work with an iPod -

comments

Who is John Galt?

09 Sep 2005 — Athens, GA

It's come to my attention that people reading all about this cool mobile media stuff might actually like to know who this "Chris Martin" person really is... Well, if you haven't already googled me and discovered that I am the lead singer of the band "Coldplay":http://www.coldplay.com/ (nice iPod add look on the website) and I'm married to Gwyneth Paltrow, here's more about who I really am... Currently I am a 4th and 1/2 year student at the "University of Georgia":http://www.uga.edu studying Management Information Systems and New Media. When I graduate in December I will have my BBA in MIS, New Media Certificate, and will have completed the NMI Mobile Media Scholar Program. I have always been interested in technology but I don't think I really come off as your typical "geek". In high school only my closest friends knew the real me and referred to me as a "closet-nerd" (they kept me around for help when they had problems with anything technical). Even in coming to University I still didn't quite embrace my full inner geekness and started off as an International Business major. It was only a matter of time however, and with the help of friends and the discovery of the New Media Institute, I fully embraced my love of computers and technology. I am a Gadget addict. I read blogs like "Gizmodo":http://www.gizmodo.com and "Engadget":http://www.engadget.com nearly religiously, always wondering what's new and how will the world accept and change because of new technology. The NMI has been my greatest discovery at the University of Georgia because it lets me explore and create uses for gadgets and technology that I would never be able to afford otherwise. Also, I have found classes that I am passionate about and actually _like_ doing the work because it is challenging yet also fun and creative. I am the kind of person that likes to look at things that people say can't be done and ask "why not?" and the NMI lets me do that. Last semester no one thought that video could be pulled off the internet onto a phone without a carrier's help, but we did it and created a great project in the process. These are my types of study, where the professors don't tell you how to do something, they ask *you* how you did it. I'm looking forward to this Mobile Media Adventure, I will be posting many things on this blog that will make you wonder, "Wow, how did they do that?" Ask... and I'll tell you. Come back often, Chris Martin

comments

Have you got Podcast Skills?

08 Sep 2005 — Athens, GA

Been learning tons about podcasting, not only how to actually make podcasts and post them on the net so that our fans can listen, but also how important it is to have the right equipment and ideas. I went out on a limb and used my bluetooth headset to record audio straight onto my powerbook and it worked well to an extent... I think this method has potential as a great way to podcast out in public without looking (too) crazy, at least you could get away with the excuse that you're talking to some really good looking girl on the phone and she NEEDS a detailed description of everything you're doing... I'll keep telling myself that. "Audacity":http://audacity.sourceforge.net/ works great as an audio editor. I was surprised when I originally started out using "GarageBand":http://www.apple.com/ilife/garageband/ with it's complexity; I didn't think an apple product could _actually_ be confusing. "Audacity":http://audacity.sourceforge.net/ on the other hand was very easy to figure out. After creating an audio file in "Audacity":http://audacity.sourceforge.net/, I exported it out to an "mp3":http://en.wikipedia.org/wiki/Mp3 ("LameLib":http://spaghetticode.org/lame/ was required for "mp3":http://en.wikipedia.org/wiki/Mp3 export) and used "Podcast AV":http://www.oldjewelsoftware.com/products/podcastav/ to add all my pictures and chapters and export the m4b file that is an enhanced podcast. With the mp3 and m4b flies created, I was practically finished, I threw together some XML so that people can subscribe and that was it! -Sounds so easy right... some real tutorials can be found "here":http://www.podcast411.com/howto_1.html - Normal mp3 podcast, and "here":http://www.makezine.com/blog/archive/2005/07/how_to_make_enh.html - Enhanced m4b podcast. You want to check out the finished product right?? For subscription in "iTunes":http://www.apple.com/itunes/ use this link: "feed://nmi.roundhere.net/podcasts/motomojo.xml":feed://nmi.roundhere.net/podcasts/motomojo.xml -Note, I don't think it's possible to simply click on the link and have it open in "iTunes":http://www.apple.com/itunes/... on a mac with Safari it will probably display as an RSS feed with a link to the file, on a mac with anything else it will probably download an XML file and open it in Safari, on a Windows PC I'm not sure, but I wouldn't be surprised if you get a blue screen. Your best bet is to copy the address, go into "iTunes":http://www.apple.com/itunes/ and click Advanced >> Subscribe to Podcast, then paste the link there. Or you could "Simply Download the Enhanced Podcast":http://nmi.roundhere.net/podcasts/motomojo.m4b - You might have to right click here and say save as... I'm not sure why its doing this. Also, it might save as motomojo.m4b.txt, if you remove the .txt it works fine... Again, no idea why its doing this - could just be me. For those of you without "iTunes":http://www.apple.com/itunes/, "get it":http://www.apple.com/itunes/, or if you really want to miss out on the enhanced version with pictures, "Download the mp3 version":http://nmi.roundhere.net/podcasts/motomojo.mp3 of the podcast.

comments

Purpose

30 Aug 2005 — Athens, GA

This blog has been created to track my thoughts, revelations, discoveries, and everything else during my time as a -"Mobile Media Scholor":http://www.nmi.uga.edu/mmrl/scholar/index.asp- in the "New Media Institute":http://www.nmi.uga.edu/ at "The University of Georgia":http://www.uga.edu and beyond. Come back often to see what I'm thinking and getting excited about!

comments

Michael's Podcast

30 Aug 2005 — Athens, GA

While I've been bumming around trying to get the creative juices flowing by listening to a bunch of other podcasts, "Michael":http://www.gomobilemedia.blogspot.com/ has actually created one - an enhanced one at that! Thanks Michael for showing me that it can be done... maybe I'll actually think of something to make mine about now. -"Check it out!":http://www.nmi.uga.edu/students/mlentz/mms/maineevent.m4b-

comments

Intro To PodCasts

30 Aug 2005 — Athens, GA

I started off this Mobile Media Adventure by cracking open my New Media "toy-box" and pulling out the shiny new -"15in PowerBook":http://www.apple.com/powerbook/index15.html- and the amazing color screen -"60gig iPod":http://www.apple.com/ipod/color/- to dive into this world of "podcasting":http://en.wikipedia.org/wiki/Podcast a little deeper. I fired up "iTunes":http://www.apple.com/itunes/ on the powerbook, and navigated through the "music store":http://www.apple.com/itunes/store/ to the "podcast section":http://www.apple.com/itunes/store/podcasts.html where I decided to do a search for an enhanced podcast that I could fully enjoy on the color iPod. My search turned up a few enhanced podcasts to choose from, a few clicks later I was learning about how to make a "shopping cart - go cart hybrid":http://phobos.apple.com/WebObjects/MZStore.woa/wa/viewPodcast?id=74069835 with pictures of the process... How Cool!

comments

©2014 Chris James Martin