Financial engineering your way to startup your business

Ok one topic that I seldomly aboard during my interventions at some of my geek meetings I have down here in cancun is the topic about fund raising for enterprising. And here is a topic that I am usually appealed but really never confronted or at least be able to debate. The topic lies on the lack of knowledge and over simplification on the way of getting money.

Like I said in the past, most people here reffer to their government for everything. Entrepreneurial topics are full of governemnt funded as a valid and almost unique way of getting capital. Most mexicans believe that their government will take care of them and they are in the obligation of providing the means to encourage prosperity.

I usually I am dettached from these talks maybe for cultural reasons. However also for susteinability reasoning. Most of the times, liberalistic U.S. mentality of self sustainability, avoid any contact if possible with governments as they are just a way to stumble and delay things from happening thanks to their infinite ammount of bureacracy.

But comming back to the topic, financial engineering is basically the term that I have used to categorize topics related to capital raising for business development. Financial engineering will try to refine these efforts into “out of the box” systems that allow the company or rather entrepeneur to get a way with cheap money to build infrastructure.

One of the blame that I put on traditional way of doing business is that people don’t pay much mind about how to work with money. Money is seen some times as the goal but very little time is spent on understanding money as a tool. From credit, to venture capital, to investments to financials are topics that most people in general entrpeneurs or else avoid at all cost. There is these feeling of finance is about math and for that we don’t want to deal with it because is very scary.

However financial engineering really deals with processes and ways to build cash flow pipes and techniques to acquire resources.

I would be the first one to say that I don’t know about these processes but this is why I want to raise the topic everywhere I go and I am facinated by it. Because of the potentials that these practices gives to people is why we want to have some kind of experiences and case studies and test it in a regional context. To be honest most of these “out of the box” models are also seen as “out of the law”, and a risky business. Lack of understanding also big failures on money laundry and such have given people even less interest to understand it.

So this is why engineering word comes through, because is not just about understanding and master it, but also to modify them, refine them and adapt them to each social structure.

Here are some of the models that I have seen in the past:

  • Angel investments, yes they do exist, but how to find it is the big variable here.
  • MLM, also known as piramid marketing is widely used but also very bad seen.
  • Poncey scheme models, also very risky business, borrow petter to pay john, is something that might not work in the long term, but it does provide some quick capital to at least get yourself started.
  • P2P credit systems, this is a new one, and is a form of angel investment but distributed, this is also what kickstarter have inspired so many people before
  • Asset protection, not really a financial engineer topic more than a asset protection startegy
  • Freemium models, also not a financial engineer topic but a business development strategy and case study nonetheless

I am still in a early search and to be honest I havent really asked google except a few times, but these type  of topics is something that I would love to exchange with people that know a bit more about them.

Happy Bday Linux

I'll be celebrating 20 years of Linux withThe Linux Foundation!

Just want to wish the Linux  kernel  a happy 20th anniversary

So I will talk a bit about my beginings with Linux, when I first knew about Linux and how I became to care for it.

I learned about Linux back in 97 where a computer magazine annouced their Red Hat version 3 in a magazine. This was the first Red Hat as opposed to RHEL.

However even thought I bought the magazine (or was it my brother) and actually got the CD in and start looking at what it had. I realize I need to errase all my data. Since I didnt had a CD burner it will take me a long time, which I wasn’t up to. So I left it alone and focus on watching and reading about it in the magazine.

In college my laptop got screwed and buying a new laptop I decided to give Linux a try. That’s when I start asking and talking about Linux to my internship mentors. They had Linux on their data center and want it to try it. Then like any other geek I did what most geeks do. Download every possible version of Linux and want it to emulate all the different distros and have an external Hard disk that will save a vm store of different distros.

Fast forward to my move to Boston and start attending the MIT BLU which gave me a great insight into what Linux really was and how hardcore the technology was. That turned me on and start selling me into Linux. I start listening to the linux show podcast (not the linux action show). Years passed and I was an avid fan and start digging around the groups and reading ebooks about linux. Even was so eager to get a Linux Red Hat certification video tutorial from IRC. But the 3.5 GB put me a bit off.

