michaelfox + organization   64

DocMgr | Download DocMgr software for free at SourceForge.net
PHP/Postgresql based document management system (DMS) with pdf and ocr-based indexing, and optional tsearch2 support. It also has access control lists, user permissions assignment, file discussion board, and multi-level file grouping.
document  organization  documentmanagement 
may 2011 by michaelfox
StealJS - Script Manager - Jupiter JavaScript Consulting
There's a lot more to making JavaScript apps than writing JavaScript. StealJS is a collection of command and browser based JavaScript utilities that make building, packaging, sharing, and consuming JavaScript applications easy.
deployment  javascript  packaging  organization  require 
december 2010 by michaelfox
A survey of playlist formats
Description: Every line in an M3U file is either a comment, a blank, or a resource to render. A comment line begins with the pound sign, #. Blanks are ignored. A resource is the address of a media file.
A resource address can be anything the M3U reader is capable of understanding. These include absolute filesystem paths, relative filesystem paths (with the base undefined by the file format), and URLs.

A resource can be anything the M3U reader is capable of rendering. To my knowledge these are always audio files, but there is no set reason for that to be true. However, it may not be wise to point to proprietary media formats like Real streaming audio in an M3U file, since many players will throw a user-visible error for media they cannot render.

The design philosophy of M3U is to let resource data types do the work. Players that don't understand an address or resource type usually skip the entry. The ability to reference URLs, in addition to filesystem paths, was added this way; some players (Winamp and XMMS, notably) simply added the ability to handle URLs to their M3U readers.

Support for M3U features varies wildly. iTunes, for example, will only render the first entry in an M3U file.

M3U is by far the most popular playlist format, probably due to its simplicity. It is an ad-hoc standard with no formal definition, no canonical source, and no owner.

Example:
# This is an absolute filesystem path
c:/music/foo.mp3

# This is a relative filesystem path
foo/fighters.mp3

# This is a URL
http://foofighters.com/somesong.mp3

Mime type:
audio/mpegurl (recommended)

audio/x-mpegurl
Distinguishing features: A simple list of files, one per line.
Definition URL: http://www.schworak.com/programming/music/playlist_m3u.asp
Originator: Winamp (?)
Implementations: Winamp, XMMS, many more
Metadata support: Before ID3 tags were widely supported by MP3 players, a flavor of M3U called Extended M3U was used to indicate audio metadata. Extended M3U is now obsolete. The following description of Extended M3U is copied in verbatim from Google's cache of the reverse-engineered documentation at http://hanna.pyxidis.org/tech/m3u.html, which is now a defunct URL.
audio  itunes  metadata  mp3  music  m3u  playlist  organization 
december 2010 by michaelfox
• How do you include external libraries like symfony components in your library repository? | test.ical.ly
Yesterday I had an idea for stunamis ImageTransform library. A simple yet powerful library to perform all kinds of image manipulation.

The idea was to make use of another library; a symfony component in fact: the EventDispatcher.

The immediate question that still puzzles me is: Where to put it?

When you’re developing a website or another application then integrating a library is easy. For example in symfony you would place it somewhere below /lib/vendor/ and you’re done with it.

As you are the end-user (developer) you have full control over everything.

However if you develop a library or a plugin or any other software component that other developers should use in their projects then simply including your dependencies won’t cut the mustard.
git  svn  dependencies  php  development  setup  structure  project  library  organization  external  submodules 
september 2010 by michaelfox
CSS-Tricks Forums • View topic - Foldable TextMate CSS Groups (i.e. CSSEdit)
Sorry guys, this is an OSX TextMate only thing, although the concept can probably be applied elsewhere.
TextMate is my editor of choice. However, because it is so versatile, it sometimes lacks language-specific features that an IDE might have. In MacRabbit's CSSEdit, for example, you can group CSS declarations with the syntax:

Code: Select all
/* @group GroupName */
css declarations
/* @end */


Although CSSEdit is a great program, I hate having to use multiple editors, so I wanted this ability in TextMate. I found a way to do it using TextMate's language grammars and code-folding:
In TextMate, you can fold blocks of code, so it was simply a matter of convincing TextMate that everything between "/* @group */" and "/* @end */" is a foldable block of code. To do so:


1. Go to Bundles>Bundle Editor>Edit Languages...
2. Choose the CSS language. (It's in the CSS group with an L next to it)
3. Now you should see the language grammar file for CSS, starting with the line "{ scopeName = "source.css" "
find the line "foldingStartMarker = " (line 4)
delete that line and put the following in its place:

Code: Select all
foldingStartMarker = '/\*\*(?!\*)|\{\s*($|/\*(?!.*?\*/.*\S))|\/\*\s*@group\s*.*\s*\*\/';

4. do the same for the line "foldingStopMarker = " (line 5), replacing it with:

Code: Select all
foldingStopMarker = '(?<!\*)\*\*/|^\s*\}|\/*\s*@end\s*\*\/';

All this is doing is adding "/* @group GroupName */" to the foldingStartMarker regular expression and "/* @end */" to the foldingStopMarker regular expression. To change the syntax simply edit the regular expression.
Now, to make a foldable group, simply use the syntax above. Note: you don't have to supply a group name at all.
I hope this is useful :D
textmate  css  organization  tools  folding  programming 
july 2010 by michaelfox
HVMC: an Introduction and Application | Nettuts+
This tutorial is an introduction to the Hierarchical Model View Controller(HMVC) pattern, and how it applies to web application development. For this tutorial, I will use examples provided from the CodeIgniter from Scratch series and demonstrate how HMVC can be a valuable modification to your development process. This introduction assumes you have an understanding of the Model View Controller (MVC) pattern. We suggest you read our introduction to MVC to get acquainted with the topic before tackling this tutorial.
codeigniter  mvc  hmvc  plugins  structure  project  organization  site 
may 2010 by michaelfox
Managing Multiple Sized Copies of Movies in iTunes « Clark's Tech Blog
OK, I’ll confess upfront I’ve not tried this one yet although I hope to tomorrow. I got this info from Ars.

The basic problem is when you have a movie you’ve ripped but you want to watch it both on your Apple TV and your iPhone. Now ideally you’d want two different sizes. The iPhone doesn’t need the resolution you’d rip for the Apple TV plus you want the size to be as small as possible. Now if you’ve ever bought a show from iTunes you’ll note that Apple gives you both hi-res and low res versions. How do they do this? Well it turns out it’s just a tag on the MPEG-4 file. And there is a shell script to set those tags so you can do it with your own files.

First download and install mp4v2. Yes, you have to compile it. However if you have MacPorts you can also install it that way.
mac  osx  snow  applescript  python  scripting  automation  itunes  organization  mp4v2  multiple  track  video  movies 
may 2010 by michaelfox
Cleaning iTunes Pt. 3: Album Names « Clark's Tech Blog
the trickiest part of cleaning ones iTunes library is looking up missing album information. There are a few applications that do this by mathematically analyzing the song’s music itself against a library. The problem is that this isn’t that accurate. There was an old app that did this (no longer available) called iEatzBrains or something like that. Unfortunately I made the mistake of running it against a bunch of tracks after testing it. Only then did I find that it’s accuracy was about 90%. So to be honest I am still finding tracks that had their artist and album names “revised” because of that. (I’d say that event caused about half of my library errors)

So I’m really leery of that sort of thing. However trying to find a script that could give a guess at album names was surprisingly hard. There weren’t any. There was a database of album information called discogs but it really didn’t let you search by track info. It was all oriented around correct album information. (Although it is useful for other metadata – as we’ll see in the future)

I did some pretty elaborate Google searching and remarkably this isn’t a problem that folks have solved. (Or at least they haven’t put solutions up online) Fortunately I found a solution from an unusual source: Apple.

Apple actually has a web API for searching the iTunes store. The documentation (oddly labeled “confidential” but publicly available) is quite helpful. What I did was to do an artist search returning just track information. Effectively getting a list of all songs by that artist. The returned data is even in JSON format rather than XML! This means I can make all the returned data into a Python dict with the simplejson module and a single call.

All I do then is just compare the selected song in iTunes (using Appscript) with the songs in the iTunes store. Now I could make this part a bit more intelligent by normalizing unicode characters and perhaps removing padding words like “a” or “the.” Thus far I’ve not had any trouble so I’ve not bothered making it “brighter.”

To avoid the problem of entering album information that is wrong and then never being able to find the changed files I put pretty extensive comments in each track. If the song could be from more than one album I put the other alternative albums in. Even if (as is typical) there’s only one album the track is on I put a note in the comments.

What’s surprising is how short the code is. (Take out all the comments in the code and there really isn’t much to it) My previous attempt using discog’s XML was at least 3 – 4 times as long and not nearly as accurate.
mac  osx  snow  applescript  python  scripting  automation  itunes  organization 
may 2010 by michaelfox
Fix iTunes Names « Clark's Tech Blog
There are some amazing Python programmers out there who can do some pretty impressive and abstract stuff. However most of what I use Python for is as a quick and dirty scripting system. I’m rarely writing full elegant programs. Rather I just want to get something done and done quickly. Most of the time I’m not looking for every potential boundary problem. I’ll be able to tell if it doesn’t do what I want!

One thing I sometimes want to do it fix names in iTunes. That’s because I have some files where the name is mangled. (It’s all lower case, it has the track number prepended, or the like) While it’s possible to write a general case solution to this problem it’s much better to just have a script framework and modify a few lines for the particular problem.

Here’s how I do it using Appscript.
mac  osx  snow  applescript  python  scripting  automation  itunes  organization 
may 2010 by michaelfox
Cleaning iTunes Pt. 1 « Clark's Tech Blog
I wanted to start with the finding of duplicates. Now you could use a program like fdupes or dupes.py (discussed a few weeks ago). Those aren’t ideal. In the past I’ve used Doug’s Applescripts. He has several useful scripts. One is Remove Dead Tracks which gets those entries where the file is long gone. (I don’t know how that happens – it’s usually stuff I don’t want anyway) His other famous script is Corral iTunes Dupes which I’ve used in the past to find duplicate tracks.
mac  osx  snow  applescript  python  scripting  automation  itunes  organization  duplicates  dupin  apps 
may 2010 by michaelfox
Cleaning iTunes Pt. 4: Artist Names « Clark's Tech Blog
What this script does is look up the standardized spelling for artists. As ever I work on a playlist you create. In this case the playlist “__Fix Arists” (without the quotes) I’d suggest adding to this list manually rather than trying to automate it. Both for safety (because it’s easy to undo if you just have a single artist in there) but also it just keeps things simple. If you need you could easily add in a routine to work on a selection. I’ll put that in the script but comment it out.
mac  osx  snow  applescript  python  scripting  automation  itunes  organization  musicbrainz  metadata 
may 2010 by michaelfox
Cleaning iTunes Pt. 2: Title Case « Clark's Tech Blog
This is the second in a series of posts on cleaning up my library in iTunes. Last time we discussed using Dupin to find duplicates. This week I want to focus on the problem of capitalization of song names. If you are like me you have a few songs in your library where the case is screwed up. (Sometimes even the database of CD song names has some mistakes – most of my bad titles were from ripped CDs) What I want to do is use TitleCase (discussed last week) to check to see if the titles are correct. Because some titles are supposed to be weird rather than just automatically fixing things I just add the files to a special playlist. To keep my “fix it” playlists separate from my regular ones I always prepend them with two underscore characters. (I usually then delete them when I’m done — although you don’t have to)
mac  osx  snow  applescript  python  scripting  automation  itunes  organization 
may 2010 by michaelfox
Python on Snow Leopard « S T E P H E N H U C K E R . C O M
I have just installed Snow Leopard and came upon some excellent sites which have inspired me to learn the programming language Python

The first site is Clark’s Tech Blog

The articles listed below are excellent examples of using Python to manage your itunes library, well worth the read.

* Fix iTunes Names
* Cleaning iTunes Pt. 1
* Cleaning iTunes Pt. 2: Title Case
* Cleaning iTunes Pt. 3: Album Names
python  snow  itunes  scripting  automation  organization  osx 
may 2010 by michaelfox
Inventive: iClip - a simply useful multiple clipboard/scrapbook for Mac OS X
iClip is a new multiple clipboard/scrapbook software application for Apple Macintosh computers with OS X.
apple  productivity  storage  organization  software  osx 
december 2005 by michaelfox

related tags

*todo  addressbook  advanced  apache  apartment  apple  applescript  appletv  apps  apt  audio  automation  automator  bestpractices  boxee  bugtracking  business  cablemanagement  calendar  casemod  categorization  chapters  chat  code  codeigniter  codereview  collection  communication  css  css3  dependencies  deployment  design  desk  development  diy  document  documentmanagement  dual  dualresolution  dupin  duplicates  editing  email  embed  enterprise  environment  external  facebook  familytree  file  filesystem  filing  filters  folding  format  freelance  furniture  geek  git  github  gmail  greasemonkey  gtd  hacks  hd  hierarchy  hmvc  home  howto  html  ical  id3  interface  interiordesign  itunes  ituneslp  javascript  layout  library  lifehacker  lifehacks  linux  m3u  mac  management  manager  managment  media  mediagrabber  meeting  metadata  mindmapper  movies  mp3  mp4  mp4v2  multiple  music  musicbrainz  mux  muxer  mvc  office  onlineos  openmeta  opensource  organization  osx  packaging  paper  paperless  parser  permissions  php  planning  playlist  plugins  presentation  productivity  programming  project  projectmanagement  python  quicksilver  renamer  repository  require  resolution  resources  ruby  scanner  scripting  sd  search  setup  site  snow  socialmedia  software  sourcecode  storage  structure  submodules  subtitles  support  svn  system  tagging  tags  tags.app  taxonomy  team  text  textmate  tools  track  tracking  tree  tutorial  tv  twitter  ultimatebuild  unclutter  unix  utility  versioncontrol  versioning  video  webapp  webdav  webdev  wiki  window  workflow  xbmc 

Copy this bookmark:



description:


tags: