She’s Geeky – Tour of WordPress template code

There were 20 or so people at this talk, including non-programmers and programmers wondering if they should install WordPress, and bloggers and admins already familiar with WordPress. We did a round of introductions:

* Graphic designer interested in what degree of control she could have over a WordPress blog.
* Benay, running a blog connecting seniors with caregivers.
* Collie, looking for help with a WordPress upgrade on a complicated blog. Where is community to find help or pay someone to help? (Collie and others: you might try Heather L. Sanders. Anyone else have recommendations?)
* Person who installed WP to force herself to learn more code. Curious about plugins. Which are most useful?
* Terri – uses WP at her job for blogging, thinking about running her own for personal use.
* Nadine – Installed WP for other people many times. Does a lot of troubleshooting.
* Laura – Has installed and messed with WP many times. Wants to create a template from scratch.
* Stephanie – has an HTML site. Might want a blog.
* Olya – is a blogger. sometimes has language barrier while troubleshooting.
* Estella – artist, craisin.com.
* Crystal Marie – adding a blog to her existing web site. Looking at WP and Drupal.
* Beth C – Loves WP. Would like to do more customization.
* Michelle – Is a coder
* Vee – Blogs for her company. Knows HTML.
* Min – Uses MoveableType, is curious
* Karen M. – Thinks there might be entrepenurial opportunities with WP
* StephanieBamBam – Personal blog

I’ve been using WordPress for several years and administer a group blog. As part of my job, I do tech support for bloggers who run into template problems and quite a few of them use WordPress, so I look at a lot of different templates and help people troubleshoot. (The other part of my job, I munge data, write back end tools and infrastructure-y scripts in Perl, Python, and PHP in an aspiring codemonkey way.)

I started out by saying that WordPress was blogging software that you can either use on wordpress.com, or can download for free and install on your own server or web host. You will need an account somewhere and need to have it clear in your mind that you’ve got a username and password for that server account. In that account you’ll be making a folder where you install WP, and then you’ll have an administrative username and password for the WP admin and blogging interface. You may need to pay attention to this in order to change file permissions and make your theme files writeable if you want to edit them from the Theme Editor web interface. This tends to confuse people who aren’t used to web hosting. Also, some people use web hosts which have one-click installs or who install WP for you and then charge to upgrade or maintain it.

We looked at the files and folders in a WP installation. There was some discussion of how you move files around and edit them. (Either from the command line on your server, from the admin interface for theme files, or with FTP; you can download the WP files, and extra themes and modules, to your computer, then upload them to your web host.) It’s a good idea to just look through all the folders, so you know what’s there. You may want to read through the wp-config file. But most of what people deal with is in wp-content, in the themes and plugins folders.

We then looked at the WP administrative dashboard, a bit at Widgets, and then at the Appearance menu and the Theme Editor. I said that editing code in the Theme Editor window sucks. While it’s great for making quick changes, I recommend you edit the files in a text editor that will color code the code and indent it nicely, like vim or Textmate. You can pass code back and forth with other people by putting it into pastebin.com, which will also color code and indent it nicely. Also, it’s amazingly helpful to print out all the template code, and mark it up with pen, and see which bits you can understand; or at least understand more or less what it does.

I explained briefly that anything that looks like a command with parentheses after it, like get_header, is a function and you may need to look for it in functions.php to figure out what’s happening. We looked at index.php for a little bit. It is helpful to read through it. You should be able to mark what is header, what is the content (including “The Loop” which will cycle through your posts), and what’s the footer.

The WordPress codex is your friend. Here’s some great starting points:

* http://codex.wordpress.org/Using_Themes
* http://codex.wordpress.org/Stepping_Into_Templates
* http://codex.wordpress.org/The_Loop

Take a look at your sidebar.php file, header.php, footer.php, and page.php for individual post pages.

At some point, I mentioned the site to look for and download WordPress Themes. You can specify whether you want fixed width or floating; one, two, or three columns; and other parameters such as the main color. It is often best to start with a fairly popular theme.

Keep track of customizations you make to the theme you pick, because at some point you will want to upgrade or change it. Make backups.

