Category Archives: what I do

Joyent Retrospective

Once again, I find it’s time for a retrospective of the videos I’ve done in the last few years. The people and events featured in this include:

I tried to fit in every Joyent employee (current or past) who has been in front of my camera. If I missed you, it was unintentional!

You can download the video here.

Simple Live Streaming with Wirecast

Some months ago, I became concerned that my trusty old Canon Vixia tape-based videocamera might be getting to the end of its lifespan. Replacing the camera actually meant replacing my entire video streaming setup, because there’s been a generational change in most of the components. I eventually ended up with this new kit:

Equipment Needed

  • MacBook Pro with Thunderbolt connector – not the latest model, but with plenty of horsepower for video processing.
  • Wirecast software. The UStream Producer Pro software I had been using is a customized version of Wirecast, with fewer options. This makes it easier if you’re only going to use it with the UStream streaming service, but the full version of Wirecast offers many more possibilities. Documented below is only the minimum I needed to figure out to do my usual streaming.
  • UltraStudio Mini Recorder
  • Thunderbolt cable
  • HDMI cable
  • Videocamera with HDMI output – which is almost any consumer-grade videocamera made today. I got a recent Canon Vixia ($250) which records only to SD cards (32 GB = about 4 hours).
  • This setup assumes that you already have a UStream account with one or more channels you’ve created.

Warning: The set of steps below may be incomplete; I have not had much occasion to actually use this setup in production yet. In particular, you may have to do some fiddling to get the UltraStudio Mini Recorder recognized as an input device by your laptop.

Hardware Setup

  1. Put camera on tripod.
  2. Attach camera to power.
  3. Attach HDMI cable to the camera’s HDMI port, attach the other end to the HDMI port on the UltraStudio Mini Recorder.
  4. Attach the UltraStudio Mini Recorder to the laptop using the Thunderbolt cable.
  5. Ensure that the camera is set to record in HD.

Setting Up Camera Input

  1. Open Wirecast.
  2. Go to Sources | Show Sources Settings.
  3. Set as shown here – select the UltraStudio Mini Recorder:    source settings
  4. Click Apply, and then the red button to close the dialog.
  5. In the shots area below the monitor area in Wirestream, hover over the + button next to a Blank Shot: blank shot
    until you see icons: icons
  6. Click on the camera icon (upper left) to get this menu:
    add camera menu
  7. Select Add UltraStudio Mini Recorder… You should now see the camera’s view in the new shot:
    select ultrastudio
  8. Select the new shot to display it in the monitoring window.

Setting Up Output

  1. In Wirecast, select Output | Output Settings…
  2. In Select an Output Destination, choose UStream from the menu, click OK.
  3. In the Output Settings dialog, enter your UStream username into the Username box and click Authenticate.
  4. Enter the password as requested in the next dialog box. You should then see a list of channels available on your UStream account.
  5. Select the channel you want to broadcast on.
  6. In the same dialog box, select Add in the lower left.
  7. This will again open the Select an Output Destination dialog. This time choose Record to Disk – MP4 from the menu, and click OK – this way you’ll be recording to your local hard disk (as well as the camera’s SD card, if you remember to press the record button on the camera!) while also streaming.
  8. Click OK again to return to the main Wirecast window.
  9. NOTE: You are not actually streaming or recording anything yet, at this point you have only told Wirecast where you will want to stream and record to!

Streaming and Recording

To start streaming and recording (yes, you should do both!) go to the Output menu and select Start / Stop Broadcasting | Start All, then Start / Stop Recording | Start All.

Broadcasting to a Google Hangout

