How did I miss the FOSSCamp in October 2007? I attended both BarCamps and PodCamps in Boston, but somehow this one did not get on my radar screen. There were many attendees from Ubuntu (including Mr. Ubuntu himself – Mark Shuttleworth!), Red Hat, KDE, Novell, etc. but strangely there is no record of the schedule or materials from the unconference. Although I did find a snapshot of the handwritten schedule board here and here. Oh well, consider this blog post a reminder to attend the next one, assuming that it’s repeated next year.
If you wear glasses like me, sometimes you misplace them and you find yourself in a dire predicament: How do you find your glasses if you can’t see without them? I just discovered this howto video which explains how to make emergency glasses out of a leaf or a piece of paper. I tried it, and it works!
I’ve written in the past about the idea of fostering sub-communities within the greater Plone community, and after some recent developments, I’d like to revisit this discussion and invite you to get involved in making this happen.
First, a brief history:
Back when I was working at Learning Lab Denmark in 2003, I had the privilege of attending the Plone educational sprint in Paderborn, Germany. Not only was I introduced to the German tradition of drinking large Hefeweisen beers everyday for lunch, but it was also one of my first introductions to the Plone community and the concept of sprinting. I had attended my first sprint, the Castle Sprint, only weeks before in Austria.
At the educational sprint, I met Raphael Ritz, who took on the challenge of converting his CMFBibliography product to Archetypes, which consequently resulted in a name change to CMFBlbliographyAT. Archetypes was still relatively new at the time, but Raphael successfully got it working by the end of the sprint. I remember being quite impressed by his programming prowess since he was not trained as a computer scientist but as a neuroscientist.
At Learning Lab, we ended up using CMFBibliographyAT extensively to catalog our researchers’ articles. This was how I justified to my boss at the time, that attending sprints was well worth the investment. Being able to meet and work directly with the product author and in many cases influence and shape the direction of the software is just one of the many benefits of participating in a developer sprint.
Another initiative was underway at the Educational sprint, and that was the EduPlone project. This project originated in Austria and unfortunately never really made much of an impact, presumably because it’s main focus was on using Plone to build a learning management system (LMS), and not a general purpose distribution of Plone for educational institutions.
The last release of EduPlone on sourceforge site was in 2004, and the Eduplone.net and Eduplone.org domain names have since been snatched up by domain squatters, so I think its pretty safe to say that EduPlone is dead. RIP.
Just a few months before the Educational sprint, there were murmurings on the plone.educational mailing list about creating a special distribution of Plone for educational institutions. Sadly, like so many great ideas, without a champion to cultivate and nurture the idea, it fizzled and died.
Fast forward to 2007…
During the Plone Conference 2007 in Naples, Andreas Jung organized a Birds of a Feather (BoF) session he aptly titled Plone4Universities, and cited the Plone4Artists project as inspiration for the idea. On the following day, Andreas summarized the BoF with a 5 min lightning talk about the new Plone4Universities project.
As result of this very popular BoF, the Plone4Universities project was founded. The launch of P4U generated a lot of buzz and now provides a forum for those working in education to rally around a common purpose. Thanks to Andreas, we are making progress towards unity!
Just weeks after the Plone4Universities project was launched, Enfold Systems hosted a Ploneability Higher Ed event in Texas focusing on Plone in higher education. The event had over 40 attendees and resulted in a wealth of presentation materials.
Shortly after the Ploneability conference, Jordan Carswell offered to donate the domain name Plone4Edu to the cause, and rename Plone4Universities to Plone4Edu since it was more representative of the Plone in education effort, not limiting it to just universities.
What this activity indicates to me is that there is a strong demand for using Plone in educational institutions. However, many educational institutions lack the IT staff and resources to go through the lengthy process of evaluating Plone and the various add-on products to see which ones are right for their university. There has to be a way to bootstrap these universities, so that they can get a better feel for Plone’s power and how it can be used to serve their needs.
A proposal to create a Plone4Edu buildout.
I’d like to propose that as part of the Plone4Edu initiative, a buildout is created with a collection of products suitable for the educational audience. The purpose is not to provide a complete solution, but to make a convenient package of the most common add-on products for Plone, that would appeal to an evaluator from the education sector.
So how do you make a buildout?
There are already a number of buildouts available for Plone, to name a couple: PloneGetPaid buildout and Plone4Artists buildout This is probably a good place to start if you want to see how to make your own buildout.
Martin Aspeli, author of Professional Plone Development has a chapter about creating buildouts in his book. He’s also written a howto in the plone.org documentation center called Managing projects with zc.buildout.Â Also, see the comprehensive documentation about zc.buildout on the Python cheeseshop.
We need to give some more thought to how to make these buildouts more accessible, since right now they are geared more towards the developer. Anyone have some thoughts along these lines?
Stephan Richter just alerted me to a new CMS that has been developed in Zope 3. Mikhail Kashkin from Key Solutions (a Russian company) reported on the Zope developers list that they are developing a Zope3-based CMS called Hivurt and some of the components are already available on their SVN repository.
All of the documentation is only in Russian, but Stephan said that they are busy translating it to English. A Google search brought up this code repository on code.google.com so that may be the future home of the English translated code and documentation.
Looking at the screenshots, I can’t but help observe that the UI looks surprisingly similar to Plone/CMF with a “contents” tab, and “add” and “actions” dropdown menus. Although given that it’s built on top of pure Zope 3, I’m guessing that it’s much faster than Plone. It will also be interesting to see what functionality is missing from Hivurt that comes out-of-the-box with Plone.
According to this newsitem, Sportbox.ru is the first major site built using Hivurt CMS. Sportbox.ru is the official website of TC â€œSportâ€ â€“ Russiaâ€™s “most reliable sport news supplier.” Its potential audience in Russia is 62 million people living in 72 regions of Russian Federation.
Hivurt sounds like a very promising CMS and a welcome addition to the Zope 3 community. We’re looking forward to seeing the English documentation and trying it out!
Blogged with Flock
This is a pretty cool extension that allows you to switch rendering engine for any tab from within Firefox. Basically, you can view any page in Firefox either using the native Firefox rendering engine, or you can use IE to render the same page without having to leave Firefox. The best part is that you can still use all your cool Firefox debugging tools (Firebug, Yslowâ€¦) when you are using the IE rendering engine. For Windows only. IE Tab :: Firefox Add-ons
Blogged with Flock
Now there’s an alternative to the Greyhound and Fung Wah bus service between Boston and New York City. Vamoose offers free complimentary WiFi service on the bus! Limoliner also has WiFi access, but Vamoose is cheaper at $22 one way. They also have guaranteed seating when you call in advance. found via Boston Knows
Since the iPhone still doesn’t let you share it’s EDGE connection with a laptop computer, having WiFi on the bus would be very handy. And even if I were to hack my iPhone share its EDGE connection to get Internet on my Macbook, it would still be much slower than WiFi.
I’ve been meaning to get down to NYC to visit friends, and now I have one more reason to make the trip. I can be connected during the 8-9 hrs spent on the bus!
Blogged with Flock
I’m taking care of my friend Dan’s parrot. His name is Chicken because he clucks like a chicken. He has beautiful green feathers and a yellow crest. He sits in his cage and looks very intently at me, maybe trying to figure out what could possibly be so interesting about a piece of metal that I’m staring at all day. Parrots are intriguing creatures, highly intelligent, they use their beak as if it were a third claw, gripping the side of the cage to navigate around.
Today I opened the door to his cage to see if he wanted to come out to explore the apartment. I tried to coax him out with a cashew, one of his favorite snacks. Strangely enough, he remained in the cage, even when I went out for the evening, he did not venture from his perch.
I wonder if this is a common trait of all living creatures, including us humans. Even when the door is opened to us, inviting us to come and explore another world, that is both exciting but also scary, we choose to remain in the cage where we are comfortable and safe. Sometimes we don’t even realize that we are in a cage, because we have grown so accustomed to “the way things are”. We don’t dare venture outside this cage because it requires a leap of faith, and quite frankly, we are too chicken to make that jump.
Tonight I took a step back to evaluate what my personal and professional goals are, and came to the conclusion that I don’t want to be consulting for the rest of my life. It’s been coming more and more apparent over the last year or so, but recently (maybe due to the inspiring people I met at Podcamp Boston) I’ve come to realize that I dislike having to sell new project work all the time. There is something very gratifying about doing a client project well, and pleasing your customer, but I don’t think it compares to passionately doing your own thing. So what if it fails – at least you have tried. And the worst case is that I have to go back to consulting – I know I can make a living at it.
From Jay Dedman, one of the creators of FireAnt, a videoblog aggregator tool:
So I guess I become one of many software entrepreneurs who pass on this advice: Do it for as long as you can on your own. Success is definitely about good ideas, team, and execution…but it’s also all about contacts and luck. Don’t believe the hype of quick riches. haha and trust yourself.
I’m thinking about these things right now as I contemplate my next move. It’s a common theme that has been echoed in the Founders At Work book and other people I’ve spoken to at conferences, SXSW and other tech events. Do it by yourself as long as you can, and it will be obvious when you need to go for funding. Read Jessica Livingston’s interview with Joel Spolsky, founder of FogBugz. Joel says:
37Signals has also succeeded in going from a consulting company to a products company, and report that it was a gradual process, one day at a time. They didn’t just cut off all of their consulting customers from one day to the next.
Basecamp was developed alongside client work and was treated as essentially a third client. It had to compete for resources on equal footing with other clients, which meant that every hour we spent on it had to really count. With constrained resources, you realize the value of the marginal hour very quickly. You can’t just goof around with science projects, open-ended explorations, and play time with new whiz-bang technology. Instead, you have to deliver real value, real soon. Otherwise the project is simply going to languish as it loses out to the “real work” of paying clients.
Digesting these words is encouraging as I make the decision to not take on any additional client work, but to maintain on our existing clients, and focus on building the products and services that I want to offer. More on that later. Thanks to these webpreneurs for sharing their insight, and thanks to Chicken for being a mirror of the chicken that is me sometimes.
Facebook Music will essentially be a way for musicians (or their labels) to create their own fan pages just like on MySpace, each with a separate sub-domain within Facebook. Facebook members will be able to join any artist’s network as a “fan”. This will be similar to joining a group, but centered around music. Members will be able to listen to streamed songs, watch videos, add music to their own pages, find out about upcoming tours, and meet other fans. Facebook is also supposedly working on sales widgets for these pages (to be introduced at a later date) so that artists can sell downloads directly through Facebook.
It will be interesting to see how this stacks up against MySpace, and if bands will move their web presence from MySpace to Facebook. Many bands don’t even have their own website these days, and prefer to just use their MySpace page as their “homepage”. This is really silly because you’re essentially giving MySpace all of your traffic, and making your fans look at all those banner ads.
As Christopher Penn said at Podcamp this weekend, you don’t want to build your house at the intersection of major highways, but you want to post billboards to direct traffic to your own home on the web. In other words, use these sites to promote your own website, but don’t give all of your content to them.
Ever since Facebook opened up it’s platform up to developers, we’ve seen a plethora of interesting apps created for Facebook. This was a brilliant move on the part of Facebook, because it means there is now a way for 3rd party developers to tap into a huge existing social network, one that is growing at a phenomenal rate:
- 350,000 new users per day
- 50 million users
- # of users double every 6 months
- average person spends 21.5 min on the site
- 65% come back the next day
It will be interesting to see what happens with Google’s OpenSocial which launches tomorrow. Apparently, it provides a common set of APIs for accessing social networking data.
If I’m building a social networking app for musicians/bands today, I don’t think I necessarily want to be tied to one particular platform which may go out-of-style tomorrow. Can anyone say Friendster?
I’m doing some testing of a Plone site locally on my Mac, and I want to test the registration process. This requires that I have a mail server such as postfix running on my Mac, listening on port 25. Tiger ships with Postfix but it’s disabled by default. I found these instructions for enabling Postfix, so I can now send emails from this local mail server.
This also comes in handy when you are trying to send email from Mail.app or Thunderbird and the network you are on is blocking traffic to port 25. If you run a local mail server, then you can avoid this problem. But be aware that some anti-spam tools will try to do reverse IP lookup, and if they don’t find a fully qualified domain name for your machine, it’s likely that the message will get flagged as spam.
In this case, you can setup an SSH tunnel over a port that is open, and route your SMTP traffic over the SSH tunnel.
All of us have books that sit on shelves, doing nothing for anyone but collecting dust. I have some books that I have read several times, some others that I have read once, and still others that I have never read. I buy books them because I intend on reading them… some day. But no matter how voracious a reader you are, you can’t possible read all of your books simultaneously which means that there are a great many books that are simply being unused. All that knowledge trapped inside a bound volume just waiting to reveal itself to an open mind.
There are some books that you’d like to share with others, but unlike music or videos which can be digitized and easily replicated, a book is a physical object and only one person can have that copy. It’s quite time consuming to scan in every page, although that didn’t stop someone from scanning in the latest Harry Potter book to make it more widely available. So why are we reluctant sometimes to lend a book? Well, it’s a finite resource so if you give it to someone, you can’t use it until they give it back. Even worse, what if you forget who you gave it to, or you remember but they never give it back.
This was the problem that faced Luciano Ramalho, a Brazilian Zope developer and trainer and student of library science. I stayed with him in his modest sized apartment in SÃ£o Paulo last week, and observed that his study was lined floor-to-ceiling with books. Luciano is truly a lover of books. And he wanted to be able to share them with his friends and colleagues but needed a way to keep track of who had which book and how long they had it.
So he scratched this itch and developed Kirbi, as part of a Google Summer of Code project. Kirbi is a web application to allow anyone to turn their personal book collection into a lending library, making book sharing among friends and colleagues easier and safer. Kirbi was created using Grok, a web application framework based on Zope 3.
“As a library sciences student, I designed [it] to increase the reuse of books, foster the exchange of reading experiences, and make books more accessible to all, particularly in developing countries.” -Luciano Ramalho
What makes it different?
There are similar initiatives such as Bookcrossing, but Luciano explains that with Bookcrossing there is very little incentive to keep these books in the system. They usually get left somewhere and forgotten. With this peer-to-peer library system that he has envisioned, you are borrowing books from your friends, so there is a personal connection and accountability to return the book or recirculate it.
Another similar project is Lovely Books, developed by Lovely Systems another Zope 3 development company in Austria. Luciano explained that there are many of these such sites, but they are mostly focused on letting the users show off their book collection, but not actively share these books physically with each other.
Kirbi works more like your public library in which you can request a book from someone in the network, and then set a time and a place to do the handoff. But in this case, the library is peer-to-peer and not centralized. You are more likely to have books that your friends want, and vice versa because you have similar interests. Luciano recommended a book by Yochai Benkler called, “The Wealth of Networks: How Social Production Transforms Markets and Freedom” (Yochai Benkler) which talks more about this idea. This book was already in my Amazon.com wishlist, but like so many other books, I have yet to read it.
Try it out!
Luciano has already developed a prototype demo site at Circulante.org where you can create a free account and try out the system. He’s made it very easy to add new books just by typing in the ISBN number, but has plans in the future to make it even easier by scanning the barcode on the back of the book using your computer’s webcam, similar to how the desktop software Delicious Library does it.
I’ve been thinking that my company, Jazkarta, could use this peer-to-peer library software. We all have books that each other would probably like to read, but we often don’t know that someone we know has the book that we want. The only problem in our case is that since we are spread out, the opportunities to physically hand-off the book are very seldom. We see each other at sprints and conferences and then we might not see each other again for months. But this may be okay for some books to loan them for this long.
If you start thinking about all the communities you are in and the people with whom you may want to share books: your apartment building, your church, your workplace, a neighborhood association, etc. There are ample opportunities to expand the number of people who could participate and share their books.
Developers get involved!
I think this is a really great idea and is the first real public example of a feature-rich web application built with Grok. Luciano is seeking others who would like to contribute to the project. It’s a great way to learn more about Grok / Zope 3. You can find the code in the Launchpad Bazaar repository or in the svn repo on Zope.org. I recorded a video of Luciano talking more about Kirbi and Grok and will post it as soon as I get caught up on things.