There was some discussion of plugins as well. All in One SEO Pack (which sounds a bit evil, but which is great since it makes your URLs a bit more human readable as well as search-engine-friendly) had good recommendations. Stats, Sitemaps, and various Flickr or photo plugins were mentioned by bloggers at the session. On the group blog I co-administer, we had written some code to pull in a list of all our plugins onto a static page called “What we use”, which has come in handy many times when we want to recommend useful plugins to other people. (Whoops; when I tried to show this off, I found that our recent upgrade to 2.7 had broken this code.)

The post template plugin was mentioned for its usefulness and for being able to pick a post or a page and “template-icize” it. This sounded intriguing!

Someone else mentioned that people should be aware that new plugins might break other ones and if you run into trouble, uninstall some plugins and see if that fixes the problem.

Someone else asked if there are good books for learning WordPress theme development or php. I don’t know about books, but php.net is fantastic, and the WP Codex is quite good. The Codex is also editable by its users, so if you use it a lot, make an account, log in, and fix any documentation that’s wrong when you figure out a solution. I also recommended blogging your template or code problems or posting on forums, and then posting the solutions to those problems when you figure them out. This is hard to do sometimes, but the more of us who do it, the better.

When I mention IRC at this conference my general impression is that people aren’t using it that actively and many people don’t know what it is. People who were techy or coding at all or playing on MUDs or smoething before the web, or before about 1995 or 96, know what IRC is. People who learned their stuff or got involved with online worlds after that, it’s much more hit & miss. In any case, I continue recommending people try IRC and hang out in channels on freenode that have to do with the tools or languages they’re using. Here’s some explanation & guidance on IRC and WordPress. Lurk for a while, pick up the culture of the channel, and you might be surprised you can actually answer other people’s questions: when I do this I tend to feel better about asking questions myself.

At some other point I mentioned MAMP again. It’s very handy and easy to install, if you want to run a local web server off your Mac in order to develop and test. While I was doing this hour long talk, at least two people downloaded and installed MAMP and WordPress and got it running on their laptops.

I enjoyed this session! We didn’t go all that deep, but we covered a lot of ground and people seemed energized by the ideas and possibilities. If you were there, thanks for coming, and let me know how your project turns out!

She's Geeky

Related posts:

She’s Geeky – Install Drupal on your Mac

In this session we talked about Drupal in general, and a few people, including Margaret Rosas from Santa Cruz Geeks and CrystalMarie, got it installed and running. I have to apologize for being a bit incoherent; I was tired and unprepared. It was worth the session anyway to introduce the idea that you *can* run drupal on your laptop and use your laptop for development and testing! Margaret and others saved the day by having plenty to say about Drupal, Drupal 6 modules like Original Groups, what will be new in Drupal 7, and how interesting the process has been for re-organizing the Drupal web site.

If I had do-overs, here’s how I’d run this session:

– First of all, have already rewritten Installing Drupal on a local MAMP setup to improve its instructions.

– Quick description of what Drupal is. Show drupal.org site.
– Quick introductions around the room.
– Pass around a few USB drives with zipped MAMP and Drupal files, with versions 5 and 6, for people to install and copy over to their laptops.
– Pass out a printout of Installing Drupal on a local MAMP setup.
– Ask people to team up in pairs.
– Give an overview of the install process, but without doing it.
– Then everyone is free to do the install.
– People who get it installed should then go around the room and help other people get it done.
– Mention IRC, #drupal-support, drupalchix, and drupal.org documentation as good resources.

We ran into various difficulties. Some people had file permissions problems; it worked to make the entire drupal directory and all its files and directories readable and writeable, though that seems less than ideal. Also, we had some difficulty doing the first login, which I’m still going through with Laura from Indie Craft Gossip.

Thanks to everyone who participated! I didn’t take down your names, but if you want to comment and link back to your blog or Twitter or your company, I’d love it. Also, if you’re in the Bay Area and want to hang out messing around with Drupal, ping me and let’s have a Drupalchix meetup sometime in February.

Related posts:

She’s Geeky – Show and Tell Your Dev Env session

