By zzolo
2009, November 25 - 6:35pm

Merci Beaucoup, Genève, pour Première Réunion Drupal! : Creating a Local Commnuity in Geneva

Sorry if French is bad. I have been kind of quiet for the past few months. This is because I have just moved from Minneapolis, US to Geneva, Switzerland to start work at Shelter Centre. It's a very exciting move for me for many reasons; but that isn't really the intention of this post.

Anyway, what is really amazing, is that after being here for only two weeks, (with a little bit of help) I was able to get almost 25 local people together for drinks and Drupal! How? About a month or so ago, I couldn't find any information on a Geneva Drupal meetup; so I started a thread to "announce" my migration and to see if anyone was interested in a meetup, and voila! We had a couple dozen wonderful people talking about Drupal tonight. Also, we had very good feedback, and should be able to make this a monthly thing. My sincerest apologies for not knowing French yet, but I am on my way.

I think it's really great to see how, even in this virtual Drupal community, there is still so much value and desire to get together with local people face to face. We had all types of Drupal people there, from people who have only heard of Drupal, people who just made their first node, to project managers, to developers, and to business owners and freelancers. There is a great community in Minneapolis and I hope I can bring that energy here to Geneva and make this a regular thing. There was even a joking mention of DrupalCon Lausanne (maybe in 2012).

If you are in the Geneva area, or in the greater Romandy (French-speaking Switzerland) region, please join up to the Switzerland group. I believe patchak asked for a new group for Switzerland-Romandy (hint, hint, nudge, nudge groups.drupal.org moderators); so look for that. Also, I will be posting a follow-up on the Switzerland group tomorrow to see how we want to proceed.

Thanks again!

By zzolo
2009, November 4 - 11:31pm

The Drupal Union : Talking About Our Drupal Jobs

As I prepare for my move to Switzerland to start my new job as Web Manager at Shelter Centre (many thanks to Eric at Development Seed), I am excited to be back in a position where I get to concentrate on one (or just a handful) of sites. Don't get me wrong, my time at Chicago Tech and Trellon over the past year and a half have been wonderful, and I have learned many things. But I am excited for the focus of a single project job.

My original intention with this post was to compare the difference between working at a Drupal shop, and working for a single Drupal project. But what it really comes down to is personal preference. Instead, I started to think about just the general idea of the quality of our Drupal jobs and how we, as community members, represent that quality. There are plenty of Drupal folks that don't make Drupal their means of making a living, but there is a large amount (majority even) that call Drupal our day (and night) job and are really happy about that. I sure am.

But I don't see this conversation out in the open. Maybe it is a cultural thing, or a contractual agreement, or maybe people just don't care, but there is no open discussion about what it's like being a Drupal employee. We talk about a lot of things, from code, to architecture, project management, drinking, community, minorities, respect, products, finances, and right back to code. And I think, indirectly, we all kind of put our woes and excitements about our jobs into the community in some form. But we still seem to be quiet about our jobs as Drupalers.

This post may be entitled "The Drupal Union", but I am not endorsing or condoning a Drupal Union. I simply feel that it would be nice to be able to openly discuss the things we love and hate about our Drupal jobs. Maybe, just given Drupal's success, it's safe to say that a Drupal job is heaven, but I think there is more to it and that its important to start these discussions out in the open.

By zzolo
2009, October 2 - 12:13am

Typekit, Drupal, and Web Typography : Semi-Revolutionary?

After reading Morten.dk's article on Typekit and looking a little further into Typekit, I got pretty excited. I put my email in for an invite, and either by some act of randomness or someone seeing my tweet, I got accepted today.

Typekit Drupal Module

Yes, I jumped on the Typekit Drupal module right away. It's real simple. It basically fills that need for site builders who don't want to edit their themes. It also allows you set the visibility of it, much like the block system (borrowed code directly). It's not going to win any awards, but it makes things a tad bit easier.

Semi-Revolutionary?

Just as a qualifier, I am not a designer and don't care that much about fonts and know little about the school of Typography. But! Typography has always been this chained up monster in the basement. I mean, back when the Internet started, all web pages were just text. And it's still true, most of what we put up on these crazy Internets is words. So, why has it been so difficult to get some nice looking words on our web pages, even after so many years?! Why do we have to keep Aladdin down in the basement, or just use his photo?

