Pork Tocino

If you live in The Richmond, you know that B*Star Bar is like eating at Burma Superstar but without the line.

Breakfast plate with pork tocino, garlic fried rice topped with two eggs cooked over easy. Spoon in foreground
Pork Tocino with Garlic Fried Rice
B*Star Bar, The Richmond, San Francisco, California, United States

Sony DSC-RX1
0.013 sec (1/80) @ f/4.5, iso400, 35 mm

My favorite brunch dish there is the Pork Tocino. Grilled jerk pork over a bed of garlic fried rice and cherry tomatoes, topped with scallions and balsamic vinegar.

Since Marie loves their Huevos Racheros, I end up ordering this dish a lot. The only times I don’t is when we bring a guest, then I suggest they get it and I order something else.

Continue reading about some WordPress plugin notes after the jump

FYWP #257-262: wpautop and shortcodes/oEmbed do not play nice at all

It occurs to me that wpautop() is the register_globals of WordPress—a feature that was instrumental for its growth and popularity, but really needs to DIAF. They should rename the function wppeepee() because it finds a way to pee pee on your content at the most inopportune moments, causing unending headaches in your code.

For those of you who don’t know, wpautop can be seen as nl2br() on steriods, or (as I prefer to call it) a poor man’s Markdown. It’s been in WordPress for almost forever, and it’s hard to imagine writing a blog post without it, even if it’s a Really Bad Idea™.

Continue reading about the interaction of wpautop, shortcodes and oEmbed after the jump

I'm speaking again!

After a couple year hiatus, I thought it’d be nice to start speaking again — the disconnect of basically stopping speaking at open source conferences when I started working at two companies producing some of the world’s largest open-source products ([WordPress][] and [Wikipedia][]) was becoming too much.

I decided to apply this year. Luckily, [Northeast PHP Conference][nephp] forgot to check the The Great Offensive PHP Speaker Blacklist™, and accepted my talk!

The talk will be: [Ten Evil Things: Features Engineering at Wikipedia][10 evil things]. Now with 30% less swear words, but don’t worry, it’ll still be fun. 😀

When registering, belatedly, I noticed they had an interesting preferences page, I thought I’d share my answers with you

[WordPress]: http://wordpress.org “WordPress: Blog Tool, Publishing Platform, and CMS”
[Wikipedia]: http://en.wikipedia.org “Wikipedia: The free encyclopedia”
[nephp]: http://www.northeastphp.org “Northeast PHP Conference 2013”
[10 evil things]: http://www.northeastphp.org/talks/view/156/Ten-Evil-Things-Features-Engineering-at-Wikipedia “Ten Evil Things: Features Engineering at Wikipedia—Northeast PHP Conference”

Continue reading my answers to their questions after the jump

Enterprise job recruiting

> Hi Terrence,
>
> I am following up on previous emails and calls. I am doing some research on PHP. I understand that you are focused on [canonical model](http://en.wikipedia.org/wiki/Canonical_Model) management, [SOA](http://en.wikipedia.org/wiki/Service-oriented_architecture) or [ESB](http://en.wikipedia.org/wiki/Enterprise_service_bus) initiatives. Do you have 10 minutes for a quick call tomorrow afternoon?
>
> The [redacted] platform enables rapid service design, construction, and management all from a Canonical Model. This enables the following:
> 1) Your services are managed in our repository aligned to all of your business capabilities
> 2) Impact analysis on how a change from a provider system ([Logical Model](http://en.wikipedia.org/wiki/Logical_data_model)) can impact the Canonical and other services
> 3) Rapidly propagate the changes to the impacted services
> 3) Rules based [version management control](http://en.wikipedia.org/wiki/Version_control)
> 4) Mapping provider systems to the canonical model reduces the number of mappings required by over 99% for a complex integration projects.
>
> I know this is a busy time of year. If someone else is better suited for this discussion, can you please refer me to them?

I understood every third word.

The other day, I sat through a presentation from from an enterprise consultant, they had an 8 category scrum chart just for feature choice and a 10 category one for development. The former had categories like: “paths to insight” -> “validation” -> “harvesting”, so I spent most of my time imagining what would happen if people were story cards that ended up dying due to being harvested at the end of validation due to improper paths to insight.

