?

Log in

Kaizen (改善): David Beroff's Journey

Recent Entries

You are viewing the most recent 25 entries.

13th November 2016

5:58am: My tweets

16th July 2016

6:16am: [I was recently asked to introduce my skills to a small, private mastermind. Here's what I wrote.]

I see my specialty as being a bridge between techs and "the rest of us".  While even the mention of technical writing may induce yawns, it's a skill that can be critical to the success of a project, and it's something that I do very well.  The more concrete one can be in describing a project, the better chances that it has in reaching goals, meeting client needs, avoiding unrealistic expectations, and so on.  Also, while one would never directly use the material for marketing and sales, it still often proves useful to compare "this is what we tell people we do" to "this is what we actually do".

That skill, in turn, has led to several hundred successful small outsourcing projects, (emphasis on the word "small", as that's part of the key to success).  I'm both a client and a worker on Upwork, and on vWorker prior to that.  The ability to define things in excruciating detail excites those who know how to actually get things done, and scares those who don't.

While it makes sense that database design is done by techies, the better that a project is defined from "the rest of us", the higher the chances are that the database will be designed correctly up front.  This, in turn, has a significant impact on how quickly software can be delivered.  Conversely, there are too many times when the techies find out "oh, I didn't know that you really meant that" way too late in a project for something that was designed and built into the fabric at its very beginning.  Think of it as making sure that you pour the correct and sufficiently robust foundation for your dream house before you build the rest of it.

Yeah, I also do PHP and MySQL, but it sounds like there are already enough techs here in the soup.

I've also learned a lot about voice acting over the last two years, and I can also do reasonably well when it comes to basic video editing.  Tie those together along with my tech writing skills, and I can create some killer educational and sales videos.  Here's my current demo reel:


26th June 2016

11:17am: How to upload/transfer an MP3/WAV file from Windows 7 to a Google Voice outbound voicemail message
I spent way too many hours trying to figure this out for a client, so I thought, once I finally did, I'd outline the steps here. One would think that it would/should be a seemingly trivial task... except that it wasn't. (And I'm embarrassed to admit that I had actually done this once before, for a different client, but something had changed, and I just couldn't precisely reproduce my earlier steps, or I forgot something, or... who knows?) Part of my headache was that the articles and tutorials that I found each explain one part well, but then gloss over one or more of the other steps. OK; enough preamble.

Get latest Realtek driver: In retrospect, I probably didn't need to do this, but every article on "Why Stereo Mix doesn't work" stressed the need to update the driver, and, (in theory), doing so shouldn't hurt. I will say that some of those articles offered dodgy ways to obtain said drivers, and that's precisely how one invites trojans in to infect one's machine, so, yeah... don't do that. Go to the official Realtek site, click on the legal agreement page, and then the actual download page that should subsequently appear, (but doesn't always). The fileset is stunningly huge, but you can't pick and choose, so just take the whole thing.

Use Stereo Mix: Think of this as a virtual microphone that listens to your speakers. (More on that sentence in a second.) Start > Control Panel > Sound > Recording. Right-click and ensure Show Disabled and Disconnect Devices are both checked. Right-click, enable Stereo Mix, and disable everything else. Yeah, it's finicky.

Use physical speakers: Sound > Playback, select and enable. Plug them in and turn them on and up. In the end, this was the step that caused me hours of angst. I am so used to constantly using my USB wireless headset for my voice acting work now that I had never considered that it simply doesn't "count" for this. At all. It wasn't until Cat Lady went to bed, when, (so I wouldn't disturb her), I switched from internal speaker to headset on her machine, and all of a sudden, her "guinea pig" machine Stereo Mix setup stopped working, that it finally dawned on me that the playback device makes a serious difference.

OK; that's half the battle. Now, the task is to connect all this to the POTS (plain old telephone system). Google Voice doesn't have an upload mechanism, and the next obvious path, using Google Hangouts/Chat, has also been reported to not work. So, we need a softphone. Since we already had Vonage, I checked there first, but their softphone option seemed rather pricey for making a single call.

Get a minimal Skype plan: If you're going to be doing this for a bunch of clients, get the $10 credit pack, which they claim doesn't expire. I chose the $3/month bare-minimum plan for US-only, low usage, with no inbound calls.

Set a reminder to cancel said plan in three weeks or so.

Set a Google Voice PIN: Remember, this Skype plan doesn't allow inbound calls, so the PIN is required to allow a call from Skype to Google Voice to set up voicemail. Also, while you're in the client's Google Voice account, make sure to jot down both their Google Voice number and the number of one of the phones used for forwarding calls, such as the client's actual cell number.

Coordinate with the client when you'll be doing the next step, as you don't want to wake/disturb them, and, (if they haven't temporarily disabled call forwarding), they'll need to know to temporarily not pick up their phones while you do this.

Prepare two windows on your screen: Skype and a player, such as VLC Media Player. Call the Google Voice number, let it ring into voicemail, hit "*" (on Skype's numeric keypad) during the default outbound greeting, enter the PIN and forwarding number when prompted, then navigate to greeting (and optionally name) setup. Get ready to play the prepared audio in the other window when prompted, and then return to Skype to hit "#" when that's done. Stereo Mix is what connects the two windows.

Let the client know that it's done. :-) Also remind them to change their Gmail password and their voicemail PIN.

Don't forget to cancel your paid Skype subscription when you are certain you no longer need it.

Like I said, once you know all of the steps, software, and magical incantations, it's reasonably straight-forward. :-)



18th June 2016

11:35am: Synchronizing video to alternative audio
This is just a quick, little test where I took poor audio (with poor video, but that part's ok) and replaced it with a better recording of my own voice, aligning each syllable to get them to match the lip movements on the video.

19th May 2016

3:24pm: Recent videos...
A collaborative effort with Adam Fulford for one of his local retail business clients:




The Magic Members Quick Setup Guide, currently on their front page:




And... male enhancement, non-FDA style. Ad for SupaSize is NSFW/18+... obviously!

4:41am: My tweets
4:05am: Even Nigerian Princes Demand the BEST Ghost Writers!
We all know about the Nigerian Prince scam, but did you know THEY use ghost-writing services, too? Read the whole story here!
#ad   (A 3-way collaboration between Laurence Pollwade, Adam Fulford, and myself.)

2nd May 2016

6:05pm: Another short video I can be proud of
The client asked me to stress that I only made minor edits to a previously existing video, in addition to contributing the whole voiceover, of course.

29th April 2016

6:07pm: Improving client-side code with thinner database tables
A friend of mine was telling me about the tons of code he has to write to deal with a Company table which has dozens of parameter columns. I suggested that he use a Parameter table, and then replace all of the parameter columns with a many-to-many table to set the Parameter values for each Company. A lot of the parameters are essentially enumerations, (each can only be one of several values), and that logic can be maintained in the database, as well, (but not with literal ENUM's).

Then, since I was taking Cat Lady to get her hair cut, I decided that, while I was waiting for her, I might as well sketch out a proposed outline of how this whole approach could look in MySQL. To wit:

CREATE TABLE Company (
	CompanyID INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY
	# Now need far fewer columns here!
) ENGINE = InnoDB;

CREATE TABLE ParameterType (
	ParameterTypeID VARCHAR(8) NOT NULL PRIMARY KEY
		# e.g., "INTEGER", "DATE", "BOOLEAN", "STRING", "ENUMERAT", "FLOAT", etc.
) ENGINE = InnoDB, COMMENT = 'Basic data types allowed for Parameters.';

CREATE TABLE Parameter (
	ParameterID VARCHAR(8) NOT NULL PRIMARY KEY,
		# e.g., "STRUCTUR", "STATUS", "LISTED", etc.
	ParameterTypeID VARCHAR(8) NOT NULL,
	CONSTRAINT ParameterParameterTypeIDFK FOREIGN KEY (ParameterTypeID) 
		REFERENCES ParameterType(ParameterTypeID)
		ON DELETE RESTRICT ON UPDATE CASCADE,
	SortOrder SMALLINT UNSIGNED NOT NULL UNIQUE KEY 
		COMMENT 'Presentation order',
		# Recommend assign by thousands, e.g., 1000, 2000, etc.
	Description VARCHAR(30) NOT NULL
) ENGINE = InnoDB, COMMENT = 'Parameters which describe Companies.';

CREATE TABLE ParameterValue (
	ParameterID VARCHAR(8) NOT NULL,
	CONSTRAINT ParameterValueParameterIDFK FOREIGN KEY (ParameterID) 
		REFERENCES Parameter(ParameterID)
		ON DELETE RESTRICT ON UPDATE CASCADE,
	ParameterValueID VARCHAR(8) NOT NULL,
		# e.g., For "STRUCTUR": "PRIVATE", "PUBLIC", "LLP", etc.
	PRIMARY KEY (ParameterID, ParameterValueID),
	SortOrder SMALLINT UNSIGNED NOT NULL UNIQUE KEY 
		COMMENT 'Presentation order',
		# Recommend assign by tens, e.g., For "STRUCTUR": 1010, 1020, etc.
	Description VARCHAR(30) NOT NULL
) ENGINE = InnoDB, COMMENT = 'Allowed values for enumerated Parameters.';

CREATE TABLE Attribute (
	CompanyID INT UNSIGNED NOT NULL,
	CONSTRAINT AttributeCompanyIDFK FOREIGN KEY (CompanyID) 
		REFERENCES Company(CompanyID)
		ON DELETE RESTRICT ON UPDATE CASCADE,
	ParameterID VARCHAR(8) NOT NULL,
	CONSTRAINT AttributeParameterIDFK FOREIGN KEY (ParameterID) 
		REFERENCES Parameter(ParameterID)
		ON DELETE RESTRICT ON UPDATE CASCADE,
	PRIMARY KEY (CompanyID, ParameterID),
	ValueInteger INT NULL DEFAULT NULL,
		# For use with "INTEGER", "DATE", "BOOLEAN", etc.
	ValueString VARCHAR(255) NULL DEFAULT NULL,
		# For use with "STRING", "ENUMERAT", etc.
	ValueFloat FLOAT NULL DEFAULT NULL
		# For use with "FLOAT", etc.
) ENGINE = InnoDB, COMMENT = 'Association between Companies and Parameters.';
12:11pm: Ergotact Digital Computer Glasses
I actually rewrote the entire script to better suit American ears, but the client politely declined all proposed changes. That's how it goes, sometimes.

21st April 2016

3:17pm: Delivery Speeds: How FAST can he go?
As a follow-up to this post, I put together this video:

16th April 2016

11:05am: "...and I approved this message!"
The client didn't hire me for this job, but he was kind enough to give me permission to use the audition for my own marketing, and he even paid me for my time.

8th April 2016

12:42am: Another translation project
I recorded an introduction to Consuelo.mx, based on their native video:



Original Spanish voiceover:

25th February 2016

12:00pm: My tweets
  • Wed, 18:44: Arr ATL. V hi turbulence. 1st time i've seen landing in formation. Does ATL have 3 parallel runways?
  • Wed, 20:24: Dep ATL
  • Wed, 22:54: Arr AVP
  • Thu, 10:23: A week of reduced calories, reduced oxygen, reduced sleep, and intense physical activity all yielded a nice 5lb loss, on top of earlier 20lb

24th February 2016

5:04pm: My tweets
  • Tue, 17:53: 3rd attempt: arr band nat pk ok. Main loop closd. Takg Frey trail only 2 rim, no more. 2Mi. 100ft El chg. 1.5h. Lv park by sunset.
  • Tue, 18:58: Back @ trail head. Did get 2 rim. Saw 4 mule deer. Heavy snow mid-hike. Clear now. Will fill tank @ white rock.
  • Tue, 19:35: Back safe in los Alamos.
  • Tue, 20:12: So, good news is I was able 2 get 2 Bandelier Nat Mnmt after all, albeit solo. Couldn't c the main sights, but still found great challenges.
  • Tue, 22:37: Roller Derby practice w Sara, Anne & Betty.
  • Wed, 05:55: 4am: LAM & ABQ have no snow. ATL & AVP both have rainstorms, but those can be flown around, so perhaps minor delays @ worst. Should b fine.
  • Wed, 09:20: From final pack 2 checked in @ LAM in 10 min; impressive!
  • Wed, 10:20: Arr ABQ early. Start 5h layover w Sara's recommendation of blue corn pancakes @ Tia Juanita's.
  • Wed, 10:55: Mouse bat dead. AA?
  • Wed, 14:23: The ABQ "PET ME" dog is greeting every1. Leaving 4 ATL soon.

21st February 2016

3:42am: My tweets
  • Sat, 06:22: Motel internet working now. Place is noisy enough, but there's an active train line, complete with full train whistles when they cross road.
  • Sat, 06:25: Yesterday's White Rock tweet https://t.co/HanaWb4axt was actually from Thursday. Yesterday was White Sands; MUCH different!
  • Sat, 19:02: OMG!! Survived! physically Intense!

18th February 2016

12:36am: My tweets
  • Wed, 04:30: AVP
  • Wed, 04:57: TSA usual pain. Glad early; zoo.
  • Wed, 08:22: ATL. Early. Slept whole 2h flight. Good start 2 19h travel day. Very bright am.
  • Wed, 08:57: Free wi-fi @ ATL, but insecure & 5Mbps, so can't work, email, etc.
  • Wed, 10:05: Looks like next flight ATL > ABQ is also running on time. Boarding soon.
  • Wed, 14:10: ABQ. Slept maybe an hour, then alternated reading & watching out the window.
  • Wed, 15:37: An hour later, my ride's still not here; not answering cell, txt, email.
  • Wed, 17:31: Decided 2 rent car.
  • Wed, 18:37: Finally reached Sandia Peak 10,300'. Feldspar. Pieces of 1955 crashed plane.
  • Wed, 20:36: Between traffic & getting horribly lost, I made it 2 Petroglyph Nat'l Mon't JUST as it got so dark that I couldn't c a thing!! (Cry)
Collapse )

16th February 2016

8:31am: How you know your flights will be full
I've been on flights where they ask for volunteers to get off once they've already boarded, and I've even done so, myself, in earlier years. But this was the first time that I went to check in (online), a day in advance, and got asked even before the final check-in. Delta asked me to bid how much it would take to not fly, from $200 to $500, with lowest bids "winning", (or losing, depending on perspective).

13th February 2016

2:30pm: (tap, tap) ... Is this thing still on?
I'm flying out on Wednesday to spend a week in New Mexico with my daughter and her husband.

Wunderground offers ten-day forecasts, which I take with a grain of salt, since it's very hard to accurately predict weather even a few days out. Still, they've been consistently showing a snowstorm here that morning, ever since the 17th appeared on the ten-day horizon. The amount of snow has fluctuated wildly, with as much as a foot predicted at one point, but it hasn't gone away completely at any point. It's ironic that, a few months ago, my concern was the snow in New Mexico in February, (especially as the plan had called for camping at one point), but their weather has cleared up considerably in the last two weeks or so, at least at the lower altitudes.

Altitude. That's the other concern. Lack of oxygen was enough to prompt Cat Lady to beg off of this trip; it'll be our first time apart in the almost six years we've been together. As soon as I land in Albuquerque, at 5,300', I'll immediately be going to take a cable/ski-lift vehicle up to the top of Mt. Sandia, at 10,300'. (I had to schedule an eight-hour layover between flights there, so I figured I'd leave the airport and make the best of it.) So I've been ramping up my daily exercise for the past two months, and I also decided to try using some leftover Theravent nose filters to reduce oxygen flow for the next few days, in an attempt to pre-acclimate my lungs.

8th February 2016

12:37am: Tweet from space

8th December 2015

5:48am: My tweets

2nd December 2015

11:31pm: Dipping my toe into the green screen pool
Just about a month ago, a client hired me for a rush job, including some video work, and then changed their mind a few days later. Thankfully, they then agreed to reimburse me for time and materials, which included a "green screen" cloth for some chroma key scenes that we had planned.

I hadn't even unpackaged the cloth until I decided to learn some more about chroma key today. Lesson One: If your face is well lit, it's going to cast shadows on the green screen, and that's bad. I guess ideally, one needs a second set of lights just on the green screen itself. {sigh} Lesson Two: Creases from recently-packaged cloth are also bad. Lesson Three: Do not iron "cheap" green screen cloth to remove said creases; it melts immediately!! (Thankfully I didn't need the entire piece.)

I also learned more about my Logitech HD Webcam C525 today, which also hasn't seen much use. (Hey, I've been focusing on audio, not video.) Even though it allows me to use my Samson C01U Pro USB Studio Condenser Microphone, the software included with the webcam does some sort of processing that really distorts the audio, making it pointless to use the better mic. Plus it kept complaining that it couldn't hear the mic, even though it could. Oh, and video and audio fall noticeably out of synch. Maybe different software might make a difference? Not sure. At least I was able to hide my silly kitty-litter-jug microphone mount and pop filter. Another annoyance was that the webcam (software?) kept auto-correcting color, changing my skin tone to match my purple shirt; you'll see all this below.

Still, I'm going to try to not stress over these points. Considering that my target audience for this short is video creators, these problems may possibly work in my favor, i.e., I'm looking to help them, not really compete with them.

Here's one scene of the raw video:

1st December 2015

7:41pm: Approved by Mr. Bunny
I was accepted into the VoiceBunny marketplace. They operate a lot differently than Upwork, but I'll get the hang of it. Here's my profile there: http://VoiceBunny.com/profiles/view/David-Beroff-BEUBPES/
4:22am: Just how fast can I talk?
The main reason why I'm typically asked to talk quickly is to fit the constraints of an existing video that can't be modified.

Update: Also see this post, with a more comprehensive video.

117 words in 40 seconds = 174 wpm
I didn't get this particular voiceover gig, but this was one of the rare potential clients who granted me permission to use the submitted audition for my own marketing. :-)


134 words in 38 seconds = 212 wpm
This example is boilerplate legalese, which would typically be processed further to remove all breathing and other pauses, words shortened and volume reduced, to yield mumble-ese. :-)


86 words in 22 seconds = 235 wpm
The portion from 0:04 to 0:26 is a tad insane, but the client insisted that he said the same things in Dutch; in fact, we had to trim about ten words that I just plain couldn't fit. :-)
Powered by LiveJournal.com