I’m Speaking at WordCamp Minneapolis 2014

My presentation titled “1 Million Downloads – Lessons Learned Growing a Plugin” was accepted into the second developer’s track for WordCamp Minneapolis 2014. This presentation was inspired by a presentation I attended at WordCamp Chicago 2013. It will cover my experiences (mistakes, triumphs, etc.) as I have grown Breadcrumb NavXT over the past 7 years.

This session will cover what I have found that works, and the mistakes I made as I’ve grown Breadcrumb NavXT into a plugin that has been downloaded over 1 million times. Topics covered include: support and release strategies, workflow and tools, and WordPress plugin coding tips. Naturally, this is a non-exhaustive list of the topics I’ll cover but it should give a feel for what I’ll be talking about.

Psst. If you haven’t registered yet, register for WordCamp Minneapolis while you still can. Last year we sold out of two day passes and Saturday only passes. Also, it is definitely worth participating in both Saturday and Sunday activities, Kiko and crew did an excellent job organizing last year and this year is looking to be even better.

-John Havlik

[end of transmission, stay tuned]

Plex Home Theater + Funtoo on Intel’s NUC DN2820FYKH

Plex is really awesome. It has a server component that I’ve had running on my home server for over a year now. There are apps for Roku, Windows 8 and Android (I have all three) which automatically find my local server and can stream from it. The Android Plex app can even act as a remote for other Android, Roku, Windows 8, and the Plex Home Theater client. Rather than dive in a try to get Plex Home Theater running on raspberrypi, I went with the new NUC DN2820FYKH.

Continue reading

WPMark Twenty Twelve

WPMark consists of two components: a WordPress plugin and a JMeter test plan. The WordPress plugin populates an empty install with the requisite demo content, sets up the requisite options, and generates cached copies of portions of the site for testing.

Continue reading

XPS 15 9530

While I bought an IdeaPad s405 back in June, it was never intended to replace my daily use laptop (Vostro 1400). So I was still looking for a new laptop. Even though the Dell XPS 14 ultrabook with a Haswell core would theoretically meet my requirements, such a laptop does not exist. However, the next closest thing, the Dell XPS 15 9530 (2013 edition of XPS 15) with a really sweet screen does exist.

The Hardware

The XPS 15 9530 is a high end laptop, though the model I have is not the top model. Those looking for the “professional” equivalent see the Precision M3800, it has nearly the same internals (swap the Geforce for the equivalent Quadro and it looks like the PCH in the M3800 has a heat spreader).

  • Intel Core i7-4702HQ (Quad Core 2.2GHz, 3.2GHz turbo) 37W
  • 16GiB DDR3L-1600 dual channel RAM
  • 240GB Intel 530 mSATA SSD (upgrade replaced the 32GB Micron RealSSD C400)
  • 802.11ac+bluetooth (Intel Wireless AC 7260 in M.2 form factor)
  • 500GB Samsung 840 EVO (upgrade replaced the 1TB Western Digital WD10SPCX)
  • 61Wh Li-ion battery (up to 6hrs according to Dell)
  • 15.6 display (3200 x 1800 IGZO IPS: IGZO is a substrate IPS is the pixel construction)
  • Intel HD Graphics 4600 + Nvidia Geforce GT750M

The build quality exceeds that of my other two laptops. This is to be expected given the materials (carbon fiber+aluminum+glass vs plastic), and the price. Unlike the IdeaPad s405, the XPS 15 9530 does not flex when opening the lid.

Just like the IdeaPad s405, the speakers face down, reflecting sound off the surface the laptop is resting on. Not much more to say on this one.

Performance wise, it is faster than both the Vostro 1400 and the IdeaPad s405. Again, that was expected.

Caveat Emptor

Just like the IdeaPad s405, the entire bottom of the laptop must be removed to access the internal components, including battery. Unlike the s405, opening up the laptop does not void your warranty. Additionally, Dell does provide instructions for replacing components. These are two of the biggest reasons I will continue to purchase Dell laptops.