This is not anything I have a complete answer for, but one of the main reasons is licensing for fonts. There are a lot of fonts out there, but many of them have some sort of copyright or limiting license on them that keeps them from being fully embedded in websites. There may be some direct correlation with how the two main commercial operating systems have their own sets of licensed fonts, so browsers just got stuck in the middle. Either way, owner of fonts just don't want their fonts flailing in the cyber-wind, which is what some people see embedding fonts into websites might be.

This is where I think Typekit begins to bridge this gap of having no fun fonts on the web and having all fonts free and open-source (or some other solution). Typekit, like Cufon (which is awesome and has its own benefits), allows for easy embedding of fonts via Javascript and selectors, but the problem that Typekit solves is that it has already put together a number of fonts that are available for you to use by already adddressing the licensing issues with the fonts. These fonts are not "free", mind you, and Typekit's payment schemes have a little to be desired in my opinion. But you can have anywhere from what looks like 50 - 200 fonts that are provided from many different sources (I am assuming they will be adding more too). Typekit also has this fairly unobtrusive note in the corner of your site that links to information about the specifics fonts you are using (example), which is really awesome and fair for free use of cool fonts.

Typekit is not a good solution to our problem, but it is a good place to be for interim until we can actually address the real problems with licensing of fonts and typography on the web.

By zzolo
2009, September 24 - 5:05pm

Software: More Than Code? : Trying to Find Value of How We Code

I have always been a big supporter and advocate of making sure code is done correctly. I did a presentation at Drupal Camp Wisconsin this past summer about module building best practice which did not show any lines of code, but instead focused on testing, security, documentation, and community. I also put in a session for Paris, which did not get accepted, about similar things.

I recently went to the very informative Continuous Integration presentation in Paris. At that presentation there were a number of people that asked how long it took to setup the environment and the presenters had a number for it; but when I asked how much time it saved, there was no answer, not even the ability to estimate. And with some recent discussions I am having with some very respected people, I am unable to quantify the value of process.

I feel like its really hard to get metrics on how processes and methods really do make for better software. I feel like my heart is in the right place, but it seems so tough to be able to convince people that certain processes hold so much benefit over just having something work. So, how do we put specific value on these sort of things:

  • Documentation
  • Security
  • Automated Testing
  • Methodology (like Agile)
  • Open Source
  • Peer Review
  • Drupal Core Issue Queue
  • Coding Standards

It seems to be if people don't value these things, they don't do them. How can I convince people that these things are just as important as elegant code or the fact that it works (for now)?

By zzolo
2009, September 23 - 10:00pm

What is the Value of Process? : The Philosphy of Software

I am currently working on a project and we are having a bit of a dilemma about how to move the project forward. So, I thought I would write an article about it, post it out to this wonderful community, and maybe get some unbiased insight from some outsiders. I feel like myself and the others involved are all a little too invested to necessarily make the best decision; maybe I am being petty, irrational, or even short-sighted (hopefully you can let me know). You can read the original thread here, and I suggest you do so to get an accurate vision of this issue.

To me, the question is about the value of process over code and here is my story. And in reality it should not be a decision of one or the other.

The Situation

I am greatly going to simplify this situation in hopes to give a more accurate and unbiased view but there are plenty of details that are relevant to our actual discussion.

  • There is a module at version 1.0.
  • There is a group with a forked version with good code in it; we'll call it Cool-Code-X
  • We have decided to bring these together to create a version 2.0

The Decision

The question is how to bring things together.

  1. Option M: Start with version 1.0 and bring in Cool-Code-X changes to create version 2.0. This requires porting the changes in Cool-Code-2 to be ported into the 1.x.
  2. Option N: Start with Cool-Code-X and bring in 1.x changes to create version 2.0.
By zzolo
2009, August 20 - 8:33pm

Drupal and OpenLayers : We've Gone Beta! An In-Depth Look at the Drupal OpenLayers Module

We have just released the first beta of the Drupal OpenLayers module. It's been a pretty crazy adventure as to how we got here, and there are still high hopes for the future. This post is going to be a long one, and should give you the complete introduction to this new mapping module for Drupal, and will also build on and borrow from my previous post on building this module.

What is OpenLayers?

OpenLayers is a free, open-source Javascript library that provides an easy interface to bring together any sort of map tiles, markers, features, and other GIS goodness. OpenLayers was initially developed by MetaCarta; it is now a project of the Open Source Geospatial Foundation. Think Google Maps but open-source. The OpenLayers has many examples and a gallery of sites.

Where Drupal Fits In

