creating my first video

Main menu:


Recent Posts


RSS Feed RSS - Posts

August 2018
« Jul    

Past Posts

Java/Java EE



creating my first video

August 11th, 2018 by Jeanne Boyarsky

When I was at Oracle Code New York in March, Bob Rhubart asked me if I’d be up for creating a “two minute tech tip”. It’s a two minute video that you record yourself presenting a tip tip. I said I’d think about it. I didn’t do anything with it.

I wasn’t worried about content. I’m a Toastmaster. We do 1-2 minute talks frequently for practice. They are called Table Topics. With the two minute tech tip, I’d get to pick the topic so in that respect it is easier.

So what prevented me from actually creating the video? There were three things:

  1. I’ve never liked watching myself on video. And I’m better when I can at least pretend I don’t know I’m being recorded. Looking at the camera doesn’t help with that.
  2. I’d never created a video using my computer and didn’t know how.
  3. I live in a studio apartment in New York City. As you might imagine, these apartments aren’t known for having lots of space. Which means I frequently need to move things. I figured creating a video would be a lot of moving things around.

Now that I’m speaking at Oracle Code One, Bob asked again. This time about a video interview and/or a two minute tech tip. Since Oracle listed me as a featured speaker, me being too lazy to deal with problem 2 and 3 feels like a weak argument! And problem #1 is just something I have to live with. I haven’t let it prevent me from having conference sessions recorded so this is no different.

Creating a video

Creating a video (at least on Mac), turned out to be really easy. QuickTime Player has a “new movie recording” option. It really was as easy as sliding the webcam cover over so I don’t have a solid black image and pressing record. That was a silly thing to have as an impediment. It was a non-issue.

Getting ready

I also overestimated the complexity of getting ready in my mind. When I do a Skype video call with a friend or even my teammates, I just turn on the camera and go. That’s not what I want on youtube though. Luckily, it wasn’t that different. What I did:

  1. Move my five foot tall oscillating fan so it isn’t in the background. I don’t think it is terrible to have this in the background, but it wasn’t a big deal to move. (I also had to move two things in front of it to get to it.
  2. Move a couple of things on my eating area table so they aren’t in the frame. The napkin holder created glare, so this actually was necessary.
  3. Angle the laptop two inches to get the wall of the eating area table out of the frame. This made the background solid instead of a light switch and (two different colors.)
  4. Move my chair two inches so my head/body is covering the lamp behind me.
  5. Adjust lighting – during the day, having the lamp behind me off and the table lamp on was just perfect.

more on backward compability – this time with lang

August 5th, 2018 by Jeanne Boyarsky

I blogged an answer to Mark’s question about var in Java 10. He wrote back the following. I thought it was great and asked if I could use it as a guest blog post. He said yes.

So compliments of our guest blogger: Mark Yagnatinsky.

Thanks! You inspired me to try compiling my own little test program that I’d wondered about for a while:

It turns out that if you try to do this:

class java {
    class lang {

Java won’t let you (it notices that there’s already a package with that name).
But first of all, this protection extends only to java.lang, and not, say, java.util.
And second of all, we can distract it by putting our code in a package:

package Scratches;
class java{
    interface lang{
        class String{}
        static void main( HELP[] args ) {

As far as I can tell, there is nothing we can type instead of HELP to make the above main method runnable on the command line.
In this case though, we’re only doing “local” damage: the rest of the code in our package (outside of “interface lang”) can still use Strings.

The way this is usually described is that there is an implicit “import java.lang.*” at the start of every file.
It turns out that java.lang is more special than this description implies.

If we try the same trick with java.util, we can knock access to the entire package (but not subpackages):

package Scratches;
// the line below has no effect whether you comment it out or not.
//import java.util.Hashtable;
class java {
    interface lang {
        class String{}
        static void main( String... args ) {
            // can't fix signature to run this method.
    interface util {
        class Hashtable{}
class Main {
    public static void main( java.lang.String... args ) {
        // this method does not get called if you run from the command line
    public static void main( String... args ) {
        // this method runs from the command line just fine
        new java.util.Hashtable(); // this is our hash table, not Java's
        // the line below won't compile (no such name)
        //new java.util.HashMap();
        new java.util.concurrent.ConcurrentHashMap(); // but this is fine

It’s kind of amazing how much insanity the capitalized class name convention protects us from.
(Though to be fair, Java.Util is also a fairly unlikely class name…)

speaking at the NY Java Sig and including remote attendees

August 4th, 2018 by Jeanne Boyarsky

This week, I spoke at the NY Java Sig reprising my QCon Java 10/11 Release Train talk.It was fun.  Last time I spoke at the NY Java Sig, I was the unplanned “opening act” for the main talk. This time, there were two planned speakers and I was one of them. I went second.

The NY Java Sig was hosted by Credit Suisse. They had 12 remote attendees from their Raleigh, NC office. We were able to hear, but not see them. They were able to see me.

I work on a distributed team so dealing with remote people I can or can’t see is just a part of me. I didn’t realize how much so until this presentation though.

When I present, I try to involve the audience a bunch of times. They raise their hands, vote on stuff, etc. Almost every time I did that, I asked someone in Raleigh to comment on how the vote looked there.

I got feedback at from the NY Credit Suisse representative that this was the first time that a speaker included them. (To be fair, most speakers don’t involve the NY audience either.) The really cool part is that I didn’t even realize I was doing it. It was just part of me; they were attending so I asked.

For this particular presentation, I had offered a couple “free conference level training” available to any of our offices remotely. So I had practiced with people I couldn’t see as well.