Eventually I move to New York and start going to all these different Linux groups and events including the NYPC, the NYLUG, the LinuxWorld Conference and so on. When I came back to Mexico I started my own Linux group called GULTab and from then on I started thinking into giving back to FLOSS. So I joined

Eventually in 2004 I became the lead of the project, and launched Linux Xpo in Monterrey and had my little spot in the Linux ecosystem. Since then I have focus mostly in and leading other projects beside the spanish project like the Education and so on.

Also I have been using Linux exclusively for almost 10 years. Have worked as a System Administrator for large companies  and eventually came into pursuing other interests within the floss area as a way of living from.

FLOSS have made me for 10 years and I hope I could be here for the next 20 years.

Monkeying around the line of hard and dynamic code

So a few months back I had a discussion about the difference of using the 3rd party binding across dynamic languages. This is nothing new, and there has been quite a few of these bridges. However I am not sure how much has these been taking up.

The conversation was a comparison between using C# or other languages like Ruby for .NET. Granted that this was not really a .NET conversation but rather on the options in coding under the same API or VM. The JAVA version of the conversation would have been between things like using Java to use JVM or using something like JRuby or the more rooted language Groovy.

So after this conversation I went to understand the question better. Is really a whole new language needed to use an API? Should we just start becoming language driven as opposed of API/VM driven? After all given the options out there, these seem like a viable option.

So I have two different roads, one was making easy things (dynamic approach) to hard languages (JAVA), and using hard languages on toolkits that are usually develop with dynamic languages (GTK). So I took a look at some of the following implementations:

  • Using Jython with SWING
  • Groovy cookbook and hello world
  • Gnome-Java
  • GTK in C
  • PyGTK

So here are some snippets about how to use Jython with SWING (Java GUI Toolkit).

from javax.swing import JFrame

JFrame(‘Hello, World!’, defaultCloseOperation=JFrame.EXIT_ON_CLOSE, size=(300, 300), locationRelativeTo=None).setVisible(True)

This simple two line code will generate already a window, label and action.

The next example is the opposite, and doing a Toolkit like GTK in Java language:

package button;

import org.gnome.gdk.Event;
import org.gnome.gtk.Button;
import org.gnome.gtk.Gtk;
import org.gnome.gtk.Label;
import org.gnome.gtk.VBox;
import org.gnome.gtk.VBox;
import org.gnome.gtk.Widget;
import org.gnome.gtk.Window;

public class ExamplePressMe
public static void main(String[] args) {
final Window w;
final VBox x;
final Label l;
final Button b;


w = new Window();
x = new VBox(false,3);
l = new Label(“Go ahead:nMake my day”);
b = new Button(“Press me!”);

b.connect(new Button.Clicked() {
public void onClicked(Button source) {
System.out.println(“I was clicked: ” + b.getLabel());
w.setTitle(“Hello World”);
w.connect(new Widnow.DeleteEvent() {
public boolean onDeleteEvent(Widget source, Event event) {
return false;


Pardon my verbosity but half is becaus of JAVA and half is because of GTK. However we can see here that is just a matter of declaring variables classes and execution. Now we move to the C version:

#include <gtk/gtk.h>

static void hello( GtkWidget *widget, gpointer data ) {
g_print (“Hello Worldn”);

static gboolean delete_event ( GtkWidget *widget, GdkEvent *event, gpointer data ) {
g_print (“delete event occurredn”);
return TRUE;

static void destroy ( GtkWidget *widget, gpointer data ) {

int main( int argc, char *argv[] ) {
GtkWidget *window;
GtkWidget *button;

gtk_init (&argc, &argv);
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
g_signal_connect (window, “delete-event”, G_CALLBACK (delete_event), NULL);
g_signal_connect (window, “destroy”, G_CALLBACK (destroy), NULL);
gtk_container_set_border_width (GTK_CONTAINER (window), 10);
button = gtk_button_new_with_label (“Hello GTK+”);
g_signal_connect (button, “clicked”, G_CALLBACK (hello), NULL);
g_signal_connect (button, “clicked”, G_CALLBACK (gtk_widget_destroy), window);
gtk_container_add (GTK_CONTAINER (window), button);
gtk_widget_show (button);
gtk_widget_show (window);
gtk_main ();

return 0;