(Just because I figured out how. Not sure I’ll actually use this for anything; it only allows 9 people to join a broadcast.

hangout

  1. In Wirecast, set as shown above.
  2. Select Start.
  3. Start a Google Video Hangout.
  4. In the video window, select the Settings icon at the top of the screen.
  5. In the Settings dialog, select Wirecast Virtual Camera as shown:
    virtual camera
  6. Note that the image you see in your Hangout will be mirrored (yeah, whatever Google), but others in the hangout will see it the right way round, ie text will not be reversed!

What Linux Can Learn from Solaris Performance, and Vice-Versa

Brendan Gregg keynoted the Southern California Area Linux Expo this year, to a packed room, with this talk:

How does Linux system performance compare to other OSes, particularly the performance-focused Solaris family? What features inspired by them could be added to Linux?

Both are bristling with performance features and optimizations, and it’s difficult enough to fully understand the performance of the Linux kernel and its distributions, let alone other kernels and OSes for comparison. Brendan Gregg has unique insight into the performance features and analysis capabilities of both Linux and Solaris-based systems, which he covers in depth in his new book:Systems Performance: Enterprise and the Cloud. He also works at Joyent, a high performance cloud provider, where OS performance is core to the business, and frequently debugs head-to-head performance comparisons. It’s not just each OS’s baseline performance that matters, but also their analysis tools, and how quickly potential customer benchmarks can be debugged and tuned. This talk will include specific areas where SmartOS – an open source illumos kernel derivative of OpenSolaris – often beats Linux performance, and vice-versa. How does Linux compare today, and what can it do next? … and what could the Solaris family learn from Linux?

dtrace.conf 2012

In April, 2012, I organized and ran the second-ever DTrace conference (the first had been held in 2008). I found the venue and sponsors, did all the logistics, live streamed and filmed the entire day’s proceedings. It was run somewhat unconference style, with Bryan Cantrill emceeing, so the final list of talks you see below emerged over the course of the day.

Perhaps my greatest feat for this conference was persuading the Oracle DTrace for Linux team to attend and speak!

For a good overview and wrap-up, see Adam’s blog post on dtrace.conf.

8:30 AM registration, coffee by Stone Cobra, breakfast by DEY for illumos  
9:00 opening  
9:15 State of the Union – video Bryan Cantrill
  Setting the Agenda – video  
10:15 coffee break by Stone Cobra  
10:30 User-Level CTF – video Adam Leventhal
10:45 Dynamic Translators – video Dave Pacheco
11:15 Control flow & language enhancements – video Eric Schrock
12:30 lunch sponsored by Nexenta  
1:00 PM coffee by Stone Cobra  
1:15 Carousel ride!  
1:30 Clang Parser for DTrace – video John Thompson
2:00 Visualizations – video Brendan Gregg
2:30 Visualizations, Enabling toolchain for seamless USDT – video Theo Schlossnagle
  Visualizations – video Richard Elling
3:20 Coffee by Stone Cobra  
3:30 DTrace in node.js – video Mark Cavage
4:00 User-land probes for Erlang virtual machine – video Scott Lystig Fritchie
4:45 DTrace on Linux – video Kris Van Hees
5:30 ZFS DTrace provider Matt Ahrens
5:45 DTrace on FreeBSD – video Ryan Stone
  Bryan throwing big heavy books at people  
6:00 Barriers to Adoption – video Jarod Jenson
6:30 beer sponsored by Basho  
7:30 out of venue, go for dinner  

Many more videos about DTrace can be found in my YouTube DTrace playlist.

That Marketing Thing

At the beginning of my Monktoberfest talk on Marketing Your Tech Talent, I said that: “I have occasionally had a marketing title; it has never been a good fit.” This was an overstatement. In the course of my career, I have had several good experiences as part of or working with marketing teams, for example at Adaptec, starting with: “…my new boss, Dave Ulmer… I told Dave what I’d been doing online (CompuServe, Usenet, answering emailweb pages) and he said: ‘Fine, do more of that.’ And that’s about all the direction he ever gave me. He not only understood the Usenet, he was frequently and visibly out there himself.” (more of this story here)

Even when not been formally part of a marketing organization, many of my tasks and activities could be classified as “marketing”, broadly defined as “communicating the value of a product or service to customers” (wikipedia). Such activities have included:

Continue reading That Marketing Thing