Skip to main content

The Event I Wish Existed

I spent a long weeked at PyCamp. It was awesome. How could spending 4 days with 50 geeks hacking things and programming python not be awesome. But I was alone, because really, my wife (a lawyer) and son (too young to code yet) would have been bored to tears.

And I know something similar happened to a bunch of others there. Let's face it, we geeks are getting older. While there is still an influx of young people, we old ones are refusing to go away, and we are now married, and have kids, and leaving for days is unfair to our families.

So, I wish there was an event where I could go and do this, while my wife could go as well, and my son too, and there would be something for everyone. Maybe we would not hack all day long, but just half a day. Maybe we wuold hack more games and then beta test them on the kids.

One good thing about kids is that once you cross a certain threshold, in a controlled environment, the need for adult monitoring decreases. In m experience, 1 kid needs 1 adult, 2 kids need 1.5, and 5 kids need .5 adults.

The board games at night would be inclusive (my wife likes role games, for example), the juggling classes could include kids, people could work on artwork... I don't know, do things that are not exclusively hacking. I love hacking but it's a smaller part of my life than it was in the past.

So, anyone has any good ideas? Know of such a place or event?

Programando Cross-Platform

Sorry again, spanish only, because it's another video of me speaking in spanish (this time with a spaniard)

Si querés tener muchos usuarios de tu programa, es fundamental que el universo de "gente que puede usar el programa" sea lo más grande posible. El mejor camino para ello es hacer que el sistema operativo que usa/sufre tu potencial usuario esté soportado. Hacer eso no es increíblemente difícil, pero siempre hay alguna cosa rara. La conferencia tuvo lugar en la ciudad de Junín ( Buenos Aires, Argentina ) en Septiembre de 2011, y fué organizada por PyAr ( Python Argentina ).



Nikola-as-a-service demo

One of the things I hacked at during this PyCamp is trying to figure out a nice workflow for Nikola, something that will enable users that are not so technical, to use it.

One first step is Nikola-as-a-service, which is meant for technical users anyway but lays down the infrastructure for this to work semi-nicely.

In the video below, you will see me do this:

  • Go to GitHub

  • Take a starter's blog I provided, and do a clone

  • Go to the nikola-as-a-service site, and login (via twitter)

  • Create a site using my fork's repo URL

  • Get a "webhook" URL, and add it to my fork's admin as a post-commit hook

  • Edit a file in github's web UI and commit it (you can of course just push from any github client)

  • Automatically, the site nikola-as-a-service publishes gets updated.

Please don't try to use this service yet because:

  1. It's running in a $4.50/month server

  2. It's the same server my own blog uses

  3. I will turn it off, delete everything, etc. every once in a while

  4. I am editing the code on the server, so no guarantees it will not just stop working.

So, here's the video:

PyCamp 2012 - Day 3

So, day 3 and next-to-last of PyCamp is done.

  • Great day, sunny, not all that cold

  • Empanadas at lunch, pizza for dinner, cake for tea. Feeling kinda spoiled today.

  • Lots of hacking at Nikola-as-a-service (details below)

  • PyAr meeting by a huge, somewhat scary bonfire earlier tonight

So: Nikola-as-a-service is an idea where you can keep your blog somewhere, and this service will get the data, and publish a nice site for you.

Here's the current workflow, which is just one of a dozen that can be implemented because this thing is quite simple:

  1. The authenticator

    Currently it has twitter authentication. You never need to create an account, just login with some service you already have accounts with. Anything with OAuth will work.

  2. The data provider

    Currently, github. Soon, Ubuntu One. Later, who knows. A data provider is something from where we can grab data, and that can notify us (automatically or by having the user click on a button) when we should get that data and rebuild the site.

  3. The renderer

    I am doing it with Nikola, of course :-)

  4. The infrastructure

    Jobs using Redis and Celery, server app using Flask, rendering using Nikola

  5. How does it work?

    You go to github, clone a barebones blog. Do your modifications. Go to nikola-as-a-service, and login via something. Then you give Nikola your github repo's URL, and you get a webhook URL. Go back to github, and configure the webhook.

    From that moment on, every time you push to github, your blog is updated :-)

    In the future: every time you save to Ubuntu One, your blog is updated. In the further future: Every time you X to Y, your blog is updated.

It's going to be cool :-)

PyCamp 2012: Day 2

Finishing Day 2, here's the update.

That is one large spider, dude.

  • Woke up 10 time because David Litvak doesn't know how to turn off his alarm. Now hating "Good Day Sunshine" by The Beatles. Sorry Ringo!

  • Learned about Celery/Flask/Juggernaut. Tomorrow will try to hack on the Nikola server idea using that. Hugo Ruscitti already did a lot of work!

  • Helped Martín Gaitán do Nikola gallery improvements (looking much nicer now!)

  • Implemented code listings for Nikola

  • Had a huge spider walk up my leg.

  • Had asado for dinner!

  • Played with remote controlled cars.

  • Saw a guy juggle while riding a monocycle

  • Played in the ping pong tournament (record 1-1, out in the group phase)

  • Fixed a bunch of bugs that popped while implementing stuff.

Tomorrow: will hack all day in the nikola hosting idea.

New Nikola Feature: code listings

This is a new feature in Nikola, my static website and blog generator.

It's aimed at showing pieces of files in the posts, and giving you a link to the full file, does reasonable syntax highlight thanks to pygments, and the syntax for embedding in your posts is not excessively awful, so I can use it for some of my tutorial / book projects.

Here's an example:

.. listing:: python
   :start-at: def compile_html
   :end-before: output =

System Message: ERROR/3 (<string>, line 14)

Error in "listing" directive: unknown option: "start-at".

.. listing:: python
    :start-at: def compile_html
    :end-before: output =

This is not merged into master yet, but should be soon.

PyCamp Day 1

Going to sleep, so here's a quick rundown of my 1st day at Pycamp:

  • Woke up at 6AM, and after taking trains, buses and automobiles, arrived around noon. Place is nice, wheather is cold. Beds are bunks.

  • Presented ideas, voted working slots

  • Implemented a Nikola feature to get themes from

  • Implemented first draft of pipelines for post-processing generated files

  • Martín Gaitán is working on improving the image galleries

  • Hugo Ruscitti is doing some celery+flask magic to create a Nikola hosting service

  • Had fun with lots of other things and talking with a lot of people.

  • Played some table tennis (won 1, lost 1)

  • Got a firefox t-shirt

  • Got a Ninja-IDE mug that changes colour with temperature.

Now, exhausted, going to bed.