July 12, 2008

Deleting Premier Elements Projects

I use Premiere Elements 3.0.  I've created many projects to edit footage from my DV camera.  I just discovered that PE creates cached media files, autosaves and other files that take up a lot of space!  Incredibly, PE doesn't give you a way to delete projects you have saved so these extra files accumulate on your hard drive.  I found this thread on how to delete a Premier Elements project

You go to where your project files are being saved and delete the folders:

Adobe Premiere Elements AutoSave
Adobe Premiere Elements Preview Files
Encoded Files
Media Cache Files

July 10, 2008

Backing up your data

I have friend shopping around trying to repair his laptop that crashed.  He needs a new hard drive and needs to recover important data from it.  Best Buy quoted him $300-$3000 to recover his data.  Why even GIVE an estimate?  Jane's Mac mini recently also crapped out and I'm having her 80gig HD replaced and data restored for $200.

My friend asked me if I back up my data.  I told him "sort of".  I HAVE backed up my important documents, photos, and music to an external hard drive but it's been over a year since I've refreshed it.  I do have some redundancy in that some of my files are copied onto my other computers.  I also have a copy on my website.  But still, I'm exposed and need to take my backup process more seriously.

Coincidently, I read this recent post at Phanfare.com.  It advocates backing up your important data to a location somewhere on the Internet.  But I've read horror stories about that solution as well when a customer lost all their photos from a service.  Personally, I would advocate backing things up on two different external sources at home AND online somewhere.  I plan to use an external hard drive and a second computer for redundency for important files.  I'll keep some files on my website.  Photos, Video and Music presents a bigger challenge because they take up so much room and the process of uploading is very time consuming.  I'll use a combination of DVDs and external HD for those.

To recover data from a bad HD, here is some advice:

wikiHow

Backing up data from your Mac
Mail - mail data is stored in the foldersw ~/Library/Mail/POP-....
AddressBook - select all your contacts and select File...Export vCard.  This will create a file a .vcf  file.  You can then download and run this A to G program to convert the file to a comma seperated file (.csv).   This file can then be imported into Gmail.  To restore, you can export back to a file that AddressBook can  import.

July 09, 2008

Working with Windows Driver Kit and Visual Studio 2008

I had an occasion to try to build a sample app that talked to an HID (Human Interface Device) USB device.  I downloaded the latest WDK and attempted to build it with VS2008.  I got an error stating that _In_out_ was undefined.  This thread was the most helpful but was not specific enough to help me.  I figured out a fix which I posted to that thread.

I simply renamed the file C:\WinDDK\6001.18001\inc\api\sal.h so that it would not be found, and the version provided by Visual Studio 2008, C:\Program Files\Microsoft Visual Studio 9.0\VC\include\sal.h, gets used.

July 05, 2008

Customer Service

Eric has a posts about Absurd Customer Service.
In larger companies, support is hit or miss.  With smaller companies there is a good chance you will get the best support you've experienced.  At DVFilm, if there is a serious problem with our software we are even able to release an update within a few days of discovery.  We also do our best to respond to all support requests within 24 hours but often response within just a few hours.  I know for me, there isn't a better feeling than sending a support email and getting a response within minutes!  We use Google Mail so that multiple people can monitor the support emails.  The threaded structure of GMAIL, the labeling, search capability, and the client notification tool makes it ideal for support.  One thing I wish worked different, however, is how Google keeps track of the last account signed in.  We have multiple accounts in various Google properties, such as GMAIL, Blogger, Docs, and I want to be able to login to one account without changing the currently logged in account in all the other services.

June 26, 2008

Link error LNK2005

Was getting this error with some legacy code when converted to VS 2008:

nafxcw.lib(afxmem.obj) : error LNK2005: "void * __cdecl operator new(unsigned int)" (??2@YAPAXI@Z) already defined in LIBCMTD.lib(new.obj)

This article provided a solution

Based on Visual C++ 6.0:

Solution One: Force Linker to Link Libraries in Correct Order

1. On the Project menu, click Settings.
2. In the Settings For view of the Project Settings dialog box, click to select the project configuration that is getting the link errors.
3. On the Link tab, click to select Input in the Category combo box.
4. In the Ignore libraries box, insert the library names (for example, Nafxcwd.lib;Libcmtd.lib).

Note The linker command-line equivalent in /NOD:<library name>.
5. In the Object/library modules box, insert the library names. You must make sure that these are listed in order and as the first two libraries in the line (for example, Nafxcwd.lib Libcmtd.lib).

June 24, 2008

This application has failed to start because the application configuration is incorrect

"This application has failed to start because the application configuration is incorrect"

Was getting this message when testing an application recently converted to VS 2008 from VS 6.0.  Depends showed that MSVCRT80.DLL was a missing dependency.

Here are a few threads on the subject:

On  MSDN Forums

Nikola's Weblog

The  programs was pretty small so I felt the easiest workaround was to link statically to the C runtime library.  I did this by making sure I selected Multi-threaded (/MT) rather than Multi-threaded DLL (/MD) in the C/C++...Code Generation options.

June 18, 2008

Women Quotes

The vital, successful people I have met all had one common characteristic. They had a plan.  - Marilyn Van Derber

A leader takes people where they want to go...A great leader takes people where they don't necessarily want to go but ought to be. - Rosalynn Carter

A mediocre idea that generates great enthusiasm will go further than a great idea that inspires no none.  -Mary Kay Ash

A strong, positive self-image is the best possible preparation for success - Dr.  Joyce Brothers

The naked truth is always better than the best dressed lie. - Ann Landers

The sign of intelligent people is their ability to control emotions by the application of reason. - Marya Mannes

The true way to  soften one's troubles is to solace those of others. - Madame de Maintenon

The verb "to love" in Persian is "to have a friend." "I love  you" translated literally is "I have you as a friend." and "I don't like you"  simply means "I don't have you as a friend." - Shusha Guppy

There are two ways of meeting difficulties.   You alter the difficulties or you alter yourself to meet them. - Phyllis Bottome

You must learn to say no when something is not right for you.  - Leontyne Price

Happiness is not a station you arrive at, but a manner of traveling - Margaret B. Runbeck

I've learned from experience that the greater part of our happiness or misery depends on our dispositions and not on our circumstances. - Martha Washington

The first rule of holes: when you're in one, stop digging. - Molly Ivins

The longer we listen to one another--with real attention--the mroe commonality we will find in all our lives.  That is, we are careful to exchange with one another life stories and not simply questions. - Barbara Deming

The best of us must sometimes eat our words. - JK Rowling

The child becomes largely what it is taught;  hence we must watch what we teach it, and how we live before it. - Jane Addams

There is always sunshine, only we must  do our part, we must move  into it. - Clara Louise Burnham

Remember no one can make you feel inferior without your consent. - Eleanor Roosevelt

June 16, 2008

regsvr32 and Vista

Testing the registration of one of our plugins (DLLs) under Vista fails when regsvr32 is launched returning error code 0x80070005.  This is an "Access Denied" error and has to do with the fact that under Vista, if you run regsvr32 from a command prompt, the command prompt must be started in Admin Mode (elevated).

What does regsvr32 do?

Programatically registering a dll.

Not only would executing a shell command to launch regsvr32 fail, but updating ther registery also gets a AccessDenied error.  I ended up just turning off UAC while I tested.  I suppose since our setup program accessed permission, once given, everything else worked.

Playstation 3 and Metal Gear Solid 4

I don't know who is spoiled more, David or me.