We had a session to talk about what tools, languages, and platforms we use for software and web development.

She's Geeky

I started off by trying to list all the tools I use for work for development. Then other people stood up one by one to add their tools to the list on the whiteboard. Lots of people had questions. Our group ranged from people who have been developers for decades to people who had been programmers, but left the field and come back again, to people who weren’t sure if they were developers at all because they do web stuff.

I felt like something came together at the end when someone said that she was leaving a huge company with the budget to buy development tools and was now going to work for a startup, so she came to She’s Geeky to figure out what free and open source tools were out there for her to use. I forgot to mention SCALE and OSCON, but I should have.

There was a core of people using unix/linux and (oddly?) Mac but unix-centric. There were some Windows folks but was unclear

Version control: People were interested in svn clients and in github. No one currently used CVS and almost no one had heard of mercurial.

Here is the giant, unorganized list of tools mentioned.

unix / linux
macos
terminal
quicksilver
xcode
ichat vnc screen
bash
vim
svn
git (github is nifty)
cvs
php
perl
python
drupal
sourceforge
github
durpal
mamp
firebug
command line…
textwrangler
textmate
clearcase
perforce version control
ruby
rails for web framework / merb
apache with passenger – for deploying rails apps locally
mongrel server to run web apps and it’s really easy. (use with rails) ruby gem
webbrick rails thing – use to be built in rails server now it’s mongrel
what is a ruby gem install?
rspec
selenium – browser based scripting
watir – testing tool – ruby
“Everything I know is ruby, I’ve tried to forget my Java life”
eclips intellij
bbedit / textmate
textmate has plugins
php, ruby, html/ css/javascript
Firebug. I love firebug. i am dead in the water without it.
firebug lite you can use on non firefox browsers.
We need a whole session on firefox plugins
Yslow, pixelperfect, firebug, web developer toolbar
enthusiastic recs for pixelperfect.
ADBLOCK!!
Melanie explains history of Yslow.
(Firefox accessibility checker, can’t remember its name)
subversion client: beanstalk
Versions – mac svn client!
Tortoise – windows svn client beautiful interface that makes sense.
frameworks: jquery uses css format for javascript and it is awesome
Django (python)
Apptana. IDE. mixed feelings. baby aspirin flavor of eclipse. painful horribly slow but love the real time syntax checker
vmware fusion. really cool for multiple dev for mac. it can be a little slow. My mac is 2GHz processor 2GB memory but it’s almost not enough any more to run the VM
Amazon ec2
Apache comes with your Mac, just turn it on in the preferences.
phpmyadmin
jslint. douglas crawford’s book Javascript: the good parts (unison from room)
he wrote jslint, javascript interpreter.
Wireshark – monitor your network
adobe cs3 design packages, fun! flash dev. get student discount. adobe 4 is out!
instant rails for windows.
hivelogic.com help installing mysql on a mac.
IRC: use irc for the tool/language. Colloquy – good irc client for Mac (no one used it on Windows)
basecamp, campfire. Propane.
Scrummy – open source good for task tracking, agile
pivotal tracker – a useful communication tool. tracking stories. move through dev cycle. it’s free.
Drupal firefox plugin!!! must have this! helps with debugging!
Kindle – good for tech manuals
The Public Library. good for tech manuals too.
westciv stylemaster css editor westciv.com
coda panic software Transmit ftp client. integrated web dev env called Coda which is really fascinating.
Apple trainers doing technical mac os books. they use subetha edit.
omnigraffle mindmeister
different open apis that are super useful.
cpan, darwinports, apt-get, easyinstall, etc etc

