Tag Archives: training

Embedding YouTube Videos in WordPress Blog Posts

I came to YouTube late in life. For years, I used it so rarely that I usually couldn’t remember if it was “YouTube” or “UTube”. No matter who you are, your mom is very likely more experienced at using YouTube than I am.

It’s OK, I gave up on being cool many years ago.

These days, I actually use YouTube pretty regularly– and it’s great! I use it for SQL Server training videos. We have a YouTube channel which holds all our free training videos for Brent Ozar PLF. It embeds nicely with WordPress, and it’s free and easy for people to access.

The Standard Way to Embed Videos in WordPress

The standard way to embed videos in WordPress is just to insert the URL from the video straight into the text of the post. You visit a video (like this one), click the ‘Share’ button, and you get the magic URL. Easy!

Sharing a YouTube Video on WordPress- The Embed URL

Sharing a YouTube Video on WordPress- The Embed URL

There’s just one issue: when you embed the video, you don’t get to pick the size. When the video goes into the post, it goes in pretty big.

What’s Wrong with a Big Video?

Sometimes I want the embedded YouTube video to be big. If it’s the whole point of the post, go big!

But the problem with a larger video is that your audience is unlikely to read past it. When you come up to a big item that takes up a lot of room and you can’t see if the text goes on afterward, it functions like a roadblock. You may go up and look at it, but you may also just go somewhere else instead of scrolling down.

Sometimes I want to add a short video to a longer blog post. I want the video to be a small, optional accessory. In these posts, the text of the blog stands on its own, and readers may just want to watch the video for more information or a little commentary. In these cases I want to make the video small so that people see the text as the major feature, and the page flow pulls them farther into the post.

How Do I Embed a Smaller YouTube Video Into a Blog Post?

To get this done, I’m trying out the Artiss YouTube Embed Plug-In.

With the plugin installed, I just used the following code for my video:

Let’s Try It Out, Shall We?

Let’s pretend I wrote a technical blog post here. <start pretend blog post text>I’m going to tell you ALL about heaps in SQL Server. If you don’t feel like reading and want to turn on a little TV, check out my video here:

Otherwise, keep on reading.</end pretend blog post text>

Since the video is small, you can see this paragraph really easily, and since you can see how much is coming you can make an informed choice about whether you want to read first, or watch first. WOO HOO!

Can We Do Better? Getting the Video Inline

That first attempt is OK, but it looked a little blocky. What I would really like is to have the video inline with the text, like an image. I want the video to hang out over on the right side of my post and let the words flow around it. It’s OK if you don’t watch it– in fact, the video is completely unconcerned about the whole matter. It’s just sitting there, looking good. “This is totally optional, man.”

To achieve this, I need just need to bring some HTML into my post. I can use the <div> class to fix this up, by using something like this:

HEY, that totally worked! I’m a fan.

What About RSS Feed Readers?

If you’re reading this in an RSS Feed Reader, well, I wish I could make things pretty for you. The “Getting the Video Inline” paragraph probably looked pretty weird to you– and it’s because I can’t get things inline in an RSS feed. It’s just a big wad of XML, so the RSS feed readers pretty much do what they want. If you know of a way to do slick formatting in RSS, let me know!

If you’re trying to solve this problem on your own WordPress blog, check out the Artiss YouTube Embed Plug-In.

Comments { 2 }

To Do: Win Great SQL Training and a Cruise

Wondering what to do when you get a break from work email today?

Make your opening move in a fun contest.

What’s to win?

The prize is tempting booty: Idera Software is giving away a free trip to SQLCruise Alaska. And not just part of the trip, it’s the full meal deal: a 7-day cruise for two from Seattle to Alaska (departs from Seattle, WA on May 29th, 2011, returns June 5th, 2011), one seat in the SQLCruise training taking place aboard the cruise, and airfare for two to Seattle (up to $1,500).

Wow. Did you notice that “cruise for two” and “airfare for two” part? You get the training AND you get to take along a friend or loved one. Pretty rad.