I justify the PS3 purchase because I'm a high definition snob and I want to watch everything I can in HD.  Netflix still has HD-DVD movies that they will send if available but of course new releases are only available in Blu-ray.  So last week, in my mind, I bought a new Blu-ray player!  Most Blue-ray players cost $400 anyway!  So for an extra $100, I got a new game console.  Do we need a new game console?  Of course  not.  I bought the new PS3 80g model with the new DUALSHOCK 3 wireless controller and the much anticipated Metal Gear Solid 4 game bundled.  At Best Buy, I was able to negotiate an in store $100 gift card and I used a $50 gift card I already had, so for me, that made for quite a sweet deal.

The console is attractive and a bit heavy.  Since I used an HDMI cable setup was simple.  The console has wireless built-in and I was able to get it on the Internet without any problem.  The wireless USB dongle for the XBOX 360 is extra and lists for $99 but you should be able to find it for less.

So far, David and I are enjoying the game.  The out of box experience was not that great since it had to "install" to the hard drive a portion of the game before we could start and it took about 10 minutes.  We tried multiplayer and were not very impressed.  You have to jump through a lot of hoops before you are allowed to play.  You have to sign up for a Konami Id, then a MGS4 Id and they must be different and they each have different password rules.  Then you have to create yet another id to serve as your profile for the game on your PS3.  This is the only one that can  go online and you must purchase another id if you want to play  online with a second profile.

"MGS4, although it has a FPS mode is NOT an FPS game. It’s a third person stealth game."

If you've never played a Metal Gear Solid game,  I recommend reading about them before trying MSG4 for the first time.   This will set your expectations appropriately.  I didn't understand  why the cut scenes were soooo  long.  The GameSpot review explains:

Fully realized, lengthy story sequences will come as no surprise to anyone who has played a Metal Gear game. You'll spend a good half of MGS4 watching cinematics, but it would be a grave misinterpretation to assume that great gameplay takes a backseat to the story. Rather, these two elements are tightly intertwined...

By lengthy they're talking about sitting through 20 minutes or more of video at a time!  Sure it looks great but that's too much.  If it were just a movie or show and not a game I would STILL find them too verbose  and boring.  They could have edited them more tightly.  That's my only big complaint.   The process for getting online is bad but you only have to do it once.

June 11, 2008

Tennis record

I'm playing tennis again after a two year absence.  I started playing in seventh grade and played through high school winning 3rd place in UIL Tennis in 1980.  Leonard Smith was #1 and Robert Stapper was #2.  I beat my friend Monty Sauls in a very close match to win 3rd place.  I actually ended up going to sectionals in Corpus Christi because I believe Robert was unable to make it due to an injury.  I also came in 3rd in mixed doubles playing with Melanie Markow-Wilkes.  Since then I've played in USTA 4.5 leagues.  Here is my history in USTA tennis (for which there is an online record):


2008 Record: 5-1 (so far)

2007 Record: Did not play

2006 Record: Did not play

2005 Record: USTA 4.5 - 7-4  (includes 2-1 in singles)

2004 Record: Did not play

2003 Record: USTA 4.5 - 1-4  (I did go 3-0 in Waco Little State Champ)

2002 Record: USTA 9.5 - 2-2

LBJTennis1980sm








1980 LBJ Tennis Team

June 05, 2008

So over Halo 3. COD4 is where it's at.

David can't get enough of Call of Duty 4.  I have to admit, it is quite compelling.  The campaign is fun, but I found playing multiplayer online was extremely difficult.  You get killed almost instantly!  I kept at it and I'm finally at the point where I'm doing well and really enjoying it.  I really like the team work aspect of Search and Destroy.  Nothing beats hearing "Comrade, you're the last one. Complete the objective!" and actually managing to kill the last two opponents or detonating the bomb while David, who is playing along with me from upstairs, watches and encourages me through our chat session yelling YEAH!!! when I manage to win the game for our team.  Doesn't happen very often but when it does....sweet!