People:
* Desi Mcadam – ruby, ruby on rails, web based applications, spotus, hashracket , consultant. florida. Devchix!
* Karen Mcadams – Freelancer. Likes to work for non profits.
* Jenny Greenwood – jobs dev drupal software engineer C, C++, assembly. out of developtment for 8 or 9 years. teaching self CMSes and drupal and css and php
* Margaret rosas – quiddities , santa cruz – doing drupal. knight foundation. drupal radio. Radio Engage. local public radio station she built Santa Cruz Geeks site. met heathervescent and started doing santa cruz geek dinners.
* becca (berkeleybecca) peachpit press. what software tools we have energy around. ones we just love. she is lurking here to find out what we love. she is proud of coding her personal web site and taught herself css.
* Laura – – front end middle end web dev for 10 years. not working now, volunteering to do web sites. does bazarre bizarre. javascript, java, html css.
* nabil project manager. security. peeve of security. personal information in web sites! finds out horrible details! company is hiring, little consultancy, sf, biz process mgmt development, hiring microsoft engineer, a software developer. elegrity. elegant + integrity.
* Amie Forest – Quiddities
* Terri Train IT manager. web dev typing in html javascript by hand, dreamweaver, i like it by hand better elegant code. lotus domino. not free. good quick app development tool for doing all sorts of workflow , web forms, apps on the web. switching to a new company, come to this come to new company with fresh ideas, won’t have money to buy expensive tools, looking for free ware now.
* melanie archer – front end web developer javascript css freelancer.

I was taking notes very fast and might have left out people or crucial details – please correct me in comments (or email!)

A lot of us also agreed it would be nice to put up a board to match up people who use various of these tools or platforms or languages, so that we can have an IM buddy, where it might be easier to ask questions rather than go on IRC. I do try to nerve myself to ask stuff on IRC … and thank you to anyone on php-women and drupal-support who helped me out 😎 I found that pretty quickly I was able to be helpful to random other people in drupal-support, which made me feel easier in my mind about asking my own questions.

Thank you everybody! I got a lot of good tips from this session and also a nice sense of not being alone in trying to get a handle on the amorphous beast that is a development environment.

We agreed that we could pick any of these tools or concepts and do an entire sesson on it that is more in depth and hands on. general agreement that we need a Firefox plugins for developers session, asap.

Related posts:

She’s Geeky – Session on gaming

There are some hard core gamers here, about 10 women, a lot of them gamers for many years. STories of AFT, All Female Tournament, Female Fragfest 99, women playing for years with male online identities to avoid harassment and then coming out. Funny story from Kim F. of the moment she realized a bunch of other teenage gamers she played with were female because they were the ones who got emotional at the death of Princess Di.

Someone said the words “Barbie Mortal Combat”…

I mention the Iris Network and Cerise, an online magazine for game geek women.

A divide in the industry between games for guys which are seen as monetizable in a certain way while “casual games” that 35 year old women play are treated as exploitable b/c they’re idiots like you can get a stay at home mom to give out the credit card number… it has attracted the seedy underbelly, the shady side of the industry. Annoying!

It’s still hard to find exciting games for young girls that aren’t sexist and condescending and stupid.

Games that aren’t totally dirty sexist first person shooters (though a lot of us here like them too) Katamari…

Board games, german games, this craze not realy picked up on yet by online industry.

We all want this: A sort of imdb for gaming. It would list all games, across all platforms and genres, mmorpgs, video games, flash games, board games, rpgs. Reviews, rating system, recommendation engine. tHis should cross platforms in the rec engine too and patterns might be detectable that if you like X flash game you might love Y MMORPG.

what makes a game addictive? is it different by gender?

Spore. Everyone hates ont he DRM. some are boycotting. Everyone likes the ideas in Spore!

Small companies can now build games very quickly because the game dev tools are better. Story about Artemis Software and their quake engine/ greek mythology game attempt. the tools weren’t there. Now, 3 or 4 people can get a game out in 4 months.

People customizing their wii avatars. body image and gaming discussion.

gamefaqs.com, defectiveyeti, metacritic, cerise, iris network, playrag, alltop gaming blogs, twop, scorehero (used to be good, then not enough moderation)
we want something like allrecipes.com but for games and strategy. Kongregate.

The best communities and information is built when there is strong moderation.

Rec of a game called Braid. (xbox.) it is back in the hands of the people.

Look on youtube for women gamers reviewing games.

Tomorrow: BSG, science fiction sessions!

There is more but i missed it while typing up my notes.

If you were at this session and are reading this (or weren’t but have something to say) please drop in more info and links to anything awesome and cool, in comments!!!

Related posts: