Categories
music personal

Whiskey Three – Deconstructing Fate Preview

My alt. rock band–currently going by Vic Lee And The Whiskey Three–is rehearsing to put together an EP-length studio demo. We practiced in my living room today and decided to let GarageBand run during a few song run-throughs. This is a raw-off-the-fretboard, completely unedited practice take of one of them… hope you enjoy the sneak preview!

Deconstructing Fate

Categories
business computer

Google AdWords Account Access: A Cacophony Of Stupid

If I haven’t blabbed your ear off already, OpenRain has a small business web presence product called the Online Business Platform. It’s a big deal as it’s fairly unique in many different ways.
Anyway, the the upper service level options include consulting and advisement on advertising with Google AdWords, which means we generally need access to the clients AdWords account to monitor progress and such.
The problem is that AdWords accounts have the idiotic restriction of allowing a given email address to be tied to only one AdWords account. In other words, preston.lee@example.com can be granted access to OpenRain’s Adwords account, but not client accounts nor other side-project accounts. Google Analytics, on the other hand, allows for a single email address to manage multiple Analytics accounts in a much saner manner. Considering the amount of revenue Google generates from paid Internet marketing, accessing multiple AdWords accounts is a 7-layer stupidburger with extra retard sauce. I’m sure there’s a wonderful technical rationale that generates rainbows of technical applause, but as a user I couldn’t care less.
To answer the “How do I manage multiple AdWords accounts?” question, Google created My Client Center (MCC): essentially an AdWords account management aggregator. The kicker? To create an MCC account–and yes, it’s a separate account–you can’t use the email address for the account(s) you’re trying to aggregate. We ended creating a silly AdWordsIsStupid@example.com email group and use that email address to create the MCC, which is turn gets granted access to your different AdWords accounts that are, again, all tied to different email addresses.
So when I say AdWords account access is a cacophony of stupid, I mean it. N+1 email addresses required-level stupid.

If I haven’t blabbed your ear off about it already, OpenRain has a small business web presence product called the Online Business Platform. It’s a big deal as it’s fairly unique in many different ways.

Anyway, the upper service-level options include consulting and guidance on advertising with Google AdWords, which means we generally need access to the clients AdWords account to monitor progress and such.

The problem is that AdWords accounts have the idiotic restriction of allowing a given email address to be tied to only one AdWords account. In other words, preston.lee@example.com can be granted access to OpenRain’s Adwords account, but not client accounts nor other personal side-project accounts. (Google Analytics, on the other hand, allows for a single email address to manage multiple Analytics accounts in a much saner manner.) Considering the amount of revenue Google generates from paid Internet marketing, maintaining access to multiple AdWords accounts is a 7-layer stupidburger. I’m sure there’s a wonderful technical rationale that generates rainbows of technical applause, but as a user I couldn’t care less.

To answer the “How do I manage multiple AdWords accounts?” question, Google created My Client Center (MCC): essentially an AdWords account management aggregator part of an optional “Google Advertising Professionals” program. The kicker? To create an MCC account–and yes, it’s a separate account–you can’t use the email address for the account(s) you’re trying to aggregate. We ended creating a silly AdWordsIsStupid@example.com email group, and used that email address to access the MCC dashboard, which is turn gets granted access to your different AdWords accounts that are, again, all tied to different email addresses.

So when I say AdWords account access is a cacophony of stupid, I mean it. N+1 email addresses required-level stupid. Bad Google!

Categories
business personal

Radio Spot: Are you Social? The Social Media/Job Search Connection

career_launchThis morning I had the pleasure of doing a guest spot on Career Launch with Jane & Al: a VoiceAmerica Variety show airing live every Monday from 8-9am. Today’s discussion was on the role of social networking tools in the employment process.

Lots of capable people are finding themselves particularly hard pressed to find jobs right now, being in the midst of a recession and all, so if you’re interested in learning how social networking tools (LinkedIn specifically) can be incredibly beneficial for your career, check it out!

[Stream on the web.] [iTunes podcast.] [Direct MP3 download.]

Full disclosure: Jane & Al–the hosts of the show–are clients and friends. OpenRain developed the Compass Consulting Team website.

Categories
business personal

Guest Spot On "Career Launch"

On Monday, July 13th at 8am I’ll be doing a guest spot on the “Career Launch with Jane and Al” internet radio show. I’ll be present to discuss the role of social networking and social media tools in the career advancement process: specifically LinkedIn and Twitter. Compass Consulting Team (run by Jane and Al) is an OpenRain client, and they are insanely positive and fun people with which to converse. I’m highly looking forward to it!

[episode permalink]

Show some love and try to catch the show live!

Categories
computer

Recovering A Corrupt OpenLDAP Database On OSX Server

Recovering A Corrupt OpenLDAP Database On OSX Server
Last night we noticed some services provided by an OSX Leopard Server instance were not working correctly. The iChat, AFP and Web services were not authenticating. In Server Admin.app, the “Overview” tab of the Open Directory service reported…
LDAP Server is: Not Running
Password Server is: Running
Kerberos is: Not Running
Looking at the server error logs through Console.app, the following was occuring every 10 seconds..
com.apple.launchd[1] (org.openldap.slapd[27382]) Exited with exit code: 1
com.apple.launchd[1] (org.openldap.slapd) Throttling respawn: Will start in 10 seconds
The slapd daemon appeared not to be starting. Jumping to the command line, I tested the configuration using the `slapd -Tt` command.
core:openldap admin$ sudo /usr/libexec/slapd -Tt
overlay_config(): warning, overlay “dynid” already in list
overlay_config(): warning, overlay “dynid” already in list
overlay_config(): warning, overlay “dynid” already in list
overlay_config(): warning, overlay “dynid” already in list
overlay_config(): warning, overlay “dynid” already in list
bdb(dc=openrain,dc=com): PANIC: fatal region error detected; run recovery
bdb_db_open: Database cannot be opened, err -30978. Restore from backup!
bdb(dc=openrain,dc=com): DB_ENV->lock_id_free interface requires an environment configured for the locking subsystem
backend_startup_one: bi_db_open failed! (-30978)
slap_startup failed (test would succeed using the -u switch)
http://discussions.apple.com/message.jspa?messageID=9548971
With a little research, I concluded that..
The OpenLDAP database had been corrupted, and..
The `slapd_db_recover` tool (as present on some Linux installations) is instead named `db_recover`. Ah!
After carefully backing up the /var/db/openldap folder, I ran the recovery tool and re-tested the configuration..
core:openldap admin$ sudo db_recover -h /var/db/openldap/openldap-data/
core:openldap admin$ sudo /usr/libexec/slapd -Tt
overlay_config(): warning, overlay “dynid” already in list
overlay_config(): warning, overlay “dynid” already in list
overlay_config(): warning, overlay “dynid” already in list
overlay_config(): warning, overlay “dynid” already in list
overlay_config(): warning, overlay “dynid” already in list
config file testing succeeded
The errors in Console.app stopped, and the Server Admin.app panel started reporting..
LDAP Server is: Not Running
Password Server is: Running
Kerberos is: Not Running
I had to restart the AFP, iChat and Web services on the machine to get everything working again, but all seems well now.
Last night we noticed some services provided by an OSX Leopard Server instance were not working correctly. The iChat, AFP and Web services were not authenticating. In Server Admin.app, the “Overview” tab of the Open Directory service reported…
LDAP Server is: Not Running
Password Server is: Running
Kerberos is: Not Running
Looking at the server error logs through Console.app, the following was occuring every 10 seconds..
com.apple.launchd[1] (org.openldap.slapd[27382]) Exited with exit code: 1
com.apple.launchd[1] (org.openldap.slapd) Throttling respawn: Will start in 10 seconds
The slapd daemon appeared not to be starting. Jumping to the command line, I tested the configuration using the `slapd -Tt` command.
core:openldap admin$ sudo /usr/libexec/slapd -Tt
overlay_config(): warning, overlay “dynid” already in list
overlay_config(): warning, overlay “dynid” already in list
overlay_config(): warning, overlay “dynid” already in list
overlay_config(): warning, overlay “dynid” already in list
overlay_config(): warning, overlay “dynid” already in list
bdb(dc=openrain,dc=com): PANIC: fatal region error detected; run recovery
bdb_db_open: Database cannot be opened, err -30978. Restore from backup!
bdb(dc=openrain,dc=com): DB_ENV->lock_id_free interface requires an environment configured for the locking subsystem
backend_startup_one: bi_db_open failed! (-30978)
slap_startup failed (test would succeed using the -u switch)
With a little research, I concluded that..
  1. The OpenLDAP database had been corrupted, and..
  2. The `slapd_db_recover` tool (as present on some Linux installations) is instead named `db_recover`. Ah!
