tag:blogger.com,1999:blog-89318739634349317872024-03-08T12:32:50.566+01:00Everyday Activities: A Modern ApproachLuis E. Ovallehttp://www.blogger.com/profile/07803084249114015175noreply@blogger.comBlogger12125tag:blogger.com,1999:blog-8931873963434931787.post-19905423349121250182011-09-30T11:58:00.008+02:002011-09-30T17:01:44.775+02:00Get a Highly Specialized Engineering JobI recently found myself reading this article <a href="http://blog.tuenti.com/dev/get-a-tuenti-engineering-job/">Get a Tuenti Engineering Job</a>. I felt specially identified with this part:<br />
<br />
<b><i>"lot of the skills we look for, while taught at top universities, aren’t used that commonly in work at many European companies" </i></b><br />
<br />
There is no doubt, Tuenti is right. In order to keep our programming skills as sharp as they should be consider programming contest training. Following my own advice I´ve just signed up for this web site: <a href="http://www.betterprogrammer.com/">http://www.betterprogrammer.com/</a> .<br />
<br />
I´m going to practice one of this problems or similar 15 or 20 minutes per day, but I am also going to give it a little twist. I will use C/C++ or Python to make of it a richer exercise.Luis E. Ovallehttp://www.blogger.com/profile/07803084249114015175noreply@blogger.com0tag:blogger.com,1999:blog-8931873963434931787.post-44406314746446001222011-09-22T13:09:00.005+02:002011-09-22T13:15:46.348+02:00Introduction to DroolsMotivated by my soon to begin MBA studies (Sept 28th, I´m so happy about it) and my almost repulsive feeling towards developing "end-user oriented" Web applications without any interesting business logic behind, I am more than decided to get out of the sterile web development business and get into the BPM world.<i> </i>I am expecting to see that happen before 2012, hopefully...fingers crossed.<br />
<br />
That said, I've reading about Drools lately and it seems pretty interesting. Keep reading.<br />
<br />
This is an extract of the article <a href="http://www.theserverside.com/news/1365158/An-Introduction-to-the-Drools-Project">An Introduction to the Drools Project</a> By N. Alex Rupp<br />
<div><br />
</div><i>"Why use a rules engine?</i><br />
<span class="Apple-style-span" style="background-color: white; font-family: arial, verdana, helvetica, sans-serif; font-size: 12px; line-height: 14px;"></span><br />
<div style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-style: initial; border-top-width: 0px; display: block; font-size: 12px; margin-bottom: 1em; margin-top: 1.12em; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"><i>The business world is full of cliches about change, how everything changes, how change is the only thing you can depend on. In the technical world, this isn't exactly the case. We've been collectively trying to solve the same set of problems in software for thirty years--sometimes more. In the last decade, IT folks have been inundated with literature about rapid/extreme/agile development ideologies that stress the importance of flexibility and change.</i></div><div style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-style: initial; border-top-width: 0px; display: block; font-size: 12px; margin-bottom: 1em; margin-top: 1.12em; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"><i>But business needs often change faster than development teams, their processes and the technologies they rely on can keep up. We're getting better at it, but business tacticians still find themselves crippled as they try to realign their IT departments to support the shifting needs of their business. There's a lot of friction and frustration involved in this process.</i></div><strong style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-style: initial; border-top-width: 0px; font-size: 12px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"><i>Lost in Translation</i></strong><br />
<div style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-style: initial; border-top-width: 0px; display: block; font-size: 12px; margin-bottom: 1em; margin-top: 1.12em; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"><i>As smart as IT personnel are, they are susceptible to the "telephone" effect. IT efforts often add as much friction to the execution of a business plan as they do value. Unfortunately, by the time the development teams fully understand the rules which govern decision-making in the business and are able to capture that decision making power in software code, the rules have changed. The software is obsolete before it has even reached the market and it needs to be refactored to support the new requirements. If you're a developer, you know what I'm talking about--we call this aspect of the development cycle "feature creep". Very few things are as frustrating to developers as having to build a system on shifting soil. As a software developer, you often have to know as much about the business as the executives do--sometimes more.</i></div><div style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-style: initial; border-top-width: 0px; display: block; font-size: 12px; margin-bottom: 1em; margin-top: 1.12em; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"><i>Imagine for a moment that you're a business leader. Your company's success often hinges on your ability to notice changing conditions in the market and figure out a way to take advantage of the new environment before your competitors catch on. Every day you have access to more and better information about your market, but it might not matter. Bold and clever insights and the "information advantage" can easily be squandered in the 6-9 months it might take to complete a development cycle for a new product. And when the product ships, chances are it's either feature-light, over budget, past due or some combination of the three.</i></div><div style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-style: initial; border-top-width: 0px; display: block; font-size: 12px; margin-bottom: 1em; margin-top: 1.12em; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"><i>To make matters worse, at the end of the development lifecycle, the market conditions could be fundamentally different than they were when the project was concieved. Now you're forced to comply with new legislation, you've lost your marginal advantage, and three of the five people who designed your software system have left the company--or worse--HQ is moving the entire department overseas. You're going to need to explain the complexities of the business to people who might not share your native language. If things don't work out, you could easily find yourself straddled with a poorly documented legacy application that you don't understand, that doesn't address your immediate business needs, and all the while orders are coming down from on high to "leverage existing assets".</i></div><div style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-style: initial; border-top-width: 0px; display: block; font-size: 12px; margin-bottom: 1em; margin-top: 1.12em; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"><i>Where did your strategy break down? Where are the places you might have done better? Recent literature on<span style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-style: initial; border-top-width: 0px; font-size: 12px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">extreme programming</span>, <span style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-style: initial; border-top-width: 0px; font-size: 12px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">agile development</span> and other lightweight processes stress the importance of automated unit testing and feature prioritization. There are other principles your developers are familiar with, which can help them respond to your changing needs and shorten turnaround time for their porjects. Most of these principles, like system decomposition, have been around for decades and are aided by up-and-coming additions to the Java platform (like the Java Management Extensions library). Many of these principles, like Object-Orientation and Role modeling, are built right into the Java language.</i></div><div style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-style: initial; border-top-width: 0px; display: block; font-size: 12px; margin-bottom: 1em; margin-top: 1.12em; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"><i>But Java's still a pretty young language, and the Java platform is by no means complete. One technique that's gaining traction in the Java community is to separate the <span style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-style: initial; border-top-width: 0px; font-size: 12px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">business</span> decisions of your executives from the<span style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-style: initial; border-top-width: 0px; font-size: 12px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">technical</span> decisions of your developers, and to keep those business decisions in a central data store, where they can be managed and altered in real-time (that is, business-time). It's one strategy you might consider.</i></div><div style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-style: initial; border-top-width: 0px; display: block; font-size: 12px; margin-bottom: 1em; margin-top: 1.12em; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"><i>Why should your development team have to <span style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-style: initial; border-top-width: 0px; font-size: 12px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">capture in code</span> the subtle and complex rules that guide your decision making as a business executive? How can you convey the subtleties of your reasoning to them? If so, is it <span style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-style: initial; border-top-width: 0px; font-size: 12px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">prudent</span>? Probably not. Something might be lost in translation, like the bottom line. Why take the risk that the logic governing your decisions (the <strong style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-style: initial; border-top-width: 0px; font-size: 12px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">executive logic</strong>) will be misrepresented in the application code or even in the testing code? If it is, how would you verify that--would you learn to program and write all the unit tests yourself, or would your customers test the software for you? It's hard to keep one eye on the markets and the other in the software code.</i></div><div style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-style: initial; border-top-width: 0px; display: block; font-size: 12px; margin-bottom: 1em; margin-top: 1.12em; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"><i>It makes more sense that these rules should be centrally located in a place where you can manage them directly, in an intuitive format that you can easily understand, instead of scattered throughout the application in software code where you can't get at them. If you can keep the executive logic out of your software and trust your developers to make the right technical decisions, you will notice the difference. Your project lifecycles will be shorter, and your software will be more adaptable to the needs of your business. Instead of trying to steer the titanic, you'll feel like you're in a tri-hull racing cat."</i></div><div style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-style: initial; border-top-width: 0px; display: block; font-size: 12px; margin-bottom: 1em; margin-top: 1.12em; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"><br />
</div>Luis E. Ovallehttp://www.blogger.com/profile/07803084249114015175noreply@blogger.com0tag:blogger.com,1999:blog-8931873963434931787.post-16839101980455724352011-09-19T13:31:00.004+02:002011-09-19T13:34:15.928+02:00We are Traders!We are Traders, well right now not really, but soon enough ;)<br />
<br />
<iframe width="560" height="315" src="http://www.youtube.com/embed/Y6SayMjVmD8" frameborder="0" allowfullscreen></iframe>Luis E. Ovallehttp://www.blogger.com/profile/07803084249114015175noreply@blogger.com0tag:blogger.com,1999:blog-8931873963434931787.post-78456573524723302922011-08-29T13:49:00.103+02:002011-08-29T15:53:41.065+02:00Stockholm, Sweden - It feels like home to meI just came back from Sweden. I visited Lund, Malmo, Helsinborg and of course, Stockholm. I must say I loved this country. It´s tolerant, prosperous, green and full of easy-going people.<br />
<br />
My family and all time friends are still living in <a href="http://www.composedvolcano.com/wp/wp-content/uploads/2010/08/Caracas_Venezuela_from_Valle_Arriba_1-8.jpg">Caracas</a>, but Caracas just does not feel like home anymore. It is really sad, it really is, but it´s also the awful true of having been born in a country where you actually feel like half of the people are your enemy -- consequences of Chavez rhetoric -- and I do not want to be dramatic, but I think that we, the good guys, already lost that war too many years ago. Revolution of the Apes and the Apes won as simply as that. I know it sounds like I'm not being tolerant, but the problem with apes is that they are very aggressive, you cannot talk to them, they like 'jungle cities' and they all blindly follow a smart Ape who hates "good guys". Well, enough talking about Venezuela...<br />
<br />
I've been living in Madrid for almost three years and I certainly like it here. I really do, so why thinking about moving to Sweden? The first thing to say is that I still have pending things in Madrid that will take about two or three years to have them ready. So not seriously thinking about moving to Sweden until I'm 30 (currently 27) that said, Madrid is great, Spain is great, economic projections of Spain not so great.<br />
<br />
I have a terrific life here, good friends, good job, nice weather, excellent food but -- there is always a but -- in some point of my life I am going to need to start making some real money. Of course you can do money anywhere, but the thing is, how big is the reward for the same effort. I seriously do not like living to work, I'm really not that kind of person. Being and engineer -- and I am a good one -- should allow me to earn enough money to have quality of life and at the same time save enough money to buy a house to say something-- I think we all agree that I have a better chance to make money in countries like Germany, England or as I believe Sweden.<br />
<br />
I've been in Berlin and London, word class cities, but they did not feel like home, for some reason Stockholm did. I liked very much the food, being surrounded by water, perfect size, not so big without being small. It has subway of course, the people are highly educated, and I have to say it <i><b>great looking girls</b></i>. Even the average girl is pretty, so yes, a girl just a little over the average looks like a Victoria Secret´s model and there are many of them. If I am single at 30s it would also be a great place to find the love of a blonde. Right now, lets just say I am focused on my MBA goals and financial audits if you know what I mean.<br />
<br />
Another thing to add that makes Stockholm even greater you can do summer or winter sports in or very near the city. That´s a big plus to me.<br />
<br />
You never know where life is going to take you, but I would not bother at all if it takes me to Sweden, it feels like home to me...<br />
<br />
<span class="st"></span><br />
<span class="st"></span><br />
<span class="st"></span><br />
<span class="st"><i></i></span>Luis E. Ovallehttp://www.blogger.com/profile/07803084249114015175noreply@blogger.com0tag:blogger.com,1999:blog-8931873963434931787.post-10068978340847788662011-08-11T12:55:00.004+02:002011-08-11T13:00:32.713+02:00Josef Ajram - Where is the limit?I know, I know. It is a little wear writing a post about a guy. I'm willing to accept the jokes whatsoever.<br />
<br />
<a href="http://josefajram.es/josef-ajram/">Josef Ajram</a>, you have to read about this guy. In fact, you have to read his book <a href="http://www.whereisthelimit.com/shop/product.php?id_product=1">Where is the limit?</a> Whether you are an athlete, a trader or a cook, you will find this personage fascinating. <br />
<br />
I am not going to talk about his life, achievements, etc. That you can read in his page. Josef is an example of how to enjoy life, about doing the things you love and being the best at it. Work, sacrifices and more work. Do it right and you will enjoy the process as you will enjoy the reward.<br />
<br />
I've been captivated by the stocks markets since I worked for the Colombia Stock Exchange in 2008. I was part of the development team of the website. Despite not working directly with transactions, I did get involved with stocks basic knowledge. Three years later I found myself even more attracted to the financial economics.<br />
<br />
It is hard to tell, but I think this guy, Josef, gave me the final push I needed to start studying again. I am a software engineer, but I signed up for an MBA specialized in finance starting Sept of this year (2011) at the <span class="st"> <a href="http://www.ieb.es/">Instituto de Estudios Bursátiles.</a></span> It translates as something like Stock Market Studies Institute. Even when I chose the MBA and not a specific degree in stocks, I wanted to be close to that world.<br />
<br />
I'm still working for an IT Consultancy, but now I am also one step closer to something I feel passionated about. Passion I've lost for the IT field. That's the main reason behind the MBA, I need a change, I need a new goal to feel I am moving forward.<br />
<br />
The bad part, the MBA costs a lot of money -- a least it is a lot to me --. To start investing, trading or whatever I need money. If you are curious I will need about 10.000 €. It is not betting, this amount is for operational purposes not to risk the whole thing. <br />
<br />
My goal? Start trading sometime next year. Make a living out of trading? I don't think so, not in the near future. Just to have something that is completely mine. Even if you own a company, you still need a team, clients, etc. You are not alone on it. What I find completely attracting in the trading world is that it is only you "against" the world. Like running a marathon, achieving the goal lies on you and you only.<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
Luis E. Ovallehttp://www.blogger.com/profile/07803084249114015175noreply@blogger.com0tag:blogger.com,1999:blog-8931873963434931787.post-31388736585733311262011-08-10T13:59:00.003+02:002014-10-23T15:44:05.782+02:00Skydiving Madrid<iframe allowfullscreen="" frameborder="0" height="349" src="http://www.youtube.com/embed/04mBuJYFbQo" width="425"></iframe><br />
<br />
<br />
I am not afraid of heights so jumping from a plane was a really easy decision. I never did it before because until now I've never found the appropriate companion for it. Doing it alone should not be half as fun as jumping with good friends.<br />
<br />
The experience itself, exciting of course, but I think I expected kind of more adrenaline running through my veins. The reason? Leaving aside the fact that you are falling from 4000 meters height, you still have a parachute -- actually two -- and the whole situation is always under the control of a professional with proven experience. To say better, I had more chance to die in a car accident coming back home.<br />
<br />
So I said it, excitement to me is much related to control and risk. Do not think about risk, like risking dying only. You can risk money, time, reputation, etc. Control or the lack of it is about facing unexpected situations -- not necessarily dangerous ones -- Tandem skydiving you go up, you go down that's it. Speed sensation wasn't that great. I missed that really magical feeling that freefall is supposed to produce. Still this is the closest I'm gonna get to feel like flying so I'm glad I did it. I believe that jumping alone with a wingsuit should be the kind of excitement I would appreciate, but of course that will happen when you can buy miscellaneous skills like buying pills. We all want to be skydivers, surfers, moto-riders, etc. But this kind of stuff requires commitment and sacrifices that aren't part of my genetic code.<br />
<br />
I'll be happy with being able to try different things at least once. Rafting, climbing, motocross are on my wish list.<br />
<br />
Would I do it again? For free of course, for a really good friend maybe, for a really nice girl no doubt!. But come on, 300€/ 1 minute ride. Once is enough. Luis E. Ovallehttp://www.blogger.com/profile/07803084249114015175noreply@blogger.com0tag:blogger.com,1999:blog-8931873963434931787.post-44875384713237655842011-05-16T15:10:00.000+02:002011-05-16T15:10:15.450+02:00Guy Kawasaki "The Art of the Start" @ TiECon 2006<embed id=VideoPlayback src=http://video.google.com/googleplayer.swf?docid=-3755718939216161559&hl=en&fs=true style=width:400px;height:326px allowFullScreen=true allowScriptAccess=always type=application/x-shockwave-flash> </embed>Luis E. Ovallehttp://www.blogger.com/profile/07803084249114015175noreply@blogger.com0tag:blogger.com,1999:blog-8931873963434931787.post-47351065362237230882010-10-18T22:55:00.004+02:002010-10-18T23:59:34.102+02:00Flash, Web Services and Cross-domain restrictionsI am working on a game community portal called Jippii. This is the link to the Spanish version <a href="http://www.jippii.es/">http://www.jippii.es/</a>. There you can play flash skill games and earn actual prizes, like phones or movie tickets. Although, I haven't finished the development yet. Just a few more weeks and you will be able to give it a try.<br />
<br />
Today I wasted several hours in forum pages looking for the answer to a problem I had. Every day I am getting more and more used to immediately google my programming problems. On this occasion, I was having troubles with the communication of the flash game with the web services that handles the trials and the score records.<br />
In a nutshell, the flash game is hosted on a different server than the web services, so of course, I needed a <a href="http://www.adobe.com/devnet/articles/crossdomain_policy_file_spec.html">crossdomain</a> file. The problem was to make a correct one. Let's back to the wasting hours part, I started to google and found many people having the same problem. This made me think that I would find the solution to mine soon enough by just reading the forums. I was wrong. None of the entries I found solved my problem. And then, suddenly I remembered <a href="http://en.wikipedia.org/wiki/RTFM">RTFM</a> (thanks to my friends JG and DO for teaching me that) and the enlightenment came to me.<br />
<br />
In the <a href="http://www.adobe.com/devnet/articles/crossdomain_policy_file_spec.html">Cross-domain policy file specification</a> page 15, example 1.9:<br />
<br />
<cross-domain-policy><br />
<allow-http-request-headers-from domain="*" headers="SOAPAction"/><br />
</cross-domain-policy><br />
<br />
Problem solved. From now on, I will try googling a little bit less and RTFM instead.Luis E. Ovallehttp://www.blogger.com/profile/07803084249114015175noreply@blogger.com1tag:blogger.com,1999:blog-8931873963434931787.post-73445854029403223642010-09-03T00:15:00.005+02:002010-09-03T00:19:23.823+02:00RSA Animate - Drive: The surprising truth about what motivates us<object width="500" height="330"><param name="movie" value="http://www.youtube.com/v/u6XAPnuFjJc?fs=1&hl=es_ES"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/u6XAPnuFjJc?fs=1&hl=es_ES" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="500" height="330"></embed></object>Luis E. Ovallehttp://www.blogger.com/profile/07803084249114015175noreply@blogger.com2tag:blogger.com,1999:blog-8931873963434931787.post-71500824098436485542010-09-01T22:52:00.009+02:002010-09-03T19:17:36.572+02:00EMT Madrid on my Blackberry BoldMy friend Pablo and I we both live in Madrid, we are both computer science engineers, which implies that neither of us earns enough money to buy a car and pay for gas, which is actually pretty expensive around here. Luckily for us, Madrid has an excellent transport system, in my opinion the best i know of from the cities i have visited. Barcelona,Berlin,London,Milan to name a few. I think this is due to the fact that Madrid has it all. There are excellent train, subway (the Madrid Metro is the densest metro network in the world) and bus systems, they all so perfectly integrated. Even the <a href="http://en.wikipedia.org/wiki/Madrid-Barajas_Airport">Barajas Airport</a> is not far away from the city center. <br />
<br />
All metro and train stations have signs indicating how much time is left till the next wagon arrives. But almost none of the bus stops has this kind of signs. If you think this is unnecessary, think again. Imagine that the next bus isn't coming for the next twenty minutes, you will probably then would like to consider taking the metro or simply walking home.<br />
<br />
If you google a bit you will easily find mobile applications for IPhone and Android which given a bus line and a bus stop number will tell you the corresponding waiting time. For blackberry you will find none. My friend Pablo who apparently has more free time than he is willing to accept decided several months ago he would build his own blackberry application for that purpose. Of course, he forgot that famous phrase about not reinventing the wheel. You will see why.<br />
<br />
Pablo's initial approach, was to use this public service <a href="http://www.emtmadrid.es/home/destacados/tiempo-que-falta-para-que-venga-mi-autobus.aspx">Waiting Times Bus Madrid</a> , emulate a standard browser request, parse the response ( a whole html page with a lot of useless information) and extract the one line that he needed for his blackberry app. This worked well for a time, until the <a href="http://www.emtmadrid.es/">EMT</a> redesigned its website and changed the http form params.<br />
<br />
Pablo asked for my help knowing i would be interested in getting the application working again. After taking a glance at the web page's source code, i knew immediately it was going to be very tedious job in case of continuing with Pablo's initial approach. What i did was to download one of the free available Android applications and analyze how it was getting the bus waiting time information.<br />
<br />
Step by Step:<br />
<ol><li> Android apps are distributed as <b>.apk</b> files. An .apk file can be opened and inspected using common archive tools such as unzip or unrar.</li>
<li>I found a classes.dex archive which as far as i know contains all the .class files.</li>
<li>I used a <a href="http://dedexer.sourceforge.net/">dedexer tool</a>. Dedexer is able to read the DEX format and turn into an "assembly-like format".</li>
<li><span style="font-family: Arial;">In one of the resulting files i found the following</span><i><span style="font-family: Arial;">: </span></i> <i><br />
<span style="font-family: Arial;">>> new-instance v4,org/apache/http/client/methods/HttpPost</span></i> <i><br />
<span style="font-family: Arial;">>> const-string v10,"http://195.76.144.242/services/tespera2.asp"</span></i> <i><br />
<span style="font-family: Arial;">>>...</span></i> </li>
<i><span style="font-family: Arial;">>>new-instance v10,org/apache/http/message/BasicNameValuePair</span> <span style="font-family: Arial;">const-string >>v11,"linea"</span> <span style="font-family: Arial;">>>....</span></i>
<li>As you can see I could get a "private" url, the method of the request and the params.</li>
</ol><br />
I said "private" url because it is a public service after all and I suppose that if I get in touch with the <a href="http://en.wikipedia.org/wiki/Information_technology">IT</a> department of the EMT I could possibly get to talk to someone who would give me the url and the necessary info. Or maybe I'll just get lost in bureaucracy or "i have no idea" people.<br />
<br />
After getting the URL and the params, the update to Pablo's blackberry app was pretty straightforward. He made it himself. He did not have to parse the response anymore because the new service we are using is designed specially for mobile applications. For that same reason I suppose it wont be changing anytime soon.<br />
<br />
If you are interested in building your own blackberry app this is a good start <a href="http://na.blackberry.com/eng/developers/">BlackBerry Developer Zone</a>. I already read the guide and found it simple and easy to follow.<br />
<br />
<br />
<br />
<br />
<br />
<br />
<ol></ol>Luis E. Ovallehttp://www.blogger.com/profile/07803084249114015175noreply@blogger.com2tag:blogger.com,1999:blog-8931873963434931787.post-67620800428849644742010-08-17T23:48:00.006+02:002010-08-18T20:29:11.864+02:00My Five-Year PlanRecently, I just can't stop thinking: Am I doing things right?<br />
I have always had the idea of having my own company. Honestly, who doesn't? What I really meant to say, is that I genuinely think I have the necessary skills to accomplish this goal. Still, there is something missing.<br />
<br />
When I finished college, I do remember thinking, need to gain some real work experience first. Four years has passed now, and I wonder how much of this experience is really worthy? and even if it is 100%. How much of this experience is actually product of a "classic work environment" ? Just in case, lets define "classic work environment" as the following set: me(employee),many colleagues, my boss, his boss and the Big Boss ( you can add as many bosses as you want, this doesn't affect the model), fixed salaries, generic career plans, company values not usually honored, money comes first,etc.<br />
<br />
Among the IT Consulting Industry companies there is one thing in common that stands above all others. The almost incredible lack of good leading technical professionals. In their defense I will say that this is not a one company problem. It is a business model problem. That said, the following quote really fall into place "<i>It seems to me that many problems in software development stem from the desire to decouple software development from</i> programmer".<br />
<br />
I keep finding project technical leaders who are obsessed with becoming managers(budgeting,planning,profitability). Apparently, it is not that important to be first a software building expert to become and IT manager. What happens next is that most IT managers end up with the responsibility of making decisions for what they aren't prepared for or not making decisions at all.<br />
<br />
How is this related to <i>My Five-Year plan?</i> Let's see, my initial thinking of "need to gain some real work experience first" has fallen into pieces. For two main reasons:<br />
<ul><li>I have almost none valuable knowledge product of that "classic work environment" I have been so deep into. Most of the skills I have are either product of my academic experience or self-learned while working. Just to clarify I consider valuable knowledge : design patterns, requirement management, developing methodologies, problem-solving techniques,quality assurance,etc. Learning <a href="http://en.wikipedia.org/wiki/JavaServer_Faces">JSF</a>, <a href="http://en.wikipedia.org/wiki/Struts">Struts</a>, or whatever are not examples of valuable knowledge to me. I hope you get my point. When you start to work you expect to learn not only by mistake, but also by example. The last one hasn't happened a lot to me.</li>
<li>I have almost no interest in founding a traditional IT Consulting Company. So working in one probably is not what fits me the best. I like to do things the right way and I would like to work in my own products. From conceiving the idea throughout the whole development process. </li>
</ul>My Five-Year Plan is an <i>Inflexion</i>-<i>Point</i> Strategy for rearranging my professional goals and how I plan to achieve them. I don't expect to see results in five years. No one can put accurate timelines in this kind of Utopian projects. "Five-Year Plan" is simply a commonly used term for any plan for national economic or industrial development specifying goals to be reached within a period of five year. It was made famous by the <a href="http://en.wikipedia.org/wiki/Five-Year_Plan_%28USSR%29">USSR</a>. It seemed appropriate for the title of this post.<br />
<br />
In conclusion : I am going to stop waiting to feel ready and gonna put in motion one <span style="font-family: Arial; font-size: 10pt;"><b> </b>step-by-step process<b> </b>starting for trying to get myself that valuable knowledge I am not getting at work. </span><br />
<br />
<br />
<ul></ul>Luis E. Ovallehttp://www.blogger.com/profile/07803084249114015175noreply@blogger.com0tag:blogger.com,1999:blog-8931873963434931787.post-8193546287872266472010-08-15T23:42:00.009+02:002010-08-16T01:04:04.020+02:00Introducing the blogI finally have a blog. Now what? Where do i start?<br />
<br />
I have never been much of a blogger, but suddenly, i thought of how writing a blog would help me with my English. Of course, you always need a subject to write about. At first, this was going to be a strict technology oriented blog. Algorithms, programming, web developing tools, etc. Not so fun right? At least not for my girlfriend <a href="http://ynarodru.blogspot.com/">Andreyna</a> who happens to be a journalist with absolutely no interest in computers.<i> </i>Therefore I'll be writing also about random subjects that catch my attention. It can be sports -- if you know me you'll know by now that i am a huge <a href="http://www.inter.it/">Inter Milan</a> fan -- movies, life in Madrid, trips, pretty much about everything. But always trying to keep at least 50% of the content <i>Technology</i>-<i>Based. </i><br />
<br />
Every now and then i get to do some interesting stuff at work. Find a solution to a really weird bug, write a beautiful piece of code, trying a new tool or framework, etc. It would be satisfying if someone finds useful one of my upcoming posts. It would be even more satisfying if a big company CTO reads my blog and i end up working at <a href="http://en.wikipedia.org/wiki/Silicon_Valley">Silicon Valley</a>.<br />
<br />
I think this is enough information regarding to "Introducing the blog". I hope to soon find the time to write the first real post which luckily will catch your attention, making of you an assiduous reader of this entry in the <a href="http://en.wikipedia.org/wiki/Domain_Name_System">DNS</a> database.<br />
<br />
For those of you who don't get the title of the blog it is a mix of <a href="http://en.wikipedia.org/wiki/Web_2.0">Web 2.0</a> concepts, old-fashioned diary, and the following book that i had to read at college <a href="http://aima.cs.berkeley.edu/">Artificial Intelligence: A Modern Approach</a>.Luis E. Ovallehttp://www.blogger.com/profile/07803084249114015175noreply@blogger.com1