The agenda’s been posted for the cruise— it’s going to be unique and amazing. The cruise is full of great technical content and training to build your skills and work with you to find practical changes to improve your work environment. I love how the agenda is laid out to change up the pace and keep everyone thinking and learning.

Check out the awesome training on the Alaska SQLCruise here.

How to enter

Head on over to the contest forum, which also has all the official rules for entry.

There’s a quick registration step (it’s painless, I did it myself), and then here’s how you enter:

  • Tell us about your SQL victory. Post an entry describing what horrid SQL beast you encountered and how you vanquished it.
  • Post a picture of yourself looking victorious (extra credit for Viking helmets and/or attire)
  • Include the phrase “I VANQUISHED THE BEAST!” in your entry.
  • Share your submission with your friends.

Worried you might submit now and come up with a better idea later? It’s ok, you can enter more than once, and each entry will be judged individually. There’s no reason not to dive in now.

Tell your story

Getting fitted for my judge's wig

I love this contest because it’s about STORIES, and it’s open to everyone with a story to tell.

Tell a story about your victory. There’s so many people out there in the SQL community who have great passion and do so much. There’s so many of you who love to write and share your experiences.

Think about the things you’ve done to save the day– in the office, on the forums, maybe even on… Twitter???

I’m a judge!

I’m honored to be one of five judges for the event. I look forward to reading about your SQL Victories– let’s hear it!

Comments { 0 }

How this All Plays Out At Home (SQLSkills Immersion Training Wrap Up)

This blog has some reflections on SQLSkills Immersion Training on Internals and Performance in Dallas, TX. For more about the training, see my first and second posts.

A question everyone should ask about training and conferences is, “how will this change my daily life?”

Ask this before the training, and then take a look afterward as well. Often, a training which seems to be somewhat conceptual may turn out to be extremely practical. Or a conference might have some sessions you hadn’t considered which get you interested in a new topic, or change how you think. And sometimes things just aren’t as good as you’d hoped.

Learning is About Surprise

The best thing about learning is the feeling of the world being larger than you thought, and getting a view of how part of it is laid out. That sense of wonder is a big indicator to me that I’m learning something valuable.

A Little Time Travel

Once upon a time, I took a class where I first learned about how write-ahead logging and indexes work. (We won’t say how long ago this was, but in geologic time it’s very brief.) The class was taught by Kimberly Tripp (blog | twitter) of SQLSkills.

I’d been a database administrator for a few  years and I knew a bit about how to manage a database environment, handle system administration, and write SQL queries. I didn’t understand much at all about how things worked internally. I didn’t have much information to put together to figure out how to make things perform better.

I was just amazed by the class. And I was so very excited. Kimberly is very passionate and enthusiastic about topics when she teaches, and everything just made so much more sense. I scrambled to make as many notes as I could, but my mind could hardly keep up:  it was too busy fitting together the things I already knew with the new framework I already saw. And I was just amazed  how big the scope of things were to figure out.  The class was incredibly useful, and I knew I’d only absorbed about 25% of the content– but that was plenty for me at the time.

What Happened this Time

These days, I read a lot of blogs. I think a lot about SQL Server. I’ve learned a lot in the undisclosed amount of time since that class.

And the world still got quite a bit bigger this time.

Since the class ended, I’ve found myself discussing the following topics without having to work hard at all to recall the details:

  • the difference between page and row compression
  • -E (the feature which has no name), contiguous fill, and file/filegroup layout
  • transaction savepoints and rollbacks
  • off-row data
  • different effects on the plan cache from using EXEC() and sp_executesql

This is really pretty awesome. These are topics I knew some things about, but they weren’t in the “normal”/”casual conversation” parts of my brain. These have now moved in and other, even weirder, geekier stuff  is out there on the frontiers.

What’s Different

The difference is that I already knew how to swim this time, so I got to learn and emulate expert swimming techniques.

I did, once again, come home with a practical task list of specific things I  know I want to look at in my environment to make sure they’re not an issue. But I also came back with new thoughts about how to articulate and critique database design best practices, how to handle transactions and optimize performance, and how to lay out physical storage. I don’t know if I can ever learn too much about those things– they’re really big, deep areas. That’s why they’re so much fun!

This all means that deep, quality training really does suit people at different levels in their career. When you have great content and passionate instructors, you’re going to absorb as much as you can in that amount of time— and wherever you are in your career, it’ll make a big difference in your life.

Comments { 3 }

From Record Structures To TempDb in 9 Hours or Less (SQLSkills Immersion Training Day 1)

This week I’m one lucky duck: I’m thrilled to be at SQLSkills Immersion Training on Internals and Performance in Dallas, TX.

I'm on the road this week, so expect cave-level drawings. This is a duck with a snorkel. No really, that's what it is.

Immersed in What?

I’m attending Part 1 of a series of intensive SQL Server trainings. This week is foundational, but is not a pre-requisite for other courses. Good news: you can choose to collect them all or do some classes individually, and you can do them in any order. You may be interested in taking these courses if you’re working toward becoming a Microsoft Certified Master in SQL Server (info), but you may also just want very in-depth training to help you do great work.

This week’s training is taught by Paul Randal (b | t | bio) and Kimberly Tripp (b | t | bio) of SQLSkills (@sqlskills).

Things you need to know about Paul and Kimberly: they are approachable, they are enthusiastic to hear your questions and talk to you about SQL Server, and they are great at helping you look at things in new and interesting ways.

What to Expect from Day 1

When you arrive at your first morning of Immersion training, you’ll get a healthy breakfast, a very friendly welcome, and then a giant dose of SQL Server.

This training started with record structures. We moved on and talked about more things, and tied it back to record structures. We moved on and talked about more things, then tied it back to storage internals. Then that happened again a few times– and I don’t mean there was any repetition at all. There wasn’t: we moved, and fast. We made it through modules 1, 2, and 3.

I really liked the material today because of the recurring themes and demos which built on each other. We covered a lot of ground, but it was tied together by a continuous thread of focusing on data internals and storage– it helped make a lot of different features, and options, coherent. The training built a real context to frame the information, which really helps me retain it.

How Much Did I Learn?

Writing helps me remember things, so I bought a laptop I love to type on. Today, I was happy to have it.

You don’t necessarily need to type notes at Immersion training: you get a lot of material to take home. You get a binder with printouts of the slides which contain loads of information for your reference. You get a DVD with Virtual PCs with labs. But there’s also much more information which comes about in conversation, and in discussing diagrams on the whiteboard: making notes is my best chance to help capture memories of that which I can recall later on.

What’s my guideline for making a note? It needs to be something I didn’t know at all, something I couldn’t explain to someone with confidence, or a nuance that’s easy to forget.

Some of what I learned today was very practical. Some of it helped things I already know make more sense. Some of it I know will come in handy soon.

I took 5,014 words of notes.

You Know What’s Awesome? Being In a Class of Smart People.

Reading slides, listening and thinking, is more than enough to keep my brain busy. I don’t always have the time to form a question, although I do my best.

But other people ask great questions. Today, that happened a lot.

Thanks for doing all that work, y’all. Lots of my notes today came from conversations after people asked questions, and just about all of them were things I would not have thought to ask.

Plus, Vicky Harp (t) helped me make sense of page headers in the women’s restroom.

Now, where else is that going to happen?

Fun Stuff: Dinner with the @MidnightDBA s

Jen McCown (b | t) and Sean McCown (b | t) came by to say hi and talk SQueaL after training. A bunch of fun people went to dinner. It was rad. There was laughter. And kung fu.

I think my brain is ready for more.

Comments { 1 }
Doing many things at once

Review: A day of doing many things at once with @AdamMachanic

Parallel Puppy OperationsA day of doing many things

At SQLPass this year I was fortunate to attend “A day of doing many things at once: Multitasking, Parallelism, and Process distribution” by Adam Machanic (blog | twitter). This was a day long post-conference.

So, how was it?