Maybe if they spent less time throwing verbiage and more time doing, [Enterprise](http://terrychay.com/article/php-enterprise-scalability.shtml) [wouldn’t](http://terrychay.com/article/php-pro-con.shtml) [be such](http://terrychay.com/article/php-enterprise-myths.shtml) [a joke](http://terrychay.com/article/enterprise-scalability.shtml).

22 categories? **This** is agile?

My theory is that someone with [Wernicke’s aphasia](https://en.wikipedia.org/wiki/Wernicke%27s_encephalopathy) would make [a killing in Enterprise software development](http://www.youtube.com/results?search_query=wernicke%27s+aphasia).

You lost me there, bub

Reading [this blog post ranting on PHP][phphorrors]

> No corporation supports PHP’s growth & maturity like Sun & Google do for Java, Google (Guido van Rossum) for Python (jnc Django framework), Ruby (inc RoR) by 37 signals etc…

37Signals & Ruby? Thank his noodly appendage PHP’s support isn’t as terrible as that company on that language.

You lost me there, bub.

When it comes to engineering choice, programming language is not even in the top 10 of important choices a software architect has to make. If you’re worried about the language, you’re worried about the wrong thing. (I’m also a little amused that the author holds Python as a language with great unicode support.)

[phphorrors]:http://www.theroadtosiliconvalley.com/technology/php-coding-horrors-poor-excuses/ “PHP: coding horrors & poor excuses—The Road to Silicon Valley”

response to questions concerning the VisualEditor

I feel somewhat responsible for putting James Forrester on the hot seat concerning [this article][Visual Editor post] as I was the one who asked him to take out time from his busy schedule to explain some of the challenges faced by the team concerning the project and manage expectations somewhat concerning the release.

I hope it is clear from the post that the [VisualEditor project][] has to overcome many “firsts” to become a reality. Some of the ones mentioned include:

1. The criteria to support 290 languages is beyond the scope of support of existing software.
2. The VisualEditor UI needs to be programmable in such a manner that “free form” HTML editing cannot be permitted unless those edits can be synced with an internal, client-side “data model.”
3. The VisualEditor needs to leave room for extensibility in all fronts to adapt to the extensible nature of current WikiText capabilities like transclusions and templates.
4. A **two-way** representation needs to be created out of wikitext to HTML *back to wikitext*. This cannot be emphasized enough since before the [parsoid project][], it was actually unclear if this was even possible.
5. In both the parser and in all points of the VisualEditor, edits must be made in a manner that only manipulates the areas intended by the editor so was to not introduce “dirty diffs”.
6. All of this must be done in a forward thinking transactional manner to allow things like real-time collaboration, micro-edits, and the ability to walk through actions.

[Visual Editor post]: http://blog.wikimedia.org/2012/12/07/inventing-as-we-go-building-a-visual-editor-for-mediawiki/ “Inventing as we go: building a visual editor for MediaWiki—Wikimedia”
[VisualEditor project]: http://www.mediawiki.org/wiki/VisualEditor “VisualEditor—MediaWiki”
[parsoid project]: http://www.mediawiki.org/wiki/Parsoid “Parsoid—MediaWiki”Continue reading

Join Wikimedia (Senior LAMP Software Developer)

> “Imagine a world in which every single human being can freely share in the sum of all knowledge. **That’s our commitment.**”

If you don’t know already, [I left Automattic (WordPress)][leaving automattic] and have joined the [Wikimedia Foundation][wikimedia] ([Wikipedia][wikipedia]) in February. Before this, I haven’t posted our regular jobs because I wasn’t too sure how relevant they were, and because I got burned by the Jobvite system spamming [my twitter][twittertychay] followers with jobs. (I apologize profusely!)

This is despite the fact that our infrastructure is PHP ([obviously][mediawiki]).

Until recently the Foundation has had lacked mostly Javascript and UI engineers and not senior-level PHP ones. But I guess when I joined all of the good PHP developers left! j/k 😀

Currently and in the coming months, we will have had three positions open up for a Senior Software full-stack LAMP/PHP engineer. If you want to work for the 5th most popular web property in the world with nearly half a billion monthly uniques (and probably the largest single-install open-source PHP project), you should really consider working [here][wikimedia]

### Job description: [Senior Software Developer at the Wikimedia Foundation][jobvite]

Be a part of a newly forming team that will be tasked to entice new authors to Wikipedia. You will create responsive UI-driven software components in a highly iterative environment to support user engagement experimental features for Wikimedia websites using JavaScript, CSS3, HTML5 and PHP.

#### Some of the projects you’ll work on:

– Develop new experimental editor engagement features for Wikimedia sites.
– Extend MediaWiki software to support new experimental features.
– Participate in periodic technology meetings for design, development and testing of experimental features.
– Scrum master for development team.

#### Required Qualifications

– 5+ years of web development experience, including front-end development (JavaScript/jQuery/HTML5/CSS3), and server-side development using PHP/MySQL.
– 5+ years experience with rapid iterative software development processes, ability to quickly grasp requirements, derive UI workflow and develop functionality.
– Experience deploying code into high transaction volume production environments.
– Experience with A/B testing, cross-browser testing, debugging.
– Knowledge of Agile Methodologies such as Scrum and Extreme Programming (XP). ScrumMaster training preferred.
– Familiarity with version control systems/continuous integration tools (we use Git/Gerrit/Jenkins).
– Must be able to meet aggressive timelines, iterate rapidly, and switch rapidly across multiple projects.
– Strong communication skills: Must be able to communicate clearly and effectively; have strong written and oral communication skills as well as be able to collaborate easily within a cross-functional team.
– B.S. or M.S. Computer Science or related field preferred.

#### Extra Points if you have:

– Experience with MediaWiki and other open source PHP-based content management systems
– Experience in the Wikipedia community
– Experience contributing to a major Open Source project
– Understanding of free culture / free software /open source
– Experience working with online volunteers.
– Experience with wikis and participatory production environments.
– Good sense of humor
– Being creative, highly motivated, hard-working and ability to work effectively in multiple cultural contexts are great assets
– Comfortable working in an open, highly collaborative, consensus-oriented environment

Please provide URLs to any existing open source software work you may have done (your own software or patches to other packages) if possible. We’d love to see what you can do!

#### About the Wikimedia Foundation

The Wikimedia Foundation is the non-profit organization that operates Wikipedia, the free encyclopedia. According to comScore Media Metrix, Wikipedia and the other projects operated by the Wikimedia Foundation receive more than 482 million unique visitors per month, making them the 5th most popular web property worldwide. Available in more than 270 languages, Wikipedia contains more than 21 million articles contributed by a global volunteer community of more than 100,000 people. Based in San Francisco, California, the Wikimedia Foundation is an audited, 501(c)(3) charity that is funded primarily through donations and grants. The Wikimedia Foundation was created in 2003 to manage the operation of Wikipedia and its sister projects. It currently employs 130 staff members. Wikimedia is supported by local chapter organizations in 38 countries or regions.

[Apply by clicking on this link][jobvite] or contact me personally. 🙂

### Why working here is totally awesome

Wikimedia Foundation 90 second HR Video with Disclaimer

Transcoded from original created and uploaded to Wikimedia Commons by WMFer, Victorgrigas.

(It’s probably a good thing this was filmed before I joined the Foundation. A version with me in it would have been rated R due to strong language. 😀 )

You should seriously work here. 🙂

[leaving automattic]: http://terrychay.com/article/automattic-outro.shtml “Automattic Outro”
[wikimedia]: http://wikimediafoundation.org/wiki/Home “Wikimedia Foundation”
[wikipedia]: http://www.wikipedia.org/ “Wikipedia”
[twittertychay]: http://twitter.com/tychay “Me @ Twitter”
[mediwiki]: http://www.mediawiki.org/wiki/MediaWiki “MediaWiki”
[jobvite]:
http://hire.jobvite.com/Jobvite/Job.aspx?j=oHDiWfwi&c=qSa9VfwQ “Senior Software Developer—Wikimedia Foundation @ Jobvite”

Wikimedia 503 Accessibility Hack Day (May 19, SF)

[The Wikimedia Foundation][wmf] is organizing a mini hackathon related to
accessibility (ensuring [our software][mediawiki] is usable by people with
disabilities or special needs). We’re working with Lucy Greco, an
Assistive Technology Specialist at the Disabled Student’s Program of
UC Berkeley on this.

If you’re a front-end developer or UI/UX designer, you can help. We’ll
work with a user of Dragon text-to-speech, a user of
on-screen-keyboard technology, 2-3 users of the JAWS screen reader,
and 1 user of a Mac screen reader. So you can directly help improve
the experience for real people who encounter issues with [Wikipedia] and
our other sites.

The event will be at the Wikimedia Foundation offices ([149 New
Montgomery Street][wmf hq], third floor) on Saturday, May 19, beginning at 10
AM and ending probably in the late PM. Lunch and dinner will be
provided.

Please RSVP with Rachel Farrand rfarrand [at] wikimedia dot] org by May 15 if
you’re interested in attending.

[wmf]: http://wikimediafoundation.org/wiki/Home “Wikimedia Foundation”
[mediawiki]: http://www.mediawiki.org/wiki/MediaWiki “MediaWiki which powers Wikipedia”
[wmf hq]: http://maps.google.com/maps?q=149+New+Montgomery+Street&client=safari&oe=UTF-8&hnear=149+New+Montgomery+St,+San+Francisco,+California+94105&gl=us&t=m&z=16
[wikipedia]: http://www.wikipedia.com “Wikipedia”