Speaking of opening up the laptop, be warned you will need a TORX T5 driver to open up the chassis. Additionally, the XPS 15 9530 is a little tricky to get apart. While Dell does provide instructions, it isn’t very clear on how to get the carbon fiber bottom separated from the aluminum palm rest (which is where all the components are attached to). After fiddling around with it for a while, I finally figured it out. Start with one of the front corners, use a thin shim to gently separate the chassis. Then use your plastic pry tool to widen the gap, move around the rest of the front and down the two sides. Lastly, move to the back corners after you get one of them, grab onto the bottom part from the front of the laptop and pull up, the last snap should release.

While the WiFi card uses the new M.2/NGFF form factor, the SSD is connected via the old mSATA connector. This is not exactly a problem today. However, within a year M.2 will be much easier to find than mSATA (almost all new SSDs to be released in 2014 are available in M.2). If you have the 91WH battery version, that means replacing that 512GB Samsung “840 pro” class mSATA will get difficult quickly.

Other Thoughts

I still don’t like track pads. While they have grown larger, and the XPS 15 has a pretty decent trackpad. I haven’t had a chance to play with it in Linux yet, so time will tell how good it is.

The touchscreen is really awesome with Windows 8.1, with all of its gestures. Again, I haven’t had a chance to play with it in Linux yet, so time will tell how awesome it is.

The ‘BIOS’ is UEFI interface. While it defaults to secure boot, it can be easily disabled. Unlike Intel’s NUC Kit DN2820FYKH (Bay Trail-M Celeron N2820, more on that later), the XPS 15 will happily boot non-UEFI USB thumb drives. There is an option for battery charge mode, something I haven’t seen before and will have to look into it. One option that I did not find yet was a way to disable the Nvidia Geforce GT750M from the BIOS. So, it looks like I will have to use software to disable it when Linux boots (did not want the GT750M, but I did want the better screen).

-John Havlik

[end of transmission, stay tuned]

How to Implement RDFa Breadcrumbs with Breadcrumb NavXT

While the Google microformats for Breadcrumbs are verbose, ugly, and deprecated, to date, Google still doesn’t support Schema.org breadcrumbs. Thus, we’re going to have to live with the ugly RDFa format for the time being. While there is no ‘one click’ configuration for RDFa breadcrumbs within Breadcrumb NavXT, support for them is not too difficult to configure.

Calling Code Modifications

To begin, the wrapping div for the calling code needs to have xmlns:v="http://rdf.data-vocabulary.org/#" added to it. Below is an example calling code block for users of the regular bcn_display(); function.

<div class="breadcrumbs" xmlns:v="http://rdf.data-vocabulary.org/#">
    <?php if(function_exists('bcn_display'))
    {
        bcn_display();
    }?>
</div>

Settings Modifications

In general, you need a

<span typeof="v:Breadcrumb">

wrapping around every breadcrumb, and an inner element containing property="v.title" and rel="v:url" if the breadcrumb contains a link. For the most part this will result in two replacements need to be made to all of the breadcrumb templates. For the linked breadcrumb templates, replace:

<a title="Go to %title%." href="%link%">%htitle%</a>

with:

<span typeof="v:Breadcrumb"><a rel="v:url" property="v:title" title="Go to %title%." href="%link%" class="%type%">%htitle%</a></span>

Note the extra span containing the typeof declaration. This is necessary for Google to pick up on the breadcrumb objects (even though the tag is redundant as the property should work on the anchor).

For the unlinked breadcrumb templates, replace:

%htitle%

with:

<span typeof="v:Breadcrumb"><span property="v:title">%htitle%</span></span>

To jumpstart this replacement process, you can import the following Breadcrumb NavXT settings XML file. Breadcrumb NavXT RDFa Breadcrumbs settings file (Right click and select “Save As”).

One Last Thing

Depending on the version of Breadcrumb NavXT, the typeof attribute may not be accepted in the settings (it will get automatically stripped out). To fix this follow the process outlined in How to Add li and Other Tags to Breadcrumb Templates to add the typeof attribute to the span HTML tag. Otherwise, wait for Breadcrumb NavXT 5.1 (or 5.0.2) to be released.

-John Havlik

[end of transmission, stay tuned]