Drupal is a great content management system and development framework. OpenLayers fits well into this because it basically is a really great visualization tool for content (the most obvious visualization being maps). Drupal can provide the ability to create and management data/content and OpenLayers can be a fun vehicle to displaying that content and provide a rich interface for your users.

Main Features and Modules

The Drupal OpenLayers module is actually a full suite of modules that provide many integration points with other contributed modules.

  • At is core, the OpenLayers API module provides just enough to take a map array in PHP and render it through hooks, pass it to javascript where it can interact with events, and display a working map to the page. The main API module also manages the basics of map presets.
  • The OpenLayers Preset User Interface module provides a web based interface to manage presets. Presets are basically just named map arrays that are either stored in code or in the database. With presets it becomes easy to provide interfaces to pick maps.
  • OpenLayers Layers modules provides a wide range of layers to use outside the simple default, like Yahoo, Google, OpenStreetMap tiles, and more. Layers can be manually put into map arrays, but with hooks, other modules can provided named layers that get put together when the map is rendered.
  • Much like the layers module, the OpenLayers Behaviors module provides a set of behavior add-ons that can easily be added to map arrays. These include things like feature controls, fullscreen controls, popups, and tooltips.
  • On the input side, there is the OpenLayers CCK module which provides integration with OpenLayers and CCK. This module provides a field and widget for basic WKT input, as well as a widget for the Geo module; both of which allow the user to use a map to enter features like points, lines, and polygons. On the formatter side, you can display any preset map for the field.
  • A simple way to display a map is to use the OpenLayers Filter module, which provides an input format filter where a user can input [openlayers preset_name] into the body content of a node and it will be rendered as that map.
  • Finally, there is a Views plugin provided by the OpenLayers Views module that allows the user to aggregate all kinds of Drupal data and put it into a map.
By zzolo
2009, August 8 - 2:19am

Friday Night Encryption : The scratching of a long time itch and securing data the Drupal way

Every once in awhile I will have a task that involves storing a password in the Drupal database, maybe so that a module can connect to a server or service. Unfortunately it is not secure to store sensitive information in the database unless it is encrypted. So tonight I wrote and released the Encrypt module

One-Way Encryption

Drupal core does store passwords in the database: the user passwords. But this is one-way encryption, or creating a hash, meaning that once encrypted there is no built-in way to retrieve the data that was hashed. You can only compare hashes, hence why Drupal does not allow you to retrieve a lost password, simply it offers the ability to reset it.

Two-Way Encryption

Two-way encryption, or just encryption is the idea of taking a message, altering it so that it is unrecognizable usually with some sort of key, then sending it someone that also shares that key and can decrypt the code to get the original message. There are many methods of encryption, and it's hard to know what method is best.

Why do we need encryption? Well, let's take for instance the example above. I want the user to enter in their password for an FTP site so that I can get some files from it once a day. But, I don't want the user to have to come to the site and enter in their password every day to do this. Ideally I want to be able to store that password and retrieve it when I need it. This is where encryption comes in.

By zzolo
2009, June 21 - 10:22pm

The Fourth Annual RhuBarBeQue June 2009 : The Fourth Celebration of Rhubarb at Fort Awesome

A few weeks ago we had the fourth annual RhuBarBeQue. It was cold and rainy like last year, but we still had some great times and some fantastic rhubarb dishes.

  • Apricot ginger rhubarbeque sauce
  • Three pepper rhubarbeque sauce (hot!)
  • Sweet and sour tempeh cabbage with pineapple-rhubarb sauce.
  • Garlic-rhubarb vinaigrette
  • Asparagus and tofu with rhubarb glaze
  • Rhubarb cookies
  • Rhubarb crunch
  • Rhubarb pilaf
  • Sweet, sweet rhubarb compote
  • Rhubarb cake
  • Rhubarb bars
  • Rhubarb bread
  • Rhubarb old-fashioneds
By zzolo
2009, May 27 - 10:41am

Geo June : A Month of Drupal Geo GIS Goodnes

June 2009 is Geo June, which is a campaign to organized by Advantage Labs to make a concentrated effort to stabilize the Geo Module and push towards Drupal as a GeoCMS.

What is Geo and Why is it Useful?

Geo is mainly a storage layer to hold geospatial data. What does that mean? Well, we all know about points such as latitude and longitude, but Geo helps to store other data such as lines and polygons.

Geo standardizes how all this data is stored, which is extremely helpful for modules, such as Location to store data and have the heavy lifting done for it, and makes it easy for modules such as Gmap, NIceMap, and Mapstraction to easily retrieve and display that data in lots of fun ways. Geo also provides a database abstraction layer to work with both PostGIS and MySQL Spatial.