I read an interview with somebody involved with the game and he made two points I found very interesting. First, they took a great deal of time making sure that there were no completely "safe" spots where you could camp through the whole game.  Virtually every "good" spot has another spot from which you could get shot!
The other point was that they wanted the game to be fair for a newbie when they found themselves up against an experienced player.  They felt if you had the "jump" on a guy, you should be able to win that fire-fight. And even though more experienced players may have better equipment it shouldn't give them TOO big of an advantage.  That's why the almost-instant kills in COD4 can make for a better online experience than Halo 3 which due to the shields, allows a better player to turn things around and easily overtake a novice that started out with the advantage.

Points needed to rank and unlock weapons and perks.

RANK (number/rank title/xp required)

1 Private First Class 0
2 Private First Class I 30
3 Private First Class II 120
4 Lance Corporal 270
5 Lance Corporal I 480
6 Lance Corporal II 750
7 Corporal 1080
8 Corporal I 1470
9 Corporal II 1920
10 Sergeant 2430
11 Sergeant I 3000
12 Sergeant II 3650
13 Staff Sergeant 4380
14 Staff Sergeant I 5190
15 Staff Sergeant II 6080
16 Gunnery Sergeant 7050
17 Gunnery Sergeant I 8100
18 Gunnery Sergeant II 9230
19 Master Sergeant 10440
20 Master Sergeant I 11730
21 Master Sergeant II 13100
22 Master Gunnery Sergeant 14550
23 Master Gunnery Sergeant I 16080
24 Master Gunnery Sergeant II 17690
25 2nd Lieutenant 19380
26 2nd Lieutenant I 21150
27 2nd Lieutenant II 23000
28 1st Lieutenant 24930
29 1st Lieutenant I 26940
30 1st Lieutenant II 29030
31 Captain 31240
32 Captain I 33570
33 Captain II 36020
34 Major 38590
35 Major I 41280
36 Major II 44090
37 Lt. Colonel 47020
38 Lt. Colonel 50070
39 Lt. Colonel II 53240
40 Colonel 56530
41 Colonel I 59940
42 Colonel II 63470
43 Brigadier General 67120
44 Brigadier General I 70890
45 Brigadier General II 74780
46 Major General 78790
47 Major General I 82920
48 Major General II 87170
49 Lieutenant General 91540
50 Lieutenant General I 96030
51 Lieutenant General II 100640
52 General 105370
53 General I 110220
54 General II 115190
55 Commander 120280

UNLOCKABLES (Unlockable/Rank #)

Features

Demolitions Class 2
Sniper Class 3
Create-A-Class 4
Challenges 5
Clan Tag 12
Prestige Mode 55

Pistols

M9 0
M1911 .45 16
USP .45 0
Desert Eagle 43
Golden Desert Eagle 55

SMGs

Mini Uzi 13
MP5 1
Skorpion 4
AK74u 28
P90 40

LMGs

M60E4 19
M249 SAW 1
RPD 4

Shotguns

W1200 2
M1014 31

Assault Rifles

AK 47 4
M4 Carbine 10
G3 25
M16A4 1
G36c 37
M14 46
MP44 52

Sniper Rifles

SVD 22
M21 8
M40A3 3
Barrett .50cal 49
R700 34

Perk 1

C-4 x2 1
Special Grenade x3 1
RPG-7 x2 2
Claymore x2 23
Frag x3 41
Bandolier 32
Bomb Squad 14

Perk 2

Stopping Power 1
Juggernaut 1
Sleight of Hand 20
Double Tap 29
Overkill 38
UAV Jammer 11
Sonic Boom 1

Perk 3

Extreme Conditioning 1
Steady Aim 1
Last Stand 8
Martydom 17
Deep Impact 1
Iron Lungs 26
Dead Silence 44
Eavesdrop 35

June 01, 2008

How to save money running a startup, or not.

List of practical tips for saving money in a startup.  Comments on the post are worth reading.  Go HERE for counterpoints.  Perhaps working long hours isn't all life should be about.

  1. Buy Macintosh computers, save money on an IT department
  2. Buy second monitors for everyone, they will save at least 30 minutes a day, which is 100 hours a year... which is at least $2,000 a year.... which is $6,000 over three years. A second monitor cost $300-500 depending on which one you get. That means you're getting 10-20x return on your investment... and you've got a happy team member.
  3. Buy everyone lunch four days a week and establish a no-meetings policy. Going out for food or ording in takes at least 20-60 minutes more than walking up to the buffet and eating. If you do meetings over lunch you also save that time. So, 30 minutes a day across say four days a week is two hours a week... which is 100 hours a year. You get the idea.
  4. Buy cheap tables and expensive chairs. Tables are a complete rip off. We buy stainless steel restaurant tables that are $100 and $600 Areon chairs. Total cost per workstation? $700. Compare that to buying a $500-$1,500 cube/designer workstation. The chair is the only thing that matters... invest in it.
  5. Don't buy a phone system. No one will use it. No one at Mahalo has a desk phone except the admin folks. Everyone else is on IRC, chat, and their cell phone. Everyone has a cell phone, folks would rather get calls on it, and 99% of communication is NOT on the phone. Savings? At least $500 a year per person... 50 people over three years? $75-100k
  6. Rent out your extra space. Many folks have extra space in their office. If you rent 5-10 desks for $500 each you can cut your burn $2,500 to $5,000 a month, or $30-60,000 a year. That's big money.
  7. Outsource accounting and HR---such a no brainer.
  8. Don't buy everyone Microsoft Office--it's too much money. Put Office on three or four common computers and use Google Docs.
  9. Use Google hosted email. $50 or free per user.... how can you beat that?!?! Why screw with an exchange server!?!?
  10. Buy your hardest working folks computers for home. If you have folks who are willing to work an extra hour a day a week you should get them a computer for home. Once you get to three hours of work a week from home you're at 150 hours a year and that's a no brainer. Invest in equipment *if* the person is a workaholic.
  11. Fire people who are not workaholics. don't love their work... come on folks, this is startup life, it's not a game. don't work at a startup if you're not into it--go work at the post office or stabucks if you're not into it you want balance in your life. For realz.
  12. Get an expensive, automatic espresso machine at the office. Going to starbucks twice a day cost $4 each time, but more importantly it costs 20 minutes. Buy a $3-5,000 Jura industrial, get the good beans, and supply the coffee room with soy, low fat, etc. 50 people making one trip a day is 20 hours of wasted time for the company, and $150 in coffee costs for the employees. Makes no sense.
  13. Stock the fridge with sodas---same drill as above.
  14. Allow folks to work off hours. Commuting sucks and is a waste of time for everyone. Let folks start at 6am or 11am and you'll cut their commute in half (at least in LA).
  15. Go to each of your vendors every 6-9 months and ask for 10-30% off. If half of them say yes you'll save 5-15% on fixed costs. People will give you a discount if they think they are going to lose the business.
  16. Don't waste money on recruiters. Get inside of linkedin and Facebook and start looking for people--it works better anyway.
  17. Really think about if you need that $15,000 a month PR firm. Perhaps you can get a PR consultant to work on 2-3 projects a year for $10-15k each and save 75%. More PR firms are wasted half the year while you build up your product anyway.
  18. Outsource to middle America: There are tons of brilliant people living between San Francisco, Los Angeles, and New York who don't live in a $4,000 one bedroom apartment and pay $8 to dry clean a shirt--hire them!
Anyone else have startup money saving tips? I will post them below as they come in...
  1. Peter Rojas of RCRDLBL: You probably don't need to rent an office, at least not at first. It's really easy to collaborate online, and unless you have a really compelling reason for everyone being in the same place at the same time, you should save your money for as long as you can get away with it. Plus it'll force you to hire people who don't need to be micromanaged.
  2. Pat Phelan gives a ton of advice including: a) No company cars, b) put your HQ in the burbs to save 50% on rent, c) Blog instead of hiring a PR firm, d) let one person book flights since it's an art, e) keep conference calls to a minimum (amen to that!).

May 30, 2008

Windows Network Hell

Having problems getting multiple computers to talk to each other?

I have two XP Windows machines, a Vista laptop, a Mac mini, and a MacBook Pro I wish to network.

Sunthar summarizes some of the setup steps on this post.

For me, these were the important things I needed to do:

  1. Make sure all computers are using the same work group. WORKGROUP seems to be the best one to use that is also mac friendly.
  2. In the sharing properties for the folders I want to share,  added EVERYONE to the list of people I wanted to give permissions to. Made sure I selected FULL permissions.
  3. In  Vista,  in Network & Sharing  Center, I made sure that Network Discovery, and File Sharing was ON. I turned on Public Folder Sharing and set  it to  FULL sharing.   Go HERE for an excellent step by step with screen shots.
  4. On  XP machines, I installed the Link Layer Topology Discovery Responder(LLTD).

Sunthar's post and the the linked article and threads include many more troubleshooting suggestions.  It's not for the faint of heart.  I wish I could say that there is a simple or definitive solution but there isn't.  You have to try different things and see what works for you.  The above four steps were all I needed to ADD (who knows what I've done on EACH machine in the past to prepare it to be networked).

Good luck.

May 21, 2008

Creating Cocoa applications programatically (i.e. NIB-less)

"Why on earth would you want to create a Cocoa application without using Interface builder?"

That's the basic reaction you get if you try to seek out help online in writing a Cocoa application from scratch.

There may not be a lot of valid reasons but if there is at least one reasonable answer, then the question should be moot.

Our applications at DVFilm are cross-platform.  The user interfaces are very simple.  The majority of the code is written in C/C++ and in the business logic.  So I have not given up on the idea that the simple form-based UI can be written in such a way that the majority can be shared between Windows and Mac. 

There, that's my "reasonable" explanation on why I am crazy enough to consider creating a Cocoa application programmatically.  If that doesn't satisfy, here is another reason.

I have inherited a Carbon application (a QT template app, actually) and simply want to add a single dialog using existing Cocoa code. 

If neither answer satisfies, I DON'T CARE.  I do appreciate all the arguments for stopping my Tilting at Windmills but THEY don't satisfy ME.  If you can't bring yourself to suspend your disbelief and offer help, I'll figure it out on my own. 

It's not like it's NOT SUPPORTED.  And apparently, creating applications in Cocoa programmatically might very be well be the norm for iPhone development.

Here is someone with the same goal.

May 16, 2008

Jane loves Beer


Wantbeer

...Always has

May 07, 2008

Copy a file path to the clipboard on a Mac

The Mac does not support copying a file or folder's path to the clipboard; weird.  Get Info separates the path from the filename and doesn't allow you to select either.  There are various workarounds.  This thread discusses some.  I went with this solution which offered a "workflow" file download which I opened in Automater and saved it as a context menu for Finder.

It was suggested that you can drag and drop into a terminal window and then copy paste the path that displays.  You can do this with any program that offers an editbox control.  For example open TextEdit, do File...Save As and drag and drop to the filename EditBox which you can then copy to clipboard from.

BTW, if you ever need to drag & drop into a widget, start dragging then hit F12 to switch to the widgets screen.

Update:  Today an article came out in MacWorld on this subject.  Their first suggestion using Finder Services didn't work for me.  I just get an icon of a folder or file and when I put TextEdit into plain text mode I get nothing.  Also, the workflow solution I linked to above gives a HFS (colon separated) path,  whereas the article has an example of a script generating a "POSIX" path.  You can download the POSIX version here (thanks Scott) and copy it to ~/Library/Workflows/Applications/Finder/.

May 06, 2008

Ready to Use the Mac for video editing?