This was a fantastic seminar. There was a really good flow to the talk, which started in CPU background and architecture, then moved through Windows Internals, SQL Server internals, and on to specifics of parallelism in queries. Then we finally moved on to administration topics, as well as different methods of process distribution. A full outline of the day is here.

I think the presentation worked very well because of the balance of theory and practice. Essentially, there was a very good ratio between ‘what, ‘why’, and ‘how’.

I’ll look back at the outline for this seminar when designing longer presentations myself.

Did I learn anything useful?

Yes! The information on plan shapes and tricks to manipulate them was incredibly interesting, and is something I know will be useful. I also learned some interesting specifics about how the DAC works, and have a much more holistic view of how SQL Server uses processors and parallelism. Check out my tweets below for a little more insight into what my day was like!

Free webcasts. Yep, free.

Adam has some webcasts on parallelism available for download which you can watch for free.

My tweetstream from the session…

Here’s what my day was like, according to Twitter.

  • Postcon fun with @AdamMachanic today! #sqlpass Processes do not run, *threads* do.
  • Quick discussion of fiber mode for SQL Server: very limiting (http://bit.ly/bn6RoK)
  • Thread starvation: pre-emption by high priority threads can prevent some threads from ever running.
  • Threads running on client OS get a smaller amount of quantum units than on a server os (more frequent interrupt frequency)
  • Three types of processor affinity: none, hard affinity, and ideal affinity
  • Lots of love for sysinternals (http://bit.ly/WPxha) and theCPU-Z tool (w/ props to @BrentO for recommending http://bit.ly/1iBcg6)
  • Interrupt counts include not just when a quantum expires, but also when a thread finishes.
  • Lots of cool WMI queries being run from inside SSMS
  • Mine is still getting even better :) RT @whimsql: Amen Tom! RT @SQLRockstar Best. Summit. Ever.
  • Meeting the SQLOS! It’s a “cooperative” scheduling system: everyone’s equal
  • SQLOS provides an abstraction layer so storage engine, qp, etc can all talk to it instead of directly to the OS
  • Proc Affinity at sql server level may be worth testing w/ multi instances. WIth virtualization taking predominance, is less common.
  • Differences between resource waits and signal waits being explained
  • 484 Wait types in SQL Server 2008– plug for #sqlhelp hash tag for those with limited documentation.
  • I totally just got called on in a “what feature uses a hidden scheduler” Pop Quiz. #FAIL
  • @PaulRandal yep, we were all “so THAAAAAAAT’S how that works.”
  • Don’t think of operators in QPs as being parallelized. Think more of each set of rows as being prallelized.
  • Very few iterators are actually parallel-aware. Most do not need to be, even if being used by parallel streams.
  • OH: “I trust myself, but I don’t know if you should.” <– always an appropriate comment when referring to production environment
  • And now we return to our discussion of the “Big O” and the Query Processor.
  • We just covered tempdb spills and @crysmanson ‘s old enemy, the resource_semaphore wait type.
  • Few outer rows demo showing repartitioning scheme and rows redistributed on threads– very cool
  • Verrrrrrry interesting stuff with CROSS APPLY and parallelism
  • Cost threshold for parallelism default is still what it was set originally in 7.5, for many contemporary systems it may be too low.
  • And that makes me happy to hear since we do raise the default cost threshold for parallelism on our prod servers :)
  • @AdamMachanic just actually turned it up to 11.
  • If you hit THREADPOOL waits, don’t just up the max worker threads permanently, find the root cause for the situation.
  • Finishing up with a monitoring parallelism section — really nice flow to the talk today!
  • Piles o’ DMV fun, including the reason sys.dm_exec_requests has some funkiness: it shows wait state only for the root task
  • @AdamMachanic is demoing how sp_whoisactive will display your wait types, find your tempdb contention, and wash your dishes.
  • Demo of manipulating memory grants to cause a query to spill to tempdb purposefully… we’re not in kansas anymore.
  • @TheSQLGuru I’ve enjoyed it a ton– great combo of really interesting demos and information.


Comments { 0 }