Still not convinced of it's awesomeness, well then think Mashups! Though I am not a fan of the term, Map Mashups are all the rage and for good reason (data visualization is a great way to communicate large sets of data). By standardizing Drupal's GIS storage, it will be exponentially easier to integrate (i.e. mashup) data from your site with all those exciting external sources of data. Don't think you can collect geospatial data? Think again, more interweb explorers are becoming a lot more spatially aware and want their data represented in the context of our world. And even with lots of new open data, there are still lots of reasons to store that spatial data directly on your site.

There are many other use cases at this wiki page (feel free to add).

Events and Getting Involved

If you are interested in getting involved, go here. Some of the events going on or ways to participate:

  • Geo June Kickoff Barbecue, June 1: A decidedly offline event in Minneapolis
  • Join the daily IRC Meetups, June 1-30 : Meet in #drupal-geo from 10AM-11AM CST
  • Blog in June about Drupal geo projects and Drupal as a GeoCMS
  • Participate in the community.
  • Participate in the TC Drupal Documentation Sprint. June 20
  • Organize other events locally or online, dealing with any type of Mapping or Geospatial activities in Drupal.
  • Contribute financially
  • Join us at the release party! June 30

OpenLayers

Another goal of Geo June is for the OpenLayers Drupal Module to release a 1.0 (though I would be happy with a beta, personally). We have been really busy developing this module. It's fairly stable at the moment, but needs lots of cleaning up. We welcome testing and reporting bugs.

The Future

Drupal has always been good at being current with new technologies and this is an opportunity to continue that tradition. Geo is the building block for realizing Drupal as a GeoCMS, meaning that Drupal can consume, produce, collect, aggregate, display, cuddle, and mash geospatial data in a user-friendly (and developer-friendly) way. I personally don't know of anything that can currently be compared as a GeoCMS, and even with a stable Geo, we still have a long way to go, but I would love to see Drupal be the first GeoCMS.

By zzolo
2009, May 26 - 8:33pm

Twin Cities Documentation Sprint : A Midwest Drupal Documentation Day on June 20, 2009

On Saturday 2009 June 20, the Twin Cities Documentation Sprint (that's the twin cities of Minneapolis and Saint Paul in Minnesota, USA) will happen from 10AM through 5PM CST being held at Advantage Labs with sponsorships from fivefivefour and Gorton Studios. This event was crowd-sourced at one of our meeting.

We are still figuring out what areas we can focus on, but we don't actually need a specific agenda. If you have some documentation requests, please leave a comment. There will also be some members in the #drupal-docs IRC channel as well.

Haiku and a Portrait

The Uncertainty Principle
The last moments of 2009

Floating on the air
everywhere and somewhere,
nowhere, only here.

Recent Books

Freakonomics Cover (cherryhillbooks.com/images/books/freakonomics.jpg)
Development as Freedom cover by Cover Browser (http://www.coverbrowser.com/image/bestsellers-2007/2013-1.jpg)
Pro Drupal Development: Second Edition Cover from Cover Browser (http://www.coverbrowser.com/image/bestsellers-2007/3532-1.jpg)
Pro JS Techniques Cover from eBook Networking (http://www.ebooknetworking.com/books/159/059/big1590597273.jpg)
Snow Crash Cover taken from CyperPunkReview (http://www.cyberpunkreview.com/images_books/SnowCrash.jpg)
Designing Interfaces Cover Image from textbooksrus.com
Cover image of Dreaming in Code (taken from Amazon)

The Tweet of Zzolo

  • Drupal Camp Spain, lookout! Zzolo's coming to Barcelona! http://drupalcamp.es/
    1 day 5 hours ago
  • @pcambra Yeah! Just booked my plane ticket. Now looking for cheap accomodations near the Camp. Any ideas?
    1 day 5 hours ago
  • @theunraveler dont forget to allow access to anonymous users. We like the API as well.
    1 day 16 hours ago
  • Worldwide Drupal Happy Hour! It's awesome to see how my simple idea of regularly drinking and Drupal proliferates. http://zroger.com/node/33
    3 days 8 hours ago
  • Thanks /usr/share/calendar (though you may be wrong sometimes): Feliz Constiution Day, Mexico!
    3 days 15 hours ago

Twitter Icon Flickr Icon LinkedIn Icon Facebook Icon Drupal Association, Individual Member icon