When I bought my little Canon ZR800 DV camera, the first time I downloaded video it was to Jane's Mac Mini.  I created a little slideshow of Kristen's first soccer game using iMovie.  But I didn't want to standardize on the Quicktime format so I went back to the PC for most of my video editing.  I got along for quite some time with Microsoft MovieMaker.  I actually liked MovieMaker a lot except for some annoying limitations like not being able to assign a transition between multiple clips in one step.  I finally gave up on it when it kept crashing as I started working with longer videos (10 minutes) and adding music to them.

I tried Pinnacle's video editing software and it was one of the worst pieces of software I've ever experienced.  I tried a few others and finally settled on Adobe Premier Elements.  I liked it okay.  I thought it was too complicated but I figured out enough to get by.  This past week it crapped out on me.  It refuses to run. Even when starting with a new project containing no media, it apparently does something in the background and closes down after about 5 seconds with "Something serious has happened that requires the program to shut down".  Searching for an answer I came across this which among other things wanted me to turn off all the startup items in Windows and selectivly turn one item on at a time until I determined if one was causing a conflict with Premier.  Are you kidding me?  Yeah I know that this COULD be the problem and this is they way one can figure out what is wrong but customers should NOT be asked to do this level of troubleshooting.  I think first to blame is the underlining OS (Microsoft) and the fact there isn't a better mechanism to prevent conflicts and then to REPORT them so we don't have to run msconfig and take an hour or more to look for a needle in a haystack.

After upgrading, messing with msconfig, deleting various settings file I finally hit on something that worked which is to run it under a different user profile.  I'm not going to login as a different person just so I can use a program that has become unstable in my profile.  So I'm ready to give iMovie and the Mac a try.  I never doubted that using iMovie would not be a pleasure.  And now, after working at DVFilm I'm not so worried about using Quicktime as the output format for my videos.

April 28, 2008

Raylight and MXF Metadata

The Iditarod Trail Committee (ITC) is one of our customers.

According to Jan, the ITC is making great use of our metadata support.  She writes:

The ITC also made a very cool use of the metadata and Raylight. Metadata files were created to correspond with the many checkpoints across the trail. There are 10 cameras and 6-7 shooters out there filling up cards, As each shooter enters a new checkpoint they load the next Metadata file. So when the cards are ingested with Raylight, Raylight sorts the clips into the appropriate folders according to checkpoint, regardless of shooter or camera. Now when the editor sits down to edit they are organized for the edit, they know the story, and where it happened, and they know where the clips are. Pretty cool. Now this is what the ITC, Original organized by shooter, and that may be more appropriate for their production as certain folks were assigned to certain mushers. All-in-all I think that this is the most footage collected on a singular subject, except Olympic coverage and that isn't quite the same, in the world of P2HD production.

April 09, 2008

Notifications in Cocoa

Notifications seem unnecessarily confusing the way they are documented.

I want to know when my my window resizes so I notice in the documentation for NSWindow that there is a NSWindowDidResizeNotification.  Great seems that's what I want to write a handler for.

What do I do?  The documentation does not describe what the handler function signature should be but I locate some sample code that uses:

- (void)windowDidResize:(NSNotification*)theNotification

so I add that to my NSWindow derived class for my main window but the method is not called.

I read up on Notifications and they talk about registering for notifications you are interested in but that seems unnecessary for this particular event, especially since I've subclassed the window.  What is it in my background that expects that by simply subclassing the window that, that would be sufficient to capture the resize event?  Is it my Windows background?

Anyway, I added

    [self setDelegate:self]; // Set as delegate in order to receive notifications

in my MainWIndow awakeFromNib handler and my resize handler started getting called.

In another application I had to set the delegate again when adding the resize handler to the NSHandler object for a Window wasn't sufficient.

"Delegates and Data Sources" in the Cocoa documentation sheds some light on this.

April 06, 2008

Drums

David has been taking drum lessons for about two months now.  He seems to have a real knack for them.

Drum Score Archive

Danny Brit

DrumBum

DrumBum Drum Lessons

Free Drum Sheet Music

FindFreeSheetMusic

Drumline Sheet Music