Archive for the 'Code' Category

How to start programming in rails 3, in windows

I really, really liked rails 3. So much, I tried really hard to use it in another project… and failed.

Well, among other things, most people use Microsoft Windows out there. And they find extremely difficult unix-style installations. For me, it’s natural the solution of installing libssl-dev and rebuilding ruby when “gem install” fails because an error ocurrs in net/https. But normal people don’t.

So, if you are running Windows this howto is for you.

Continue reading ‘How to start programming in rails 3, in windows’

How to start programming in rails 3

Although I have no news about the perfect web application technology quest, I have been experimenting with a lot of frameworks (like Google Web Toolkit and Cappuccino) during the last 6 months… just didn’t got the time to post about my findings or even start the sample application.

Last week I started a REAL project using Ruby on Rails 3. The first two hours was quite exciting, but after a while I realized that all examples/docs/podcasts/guides were made with the 2.x versions in mind. Everything requires several adjustments for the new 3.0 rails version.

So, I’m beginning to document step-by-step instructions on how to start programming in the shiny new rails 3. Continue reading ‘How to start programming in rails 3′

The perfect web application technology, part 3: the test application

Well, I gave up and ended using balsamiq (free) web interface.

In the mean time, I realized that finding the perfect web application technology could easily become a huge, really really huge project (Leo say something like ‘I was trying to fix the world’… that sounds huge!). And my fears of not finishing it all by myself in my spare/free/study/procastination time just appeared. So, I’m taking two strategies for this:

  1. So many girls, so little time! I’ll start with something small, then grow as necessary: I mean, I will start with only one of the major functionalities I have in my mind for the test application, later I will cover the rest or improve the existing ones.
  2. Ask for help: Please, you are already invited into this quest: talk to me, send me patches, re-create this application in the technology of your choice, fixs my bugs or find better ways of doing things, etc. Thanks!

So, functional requirements: here we go!

Continue reading ‘The perfect web application technology, part 3: the test application’

The perfect web application technology, part 2: Common Web Apps Requirements

So, to find the perfect web technology we need a typical web application. In this post, I’m trying to figure out the minimal or common requirements of a typical web application.

As I said, I think most developers never consider all the gotchas of doing an application using web technologies. The following requirements may look like a little too much for “just a web application”, but I think this is the real minimum of any web application, no matter the ‘size’.

Continue reading ‘The perfect web application technology, part 2: Common Web Apps Requirements’

The perfect web application technology, part 1: Motivation

This will be a big quest: search, understand, test and evaluate all major web technologies available today. In this first post I will try to summarize the motivations for this little project.

I will post subsequent entries for each major technology that can be used to build a web application, including source code. You are invited to participate: tell me what technology I’m missing, send me patches or fixes, or… whatever you may like to do.

Continue reading ‘The perfect web application technology, part 1: Motivation’

Getting current file position from a running process

That was my question in the local linux mailinglist. I received some interesting responses, but while I was writing my own solution (a kernel module that dumps the struct *file->pos) I found that this is already implemented!

Continue reading ‘Getting current file position from a running process’

The quest for the perfect python enum/constant declaration, Part 2

Well, I’ve ended my own implementation of enum. This does not make me proud neither is something I like, particularly because it’s huge for something that I think should be more simple or part of the language. One hint for this is the many enum-like solutions you can find around the net. Some are simple and clean, but none provides all the features I need.

Anyhow, the module is pretty cool and does everything I ever wanted. From the first part:

  1. An easy way to declare a type with a set of related constants: a name and an (integer) value
  2. An easy way to convert a constant from its value to its name, and vice-versa.
  3. An easy way to declare sequence-based constants and bit-based flag constants.
  4. The type must not be immutable: new constants may be added later.

Continue reading ‘The quest for the perfect python enum/constant declaration, Part 2′

The quest for the perfect python enum/constant declaration, Part 1

Updated: python code in the following post.

As you may know, Python is such a great language: it is really well designed from the start! One example of this is that most common and useful data types are part of the main language (list, dictionaries, sets, you name it), instead of being an “add-on” or library implementation as seen in most programming languages (like collections in Java, and not to mention C and the lack of these).

However, one data type that developers always are missing is the C-equivalent enum.

Continue reading ‘The quest for the perfect python enum/constant declaration, Part 1′