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

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.

Prestige Modes Icons (Thanks Pavel)

COD4prestige_icons 

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

How to save money running a startup, or not.

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!).

Windows Network Hell

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.

On a newly created XP machine, when I went to share a folder it reported that sharing had been turned off and I would have to run Network  Setup to enable this feature.  I did.  Still couldn't login to the PC.  I then ran across this which did the trick:

One other solution which a lot of people miss is that you can not log onto, nor see the shares of, a target PC unless you have at least ONE folder shared on the target. Once you set up the share, on the source PC you will see the target's printers folder plus the shared folder.

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

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.

Copy a file path to the clipboard on a Mac

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/.

Ready to Use the Mac for video editing?

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.

Raylight and MXF Metadata

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.

Notifications in Cocoa

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.