After carefully backing up the /var/db/openldap folder, I ran the recovery tool and re-tested the configuration..
core:openldap admin$ sudo db_recover -h /var/db/openldap/openldap-data/
core:openldap admin$ sudo /usr/libexec/slapd -Tt
overlay_config(): warning, overlay “dynid” already in list
overlay_config(): warning, overlay “dynid” already in list
overlay_config(): warning, overlay “dynid” already in list
overlay_config(): warning, overlay “dynid” already in list
overlay_config(): warning, overlay “dynid” already in list
config file testing succeeded
The errors in Console.app stopped, and the Server Admin.app panel started reporting..
LDAP Server is: Running
Password Server is: Running
Kerberos is: Running
I had to restart the AFP, iChat and Web services on the machine to get everything working again, but all seems well now.
Categories
computer

iCal Domain Account Errors For New Events

Over the past couple weeks I’ve had issues getting my OSX 10.5 iCal client to continue working properly with our centralized CalDav server. I stopped being able to invite other domain users to my events as well as reserve “locations”, despite all my personal (non-domain) calendars continuing to work properly. I noted these iCal errors in Console.app…
*** -[NSConcreteTextStorage attributesAtIndex:longestEffectiveRange:inRange:]: Range or index out of bounds
CalDAVOperationQueue tried to dequeue operation <CalDAVScanDropBoxQueueableOperation: 0x174eb6a0> but it was not at the front of the queue.
When I tried to delete my domain account within iCal’s preferences, the application hung. When restarted I could no longer bring up the preference dialog and saw this error repeated in Console…
*** -[NSURL initWithString:relativeToURL:]: nil string parameter
Apparently deleting everything in ~/Library/Calendars and starting fresh is one solution. I have years worth of notes and interesting tidbits that I need to keep, however, so simply deleting all my data was not an option. With some educated guesswork, trial and error, I discovered that the following steps seems to make everything work without apparent data loss or corruption..
Quit iCal.
Go to ~/Library/Calendars and backup the entire directory, just in case.
Delete all “Calendar Cache” files as well as any directory ending in “.caldav”
Start iCal. It may give you a progress dialog about “Upgrading Calendars”. I think this means it’s rebuilding the cache file.
Go to “iCal -> Preferences…” and delete/readd your domain account.
Wait for the domain account to resync and you should be go to go.
Hope this helps!

appleOver the past couple weeks I’ve had issues getting my OSX 10.5 iCal client to continue working properly with our centralized CalDav server. I stopped being able to invite other domain users to my events as well as reserve “locations”, despite all my personal (non-domain) calendars continuing to work properly. I noted these iCal errors in Console.app…

*** -[NSConcreteTextStorage attributesAtIndex:longestEffectiveRange:inRange:]: Range or index out of bounds

CalDAVOperationQueue tried to dequeue operation <CalDAVScanDropBoxQueueableOperation: 0x174eb6a0> but it was not at the front of the queue.

When I tried to delete my domain account within iCal’s preferences, the application hung. When restarted, I could no longer bring up the preference dialog and saw this error repeated in Console…

*** -[NSURL initWithString:relativeToURL:]: nil string parameter

Apparently deleting everything in ~/Library/Calendars and starting fresh is the easiest solution. I have years worth of notes and interesting tidbits that I need to keep, however, so simply deleting all my data was not an option. With some educated guesswork, trial and error, I discovered that the following steps seems to make everything work again without apparent data loss or corruption..

  1. Quit iCal.
  2. Go to ~/Library/Calendars and backup the entire directory, just in case.
  3. Delete all “Calendar Cache” files as well as any directory ending in “.caldav”.
  4. Start iCal.
  5. It may give you a progress dialog about “Upgrading Calendars”. I think this means it’s rebuilding the cache file.
  6. Go to “iCal -> Preferences…” and delete/readd your domain account.
  7. Wait for the domain account to resync and you should be go to go.

Hope this helps!

Categories
personal

How To Prepare For Ignite

