Category Archives: Technology

Port WordPress from PHP to Swift

Note: This is still a draft. I will be editing it as I continue to discuss it with the community, and as I get time to fill in more details.

Apple is open-sourcing the super popular Swift programming language this year. With the language now available on Linux and probably windows shortly after that, it is only a matter of time before many projects written in flavors of C will be ported to Swift. Even PHP could eventually be written in Swift. But, why wait?

We could port the subset of PHP functions that WordPress plugins and themes use along with porting WordPress core. If we do it right, a simple script could convert plugin and theme code to (not-very-efficient) Swift code. Then as plugin authors learn Swift they can make there code more efficient by using native functionality instead of the interface functions we created for the transition.

There are probably nuances of how a ternary is treated that will make using a search and replace code conversion very difficult, but I wouldn’t it be awesome if it worked? I am quite literally thinking of creating a library of functions that allow running WordPress in Swift. After the conversion is done, we can continue developing WordPress in Swift and start taking advantage of its native capabilities.

Ok, your turn. Tear the idea apart, and I will update to make it more feasible.

What does it mean to be open source, when you are brick and mortar?

Open Source – the business model of the future!

Everyone knows that the best and most popular software is open-source. [1] Photography, music and many other content types have Creative Commons. Many other types of businesses are also looking for ways to get in on this economy of free.

But what does that look like for brick and mortar business? Share your blueprints with the world and ask them to help you make them better? Share you business plan, employee manual and business processes? Share all internal documents, software, and prices for sales and purchases?

Can you even do brick and mortar business that way?

Does it go deeper?

Does it mean sharing facilities, employees, equipment, even management? Shared advertising? Share fulfillment?

Some of this has been done for centuries in the brick and mortar world. Does that mean that Free and Open Source was invented before the internet?

How can you tell? What is at the very core of  Free and Open Source? And how could that apply to things other than information products and services?

[1] Yes, the supremacy of Open Source is a matter of opinion. Humor me, keep reading and leave a comment. Whether you think it is better or not these are still some interesting questions.

Make Events / Event Training Materials – Inventory

Here is a list of documents we are working on to help planners of WordCamps and other WordPress events. This is just a static reference. All discusion and updates will be on http://make.wordpress.org/events/

A/V

  • AV release form for Speakers – Must have one for every speaker
  • Working with AV – Best practices for recording good presentations and dealing with A/V tech in general.

Communication

  • Email Lists – Working with MailChimp (or other mail providers; e.g. campaign monitor)
  • Promotion & Outreach – How to get the word out about your event. Creating partnerships.
  • Social Media – Streamlining workflow for Facebook/Twitter presence; tracking event activity on day-of.
  • Survey Template – Post-event survey.
  • Pre-event Email – Template for pre-event email to attendees
  • Recording & Reporting Policies – Inform participants they will be photographed / reported on – inspiration: http://dc.adacamp.org/information-for-participants/policies/

Schedule

  • Schedules – What formats to use (e.g. iCal); planning your schedule / Check out http://guidebook.com/
  • Session Types – Common + uncommon presentation types (e.g. tutorials vs. panels)
  • Unconference (Day) Guidelines – Best practices for organizing the unconference: timing, content, organization

Financial

  • Budget Sample – suggested amounts and percentages for different types of events
  • Budget Template – Currently provided by WC Central to WCs.
  • Invoice Template – Currently provided by WC Central to WCs.
  • Financials Guide – Funneling money through WCC; requirements for out-of-country events. Cover sponsors, vendors, refunds, late registration, additional attendees at speaker dinner, organizer reimbursements, Non-profit letter.

Location/Venues

  • Insurance Guidelines – What to look for / choosing the right provider.
  • Venues Guide – Finding good venues (event, afterparty, speakers dinner). Also floorplan and set-up.
  • Do’s & Don’ts of Venue Selection
  • Accommodations – Finding hotels, motels, BNB’s, and other locales to get you a discount.