ignite_phoenixI recently had the pleasure of speaking at Ignite Phoenix 4, and thought I’d share my perspective to those presenting in the future.

See, all my life I’ve been in performing musical groups–rock bands, solos with larger concert bands, marching bands etc.–so despite being introverted to a fault, I’m not easily intimidated by anything in the “performing arts” category, and am usually up for giving things the old college try. Within the past couple years I’ve become accustomed to speaking regularly at various city events, local tech groups, conferences etc., so I initially shrugged off the preparation as something I could bust out in an hour or two over a Heineken… or two.

I was wrong.

Now, I’m not dumping this information on you because you need to know my life history, but to strongly emphasize that even if you took Public Speaking in college, have performed literally hundreds of times in public, and have plenty of real-world speaking experience…

Preparing for Ignite is different.

It’s a wonderfully unique and fun experience, but I put more effort into my five minutes of Sun Tzu: The Art of…Business? than I usually do for 30-45 minutes of less creative informational content. Let’s look at why…

(1) Delivery timing is your biggest risk of failure.

Ignite fully automates the progression of slides; you cannot control advancement to give yourself even +/- 1 second. Also, for Phoenix at least, there’s neither a warning for how much time remains on the current slide, nor a preview of the next slide. If you’re accustomed to board-room style speaking with a forgiving remote, secondary screen full of notes/widgets, and 5-10 minutes of “padding” at the end, the Ignite format is a cold glass of water to the nether regions.

With a remote, keeping your verbal momentum lined up with slide advancement is relatively easy. You know exactly when your verbal punchline is going to come, and just hit the remote a split second before you say it. But in Ignite, the only way to get your voice and slides anywhere even remotely in the same synchronization ballpark is to practice the bloody hell out of it way ahead of time.

And when you’re done practicing, take a break and practice some more. Practice going slower and having to catch up. Practice going too fast and having to ad lib a few extra sentences here and there to fill “dead air”. Practice without any “next slide” or timing aids. Lather. Rinse. Repeat.

This is not to say that you should script the entire thing. Scripting sounds unnatural and dull. You should, however, know the subject matter inside and out, and know the outline and “story arc” of the presentation so that when you stumble on words or get out of sync, you’ll be able to recover.

For the audiences standpoint, your level of preparation will be abundantly clear. It’s obvious who didn’t have a verbal outline prepared; who didn’t practice for pacing; who did prepare but can’t handle being over/under time; how generally hard it is to time yourself versus a computer.

And much of this practicing should occur before your slides are due.

(2) Your slides need to be completed waaaay in advance.

Ignite isn’t the only event that requires final decks to be submitted in advance, but I know that many of you are in the habit of staying up ’til 4am day-of putting the (hopefully) finishing touches on slides. You can’t do that. The Ignite superheros need your slides early to prepare their technical voodoo, and asking them to update a few slides at the last minute would be very, very lame of you. Getting your slides prepared and finalized early is critical since you can’t practice delivery without them, and once they’re submitted you should assume that you can’t change them.

Get peer feedback before you submit your slides. My thanks goes out to Erica, Ben and Marc at OpenRain for providing the “you’re trying to say way too freakin’ much” feedback … it made the end result much better than it would have otherwise been. Peer review is always difficult to do, but discovering why you’re epically fail-sucking is the only gateway to improvement.

(3) You don’t get to rehearse in the venue.

The Ignite (Phoenix) folks want to keep your delivery fresh, natural, and full of adrenaline to showcase your passion. This is a good thing. Just be aware that you probably can’t walk out on stage beforehand for a quick run-through by yourself.

(4) Your bar is high.

In general public speaking, the audiences wants you to succeed. And when you’re speaking to an audience that is present for your message–such as Ignite–they’ve already built expectations of how awesome your message and delivery will be. If the message(s) couldn’t sell, there wouldn’t be an audience. You are expected to be awesome.

I’ve yet to meet anyone that says “Ignite sucks”, but have heard plenty of “Oh, it was awesome, but remember that one guy/gal? He/She was horrible.” Don’t be that guy/gal whose idea of originality is to do zero preparation and just “wing it” or divert from the slides in a otherwise distracting, unprofessional mess. People come to see great ideas from passionate, knowledgeable people, and it’s going to take some work to get that across in Ignite’s concise format.

Ignite preparation checklist. (Sorted by due date.)

  1. Well thought out proposal submitted.
  2. Talk accepted.
  3. Slide draft and verbal outline complete.
  4. Peer rehearsal and feedback.
  5. Adjust.
  6. Final sanity check.
  7. Submit final slides.
  8. Practice.
  9. Sit in parking lot for 15 minutes before event practicing by yourself. (Strange looks from passers by expected!)
  10. Be excellent.

You have the idea and the passion. Now go show us! (Just keep it brief.)

Categories
computer photography

MinoHD 720p Digital Camcorder Review

flip_minohd
While no one wants to see your entire 180-minute reenactment of Hamlet, it’s nevertheless nice to have a camcorder handy once in a while. Usually I’ll bust out a pocket-sized Canon SD750 when I need a couple minutes of motion capture, but the SD750–as well as most other low-end digital cameras–aren’t fabulous at video, and can have issues recording single streams over a couple minutes. I’d love something in the prosumer class, but I simply don’t need video recording enough to justify the cost. And even if I did, I wouldn’t be able to fit it in with my normal photography equipment.

The MinoHD is a 720p, 30fps, all digital video recorder roughly volume equivalent to an iPhone: thicker but narrower. Video is encoded in variable bit rate H.264 with AAC audio. (Perfect for use on a Mac.) 4GB of internal flash memory holds about 60 minutes of video, but the storage is neither removable nor interchangeable. The battery is also internal, and charges from the USB connection automatically. A tiny color LCD screen allows for playback and deletion of recorded videos, and provides no special recording effects such as useless cheesy color filter nonsense typically present on consumer camcorders. Costco retail pricing is $179.

Recording a movie is as simple as turning it on and pressing the big red button. Hit the big red button again to stop. It took me approximately 10 seconds to master the process. (An intelligent dog could be trained to do the same if the buttons were bigger.) Use of the “FlipShare” software is not required to transfer video off the device. Just plug it in to a USB port and move the files off. If you choose to use FlipShare, it provides basic video management and editing capabilities, and appears to be necessary to update the MinoHD’s firmware. I’m using FlipShare for now, but like the option of not using it.

Pros

  • H.264/AAC.
  • 720p.
  • USB connector built in. (No need to carry a cable.)
  • Inexpensive.
  • Rediculously usable.
  • PC/MAC friendly.
  • Solid-state.
  • Light and small.
  • No special software required for day-to-day use.

Cons

  • Less than 1080p.
  • No built-in light.
  • Cannot upgrade flash storage.
  • Battery cannot be changed.

Verdict

Highly recommended for those wanting a cost-effective HD camcorder for light, periodic use.

Categories
music personal

Three Beers, Three Originals Live Originals

Here’s three original songs from a small set I played a few weeks ago with some friends. If you’ve ever wondered if there is a connection between alcohol consumption and complete loss of control over your vocal chords, behold: undeniable scientific proof. Soooooo, let’s just ignore the crappy parts, mmkay? 🙁

Lies (Preston Lee, 2009)

In Times Of Trouble (Preston Lee, ~2008)

With Whatever Time Remains (Preston Lee, 2009)

Categories
business computer

OpenRain's First Commercial Product In Production

I feel like I’ve come to know you quite well over the last few years. It was a rocky relationship at first, what with you not paying attention to me and hanging out with your friends too much and all. But ever since you started taking better care of yourself and dressing up a bit before reading me, we’ve become closer than ever.  You see, you and I — me and you — are sharing an intimate connection right now through the Internet. We’re two bits in a byte. Open and close braces surrounding an “<3”. Venerable electronic soul mates.

And because of my undying love for you, Ms. (Mr.? 🙁 ) random person on the internet, I’m going to share something with you that I’ve never shown anyone publicly before…

My company’s first commercially available product: The Online Business Platform from OpenRain.

OpenRain’s managing superwoman may have had a small stroke when I told her she had to produce and post-produce this video, but I think I made her feel better by offering to take all the credit if it turned out well. I’m disappointed that the stunt scenes and Clive Owen guest appearance didn’t come through, but… recession and all that… or at least that’s what I inferred from her half-paralized drooling. So without further ado, please enjoy this awesome video demo of the Online Business Platform that I did all by myself… or not.