Logistics

  • Timeline – In a countdown to event format
  • Organizer Tasks / Agreement – Dividing tasks between organizers, assigning responsibilities, list of mutual understandings

Registration

  • Registration Guide – Templates for registration; release forms (for speakers);
  • CampTix – How to use, best practices, pricing suggestions

Speakers

  • Speaker Guide – Best practices for presenters; tips and tricks; advice from longtime WordCamp speakers.
  • Checklist of Best Practices – A quick reference for wrangling speakers
  • Speaker Submission Form – Questions to ask potential speakers.
  • Choosing Speakers Guide – A guide for organizers on how to choose appropriate speakers.
  • Speaker invite templates – Invites to speakers, confirmation, request for materials, logistics template emails
  • Speaker rejection templates – How to thank people for submissions / proposals but not accept them
  • Speaker Dinner – How to choose a location, who should be invited, how to manage the budget

Sponsors

  • Sponsorship Guide – Templates for sponsorship tiers; how to choose sponsors; guidelines (e.g. GPL requirement).
  • Checklist of Best Practices – A quick reference for wrangling sponsors
  • Fundraising – Who to ask, what to say, what to offer, how to make sure commitments are fulfilled.

Suppliers

  • Food n’ Drink Guide – Best practices for choosing a caterer; dealing w/ dietary restrictions; budget management.
  • WCC Wrangling – Ensuring vendors are paid on time; communicating w/ WordCamp Central.

Printing

  • Swag – Best practices/advice for swag. Includes stickers!
  • Event Signage – Listing signage type + best practices (e.g. schedules on doors, what info?)
  • Badges – Several templates and ideas

Volunteers

  • Volunteer Wrangling – Estimating how many you need, recruiting, training,
  • Volunteer Job Descriptions – Typical hours required, expectation of volunteer time, etc.

Website

  • Website Guidelines – Site map; what content you should have in place.
  • Logo and Site Design – No Fauxgo, asking for, rewarding and acknowledging volunteer designers, WordCamp oneword
  • WordCamp Theme – How to style, and how to use CPTs
  • Snippet Library / FAQ – Answers to questions organizers get asked a lot. Explanation for organizers and public version.

See anything we missed? Have some of these materials you would like to share? Again this is just a reference. All discusion and updates will be on http://make.wordpress.org/events/

I Want to Thumb-up Your Ad

Some ads are really well done. Some are not. Some are ok but so far off topic / awful I would like to ban them from my computer.

I have never been a fan of advertisement, but now that advertisement is my primary source of income I am a little more interested in making them better. 🙂 And honestly, ads can be really helpful if they are talking about a new IDE or something else I want to know about.

And that is the key. I want to control what type of ads I see. I really don’t want some algorithm based on my birthday, occupation, and other demographics. Those details put me in a category that I really don’t identify with. The same is probably true for you as well.

Give me the ability to thumb-up the ads I like and thumb-down the ads that I don’t. Pandora style. Actually Pandora would be a great place for this to start. Yes, I know that thumbing them all down will not get rid of all advertisements. I will just get stranger and stranger matches. I am smart enough to give you good feedback so I get better ads, and you will get feedback on which ads are hits and which are duds.

Deal?

 

Node.js Grunt.js Headache.js

I successfully installed HomeBrew, Node.js, and nearly have Grunt.js – I just have a few errors in npm and now I have a headache. 🙂

To be honest, I have been under the weather for a few days so the headache is unrelated, but it was fun. 🙂

Anyway here are the steps so far:

  • http://mxcl.github.com/homebrew/
  • https://gist.github.com/3182604
  • http://shapeshed.com/setting-up-nodejs-and-npm-on-mac-osx/
  • https://github.com/gruntjs/grunt#installing-grunt

The two errors I get to look at tomorrow are:

npm WARN prefer global node-gyp@0.7.1 should be installed with -g ronn@0.3.8 node_modules/ronn

and

npm WARN cannot run in wd npm@1.1.66 npm prune ; rm -rf test/*/*/node_modules ; make -j4 doc (wd=.)

Update: I fixed the first one (I think) by running

sudo npm install -g node-gyp

The second one doesn’t seem to be much of a problem.

How to Build a Wiki in WordPress

Note: This article is for developers. It is an outline of steps that need to be taken to build the plugin.

  1. Define a custom-post-type so that this can live next to a the rest of the content on a site. Slug: wiki, of course
  2. Define shortcode [w pagename] that links to the correct page if available. If not, suggest alternatives and give option to create page.
  3. Enable front-end editing for this CPT.
  4. Expose revisions on the front-end.
  5. Add ability to define pages that will act as the header and one or more sidebars.
  6. Add widgets that do page menus, topic menus, etc.
  7. Create a [widget] shortcode
  8. Add custom user levels
  9. Add ability for non-privileged users to submit edits in a format that editors can just click to commit.

Plugin: Share Database and Uploads

Here is a really neat idea for a WordPress plug-in. Maybe someday I will have time to build it. In the mean-time maybe this will be inspiration for somebody to beat me to it.

Problem: You redesigned your site locally (like you should) but you don’t have live data to test against and anyway in many cases the server for your live site is configured slightly differently. In my case, I have to interact with a server environment that is very different. I can emulate it most of the time, but sometimes I really need to test on the live server.

Solution: Setup a separate site on the server for testing. Nice. But, I really want to test it with real data. That means copying everything over.

Wouldn’t be nice if the test site could just have read-only access to the production database and uploads folder? Then anything it needs to write can go to temporary tables on the side.

Open Source Government

If there is one thing that liberals and conservatives, democrats and tea-party members, and everyone in between can agree on, it is that the government leaves a lot to be desired.

What is really awesome is to see businesses stepping up and filling the gaps often using new technology or new ways of thinking about old problems. This is awesome not just because the gap is getting filled, but also because it is getting filled by private companies.

If I don’t like how a company is doing things I can set up a competing company and do better. If the government is doing something, but not doing it well, I will have a hard time competing because they can tax my revenue to pay for their inefficiencies.

One company helping to open-source government a bit is Modria. They are keeping thousands of cases out of the very expensive court system, and helping thousands of people get the justice they seek while restoring relationships. More info here.

Yes, it is a bit expensive, and no I am not encouraging anyone to sign-up. I just thought this was a really cool way to use technology to make a formally government process a human process once again.

WordPress Event Types – WordCamps, Meetups, Workshops, and more

I could really use your help.

I am helping out with gathering event planning training materials. More on that in future posts. For today, I need a list of as many different WordPress specific events as possible to make sure we have a good list of materials needed.

So far I have: (h/t Jane)

  1. WordCamps – anyone do anything non-traditional here? (traditional being multi-track series of talks)
  2. Meetups – what formats are used (networking, talks, monthly, weekly)?
  3. Hackathons or Hack-days
  4. New user training – one day / multi-day
  5. Theme workshops
  6. Devcamps
  7. Workalongs
  8. Help clinics
  9. Community Summit
  10. IRC meetings on #wordpress-dev
  11. Online meet ups (ie via Google Hangout) (h/t Andy)

What other types of events are you guys doing?

If you have done any of these other than a traditional WordCamp, would comment with a quick description? I am particularly interested in what goes into planning and running the event. What advice would you give to someone starting a similar event? What needs to be done/communicated before, during and after the event?

The Making of a WordPress Event

Planning a large event or series of smaller events is a lot of work. I learned this by experience recently. More on that later.

But all that work is totally worth it. WordPress is WordPress because of the community that builds it, builds with it, designs, supports, promotes, and does everything else with it. This community has been mostly ad hoc, but this year we are focusing in a big way on organizing the organizing of the community. We are putting together a ton of stuff to help out organizers.

If you are an organizer, and would like to help other organizers, the place to go is: http://make.wordpress.org/events/. The time is now. We need you, and deep down inside, you know that you need us too. 🙂