<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-4144704359177008692</id><updated>2012-02-02T05:25:18.337-08:00</updated><category term='Python'/><category term='XBox'/><category term='Twitter'/><category term='Montreal'/><category term='SAPHANA'/><category term='AIR'/><category term='IPad'/><category term='Wii'/><category term='Role_Models'/><category term='RegEx'/><category term='BlackBerry'/><category term='SCN'/><category term='Non_Sense'/><category term='TheBlagShow'/><category term='misc'/><category term='Gateway'/><category term='SAP'/><category term='Games'/><category term='Learning'/><category term='Weird_Stuff'/><category term='TechEd_2008'/><category term='charity'/><category term='Ruby'/><category term='ABAP'/><category term='Flex'/><category term='Kinnect'/><category term='Rant'/><category term='Movies'/><category term='Geek_Kids'/><category term='Sports'/><category term='Community_Day_2008'/><category term='software_testing'/><category term='TechEd_2009'/><category term='SAP_Mentors'/><category term='Companies'/><category term='R'/><category term='Books'/><title type='text'>Blag's bag of rants</title><subtitle type='html'>My Rants related to SAP, Scripting Languages, Technologies and everything else I wanted to talk about...</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://blagrants.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://blagrants.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default?start-index=101&amp;max-results=100'/><author><name>Alvaro "Blag" Tejada Galindo</name><uri>http://www.blogger.com/profile/12061593528820409779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='https://weblogs.sdn.sap.com/images/people/alvaro_tajeda.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>113</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-4144704359177008692.post-5776690743671843141</id><published>2012-02-02T05:16:00.000-08:00</published><updated>2012-02-02T05:25:18.345-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SAPHANA'/><category scheme='http://www.blogger.com/atom/ns#' term='R'/><title type='text'>R meets HANA</title><content type='html'>&lt;div align="JUSTIFY"&gt;&lt;br /&gt;If you read my last blog called &lt;a href="http://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/28432"&gt;HANA meets R&lt;/a&gt; you will remember that we read data from HANA into R directly, without having to download an .csv file, but using ODBC. This time, we're going to read data from HANA as well, but after do some nice tricks on R, we're going to post back the information into HANA.&lt;br /&gt;&lt;br /&gt;Keep in mind, that is not an standard SAP solution. This only relies on a custom R package that can work with ODBC enabled tables, and like any custom packages, there are many limitations...anyway...this should be fixed when SAP released the official R into HANA integration.&lt;br /&gt;&lt;br /&gt;In my previous blog &lt;a href="http://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/28285"&gt;Prediction model with HANA and R&lt;/a&gt; we create a stored procedure in HANA to populate a table called TICKETS_BY_YEAR, then on R we calculate the prediction for the next year and generate a nice graphic showing both the real data and the prediction. So...of course I'm not going to repeat all that.&lt;br /&gt;&lt;br /&gt;This is the R code that we need to use...&lt;br /&gt;&lt;br /&gt;&lt;pre style="border: 1px dashed rgb(153, 153, 153); padding: 5px; overflow: auto; font-family: Andale Mono,Lucida Console,Monaco,fixed,monospace; color: rgb(0, 0, 0); background-color: rgb(238, 238, 238); font-size: 12px; line-height: 14px; width: 95%;"&gt;&lt;br /&gt;library("RODBC")&lt;br /&gt;ch&lt;-odbcConnect("HANA",uid="P075400",pwd="HrCOpPk4")&lt;br /&gt;Flight_Tickets&lt;-sqlFetch(ch,"P075400.TICKETS_BY_YEAR")&lt;br /&gt;period=Flight_Tickets$PERIOD&lt;br /&gt;tickets=Flight_Tickets$TICKETS&lt;br /&gt;var_year=substr(period[1],1,4)&lt;br /&gt;var_year=as.integer(var_year)&lt;br /&gt;var_year=var_year+1&lt;br /&gt;var_year=as.character(var_year)&lt;br /&gt;new_period=gsub("^\\d{4}",var_year,period)&lt;br /&gt;next_year=data.frame(year=new_period,stringsAsFactors=FALSE)&lt;br /&gt;prt.lm=lm(tickets ~ period)&lt;br /&gt;pred=predict(prt.lm,next_year,interval="none")&lt;br /&gt;period=next_year&lt;br /&gt;tickets=pred&lt;br /&gt;PREDICTION_TICKETS&lt;-data.frame(period,tickets)&lt;br /&gt;sqlDrop(ch,"PREDICTION_TICKETS",errors=FALSE)&lt;br /&gt;sqlSave(ch,PREDICTION_TICKETS,rownames="id")&lt;br /&gt;odbcClose(ch)&lt;br /&gt;&lt;/pre&gt; &lt;br /&gt;After we execute this code, we can check on HANA that our new table called PREDICTION_TICKETS was created...&lt;br /&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/-59An4vlEQmw/TyqN_eKqjhI/AAAAAAAABuc/_S-7885Fr-Y/s1600/R_meets_HANA_001.PNG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 119px;" src="http://4.bp.blogspot.com/-59An4vlEQmw/TyqN_eKqjhI/AAAAAAAABuc/_S-7885Fr-Y/s400/R_meets_HANA_001.PNG" border="0" alt=""id="BLOGGER_PHOTO_ID_5704527999587225106" /&gt;&lt;/a&gt; &lt;br /&gt;And the data was populated as expected...&lt;br /&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/-adgYZD4wJQE/TyqOM46VwKI/AAAAAAAABuo/2v9VjZc4-4A/s1600/R_meets_HANA_002.PNG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 282px; height: 243px;" src="http://1.bp.blogspot.com/-adgYZD4wJQE/TyqOM46VwKI/AAAAAAAABuo/2v9VjZc4-4A/s400/R_meets_HANA_002.PNG" border="0" alt=""id="BLOGGER_PHOTO_ID_5704528230104809634" /&gt;&lt;/a&gt; &lt;br /&gt;You may wonder...which are the limitations? Everything seems to work like a charm? Easy...not a lot, but important limitations...&lt;br /&gt;&lt;br /&gt;* We don't have a way to validate if the table exists or not.&lt;br /&gt;* We must delete the table before doing the insert, otherwise is not going to work.&lt;br /&gt;* Even when the date field was called PERIOD, R named it "year" and pass it into HANA.&lt;br /&gt;* We can't specify the type of the fields, nor the lenght&lt;br /&gt;* We are forced to have an additional column with a numeric index, that we can nicely call "Id"...&lt;br /&gt;&lt;br /&gt;As I said early...this is just a custom package that allows us to play...this shouldn't be used as a final solution, but as a playground. Enjoy!&lt;br /&gt;&lt;br /&gt;Greetings,&lt;br /&gt;&lt;br /&gt;Blag.&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4144704359177008692-5776690743671843141?l=blagrants.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blagrants.blogspot.com/feeds/5776690743671843141/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4144704359177008692&amp;postID=5776690743671843141' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/5776690743671843141'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/5776690743671843141'/><link rel='alternate' type='text/html' href='http://blagrants.blogspot.com/2012/02/r-meets-hana.html' title='R meets HANA'/><author><name>Alvaro "Blag" Tejada Galindo</name><uri>http://www.blogger.com/profile/12061593528820409779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='https://weblogs.sdn.sap.com/images/people/alvaro_tajeda.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-59An4vlEQmw/TyqN_eKqjhI/AAAAAAAABuc/_S-7885Fr-Y/s72-c/R_meets_HANA_001.PNG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4144704359177008692.post-6505552517748176769</id><published>2012-02-02T04:53:00.000-08:00</published><updated>2012-02-02T05:16:18.662-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SAPHANA'/><category scheme='http://www.blogger.com/atom/ns#' term='R'/><title type='text'>HANA meets R</title><content type='html'>&lt;div align="JUSTIFY"&gt;&lt;br /&gt;In my previous HANA and R blogs, I have been forced to create .csv files from HANA and read them on R...an easy but also boring procedure...specially if your R report is supposed to be run on a regular basis...having to create an .csv file every time you need to run your report it's not a nice thing...&lt;br /&gt;&lt;br /&gt;After spending some time reading and researching R...I finally came to a library that can read data from any relational database and being HANA, ODBC capable, the work is just a piece of cake -;)&lt;br /&gt;&lt;br /&gt;For this examples, we must install two libraries: &lt;a href="http://cran.r-project.org/web/packages/RODBC/index.html"&gt;RODBC&lt;/a&gt; and &lt;a href="http://cran.r-project.org/web/packages/plotrix/index.html"&gt;Plotrix&lt;/a&gt; and create the DSN connection as shown here...&lt;br /&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/-csGsI8hR-nI/TyqH94xZg7I/AAAAAAAABtI/ik1Xgv7ViyE/s1600/DSN_001.PNG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 328px;" src="http://1.bp.blogspot.com/-csGsI8hR-nI/TyqH94xZg7I/AAAAAAAABtI/ik1Xgv7ViyE/s400/DSN_001.PNG" border="0" alt=""id="BLOGGER_PHOTO_ID_5704521375299503026" /&gt;&lt;/a&gt;&lt;br /&gt;Here we're going to "Add..." a new "User DSN"&lt;br /&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/-Mbj1nKbHTH4/TyqIK06tmgI/AAAAAAAABtU/Qyo7DxDiDyg/s1600/DSN_002.PNG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 297px;" src="http://1.bp.blogspot.com/-Mbj1nKbHTH4/TyqIK06tmgI/AAAAAAAABtU/Qyo7DxDiDyg/s400/DSN_002.PNG" border="0" alt=""id="BLOGGER_PHOTO_ID_5704521597603125762" /&gt;&lt;/a&gt;&lt;br /&gt;HANA already provides us a driver, so we're cool&lt;br /&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/-sNssxjsMZaM/TyqIs0LHGPI/AAAAAAAABtg/iMeGUjNRo50/s1600/DSN_003.PNG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 349px; height: 235px;" src="http://3.bp.blogspot.com/-sNssxjsMZaM/TyqIs0LHGPI/AAAAAAAABtg/iMeGUjNRo50/s400/DSN_003.PNG" border="0" alt=""id="BLOGGER_PHOTO_ID_5704522181519022322" /&gt;&lt;/a&gt;&lt;br /&gt;Assign a name for the "Data Source Name", "Description" is optional and "Server:Port" should be of course filled.&lt;br /&gt;&lt;br /&gt;Now...we're ready to go to our HANA studio an create a table and a stored procedure...&lt;br /&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/-wCeSp77aal4/TyqI8vcQjXI/AAAAAAAABts/TNFaIIblqsQ/s1600/Tickets_By_Year_Month_001.PNG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 133px;" src="http://3.bp.blogspot.com/-wCeSp77aal4/TyqI8vcQjXI/AAAAAAAABts/TNFaIIblqsQ/s400/Tickets_By_Year_Month_001.PNG" border="0" alt=""id="BLOGGER_PHOTO_ID_5704522455126674802" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;pre style="border: 1px dashed rgb(153, 153, 153); padding: 5px; overflow: auto; font-family: Andale Mono,Lucida Console,Monaco,fixed,monospace; color: rgb(0, 0, 0); background-color: rgb(238, 238, 238); font-size: 12px; line-height: 14px; width: 95%;"&gt;&lt;br /&gt;CREATE PROCEDURE GetTicketsByYearMonth&lt;br /&gt;(IN var_year NVARCHAR(4),IN var_month NVARCHAR(2))&lt;br /&gt;LANGUAGE SQLSCRIPT AS&lt;br /&gt;BEGIN&lt;br /&gt;select count(bookid), carrid&lt;br /&gt;from sflight.snvoice&lt;br /&gt;where year(fldate) = VAR_YEAR&lt;br /&gt;and month(fldate) = VAR_MONTH&lt;br /&gt;group by carrid&lt;br /&gt;into TICKETS_BY_YEAR_MONTH;&lt;br /&gt;END;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;pre style="border: 1px dashed rgb(153, 153, 153); padding: 5px; overflow: auto; font-family: Andale Mono,Lucida Console,Monaco,fixed,monospace; color: rgb(0, 0, 0); background-color: rgb(238, 238, 238); font-size: 12px; line-height: 14px; width: 95%;"&gt;&lt;br /&gt;CALL P075400.GetTicketsByYearMonth('2011','12');&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;After we run our Stored Procedure...we have all the information in the table...Ok...only two fields...today was a hard day...I'm tired -:P&lt;br /&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/-RqHvopgA39I/TyqJaPLWRmI/AAAAAAAABt4/m5xScaAUzmg/s1600/Tickets_By_Year_Month_002.PNG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 204px; height: 167px;" src="http://3.bp.blogspot.com/-RqHvopgA39I/TyqJaPLWRmI/AAAAAAAABt4/m5xScaAUzmg/s400/Tickets_By_Year_Month_002.PNG" border="0" alt=""id="BLOGGER_PHOTO_ID_5704522961861887586" /&gt;&lt;/a&gt;&lt;br /&gt;Finally...we can code some R! First, we're going to create a Fan Plot (The Plotix library is needed for that one) and then a Bar Plot...I used the same code for both, so just replace the comment on one by the other one and run it again...I know...I'm being lazy again...but at least I'm not reinveting the wheel -;) Two codes with only 1 different line? No thanks...&lt;br /&gt;&lt;br /&gt;&lt;pre style="border: 1px dashed rgb(153, 153, 153); padding: 5px; overflow: auto; font-family: Andale Mono,Lucida Console,Monaco,fixed,monospace; color: rgb(0, 0, 0); background-color: rgb(238, 238, 238); font-size: 12px; line-height: 14px; width: 95%;"&gt;&lt;br /&gt;library("plotrix")&lt;br /&gt;library("RODBC")&lt;br /&gt;ch&lt;-odbcConnect("HANA",uid="P075400",pwd="***")&lt;br /&gt;res&lt;-sqlFetch(ch,"P075400.TICKETS_BY_YEAR_MONTH")&lt;br /&gt;fan.plot(res$TICKETS,labels=res$CARRIER,&lt;br /&gt;         main="Tickets for December 2011")&lt;br /&gt;#barplot(res$TICKETS,names.arg=res$CARRIER)&lt;br /&gt;odbcClose(ch)&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;The code is very simple...we call the libraries we need, we stablish a communication to our DSN, we fetch the data from the table, we create the graphics and finally we close the connection.&lt;br /&gt;&lt;br /&gt;And here come the graphics...&lt;br /&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/-j1FRYW_KDbA/TyqJ6bxs0dI/AAAAAAAABuE/2vwmPiTqk3g/s1600/Fan_HANA_Meets_R.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 247px;" src="http://2.bp.blogspot.com/-j1FRYW_KDbA/TyqJ6bxs0dI/AAAAAAAABuE/2vwmPiTqk3g/s400/Fan_HANA_Meets_R.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5704523514999787986" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/-kIHghr8Vfgk/TyqKBWr4eZI/AAAAAAAABuQ/Ttef7SBYzc0/s1600/Bar_HANA_Meets_R.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 247px;" src="http://2.bp.blogspot.com/-kIHghr8Vfgk/TyqKBWr4eZI/AAAAAAAABuQ/Ttef7SBYzc0/s400/Bar_HANA_Meets_R.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5704523633892293010" /&gt;&lt;/a&gt;&lt;br /&gt;I will keep investigating on this way to connect HANA and R...more blogs should be on the way -;)&lt;br /&gt;&lt;br /&gt;Greetings,&lt;br /&gt;&lt;br /&gt;Blag.&lt;br /&gt;&lt;/DIV&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4144704359177008692-6505552517748176769?l=blagrants.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blagrants.blogspot.com/feeds/6505552517748176769/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4144704359177008692&amp;postID=6505552517748176769' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/6505552517748176769'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/6505552517748176769'/><link rel='alternate' type='text/html' href='http://blagrants.blogspot.com/2012/02/hana-meets-r.html' title='HANA meets R'/><author><name>Alvaro "Blag" Tejada Galindo</name><uri>http://www.blogger.com/profile/12061593528820409779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='https://weblogs.sdn.sap.com/images/people/alvaro_tajeda.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-csGsI8hR-nI/TyqH94xZg7I/AAAAAAAABtI/ik1Xgv7ViyE/s72-c/DSN_001.PNG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4144704359177008692.post-9190067528061063280</id><published>2012-01-18T03:45:00.000-08:00</published><updated>2012-01-18T04:36:58.263-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Weird_Stuff'/><category scheme='http://www.blogger.com/atom/ns#' term='Python'/><title type='text'>Blag's Word Clock</title><content type='html'>&lt;DIV ALIGN="JUSTIFY"&gt;&lt;br /&gt;Do you know what a &lt;a href="http://www.dougswordclock.com/"&gt;Word Clock&lt;/a&gt; is? Well, it's basically a clock which gives you the time using words instead of numbers.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/-Tga4EXKY5SE/TxayOG9KjmI/AAAAAAAABsk/SsNzwoh-hwA/s1600/Blag_Word_Clock_000.jpeg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 393px; height: 400px;" src="http://3.bp.blogspot.com/-Tga4EXKY5SE/TxayOG9KjmI/AAAAAAAABsk/SsNzwoh-hwA/s400/Blag_Word_Clock_000.jpeg" border="0" alt=""id="BLOGGER_PHOTO_ID_5698938333939011170" /&gt;&lt;/a&gt;&lt;br /&gt;The first time I saw one...I knew I wanted to have one, but then I think to myself..."Hey! I'm a programmer...why buy one when I can build one?" Also...I realized that most of the Word Clocks doesn't give you the exact time as you can see in the picture...so I decided to fix that -:)&lt;br /&gt;&lt;br /&gt;Next step was to decided which programming language to use...I needed a nice graphical interface so ABAP and R we're out of the question...web version wasn't what I was looking for, so PHP was discarded as well...so my next guess was a language I really like and didn't want to forgot so easily -;) So I choose Python and wxPython to make it work -:) Of course...I'm far from being a Python expert, so I'm sure my code could be a little shorter -:P&lt;br /&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/-I5Hb76S3CUM/Txa5VL4e7HI/AAAAAAAABsw/p4kojOie0q8/s1600/Blag_Word_Clock_001.jpeg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 334px; height: 291px;" src="http://3.bp.blogspot.com/-I5Hb76S3CUM/Txa5VL4e7HI/AAAAAAAABsw/p4kojOie0q8/s400/Blag_Word_Clock_001.jpeg" border="0" alt=""id="BLOGGER_PHOTO_ID_5698946152102030450" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/-t4tmoS6-cwc/Txa5eQ_wK_I/AAAAAAAABs8/8ZaIIzuW7Cg/s1600/Blag_Word_Clock_002.jpeg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 331px; height: 290px;" src="http://2.bp.blogspot.com/-t4tmoS6-cwc/Txa5eQ_wK_I/AAAAAAAABs8/8ZaIIzuW7Cg/s400/Blag_Word_Clock_002.jpeg" border="0" alt=""id="BLOGGER_PHOTO_ID_5698946308093520882" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre style="border: 1px dashed rgb(153, 153, 153); padding: 5px; overflow: auto; font-family: Andale Mono,Lucida Console,Monaco,fixed,monospace; color: rgb(0, 0, 0); background-color: rgb(238, 238, 238); font-size: 12px; line-height: 14px; width: 95%;"&gt;&lt;br /&gt;#Blag's Word Clock&lt;br /&gt;#Alvaro "Blag" Tejada Galindo&lt;br /&gt;#17/01/2012&lt;br /&gt;import wx&lt;br /&gt;import time&lt;br /&gt;import datetime&lt;br /&gt;&lt;br /&gt;class MyApp(wx.App):&lt;br /&gt;    def OnInit(self):&lt;br /&gt;        self.frame = MyFrame(None, title="Blag's Word Clock")&lt;br /&gt;        self.SetTopWindow(self.frame)&lt;br /&gt;        self.frame.Show()&lt;br /&gt;        return True&lt;br /&gt;&lt;br /&gt;class MyFrame(wx.Frame):&lt;br /&gt;    def __init__(self, parent, id=wx.ID_ANY, title="",&lt;br /&gt;                 pos=wx.DefaultPosition, size=(330, 260),&lt;br /&gt;                 style=wx.DEFAULT_FRAME_STYLE ^ wx.RESIZE_BORDER,&lt;br /&gt;                 name="MyFrame"):&lt;br /&gt;        super(MyFrame, self).__init__(parent, id, title, pos,size, style, name)&lt;br /&gt;        self.timer = wx.Timer(self)&lt;br /&gt;        self.Bind(wx.EVT_TIMER, self.update, self.timer)&lt;br /&gt;        self.timer.Start(1000)&lt;br /&gt;        self.SetBackgroundColour("Black")&lt;br /&gt;        text_font = wx.Font(15, wx.SWISS, wx.NORMAL, wx.NORMAL, False, u'Arial')&lt;br /&gt;        self.label_it=wx.StaticText(self,1,"IT",wx.Point(10,10))&lt;br /&gt;        self.label_it.SetForegroundColour("yellow")&lt;br /&gt;        self.label_it.SetFont(text_font)&lt;br /&gt;        self.label_is=wx.StaticText(self,1,"IS",wx.Point(35,10))&lt;br /&gt;        self.label_is.SetForegroundColour("yellow")&lt;br /&gt;        self.label_is.SetFont(text_font)&lt;br /&gt;        self.label_half=wx.StaticText(self,1,"HALF",wx.Point(60,10))&lt;br /&gt;        self.label_half.SetForegroundColour("gray")&lt;br /&gt;        self.label_half.SetFont(text_font)&lt;br /&gt;        self.label_twenty=wx.StaticText(self,1,"TWENTY",wx.Point(120,10))&lt;br /&gt;        self.label_twenty.SetForegroundColour("gray")&lt;br /&gt;        self.label_twenty.SetFont(text_font)&lt;br /&gt;        self.label_quarter=wx.StaticText(self,1,"QUARTER",wx.Point(215,10))&lt;br /&gt;        self.label_quarter.SetForegroundColour("gray")&lt;br /&gt;        self.label_quarter.SetFont(text_font)&lt;br /&gt;                &lt;br /&gt;        self.label_ten=wx.StaticText(self,1,"TEN",wx.Point(10,40))&lt;br /&gt;        self.label_ten.SetForegroundColour("gray")&lt;br /&gt;        self.label_ten.SetFont(text_font)&lt;br /&gt;        self.label_to=wx.StaticText(self,1,"TO",wx.Point(75,40))&lt;br /&gt;        self.label_to.SetForegroundColour("gray")&lt;br /&gt;        self.label_to.SetFont(text_font)&lt;br /&gt;        self.label_one=wx.StaticText(self,1,"ONE",wx.Point(120,40))&lt;br /&gt;        self.label_one.SetForegroundColour("gray")&lt;br /&gt;        self.label_one.SetFont(text_font)&lt;br /&gt;        self.label_two=wx.StaticText(self,1,"TWO",wx.Point(180,40))&lt;br /&gt;        self.label_two.SetForegroundColour("gray")&lt;br /&gt;        self.label_two.SetFont(text_font)&lt;br /&gt;        self.label_three=wx.StaticText(self,1,"THREE",wx.Point(245,40))&lt;br /&gt;        self.label_three.SetForegroundColour("gray")&lt;br /&gt;        self.label_three.SetFont(text_font)&lt;br /&gt;                &lt;br /&gt;        self.label_four=wx.StaticText(self,1,"FOUR",wx.Point(10,70))&lt;br /&gt;        self.label_four.SetForegroundColour("gray")&lt;br /&gt;        self.label_four.SetFont(text_font)&lt;br /&gt;        self.label_five=wx.StaticText(self,1,"FIVE",wx.Point(75,70))&lt;br /&gt;        self.label_five.SetForegroundColour("gray")&lt;br /&gt;        self.label_five.SetFont(text_font)&lt;br /&gt;        self.label_six=wx.StaticText(self,1,"SIX",wx.Point(125,70))&lt;br /&gt;        self.label_six.SetForegroundColour("gray")&lt;br /&gt;        self.label_six.SetFont(text_font)&lt;br /&gt;        self.label_seven=wx.StaticText(self,1,"SEVEN",wx.Point(170,70))&lt;br /&gt;        self.label_seven.SetForegroundColour("gray")&lt;br /&gt;        self.label_seven.SetFont(text_font)&lt;br /&gt;        self.label_eight=wx.StaticText(self,1,"EIGHT",wx.Point(250,70))&lt;br /&gt;        self.label_eight.SetForegroundColour("gray")&lt;br /&gt;        self.label_eight.SetFont(text_font)&lt;br /&gt;                &lt;br /&gt;        self.label_nine=wx.StaticText(self,1,"NINE",wx.Point(10,100))&lt;br /&gt;        self.label_nine.SetForegroundColour("gray")&lt;br /&gt;        self.label_nine.SetFont(text_font)&lt;br /&gt;        self.label_eleven=wx.StaticText(self,1,"ELEVEN",wx.Point(110,100))&lt;br /&gt;        self.label_eleven.SetForegroundColour("gray")&lt;br /&gt;        self.label_eleven.SetFont(text_font)&lt;br /&gt;        self.label_twelve=wx.StaticText(self,1,"TWELVE",wx.Point(230,100))&lt;br /&gt;        self.label_twelve.SetForegroundColour("gray")&lt;br /&gt;        self.label_twelve.SetFont(text_font)&lt;br /&gt;                &lt;br /&gt;        self.label_minutes=wx.StaticText(self,1,"MINUTES",wx.Point(10,130))&lt;br /&gt;        self.label_minutes.SetForegroundColour("gray")&lt;br /&gt;        self.label_minutes.SetFont(text_font)&lt;br /&gt;        self.label_past=wx.StaticText(self,1,"PAST",wx.Point(115,130))&lt;br /&gt;        self.label_past.SetForegroundColour("gray")&lt;br /&gt;        self.label_past.SetFont(text_font)&lt;br /&gt;        self.label_to_x=wx.StaticText(self,1,"TO",wx.Point(180,130))&lt;br /&gt;        self.label_to_x.SetForegroundColour("gray")&lt;br /&gt;        self.label_to_x.SetFont(text_font)&lt;br /&gt;        self.label_one_x=wx.StaticText(self,1,"ONE",wx.Point(215,130))&lt;br /&gt;        self.label_one_x.SetForegroundColour("gray")&lt;br /&gt;        self.label_one_x.SetFont(text_font)&lt;br /&gt;        self.label_two_x=wx.StaticText(self,1,"TWO",wx.Point(265,130))&lt;br /&gt;        self.label_two_x.SetForegroundColour("gray")&lt;br /&gt;        self.label_two_x.SetFont(text_font)&lt;br /&gt;                &lt;br /&gt;        self.label_three_x=wx.StaticText(self,1,"THREE",wx.Point(10,160))&lt;br /&gt;        self.label_three_x.SetForegroundColour("gray")&lt;br /&gt;        self.label_three_x.SetFont(text_font)&lt;br /&gt;        self.label_four_x=wx.StaticText(self,1,"FOUR",wx.Point(85,160))&lt;br /&gt;        self.label_four_x.SetForegroundColour("gray")&lt;br /&gt;        self.label_four_x.SetFont(text_font)&lt;br /&gt;        self.label_five_x=wx.StaticText(self,1,"FIVE",wx.Point(150,160))&lt;br /&gt;        self.label_five_x.SetForegroundColour("gray")&lt;br /&gt;        self.label_five_x.SetFont(text_font)&lt;br /&gt;        self.label_six_x=wx.StaticText(self,1,"SIX",wx.Point(205,160))&lt;br /&gt;        self.label_six_x.SetForegroundColour("gray")&lt;br /&gt;        self.label_six_x.SetFont(text_font)&lt;br /&gt;        self.label_seven_x=wx.StaticText(self,1,"SEVEN",wx.Point(245,160))&lt;br /&gt;        self.label_seven_x.SetForegroundColour("gray")&lt;br /&gt;        self.label_seven_x.SetFont(text_font)&lt;br /&gt;                &lt;br /&gt;        self.label_eight_x=wx.StaticText(self,1,"EIGHT",wx.Point(10,190))&lt;br /&gt;        self.label_eight_x.SetForegroundColour("gray")&lt;br /&gt;        self.label_eight_x.SetFont(text_font)&lt;br /&gt;        self.label_nine_x=wx.StaticText(self,1,"NINE",wx.Point(95,190))&lt;br /&gt;        self.label_nine_x.SetForegroundColour("gray")&lt;br /&gt;        self.label_nine_x.SetFont(text_font)&lt;br /&gt;        self.label_ten_x=wx.StaticText(self,1,"TEN",wx.Point(165,190))&lt;br /&gt;        self.label_ten_x.SetForegroundColour("gray")&lt;br /&gt;        self.label_ten_x.SetFont(text_font)&lt;br /&gt;        self.label_eleven_x=wx.StaticText(self,1,"ELEVEN",wx.Point(235,190))&lt;br /&gt;        self.label_eleven_x.SetForegroundColour("gray")&lt;br /&gt;        self.label_eleven_x.SetFont(text_font)&lt;br /&gt;                &lt;br /&gt;        self.label_twelve_x=wx.StaticText(self,1,"TWELVE",wx.Point(10,220))&lt;br /&gt;        self.label_twelve_x.SetForegroundColour("gray")&lt;br /&gt;        self.label_twelve_x.SetFont(text_font)&lt;br /&gt;        self.label_oclock=wx.StaticText(self,1,"O'CLOCK",wx.Point(125,220))&lt;br /&gt;        self.label_oclock.SetForegroundColour("gray")&lt;br /&gt;        self.label_oclock.SetFont(text_font)&lt;br /&gt;        self.label_am=wx.StaticText(self,1,"AM",wx.Point(235,220))&lt;br /&gt;        self.label_am.SetForegroundColour("gray")&lt;br /&gt;        self.label_am.SetFont(text_font)&lt;br /&gt;        self.label_pm=wx.StaticText(self,1,"PM",wx.Point(283,220))&lt;br /&gt;        self.label_pm.SetForegroundColour("gray")&lt;br /&gt;        self.label_pm.SetFont(text_font)&lt;br /&gt;    &lt;br /&gt;    def reset_colours(self):&lt;br /&gt;        self.label_pm.SetForegroundColour("gray")&lt;br /&gt;        self.label_am.SetForegroundColour("gray")&lt;br /&gt;        self.label_oclock.SetForegroundColour("gray")&lt;br /&gt;        self.label_one.SetForegroundColour("gray")&lt;br /&gt;        self.label_two.SetForegroundColour("gray")&lt;br /&gt;        self.label_three.SetForegroundColour("gray")&lt;br /&gt;        self.label_four.SetForegroundColour("gray")&lt;br /&gt;        self.label_five.SetForegroundColour("gray")&lt;br /&gt;        self.label_six.SetForegroundColour("gray")&lt;br /&gt;        self.label_seven.SetForegroundColour("gray")&lt;br /&gt;        self.label_eight.SetForegroundColour("gray")&lt;br /&gt;        self.label_nine.SetForegroundColour("gray")&lt;br /&gt;        self.label_one_x.SetForegroundColour("gray")&lt;br /&gt;        self.label_two_x.SetForegroundColour("gray")&lt;br /&gt;        self.label_three_x.SetForegroundColour("gray")&lt;br /&gt;        self.label_four_x.SetForegroundColour("gray")&lt;br /&gt;        self.label_five_x.SetForegroundColour("gray")&lt;br /&gt;        self.label_six_x.SetForegroundColour("gray")&lt;br /&gt;        self.label_seven_x.SetForegroundColour("gray")&lt;br /&gt;        self.label_eight_x.SetForegroundColour("gray")&lt;br /&gt;        self.label_nine_x.SetForegroundColour("gray")&lt;br /&gt;        self.label_half.SetForegroundColour("gray")&lt;br /&gt;        self.label_twenty.SetForegroundColour("gray")&lt;br /&gt;        self.label_quarter.SetForegroundColour("gray")&lt;br /&gt;        self.label_ten.SetForegroundColour("gray")&lt;br /&gt;        self.label_ten_x.SetForegroundColour("gray")&lt;br /&gt;        self.label_eleven.SetForegroundColour("gray")&lt;br /&gt;        self.label_eleven_x.SetForegroundColour("gray")&lt;br /&gt;        self.label_twelve.SetForegroundColour("gray")&lt;br /&gt;        self.label_twelve_x.SetForegroundColour("gray")&lt;br /&gt;&lt;br /&gt;    def hours(self,hour):&lt;br /&gt;        if hour == 12:&lt;br /&gt;            self.label_twelve.SetForegroundColour("yellow")&lt;br /&gt;        elif hour == 11:&lt;br /&gt;            self.label_eleven.SetForegroundColour("yellow")&lt;br /&gt;        elif hour == 10:&lt;br /&gt;            self.label_ten.SetForegroundColour("yellow")&lt;br /&gt;        elif hour == 9:&lt;br /&gt;            self.label_nine.SetForegroundColour("yellow")&lt;br /&gt;        elif hour == 8:&lt;br /&gt;            self.label_eight.SetForegroundColour("yellow")&lt;br /&gt;        elif hour == 7:&lt;br /&gt;            self.label_seven.SetForegroundColour("yellow")&lt;br /&gt;        elif hour == 6:&lt;br /&gt;            self.label_six.SetForegroundColour("yellow")&lt;br /&gt;        elif hour == 5:&lt;br /&gt;            self.label_five.SetForegroundColour("yellow")&lt;br /&gt;        elif hour == 4:&lt;br /&gt;            self.label_four.SetForegroundColour("yellow")&lt;br /&gt;        elif hour == 3:&lt;br /&gt;            self.label_three.SetForegroundColour("yellow")&lt;br /&gt;        elif hour == 2:&lt;br /&gt;            self.label_two.SetForegroundColour("yellow")&lt;br /&gt;        elif hour == 1:&lt;br /&gt;            self.label_one.SetForegroundColour("yellow")            &lt;br /&gt;&lt;br /&gt;    def minutes(self,reminder):&lt;br /&gt;        if reminder == 9:&lt;br /&gt;            self.label_nine.SetForegroundColour("yellow")&lt;br /&gt;        if reminder == 8:&lt;br /&gt;            self.label_eight.SetForegroundColour("yellow")&lt;br /&gt;        if reminder == 7:&lt;br /&gt;            self.label_seven.SetForegroundColour("yellow")&lt;br /&gt;        if reminder == 6:&lt;br /&gt;            self.label_six.SetForegroundColour("yellow")&lt;br /&gt;        if reminder == 5:&lt;br /&gt;            self.label_five.SetForegroundColour("yellow")&lt;br /&gt;        if reminder == 4:&lt;br /&gt;            self.label_four.SetForegroundColour("yellow")&lt;br /&gt;        if reminder == 3:&lt;br /&gt;            self.label_three.SetForegroundColour("yellow")&lt;br /&gt;        if reminder == 2:&lt;br /&gt;            self.label_two.SetForegroundColour("yellow")&lt;br /&gt;        if reminder == 1:&lt;br /&gt;            self.label_one.SetForegroundColour("yellow")&lt;br /&gt;&lt;br /&gt;    def update(self, event):        &lt;br /&gt;        self.reset_colours()&lt;br /&gt;        now=datetime.datetime.now()&lt;br /&gt;        hour = now.hour&lt;br /&gt;        minute = now.minute&lt;br /&gt;        if hour &gt;= 12 and minute != 0:&lt;br /&gt;            self.label_pm.SetForegroundColour("yellow")&lt;br /&gt;            hour = hour - 12&lt;br /&gt;        elif hour &lt; 12 and minute != 0:&lt;br /&gt;            self.label_am.SetForegroundColour("yellow")&lt;br /&gt;        elif minute == 0:&lt;br /&gt;            self.label_oclock.SetForegroundColour("yellow")&lt;br /&gt;            if hour &gt;= 12:&lt;br /&gt;                hour = hour - 12&lt;br /&gt;                self.hours(hour)&lt;br /&gt;            else:&lt;br /&gt;                self.hours(hour)&lt;br /&gt;&lt;br /&gt;        if minute &gt;= 1 and minute &lt;= 29:&lt;br /&gt;            self.label_minutes.SetForegroundColour("yellow")&lt;br /&gt;            self.label_past.SetForegroundColour("yellow")&lt;br /&gt;            if hour == 12:&lt;br /&gt;                self.label_twelve_x.SetForegroundColour("yellow")&lt;br /&gt;            elif hour == 11:&lt;br /&gt;                self.label_eleven_x.SetForegroundColour("yellow")&lt;br /&gt;            elif hour == 10:&lt;br /&gt;                self.label_ten_x.SetForegroundColour("yellow")&lt;br /&gt;            elif hour == 9:&lt;br /&gt;                self.label_nine_x.SetForegroundColour("yellow")&lt;br /&gt;            elif hour == 8:&lt;br /&gt;                self.label_eight_x.SetForegroundColour("yellow")&lt;br /&gt;            elif hour == 7:&lt;br /&gt;                self.label_seven_x.SetForegroundColour("yellow")&lt;br /&gt;            elif hour == 6:&lt;br /&gt;                self.label_six_x.SetForegroundColour("yellow")&lt;br /&gt;            elif hour == 5:&lt;br /&gt;                self.label_five_x.SetForegroundColour("yellow")&lt;br /&gt;            elif hour == 4:&lt;br /&gt;                self.label_four_x.SetForegroundColour("yellow")&lt;br /&gt;            elif hour == 3:&lt;br /&gt;                self.label_three_x.SetForegroundColour("yellow")&lt;br /&gt;            elif hour == 2:&lt;br /&gt;                self.label_two_x.SetForegroundColour("yellow")&lt;br /&gt;            elif hour == 1:&lt;br /&gt;                self.label_one_x.SetForegroundColour("yellow")&lt;br /&gt;            division = minute / 20&lt;br /&gt;            reminder = minute % 20                &lt;br /&gt;            if division == 1 and reminder == 0:&lt;br /&gt;                self.label_twenty.SetForegroundColour("yellow")&lt;br /&gt;            elif division == 1 and reminder != 0:&lt;br /&gt;                self.label_twenty.SetForegroundColour("yellow")&lt;br /&gt;                self.minutes(reminder)&lt;br /&gt;            division = minute / 10&lt;br /&gt;            reminder = minute % 10                &lt;br /&gt;            if division == 1 and reminder == 0:&lt;br /&gt;                self.label_ten.SetForegroundColour("yellow")&lt;br /&gt;            elif division == 1 and reminder != 0:&lt;br /&gt;                self.label_ten.SetForegroundColour("yellow")&lt;br /&gt;                if reminder == 9:&lt;br /&gt;                    self.label_nine.SetForegroundColour("yellow")&lt;br /&gt;                if reminder == 8:&lt;br /&gt;                    self.label_eight.SetForegroundColour("yellow")&lt;br /&gt;                if reminder == 7:&lt;br /&gt;                    self.label_seven.SetForegroundColour("yellow")&lt;br /&gt;                if reminder == 6:&lt;br /&gt;                    self.label_six.SetForegroundColour("yellow")&lt;br /&gt;                if reminder == 5:&lt;br /&gt;                    self.label_ten.SetForegroundColour("gray")&lt;br /&gt;                    self.label_quarter.SetForegroundColour("yellow")&lt;br /&gt;                if reminder == 4:&lt;br /&gt;                    self.label_four.SetForegroundColour("yellow")&lt;br /&gt;                if reminder == 3:&lt;br /&gt;                    self.label_three.SetForegroundColour("yellow")&lt;br /&gt;                if reminder == 2:&lt;br /&gt;                    self.label_ten.SetForegroundColour("gray")&lt;br /&gt;                    self.label_twelve.SetForegroundColour("yellow")&lt;br /&gt;                if reminder == 1:&lt;br /&gt;                    self.label_ten.SetForegroundColour("gray")&lt;br /&gt;                    self.label_eleven.SetForegroundColour("yellow")&lt;br /&gt;            elif division == 0 and reminder != 0:&lt;br /&gt;                if reminder == 9:&lt;br /&gt;                    self.label_nine.SetForegroundColour("yellow")&lt;br /&gt;                if reminder == 8:&lt;br /&gt;                    self.label_eight.SetForegroundColour("yellow")&lt;br /&gt;                if reminder == 7:&lt;br /&gt;                    self.label_seven.SetForegroundColour("yellow")&lt;br /&gt;                if reminder == 6:&lt;br /&gt;                    self.label_six.SetForegroundColour("yellow")&lt;br /&gt;                if reminder == 5:&lt;br /&gt;                    self.label_five.SetForegroundColour("yellow")&lt;br /&gt;                if reminder == 4:&lt;br /&gt;                    self.label_four.SetForegroundColour("yellow")&lt;br /&gt;                if reminder == 3:&lt;br /&gt;                    self.label_three.SetForegroundColour("yellow")&lt;br /&gt;                if reminder == 2:&lt;br /&gt;                    self.label_two.SetForegroundColour("yellow")&lt;br /&gt;                if reminder == 1:&lt;br /&gt;                    self.label_one.SetForegroundColour("yellow")&lt;br /&gt;                        &lt;br /&gt;        elif minute == 30:&lt;br /&gt;            self.hours(hour)&lt;br /&gt;            self.label_half.SetForegroundColour("yellow")&lt;br /&gt;            self.label_past.SetForegroundColour("yellow")&lt;br /&gt;&lt;br /&gt;        elif minute &gt;= 29 and minute &lt;= 59:&lt;br /&gt;            self.label_minutes.SetForegroundColour("yellow")&lt;br /&gt;            minute = 60 - minute&lt;br /&gt;            self.label_to_x.SetForegroundColour("yellow")&lt;br /&gt;            hour = hour + 1&lt;br /&gt;            if hour == 12:&lt;br /&gt;                self.label_twelve_x.SetForegroundColour("yellow")&lt;br /&gt;            elif hour == 11:&lt;br /&gt;                self.label_eleven_x.SetForegroundColour("yellow")&lt;br /&gt;            elif hour == 10:&lt;br /&gt;                self.label_ten_x.SetForegroundColour("yellow")&lt;br /&gt;            elif hour == 9:&lt;br /&gt;                self.label_nine_x.SetForegroundColour("yellow")&lt;br /&gt;            elif hour == 8:&lt;br /&gt;                self.label_eight_x.SetForegroundColour("yellow")&lt;br /&gt;            elif hour == 7:&lt;br /&gt;                self.label_seven_x.SetForegroundColour("yellow")&lt;br /&gt;            elif hour == 6:&lt;br /&gt;                self.label_six_x.SetForegroundColour("yellow")&lt;br /&gt;            elif hour == 5:&lt;br /&gt;                self.label_five_x.SetForegroundColour("yellow")&lt;br /&gt;            elif hour == 4:&lt;br /&gt;                self.label_four_x.SetForegroundColour("yellow")&lt;br /&gt;            elif hour == 3:&lt;br /&gt;                self.label_three_x.SetForegroundColour("yellow")&lt;br /&gt;            elif hour == 2:&lt;br /&gt;                self.label_two_x.SetForegroundColour("yellow")&lt;br /&gt;            elif hour == 1:&lt;br /&gt;                self.label_one_x.SetForegroundColour("yellow")&lt;br /&gt;            division = minute / 20&lt;br /&gt;            reminder = minute % 20                &lt;br /&gt;            if division == 1 and reminder == 0:&lt;br /&gt;                self.label_twenty.SetForegroundColour("yellow")&lt;br /&gt;            elif division == 1 and reminder != 0:&lt;br /&gt;                self.label_twenty.SetForegroundColour("yellow")&lt;br /&gt;                if reminder == 9:&lt;br /&gt;                    self.label_nine.SetForegroundColour("yellow")&lt;br /&gt;                if reminder == 8:&lt;br /&gt;                    self.label_eight.SetForegroundColour("yellow")&lt;br /&gt;                if reminder == 7:&lt;br /&gt;                    self.label_seven.SetForegroundColour("yellow")&lt;br /&gt;                if reminder == 6:&lt;br /&gt;                    self.label_six.SetForegroundColour("yellow")&lt;br /&gt;                if reminder == 5:&lt;br /&gt;                    self.label_five.SetForegroundColour("yellow")&lt;br /&gt;                if reminder == 4:&lt;br /&gt;                    self.label_four.SetForegroundColour("yellow")&lt;br /&gt;                if reminder == 3:&lt;br /&gt;                    self.label_three.SetForegroundColour("yellow")&lt;br /&gt;                if reminder == 2:&lt;br /&gt;                    self.label_two.SetForegroundColour("yellow")&lt;br /&gt;                if reminder == 1:&lt;br /&gt;                    self.label_one.SetForegroundColour("yellow")&lt;br /&gt;            division = minute / 10&lt;br /&gt;            reminder = minute % 10                &lt;br /&gt;            if division == 1 and reminder == 0:&lt;br /&gt;                self.label_ten.SetForegroundColour("yellow")&lt;br /&gt;            elif division == 1 and reminder != 0:&lt;br /&gt;                self.label_ten.SetForegroundColour("yellow")&lt;br /&gt;                if reminder == 9:&lt;br /&gt;                    self.label_nine.SetForegroundColour("yellow")&lt;br /&gt;                if reminder == 8:&lt;br /&gt;                    self.label_eight.SetForegroundColour("yellow")&lt;br /&gt;                if reminder == 7:&lt;br /&gt;                    self.label_seven.SetForegroundColour("yellow")&lt;br /&gt;                if reminder == 6:&lt;br /&gt;                    self.label_six.SetForegroundColour("yellow")&lt;br /&gt;                if reminder == 5:&lt;br /&gt;                    self.label_ten.SetForegroundColour("gray")&lt;br /&gt;                    self.label_quarter.SetForegroundColour("yellow")&lt;br /&gt;                if reminder == 4:&lt;br /&gt;                    self.label_four.SetForegroundColour("yellow")&lt;br /&gt;                if reminder == 3:&lt;br /&gt;                    self.label_three.SetForegroundColour("yellow")&lt;br /&gt;                if reminder == 2:&lt;br /&gt;                    self.label_ten.SetForegroundColour("gray")&lt;br /&gt;                    self.label_twelve.SetForegroundColour("yellow")&lt;br /&gt;                if reminder == 1:&lt;br /&gt;                    self.label_ten.SetForegroundColour("gray")&lt;br /&gt;                    self.label_eleven.SetForegroundColour("yellow")&lt;br /&gt;            elif division == 0 and reminder != 0:&lt;br /&gt;                self.minutes(reminder)    &lt;br /&gt;&lt;br /&gt;if __name__ == "__main__":&lt;br /&gt;    app = MyApp(False)&lt;br /&gt;    app.MainLoop() &lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Greetings,&lt;br /&gt;&lt;br /&gt;Blag.&lt;br /&gt;&lt;/DIV&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4144704359177008692-9190067528061063280?l=blagrants.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blagrants.blogspot.com/feeds/9190067528061063280/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4144704359177008692&amp;postID=9190067528061063280' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/9190067528061063280'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/9190067528061063280'/><link rel='alternate' type='text/html' href='http://blagrants.blogspot.com/2012/01/blags-word-clock.html' title='Blag&apos;s Word Clock'/><author><name>Alvaro "Blag" Tejada Galindo</name><uri>http://www.blogger.com/profile/12061593528820409779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='https://weblogs.sdn.sap.com/images/people/alvaro_tajeda.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-Tga4EXKY5SE/TxayOG9KjmI/AAAAAAAABsk/SsNzwoh-hwA/s72-c/Blag_Word_Clock_000.jpeg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4144704359177008692.post-1064424228340941707</id><published>2012-01-14T05:09:00.000-08:00</published><updated>2012-01-14T05:36:40.658-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SAPHANA'/><category scheme='http://www.blogger.com/atom/ns#' term='R'/><title type='text'>Prediction model with HANA and R</title><content type='html'>&lt;div align="justify"&gt;&lt;br /&gt;&lt;p&gt;These days, I have been reading and playing a lot with &lt;a href="http://www.r-project.org/"&gt;R&lt;/a&gt;, and I really come to love it...of course, I don't have a clue on those weird statistics formulas, but it doesn't mean I can't use R and try do some awesome stuff with it.&lt;/p&gt;&lt;p&gt;So, yesterday I was thinking about doing another integration between HANA and R, my new adopted kids, so I came with the idea of building a prediction model for a flight company. I followed this steps.&lt;/p&gt;&lt;p&gt;1.- First, I need to choose a table, so I picked SNVOICE:&lt;/p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/-9atMs2wlWdA/TxF_9RLE6fI/AAAAAAAABrw/RsMSrHghoJA/s1600/snvoice.PNG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 397px; height: 202px;" src="http://1.bp.blogspot.com/-9atMs2wlWdA/TxF_9RLE6fI/AAAAAAAABrw/RsMSrHghoJA/s400/snvoice.PNG" border="0" alt=""id="BLOGGER_PHOTO_ID_5697475694158998002" /&gt;&lt;/a&gt;&lt;p&gt;This table offers us, the carrier id, the date and book id, meaning the amount of tickets sold in a particular day. And from here when can do some calculation and determine how many tickets were sold in each month of a particular year.&lt;/p&gt;&lt;p&gt;2.- I needed a table to store my new information, so I created the table TICKETS_BY_YEAR:&lt;/p&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/-TVj1wlnik3I/TxGAI6NG4dI/AAAAAAAABr8/8VJ4HXWaQO0/s1600/Ticket_by_year.PNG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 133px;" src="http://1.bp.blogspot.com/-TVj1wlnik3I/TxGAI6NG4dI/AAAAAAAABr8/8VJ4HXWaQO0/s400/Ticket_by_year.PNG" border="0" alt=""id="BLOGGER_PHOTO_ID_5697475894151930322" /&gt;&lt;/a&gt;&lt;p&gt;3.- I needed a Procedure script to analyse the table, determine the total amount per day of the month and then gave a grand total per month.&lt;/p&gt;&lt;br /&gt;&lt;pre style="border: 1px dashed rgb(153, 153, 153); padding: 5px; overflow: auto; font-family: Andale Mono,Lucida Console,Monaco,fixed,monospace; color: rgb(0, 0, 0); background-color: rgb(238, 238, 238); font-size: 12px; line-height: 14px; width: 95%;"&gt;&lt;br /&gt;CREATE PROCEDURE GetTicketsByMonth &lt;br /&gt;(IN var_year NVARCHAR(4),IN var_carrid NVARCHAR(2))&lt;br /&gt;LANGUAGE SQLSCRIPT AS&lt;br /&gt;v_found NVARCHAR(2) := 1;&lt;br /&gt;sum_bookid INT;&lt;br /&gt;v_date NVARCHAR(8) := '';&lt;br /&gt;BEGIN                &lt;br /&gt;TT_MONTH = select fldate, count(bookid) as "BOOKID"&lt;br /&gt;           from sflight.snvoice &lt;br /&gt;           where year(fldate) = VAR_YEAR and carrid = VAR_CARRID&lt;br /&gt;           group by fldate&lt;br /&gt;           order by fldate asc;&lt;br /&gt;v_date := (:var_year * 10000) + 101;&lt;br /&gt;while :v_found &amp;lt;= 12 do &lt;br /&gt;select sum(bookid) into sum_bookid&lt;br /&gt;from :TT_MONTH&lt;br /&gt;where month(fldate) = :v_found;&lt;br /&gt;insert into TICKETS_BY_YEAR&lt;br /&gt;values(v_date,sum_bookid);&lt;br /&gt;v_date := :v_date + 100;&lt;br /&gt;v_found := :v_found + 1;&lt;br /&gt;end while;           &lt;br /&gt;END;&lt;br /&gt;&lt;/pre&gt;&lt;p&gt;4.- Of course...I needed to call my Procedure...&lt;/p&gt;&lt;br /&gt;&lt;pre style="border: 1px dashed rgb(153, 153, 153); padding: 5px; overflow: auto; font-family: Andale Mono,Lucida Console,Monaco,fixed,monospace; color: rgb(0, 0, 0); background-color: rgb(238, 238, 238); font-size: 12px; line-height: 14px; width: 95%;"&gt;&lt;br /&gt;CALL P075400.GetTicketsByMonth('2011','''AA''');&lt;br /&gt;&lt;/pre&gt;&lt;p&gt;5.- Once finished, I checked my table to see if everything worked as expected...&lt;/p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/--apKKeOZtxk/TxGAauaDpcI/AAAAAAAABsI/kWqJSRJMD4M/s1600/Ticket_by_year_preview.PNG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 273px; height: 308px;" src="http://1.bp.blogspot.com/--apKKeOZtxk/TxGAauaDpcI/AAAAAAAABsI/kWqJSRJMD4M/s400/Ticket_by_year_preview.PNG" border="0" alt=""id="BLOGGER_PHOTO_ID_5697476200222664130" /&gt;&lt;/a&gt;&lt;p&gt;6.- After realizing that my data was nice and clean, I exported to an .CSV file (Sorry...no pics this time...I already post it in a previous blog)&lt;/p&gt;&lt;p&gt;7.- I went to my R Studio and start coding...&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;pre style="border: 1px dashed rgb(153, 153, 153); padding: 5px; overflow: auto; font-family: Andale Mono,Lucida Console,Monaco,fixed,monospace; color: rgb(0, 0, 0); background-color: rgb(238, 238, 238); font-size: 12px; line-height: 14px; width: 95%;"&gt;&lt;br /&gt;Flight_Tickets=read.csv(file="Flight_Tickets.csv",header=TRUE)&lt;br /&gt;period=Flight_Tickets$PERIOD&lt;br /&gt;tickets=Flight_Tickets$TICKETS&lt;br /&gt;var_year=substr(period[1],1,4)&lt;br /&gt;var_year=as.integer(var_year)&lt;br /&gt;var_year=var_year+1&lt;br /&gt;var_year=as.character(var_year)&lt;br /&gt;new_period=gsub("^\\d{4}",var_year,period)&lt;br /&gt;next_year=data.frame(year=new_period,StringsAsFactors=FALSE)&lt;br /&gt;prt.lm=lm(tickets ~ period)&lt;br /&gt;pred=predict(prt.lm,next_year,interval="none")&lt;br /&gt;&lt;br /&gt;plot(tickets,type="b",&lt;br /&gt;     col="red",&lt;br /&gt;     main="Annual Tickets Sale",&lt;br /&gt;     xlab="Months",ylab="Tickets")&lt;br /&gt;lines(pred,type="b",col="blue")&lt;br /&gt;legend("bottomleft",inset=.05,title="Real vs. Predicted",&lt;br /&gt;       c("Real","Predicted"),&lt;br /&gt;       lty=c(1,1),col=c("red","blue"))&lt;br /&gt;&lt;/pre&gt;&lt;/p&gt;&lt;p&gt;8.- I watch my generated graphic showing the real tickets sale vs. the predicted tickets sale. The real is for every month of 2011 and the predicted for every month of 2012.&lt;/p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/-9Yew7nJVl1A/TxGAmu-RGKI/AAAAAAAABsU/FOhGlP-q448/s1600/Annual_Tickets_Sale.jpeg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 360px;" src="http://3.bp.blogspot.com/-9Yew7nJVl1A/TxGAmu-RGKI/AAAAAAAABsU/FOhGlP-q448/s400/Annual_Tickets_Sale.jpeg" border="0" alt=""id="BLOGGER_PHOTO_ID_5697476406532970658" /&gt;&lt;/a&gt;&lt;p&gt;9.- Nothing to do here...it's done -:)&lt;/p&gt;&lt;p&gt;10.- See you next time with more HANA, R or another nice technology.&lt;/p&gt;&lt;br /&gt;Greetings,&lt;br /&gt;&lt;br /&gt;Blag.&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4144704359177008692-1064424228340941707?l=blagrants.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blagrants.blogspot.com/feeds/1064424228340941707/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4144704359177008692&amp;postID=1064424228340941707' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/1064424228340941707'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/1064424228340941707'/><link rel='alternate' type='text/html' href='http://blagrants.blogspot.com/2012/01/prediction-model-with-hana-and-r.html' title='Prediction model with HANA and R'/><author><name>Alvaro "Blag" Tejada Galindo</name><uri>http://www.blogger.com/profile/12061593528820409779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='https://weblogs.sdn.sap.com/images/people/alvaro_tajeda.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-9atMs2wlWdA/TxF_9RLE6fI/AAAAAAAABrw/RsMSrHghoJA/s72-c/snvoice.PNG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4144704359177008692.post-4119784721134534056</id><published>2012-01-02T11:24:00.000-08:00</published><updated>2012-01-02T11:28:32.055-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SAP'/><category scheme='http://www.blogger.com/atom/ns#' term='SCN'/><title type='text'>Blag's best blogs picks from 2011</title><content type='html'>&lt;div align="justify"&gt;&lt;br /&gt;&lt;p&gt;So 2011 is already gone...it was a good year, so now it's the time for to continue with a tradition I started 4 years ago with the blog &lt;a href="http://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/8090" target="_blank"&gt;Blag's best blogs picks from 2007&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;I can see with hapiness, that each year, better blogs are being done, and it's hard for me not to include them on the list, so it became bigger each year.&lt;/p&gt;&lt;p&gt;Again, I'm not an expert in each field, far from that, the only thing I did, just like previous years, is browse the blogs from each month, and try to select the ones that for me are the best, or simply are hidden gems....blogs with no comments, but that really delivers something important. Hope you like this list -:) And if you're not in it...sorry, but make a huge list like this is a very overwhelming job, so I'm surely missed really nice blogs -:(&lt;/p&gt;&lt;br&gt;&lt;p&gt;&lt;strong&gt;ABAP&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/23283" target="_blank"&gt;Don't try to be smart. Be smart.&lt;/a&gt; by&amp;nbsp;&lt;a href="http://www.sdn.sap.com/irj/scn/bc?u=a2W5xJKKHuWj6dlF7kmDbg%3D%3D" target="_blank"&gt;Tobias Trapp&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/23086" target="_blank"&gt;Caffeine in Action&lt;/a&gt; by&amp;nbsp;&lt;a href="http://www.sdn.sap.com/irj/scn/bc?u=bYuRY6po7IU%3D" target="_blank"&gt;Daniel Vocke&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/23738" target="_blank"&gt;ABAP Trapdoors: The Myth of the Instance Constructor&lt;/a&gt; by&amp;nbsp;&lt;a href="http://www.sdn.sap.com/irj/scn/bc?u=Zlx%2BrLx4gEfwn13ROUsJBw%3D%3D" target="_blank"&gt;Volker Wegert&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/26740" target="_blank"&gt;Operations Research &amp;amp; ABAP&lt;/a&gt; by&amp;nbsp;&lt;a href="http://www.sdn.sap.com/irj/scn/bc?u=a2W5xJKKHuWj6dlF7kmDbg%3D%3D" target="_blank"&gt;Tobias Trapp&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Open Source&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/22827" target="_blank"&gt;More Barcodes with Barcode Writer in Pure Postscript&lt;/a&gt; by&amp;nbsp;&lt;a href="http://www.sdn.sap.com/irj/scn/bc?u=rNh0R9PoCSaABbCsUpK8XQ%3D%3D" target="_blank"&gt;Robert Russell&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/27548" target="_blank"&gt;Dealing with R and HANA&lt;/a&gt; by &lt;a href="http://www.sdn.sap.com/irj/scn/bc?u=nkxEgTFlWZE%3D" target="_blank"&gt;Alvaro Tejada Galindo&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/26207" target="_blank"&gt;abap2gapps: is your ABAP ready for the Google cloud?&lt;/a&gt; by&amp;nbsp;&lt;a href="http://www.sdn.sap.com/irj/scn/bc?u=tjFGqAAiIQ4dF1omuFJZcQ%3D%3D" target="_blank"&gt;Ivan Femia&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/26204" target="_blank"&gt;OAuth2: Next generation authentication API&lt;/a&gt; by&amp;nbsp;&lt;a href="http://www.sdn.sap.com/irj/scn/bc?u=tjFGqAAiIQ4dF1omuFJZcQ%3D%3D" target="_blank"&gt;Ivan Femia&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;On Demand and Software as a Services (SaaS)&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/23210" target="_blank"&gt;Why Dick Hirsch is mostly wrong about ByDesign guerilla tactics&lt;/a&gt; by&amp;nbsp;&lt;a href="http://www.sdn.sap.com/irj/scn/bc?u=AfPsNmJJyu0%3D" target="_blank"&gt;Dennis Howlett&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/23200" target="_blank"&gt;Guerrilla Tactics for SAP&amp;rsquo;'s OnDemand 'Go to Market' Strategy&lt;/a&gt; by&amp;nbsp;&lt;a href="http://www.sdn.sap.com/irj/scn/bc?u=PCUWdFESp%2BElgnBu4p6e9A%3D%3D" target="_blank"&gt;Richard Hirsch&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Improving My Experience&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/23203" target="_blank"&gt;Does the SAP SCN community need more achievements and rewards?&lt;/a&gt; by&amp;nbsp;&lt;a href="http://www.sdn.sap.com/irj/scn/bc?u=bpsMP4HBq6QKtEidBmf3ww%3D%3D" target="_blank"&gt;Tom Cenens&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/25848" target="_blank"&gt;"Programmers are lazy" - InnoJam them!&lt;/a&gt; by&amp;nbsp;&lt;a href="http://www.sdn.sap.com/irj/scn/bc?u=366Gzpeb06rPklZfVCxHPQ%3D%3D" target="_blank"&gt;Chris Paine&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/26754" target="_blank"&gt;Download basket approvals gone with the wind&lt;/a&gt; by&amp;nbsp;&lt;a href="http://www.sdn.sap.com/irj/scn/bc?u=bpsMP4HBq6QKtEidBmf3ww%3D%3D" target="_blank"&gt;Tom Cenens&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;SAP Developer Network&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/23133" target="_blank"&gt;16 SAP Mentor Magic Moments 2010&lt;/a&gt; by&amp;nbsp;&lt;a href="http://www.sdn.sap.com/irj/scn/bc?u=G9g0PZYnHCA%3D" target="_blank"&gt;Mark Finnern&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/23089" target="_blank"&gt;SCN Blogs Go Mobile&lt;/a&gt; by&amp;nbsp;&lt;a href="http://www.sdn.sap.com/irj/scn/bc?u=6v4SGATYtPg%3D" target="_blank"&gt;Gali Kling Schneider&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/25529" target="_blank"&gt;SDN Time Capsule : How it all started by Jeff Word&lt;/a&gt; by&amp;nbsp;&lt;a href="http://www.sdn.sap.com/irj/scn/bc?u=ZzFuAxu95pkQfY%2BMPH65%2BQ%3D%3D" target="_blank"&gt;Martin Gillet&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/27089" target="_blank"&gt;Things that drive me crazy on SDN&lt;/a&gt; by&amp;nbsp;&lt;a href="http://www.sdn.sap.com/irj/scn/bc?u=FNU%2Bdd4bfiBn1LqP%2Fo38zg%3D%3D" target="_blank"&gt;Martin Maruskin&lt;/a&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/27705" target="_blank"&gt;Top 25 SCN Blogs of all Time&lt;/a&gt; by&amp;nbsp;&lt;a href="http://www.sdn.sap.com/irj/scn/bc?u=G9g0PZYnHCA%3D" target="_blank"&gt;Mark Finnern&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Web Dynpro&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/23468" target="_blank"&gt;Kiss of Life for ABAP Dynpro &amp;ndash;- It&amp;rsquo;s going to stay, so let&amp;rsquo;s improve the integration&lt;/a&gt; by&amp;nbsp;&lt;a href="http://www.sdn.sap.com/irj/scn/bc?u=FqRXbQSPhnDWyeaOV5QEDA%3D%3D" target="_blank"&gt;Thorsten Franz&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Standards&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/24025" target="_blank"&gt;Sorry Singleton I don't love you anymore.&lt;/a&gt; by&amp;nbsp;&lt;a href="http://www.sdn.sap.com/irj/scn/bc?u=366Gzpeb06rPklZfVCxHPQ%3D%3D" target="_blank"&gt;Chris Paine&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Community Projects&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/23981" target="_blank"&gt;Can the community be improved?&lt;/a&gt; by&amp;nbsp;&lt;a href="http://www.sdn.sap.com/irj/scn/bc?u=AfPsNmJJyu0%3D" target="_blank"&gt;Dennis Howlett&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/26617" target="_blank"&gt;A simple way of giving back to the community&lt;/a&gt; by&amp;nbsp;&lt;a href="http://www.sdn.sap.com/irj/scn/bc?u=r5X3QuIYNeg%3D" target="_blank"&gt;John Astill&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/27225" target="_blank"&gt;Damned If You Do And Damned If You Do Not&lt;/a&gt; by&amp;nbsp;&lt;a href="http://www.sdn.sap.com/irj/scn/bc?u=aEYYjpyVTLA%3D" target="_blank"&gt;Marilyn Pratt&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Governance, Risk and Compliance&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/23734" target="_blank"&gt;Making the case for SAP Mentor alumni program&lt;/a&gt; by&amp;nbsp;&lt;a href="http://www.sdn.sap.com/irj/scn/bc?u=AfPsNmJJyu0%3D" target="_blank"&gt;Dennis Howlett&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Beyond SAP&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/23714" target="_blank"&gt;[Plagiarism] Why thieves from portals like saptechies.com are safe ? Bloggers please help...&lt;/a&gt; by&amp;nbsp;&lt;a href="http://www.sdn.sap.com/irj/scn/bc?u=EjrRW2LHEos%3D" target="_blank"&gt;Michal_Krawczyk_PIXI&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/25212" target="_blank"&gt;OINK OINK! Welcome to the SAP Gamification Cup!&lt;/a&gt; by&amp;nbsp;&lt;a href="http://www.sdn.sap.com/irj/scn/bc?u=y%2FlnOF0w%2FiY%3D" target="_blank"&gt;Mario Herger&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/24886" target="_blank"&gt;Is ABAP for Non-ABAPers (Functionals)?&lt;/a&gt; by&amp;nbsp;&lt;a href="http://www.sdn.sap.com/irj/scn/bc?u=3eSL2fjsuwI%3D" target="_blank"&gt;Fabio Luiz Esperati Pagoti&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/26505" target="_blank"&gt;Not your Grandfather&amp;rsquo;s SAP&lt;/a&gt; (Recommended by &lt;a href="http://www.sdn.sap.com/irj/scn/bc?u=tjFGqAAiIQ4dF1omuFJZcQ%3D%3D" target="_blank"&gt;Ivan Femia&lt;/a&gt;) by&amp;nbsp;&lt;a href="http://www.sdn.sap.com/irj/scn/bc?u=FqRXbQSPhnDWyeaOV5QEDA%3D%3D" target="_blank"&gt;Thorsten Franz&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/26477" target="_blank"&gt;About 'Embracing Inclusion to Drive Innovation'&lt;/a&gt; by&amp;nbsp;&lt;a href="http://www.sdn.sap.com/irj/scn/bc?u=3H8B2h0rfbo%3D" target="_blank"&gt;Matthias Steiner&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/26922" target="_blank"&gt;R.I.P Dennis Ritchie, and thank you !&lt;/a&gt; by&amp;nbsp;&lt;a href="http://www.sdn.sap.com/irj/scn/bc?u=Sfunl3f3bfnC3cCuBDKVoA%3D%3D" target="_blank"&gt;Vijay Vijayasankar&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/26753" target="_blank"&gt;Rest In Peace, Game Changer&lt;/a&gt; by&amp;nbsp;&lt;a href="http://www.sdn.sap.com/irj/scn/bc?u=Sfunl3f3bfnC3cCuBDKVoA%3D%3D" target="_blank"&gt;Vijay Vijayasankar&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/27135" target="_blank"&gt;A word of thanks&lt;/a&gt; by&amp;nbsp;&lt;a href="http://www.sdn.sap.com/irj/scn/bc?u=bpsMP4HBq6QKtEidBmf3ww%3D%3D" target="_blank"&gt;Tom Cenens&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/27017" target="_blank"&gt;Join with SAP and the U.N. as One of the 7 Billion!&lt;/a&gt; by&amp;nbsp;&lt;a href="http://www.sdn.sap.com/irj/scn/bc?u=0j5zMfhYI3E%3D" target="_blank"&gt;Mark Yolton&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Ranting&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/24448" target="_blank"&gt;Bad good, and Great Consultants???&lt;/a&gt; by&amp;nbsp;&lt;a href="http://www.sdn.sap.com/irj/scn/bc?u=XOb%2FeDcTiAVNbm8mmAl4Aw%3D%3D" target="_blank"&gt;Michelle Crapo&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/25465" target="_blank"&gt;Etiquette Versus Netiquette&lt;/a&gt; by&amp;nbsp;&lt;a href="http://www.sdn.sap.com/irj/scn/bc?u=%2B1kmYo%2B1%2B%2F8%3D" target="_blank"&gt;Bala Prabahar&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/27553" target="_blank"&gt;Five signs that the new SCN is dysfunctional&lt;/a&gt; by&amp;nbsp;&lt;a href="http://www.sdn.sap.com/irj/scn/bc?u=UoX1prteXsEbNcWtF6UJ3A%3D%3D" target="_blank"&gt;Jim Spath&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;ERP&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/24277" target="_blank"&gt;Embed an HTML landing page into your SAP GUI home screen&lt;/a&gt; by&amp;nbsp;&lt;a href="http://www.sdn.sap.com/irj/scn/bc?u=V2bTJ9RDryIII%2Fc2V%2B%2FWTQ%3D%3D" target="_blank"&gt;John Moy&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/25357" target="_blank"&gt;Why Workday is a Major Threat to SAP&lt;/a&gt; by&amp;nbsp;&lt;a href="http://www.sdn.sap.com/irj/scn/bc?u=vfvPuzAjRkhmzV%2F9GjunpA%3D%3D" target="_blank"&gt;Jarret Pazahanick&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Business Process Management&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/24131" target="_blank"&gt;SAPMentors + ASUG +VNSG +SAP = #winning!&lt;/a&gt; by&amp;nbsp;&lt;a href="http://www.sdn.sap.com/irj/scn/bc?u=ESYgRt568jE29%2F575tdNRg%3D%3D" target="_blank"&gt;Susan Keohan&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Business Process Expert&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/25862" target="_blank"&gt;Embracing Inclusion &amp;ndash;- Driving Innovation : An Introduction&lt;/a&gt; by&amp;nbsp;&lt;a href="http://www.sdn.sap.com/irj/scn/bc?u=aEYYjpyVTLA%3D" target="_blank"&gt;Marilyn Pratt&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;SAP TechEd&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/25083" target="_blank"&gt;Why I'm excited about the upcoming TechEd in Las Vegas&lt;/a&gt; by&amp;nbsp;&lt;a href="http://www.sdn.sap.com/irj/scn/bc?u=9g7UM6qKyPE%2FLXwxopOn1w%3D%3D" target="_blank"&gt;Matt Harding&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/25339" target="_blank"&gt;Help an SAP Mentor with his travels?&lt;/a&gt; by&amp;nbsp;&lt;a href="http://www.sdn.sap.com/irj/scn/bc?u=UoX1prteXsEbNcWtF6UJ3A%3D%3D" target="_blank"&gt;Jim Spath&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/25807" target="_blank"&gt;SCNotty Goes To Bollywood&lt;/a&gt; by&amp;nbsp;&lt;a href="http://www.sdn.sap.com/irj/scn/bc?u=UoX1prteXsEbNcWtF6UJ3A%3D%3D" target="_blank"&gt;Jim Spath&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/27123" target="_blank"&gt;Design Thinking, Women in technology at Tech-ed BLR 2011 a participant&amp;rsquo;'s view&lt;/a&gt; by&amp;nbsp;&lt;a href="http://www.sdn.sap.com/irj/scn/bc?u=nlsZpkcjXgs%3D" target="_blank"&gt;SINGHKUMUD&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Python&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/25106" target="_blank"&gt;Tasting the mix of Python and SAP&lt;/a&gt; by &lt;a href="http://www.sdn.sap.com/irj/scn/bc?u=nkxEgTFlWZE%3D" target="_blank"&gt;Alvaro Tejada Galindo&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;In-Memory Business Data Management&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/25070" target="_blank"&gt;POV: HANA's impact on ABAP Programming&lt;/a&gt; by&amp;nbsp;&lt;a href="http://www.sdn.sap.com/irj/scn/bc?u=6w3YNRksOGsgP3wUuVWegw%3D%3D" target="_blank"&gt;Ram Batulla&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/26105" target="_blank"&gt;Quick Thoughts about HANA and InMemory Technology&lt;/a&gt; by&amp;nbsp;&lt;a href="http://www.sdn.sap.com/irj/scn/bc?u=lXprLUHXsrAQfY%2BMPH65%2BQ%3D%3D" target="_blank"&gt;Richard Hirsch&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/25872" target="_blank"&gt;Finding SAP HANA Documentation&lt;/a&gt; by&amp;nbsp;&lt;a href="http://www.sdn.sap.com/irj/scn/bc?u=2S35Bjbkoq6bRNXZEM0Mqw%3D%3D" target="_blank"&gt;John Appleby&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/25861" target="_blank"&gt;An InnoJam Experience - with HANA flavour&lt;/a&gt; by&amp;nbsp;&lt;a href="http://www.sdn.sap.com/irj/scn/bc?u=adHsgL3WgV8I6z1bsFYi3w%3D%3D" target="_blank"&gt;Sarat Atluri&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/26657" target="_blank"&gt;Are we putting the cart before the horse?&lt;/a&gt; by&amp;nbsp;&lt;a href="http://www.sdn.sap.com/irj/scn/bc?u=%2B1kmYo%2B1%2B%2F8%3D" target="_blank"&gt;Bala Prabahar&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/26658" target="_blank"&gt;Experience HANA - the wish list&lt;/a&gt; by&amp;nbsp;&lt;a href="http://www.sdn.sap.com/irj/scn/bc?u=Sfunl3f3bfnC3cCuBDKVoA%3D%3D" target="_blank"&gt;Vijay Vijayasankar&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/26606" target="_blank"&gt;How much of the game will HANA change?&lt;/a&gt; by&amp;nbsp;&lt;a href="http://www.sdn.sap.com/irj/scn/bc?u=Sfunl3f3bfnC3cCuBDKVoA%3D%3D" target="_blank"&gt;Vijay Vijayasankar&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/27086" target="_blank"&gt;Why SAP HANA 1.0 SP03 - Project Orange - will be a runaway success&lt;/a&gt; by&amp;nbsp;&lt;a href="http://www.sdn.sap.com/irj/scn/bc?u=2S35Bjbkoq6bRNXZEM0Mqw%3D%3D" target="_blank"&gt;John Appleby&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/26747" target="_blank"&gt;Using Excel on HANA&lt;/a&gt; by&amp;nbsp;&lt;a href="http://www.sdn.sap.com/irj/scn/bc?u=qiBXNO5%2FnR0%3D" target="_blank"&gt;Thomas Zurek&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/26736" target="_blank"&gt;ExaData, ExaLogic, and now ExaLytics? ExaSperating&amp;hellip;&lt;/a&gt; by&amp;nbsp;&lt;a href="http://www.sdn.sap.com/irj/scn/bc?u=Xj97hkg6MkA%3D" target="_blank"&gt;Aiaz Kazi&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Mobile&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/24851" target="_blank"&gt;An Android App for searching HELP.SAP.COM&lt;/a&gt; by&amp;nbsp;&lt;a href="http://www.sdn.sap.com/irj/scn/bc?u=V2bTJ9RDryIII%2Fc2V%2B%2FWTQ%3D%3D" target="_blank"&gt;John Moy&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/25315" target="_blank"&gt;Mobile SAP Applications using DHTMLX Touch&lt;/a&gt; by&amp;nbsp;&lt;a href="http://www.sdn.sap.com/irj/scn/bc?u=0aeaZI0Raf78ddyZtDSc%2BQ%3D%3D" target="_blank"&gt;Brad Pokroy&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/26201" target="_blank"&gt;SAPMentors Outreach iOS App&lt;/a&gt; by&amp;nbsp;&lt;a href="http://www.sdn.sap.com/irj/scn/bc?u=vzbX46DjQAI%3D" target="_blank"&gt;Bjoern Weigand&lt;/a&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/24679" target="_blank"&gt;Proudly Presenting the SAP Mentors Outreach Mobile App for Android &amp;ndash; Connect with SAP Mentors at SAPphireNOW/ASUG Orlando&lt;/a&gt; by&amp;nbsp;&lt;a href="http://www.sdn.sap.com/irj/scn/bc?u=FqRXbQSPhnDWyeaOV5QEDA%3D%3D" target="_blank"&gt;Thorsten Franz&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/27075" target="_blank"&gt;Thoughts on the current debate about the Sybase Unwired Platform and options to energize the mobile development community&lt;/a&gt; by&amp;nbsp;&lt;a href="http://www.sdn.sap.com/irj/scn/bc?u=lXprLUHXsrAQfY%2BMPH65%2BQ%3D%3D" target="_blank"&gt;Richard Hirsch&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/26946" target="_blank"&gt;SAP Mentor Outreach is now available on JQuery Mobile&lt;/a&gt; by&amp;nbsp;&lt;a href="http://www.sdn.sap.com/irj/scn/bc?u=tjFGqAAiIQ4dF1omuFJZcQ%3D%3D" target="_blank"&gt;Ivan Femia&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/27958" target="_blank"&gt;An experiment of Android with HANA In-Memory Database&lt;/a&gt; by&amp;nbsp;&lt;a href="http://www.sdn.sap.com/irj/scn/bc?u=ByrNbt9%2BZgg%3D" target="_blank"&gt;Sudhir Verma&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/28029" target="_blank"&gt;BSP mobile logon screen using jQueryMobile&lt;/a&gt; by&amp;nbsp;&lt;a href="http://www.sdn.sap.com/irj/scn/bc?u=%2BXzjk65ycmk%3D" target="_blank"&gt;Alessandro Spadoni&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;SAP Streamwork&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/25720" target="_blank"&gt;SAP StreamWork: Picking up Steam?&lt;/a&gt; by&amp;nbsp;&lt;a href="http://www.sdn.sap.com/irj/scn/bc?u=V%2F8AqEv21d8X435Mz40ukw%3D%3D" target="_blank"&gt;Tammy Powlas&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Social Media and Social Networks&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/25593" target="_blank"&gt;Why Google+'s rapid adoption doesn't impress me&lt;/a&gt; by&amp;nbsp;&lt;a href="http://www.sdn.sap.com/irj/scn/bc?u=GP%2BAfhbjTXTB7x4BEpNd9g%3D%3D" target="_blank"&gt;Jamie Oswald&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/26083" target="_blank"&gt;8 Ways to Let You Know SCN is Listening (on Twitter)&lt;/a&gt; by&amp;nbsp;&lt;a href="http://www.sdn.sap.com/irj/scn/bc?u=8H3sls8yOX8QfY%2BMPH65%2BQ%3D%3D" target="_blank"&gt;Sylvia Santelli&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/26674" target="_blank"&gt;Confessions of mixed emotions about the coming new SCN&lt;/a&gt; by&amp;nbsp;&lt;a href="http://www.sdn.sap.com/irj/scn/bc?u=8TtZbQd4adcQfY%2BMPH65%2BQ%3D%3D" target="_blank"&gt;Gretchen Y Lindquist&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/27119" target="_blank"&gt;What I Learned About Social Media Marketing from a Webinar on Mobile Marketing&lt;/a&gt; by&amp;nbsp;&lt;a href="http://www.sdn.sap.com/irj/scn/bc?u=sg6eRKnGedUQfY%2BMPH65%2BQ%3D%3D" target="_blank"&gt;Natascha Thomson&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/26993" target="_blank"&gt;How cool is SCN?&lt;/a&gt; by&amp;nbsp;&lt;a href="http://www.sdn.sap.com/irj/scn/bc?u=zcC6OJVd7Gk%3D" target="_blank"&gt;Graham Robinson&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/27426" target="_blank"&gt;What it means to me to be an SAP Mentor&lt;/a&gt; by&amp;nbsp;&lt;a href="http://www.sdn.sap.com/irj/scn/bc?u=sg6eRKnGedUQfY%2BMPH65%2BQ%3D%3D" target="_blank"&gt;Natascha Thomson&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/27253" target="_blank"&gt;12 SAP Troublemakers&lt;/a&gt; by&amp;nbsp;&lt;a href="http://www.sdn.sap.com/irj/scn/bc?u=vfvPuzAjRkhmzV%2F9GjunpA%3D%3D" target="_blank"&gt;Jarret Pazahanick&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/27168" target="_blank"&gt;I'm outta here !!&lt;/a&gt; by&amp;nbsp;&lt;a href="http://www.sdn.sap.com/irj/scn/bc?u=AfPsNmJJyu0%3D" target="_blank"&gt;Dennis Howlett&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/27788" target="_blank"&gt;Unsolicited Advice for Blogging Marketers&lt;/a&gt; by&amp;nbsp;&lt;a href="http://www.sdn.sap.com/irj/scn/bc?u=GP%2BAfhbjTXTB7x4BEpNd9g%3D%3D" target="_blank"&gt;Jamie Oswald&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Emerging Technologies&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/25496" target="_blank"&gt;My first Android Application&lt;/a&gt; by&amp;nbsp;&lt;a href="http://www.sdn.sap.com/irj/scn/bc?u=s00aVP2rZLE%3D" target="_blank"&gt;Girish Kaimal&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Ruby&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/26594" target="_blank"&gt;Ruby, Camping and...Gateway?&lt;/a&gt; by &lt;a href="http://www.sdn.sap.com/irj/scn/bc?u=nkxEgTFlWZE%3D" target="_blank"&gt;Alvaro Tejada Galindo&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/27976" target="_blank"&gt;Building a Cross-Platform Mobile App with rhomobile&lt;/a&gt; by&amp;nbsp;&lt;a href="http://www.sdn.sap.com/irj/scn/bc?u=gyntrY%2F3Z%2BRttQ6oEFYZUw%3D%3D" target="_blank"&gt;Mark Teichmann&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Run SAP&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/26357" target="_blank"&gt;SAP HANA InnoJam Online, SAP's new developer competition&lt;/a&gt; by &lt;a href="http://www.sdn.sap.com/irj/scn/bc?u=Uu5QSjmP9j0%3D" target="_blank"&gt;Anne Hardy&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/26462" target="_blank"&gt;SCN runs SAP!&lt;/a&gt; by&amp;nbsp;&lt;a href="http://www.sdn.sap.com/irj/scn/bc?u=IxQ4wBE1MZM%3D" target="_blank"&gt;Maya Bahar&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;SAP NetWeaver Gateway&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/26943" target="_blank"&gt;Thoughts on NetWeaver Gateway&lt;/a&gt; by&amp;nbsp;&lt;a href="http://www.sdn.sap.com/irj/scn/bc?u=zcC6OJVd7Gk%3D" target="_blank"&gt;Graham Robinson&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/26913" target="_blank"&gt;SAP NetWeaver Gateway: 90-day trial version, train race, webinar, and other news&lt;/a&gt; by&amp;nbsp;&lt;a href="http://www.sdn.sap.com/irj/scn/bc?u=UVKW52l7b0kQfY%2BMPH65%2BQ%3D%3D" target="_blank"&gt;Helena Losada&lt;/a&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/27565" target="_blank"&gt;SAP NetWeaver Gateway: A Poor Man's EDMX Generation Tool&lt;/a&gt; by&amp;nbsp;&lt;a href="http://www.sdn.sap.com/irj/scn/bc?u=2f%2BrrPos4iY%3D" target="_blank"&gt;James Wood&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Community Day&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/26813" target="_blank"&gt;SAP Inside Track Milan 2011 - The reporting&lt;/a&gt; by&amp;nbsp;&lt;a href="http://www.sdn.sap.com/irj/scn/bc?u=tjFGqAAiIQ4dF1omuFJZcQ%3D%3D" target="_blank"&gt;Ivan Femia&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;PHP&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/26866" target="_blank"&gt;Consuming SAP NetWeaver Gateway OData web services using PHP&lt;/a&gt; by&amp;nbsp;&lt;a href="http://www.sdn.sap.com/irj/scn/bc?u=w1lo%2Fi2lT1J%2F9FHI7yV9Lg%3D%3D" target="_blank"&gt;Christopher Reichley&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Visual Composer&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/27231" target="_blank"&gt;Old School UI Modeling - Meet HANA&lt;/a&gt; by&amp;nbsp;&lt;a href="http://www.sdn.sap.com/irj/scn/bc?u=rOwKF5nvl%2FA%3D" target="_blank"&gt;Yariv Zur&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/28023" target="_blank"&gt;Portal Development - Why Web Dynpro Java is replaceable&lt;/a&gt; by&amp;nbsp;&lt;a href="http://www.sdn.sap.com/irj/scn/bc?u=sSuZnA%2F%2FK%2FQ%3D" target="_blank"&gt;Tobias Hofmann&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4144704359177008692-4119784721134534056?l=blagrants.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blagrants.blogspot.com/feeds/4119784721134534056/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4144704359177008692&amp;postID=4119784721134534056' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/4119784721134534056'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/4119784721134534056'/><link rel='alternate' type='text/html' href='http://blagrants.blogspot.com/2012/01/blags-best-blogs-picks-from-2011.html' title='Blag&apos;s best blogs picks from 2011'/><author><name>Alvaro "Blag" Tejada Galindo</name><uri>http://www.blogger.com/profile/12061593528820409779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='https://weblogs.sdn.sap.com/images/people/alvaro_tajeda.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4144704359177008692.post-4217700826610781170</id><published>2011-12-31T17:43:00.000-08:00</published><updated>2011-12-31T17:49:21.077-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Rant'/><title type='text'>Happy New Year 2012!</title><content type='html'>&lt;DIV ALIGN="JUSTIFY"&gt;&lt;br /&gt;I guess it's the time to talk about the good things that happened to me in 2011, and the things that I would like to happen in 2012...so here it goes -:)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;2011&lt;/span&gt;&lt;br /&gt;* Joined SAP&lt;br /&gt;* Learned HANA, Gateway and R&lt;br /&gt;* Quit being an ABAP Consultant after almost 11 years&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;2012&lt;/span&gt;&lt;br /&gt;* Write my Python book&lt;br /&gt;* Keep learning R&lt;br /&gt;* Lost weight&lt;br /&gt;* Give my daughter the best 4 years old party ever&lt;br /&gt;&lt;br /&gt;And BTW...HAPPY NEW YEAR 2012!!!&lt;br /&gt;&lt;br /&gt;Greetings,&lt;br /&gt;&lt;br /&gt;Blag.&lt;br /&gt;&lt;/DIV&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4144704359177008692-4217700826610781170?l=blagrants.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blagrants.blogspot.com/feeds/4217700826610781170/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4144704359177008692&amp;postID=4217700826610781170' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/4217700826610781170'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/4217700826610781170'/><link rel='alternate' type='text/html' href='http://blagrants.blogspot.com/2011/12/happy-new-year-2012.html' title='Happy New Year 2012!'/><author><name>Alvaro "Blag" Tejada Galindo</name><uri>http://www.blogger.com/profile/12061593528820409779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='https://weblogs.sdn.sap.com/images/people/alvaro_tajeda.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4144704359177008692.post-7549678550909939706</id><published>2011-12-29T11:14:00.000-08:00</published><updated>2011-12-29T11:51:09.618-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Sports'/><category scheme='http://www.blogger.com/atom/ns#' term='Kinnect'/><category scheme='http://www.blogger.com/atom/ns#' term='Rant'/><category scheme='http://www.blogger.com/atom/ns#' term='XBox'/><title type='text'>Your Shape: Fitness Evolved 2012</title><content type='html'>&lt;DIV ALIGN="JUSTIFY"&gt;&lt;br /&gt;This is not the first time I blog about a fitness game...last time was &lt;a href="http://blagrants.blogspot.com/2010/08/againtrying-to-loose-some-weight-p.html"&gt;Again...trying to loose some weight -:P&lt;/a&gt; and first time was &lt;a href="http://blagrants.blogspot.com/2009/08/this-post-sucksi-know-that.html"&gt;This post sucks...I know that...&lt;/a&gt; but this time is different for two simple reasons...this time I'm talking about an XBox 360 Kinect Game and this time...it really works -;) Or at least it seems so -:P&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/-f-mkM3L2uxA/Tvy9Q5y6u0I/AAAAAAAABrA/aHoSYyiRz0A/s1600/Your_Shape_00.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 300px; height: 300px;" src="http://4.bp.blogspot.com/-f-mkM3L2uxA/Tvy9Q5y6u0I/AAAAAAAABrA/aHoSYyiRz0A/s400/Your_Shape_00.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5691632127179406146" /&gt;&lt;/a&gt;&lt;br /&gt;I got the game for Christmas so I haven't play it to much, but let me tell you...it really makes you sweat...10 ten times more than &lt;a href="http://wiifit.com/"&gt;Wii Fit Plus&lt;/a&gt;...also, using no controls more than your body is a must -;)&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/-lPjNSlvbQfQ/Tvy-J-smc2I/AAAAAAAABrM/NGpKlu3dmuk/s1600/Your_Shape_01.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 225px;" src="http://4.bp.blogspot.com/-lPjNSlvbQfQ/Tvy-J-smc2I/AAAAAAAABrM/NGpKlu3dmuk/s400/Your_Shape_01.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5691633107747631970" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/-PbjAQmuDVEc/Tvy-T1GdA8I/AAAAAAAABrY/na_ahhlpvdo/s1600/Your_Shape_02.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 225px;" src="http://3.bp.blogspot.com/-PbjAQmuDVEc/Tvy-T1GdA8I/AAAAAAAABrY/na_ahhlpvdo/s400/Your_Shape_02.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5691633276970402754" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/-jhqNCd5Pxk0/Tvy-b6659-I/AAAAAAAABrk/dGsBxQbFbZ4/s1600/Your_Shape_03.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 225px;" src="http://3.bp.blogspot.com/-jhqNCd5Pxk0/Tvy-b6659-I/AAAAAAAABrk/dGsBxQbFbZ4/s400/Your_Shape_03.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5691633415971534818" /&gt;&lt;/a&gt;&lt;br /&gt;Of course I haven't count them (I'm too busy exercising myself), but I assume there's about 300 exercises...covering all needed exercises...meaning that this game...is hell of an exercise -:P&lt;br /&gt;&lt;br /&gt;But...nothing is perfect you will say -:) What I really miss (And assume not everything is possible):&lt;br /&gt;&lt;br /&gt;* Should warn after 30 minutes of training (Like the Wii Fit Plus)&lt;br /&gt;* Should calculate your body mass or something (Like the Wii Fit Plus)&lt;br /&gt;* Should show some chart of how many calories your burned on each day...you're supposed to log into &lt;a href="http://yourshapecenter.ubi.com/"&gt;Your Shape Center&lt;/a&gt; but it fails when you try to reach the Dashboard&lt;br /&gt;&lt;br /&gt;Anyway...the game is really awesome and you should buy it if your into going to the gym...without actually going to the gym -:P&lt;br /&gt;&lt;br /&gt;Greetings,&lt;br /&gt;&lt;br /&gt;Blag.&lt;br /&gt;&lt;/DIV&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4144704359177008692-7549678550909939706?l=blagrants.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blagrants.blogspot.com/feeds/7549678550909939706/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4144704359177008692&amp;postID=7549678550909939706' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/7549678550909939706'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/7549678550909939706'/><link rel='alternate' type='text/html' href='http://blagrants.blogspot.com/2011/12/your-shape-fitness-evolved-2012.html' title='Your Shape: Fitness Evolved 2012'/><author><name>Alvaro "Blag" Tejada Galindo</name><uri>http://www.blogger.com/profile/12061593528820409779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='https://weblogs.sdn.sap.com/images/people/alvaro_tajeda.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-f-mkM3L2uxA/Tvy9Q5y6u0I/AAAAAAAABrA/aHoSYyiRz0A/s72-c/Your_Shape_00.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4144704359177008692.post-7563232209641498153</id><published>2011-12-07T20:03:00.001-08:00</published><updated>2011-12-07T20:05:28.104-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='misc'/><category scheme='http://www.blogger.com/atom/ns#' term='RegEx'/><category scheme='http://www.blogger.com/atom/ns#' term='Ruby'/><category scheme='http://www.blogger.com/atom/ns#' term='SAP'/><category scheme='http://www.blogger.com/atom/ns#' term='Flex'/><category scheme='http://www.blogger.com/atom/ns#' term='ABAP'/><title type='text'>Christmas Sale!</title><content type='html'>&lt;DIV ALIGN="JUSTIFY"&gt;&lt;br /&gt;Again...up to 30% of discount in my books (printed version) in...&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.lulu.com/spotlight/blag"&gt;Blag's books in Lulu.com&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Available until the first week of January...hurry up and take the deal -;)&lt;br /&gt;&lt;br /&gt;Greetings,&lt;br /&gt;&lt;br /&gt;Blag.&lt;br /&gt;&lt;/DIV&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4144704359177008692-7563232209641498153?l=blagrants.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blagrants.blogspot.com/feeds/7563232209641498153/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4144704359177008692&amp;postID=7563232209641498153' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/7563232209641498153'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/7563232209641498153'/><link rel='alternate' type='text/html' href='http://blagrants.blogspot.com/2011/12/christmas-sale.html' title='Christmas Sale!'/><author><name>Alvaro "Blag" Tejada Galindo</name><uri>http://www.blogger.com/profile/12061593528820409779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='https://weblogs.sdn.sap.com/images/people/alvaro_tajeda.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4144704359177008692.post-1843462806199326118</id><published>2011-12-05T10:19:00.000-08:00</published><updated>2011-12-05T10:25:05.888-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='R'/><title type='text'>Decimal to Binary in "R"</title><content type='html'>&lt;DIV ALIGN="JUSTIFY"&gt;&lt;br /&gt;Lately...I've been learning "R"...that weird programming language aimed for Statistics and Statistical programming...and I really like it...so as usual, I needed to create my own Decimal to Binary application -;)&lt;br /&gt;&lt;br /&gt;&lt;pre style="border: 1px dashed rgb(153, 153, 153); padding: 5px; overflow: auto; font-family: Andale Mono,Lucida Console,Monaco,fixed,monospace; color: rgb(0, 0, 0); background-color: rgb(238, 238, 238); font-size: 12px; line-height: 14px; width: 95%;"&gt;&lt;br /&gt;binary&lt;-function(p_number) {&lt;br /&gt;  bsum&lt;-0&lt;br /&gt;  bexp&lt;-1&lt;br /&gt;  while (p_number &gt; 0) {&lt;br /&gt;     digit&lt;-p_number %% 2&lt;br /&gt;     p_number&lt;-floor(p_number / 2)&lt;br /&gt;     bsum&lt;-bsum + digit * bexp&lt;br /&gt;     bexp&lt;-bexp * 10&lt;br /&gt;  }&lt;br /&gt;  return(bsum)&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;p_number&lt;-readline("Decimal number?: ")&lt;br /&gt;p_number&lt;-as.numeric(p_number)&lt;br /&gt;bsum&lt;-binary(p_number)&lt;br /&gt;cat("Binary: ", bsum)&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;For this example, I used &lt;a href="http://rstudio.org/"&gt;RStudio&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/-raEgYgghXNw/Tt0MCxfyQfI/AAAAAAAABqs/crvVY39XZyc/s1600/RDecToBin.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 360px;" src="http://1.bp.blogspot.com/-raEgYgghXNw/Tt0MCxfyQfI/AAAAAAAABqs/crvVY39XZyc/s400/RDecToBin.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5682711546597360114" /&gt;&lt;/a&gt;&lt;br /&gt;Greetings,&lt;br /&gt;&lt;br /&gt;Blag.&lt;br /&gt;&lt;/DIV&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4144704359177008692-1843462806199326118?l=blagrants.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blagrants.blogspot.com/feeds/1843462806199326118/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4144704359177008692&amp;postID=1843462806199326118' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/1843462806199326118'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/1843462806199326118'/><link rel='alternate' type='text/html' href='http://blagrants.blogspot.com/2011/12/decimal-to-binary-in-r.html' title='Decimal to Binary in &quot;R&quot;'/><author><name>Alvaro "Blag" Tejada Galindo</name><uri>http://www.blogger.com/profile/12061593528820409779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='https://weblogs.sdn.sap.com/images/people/alvaro_tajeda.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-raEgYgghXNw/Tt0MCxfyQfI/AAAAAAAABqs/crvVY39XZyc/s72-c/RDecToBin.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4144704359177008692.post-4153045991370279152</id><published>2011-12-03T11:56:00.000-08:00</published><updated>2011-12-03T12:02:38.289-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SAPHANA'/><title type='text'>SAP HANA InnoJam Online Contest - Wake up call</title><content type='html'>&lt;DIV ALIGN="JUSTIFY"&gt;&lt;br /&gt;Did you know that there's a SAP HANA InnoJam Online Contest? I hope not, because most probably...you haven't submit your idea...&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.sdn.sap.com/irj/scn/bc?u=Uu5QSjmP9j0%3D"&gt;Anne Hardy&lt;/a&gt; and &lt;a href="http://www.sdn.sap.com/irj/scn/bc?u=XOb%2FeDcTiAVNbm8mmAl4Aw%3D%3D"&gt;Michelle Crapo&lt;/a&gt; has wrote blogs about it...&lt;a href="http://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/27291"&gt;SAP HANA InnoJam online contest, new start&lt;/a&gt;...&lt;a href="http://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/27452"&gt;Switching Gears - Have you heard about the Hana Online InnoJam?&lt;/a&gt; but it seems that sometimes two blogs are not enough to send a message...&lt;br /&gt;&lt;br /&gt;&lt;a href="http://wiki.sdn.sap.com/wiki/display/~taosz6t"&gt;Karin Schattka&lt;/a&gt; kindy create a WIKI with all the information and FAQ for this contest &lt;a href="http://wiki.sdn.sap.com/wiki/display/events/SAP+HANA+InnoJam+Online+2012"&gt;SAP HANA InnoJam Online 2012&lt;/a&gt; so there's not much for me to say, except maybe to give you the Ideas Place link so you can submit your killer idea and win the contest -;)&lt;br /&gt;&lt;br /&gt;&lt;a href="https://cw.sdn.sap.com/cw/community/ideas/community_and_services/sap_hana_innojam_online"&gt;sap_hana_innojam_online&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;But you know me...I just can't limit myself to that...didn't you know that if your idea is accepted...the 100 first will be, you're going to get access to the SAP HANA Sandbox? And that will be your space to install and/or additional tools that might help you, like "R" for example, or Microsoft Excel and Business Object Explorer.&lt;br /&gt;&lt;br /&gt;Should I talk about the prizes? No...I don't think so...you can read it somewhere else, also I'm sure that for all geeks out there, having a chance to play with SAP HANA is prize enough, right? &lt;br /&gt;&lt;br /&gt;As today, we have only 47 submissions on Ideas Place...meaning that 53 places can still be filled...so hurry up! Think about your killer idea! Submit it to Ideas Place! Get approve and develop your solution using SAP HANA! Make it to the finals! Win the contest!&lt;br /&gt;&lt;br /&gt;I really hope that after reading this blog, you submit your idea...I will be watching -;)&lt;br /&gt;&lt;br /&gt;Greetings,&lt;br /&gt;&lt;br /&gt;Blag.&lt;br /&gt;&lt;/DIV&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4144704359177008692-4153045991370279152?l=blagrants.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blagrants.blogspot.com/feeds/4153045991370279152/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4144704359177008692&amp;postID=4153045991370279152' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/4153045991370279152'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/4153045991370279152'/><link rel='alternate' type='text/html' href='http://blagrants.blogspot.com/2011/12/sap-hana-innojam-online-contest-wake-up.html' title='SAP HANA InnoJam Online Contest - Wake up call'/><author><name>Alvaro "Blag" Tejada Galindo</name><uri>http://www.blogger.com/profile/12061593528820409779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='https://weblogs.sdn.sap.com/images/people/alvaro_tajeda.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4144704359177008692.post-862031241009528663</id><published>2011-11-28T18:49:00.001-08:00</published><updated>2011-11-28T19:03:16.688-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SAPHANA'/><category scheme='http://www.blogger.com/atom/ns#' term='R'/><title type='text'>Dealing with R and HANA</title><content type='html'>&lt;div align="justify"&gt;&lt;br /&gt;&lt;p&gt;First things first...what's "R"? Simply put...is a programming language and software environment for statistical computing and graphics. More infomation can be found here &lt;a href="http://en.wikipedia.org/wiki/R_(programming_language)" target="_blank"&gt;R on Wikipedia&lt;/a&gt;&lt;/p&gt;&lt;p&gt;I have code in many programming languages, some of them very commercial, and some of them little known, but I got say, that from all, "R" is one of the most weird and awesome languages I have ever played with...and it has an amazing repository of custom add-ons.&lt;/p&gt;&lt;p&gt;If you have read the&amp;nbsp;&lt;a href="https://www.experiencesaphana.com/docs/DOC-1138" target="_blank"&gt;HANA Pocketbook&lt;/a&gt;&amp;nbsp;you will realize that there's a reference to "R" in the page 59. Now, that kind of integration between "R" and HANA haven't been developed yet, but it doesn't mean we can get our hands dirty doing some research and development.&lt;/p&gt;&lt;/p&gt;&lt;p&gt;What I did for this example was to simply show the information of my Analytic View on HANA and exported as an CSV file. From there, it's easy to import it into "R" and start doing some nice things. (The idea is that we should be able to code "R" straight in the HANA environment...or at least that's how I think it's going to be...)&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/-VjKfBn3ha3A/TtRKUpgOf9I/AAAAAAAABpY/Zw5wE2cf3Bc/s1600/HANA_SBOOK_000.PNG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 151px; height: 145px;" src="http://3.bp.blogspot.com/-VjKfBn3ha3A/TtRKUpgOf9I/AAAAAAAABpY/Zw5wE2cf3Bc/s400/HANA_SBOOK_000.PNG" border="0" alt=""id="BLOGGER_PHOTO_ID_5680246748619898834" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/-47UV2h_haNA/TtRKbLC38vI/AAAAAAAABpk/I0jklh0nvbo/s1600/HANA_SBOOK_001.PNG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 205px;" src="http://2.bp.blogspot.com/-47UV2h_haNA/TtRKbLC38vI/AAAAAAAABpk/I0jklh0nvbo/s400/HANA_SBOOK_001.PNG" border="0" alt=""id="BLOGGER_PHOTO_ID_5680246860702806770" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/-kVvzzjn4RTs/TtRKhEmmHHI/AAAAAAAABpw/D8oH0CfIHdU/s1600/HANA_SBOOK_002.PNG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 380px;" src="http://1.bp.blogspot.com/-kVvzzjn4RTs/TtRKhEmmHHI/AAAAAAAABpw/D8oH0CfIHdU/s400/HANA_SBOOK_002.PNG" border="0" alt=""id="BLOGGER_PHOTO_ID_5680246962052799602" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;p&gt;The first example that we're going to build on "R" is a simple Pie graphic, using the information from the FORCURAM and CARRNAME fields.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/-OEDt76IJKS4/TtRKwppKUaI/AAAAAAAABp8/nlAOxn3LTa8/s1600/HANA_SBOOK_003.PNG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 207px;" src="http://3.bp.blogspot.com/-OEDt76IJKS4/TtRKwppKUaI/AAAAAAAABp8/nlAOxn3LTa8/s400/HANA_SBOOK_003.PNG" border="0" alt=""id="BLOGGER_PHOTO_ID_5680247229693710754" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;p&gt;In this example, we're basically reading the CSV file, including the header. And doing an aggregation of the two fields we want to interact with. After that, it's just a matter of pass the values, the names and call the pie.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/-2XKqqZrAuDE/TtRK6yP6S6I/AAAAAAAABqI/gQgNIlEXJBs/s1600/HANA_SBOOK_004.PNG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 366px;" src="http://4.bp.blogspot.com/-2XKqqZrAuDE/TtRK6yP6S6I/AAAAAAAABqI/gQgNIlEXJBs/s400/HANA_SBOOK_004.PNG" border="0" alt=""id="BLOGGER_PHOTO_ID_5680247403802413986" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;p&gt;Next example is a little bit more complex...and uses a custom package call &lt;a href="http://cran.r-project.org/web/packages/wordcloud/index.html" target="_blank"&gt;Word Clouds&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/-0kfi4UxE0Ss/TtRLD38KkKI/AAAAAAAABqU/oGihgxu0dpo/s1600/HANA_SBOOK_005.PNG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 230px;" src="http://4.bp.blogspot.com/-0kfi4UxE0Ss/TtRLD38KkKI/AAAAAAAABqU/oGihgxu0dpo/s400/HANA_SBOOK_005.PNG" border="0" alt=""id="BLOGGER_PHOTO_ID_5680247559949029538" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;p&gt;Here, we have to load the required libraries, read the CSV file, do the aggregation, create a matrix with the aggregation values, sort the matrix, create a new vector, get it's length, create an array containing the names and finally assign the values and call the wordcloud graphic method...&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/-XjjTVoxQpVI/TtRLMMODJDI/AAAAAAAABqg/CRRsCfYvzh0/s1600/HANA_SBOOK_006.PNG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 376px;" src="http://2.bp.blogspot.com/-XjjTVoxQpVI/TtRLMMODJDI/AAAAAAAABqg/CRRsCfYvzh0/s400/HANA_SBOOK_006.PNG" border="0" alt=""id="BLOGGER_PHOTO_ID_5680247702831703090" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;p&gt;Hope you like it...and stay tuned for more "R"...&lt;/p&gt;&lt;br /&gt;Greetings,&lt;br /&gt;&lt;br /&gt;Blag.&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4144704359177008692-862031241009528663?l=blagrants.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blagrants.blogspot.com/feeds/862031241009528663/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4144704359177008692&amp;postID=862031241009528663' title='2 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/862031241009528663'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/862031241009528663'/><link rel='alternate' type='text/html' href='http://blagrants.blogspot.com/2011/11/dealing-with-r-and-hana.html' title='Dealing with R and HANA'/><author><name>Alvaro "Blag" Tejada Galindo</name><uri>http://www.blogger.com/profile/12061593528820409779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='https://weblogs.sdn.sap.com/images/people/alvaro_tajeda.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-VjKfBn3ha3A/TtRKUpgOf9I/AAAAAAAABpY/Zw5wE2cf3Bc/s72-c/HANA_SBOOK_000.PNG' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4144704359177008692.post-6426161408210402431</id><published>2011-11-01T04:55:00.000-07:00</published><updated>2011-11-01T05:00:25.467-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SAP'/><title type='text'>And now...for some crazy news...</title><content type='html'>&lt;DIV ALIGN="JUSTIFY"&gt;&lt;br /&gt;Those of you who know me in real life, knows that I'm crazy about SAP...and I mean it...I really love SAP...&lt;br /&gt;&lt;br /&gt;So...I love them so much, than guess what? I'm going to start officially working for them this November 21st -:D&lt;br /&gt;&lt;br /&gt;I'm going to hold the position of Development Expert on Platform Evangelism and Developer Adoption of SAP Labs.&lt;br /&gt;&lt;br /&gt;Good news...I'm going to be more on-line than ever, meaning that I'm going to able to post more on the blog -:)&lt;br /&gt;&lt;br /&gt;Greetings,&lt;br /&gt;Blag.&lt;br /&gt;&lt;/DIV&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4144704359177008692-6426161408210402431?l=blagrants.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blagrants.blogspot.com/feeds/6426161408210402431/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4144704359177008692&amp;postID=6426161408210402431' title='4 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/6426161408210402431'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/6426161408210402431'/><link rel='alternate' type='text/html' href='http://blagrants.blogspot.com/2011/11/and-nowfor-some-crazy-news.html' title='And now...for some crazy news...'/><author><name>Alvaro "Blag" Tejada Galindo</name><uri>http://www.blogger.com/profile/12061593528820409779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='https://weblogs.sdn.sap.com/images/people/alvaro_tajeda.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4144704359177008692.post-2509549835029795684</id><published>2011-10-06T05:16:00.000-07:00</published><updated>2011-10-06T06:08:02.443-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Rant'/><category scheme='http://www.blogger.com/atom/ns#' term='Learning'/><title type='text'>uCertify - No more excuses to not get certified</title><content type='html'>&lt;DIV ALIGN="JUSTIFY"&gt;&lt;br /&gt;If you follow my blog (I really hope you do), you might remember that some time ago I wrote about &lt;a href="http://www.ucertify.com/"&gt;uCertify&lt;/a&gt; in a post called &lt;a href="http://blagrants.blogspot.com/2009/10/ucertify-certifications-made-easy.html"&gt;uCertify - Certifications made easy...&lt;/a&gt;, now, I'm here again to tell my experience with another certification package &lt;a href="http://www.ucertify.com/download/PMP.html"&gt;PMP: PMP Project Management Professional&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;First things first, the look and feel have been greatly improved.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/-laslJmbHc7o/To2dq2CeBdI/AAAAAAAABm0/hGKzRylw_LE/s1600/uCertify_PMP_001.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 196px;" src="http://1.bp.blogspot.com/-laslJmbHc7o/To2dq2CeBdI/AAAAAAAABm0/hGKzRylw_LE/s400/uCertify_PMP_001.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5660353666060518866" /&gt;&lt;/a&gt;&lt;br /&gt;We have a large a nice library of study material.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/-tRgWMusXVDo/To2d26hHeOI/AAAAAAAABm8/nSfXwoU0q8c/s1600/uCertify_PMP_002.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 196px;" src="http://2.bp.blogspot.com/-tRgWMusXVDo/To2d26hHeOI/AAAAAAAABm8/nSfXwoU0q8c/s400/uCertify_PMP_002.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5660353873421236450" /&gt;&lt;/a&gt;&lt;br /&gt;And we can also keep track of our progress.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/-UB0lV3FBL9o/To2eCZoj72I/AAAAAAAABnE/MSVW-YhR9cU/s1600/uCertify_PMP_003.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 196px;" src="http://4.bp.blogspot.com/-UB0lV3FBL9o/To2eCZoj72I/AAAAAAAABnE/MSVW-YhR9cU/s400/uCertify_PMP_003.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5660354070752522082" /&gt;&lt;/a&gt;&lt;br /&gt;Now...let's take a look at some of the study material, which is one of the most important aspects of this kit of course.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/-4lM1jyETYgw/To2ezEgKOVI/AAAAAAAABnM/UULmpzVARt0/s1600/uCertify_PMP_004.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 201px;" src="http://2.bp.blogspot.com/-4lM1jyETYgw/To2ezEgKOVI/AAAAAAAABnM/UULmpzVARt0/s400/uCertify_PMP_004.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5660354906893728082" /&gt;&lt;/a&gt;&lt;br /&gt;As you can see, we have many Study Notes, all with key questions that would help us to get trained faster...but...what's inside those Study Notes? Let's find out...&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/-nOLIdcldIUI/To2fTCMmzbI/AAAAAAAABnU/lLlv__kbAP4/s1600/uCertify_PMP_005.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 201px;" src="http://2.bp.blogspot.com/-nOLIdcldIUI/To2fTCMmzbI/AAAAAAAABnU/lLlv__kbAP4/s400/uCertify_PMP_005.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5660355456030657970" /&gt;&lt;/a&gt;&lt;br /&gt;A short but detailed explanation, that will be easier to understand and remember.&lt;br /&gt;So...let's go to the interesting part...exams! We can actually took an Diagnostic Exam, just to see how were are.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/-MoT6VJKImwY/To2l5UnkOiI/AAAAAAAABnc/U_zCxh80FCs/s1600/uCertify_PMP_006.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 201px;" src="http://1.bp.blogspot.com/-MoT6VJKImwY/To2l5UnkOiI/AAAAAAAABnc/U_zCxh80FCs/s400/uCertify_PMP_006.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5660362710880369186" /&gt;&lt;/a&gt;&lt;br /&gt;Question are multiple based ones, so we might need to study hard and don't get stuck in tricky questions...&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/-S3isMDFGToI/To2mWzKd4fI/AAAAAAAABnk/X3ZweZT5-QM/s1600/uCertify_PMP_007.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 201px;" src="http://4.bp.blogspot.com/-S3isMDFGToI/To2mWzKd4fI/AAAAAAAABnk/X3ZweZT5-QM/s400/uCertify_PMP_007.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5660363217296024050" /&gt;&lt;/a&gt;&lt;br /&gt;Did I told about keeping track of your exams? That's another nice feature.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/-gPunfGCwUrM/To2nAqMdm_I/AAAAAAAABns/Uvamzqc6_gw/s1600/uCertify_PMP_008.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 202px;" src="http://3.bp.blogspot.com/-gPunfGCwUrM/To2nAqMdm_I/AAAAAAAABns/Uvamzqc6_gw/s400/uCertify_PMP_008.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5660363936442981362" /&gt;&lt;/a&gt;&lt;br /&gt;So what do you think so far? Awesome tool, right? But hey...the magic doesn't stop here...I'm reviewing only one product...if you go to &lt;a href="http://www.ucertify.com/"&gt;uCertify&lt;/a&gt; home page, you will find a lot more:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/-B8S4lWsnCN8/To2nuCJuLwI/AAAAAAAABn0/egigN8iQZek/s1600/uCertify_PMP_009.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 220px;" src="http://2.bp.blogspot.com/-B8S4lWsnCN8/To2nuCJuLwI/AAAAAAAABn0/egigN8iQZek/s400/uCertify_PMP_009.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5660364715968048898" /&gt;&lt;/a&gt;&lt;br /&gt;So as I said in the title...no more excuses to not get certified...go grab your wallet, download you kit, and start studying. I can guarantee, you will not regret it.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Disclaimer: This blog is based on my own personal thoughts and experiences.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Greetings,&lt;br /&gt;&lt;br /&gt;Blag.&lt;br /&gt;&lt;/DIV&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4144704359177008692-2509549835029795684?l=blagrants.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blagrants.blogspot.com/feeds/2509549835029795684/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4144704359177008692&amp;postID=2509549835029795684' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/2509549835029795684'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/2509549835029795684'/><link rel='alternate' type='text/html' href='http://blagrants.blogspot.com/2011/10/ucertify-no-more-excuses-to-not-get.html' title='uCertify - No more excuses to not get certified'/><author><name>Alvaro "Blag" Tejada Galindo</name><uri>http://www.blogger.com/profile/12061593528820409779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='https://weblogs.sdn.sap.com/images/people/alvaro_tajeda.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-laslJmbHc7o/To2dq2CeBdI/AAAAAAAABm0/hGKzRylw_LE/s72-c/uCertify_PMP_001.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4144704359177008692.post-8956764516777762525</id><published>2011-09-27T05:08:00.000-07:00</published><updated>2011-09-27T05:14:41.333-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ruby'/><category scheme='http://www.blogger.com/atom/ns#' term='SAP'/><category scheme='http://www.blogger.com/atom/ns#' term='Gateway'/><title type='text'>Ruby, Camping and...Gateway?</title><content type='html'>&lt;DIV ALIGN="JUSTIFY"&gt;&lt;br /&gt;&lt;p&gt;It's been a long time since my last Ruby blog...so I wanted to something nice...instead of emulate any SAP transaction, it was time for me to engage with new SAP technologies, and Gateway really looks promising...so...what's Gateway?&lt;/p&gt;&lt;p&gt;Gateway is based on &lt;a href="http://www.odata.org/" target="_blank"&gt;OData&lt;/a&gt;, which allows us to perform CRUD operations on WebService like applications...in other words...it's just awesome technology -;) If you want to find out more, please refer to this homepage on SCN &lt;a href="http://www.sdn.sap.com/irj/sdn/gateway?rid=/webcontent/uuid/1051f6d9-e87a-2e10-d188-e2786c7878b1" target="_blank"&gt;"SAP NetWeaver Gateway Demo System"&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;So...we can access Gateway using many technologies, for example &lt;a href="http://www.sdn.sap.com/irj/scn/index?rid=/library/uuid/505619a7-73bf-2e10-fe96-da9a86b23120" target="_blank"&gt;JavaScript&lt;/a&gt; or &lt;a href="http://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/2017666b-a087-2e10-a1a9-9d0a07de2ef4" target="_blank"&gt;Java for Blackberry&lt;/a&gt;. But for sure, I wanted to go beyond those awesome examples, and searched for other ways to consume Gateway data...on the &lt;a href="http://www.odata.org/developers/odata-sdk" target="_blank"&gt;OData SDK List&lt;/a&gt; I found a Ruby gem called &lt;a href="http://github.com/visoft/ruby_odata" target="_blank"&gt;Ruby_OData&lt;/a&gt;, which works awesome for services like &lt;a href="http://developer.netflix.com/docs/oData_Catalog" target="_blank"&gt;Netflix OData&lt;/a&gt;, but didn't work to well for SAP Gateway services...&lt;/p&gt;&lt;p&gt;As you may know...here on SCN, we're like family, so we like to work together on some nice project, so as you can see here...that's what we did -;)&lt;/p&gt;&lt;div id="_mcePaste" class="mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;"&gt;&lt;h1 class="wpctitlewithsub" style="outline-width: 0px; outline-style: initial; outline-color: initial; font-weight: bold; font-style: normal; font-size: 1.5em; font-family: Arial, Tahoma, Verdana, sans-serif; vertical-align: baseline; text-transform: uppercase; color: #efab00; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; white-space: normal; widows: 2; word-spacing: 0px; background-color: #ffffff; padding: 0px; margin: 0px; border: 0px initial initial;"&gt;SAP NETWEAVER GATEWAY DEMO SYSTEM&lt;/h1&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;img src="https://weblogs.sdn.sap.com/weblogs/images/48024/Konfusius_Tweet.png" border="0" alt="image" width="548" height="266" /&gt;&lt;/p&gt;&lt;p&gt;With the gem working, I knew I wanted to blog about it...build a small Ruby application to show how easy is to use the Ruby_OData gem...but of course...having a DOS style black window wasn't very likely...so I decide to use &lt;a href="http://camping.rubyforge.org/" target="_blank"&gt;Camping&lt;/a&gt; once again -:) and of course...Camping is not very classy...and I think it's not even maintained anymore...so if you're looking for something nicer, you can use &lt;a href="http://www.sinatrarb.com/" target="_blank"&gt;Sinatra&lt;/a&gt; instead -;)&lt;/p&gt;&lt;p&gt;As I love to say..."Enough talk! Let's go to the source code!"&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Camping_Gateway.rb&lt;/strong&gt;&lt;br /&gt;&lt;pre style="border: 1px dashed rgb(153, 153, 153); padding: 5px; overflow: auto; font-family: Andale Mono,Lucida Console,Monaco,fixed,monospace; color: rgb(0, 0, 0); background-color: rgb(238, 238, 238); font-size: 12px; line-height: 14px; width: 95%;"&gt;&lt;br /&gt;gem 'ruby_odata'&lt;br /&gt;require 'ruby_odata'&lt;br /&gt;&lt;br /&gt;Camping.goes :Camping_Gateway&lt;br /&gt;&lt;br /&gt;module Camping_Gateway::Controllers&lt;br /&gt;&lt;br /&gt;  class Index &amp;lt; R '/'&lt;br /&gt;    def get&lt;br /&gt;      render :_login&lt;br /&gt;    end&lt;br /&gt;  end&lt;br /&gt;  &lt;br /&gt;  class Login&lt;br /&gt;    def post&lt;br /&gt;      @client = input.client&lt;br /&gt;      @user = input.user&lt;br /&gt;      @password = input.password&lt;br /&gt;      render :_showtable&lt;br /&gt;    end  &lt;br /&gt;  end&lt;br /&gt;  &lt;br /&gt;   class ShowTable &lt;br /&gt;    def post     &lt;br /&gt;      render :_showtable&lt;br /&gt;    end&lt;br /&gt;  end &lt;br /&gt;end &lt;br /&gt;&lt;br /&gt;module Camping_Gateway::Views&lt;br /&gt;  def layout&lt;br /&gt;    html do&lt;br /&gt;      head do&lt;br /&gt;        title {"Camping and Gateway - Flight Example"}&lt;br /&gt;      end&lt;br /&gt;      body { _login }&lt;br /&gt;    end&lt;br /&gt;  end&lt;br /&gt;&lt;br /&gt;  def _login&lt;br /&gt;    form:action =&amp;gt; R(Login), :method =&amp;gt; 'post' do&lt;br /&gt;      h1 {"Camping and Gateway - Flight Example"}&lt;br /&gt;&lt;br /&gt;      label 'Client ', :for =&amp;gt; 'client';&lt;br /&gt;      input :name =&amp;gt; 'client', :type =&amp;gt; 'text'; br&lt;br /&gt;      label 'User ', :for =&amp;gt; 'user';&lt;br /&gt;      input :name =&amp;gt; 'user', :type =&amp;gt; 'text'; br&lt;br /&gt;      label 'Password ', :for =&amp;gt; 'password';&lt;br /&gt;      input :name =&amp;gt; 'password', :type =&amp;gt; 'password'; br      &lt;br /&gt;      &lt;br /&gt;      input :type =&amp;gt; 'submit', :name =&amp;gt; 'login', :value =&amp;gt; 'Login'&lt;br /&gt;    end&lt;br /&gt;  end&lt;br /&gt;&lt;br /&gt;  def _showtable&lt;br /&gt;    svc = OData::Service.new "http://gw.esworkplace.sap.com/sap/opu/sdata/sap/DEMO_FLIGHT",&lt;br /&gt;                             {:username =&amp;gt; @user, :password=&amp;gt; @password, &lt;br /&gt;                              :additional_params=&amp;gt; {'sap-client'=&amp;gt;@client.to_i}}&lt;br /&gt;    svc.z_demo_flightCollection&lt;br /&gt;    flight = svc.execute&lt;br /&gt;&lt;br /&gt;    $Data_Names = Array.new&lt;br /&gt;    $Data_Fields = Array.new&lt;br /&gt;    $Data_Split = Array.new&lt;br /&gt;    &lt;br /&gt;    $Data_Names.push("Airline")       #airline&lt;br /&gt;    $Data_Names.push("City From")     #cityfrom&lt;br /&gt;    $Data_Names.push("Airport From")  #airportfr&lt;br /&gt;    $Data_Names.push("Currency")      #curr_iso&lt;br /&gt;    $Data_Names.push("City To")       #cityto&lt;br /&gt;    $Data_Names.push("Airport To")    #airportto    &lt;br /&gt;&lt;br /&gt;    for flights in flight do&lt;br /&gt;      puts flights.airline&lt;br /&gt;      $Data_Fields.push(flights.airline + "|" + flights.cityfrom + "|" + &lt;br /&gt;                        flights.airportfr + "|" + flights.curr_iso + "|" + &lt;br /&gt;                        flights.cityto + "|" + flights.airportto)&lt;br /&gt;    end    &lt;br /&gt;&lt;br /&gt;    $Fields_Len = $Data_Names.length&lt;br /&gt;    $Data_Len = $Data_Fields.length&lt;br /&gt;&lt;br /&gt;    table.sample! :cellspacing =&amp;gt; 0, :cellpadding =&amp;gt; 2 do&lt;br /&gt;      thead do&lt;br /&gt;        tr do&lt;br /&gt;          for i in 0...$Fields_Len&lt;br /&gt;            th "#{$Data_Names[i]}"&lt;br /&gt;          end          &lt;br /&gt;        end&lt;br /&gt;      end&lt;br /&gt;      for i in 0...$Data_Len&lt;br /&gt;        tbody do&lt;br /&gt;          tr do&lt;br /&gt;            $Data_Split = $Data_Fields[i].split("|")&lt;br /&gt;            for i in 0...$Fields_Len&lt;br /&gt;              td "#{$Data_Split[i].to_s.strip}"&lt;br /&gt;            end&lt;br /&gt;          end&lt;br /&gt;        end&lt;br /&gt;      end&lt;br /&gt;    end&lt;br /&gt;  end &lt;br /&gt;end&lt;br /&gt;&lt;/pre&gt;&lt;/p&gt;&lt;p&gt;To run this example, we need to provide only 3 simple parameters:&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Client = 800&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Username = GW@ESW &lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Password = ESW4GW&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;img src="https://weblogs.sdn.sap.com/weblogs/images/48024/Camping_Gateway_001.png" border="0" alt="image" width="570" height="218" /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="https://weblogs.sdn.sap.com/weblogs/images/48024/Camping_Gateway_002.png" border="0" alt="image" width="561" height="500" /&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;I know what you're going to tell me after you read the source code...why I'm taking the work of reading the date, putting them on an array and looping that? I know I just could read the field from the model and all that...but...for some reason that I still need to discover...the filtering doesn't work as I expected...for example...I should be able to pass a filter to only select the CITYTO = ' NEW YORK', but it doesn't work even when I don't have any errors...so my approach here (and that's for another blog), it to have all the information stored internally to be able to do the filtering after calling the Gateway service...so...if you're an SAP Gateway expert...please let me how to make the filter work -:( Because, I know that if I pass the VALUE, SCHME_ID and SCHEME_AGENCY_ID it's going to work, but only for 1 record...I want a better filter -;)&lt;/p&gt;&lt;p&gt;Hope you enjoy this one...and see you soon with more Gateway coolness! &lt;/p&gt;&lt;br /&gt;Greetings,&lt;br /&gt;&lt;br /&gt;Blag.&lt;br /&gt;&lt;/DIV&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4144704359177008692-8956764516777762525?l=blagrants.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blagrants.blogspot.com/feeds/8956764516777762525/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4144704359177008692&amp;postID=8956764516777762525' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/8956764516777762525'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/8956764516777762525'/><link rel='alternate' type='text/html' href='http://blagrants.blogspot.com/2011/09/ruby-camping-andgateway.html' title='Ruby, Camping and...Gateway?'/><author><name>Alvaro "Blag" Tejada Galindo</name><uri>http://www.blogger.com/profile/12061593528820409779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='https://weblogs.sdn.sap.com/images/people/alvaro_tajeda.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4144704359177008692.post-7999579587758262955</id><published>2011-09-09T02:39:00.001-07:00</published><updated>2011-09-09T02:39:06.889-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Rant'/><category scheme='http://www.blogger.com/atom/ns#' term='IPad'/><title type='text'>First blog from my IPad</title><content type='html'>This is a test post...I'm using the new Blogger app for the IPad...well...for the IPhone actually, that can run on the IPad (Looks horrible by the way...hate that 2x lens...).&lt;br /&gt;&lt;br /&gt;Anyway, it's so nice to finally be able to post from a mobile device -:)&lt;br /&gt;&lt;br /&gt;Greetings,&lt;br /&gt;&lt;br /&gt;Blag.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4144704359177008692-7999579587758262955?l=blagrants.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blagrants.blogspot.com/feeds/7999579587758262955/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4144704359177008692&amp;postID=7999579587758262955' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/7999579587758262955'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/7999579587758262955'/><link rel='alternate' type='text/html' href='http://blagrants.blogspot.com/2011/09/first-blog-from-my-ipad.html' title='First blog from my IPad'/><author><name>Alvaro "Blag" Tejada Galindo</name><uri>http://www.blogger.com/profile/12061593528820409779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='https://weblogs.sdn.sap.com/images/people/alvaro_tajeda.jpg'/></author><thr:total>0</thr:total><georss:featurename>Saint-Laurent Saint-Laurent</georss:featurename><georss:point>45.510861 -73.670616</georss:point></entry><entry><id>tag:blogger.com,1999:blog-4144704359177008692.post-517363734547171184</id><published>2011-07-15T06:11:00.000-07:00</published><updated>2011-07-15T06:27:45.173-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SAP'/><category scheme='http://www.blogger.com/atom/ns#' term='Python'/><title type='text'>wxPython and SAP</title><content type='html'>&lt;DIV ALIGN="JUSTIFY"&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Original Post: &lt;a href="http://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/25483"&gt;Tasting the mix of Python and SAP - Volume 3&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Hello and welcome back to this little corner of Scripting Languages fun -:)&lt;br /&gt;&lt;br /&gt;Today, we're going to see how can we use &lt;a href="http://www.wxpython.org/"&gt;wxPython&lt;/a&gt; and SAP to make an SE16 emulation.&lt;br /&gt;&lt;br /&gt;So, what's wxPython? It's a Python wrapper of the C++'s &lt;a href="http://wxwidgets.org/"&gt;wxWidgets&lt;/a&gt; that allows us to create rich UI applications.&lt;br /&gt;&lt;br /&gt;For this blog I was tempted to use &lt;a href="http://en.wikipedia.org/wiki/Tkinter"&gt;Tkinter&lt;/a&gt; but gotta admit that I like wxPython more...as I have already used it in my &lt;a href="http://ruby-lang.org/"&gt;Ruby&lt;/a&gt; projects. Anyway in Ruby it was a little bit easier than in Python -:P&lt;br /&gt;&lt;br /&gt;Enough talk, let's go to the source code...(That could fit nice on a T-Shirt, right?)&lt;br /&gt;&lt;br /&gt;Again, and as always in my Python/SAP projects...I used YAML to host the SAP connections parameters.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;sap.yml&lt;/span&gt;&lt;br /&gt;&lt;pre style="border: 1px dashed rgb(153, 153, 153); padding: 5px; overflow: auto; font-family: Andale Mono,Lucida Console,Monaco,fixed,monospace; color: rgb(0, 0, 0); background-color: rgb(238, 238, 238); font-size: 12px; line-height: 14px; width: 95%;"&gt;&lt;br /&gt;ashost: localhost&lt;br /&gt;sysnr: "00"&lt;br /&gt;client: "001"&lt;br /&gt;lang: EN&lt;br /&gt;trace: 1&lt;br /&gt;loglevel: warn&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;SE16_wxPython.py&lt;/span&gt;&lt;br /&gt;&lt;pre style="border: 1px dashed rgb(153, 153, 153); padding: 5px; overflow: auto; font-family: Andale Mono,Lucida Console,Monaco,fixed,monospace; color: rgb(0, 0, 0); background-color: rgb(238, 238, 238); font-size: 12px; line-height: 14px; width: 95%;"&gt;&lt;br /&gt;import wx&lt;br /&gt;import sapnwrfc&lt;br /&gt;import wx.grid as wxGrid&lt;br /&gt;&lt;br /&gt;conn = ""&lt;br /&gt;table = ""&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;class MyApp(wx.App):&lt;br /&gt;&lt;br /&gt;    def OnInit(self):&lt;br /&gt;        self.frame = MyFrame(None, title="Login")&lt;br /&gt;        self.SetTopWindow(self.frame)&lt;br /&gt;        self.frame.Show()&lt;br /&gt;        return True&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;class MyFrame(wx.Frame):&lt;br /&gt;&lt;br /&gt;    def __init__(self, parent, id=wx.ID_ANY, title="",&lt;br /&gt;                 pos=wx.DefaultPosition, size=(210, 150),&lt;br /&gt;                 style=wx.DEFAULT_FRAME_STYLE,&lt;br /&gt;                 name="MyFrame"):&lt;br /&gt;        super(MyFrame, self).__init__(parent, id, title, pos,&lt;br /&gt;                                      size, style, name)&lt;br /&gt;&lt;br /&gt;        self.panel = wx.Panel(self)&lt;br /&gt;        self.text_font = wx.Font(12, wx.DEFAULT, wx.NORMAL, wx.NORMAL)&lt;br /&gt;        self.t_user = wx.StaticText(self.panel, -1, "User", &lt;br /&gt;                                    size=(40, 20), pos=(10, 12))&lt;br /&gt;        self.t_password = wx.StaticText(self.panel, -1, "Password",&lt;br /&gt;        size=(40, 20), pos=(10, 32))&lt;br /&gt;        self.t_user.SetFont(self.text_font)&lt;br /&gt;        self.t_password.SetFont(self.text_font)&lt;br /&gt;        self.user = wx.TextCtrl(self.panel, value="", pos=(90, 10))&lt;br /&gt;        self.password = wx.TextCtrl(self.panel, value="", &lt;br /&gt;                                    pos=(90, 30), &lt;br /&gt;                                    style=wx.TE_PASSWORD)&lt;br /&gt;        self.btnConnect = wx.Button(self.panel, label="Connect", &lt;br /&gt;                                    pos=(70, 80))&lt;br /&gt;&lt;br /&gt;        self.Bind(wx.EVT_BUTTON, self.OnButtonConnect, &lt;br /&gt;                  self.btnConnect)&lt;br /&gt;&lt;br /&gt;    def OnButtonConnect(self, event):&lt;br /&gt;        global conn&lt;br /&gt;        user = self.user.GetValue()&lt;br /&gt;        password = self.password.GetValue()&lt;br /&gt;        sapnwrfc.base.config_location = "sap.yml"&lt;br /&gt;        sapnwrfc.base.load_config()&lt;br /&gt;        conn = sapnwrfc.base.rfc_connect({'user': user, &lt;br /&gt;                                          'passwd': password})&lt;br /&gt;        self.Close()&lt;br /&gt;        myGrid = GridFrame(None, title="SE16 Emulator")&lt;br /&gt;        myGrid.Show()&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;class GridFrame(wx.Frame):&lt;br /&gt;&lt;br /&gt;    def __init__(self, parent, id=wx.ID_ANY, title="",&lt;br /&gt;                 pos=wx.DefaultPosition, size=(600, 400),&lt;br /&gt;                 style=wx.DEFAULT_FRAME_STYLE,&lt;br /&gt;                 name="GridFrame"):&lt;br /&gt;        super(GridFrame, self).__init__(parent, id, title, pos,&lt;br /&gt;                                        size, style, name)&lt;br /&gt;&lt;br /&gt;        self.panel = wx.Panel(self)&lt;br /&gt;        self.text_font = wx.Font(12, wx.DEFAULT, wx.NORMAL, wx.NORMAL)&lt;br /&gt;        self.t_table = wx.StaticText(self.panel, -1, "Table", &lt;br /&gt;                                     size=(40, 20), pos=(180, 12))&lt;br /&gt;        self.t_table.SetFont(self.text_font)&lt;br /&gt;        self.table = wx.TextCtrl(self.panel, value="", pos=(225, 10))&lt;br /&gt;        self.btnShow = wx.Button(self.panel, label="Show Table",&lt;br /&gt;                                 pos=(330, 10))&lt;br /&gt;&lt;br /&gt;        self.Bind(wx.EVT_BUTTON, self.OnButtonShow, self.btnShow)&lt;br /&gt;&lt;br /&gt;    def OnButtonShow(self, event):&lt;br /&gt;        global conn&lt;br /&gt;        table = self.table.GetValue()&lt;br /&gt;        fields = []&lt;br /&gt;        fields_name = []&lt;br /&gt;        func_disc = conn.discover("RFC_READ_TABLE")&lt;br /&gt;        func = func_disc.create_function_call()&lt;br /&gt;        func.QUERY_TABLE(str(table))&lt;br /&gt;        func.DELIMITER("|")&lt;br /&gt;        func.invoke()&lt;br /&gt;        data_fields = func.DATA.value&lt;br /&gt;        data_names = func.FIELDS.value&lt;br /&gt;        long_fields = len(func.DATA())&lt;br /&gt;        long_names = len(func.FIELDS())&lt;br /&gt;&lt;br /&gt;        for line in range(0, long_fields):&lt;br /&gt;            fields.append(data_fields[line]["WA"].strip())&lt;br /&gt;        for line in range(0, long_names):&lt;br /&gt;            fields_name.append(data_names[line]["FIELDNAME"].strip())&lt;br /&gt;&lt;br /&gt;        self.grid = wxGrid.Grid(self.panel, pos=(0, 40), &lt;br /&gt;                                size=(853, 320))&lt;br /&gt;        self.grid.EnableEditing(False)&lt;br /&gt;        self.grid.CreateGrid(long_fields, long_names)&lt;br /&gt;&lt;br /&gt;        for line in range(0, long_names):&lt;br /&gt;            field_name = fields_name[line]&lt;br /&gt;            self.grid.SetColLabelValue(line, field_name)&lt;br /&gt;        for line_f in range(0, long_fields):&lt;br /&gt;            data_split = fields[line_f].split("|")&lt;br /&gt;            for line_n in range(0, long_names):&lt;br /&gt;                self.grid.SetCellValue(line_f, line_n, &lt;br /&gt;                                       data_split[line_n])&lt;br /&gt;&lt;br /&gt;    def onClose(self, event):&lt;br /&gt;        global conn&lt;br /&gt;        conn.close()&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;if __name__ == "__main__":&lt;br /&gt;    app = MyApp(False)&lt;br /&gt;    app.MainLoop() &lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Now, the images:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/-0_-G2mOpWWw/TiA-MKvShjI/AAAAAAAABi0/aTcXC52us-c/s1600/wxPython_01.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 210px; height: 151px;" src="http://1.bp.blogspot.com/-0_-G2mOpWWw/TiA-MKvShjI/AAAAAAAABi0/aTcXC52us-c/s400/wxPython_01.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5629567912975173170" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/-56kzujQgHOY/TiA-QpWfRWI/AAAAAAAABi8/5I1B0KBTpQM/s1600/wxPython_02.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 267px;" src="http://4.bp.blogspot.com/-56kzujQgHOY/TiA-QpWfRWI/AAAAAAAABi8/5I1B0KBTpQM/s400/wxPython_02.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5629567989912126818" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/-7UQjsNzL1lA/TiA-hNstJFI/AAAAAAAABjE/tDOoBX3qEoQ/s1600/wxPython_03.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 266px;" src="http://4.bp.blogspot.com/-7UQjsNzL1lA/TiA-hNstJFI/AAAAAAAABjE/tDOoBX3qEoQ/s400/wxPython_03.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5629568274546893906" /&gt;&lt;/a&gt;&lt;br /&gt;So basically, what we have here is a Login screen with the Username and Password and a connection button. When we connect to SAP, then the window dissapeared and a new window pops out. This new windows ask us for a table name and displays a grid containing all the information.&lt;br /&gt;&lt;br /&gt;See ya next time -;)&lt;br /&gt;&lt;br /&gt;Blag.&lt;br /&gt;&lt;/DIV&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4144704359177008692-517363734547171184?l=blagrants.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blagrants.blogspot.com/feeds/517363734547171184/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4144704359177008692&amp;postID=517363734547171184' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/517363734547171184'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/517363734547171184'/><link rel='alternate' type='text/html' href='http://blagrants.blogspot.com/2011/07/wxpython-and-sap.html' title='wxPython and SAP'/><author><name>Alvaro "Blag" Tejada Galindo</name><uri>http://www.blogger.com/profile/12061593528820409779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='https://weblogs.sdn.sap.com/images/people/alvaro_tajeda.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-0_-G2mOpWWw/TiA-MKvShjI/AAAAAAAABi0/aTcXC52us-c/s72-c/wxPython_01.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4144704359177008692.post-1226922616997802512</id><published>2011-07-04T18:15:00.000-07:00</published><updated>2011-07-04T18:59:08.451-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Learning'/><category scheme='http://www.blogger.com/atom/ns#' term='Weird_Stuff'/><category scheme='http://www.blogger.com/atom/ns#' term='Python'/><title type='text'>Decimals to Romans and LCD Number in Python</title><content type='html'>&lt;DIV ALIGN="JUSTIFY"&gt;&lt;br /&gt;As part of my Python learning, I'm taking my old Ruby codes and ported them to Python...and believe me...there's no better way to learn -:)&lt;br /&gt;&lt;br /&gt;The first program that I took off was &lt;span style="font-weight:bold;"&gt;Decimals to Romans&lt;/span&gt;, which I discovered that wasn't working right for big numbers -:( After a few tweaks on Python, it's ready for action -;)&lt;br /&gt;&lt;br /&gt;&lt;pre style="border: 1px dashed rgb(153, 153, 153); padding: 5px; overflow: auto; font-family: Andale Mono,Lucida Console,Monaco,fixed,monospace; color: rgb(0, 0, 0); background-color: rgb(238, 238, 238); font-size: 12px; line-height: 14px; width: 95%;"&gt;&lt;br /&gt;Roman_Table = {1000: 'M', 900: 'CM', 500: 'D', 400: 'CD',&lt;br /&gt;               100: 'C', 90: 'XC', 50: 'L', 40: 'XL', &lt;br /&gt;               10: 'X', 9: 'IX', 5: 'V', 4: 'IV', 1: 'I'}&lt;br /&gt;&lt;br /&gt;global result&lt;br /&gt;keys = []&lt;br /&gt;&lt;br /&gt;def reverse_numeric(x, y):&lt;br /&gt;    return y - x&lt;br /&gt;&lt;br /&gt;def Roman_Number(number):&lt;br /&gt;    result = ""&lt;br /&gt;    keys = Roman_Table.keys()&lt;br /&gt;    keys = sorted(keys, cmp=reverse_numeric)&lt;br /&gt;    while number &gt; 0:&lt;br /&gt;        for i in keys:&lt;br /&gt;            if number &gt;= i:&lt;br /&gt;                result += str(Roman_Table.get(i, 0))&lt;br /&gt;                number -= i&lt;br /&gt;                break&lt;br /&gt;    return result&lt;br /&gt;&lt;br /&gt;number = input("\nEnter a number: ")&lt;br /&gt;result = Roman_Number(number)&lt;br /&gt;print ("\n" + result)&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/-5_WeU5vvN_w/ThJpC2K_czI/AAAAAAAABic/Ha_O-kkn7tw/s1600/Python_Dec_to_Romans.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 91px;" src="http://3.bp.blogspot.com/-5_WeU5vvN_w/ThJpC2K_czI/AAAAAAAABic/Ha_O-kkn7tw/s400/Python_Dec_to_Romans.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5625674382161441586" /&gt;&lt;/a&gt;&lt;br /&gt;The next one was &lt;span style="font-weight:bold;"&gt;LCD Numbers&lt;/span&gt; which believe it or not...I manage to cut down from the 160 lines of Ruby code, to only 35 lines...awesome, right?&lt;br /&gt;&lt;br /&gt;&lt;pre style="border: 1px dashed rgb(153, 153, 153); padding: 5px; overflow: auto; font-family: Andale Mono,Lucida Console,Monaco,fixed,monospace; color: rgb(0, 0, 0); background-color: rgb(238, 238, 238); font-size: 12px; line-height: 14px; width: 95%;"&gt;&lt;br /&gt;global line1, line2, line3&lt;br /&gt;&lt;br /&gt;line1 = ""&lt;br /&gt;line2 = ""&lt;br /&gt;line3 = ""&lt;br /&gt;&lt;br /&gt;zero = {1: ' _  ', 2: '| | ', 3: '|_| '}&lt;br /&gt;one = {1: '  ', 2: '| ', 3: '| '}&lt;br /&gt;two = {1: ' _  ', 2: ' _| ', 3: '|_  '}&lt;br /&gt;three = {1: '_  ', 2: '_| ', 3: '_| '}&lt;br /&gt;four = {1: '    ', 2: '|_| ', 3: '  | '}&lt;br /&gt;five = {1: ' _  ', 2: '|_  ', 3: ' _| '}&lt;br /&gt;six = {1: ' _  ', 2: '|_  ', 3: '|_| '}&lt;br /&gt;seven = {1: '_   ', 2: ' |  ', 3: ' |  '}&lt;br /&gt;eight = {1: ' _  ', 2: '|_| ', 3: '|_| '}&lt;br /&gt;nine = {1: ' _  ', 2: '|_| ', 3: ' _| '}&lt;br /&gt;&lt;br /&gt;num_lines = {0: zero, 1: one, 2: two, 3: three, 4: four,&lt;br /&gt;             5: five, 6: six, 7: seven, 8: eight, 9: nine}&lt;br /&gt;&lt;br /&gt;def Lines(number):&lt;br /&gt;    global line1, line2, line3&lt;br /&gt;    line1 += number.get(1, 0)&lt;br /&gt;    line2 += number.get(2, 0)&lt;br /&gt;    line3 += number.get(3, 0)&lt;br /&gt;&lt;br /&gt;number = str(input("\nEnter a number: "))&lt;br /&gt;length = len(number)&lt;br /&gt;for i in range(0, length):&lt;br /&gt;    Lines(num_lines.get(int(number[i:i+1]), 0))&lt;br /&gt;&lt;br /&gt;print ("\n")&lt;br /&gt;print line1&lt;br /&gt;print line2&lt;br /&gt;print line3&lt;br /&gt;print ("\n")&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/-B9XsvBAFty4/ThJqDJeZQXI/AAAAAAAABik/Dbt8RfAn7KU/s1600/Python_LCD_Numbers.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 133px;" src="http://2.bp.blogspot.com/-B9XsvBAFty4/ThJqDJeZQXI/AAAAAAAABik/Dbt8RfAn7KU/s400/Python_LCD_Numbers.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5625675486854726002" /&gt;&lt;/a&gt;&lt;br /&gt;I'm really sorry about Ruby, because I still love it...but Python is making so much efforts to become my scripting language of choice -;)&lt;br /&gt;&lt;br /&gt;Greetings,&lt;br /&gt;&lt;br /&gt;Blag.&lt;br /&gt;&lt;/DIV&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4144704359177008692-1226922616997802512?l=blagrants.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blagrants.blogspot.com/feeds/1226922616997802512/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4144704359177008692&amp;postID=1226922616997802512' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/1226922616997802512'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/1226922616997802512'/><link rel='alternate' type='text/html' href='http://blagrants.blogspot.com/2011/07/decimals-to-romans-and-lcd-number-in.html' title='Decimals to Romans and LCD Number in Python'/><author><name>Alvaro "Blag" Tejada Galindo</name><uri>http://www.blogger.com/profile/12061593528820409779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='https://weblogs.sdn.sap.com/images/people/alvaro_tajeda.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-5_WeU5vvN_w/ThJpC2K_czI/AAAAAAAABic/Ha_O-kkn7tw/s72-c/Python_Dec_to_Romans.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4144704359177008692.post-8966126578827661882</id><published>2011-06-22T06:42:00.000-07:00</published><updated>2011-06-22T07:02:00.308-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SAP'/><category scheme='http://www.blogger.com/atom/ns#' term='Python'/><title type='text'>Python, EasyGui and SAP</title><content type='html'>&lt;DIV ALIGN="JUSTIFY"&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Original Post: &lt;a href="http://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/25142"&gt;Tasting the mix of Python and SAP - Volume 2&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;This blog post continues my Python learning adventures, and as I love Web Micro Frameworks, I also love simple graphical frameworks...this time, we're going to use &lt;a href="http://easygui.sourceforge.net/"&gt;EasyGui&lt;/a&gt;, which is wrapper for &lt;a href="http://tkinter.unpythonic.net/wiki/Tkinter"&gt;Tkinter&lt;/a&gt; which is also a layer for &lt;a href="http://en.wikipedia.org/wiki/Tk_(framework)"&gt;Tk&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;So what's the fuzz about EasyGui? Well...it's an easy way to do GUI's...got it? Easy-Gui...&lt;br /&gt;&lt;br /&gt;Anyway, it's not as complete as TKinter but it's for sure easier to learn and easier to develop. Enough talk...let's see the source code...&lt;br /&gt;&lt;br /&gt;First, I used Yaml again to hide most of the connection parameters from the user.&lt;br /&gt;&lt;br /&gt;&lt;pre style="border: 1px dashed rgb(153, 153, 153); padding: 5px; overflow: auto; font-family: Andale Mono,Lucida Console,Monaco,fixed,monospace; color: rgb(0, 0, 0); background-color: rgb(238, 238, 238); font-size: 12px; line-height: 14px; width: 95%;"&gt;&lt;br /&gt;ashost: localhost&lt;br /&gt;sysnr: "00"&lt;br /&gt;client: "001"&lt;br /&gt;lang: EN&lt;br /&gt;trace: 1&lt;br /&gt;loglevel: warn&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;SE16_EasyGui.py&lt;/span&gt;&lt;br /&gt;&lt;pre style="border: 1px dashed rgb(153, 153, 153); padding: 5px; overflow: auto; font-family: Andale Mono,Lucida Console,Monaco,fixed,monospace; color: rgb(0, 0, 0); background-color: rgb(238, 238, 238); font-size: 12px; line-height: 14px; width: 95%;"&gt;&lt;br /&gt;from easygui import *&lt;br /&gt;import sapnwrfc&lt;br /&gt;&lt;br /&gt;TITLE = "Python (Easy Gui) &amp; SAP - SE16 Emulator"&lt;br /&gt;conn = ""&lt;br /&gt;table = ""&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;def Login():&lt;br /&gt;    global conn&lt;br /&gt;    msg = "Python (Easy Gui) &amp; SAP - SE16 Emulator"&lt;br /&gt;    title = "Login"&lt;br /&gt;    fieldNames = ["User", "Passwd"]&lt;br /&gt;    fieldValues = []&lt;br /&gt;    fieldValues = multpasswordbox(msg, title, fieldNames)&lt;br /&gt;    user, passwd = fieldValues[0], fieldValues[1]&lt;br /&gt;    sapnwrfc.base.config_location = "sap.yml"&lt;br /&gt;    sapnwrfc.base.load_config()&lt;br /&gt;    conn = sapnwrfc.base.rfc_connect({'user': user, 'passwd': passwd})&lt;br /&gt;    ChooseTable()&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;def ChooseTable():&lt;br /&gt;    global table&lt;br /&gt;    table = enterbox("Show Table")&lt;br /&gt;    if table != " ":&lt;br /&gt;        ShowTable()&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;def ShowTable():&lt;br /&gt;    global conn, table&lt;br /&gt;    fields = []&lt;br /&gt;    fields_name = []&lt;br /&gt;    fields_length = []&lt;br /&gt;    output = []&lt;br /&gt;    header = ""&lt;br /&gt;    lines = ""&lt;br /&gt;    separator = ""&lt;br /&gt;    counter = 0&lt;br /&gt;    func_disc = conn.discover("RFC_READ_TABLE")&lt;br /&gt;    func = func_disc.create_function_call()&lt;br /&gt;    func.QUERY_TABLE(table)&lt;br /&gt;    func.DELIMITER("|")&lt;br /&gt;    func.invoke()&lt;br /&gt;    data_fields = func.DATA.value&lt;br /&gt;    data_names = func.FIELDS.value&lt;br /&gt;    long_fields = len(func.DATA())&lt;br /&gt;    long_names = len(func.FIELDS())&lt;br /&gt;&lt;br /&gt;    for line in range(0, long_fields):&lt;br /&gt;        fields.append(data_fields[line]["WA"].strip())&lt;br /&gt;    for line in range(0, long_names):&lt;br /&gt;        counter = counter + 1&lt;br /&gt;        fields_name.append(data_names[line]["FIELDNAME"].strip())&lt;br /&gt;        fields_length.append(data_names[line]["LENGTH"].strip())&lt;br /&gt;&lt;br /&gt;    for line in range(0, long_names):&lt;br /&gt;        field_name = fields_name[line]&lt;br /&gt;        field_length = fields_length[line]&lt;br /&gt;        if len(field_name) &amp;gt; field_length:&lt;br /&gt;            field_length = len(field_name)&lt;br /&gt;        field_length = int(field_length) - len(field_name)&lt;br /&gt;        spaces = " " * int(field_length)&lt;br /&gt;        counter = counter + len(field_name) + len(spaces)&lt;br /&gt;        header = header + field_name + spaces + "|"&lt;br /&gt;&lt;br /&gt;    separator = "-" * counter&lt;br /&gt;    output.append(header)&lt;br /&gt;    output.append(separator)&lt;br /&gt;&lt;br /&gt;    for line in range(0, long_fields):&lt;br /&gt;        lines = ""&lt;br /&gt;        field_length = ""&lt;br /&gt;        spaces = ""&lt;br /&gt;        data_split = fields[line].split("|")&lt;br /&gt;        for line in range(0, long_names):&lt;br /&gt;            field_name = fields_name[line]&lt;br /&gt;            field_length = fields_length[line]&lt;br /&gt;            if len(field_name) &amp;gt; int(field_length):&lt;br /&gt;                field_length = len(field_name)&lt;br /&gt;                field_length = int(field_length) - &lt;br /&gt;                               len(data_split[line])&lt;br /&gt;            else:&lt;br /&gt;                field_length = 0&lt;br /&gt;            spaces = " " * int(field_length)&lt;br /&gt;            lines = lines + data_split[line] + spaces + "|"&lt;br /&gt;        output.append(lines)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;    codebox("", TITLE, "\n".join(output))&lt;br /&gt;&lt;br /&gt;if __name__ == "__main__":&lt;br /&gt;    Login()&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Now, some images of course -:)&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/-Rynr5k10V9M/TgHyZqSalpI/AAAAAAAABhk/7_IZlBpgTko/s1600/SE16_EasyGui_01.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 374px; height: 158px;" src="http://4.bp.blogspot.com/-Rynr5k10V9M/TgHyZqSalpI/AAAAAAAABhk/7_IZlBpgTko/s400/SE16_EasyGui_01.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5621040332597270162" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/-O3wQ4_3YLGs/TgHyeK-CicI/AAAAAAAABhs/vNEJWpdhYwI/s1600/SE16_EasyGui_02.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 334px; height: 130px;" src="http://2.bp.blogspot.com/-O3wQ4_3YLGs/TgHyeK-CicI/AAAAAAAABhs/vNEJWpdhYwI/s400/SE16_EasyGui_02.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5621040410089654722" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/-BufCXMTQTv4/TgHyoj1613I/AAAAAAAABh8/R98t4jGINSA/s1600/SE16_EasyGui_03.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 168px;" src="http://4.bp.blogspot.com/-BufCXMTQTv4/TgHyoj1613I/AAAAAAAABh8/R98t4jGINSA/s400/SE16_EasyGui_03.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5621040588565174130" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Hope you like this one...see ya next time...&lt;br /&gt;&lt;br /&gt;Greetings,&lt;br /&gt;&lt;br /&gt;Blag.&lt;br /&gt;&lt;/DIV&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4144704359177008692-8966126578827661882?l=blagrants.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blagrants.blogspot.com/feeds/8966126578827661882/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4144704359177008692&amp;postID=8966126578827661882' title='2 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/8966126578827661882'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/8966126578827661882'/><link rel='alternate' type='text/html' href='http://blagrants.blogspot.com/2011/06/python-easygui-and-sap.html' title='Python, EasyGui and SAP'/><author><name>Alvaro "Blag" Tejada Galindo</name><uri>http://www.blogger.com/profile/12061593528820409779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='https://weblogs.sdn.sap.com/images/people/alvaro_tajeda.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-Rynr5k10V9M/TgHyZqSalpI/AAAAAAAABhk/7_IZlBpgTko/s72-c/SE16_EasyGui_01.png' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4144704359177008692.post-6861631271803400208</id><published>2011-06-22T06:11:00.000-07:00</published><updated>2011-06-22T06:42:15.975-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SAP'/><category scheme='http://www.blogger.com/atom/ns#' term='Python'/><title type='text'>Python, Bottle, Flask and SAP</title><content type='html'>&lt;DIV ALIGN="JUSTIFY"&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Original post: &lt;a href="http://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/25106"&gt;Tasting the mix of Python and SAP&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;It's been a very long time since my last "Tasting the mix of" blog post...but here we are to change that -;)&lt;br /&gt;&lt;br /&gt;Lately, I have been learning Python...a sexy, powerful and easy to learn programming language...so of course...every time I learn something new, I want to apply it to the SAP world...and lucky me, &lt;a href="http://www.piersharding.com/blog/"&gt;Piers Harding&lt;/a&gt; had already creating an Python SAPRfc connector -:D &lt;br /&gt;&lt;br /&gt;So, with everything setup and working I proceeded to start working on the SE16 emulator using the DOS screen...but then I realized that even when didn't do an SE16, my good friend &lt;a href="http://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/u/251752730"&gt;David Hull&lt;/a&gt; was already using Python, SAPRfc and DOS screen in his blog entitled &lt;a href="http://pypi.python.org/pypi/sapnwrfc/"&gt;Python and SAP Adventures&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;As I had already worked with Micro Frameworks in Ruby, I thought it was a good idea to implement the same using Python...so after my research I found two nice candidates (Take note that I love Micro Frameworks and not so streamed Frameworks...meaning that I don't like, don't know and don't use Rails or Djanjo...I like to keep it simple).&lt;br /&gt;&lt;br /&gt;These Micro Frameworks are called &lt;a href="http://bottlepy.org/"&gt;Bottle&lt;/a&gt; and &lt;a href="http://flask.pocoo.org/"&gt;Flask&lt;/a&gt; (Weird name, huh?).&lt;br /&gt;&lt;br /&gt;So, to make things simple, I used the YAML approach, where we use a configuration like file where we are going to put our connection strings...something like the SAPLogon.ini&lt;br /&gt;&lt;br /&gt;&lt;pre style="border: 1px dashed rgb(153, 153, 153); padding: 5px; overflow: auto; font-family: Andale Mono,Lucida Console,Monaco,fixed,monospace; color: rgb(0, 0, 0); background-color: rgb(238, 238, 238); font-size: 12px; line-height: 14px; width: 95%;"&gt;&lt;br /&gt;ashost: localhost&lt;br /&gt;sysnr: "00"&lt;br /&gt;client: "001"&lt;br /&gt;lang: EN&lt;br /&gt;trace: 1&lt;br /&gt;loglevel: warn&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;For the source codes, let's start with Bottle.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;SE16_Bottle.py&lt;/span&gt;&lt;br /&gt;&lt;pre style="border: 1px dashed rgb(153, 153, 153); padding: 5px; overflow: auto; font-family: Andale Mono,Lucida Console,Monaco,fixed,monospace; color: rgb(0, 0, 0); background-color: rgb(238, 238, 238); font-size: 12px; line-height: 14px; width: 95%;"&gt;&lt;br /&gt;from bottle import get, post, request, run, redirect, route&lt;br /&gt;import sapnwrfc&lt;br /&gt;&lt;br /&gt;conn = ""&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;@get('/login')&lt;br /&gt;def login_form():&lt;br /&gt;    return '''&amp;lt;DIV ALIGN='CENTER'&amp;gt;&amp;lt;BR&amp;gt;&amp;lt;BR&amp;gt;&amp;lt;BR&amp;gt;&amp;lt;BR&amp;gt;&lt;br /&gt;                &amp;lt;H1&amp;gt;Python (Bottle) &amp; SAP - SE16 Emulator&amp;lt;/H1&amp;gt;&lt;br /&gt;                &amp;lt;BR&amp;gt;&amp;lt;TABLE BORDER='1' BORDERCOLOR='BLUE' &lt;br /&gt;                     BGCOLOR='WHITE'&amp;gt;&lt;br /&gt;                &amp;lt;FORM METHOD='POST'&amp;gt;&lt;br /&gt;                &amp;lt;TR&amp;gt;&amp;lt;TD&amp;gt;User&amp;lt;/TD&amp;gt;&amp;lt;TD&amp;gt;&lt;br /&gt;                &amp;lt;INPUT TYPE='TEXT' NAME='User'&amp;gt;&amp;lt;/TD&amp;gt;&amp;lt;/TR&amp;gt;&lt;br /&gt;                &amp;lt;TR&amp;gt;&amp;lt;TD&amp;gt;Password&amp;lt;/TD&amp;gt;&lt;br /&gt;                &amp;lt;TD&amp;gt;&amp;lt;INPUT TYPE='PASSWORD' NAME='Passwd'&amp;gt;&amp;lt;/TD&amp;gt;&amp;lt;/TR&amp;gt;&lt;br /&gt;                &amp;lt;TR&amp;gt;&amp;lt;TD COLSPAN='2' ALIGN='CENTER'&amp;gt;&lt;br /&gt;                &amp;lt;INPUT TYPE='SUBMIT' value='Log In' NAME='LOG_IN'&amp;gt;&lt;br /&gt;                &amp;lt;INPUT TYPE='RESET' value='Clear'&amp;gt;&amp;lt;/TD&amp;gt;&amp;lt;/TR&amp;gt;&lt;br /&gt;                &amp;lt;/FORM&amp;gt;&lt;br /&gt;                &amp;lt;TABLE&amp;gt;&lt;br /&gt;              &amp;lt;/DIV&amp;gt;'''&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;@post('/login')&lt;br /&gt;def login_submit():&lt;br /&gt;    global conn&lt;br /&gt;    user = request.forms.get('User')&lt;br /&gt;    passwd = request.forms.get('Passwd')&lt;br /&gt;    sapnwrfc.base.config_location = "sap.yml"&lt;br /&gt;    sapnwrfc.base.load_config()&lt;br /&gt;    conn = sapnwrfc.base.rfc_connect({'user': user, 'passwd': passwd})&lt;br /&gt;    redirect("/choose")&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;@get('/choose')&lt;br /&gt;def choose_table():&lt;br /&gt;    return '''&amp;lt;CENTER&amp;gt;&lt;br /&gt;                &amp;lt;FORM METHOD='POST'&amp;gt;&lt;br /&gt;                &amp;lt;INPUT TYPE='TEXT' NAME='Table'&amp;gt;&amp;lt;BR&amp;gt;&lt;br /&gt;                &amp;lt;INPUT TYPE='SUBMIT' value='Show Table' &lt;br /&gt;                 NAME='Show_Table'&amp;gt;&lt;br /&gt;                &amp;lt;/FORM&amp;gt;&lt;br /&gt;              &amp;lt;/CENTER&amp;gt;'''&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;@post('/choose')&lt;br /&gt;def show_table():&lt;br /&gt;    global conn&lt;br /&gt;    fields = []&lt;br /&gt;    fields_name = []&lt;br /&gt;    table = request.forms.get('Table')&lt;br /&gt;    func_disc = conn.discover("RFC_READ_TABLE")&lt;br /&gt;    func = func_disc.create_function_call()&lt;br /&gt;    func.QUERY_TABLE(table)&lt;br /&gt;    func.DELIMITER("|")&lt;br /&gt;    func.invoke()&lt;br /&gt;    data_fields = func.DATA.value&lt;br /&gt;    data_names = func.FIELDS.value&lt;br /&gt;    long_fields = len(func.DATA())&lt;br /&gt;    long_names = len(func.FIELDS())&lt;br /&gt;&lt;br /&gt;    for line in range(0, long_fields):&lt;br /&gt;        fields.append(data_fields[line]["WA"].strip())&lt;br /&gt;    for line in range(0, long_names):&lt;br /&gt;        fields_name.append(data_names[line]["FIELDNAME"].strip())&lt;br /&gt;&lt;br /&gt;    output = "&amp;lt;table border='1'&amp;gt;&amp;lt;tr&amp;gt;"&lt;br /&gt;    for line in range(0, long_names):&lt;br /&gt;        field_name = fields_name[line]&lt;br /&gt;        output += "&amp;lt;th&amp;gt; %s &amp;lt;/th&amp;gt;" % field_name&lt;br /&gt;    output += "&amp;lt;/tr&amp;gt;"&lt;br /&gt;    for line in range(0, long_fields):&lt;br /&gt;        output += "&amp;lt;tr&amp;gt;"&lt;br /&gt;        data_split = fields[line].split("|")&lt;br /&gt;        for line in range(0, long_names):&lt;br /&gt;            output += "&amp;lt;td&amp;gt; %s &amp;lt;/td&amp;gt;" % data_split[line]&lt;br /&gt;        output += "&amp;lt;/tr&amp;gt;"&lt;br /&gt;    output += "&amp;lt;/table&amp;gt;"&lt;br /&gt;    return output&lt;br /&gt;    conn.close()&lt;br /&gt;&lt;br /&gt;run(host='localhost', port=8080)&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/-JfnjC_Rwhfg/TgHs1bb_1pI/AAAAAAAABg0/lIhY8LSIHbw/s1600/Bottle_SAP_01.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 270px;" src="http://4.bp.blogspot.com/-JfnjC_Rwhfg/TgHs1bb_1pI/AAAAAAAABg0/lIhY8LSIHbw/s400/Bottle_SAP_01.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5621034212577498770" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/-5i_NZ6nqjmg/TgHs9XeoeSI/AAAAAAAABg8/rbPWD0dA_ZM/s1600/Bottle_SAP_02.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 270px;" src="http://1.bp.blogspot.com/-5i_NZ6nqjmg/TgHs9XeoeSI/AAAAAAAABg8/rbPWD0dA_ZM/s400/Bottle_SAP_02.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5621034348953762082" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/-mRaWg5Bnlms/TgHtJIXfiMI/AAAAAAAABhE/RrEelGn5CF0/s1600/Bottle_SAP_03.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 270px;" src="http://3.bp.blogspot.com/-mRaWg5Bnlms/TgHtJIXfiMI/AAAAAAAABhE/RrEelGn5CF0/s400/Bottle_SAP_03.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5621034551055714498" /&gt;&lt;/a&gt;&lt;br /&gt;Now, let's continue with Flask:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;SE16_Flask.py&lt;/span&gt;&lt;br /&gt;&lt;pre style="border: 1px dashed rgb(153, 153, 153); padding: 5px; overflow: auto; font-family: Andale Mono,Lucida Console,Monaco,fixed,monospace; color: rgb(0, 0, 0); background-color: rgb(238, 238, 238); font-size: 12px; line-height: 14px; width: 95%;"&gt;&lt;br /&gt;from flask import Flask, redirect, request&lt;br /&gt;import sapnwrfc&lt;br /&gt;app = Flask(__name__)&lt;br /&gt;&lt;br /&gt;conn = ""&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;@app.route("/")&lt;br /&gt;def login():&lt;br /&gt;    return '''&amp;lt;DIV ALIGN='CENTER'&amp;gt;&amp;lt;BR&amp;gt;&amp;lt;BR&amp;gt;&amp;lt;BR&amp;gt;&amp;lt;BR&amp;gt;&lt;br /&gt;                &amp;lt;H1&amp;gt;Python (Flask) &amp; SAP - SE16 Emulator&amp;lt;/H1&amp;gt;&lt;br /&gt;                &amp;lt;BR&amp;gt;&amp;lt;TABLE BORDER='1' BORDERCOLOR='BLUE' &lt;br /&gt;                     BGCOLOR='WHITE'&amp;gt;&lt;br /&gt;                &amp;lt;FORM ACTION='/login_submit' METHOD='POST'&amp;gt;&lt;br /&gt;                &amp;lt;TR&amp;gt;&amp;lt;TD&amp;gt;User&amp;lt;/TD&amp;gt;&amp;lt;TD&amp;gt;&lt;br /&gt;                &amp;lt;INPUT TYPE='TEXT' NAME='User'&amp;gt;&amp;lt;/TD&amp;gt;&amp;lt;/TR&amp;gt;&lt;br /&gt;                &amp;lt;TR&amp;gt;&amp;lt;TD&amp;gt;Password&amp;lt;/TD&amp;gt;&lt;br /&gt;                &amp;lt;TD&amp;gt;&amp;lt;INPUT TYPE='PASSWORD' NAME='Passwd'&amp;gt;&amp;lt;/TD&amp;gt;&amp;lt;/TR&amp;gt;&lt;br /&gt;                &amp;lt;TR&amp;gt;&amp;lt;TD COLSPAN='2' ALIGN='CENTER'&amp;gt;&lt;br /&gt;                &amp;lt;INPUT TYPE='SUBMIT' value='Log In' NAME='LOG_IN'&amp;gt;&lt;br /&gt;                &amp;lt;INPUT TYPE='RESET' value='Clear'&amp;gt;&amp;lt;/TD&amp;gt;&amp;lt;/TR&amp;gt;&lt;br /&gt;                &amp;lt;/FORM&amp;gt;&lt;br /&gt;                &amp;lt;TABLE&amp;gt;&lt;br /&gt;              &amp;lt;/DIV&amp;gt;'''&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;@app.route("/login_submit", methods=['GET', 'POST'])&lt;br /&gt;def login_submit():&lt;br /&gt;    global conn&lt;br /&gt;    if request.method == 'POST':&lt;br /&gt;        user = request.form['User']&lt;br /&gt;        passwd = request.form['Passwd']&lt;br /&gt;        sapnwrfc.base.config_location = "sap.yml"&lt;br /&gt;        sapnwrfc.base.load_config()&lt;br /&gt;        conn = sapnwrfc.base.rfc_connect({'user': user, &lt;br /&gt;                                          'passwd': passwd})&lt;br /&gt;        return redirect("/choose")&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;@app.route("/choose")&lt;br /&gt;def choose_table():&lt;br /&gt;    return '''&amp;lt;CENTER&amp;gt;&lt;br /&gt;                &amp;lt;FORM ACTION='/show' METHOD='POST'&amp;gt;&lt;br /&gt;                &amp;lt;INPUT TYPE='TEXT' NAME='Table'&amp;gt;&amp;lt;BR&amp;gt;&lt;br /&gt;                &amp;lt;INPUT TYPE='SUBMIT' value='Show Table' &lt;br /&gt;                 NAME='Show_Table'&amp;gt;&lt;br /&gt;                &amp;lt;/FORM&amp;gt;&lt;br /&gt;              &amp;lt;/CENTER&amp;gt;'''&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;@app.route("/show", methods=['GET', 'POST'])&lt;br /&gt;def show_table():&lt;br /&gt;    global conn&lt;br /&gt;    if request.method == 'POST':&lt;br /&gt;        fields = []&lt;br /&gt;        fields_name = []&lt;br /&gt;        table = str(request.form['Table'])&lt;br /&gt;        func_disc = conn.discover("RFC_READ_TABLE")&lt;br /&gt;        func = func_disc.create_function_call()&lt;br /&gt;        func.QUERY_TABLE(table)&lt;br /&gt;        func.DELIMITER("|")&lt;br /&gt;        func.invoke()&lt;br /&gt;        data_fields = func.DATA.value&lt;br /&gt;        data_names = func.FIELDS.value&lt;br /&gt;        long_fields = len(func.DATA())&lt;br /&gt;        long_names = len(func.FIELDS())&lt;br /&gt;&lt;br /&gt;        for line in range(0, long_fields):&lt;br /&gt;            fields.append(data_fields[line]["WA"].strip())&lt;br /&gt;        for line in range(0, long_names):&lt;br /&gt;            fields_name.append(data_names[line]["FIELDNAME"].strip())&lt;br /&gt;&lt;br /&gt;        output = "&amp;lt;table border='1'&amp;gt;&amp;lt;tr&amp;gt;"&lt;br /&gt;        for line in range(0, long_names):&lt;br /&gt;            field_name = fields_name[line]&lt;br /&gt;            output += "&amp;lt;th&amp;gt; %s &amp;lt;/th&amp;gt;" % field_name&lt;br /&gt;        output += "&amp;lt;/tr&amp;gt;"&lt;br /&gt;        for line in range(0, long_fields):&lt;br /&gt;            output += "&amp;lt;tr&amp;gt;"&lt;br /&gt;            data_split = fields[line].split("|")&lt;br /&gt;            for line in range(0, long_names):&lt;br /&gt;                output += "&amp;lt;td&amp;gt; %s &amp;lt;/td&amp;gt;" % data_split[line]&lt;br /&gt;            output += "&amp;lt;/tr&amp;gt;"&lt;br /&gt;        output += "&amp;lt;/table&amp;gt;"&lt;br /&gt;        return output&lt;br /&gt;        conn.close()&lt;br /&gt;&lt;br /&gt;if __name__ == "__main__":&lt;br /&gt;    app.run()&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/-Bqvrn5eGkJ4/TgHwusK_kvI/AAAAAAAABhM/T3ul5XYA718/s1600/Flask_SAP_01.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 270px;" src="http://1.bp.blogspot.com/-Bqvrn5eGkJ4/TgHwusK_kvI/AAAAAAAABhM/T3ul5XYA718/s400/Flask_SAP_01.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5621038494857007858" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/-AguYclRf8vY/TgHwzeDYJhI/AAAAAAAABhU/yDAmAy9t61k/s1600/Flask_SAP_02.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 270px;" src="http://1.bp.blogspot.com/-AguYclRf8vY/TgHwzeDYJhI/AAAAAAAABhU/yDAmAy9t61k/s400/Flask_SAP_02.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5621038576966313490" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/-HQkAgJM5aWM/TgHw4L3_ELI/AAAAAAAABhc/Mv6RFLyYgCI/s1600/Flask_SAP_03.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 270px;" src="http://3.bp.blogspot.com/-HQkAgJM5aWM/TgHw4L3_ELI/AAAAAAAABhc/Mv6RFLyYgCI/s400/Flask_SAP_03.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5621038657986039986" /&gt;&lt;/a&gt;&lt;br /&gt;Same output, different Micro Frameworks...nice, isn't it?&lt;br /&gt;&lt;br /&gt;See you soon with another recipe for the "Tasting the mix of..."&lt;br /&gt;&lt;br /&gt;Greetings,&lt;br /&gt;&lt;br /&gt;Blag.&lt;br /&gt;&lt;/DIV&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4144704359177008692-6861631271803400208?l=blagrants.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blagrants.blogspot.com/feeds/6861631271803400208/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4144704359177008692&amp;postID=6861631271803400208' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/6861631271803400208'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/6861631271803400208'/><link rel='alternate' type='text/html' href='http://blagrants.blogspot.com/2011/06/python-bottle-flask-and-sap.html' title='Python, Bottle, Flask and SAP'/><author><name>Alvaro "Blag" Tejada Galindo</name><uri>http://www.blogger.com/profile/12061593528820409779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='https://weblogs.sdn.sap.com/images/people/alvaro_tajeda.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-JfnjC_Rwhfg/TgHs1bb_1pI/AAAAAAAABg0/lIhY8LSIHbw/s72-c/Bottle_SAP_01.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4144704359177008692.post-1200127278923590592</id><published>2011-05-20T05:10:00.000-07:00</published><updated>2011-05-20T05:38:06.995-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Games'/><category scheme='http://www.blogger.com/atom/ns#' term='Learning'/><category scheme='http://www.blogger.com/atom/ns#' term='Python'/><title type='text'>Tic-Tac-Toe - A Python game</title><content type='html'>&lt;DIV ALIGN="JUSTIFY"&gt;&lt;br /&gt;Python? Is that one of the coolest programming languages? Yes it is -:)&lt;br /&gt;So yes, I started learning Python a couple of weeks ago...a month maybe...so how did it started?&lt;br /&gt;&lt;br /&gt;I knew Python by name for quite a long time ago...doing Ruby stuff I knew that Ruby inherit a lot from Python (from Perl as well), but I never give it too much of attention.&lt;br /&gt;&lt;br /&gt;One day, I said to myself...you must try Python dude! It looks like a nice one...so I put myself in the journey of learning a new programming language.&lt;br /&gt;Most Python people say "Python is easy to learn, it's sexy, it makes write beautiful code"...and you know what? It's damn true -:)&lt;br /&gt;&lt;br /&gt;So, as part of my learning process I took a Tic-Tac-Toe I made on Ruby 5 years ago and ported to Python...believe or not...the code is more robust and I managed to cut to 38 less lines...nice, huh?&lt;br /&gt;&lt;br /&gt;So here's the code...and keep in mind that I'm a Python newbie...so don't came to me with your "Oh, if you were a real Pythonist, you should thing like this"...because I'm not a Pythonist...at least not yet -;) I'm an &lt;a href="http://en.wikipedia.org/wiki/Abap"&gt;ABAPist&lt;/a&gt; -:P&lt;br /&gt;&lt;br /&gt;&lt;pre style="border: 1px dashed rgb(153, 153, 153); padding: 5px; overflow: auto; font-family: Andale Mono,Lucida Console,Monaco,fixed,monospace; color: rgb(0, 0, 0); background-color: rgb(238, 238, 238); font-size: 12px; line-height: 14px; width: 95%;"&gt;&lt;br /&gt;#TIC_TAC_TOE&lt;br /&gt;#Made by Blag - 2011&lt;br /&gt;&lt;br /&gt;game = False&lt;br /&gt;coordenates = ""&lt;br /&gt;player_won = ""&lt;br /&gt;player_turn = "1"&lt;br /&gt;line1 = ""&lt;br /&gt;line2 = ""&lt;br /&gt;line3 = ""&lt;br /&gt;line4 = ""&lt;br /&gt;line5 = ""&lt;br /&gt;&lt;br /&gt;board_array = [" ", " ", " ", " ", " ", " ", " ", " ", " "]&lt;br /&gt;played_moves = [" ", " ", " ", " ", " ", " ", " ", " ", " "]&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;def clean_lines():&lt;br /&gt;    line1 = " "&lt;br /&gt;    line2 = " "&lt;br /&gt;    line3 = " "&lt;br /&gt;    line4 = " "&lt;br /&gt;    line5 = " "&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;def initial_board():&lt;br /&gt;    clean_lines()&lt;br /&gt;    line1 = "   |   |   "&lt;br /&gt;    line2 = "---+---+---"&lt;br /&gt;    line3 = "   |   |   "&lt;br /&gt;    line4 = "---+---+---"&lt;br /&gt;    line5 = "   |   |   "&lt;br /&gt;&lt;br /&gt;    print "\n"&lt;br /&gt;    print (line1)&lt;br /&gt;    print (line2)&lt;br /&gt;    print (line3)&lt;br /&gt;    print (line4)&lt;br /&gt;    print (line5)&lt;br /&gt;    print "\n"&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;def board(coordenates, player):&lt;br /&gt;    clean_lines()&lt;br /&gt;&lt;br /&gt;    if board_array[coordenates] == " ":&lt;br /&gt;        board_array[coordenates] = player&lt;br /&gt;    else:&lt;br /&gt;        cheat = True&lt;br /&gt;&lt;br /&gt;    Move_1 = board_array[0]&lt;br /&gt;    Move_2 = board_array[1]&lt;br /&gt;    Move_3 = board_array[2]&lt;br /&gt;    Move_4 = board_array[3]&lt;br /&gt;    Move_5 = board_array[4]&lt;br /&gt;    Move_6 = board_array[5]&lt;br /&gt;    Move_7 = board_array[6]&lt;br /&gt;    Move_8 = board_array[7]&lt;br /&gt;    Move_9 = board_array[8]&lt;br /&gt;&lt;br /&gt;    print "\n"&lt;br /&gt;    print " %s | %s | %s " % (Move_1, Move_2, Move_3)&lt;br /&gt;    print "---+---+---"&lt;br /&gt;    print " %s | %s | %s " % (Move_4, Move_5, Move_6)&lt;br /&gt;    print "---+---+--- "&lt;br /&gt;    print " %s | %s | %s " % (Move_7, Move_8, Move_9)&lt;br /&gt;    print "\n\n"&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;def print_winner(player):&lt;br /&gt;    print "Player ", player, " won\n\n"&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;def check_who_wins():&lt;br /&gt;    game = False&lt;br /&gt;    if (board_array[0] != " " and board_array[0] == board_array[1] and&lt;br /&gt;        board_array[1] == board_array[2]):&lt;br /&gt;        game = True&lt;br /&gt;        if board_array[0] == "*":&lt;br /&gt;            print_winner(1)&lt;br /&gt;        else:&lt;br /&gt;            print_winner(2)&lt;br /&gt;&lt;br /&gt;    if (board_array[3] != " " and board_array[3] == board_array[4] and&lt;br /&gt;        board_array[4] == board_array[5]):&lt;br /&gt;        game = True&lt;br /&gt;        if board_array[3] == "*":&lt;br /&gt;            print_winner(1)&lt;br /&gt;        else:&lt;br /&gt;            print_winner(2)&lt;br /&gt;&lt;br /&gt;    if (board_array[0] != " " and board_array[0] == board_array[3] and&lt;br /&gt;        board_array[3] == board_array[6]):&lt;br /&gt;        game = True&lt;br /&gt;        if board_array[0] == "*":&lt;br /&gt;            print_winner(1)&lt;br /&gt;        else:&lt;br /&gt;            print_winner(2)&lt;br /&gt;&lt;br /&gt;    if (board_array[1] != " " and board_array[1] == board_array[4] and&lt;br /&gt;        board_array[4] == board_array[7]):&lt;br /&gt;        game = True&lt;br /&gt;        if board_array[1] == "*":&lt;br /&gt;            print_winner(1)&lt;br /&gt;        else:&lt;br /&gt;            print_winner(2)&lt;br /&gt;&lt;br /&gt;    if (board_array[2] != " " and board_array[2] == board_array[5] and&lt;br /&gt;        board_array[5] == board_array[8]):&lt;br /&gt;        game = True&lt;br /&gt;&lt;br /&gt;        if board_array[2] == "*":&lt;br /&gt;            print_winner(1)&lt;br /&gt;        else:&lt;br /&gt;            print_winner(2)&lt;br /&gt;&lt;br /&gt;    if (board_array[0] != " " and board_array[0] == board_array[4] and&lt;br /&gt;        board_array[4] == board_array[8]):&lt;br /&gt;        game = True&lt;br /&gt;        if board_array[0] == "*":&lt;br /&gt;            print_winner(1)&lt;br /&gt;        else:&lt;br /&gt;            print_winner(2)&lt;br /&gt;&lt;br /&gt;    if (board_array[2] != " " and board_array[2] == board_array[4] and&lt;br /&gt;        board_array[4] == board_array[6]):&lt;br /&gt;        game = True&lt;br /&gt;        if board_array[2] == "*":&lt;br /&gt;            print_winner(1)&lt;br /&gt;        else:&lt;br /&gt;            print_winner(2)&lt;br /&gt;&lt;br /&gt;    wins = 0&lt;br /&gt;&lt;br /&gt;    for board in board_array:&lt;br /&gt;        if board != " ":&lt;br /&gt;            wins += 1&lt;br /&gt;&lt;br /&gt;    if wins == 9:&lt;br /&gt;        game = True&lt;br /&gt;        print "It's a Tie'.\n\n"&lt;br /&gt;&lt;br /&gt;    return game&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;def make_move(player_turn, game, coordenates):&lt;br /&gt;    index_coordenates = 0&lt;br /&gt;    if game == False:&lt;br /&gt;        cheat = False&lt;br /&gt;        if player_turn == "1":&lt;br /&gt;            coordenates = input("Player 1: ")&lt;br /&gt;            coordenates = coordenates&lt;br /&gt;            if coordenates &amp;lt;= 0 or coordenates &amp;gt; 9:&lt;br /&gt;                print "Please, only values from 1 to 9\n"&lt;br /&gt;                make_move(player_turn, game, coordenates)&lt;br /&gt;            for moves in played_moves:&lt;br /&gt;                if moves == coordenates:&lt;br /&gt;                    cheat = True&lt;br /&gt;            if cheat == True:&lt;br /&gt;                cheat = False&lt;br /&gt;                print "That move was already made!\n"&lt;br /&gt;                make_move(player_turn, game, coordenates)&lt;br /&gt;            index_coordenates = coordenates - 1&lt;br /&gt;            played_moves[index_coordenates] = coordenates&lt;br /&gt;            player = "*"&lt;br /&gt;            board(index_coordenates, player)&lt;br /&gt;            game = check_who_wins()&lt;br /&gt;&lt;br /&gt;    if game == False:&lt;br /&gt;        cheat = False&lt;br /&gt;        player_turn = "2"&lt;br /&gt;        if player_turn == "2":&lt;br /&gt;            coordenates = input("Player 2: ")&lt;br /&gt;            coordenates = coordenates&lt;br /&gt;            if coordenates &amp;lt;= 0 or coordenates &amp;gt; 9:&lt;br /&gt;                print "Please, only values from 1 to 9\n"&lt;br /&gt;                make_move(player_turn, game, coordenates)&lt;br /&gt;&lt;br /&gt;            for moves in played_moves:&lt;br /&gt;                if moves == coordenates:&lt;br /&gt;                    cheat = True&lt;br /&gt;&lt;br /&gt;            if cheat == True:&lt;br /&gt;                cheat = False&lt;br /&gt;                print "That move was already made!\n"&lt;br /&gt;                make_move(player_turn, game, coordenates)&lt;br /&gt;&lt;br /&gt;            index_coordenates = coordenates - 1&lt;br /&gt;            played_moves[index_coordenates] = coordenates&lt;br /&gt;            player = "O"&lt;br /&gt;            board(index_coordenates, player)&lt;br /&gt;            game = check_who_wins()&lt;br /&gt;            player_turn = "1"&lt;br /&gt;    return game&lt;br /&gt;&lt;br /&gt;initial_board()&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;while(game == False):&lt;br /&gt;    game = make_move(player_turn, game, coordenates)&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/-5TQ_tVye9yc/TdZgUG11EpI/AAAAAAAABfc/vDGuiSS6xI8/s1600/Python_Tic_Tac_Toe_01.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 314px; height: 362px;" src="http://2.bp.blogspot.com/-5TQ_tVye9yc/TdZgUG11EpI/AAAAAAAABfc/vDGuiSS6xI8/s400/Python_Tic_Tac_Toe_01.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5608776284486570642" /&gt;&lt;/a&gt;&lt;br /&gt;Greetings,&lt;br /&gt;&lt;br /&gt;Blag.&lt;br /&gt;&lt;/DIV&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4144704359177008692-1200127278923590592?l=blagrants.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blagrants.blogspot.com/feeds/1200127278923590592/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4144704359177008692&amp;postID=1200127278923590592' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/1200127278923590592'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/1200127278923590592'/><link rel='alternate' type='text/html' href='http://blagrants.blogspot.com/2011/05/tic-tac-toe-python-game.html' title='Tic-Tac-Toe - A Python game'/><author><name>Alvaro "Blag" Tejada Galindo</name><uri>http://www.blogger.com/profile/12061593528820409779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='https://weblogs.sdn.sap.com/images/people/alvaro_tajeda.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-5TQ_tVye9yc/TdZgUG11EpI/AAAAAAAABfc/vDGuiSS6xI8/s72-c/Python_Tic_Tac_Toe_01.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4144704359177008692.post-1572317252572889679</id><published>2011-02-13T14:03:00.001-08:00</published><updated>2011-02-13T14:07:25.117-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='RegEx'/><category scheme='http://www.blogger.com/atom/ns#' term='Books'/><title type='text'>Regular Expressions Book</title><content type='html'>&lt;DIV ALIGN="JUSTIFY"&gt;&lt;br /&gt;My newest book is ready to be bought -;)&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://static.lulu.com/product/file-download/regular-expressions-in-abap/14862312/thumbnail/320"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 245px; height: 320px;" src="http://static.lulu.com/product/file-download/regular-expressions-in-abap/14862312/thumbnail/320" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.lulu.com/product/paperback/regular-expressions-in-abap/14862311"&gt;Printed Book&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.lulu.com/product/file-download/regular-expressions-in-abap/14862312"&gt;PDF&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.lulu.com/content/e-book/regular-expressions-in-abap/10181601"&gt;Ebook&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Enjoy!&lt;br /&gt;&lt;br /&gt;Greetings,&lt;br /&gt;&lt;br /&gt;Blag.&lt;br /&gt;&lt;/DIV&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4144704359177008692-1572317252572889679?l=blagrants.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blagrants.blogspot.com/feeds/1572317252572889679/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4144704359177008692&amp;postID=1572317252572889679' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/1572317252572889679'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/1572317252572889679'/><link rel='alternate' type='text/html' href='http://blagrants.blogspot.com/2011/02/regular-expression-book.html' title='Regular Expressions Book'/><author><name>Alvaro "Blag" Tejada Galindo</name><uri>http://www.blogger.com/profile/12061593528820409779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='https://weblogs.sdn.sap.com/images/people/alvaro_tajeda.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4144704359177008692.post-8704259597222728974</id><published>2010-12-02T15:24:00.001-08:00</published><updated>2010-12-03T06:40:45.212-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Non_Sense'/><category scheme='http://www.blogger.com/atom/ns#' term='ABAP'/><title type='text'>Programming non-sense #2</title><content type='html'>&lt;DIV ALIGN="JUSTIFY"&gt;&lt;br /&gt;One of my hobbies is to get ABAP to make things that were not really planned in the design of the language...so when I learned how to put colors on ALV cells...I always had the idea to make something using that...so, I came out with a Paint like.&lt;br /&gt;&lt;br /&gt;In this scenario, we have 4 available colors, that get activated by doing a doble click on each cell...if the cell is empty...it's color change...if we double click again...the color changes again...and so on until we hit the cell is empty again, so we can start all over again.&lt;br /&gt;&lt;br /&gt;Here's a pic, so you can know what I'm talking about...&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_eKAKUbdu3CI/TPgBdN3gDKI/AAAAAAAABZo/vTXTgLkCyA0/s1600/ALV_Paiting.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 170px;" src="http://3.bp.blogspot.com/_eKAKUbdu3CI/TPgBdN3gDKI/AAAAAAAABZo/vTXTgLkCyA0/s400/ALV_Paiting.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5546184542557047970" /&gt;&lt;/a&gt;&lt;br /&gt;And this is the source code...I hope you like it -;)&lt;br /&gt;&lt;br /&gt;&lt;pre style="border: 1px dashed rgb(153, 153, 153); padding: 5px; overflow: auto; font-family: Andale Mono,Lucida Console,Monaco,fixed,monospace; color: rgb(0, 0, 0); background-color: rgb(238, 238, 238); font-size: 12px; line-height: 14px; width: 95%;"&gt;&lt;br /&gt;REPORT zalv_painting NO STANDARD PAGE HEADING.&lt;br /&gt;&lt;br /&gt;TYPE-POOLS: abap.&lt;br /&gt;CLASS lcl_event_receiver DEFINITION DEFERRED.&lt;br /&gt;&lt;br /&gt;DATA: it_fieldcatalog TYPE lvc_t_fcat,&lt;br /&gt;      wa_fcat TYPE lvc_s_fcat,&lt;br /&gt;      dataref TYPE REF TO data,&lt;br /&gt;      new_line TYPE REF TO data,&lt;br /&gt;      l_fieldname TYPE string,&lt;br /&gt;      data_catalog TYPE REF TO data,&lt;br /&gt;      t_stable TYPE STANDARD TABLE OF&lt;br /&gt;      lvc_s_stbl WITH HEADER LINE,&lt;br /&gt;      ct_fieldcat TYPE lvc_t_fcat,&lt;br /&gt;      gs_layout TYPE lvc_s_layo,&lt;br /&gt;      gs_variant TYPE disvariant,&lt;br /&gt;      custom_container TYPE REF TO&lt;br /&gt;      cl_gui_custom_container,&lt;br /&gt;      it_color TYPE TABLE OF lvc_s_scol,&lt;br /&gt;      it_color_aux TYPE TABLE OF lvc_s_scol,&lt;br /&gt;      wa_color_aux TYPE lvc_s_scol,&lt;br /&gt;      it_celltab TYPE lvc_t_styl,&lt;br /&gt;      event_receiver TYPE REF TO lcl_event_receiver,&lt;br /&gt;      grid1 TYPE REF TO cl_gui_alv_grid,&lt;br /&gt;      mycontainer TYPE scrfname VALUE 'CUSTOM_ALV',&lt;br /&gt;      ls_celltab TYPE lvc_s_styl,&lt;br /&gt;      wa_color TYPE lvc_s_scol,&lt;br /&gt;      l_color TYPE lvc_col,&lt;br /&gt;      l_tabix(2) TYPE c,&lt;br /&gt;      ok_code TYPE sy-ucomm,&lt;br /&gt;      x_save.&lt;br /&gt;&lt;br /&gt;FIELD-SYMBOLS: &amp;lt;row&amp;gt; TYPE table,&lt;br /&gt;               &amp;lt;l_line&amp;gt; TYPE ANY,&lt;br /&gt;               &amp;lt;l_field&amp;gt; TYPE ANY,&lt;br /&gt;               &amp;lt;fs_catalog&amp;gt; TYPE lvc_s_fcat,&lt;br /&gt;               &amp;lt;fs_color&amp;gt; LIKE LINE OF it_color,&lt;br /&gt;               &amp;lt;fs_color_aux&amp;gt; LIKE LINE OF it_color_aux,&lt;br /&gt;               &amp;lt;ct_fieldcat&amp;gt; LIKE LINE OF ct_fieldcat.&lt;br /&gt;&lt;br /&gt;*-----------------------------------------------------*&lt;br /&gt;* CLASS LCL_EVENT_RECEIVER DEFINITION                 *&lt;br /&gt;*-----------------------------------------------------*&lt;br /&gt;CLASS lcl_event_receiver DEFINITION.&lt;br /&gt;  PUBLIC SECTION.&lt;br /&gt;    METHODS: handle_double_click&lt;br /&gt;             FOR EVENT double_click OF cl_gui_alv_grid&lt;br /&gt;             IMPORTING e_row e_column.&lt;br /&gt;ENDCLASS. "LCL_EVENT_RECEIVER DEFINITION&lt;br /&gt;&lt;br /&gt;*-----------------------------------------------------*&lt;br /&gt;* CLASS lcl_event_receiver IMPLEMENTATION             *&lt;br /&gt;*-----------------------------------------------------*&lt;br /&gt;CLASS lcl_event_receiver IMPLEMENTATION.&lt;br /&gt;  METHOD handle_double_click.&lt;br /&gt;    PERFORM paint_cell USING e_row e_column.&lt;br /&gt;  ENDMETHOD.                    "handle_double_click&lt;br /&gt;ENDCLASS. "LCL_EVENT_RECEIVER IMPLEMENTATION&lt;br /&gt;&lt;br /&gt;*=====================================================*&lt;br /&gt;* START-OF-SELECTION                                  *&lt;br /&gt;*=====================================================*&lt;br /&gt;START-OF-SELECTION.&lt;br /&gt;  PERFORM create_structure.&lt;br /&gt;  PERFORM fill_layout.&lt;br /&gt;  PERFORM generate_alv_catalog.&lt;br /&gt;  PERFORM call_alv.&lt;br /&gt;  CALL SCREEN 0100.&lt;br /&gt;&lt;br /&gt;*&amp;----------------------------------------------------*&lt;br /&gt;*&amp;      Form  CREATE_STRUCTURE                        *&lt;br /&gt;*&amp;----------------------------------------------------*&lt;br /&gt;FORM create_structure.&lt;br /&gt;&lt;br /&gt;  DO 20 TIMES.&lt;br /&gt;    l_tabix = l_tabix + 1.&lt;br /&gt;    CONCATENATE 'FIELD' l_tabix INTO l_fieldname.&lt;br /&gt;    wa_fcat-fieldname = l_fieldname.&lt;br /&gt;    wa_fcat-ref_table = 'PERF_STRING_STRUCT'.&lt;br /&gt;    wa_fcat-ref_field = 'DATA'.&lt;br /&gt;    APPEND wa_fcat TO it_fieldcatalog.&lt;br /&gt;  ENDDO.&lt;br /&gt;&lt;br /&gt;  wa_fcat-fieldname     = 'COLOR'.&lt;br /&gt;  wa_fcat-ref_table     = 'PERF_STRING_STRUCT'.&lt;br /&gt;  wa_fcat-ref_field     = 'DATA'.&lt;br /&gt;  APPEND wa_fcat TO it_fieldcatalog.&lt;br /&gt;&lt;br /&gt;  wa_fcat-fieldname     = 'COLOR_CELL'.&lt;br /&gt;  wa_fcat-ref_table     = 'RESC_DEFAULT_ALV_FIELDS'.&lt;br /&gt;  wa_fcat-ref_field     = 'COLORTAB'.&lt;br /&gt;  APPEND wa_fcat TO it_fieldcatalog.&lt;br /&gt;&lt;br /&gt;  CALL METHOD cl_alv_table_create=&amp;gt;create_dynamic_table&lt;br /&gt;    EXPORTING&lt;br /&gt;      it_fieldcatalog           = it_fieldcatalog&lt;br /&gt;    IMPORTING&lt;br /&gt;      ep_table                  = dataref&lt;br /&gt;    EXCEPTIONS&lt;br /&gt;      generate_subpool_dir_full = 1&lt;br /&gt;      OTHERS                    = 2.&lt;br /&gt;&lt;br /&gt;  ASSIGN dataref-&amp;gt;* TO &amp;lt;row&amp;gt;.&lt;br /&gt;  CREATE DATA new_line LIKE LINE OF &amp;lt;row&amp;gt;.&lt;br /&gt;  ASSIGN new_line-&amp;gt;* TO &amp;lt;l_line&amp;gt;.&lt;br /&gt;&lt;br /&gt;  DO 40 TIMES.&lt;br /&gt;    INSERT &amp;lt;l_line&amp;gt; INTO TABLE &amp;lt;row&amp;gt;.&lt;br /&gt;  ENDDO.&lt;br /&gt;&lt;br /&gt;ENDFORM.                    " CREATE_STRUCTURE&lt;br /&gt;&lt;br /&gt;*&amp;----------------------------------------------------*&lt;br /&gt;*&amp;      Form  FILL_LAYOUT                             *&lt;br /&gt;*&amp;----------------------------------------------------*&lt;br /&gt;FORM fill_layout.&lt;br /&gt;&lt;br /&gt;  gs_layout-sel_mode = 'A'.&lt;br /&gt;  gs_layout-ctab_fname = 'COLOR_CELL'.&lt;br /&gt;&lt;br /&gt;ENDFORM.                    " FILL_LAYOUT&lt;br /&gt;&lt;br /&gt;*&amp;-----------------------------------------------------*&lt;br /&gt;*&amp;      Form  GENERATE_ALV_CATALOG                     *&lt;br /&gt;*&amp;-----------------------------------------------------*&lt;br /&gt;FORM generate_alv_catalog.&lt;br /&gt;&lt;br /&gt;  CREATE DATA data_catalog TYPE lvc_s_fcat.&lt;br /&gt;  ASSIGN data_catalog-&amp;gt;* TO &amp;lt;fs_catalog&amp;gt;.&lt;br /&gt;&lt;br /&gt;  CLEAR l_tabix.&lt;br /&gt;&lt;br /&gt;  DO 20 TIMES.&lt;br /&gt;    l_tabix = l_tabix + 1.&lt;br /&gt;    CONCATENATE 'FIELD' l_tabix INTO l_fieldname.&lt;br /&gt;    APPEND INITIAL LINE TO ct_fieldcat&lt;br /&gt;    ASSIGNING &amp;lt;ct_fieldcat&amp;gt;.&lt;br /&gt;    &amp;lt;ct_fieldcat&amp;gt;-fieldname = l_fieldname.&lt;br /&gt;  ENDDO.&lt;br /&gt;&lt;br /&gt;ENDFORM.                    " GENERATE_ALV_CATALOG&lt;br /&gt;&lt;br /&gt;*&amp;------------------------------------------------------*&lt;br /&gt;*&amp;      Form  CALL_ALV                                  *&lt;br /&gt;*&amp;------------------------------------------------------*&lt;br /&gt;FORM call_alv.&lt;br /&gt;&lt;br /&gt;  IF custom_container IS INITIAL.&lt;br /&gt;    CREATE OBJECT custom_container&lt;br /&gt;      EXPORTING&lt;br /&gt;        container_name              = mycontainer&lt;br /&gt;      EXCEPTIONS&lt;br /&gt;        cntl_error                  = 1&lt;br /&gt;        cntl_system_error           = 2&lt;br /&gt;        create_error                = 3&lt;br /&gt;        lifetime_error              = 4&lt;br /&gt;        lifetime_dynpro_dynpro_link = 5.&lt;br /&gt;  ENDIF.&lt;br /&gt;&lt;br /&gt;  CREATE OBJECT grid1&lt;br /&gt;    EXPORTING&lt;br /&gt;      i_parent = custom_container.&lt;br /&gt;&lt;br /&gt;  CREATE OBJECT event_receiver.&lt;br /&gt;&lt;br /&gt;  SET HANDLER event_receiver-&amp;gt;handle_double_click FOR grid1.&lt;br /&gt;&lt;br /&gt;  CALL METHOD grid1-&amp;gt;set_table_for_first_display&lt;br /&gt;    EXPORTING&lt;br /&gt;      is_variant      = gs_variant&lt;br /&gt;      i_save          = x_save&lt;br /&gt;      i_default       = 'X'&lt;br /&gt;      is_layout       = gs_layout&lt;br /&gt;    CHANGING&lt;br /&gt;      it_fieldcatalog = ct_fieldcat&lt;br /&gt;      it_outtab       = &amp;lt;row&amp;gt;.&lt;br /&gt;&lt;br /&gt;ENDFORM.                    " CALL_ALV&lt;br /&gt;&lt;br /&gt;*&amp;----------------------------------------------------*&lt;br /&gt;*&amp;      Module  STATUS_0100  OUTPUT                   *&lt;br /&gt;*&amp;----------------------------------------------------*&lt;br /&gt;MODULE status_0100 OUTPUT.&lt;br /&gt;&lt;br /&gt;  SET PF-STATUS '0100'.&lt;br /&gt;  SET TITLEBAR 'TITLE'.&lt;br /&gt;&lt;br /&gt;ENDMODULE.                 " STATUS_0100  OUTPUT&lt;br /&gt;&lt;br /&gt;*&amp;----------------------------------------------------*&lt;br /&gt;*&amp;      Module  USER_COMMAND_0100  INPUT              *&lt;br /&gt;*&amp;----------------------------------------------------*&lt;br /&gt;MODULE user_command_0100 INPUT.&lt;br /&gt;&lt;br /&gt;  ok_code = sy-ucomm.&lt;br /&gt;&lt;br /&gt;  CASE ok_code.&lt;br /&gt;    WHEN 'BACK' OR 'STOP' OR 'CANCEL'.&lt;br /&gt;      SET SCREEN 0.&lt;br /&gt;      LEAVE SCREEN.&lt;br /&gt;  ENDCASE.&lt;br /&gt;&lt;br /&gt;ENDMODULE.                 " USER_COMMAND_0100  INPUT&lt;br /&gt;&lt;br /&gt;*&amp;----------------------------------------------------*&lt;br /&gt;*&amp;      Form  PAINT_CELL                              *&lt;br /&gt;*&amp;----------------------------------------------------*&lt;br /&gt;FORM paint_cell USING p_row&lt;br /&gt;                      p_column.&lt;br /&gt;&lt;br /&gt;  READ TABLE &amp;lt;row&amp;gt; ASSIGNING &amp;lt;l_line&amp;gt;&lt;br /&gt;  INDEX p_row.&lt;br /&gt;  IF sy-subrc EQ 0 AND &amp;lt;l_line&amp;gt; IS ASSIGNED.&lt;br /&gt;    ASSIGN COMPONENT 22 OF STRUCTURE &amp;lt;l_line&amp;gt; TO &amp;lt;l_field&amp;gt;.&lt;br /&gt;    it_color[] = &amp;lt;l_field&amp;gt;.&lt;br /&gt;    READ TABLE it_color ASSIGNING &amp;lt;fs_color&amp;gt;&lt;br /&gt;    WITH KEY fname = p_column.&lt;br /&gt;    IF sy-subrc EQ 0 AND &amp;lt;fs_color&amp;gt; IS ASSIGNED.&lt;br /&gt;      CASE &amp;lt;fs_color&amp;gt;-color-col.&lt;br /&gt;        WHEN space or 2.&lt;br /&gt;          l_color = 1.&lt;br /&gt;        WHEN 1.&lt;br /&gt;          l_color = 4.&lt;br /&gt;        WHEN 4.&lt;br /&gt;          l_color = 5.&lt;br /&gt;        WHEN 5.&lt;br /&gt;          l_color = 6.&lt;br /&gt;        WHEN 6.&lt;br /&gt;          l_color = 2. "White&lt;br /&gt;      ENDCASE.&lt;br /&gt;&lt;br /&gt;      MOVE l_color TO &amp;lt;fs_color&amp;gt;-color-col.&lt;br /&gt;      MOVE p_column TO &amp;lt;fs_color&amp;gt;-fname.&lt;br /&gt;    ELSE.&lt;br /&gt;      l_color = 1.&lt;br /&gt;      MOVE l_color TO wa_color-color-col.&lt;br /&gt;      MOVE p_column TO wa_color-fname.&lt;br /&gt;      APPEND wa_color TO it_color.&lt;br /&gt;    ENDIF.&lt;br /&gt;&lt;br /&gt;    ASSIGN COMPONENT 22 OF STRUCTURE &amp;lt;l_line&amp;gt; TO &amp;lt;l_field&amp;gt;.&lt;br /&gt;    &amp;lt;l_field&amp;gt; = it_color[].&lt;br /&gt;&lt;br /&gt;    CALL METHOD grid1-&amp;gt;refresh_table_display&lt;br /&gt;      EXPORTING&lt;br /&gt;        is_stable = t_stable.&lt;br /&gt;  ENDIF.&lt;br /&gt;&lt;br /&gt;ENDFORM.                    " PAINT_CELL&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Greetings,&lt;br /&gt;&lt;br /&gt;Blag.&lt;br /&gt;&lt;/DIV&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4144704359177008692-8704259597222728974?l=blagrants.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blagrants.blogspot.com/feeds/8704259597222728974/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4144704359177008692&amp;postID=8704259597222728974' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/8704259597222728974'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/8704259597222728974'/><link rel='alternate' type='text/html' href='http://blagrants.blogspot.com/2010/12/programming-non-sense-2.html' title='Programming non-sense #2'/><author><name>Alvaro "Blag" Tejada Galindo</name><uri>http://www.blogger.com/profile/12061593528820409779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='https://weblogs.sdn.sap.com/images/people/alvaro_tajeda.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_eKAKUbdu3CI/TPgBdN3gDKI/AAAAAAAABZo/vTXTgLkCyA0/s72-c/ALV_Paiting.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4144704359177008692.post-194478161721551440</id><published>2010-11-30T08:37:00.001-08:00</published><updated>2010-11-30T08:38:19.987-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='misc'/><category scheme='http://www.blogger.com/atom/ns#' term='Ruby'/><category scheme='http://www.blogger.com/atom/ns#' term='Books'/><category scheme='http://www.blogger.com/atom/ns#' term='Learning'/><category scheme='http://www.blogger.com/atom/ns#' term='SAP'/><category scheme='http://www.blogger.com/atom/ns#' term='Flex'/><category scheme='http://www.blogger.com/atom/ns#' term='ABAP'/><title type='text'>Chrstimas Sale!</title><content type='html'>&lt;DIV ALIGN="JUSTIFY"&gt;&lt;br /&gt;Starting today and for all December...get a 25% discount in all my books!&lt;br /&gt;&lt;br /&gt;&lt;a href="http://lulu.com/Blag"&gt;Blag en Lulu.com&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Go get this awesome sale!&lt;br /&gt;&lt;br /&gt;Greetings,&lt;br /&gt;&lt;br /&gt;Blag.&lt;br /&gt;&lt;/DIV&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4144704359177008692-194478161721551440?l=blagrants.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blagrants.blogspot.com/feeds/194478161721551440/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4144704359177008692&amp;postID=194478161721551440' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/194478161721551440'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/194478161721551440'/><link rel='alternate' type='text/html' href='http://blagrants.blogspot.com/2010/11/chrstimas-sale.html' title='Chrstimas Sale!'/><author><name>Alvaro "Blag" Tejada Galindo</name><uri>http://www.blogger.com/profile/12061593528820409779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='https://weblogs.sdn.sap.com/images/people/alvaro_tajeda.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4144704359177008692.post-8125387388372733569</id><published>2010-11-10T17:35:00.000-08:00</published><updated>2010-11-10T17:41:06.413-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ABAP'/><title type='text'>XML and RegEx again...</title><content type='html'>&lt;DIV ALIGN="JUSTIFY"&gt;&lt;br /&gt;Today I was thinking about XML and RegEx...You can parse an XML document using RegEx, not the best way, but surely is fun...so...what about creating an XML file using RegEx? More fun for sure! -:D Of course...and just to make it clear...there are other more standard and easier ways to achieve the same: Simple Transformations, XLST Transformation y XML DOM.&lt;br /&gt;&lt;br /&gt;But as always...this code was very fun to made -;)&lt;br /&gt;&lt;br /&gt;&lt;pre style="border: 1px dashed rgb(153, 153, 153); padding: 5px; overflow: auto; font-family: Andale Mono,Lucida Console,Monaco,fixed,monospace; color: rgb(0, 0, 0); background-color: rgb(238, 238, 238); font-size: 12px; line-height: 14px; width: 95%;"&gt;&lt;br /&gt;TYPES: BEGIN OF TY_XML,&lt;br /&gt;       FIELD TYPE STRING,&lt;br /&gt;       END OF TY_XML.&lt;br /&gt;&lt;br /&gt;DATA: T_DD03P_TAB  TYPE STANDARD TABLE OF DD03P,&lt;br /&gt;      T_FILETAB TYPE FILETABLE,&lt;br /&gt;      T_XML TYPE STANDARD TABLE OF TY_XML.&lt;br /&gt;&lt;br /&gt;DATA: L_FLAG TYPE C,&lt;br /&gt;      L_AUX TYPE STRING,&lt;br /&gt;      L_STRING TYPE STRING,&lt;br /&gt;      L_XML_LINE TYPE STRING,&lt;br /&gt;      DATA_TAB TYPE REF TO DATA,&lt;br /&gt;      SIZE TYPE I,&lt;br /&gt;      W_SUBRC TYPE SY-SUBRC,&lt;br /&gt;      W_FILE_OUT TYPE STRING.&lt;br /&gt;&lt;br /&gt;FIELD-SYMBOLS: &lt;DATA_TAB&gt; TYPE STANDARD TABLE,&lt;br /&gt;               &lt;DATA_LINE&gt; TYPE ANY,&lt;br /&gt;               &lt;FIELD&gt; TYPE ANY,&lt;br /&gt;               &lt;FS_XML&gt; LIKE LINE OF T_XML,&lt;br /&gt;               &lt;FS_DD03P&gt; LIKE LINE OF T_DD03P_TAB,&lt;br /&gt;               &lt;FS_FILETAB&gt; LIKE LINE OF T_FILETAB.&lt;br /&gt;&lt;br /&gt;SELECTION-SCREEN BEGIN OF BLOCK TEST WITH FRAME.&lt;br /&gt;PARAMETERS:&lt;br /&gt;           TABNAME TYPE DD02L-TABNAME,&lt;br /&gt;           FILE_OUT LIKE RLGRAP-FILENAME.&lt;br /&gt;SELECTION-SCREEN END OF BLOCK TEST.&lt;br /&gt;&lt;br /&gt;START-OF-SELECTION.&lt;br /&gt;  PERFORM VALIDATE_TABLE USING TABNAME&lt;br /&gt;                         CHANGING L_FLAG.&lt;br /&gt;  IF L_FLAG EQ SPACE.&lt;br /&gt;    PERFORM LOAD_TABLE_STRUCT USING TABNAME.&lt;br /&gt;    PERFORM LOAD_TABLE_INFO USING TABNAME.&lt;br /&gt;    PERFORM CREATE_XML.&lt;br /&gt;    PERFORM DOWNLOAD_XML.&lt;br /&gt;  ENDIF.&lt;br /&gt;&lt;br /&gt;AT SELECTION-SCREEN ON VALUE-REQUEST FOR FILE_OUT.&lt;br /&gt;  CALL METHOD CL_GUI_FRONTEND_SERVICES=&gt;FILE_OPEN_DIALOG&lt;br /&gt;    EXPORTING&lt;br /&gt;      WINDOW_TITLE     = 'Seleccionar archivo'&lt;br /&gt;      DEFAULT_FILENAME = '*.xml'&lt;br /&gt;      FILE_FILTER      = '*.xml'&lt;br /&gt;    CHANGING&lt;br /&gt;      FILE_TABLE       = T_FILETAB&lt;br /&gt;      RC               = W_SUBRC.&lt;br /&gt;&lt;br /&gt;  READ TABLE T_FILETAB INDEX 1&lt;br /&gt;  ASSIGNING &lt;FS_FILETAB&gt;.&lt;br /&gt;  FILE_OUT = &lt;FS_FILETAB&gt;.&lt;br /&gt;  W_FILE_OUT = FILE_OUT.&lt;br /&gt;&lt;br /&gt;  IF FILE_OUT IS INITIAL.&lt;br /&gt;    EXIT.&lt;br /&gt;  ENDIF.&lt;br /&gt;&lt;br /&gt;*&amp;------------------------------------------------------*&lt;br /&gt;*&amp;      Form  VALIDATE_TABLE                            *&lt;br /&gt;*&amp;------------------------------------------------------*&lt;br /&gt;FORM VALIDATE_TABLE USING P_TABNAME&lt;br /&gt;                    CHANGING P_FLAG.&lt;br /&gt;&lt;br /&gt;  SELECT SINGLE TABNAME&lt;br /&gt;  INTO P_TABNAME&lt;br /&gt;  FROM DD02L&lt;br /&gt;  WHERE TABNAME EQ P_TABNAME.&lt;br /&gt;  IF SY-SUBRC NE 0.&lt;br /&gt;    P_FLAG = 'X'.&lt;br /&gt;  ELSE.&lt;br /&gt;    CLEAR P_FLAG.&lt;br /&gt;  ENDIF.&lt;br /&gt;&lt;br /&gt;ENDFORM.                    " VALIDATE_TABLE&lt;br /&gt;&lt;br /&gt;*&amp;------------------------------------------------------*&lt;br /&gt;*&amp;      Form  LOAD_TABLE_STRUCT                         *&lt;br /&gt;*&amp;------------------------------------------------------*&lt;br /&gt;FORM LOAD_TABLE_STRUCT USING P_TABNAME.&lt;br /&gt;&lt;br /&gt;  CALL FUNCTION 'DDIF_TABL_GET'&lt;br /&gt;    EXPORTING&lt;br /&gt;      NAME          = P_TABNAME&lt;br /&gt;    TABLES&lt;br /&gt;      DD03P_TAB     = T_DD03P_TAB&lt;br /&gt;    EXCEPTIONS&lt;br /&gt;      ILLEGAL_INPUT = 1&lt;br /&gt;      OTHERS        = 2.&lt;br /&gt;&lt;br /&gt;ENDFORM.                    " LOAD_TABLE_STRUCT&lt;br /&gt;&lt;br /&gt;*&amp;------------------------------------------------------*&lt;br /&gt;*&amp;      Form  LOAD_TABLE_INFO                           *&lt;br /&gt;*&amp;------------------------------------------------------*&lt;br /&gt;FORM LOAD_TABLE_INFO USING P_TABNAME.&lt;br /&gt;&lt;br /&gt;  CREATE DATA DATA_TAB TYPE STANDARD TABLE OF (P_TABNAME).&lt;br /&gt;  ASSIGN DATA_TAB-&gt;* TO &lt;DATA_TAB&gt;.&lt;br /&gt;  SELECT *&lt;br /&gt;  FROM (P_TABNAME)&lt;br /&gt;  INTO TABLE &lt;DATA_TAB&gt;.&lt;br /&gt;&lt;br /&gt;ENDFORM.                    " LOAD_TABLE_INFO&lt;br /&gt;&lt;br /&gt;*&amp;------------------------------------------------------*&lt;br /&gt;*&amp;      Form  CREATE_XML                                *&lt;br /&gt;*&amp;------------------------------------------------------*&lt;br /&gt;FORM CREATE_XML.&lt;br /&gt;&lt;br /&gt;  APPEND INITIAL LINE TO T_XML ASSIGNING &lt;FS_XML&gt;.&lt;br /&gt;  &lt;FS_XML&gt;-FIELD = '&lt;?xml version="1.0"?&gt;'.&lt;br /&gt;  APPEND INITIAL LINE TO T_XML ASSIGNING &lt;FS_XML&gt;.&lt;br /&gt;  &lt;FS_XML&gt;-FIELD = '&lt;ROWSET&gt;'.&lt;br /&gt;*XML Logic here!&lt;br /&gt;  LOOP AT &lt;DATA_TAB&gt; ASSIGNING &lt;DATA_LINE&gt;.&lt;br /&gt;    L_XML_LINE = '&lt;ROW&gt;'.&lt;br /&gt;    LOOP AT T_DD03P_TAB ASSIGNING &lt;FS_DD03P&gt;.&lt;br /&gt;      ASSIGN COMPONENT &lt;FS_DD03P&gt;-FIELDNAME OF&lt;br /&gt;      STRUCTURE &lt;DATA_LINE&gt; TO &lt;FIELD&gt;.&lt;br /&gt;      L_AUX = &lt;FIELD&gt;.&lt;br /&gt;      CONDENSE L_AUX NO-GAPS.&lt;br /&gt;      CONCATENATE &lt;FS_DD03P&gt;-FIELDNAME '/' L_AUX&lt;br /&gt;      INTO L_STRING.&lt;br /&gt;      REPLACE REGEX '(\w+)[\/](\w+)' IN L_STRING&lt;br /&gt;      WITH '&lt;$1&gt;$2&lt;/$1&gt;'.&lt;br /&gt;      CONCATENATE L_XML_LINE L_STRING INTO L_XML_LINE.&lt;br /&gt;    ENDLOOP.&lt;br /&gt;    APPEND INITIAL LINE TO T_XML ASSIGNING &lt;FS_XML&gt;.&lt;br /&gt;    &lt;FS_XML&gt;-FIELD = L_XML_LINE.&lt;br /&gt;    CONCATENATE &lt;FS_XML&gt;-FIELD '&lt;/ROW&gt;'&lt;br /&gt;    INTO &lt;FS_XML&gt;-FIELD.&lt;br /&gt;  ENDLOOP.&lt;br /&gt;*XML Logic here!&lt;br /&gt;  APPEND INITIAL LINE TO T_XML ASSIGNING &lt;FS_XML&gt;.&lt;br /&gt;  &lt;FS_XML&gt;-FIELD = '&lt;/ROWSET&gt;'.&lt;br /&gt;&lt;br /&gt;ENDFORM.                    " CREATE_XML&lt;br /&gt;&lt;br /&gt;*&amp;------------------------------------------------------*&lt;br /&gt;*&amp;      Form  DOWNLOAD_XML                              *&lt;br /&gt;*&amp;------------------------------------------------------*&lt;br /&gt;FORM DOWNLOAD_XML.&lt;br /&gt;&lt;br /&gt;  CALL METHOD CL_GUI_FRONTEND_SERVICES=&gt;GUI_DOWNLOAD&lt;br /&gt;    EXPORTING&lt;br /&gt;      BIN_FILESIZE = SIZE&lt;br /&gt;      FILENAME     = W_FILE_OUT&lt;br /&gt;      FILETYPE     = 'DAT'&lt;br /&gt;    CHANGING&lt;br /&gt;      DATA_TAB     = T_XML.&lt;br /&gt;&lt;br /&gt;ENDFORM.                    " DOWNLOAD_XML&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_eKAKUbdu3CI/TNtHaoaJLwI/AAAAAAAABY8/s5VNw7C5F4Q/s1600/XML_Regex_01.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 153px;" src="http://1.bp.blogspot.com/_eKAKUbdu3CI/TNtHaoaJLwI/AAAAAAAABY8/s5VNw7C5F4Q/s400/XML_Regex_01.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5538098689631399682" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_eKAKUbdu3CI/TNtHgv-sAgI/AAAAAAAABZE/USP1ApjyggQ/s1600/XML_Regex_02.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 191px;" src="http://4.bp.blogspot.com/_eKAKUbdu3CI/TNtHgv-sAgI/AAAAAAAABZE/USP1ApjyggQ/s400/XML_Regex_02.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5538098794742940162" /&gt;&lt;/a&gt;&lt;br /&gt;Greetings,&lt;br /&gt;&lt;br /&gt;Blag.&lt;br /&gt;&lt;/DIV&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4144704359177008692-8125387388372733569?l=blagrants.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blagrants.blogspot.com/feeds/8125387388372733569/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4144704359177008692&amp;postID=8125387388372733569' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/8125387388372733569'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/8125387388372733569'/><link rel='alternate' type='text/html' href='http://blagrants.blogspot.com/2010/11/xml-and-regex-again.html' title='XML and RegEx again...'/><author><name>Alvaro "Blag" Tejada Galindo</name><uri>http://www.blogger.com/profile/12061593528820409779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='https://weblogs.sdn.sap.com/images/people/alvaro_tajeda.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_eKAKUbdu3CI/TNtHaoaJLwI/AAAAAAAABY8/s5VNw7C5F4Q/s72-c/XML_Regex_01.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4144704359177008692.post-5794250344276906809</id><published>2010-11-04T05:51:00.001-07:00</published><updated>2010-11-04T05:51:29.125-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Non_Sense'/><category scheme='http://www.blogger.com/atom/ns#' term='ABAP'/><title type='text'>Programming non-sense #1</title><content type='html'>&lt;DIV ALIGN="JUSTIFY"&gt;&lt;br /&gt;With this post, I want to start a small series about ABAP programs that doesn't bring any value but are fun to code -:) I believe that ABAP coding is fun...believe it or not...&lt;br /&gt;&lt;br /&gt;Anyway...my first code, that by the way doesn't work in the best possible way, it's a clock...we simply read the system time and show it on digital form...then, we activate a temporizer that it's going to be executed every second and it's going to read again the system timeand show it on digital format...of course, as we don't have in ABAP and CLRSCR(); or an CLS, we must read every line and modify their contents.&lt;br /&gt;&lt;br /&gt;&lt;pre style="border: 1px dashed rgb(153, 153, 153); padding: 5px; overflow: auto; font-family: Andale Mono,Lucida Console,Monaco,fixed,monospace; color: rgb(0, 0, 0); background-color: rgb(238, 238, 238); font-size: 12px; line-height: 14px; width: 95%;"&gt;&lt;br /&gt;DATA: temporizador TYPE REF TO cl_gui_timer,&lt;br /&gt;      hour(2) TYPE c,&lt;br /&gt;      minute(2) TYPE c,&lt;br /&gt;      second(2) TYPE c,&lt;br /&gt;      one(1) TYPE c,&lt;br /&gt;      two(1) TYPE c,&lt;br /&gt;      line1 TYPE string,&lt;br /&gt;      line2 TYPE string,&lt;br /&gt;      line3 TYPE string.&lt;br /&gt;&lt;br /&gt;*----------------------------------------------------------------------*&lt;br /&gt;*       CLASS clock DEFINITION                                         *&lt;br /&gt;*----------------------------------------------------------------------*&lt;br /&gt;CLASS clock DEFINITION.&lt;br /&gt;  PUBLIC SECTION.&lt;br /&gt;    METHODS: zero IMPORTING line TYPE string,&lt;br /&gt;             one IMPORTING line TYPE string,&lt;br /&gt;             two IMPORTING line TYPE string,&lt;br /&gt;             three IMPORTING line TYPE string,&lt;br /&gt;             four IMPORTING line TYPE string,&lt;br /&gt;             five IMPORTING line TYPE string,&lt;br /&gt;             six IMPORTING line TYPE string,&lt;br /&gt;             seven IMPORTING line TYPE string,&lt;br /&gt;             eight IMPORTING line TYPE string,&lt;br /&gt;             nine IMPORTING line TYPE string,&lt;br /&gt;             periods IMPORTING line TYPE string,&lt;br /&gt;             show IMPORTING number TYPE c.&lt;br /&gt;ENDCLASS.                    "clock DEFINITION&lt;br /&gt;&lt;br /&gt;*----------------------------------------------------------------------*&lt;br /&gt;*       CLASS clock IMPLEMENTATION                                     *&lt;br /&gt;*----------------------------------------------------------------------*&lt;br /&gt;CLASS clock IMPLEMENTATION.&lt;br /&gt;  METHOD zero.&lt;br /&gt;    CASE line.&lt;br /&gt;      WHEN 1.&lt;br /&gt;        CONCATENATE line1 ' _ ' INTO line1 SEPARATED BY space RESPECTING BLANKS.&lt;br /&gt;      WHEN 2.&lt;br /&gt;        CONCATENATE line2 '| |' INTO line2 SEPARATED BY space RESPECTING BLANKS.&lt;br /&gt;      WHEN 3.&lt;br /&gt;        CONCATENATE line3 '|_|' INTO line3 SEPARATED BY space RESPECTING BLANKS.&lt;br /&gt;    ENDCASE.&lt;br /&gt;  ENDMETHOD.                    "zero&lt;br /&gt;  METHOD one.&lt;br /&gt;    CASE line.&lt;br /&gt;      WHEN 1.&lt;br /&gt;        CONCATENATE line1 '  ' INTO line1 SEPARATED BY space RESPECTING BLANKS.&lt;br /&gt;      WHEN 2.&lt;br /&gt;        CONCATENATE line2 ' |' INTO line2 SEPARATED BY space RESPECTING BLANKS.&lt;br /&gt;      WHEN 3.&lt;br /&gt;        CONCATENATE line3 ' |' INTO line3 SEPARATED BY space RESPECTING BLANKS.&lt;br /&gt;    ENDCASE.&lt;br /&gt;  ENDMETHOD.                    "one&lt;br /&gt;  METHOD two.&lt;br /&gt;    CASE line.&lt;br /&gt;      WHEN 1.&lt;br /&gt;        CONCATENATE line1 ' _ ' INTO line1 SEPARATED BY space RESPECTING BLANKS.&lt;br /&gt;      WHEN 2.&lt;br /&gt;        CONCATENATE line2 ' _|' INTO line2 SEPARATED BY space RESPECTING BLANKS.&lt;br /&gt;      WHEN 3.&lt;br /&gt;        CONCATENATE line3 '|_ ' INTO line3 SEPARATED BY space RESPECTING BLANKS.&lt;br /&gt;    ENDCASE.&lt;br /&gt;  ENDMETHOD.                    "two&lt;br /&gt;  METHOD three.&lt;br /&gt;    CASE line.&lt;br /&gt;      WHEN 1.&lt;br /&gt;        CONCATENATE line1 ' _ ' INTO line1 SEPARATED BY space RESPECTING BLANKS.&lt;br /&gt;      WHEN 2.&lt;br /&gt;        CONCATENATE line2 ' _|' INTO line2 SEPARATED BY space RESPECTING BLANKS.&lt;br /&gt;      WHEN 3.&lt;br /&gt;        CONCATENATE line3 ' _|' INTO line3 SEPARATED BY space RESPECTING BLANKS.&lt;br /&gt;    ENDCASE.&lt;br /&gt;  ENDMETHOD.                    "three&lt;br /&gt;  METHOD four.&lt;br /&gt;    CASE line.&lt;br /&gt;      WHEN 1.&lt;br /&gt;        CONCATENATE line1 '   ' INTO line1 SEPARATED BY space RESPECTING BLANKS.&lt;br /&gt;      WHEN 2.&lt;br /&gt;        CONCATENATE line2 '|_|' INTO line2 SEPARATED BY space RESPECTING BLANKS.&lt;br /&gt;      WHEN 3.&lt;br /&gt;        CONCATENATE line3 '  |' INTO line3 SEPARATED BY space RESPECTING BLANKS.&lt;br /&gt;    ENDCASE.&lt;br /&gt;  ENDMETHOD.                    "four&lt;br /&gt;  METHOD five.&lt;br /&gt;    CASE line.&lt;br /&gt;      WHEN 1.&lt;br /&gt;        CONCATENATE line1 ' _ ' INTO line1 SEPARATED BY space RESPECTING BLANKS.&lt;br /&gt;      WHEN 2.&lt;br /&gt;        CONCATENATE line2 '|_ ' INTO line2 SEPARATED BY space RESPECTING BLANKS.&lt;br /&gt;      WHEN 3.&lt;br /&gt;        CONCATENATE line3 ' _|' INTO line3 SEPARATED BY space RESPECTING BLANKS.&lt;br /&gt;    ENDCASE.&lt;br /&gt;  ENDMETHOD.                    "five&lt;br /&gt;  METHOD six.&lt;br /&gt;    CASE line.&lt;br /&gt;      WHEN 1.&lt;br /&gt;        CONCATENATE line1 ' _ ' INTO line1 SEPARATED BY space RESPECTING BLANKS.&lt;br /&gt;      WHEN 2.&lt;br /&gt;        CONCATENATE line2 '|_ ' INTO line2 SEPARATED BY space RESPECTING BLANKS.&lt;br /&gt;      WHEN 3.&lt;br /&gt;        CONCATENATE line3 '|_|' INTO line3 SEPARATED BY space RESPECTING BLANKS.&lt;br /&gt;    ENDCASE.&lt;br /&gt;  ENDMETHOD.                    "six&lt;br /&gt;  METHOD seven.&lt;br /&gt;    CASE line.&lt;br /&gt;      WHEN 1.&lt;br /&gt;        CONCATENATE line1 '_  ' INTO line1 SEPARATED BY space RESPECTING BLANKS.&lt;br /&gt;      WHEN 2.&lt;br /&gt;        CONCATENATE line2 ' | ' INTO line2 SEPARATED BY space RESPECTING BLANKS.&lt;br /&gt;      WHEN 3.&lt;br /&gt;        CONCATENATE line3 ' | ' INTO line3 SEPARATED BY space RESPECTING BLANKS.&lt;br /&gt;    ENDCASE.&lt;br /&gt;  ENDMETHOD.                    "seven&lt;br /&gt;  METHOD eight.&lt;br /&gt;    CASE line.&lt;br /&gt;      WHEN 1.&lt;br /&gt;        CONCATENATE line1 ' _ ' INTO line1 SEPARATED BY space RESPECTING BLANKS.&lt;br /&gt;      WHEN 2.&lt;br /&gt;        CONCATENATE line2 '|_|' INTO line2 SEPARATED BY space RESPECTING BLANKS.&lt;br /&gt;      WHEN 3.&lt;br /&gt;        CONCATENATE line3 '|_|' INTO line3 SEPARATED BY space RESPECTING BLANKS.&lt;br /&gt;    ENDCASE.&lt;br /&gt;  ENDMETHOD.                    "eight&lt;br /&gt;  METHOD nine.&lt;br /&gt;    CASE line.&lt;br /&gt;      WHEN 1.&lt;br /&gt;        CONCATENATE line1 ' _ ' INTO line1 SEPARATED BY space RESPECTING BLANKS.&lt;br /&gt;      WHEN 2.&lt;br /&gt;        CONCATENATE line2 '|_|' INTO line2 SEPARATED BY space RESPECTING BLANKS.&lt;br /&gt;      WHEN 3.&lt;br /&gt;        CONCATENATE line3 ' _|' INTO line3 SEPARATED BY space RESPECTING BLANKS.&lt;br /&gt;    ENDCASE.&lt;br /&gt;  ENDMETHOD.                    "nine&lt;br /&gt;  METHOD periods.&lt;br /&gt;    CASE line.&lt;br /&gt;      WHEN 1.&lt;br /&gt;        CONCATENATE line1 '   ' INTO line1 SEPARATED BY space RESPECTING BLANKS.&lt;br /&gt;      WHEN 2.&lt;br /&gt;        CONCATENATE line2 ' * ' INTO line2 SEPARATED BY space RESPECTING BLANKS.&lt;br /&gt;      WHEN 3.&lt;br /&gt;        CONCATENATE line3 ' * ' INTO line3 SEPARATED BY space RESPECTING BLANKS.&lt;br /&gt;    ENDCASE.&lt;br /&gt;  ENDMETHOD.                    "periods&lt;br /&gt;  METHOD show.&lt;br /&gt;    CASE number.&lt;br /&gt;      WHEN 0.&lt;br /&gt;        zero( EXPORTING line = '1' ).&lt;br /&gt;        zero( EXPORTING line = '2' ).&lt;br /&gt;        zero( EXPORTING line = '3' ).&lt;br /&gt;      WHEN 1.&lt;br /&gt;        one( EXPORTING line = '1' ).&lt;br /&gt;        one( EXPORTING line = '2' ).&lt;br /&gt;        one( EXPORTING line = '3' ).&lt;br /&gt;      WHEN 2.&lt;br /&gt;        two( EXPORTING line = '1' ).&lt;br /&gt;        two( EXPORTING line = '2' ).&lt;br /&gt;        two( EXPORTING line = '3' ).&lt;br /&gt;      WHEN 3.&lt;br /&gt;        three( EXPORTING line = '1' ).&lt;br /&gt;        three( EXPORTING line = '2' ).&lt;br /&gt;        three( EXPORTING line = '3' ).&lt;br /&gt;      WHEN 4.&lt;br /&gt;        four( EXPORTING line = '1' ).&lt;br /&gt;        four( EXPORTING line = '2' ).&lt;br /&gt;        four( EXPORTING line = '3' ).&lt;br /&gt;      WHEN   5.&lt;br /&gt;        five( EXPORTING line = '1' ).&lt;br /&gt;        five( EXPORTING line = '2' ).&lt;br /&gt;        five( EXPORTING line = '3' ).&lt;br /&gt;      WHEN 6.&lt;br /&gt;        six( EXPORTING line = '1' ).&lt;br /&gt;        six( EXPORTING line = '2' ).&lt;br /&gt;        six( EXPORTING line = '3' ).&lt;br /&gt;      WHEN 7.&lt;br /&gt;        seven( EXPORTING line = '1' ).&lt;br /&gt;        seven( EXPORTING line = '2' ).&lt;br /&gt;        seven( EXPORTING line = '3' ).&lt;br /&gt;      WHEN 8.&lt;br /&gt;        eight( EXPORTING line = '1' ).&lt;br /&gt;        eight( EXPORTING line = '2' ).&lt;br /&gt;        eight( EXPORTING line = '3' ).&lt;br /&gt;      WHEN 9.&lt;br /&gt;        nine( EXPORTING line = '1' ).&lt;br /&gt;        nine( EXPORTING line = '2' ).&lt;br /&gt;        nine( EXPORTING line = '3' ).&lt;br /&gt;    ENDCASE.&lt;br /&gt;  ENDMETHOD.                    "show&lt;br /&gt;ENDCLASS.                    "clock IMPLEMENTATION&lt;br /&gt;&lt;br /&gt;*----------------------------------------------------------------------*&lt;br /&gt;*       CLASS lcl_event_handler DEFINITION                             *&lt;br /&gt;*----------------------------------------------------------------------*&lt;br /&gt;CLASS lcl_event_handler DEFINITION.&lt;br /&gt;  PUBLIC SECTION.&lt;br /&gt;    CLASS-METHODS: on_timer FOR EVENT finished OF cl_gui_timer&lt;br /&gt;    IMPORTING sender.&lt;br /&gt;ENDCLASS.                    "lcl_event_handler DEFINITION&lt;br /&gt;&lt;br /&gt;*----------------------------------------------------------------------*&lt;br /&gt;*       CLASS lcl_event_handler IMPLEMENTATION                         * &lt;br /&gt;*----------------------------------------------------------------------*&lt;br /&gt;CLASS lcl_event_handler IMPLEMENTATION.&lt;br /&gt;  METHOD on_timer.&lt;br /&gt;    DATA: g_clock TYPE REF TO clock.&lt;br /&gt;&lt;br /&gt;    IF NOT g_clock IS BOUND.&lt;br /&gt;      CREATE OBJECT g_clock.&lt;br /&gt;    ENDIF.&lt;br /&gt;&lt;br /&gt;    CLEAR: line1, line2, line3.&lt;br /&gt;&lt;br /&gt;    hour = sy-uzeit+0(2).&lt;br /&gt;    one = hour+0(1).&lt;br /&gt;    g_clock-&gt;show( EXPORTING number = one ).&lt;br /&gt;    two = hour+1(1).&lt;br /&gt;    g_clock-&gt;show( EXPORTING number = two ).&lt;br /&gt;    g_clock-&gt;periods( EXPORTING line = '1' ).&lt;br /&gt;    g_clock-&gt;periods( EXPORTING line = '2' ).&lt;br /&gt;    g_clock-&gt;periods( EXPORTING line = '3' ).&lt;br /&gt;    minute = sy-uzeit+2(2).&lt;br /&gt;    one = minute+0(1).&lt;br /&gt;    g_clock-&gt;show( EXPORTING number = one ).&lt;br /&gt;    two = minute+1(1).&lt;br /&gt;    g_clock-&gt;show( EXPORTING number = two ).&lt;br /&gt;    g_clock-&gt;periods( EXPORTING line = '1' ).&lt;br /&gt;    g_clock-&gt;periods( EXPORTING line = '2' ).&lt;br /&gt;    g_clock-&gt;periods( EXPORTING line = '3' ).&lt;br /&gt;    second = sy-uzeit+4(2).&lt;br /&gt;    one = second+0(1).&lt;br /&gt;    g_clock-&gt;show( EXPORTING number = one ).&lt;br /&gt;    two = second+1(1).&lt;br /&gt;    g_clock-&gt;show( EXPORTING number = two ).&lt;br /&gt;&lt;br /&gt;    READ LINE 1.&lt;br /&gt;    MODIFY LINE 1 FIELD VALUE line1 FROM line1.&lt;br /&gt;    READ LINE 2.&lt;br /&gt;    MODIFY LINE 2 FIELD VALUE line2 FROM line2.&lt;br /&gt;    READ LINE 3.&lt;br /&gt;    MODIFY LINE 3 FIELD VALUE line3 FROM line3.&lt;br /&gt;&lt;br /&gt;    sender-&gt;run( ).&lt;br /&gt;  ENDMETHOD.&lt;br /&gt;ENDCLASS.&lt;br /&gt;&lt;br /&gt;START-OF-SELECTION.&lt;br /&gt;  CREATE OBJECT temporizador.&lt;br /&gt;  SET HANDLER lcl_event_handler=&gt;on_timer FOR temporizador.&lt;br /&gt;&lt;br /&gt;  temporizador-&gt;interval = 1.&lt;br /&gt;  temporizador-&gt;run( ).&lt;br /&gt;&lt;br /&gt;  DATA: g_clock TYPE REF TO clock.&lt;br /&gt;  CREATE OBJECT g_clock.&lt;br /&gt;&lt;br /&gt;  hour = sy-uzeit+0(2).&lt;br /&gt;  one = hour+0(1).&lt;br /&gt;  g_clock-&gt;show( EXPORTING number = one ).&lt;br /&gt;  two = hour+1(1).&lt;br /&gt;  g_clock-&gt;show( EXPORTING number = two ).&lt;br /&gt;  g_clock-&gt;periods( EXPORTING line = '1' ).&lt;br /&gt;  g_clock-&gt;periods( EXPORTING line = '2' ).&lt;br /&gt;  g_clock-&gt;periods( EXPORTING line = '3' ).&lt;br /&gt;  minute = sy-uzeit+2(2).&lt;br /&gt;  one = minute+0(1).&lt;br /&gt;  g_clock-&gt;show( EXPORTING number = one ).&lt;br /&gt;  two = minute+1(1).&lt;br /&gt;  g_clock-&gt;show( EXPORTING number = two ).&lt;br /&gt;  g_clock-&gt;periods( EXPORTING line = '1' ).&lt;br /&gt;  g_clock-&gt;periods( EXPORTING line = '2' ).&lt;br /&gt;  g_clock-&gt;periods( EXPORTING line = '3' ).&lt;br /&gt;  second = sy-uzeit+4(2).&lt;br /&gt;  one = second+0(1).&lt;br /&gt;  g_clock-&gt;show( EXPORTING number = one ).&lt;br /&gt;  two = second+1(1).&lt;br /&gt;  g_clock-&gt;show( EXPORTING number = two ).&lt;br /&gt;&lt;br /&gt;  WRITE:/ line1.&lt;br /&gt;  WRITE:/ line2.&lt;br /&gt;  WRITE:/ line3.&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_eKAKUbdu3CI/TNIdlLya4cI/AAAAAAAABYc/tj4OdE2Ffj4/s1600/ABAP_Clock.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 280px; height: 153px;" src="http://3.bp.blogspot.com/_eKAKUbdu3CI/TNIdlLya4cI/AAAAAAAABYc/tj4OdE2Ffj4/s400/ABAP_Clock.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5535519416648393154" /&gt;&lt;/a&gt;&lt;br /&gt;Greetings,&lt;br /&gt;&lt;br /&gt;Blag.&lt;br /&gt;&lt;/DIV&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4144704359177008692-5794250344276906809?l=blagrants.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blagrants.blogspot.com/feeds/5794250344276906809/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4144704359177008692&amp;postID=5794250344276906809' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/5794250344276906809'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/5794250344276906809'/><link rel='alternate' type='text/html' href='http://blagrants.blogspot.com/2010/11/programming-non-sense-1.html' title='Programming non-sense #1'/><author><name>Alvaro "Blag" Tejada Galindo</name><uri>http://www.blogger.com/profile/12061593528820409779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='https://weblogs.sdn.sap.com/images/people/alvaro_tajeda.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_eKAKUbdu3CI/TNIdlLya4cI/AAAAAAAABYc/tj4OdE2Ffj4/s72-c/ABAP_Clock.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4144704359177008692.post-5028629025066226360</id><published>2010-10-28T06:29:00.000-07:00</published><updated>2010-10-28T07:19:33.898-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Games'/><category scheme='http://www.blogger.com/atom/ns#' term='Geek_Kids'/><category scheme='http://www.blogger.com/atom/ns#' term='Learning'/><title type='text'>VTech's V.Reader...for Geek kids</title><content type='html'>&lt;DIV ALIGN="JUSTIFY"&gt;&lt;br /&gt;I usually don't write about kids stuff...but this time I have to make an exception...you'll see...my daughter loves my IPhone and that's a good thing...she learned to use the touch screen, enter the program I download specially for her and stuff...but when I need to check my mail, read a book or make a phone call...it's not that funny and cute anymore -;)&lt;br /&gt;&lt;br /&gt;So, the other day my wife and I were looking for some toys for our daughter...a toy laptop actually...and we just get freeze when we discover the &lt;a href="http://www.vtechkids.com/v.reader/"&gt;VTech's V.Reader&lt;/a&gt;, a geeky little toy with guess what...touch screen! and the most important thing for us...it reads stories, with graphics, games, dictionary...what else could be asked for? I grabbed my credit card and bought it right away...along with a Dora the Explorer game -:)&lt;br /&gt;&lt;br /&gt;Yesterday, she used it for the first time...and I can tell you, when I took my IPhone out, she didn't even look at it, she just wanted to watch and listen the story all over again...best gift we ever gave her...we can't be more happy -:D&lt;br /&gt;&lt;br /&gt;But sure...the magic never stops...if you have an SD Card, you can go online, register you V.Reader and get 6 coins that you can use to download more stories! 1 coin per story, so basically you have a free game cartridge, and 6 games to download...&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_eKAKUbdu3CI/TMmFdKePfqI/AAAAAAAABX0/HkuoXTxiM7E/s1600/V-Reader-1.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 300px; height: 300px;" src="http://3.bp.blogspot.com/_eKAKUbdu3CI/TMmFdKePfqI/AAAAAAAABX0/HkuoXTxiM7E/s400/V-Reader-1.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5533100353275264674" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_eKAKUbdu3CI/TMmFlxJGaeI/AAAAAAAABX8/vjFHSVOFs6M/s1600/Dora_V-Reader.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 280px; height: 280px;" src="http://1.bp.blogspot.com/_eKAKUbdu3CI/TMmFlxJGaeI/AAAAAAAABX8/vjFHSVOFs6M/s400/Dora_V-Reader.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5533100501094525410" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_eKAKUbdu3CI/TMmF00dP2UI/AAAAAAAABYE/QSuszuOTQS0/s1600/vtech-vreader-game.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 395px; height: 245px;" src="http://2.bp.blogspot.com/_eKAKUbdu3CI/TMmF00dP2UI/AAAAAAAABYE/QSuszuOTQS0/s400/vtech-vreader-game.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5533100759682373954" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_eKAKUbdu3CI/TMmF9gkgj0I/AAAAAAAABYM/SPi8RJicE3c/s1600/V_Reader_PC.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 286px;" src="http://2.bp.blogspot.com/_eKAKUbdu3CI/TMmF9gkgj0I/AAAAAAAABYM/SPi8RJicE3c/s400/V_Reader_PC.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5533100908962942786" /&gt;&lt;/a&gt;&lt;br /&gt;If your kid is 2 to 6 years...then this is a perfect Christmas present...that's for sure -;)&lt;br /&gt;&lt;br /&gt;&lt;DIV ALIGN="CENTER"&gt;&lt;a href="http://www.vtechkids.com/v.reader/"&gt;VTech's V.Reader&lt;/a&gt;&lt;/DIV&gt;&lt;br /&gt;&lt;/DIV&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4144704359177008692-5028629025066226360?l=blagrants.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blagrants.blogspot.com/feeds/5028629025066226360/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4144704359177008692&amp;postID=5028629025066226360' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/5028629025066226360'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/5028629025066226360'/><link rel='alternate' type='text/html' href='http://blagrants.blogspot.com/2010/10/vtechs-vreaderfor-geek-kids.html' title='VTech&apos;s V.Reader...for Geek kids'/><author><name>Alvaro "Blag" Tejada Galindo</name><uri>http://www.blogger.com/profile/12061593528820409779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='https://weblogs.sdn.sap.com/images/people/alvaro_tajeda.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_eKAKUbdu3CI/TMmFdKePfqI/AAAAAAAABX0/HkuoXTxiM7E/s72-c/V-Reader-1.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4144704359177008692.post-8895792319476975192</id><published>2010-10-22T06:24:00.000-07:00</published><updated>2010-10-22T06:35:08.213-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Books'/><category scheme='http://www.blogger.com/atom/ns#' term='SAP_Mentors'/><category scheme='http://www.blogger.com/atom/ns#' term='Role_Models'/><title type='text'>Good resumes...bad resumes...and resumes from Hell?</title><content type='html'>&lt;DIV ALIGN="JUSTIFY"&gt;&lt;br /&gt;While attending &lt;a href="http://wiki.sdn.sap.com/wiki/display/events/SAP+Inside+Track+Newtown+Square+2010"&gt;SAP Inside Track Newton Square 2010&lt;/a&gt;, my good friend Jon Reed from &lt;a href="http://www.jonerp.com"&gt;Jonerp.com&lt;/a&gt; told me about this book "&lt;a href="http://www.resumesfromhell.com/"&gt;Resumes from Hell&lt;/a&gt;". At first...I didn't knew what to expect, but the name really caught my attention...I was decided to buy it, but as the &lt;a href="http://scn.sap.com"&gt;SAP Community&lt;/a&gt; and &lt;a href="http://www.sdn.sap.com/irj/scn/sapmentors"&gt;The Fellowship of the SAP Mentors&lt;/a&gt; in so strong, Jon gave me the book for free...along with his signature and a great message -:)&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_eKAKUbdu3CI/TMGSredH63I/AAAAAAAABXU/Zyng8T3HgJc/s1600/From_Hell_1.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 300px; height: 400px;" src="http://4.bp.blogspot.com/_eKAKUbdu3CI/TMGSredH63I/AAAAAAAABXU/Zyng8T3HgJc/s400/From_Hell_1.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5530863092994927474" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_eKAKUbdu3CI/TMGSxH51V9I/AAAAAAAABXc/dGgknNOYxUQ/s1600/From_Hell_2.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 300px; height: 400px;" src="http://1.bp.blogspot.com/_eKAKUbdu3CI/TMGSxH51V9I/AAAAAAAABXc/dGgknNOYxUQ/s400/From_Hell_2.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5530863190020544466" /&gt;&lt;/a&gt;&lt;br /&gt;So, I read the book...and it really blown my mind away...those are real resumes created but real people...and as reality is stranger than fiction...those resumes are the worst I have ever seen...some of them are going to make smile, other are going to make you laugh and some others are going to want you to pick up the guy and punch him in the face (You can't hit a lady you know...).&lt;br /&gt;&lt;br /&gt;I really enjoyed reading the book, because by seeing how crappy some resumes can be, you can actually took your own and start doing some gardening that would lead to at least...a decent one -:)&lt;br /&gt;&lt;br /&gt;You can...sorry...you must buy this book...so here's the link:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.amazon.com/gp/product/0972598812?ie=UTF8&amp;tag=resufromhell-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=0972598812"&gt;Buy Resumes from Hell!&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Greetings,&lt;br /&gt;&lt;br /&gt;Blag.&lt;br /&gt;&lt;/DIV&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4144704359177008692-8895792319476975192?l=blagrants.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blagrants.blogspot.com/feeds/8895792319476975192/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4144704359177008692&amp;postID=8895792319476975192' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/8895792319476975192'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/8895792319476975192'/><link rel='alternate' type='text/html' href='http://blagrants.blogspot.com/2010/10/good-resumesbad-resumesand-resumes-from.html' title='Good resumes...bad resumes...and resumes from Hell?'/><author><name>Alvaro "Blag" Tejada Galindo</name><uri>http://www.blogger.com/profile/12061593528820409779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='https://weblogs.sdn.sap.com/images/people/alvaro_tajeda.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_eKAKUbdu3CI/TMGSredH63I/AAAAAAAABXU/Zyng8T3HgJc/s72-c/From_Hell_1.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4144704359177008692.post-590862556028098353</id><published>2010-10-15T12:27:00.000-07:00</published><updated>2010-10-15T12:37:17.549-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='misc'/><category scheme='http://www.blogger.com/atom/ns#' term='SAP_Mentors'/><category scheme='http://www.blogger.com/atom/ns#' term='Role_Models'/><title type='text'>With a little help from my friends...</title><content type='html'>&lt;DIV ALIGN="JUSTIFY"&gt;&lt;br /&gt;I think it's good karma, to once in a while write a post sending thanks to all the people that for better or for worse have helped me to become the professional I am today...of course...I can put them all...but a small list is better than nothing -:)&lt;br /&gt;&lt;br /&gt;Not in particular order...just...thank you so much for being my friends! And please, don't stop bugging me when it comes to help me out -;)&lt;br /&gt;&lt;br /&gt;* Marilyn Pratt&lt;br /&gt;* Jim Spath&lt;br /&gt;* Nigel James&lt;br /&gt;* Leonardo de Araujo&lt;br /&gt;* Craig Cmehil&lt;br /&gt;* Jon Reed&lt;br /&gt;* Dennis Howlett&lt;br /&gt;* Abesh Bhattacharjee&lt;br /&gt;* Sue Keohan&lt;br /&gt;* Mark Finnern&lt;br /&gt;* Aslan Noghre-kar&lt;br /&gt;&lt;br /&gt;Greetings,&lt;br /&gt;&lt;br /&gt;Blag.&lt;br /&gt;&lt;/DIV&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4144704359177008692-590862556028098353?l=blagrants.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blagrants.blogspot.com/feeds/590862556028098353/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4144704359177008692&amp;postID=590862556028098353' title='2 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/590862556028098353'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/590862556028098353'/><link rel='alternate' type='text/html' href='http://blagrants.blogspot.com/2010/10/with-little-help-from-my-friends.html' title='With a little help from my friends...'/><author><name>Alvaro "Blag" Tejada Galindo</name><uri>http://www.blogger.com/profile/12061593528820409779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='https://weblogs.sdn.sap.com/images/people/alvaro_tajeda.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4144704359177008692.post-7038151242450271319</id><published>2010-08-19T13:29:00.000-07:00</published><updated>2010-08-19T13:39:48.589-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Sports'/><category scheme='http://www.blogger.com/atom/ns#' term='Rant'/><category scheme='http://www.blogger.com/atom/ns#' term='Weird_Stuff'/><category scheme='http://www.blogger.com/atom/ns#' term='Wii'/><category scheme='http://www.blogger.com/atom/ns#' term='software_testing'/><title type='text'>Again...trying to loose some weight -:P</title><content type='html'>&lt;DIV ALIGN="JUSTIFY"&gt;&lt;br /&gt;I you follow and read my blog...I really hope you do...you might remember this blog &lt;a href="http://blagrants.blogspot.com/2009/08/this-post-sucksi-know-that.html"&gt;This post sucks I know that&lt;/a&gt; where I stated that I was trying to loose some weight by using &lt;a href="http://www.google.ca/url?sa=t&amp;source=web&amp;cd=1&amp;ved=0CCIQFjAA&amp;url=http%3A%2F%2Fwww.nintendo.com%2Fgames%2Fdetail%2F1OTtO06SP7M52gi5m8pD6CnahbW8CzxE&amp;ei=8JRtTP0kg4LyBpTouK4L&amp;usg=AFQjCNEn0bhdCXc_90HgoEA2mDYsTh7x2w&amp;sig2=a-mPbKi_d0sS46ROobLqBg"&gt;Wii Sports&lt;/a&gt; on a regular basis...well...as supposed...it was a mayor fail -:(&lt;br /&gt;&lt;br /&gt;So...a couple of days ago, I bought myself &lt;a href="http://wiifit.com/"&gt;Wii Fit Plus&lt;/a&gt;! in an attempt to of course loose weight and to be able to run a little experiment...just like last time...but...this time is for real -;) While I must admit that &lt;a href="http://www.google.ca/url?sa=t&amp;source=web&amp;cd=1&amp;ved=0CCIQFjAA&amp;url=http%3A%2F%2Fwww.nintendo.com%2Fgames%2Fdetail%2F1OTtO06SP7M52gi5m8pD6CnahbW8CzxE&amp;ei=8JRtTP0kg4LyBpTouK4L&amp;usg=AFQjCNEn0bhdCXc_90HgoEA2mDYsTh7x2w&amp;sig2=a-mPbKi_d0sS46ROobLqBg"&gt;Wii Sports&lt;/a&gt; made me sweat...nothing can be compared to &lt;a href="http://wiifit.com/"&gt;Wii Fit Plus&lt;/a&gt;...it's really a killer! -:D So many exercises for so many types of goals...loose weight, correct your posture, get a better balance...&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_eKAKUbdu3CI/TG2VkaSrhTI/AAAAAAAABWM/YibNBtKHWaE/s1600/wii-fit-plus-boxart.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 285px; height: 400px;" src="http://4.bp.blogspot.com/_eKAKUbdu3CI/TG2VkaSrhTI/AAAAAAAABWM/YibNBtKHWaE/s400/wii-fit-plus-boxart.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5507222372109485362" /&gt;&lt;/a&gt;&lt;br /&gt;So...my goal is to loose 8 kilos in 3 months...later on I will post my statistics, so you know how good I'm doing...&lt;br /&gt;&lt;br /&gt;Of course, I could post a before and after picture of myself...so you might notice the difference...is there's any LOL but I'm sure it will be hell of difference -;)&lt;br /&gt;&lt;br /&gt;The trick is to do the training for at least 30 minutes per day and only eat salads at night...because let's face it...by eating 5 or 6 quesadillas or two cheese sandwiches I wasn't going to loose a single gram...&lt;br /&gt;&lt;br /&gt;Greetings,&lt;br /&gt;&lt;br /&gt;Blag.&lt;br /&gt;&lt;/DIV&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4144704359177008692-7038151242450271319?l=blagrants.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blagrants.blogspot.com/feeds/7038151242450271319/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4144704359177008692&amp;postID=7038151242450271319' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/7038151242450271319'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/7038151242450271319'/><link rel='alternate' type='text/html' href='http://blagrants.blogspot.com/2010/08/againtrying-to-loose-some-weight-p.html' title='Again...trying to loose some weight -:P'/><author><name>Alvaro "Blag" Tejada Galindo</name><uri>http://www.blogger.com/profile/12061593528820409779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='https://weblogs.sdn.sap.com/images/people/alvaro_tajeda.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_eKAKUbdu3CI/TG2VkaSrhTI/AAAAAAAABWM/YibNBtKHWaE/s72-c/wii-fit-plus-boxart.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4144704359177008692.post-2119445556775240217</id><published>2010-08-16T07:50:00.000-07:00</published><updated>2010-08-16T08:19:50.701-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='misc'/><category scheme='http://www.blogger.com/atom/ns#' term='software_testing'/><title type='text'>System Optimizer - Clean your PC</title><content type='html'>&lt;DIV ALIGN="JUSTIFY"&gt;&lt;br /&gt;Being a developer and a blogger means that I install a lot of stuff in my computer, some are good stuff, some aren't and sometimes when I uninstall some of those not so good software, some things still get stuck in my laptop, causing the system to get slow or instable...which is of course not good at all...&lt;br /&gt;&lt;br /&gt;I been testing a great product called &lt;a href="http://digeus.com/products/systemoptimizer/system-optimizer.html"&gt;System Optimizer&lt;/a&gt; by a company called &lt;a href="http://digeus.com"&gt;Digeus Software&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Of course I have tried a lot of cleaners and system fixers before, but &lt;a href="http://digeus.com/products/systemoptimizer/system-optimizer.html"&gt;System Optimizer&lt;/a&gt; provide me a full set of tools that really improves my system in a fast and smooth way...which is something that really makes me happy -;)&lt;br /&gt;&lt;br /&gt;Of course, you might like to see some screenshots...&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_eKAKUbdu3CI/TGlU4U5pZ_I/AAAAAAAABVk/r5mf88Okm2Y/s1600/Digeus_01.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 260px;" src="http://2.bp.blogspot.com/_eKAKUbdu3CI/TGlU4U5pZ_I/AAAAAAAABVk/r5mf88Okm2Y/s400/Digeus_01.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5506025346097047538" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_eKAKUbdu3CI/TGlU_522qYI/AAAAAAAABVs/i0Dt5Mbp6TI/s1600/Digeus_02.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 263px;" src="http://1.bp.blogspot.com/_eKAKUbdu3CI/TGlU_522qYI/AAAAAAAABVs/i0Dt5Mbp6TI/s400/Digeus_02.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5506025476276529538" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_eKAKUbdu3CI/TGlVFwU6cXI/AAAAAAAABV0/F4aVZejGTkw/s1600/Digeus_03.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 260px;" src="http://1.bp.blogspot.com/_eKAKUbdu3CI/TGlVFwU6cXI/AAAAAAAABV0/F4aVZejGTkw/s400/Digeus_03.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5506025576797466994" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_eKAKUbdu3CI/TGlVNhF1-oI/AAAAAAAABV8/42sQq5lj2kE/s1600/Digeus_04.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 363px;" src="http://3.bp.blogspot.com/_eKAKUbdu3CI/TGlVNhF1-oI/AAAAAAAABV8/42sQq5lj2kE/s400/Digeus_04.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5506025710146681474" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_eKAKUbdu3CI/TGlVUIhOPoI/AAAAAAAABWE/BaKiCY7ntfo/s1600/Digeus_05.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 260px;" src="http://2.bp.blogspot.com/_eKAKUbdu3CI/TGlVUIhOPoI/AAAAAAAABWE/BaKiCY7ntfo/s400/Digeus_05.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5506025823809715842" /&gt;&lt;/a&gt;&lt;br /&gt;Divided in categories, the software offers a tool for every performance and security task we might need to perform. While you might achieve the same by using separate tools, with this you have everything in one place.&lt;br /&gt;&lt;br /&gt;As you can see...so many options are offered, so now you don't have an excuse to use a slow computer anymore -;) Mine is running better than ever -:D&lt;br /&gt;&lt;br /&gt;Greetings,&lt;br /&gt;&lt;br /&gt;Blag.&lt;br /&gt;&lt;/DIV&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4144704359177008692-2119445556775240217?l=blagrants.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blagrants.blogspot.com/feeds/2119445556775240217/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4144704359177008692&amp;postID=2119445556775240217' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/2119445556775240217'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/2119445556775240217'/><link rel='alternate' type='text/html' href='http://blagrants.blogspot.com/2010/08/system-optimizer-clean-your-pc.html' title='System Optimizer - Clean your PC'/><author><name>Alvaro "Blag" Tejada Galindo</name><uri>http://www.blogger.com/profile/12061593528820409779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='https://weblogs.sdn.sap.com/images/people/alvaro_tajeda.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_eKAKUbdu3CI/TGlU4U5pZ_I/AAAAAAAABVk/r5mf88Okm2Y/s72-c/Digeus_01.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4144704359177008692.post-9137648534283779519</id><published>2010-07-13T04:46:00.000-07:00</published><updated>2010-07-13T04:58:16.784-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Companies'/><category scheme='http://www.blogger.com/atom/ns#' term='Rant'/><category scheme='http://www.blogger.com/atom/ns#' term='Twitter'/><title type='text'>TripIt.com listens...</title><content type='html'>&lt;DIV ALIGN="JUSTIFY"&gt;&lt;br /&gt;Yesterday I was kinda angry...I'm supposed to make a trip to Bathurst, New Brunswick, Canada for work...so the first thing I did was to go to &lt;a href="http://www.tripit.com"&gt;TripIt&lt;/a&gt; and tried to add a trip.&lt;br /&gt;&lt;br /&gt;At first I got confused as I saw this...&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_eKAKUbdu3CI/TDxSiuOVo4I/AAAAAAAABVE/kCqajbzPNCQ/s1600/TripIt02.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 197px;" src="http://2.bp.blogspot.com/_eKAKUbdu3CI/TDxSiuOVo4I/AAAAAAAABVE/kCqajbzPNCQ/s400/TripIt02.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5493356401962361730" /&gt;&lt;/a&gt;&lt;br /&gt;Australia? Where my boss is sending me? That's pretty far from Montreal! So I checked my flight tickets...and of course...I wasn't going to Australia...so I tried again...&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_eKAKUbdu3CI/TDxS1zf5JpI/AAAAAAAABVM/35rfRnu1t4s/s1600/TripIt03.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 207px;" src="http://3.bp.blogspot.com/_eKAKUbdu3CI/TDxS1zf5JpI/AAAAAAAABVM/35rfRnu1t4s/s400/TripIt03.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5493356729795683986" /&gt;&lt;/a&gt;&lt;br /&gt;Unable to resolve? Where I was going? To a hidden place? So angry as I was I posted this on &lt;a href="http://www.twitter.com"&gt;Twitter&lt;/a&gt;...&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_eKAKUbdu3CI/TDxTI2-_S6I/AAAAAAAABVU/KDlz_9DSS64/s1600/TripIt01.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 218px;" src="http://1.bp.blogspot.com/_eKAKUbdu3CI/TDxTI2-_S6I/AAAAAAAABVU/KDlz_9DSS64/s400/TripIt01.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5493357057148930978" /&gt;&lt;/a&gt;&lt;br /&gt;So...after a long day of hard work...I went home...when I was going to into the elevator, I got an email on my IPhone...from &lt;a href="http://www.tripit.com"&gt;TripIt&lt;/a&gt;!!!&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_eKAKUbdu3CI/TDxTgIjr-FI/AAAAAAAABVc/XddDfXO1S70/s1600/TripIt04.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 199px;" src="http://2.bp.blogspot.com/_eKAKUbdu3CI/TDxTgIjr-FI/AAAAAAAABVc/XddDfXO1S70/s400/TripIt04.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5493357457003247698" /&gt;&lt;/a&gt;&lt;br /&gt;So they actually listen to me...even when I didn't tweet them directly...even when I didn't use a hashtag...even when I'm just a regular Geek trying to make a living...&lt;br /&gt;&lt;br /&gt;This time, &lt;a href="http://www.tripit.com"&gt;TripIt&lt;/a&gt; really surprise me as they use &lt;a href="http://www.twitter.com"&gt;Twitter&lt;/a&gt; as a real tool for customer support...kudos for &lt;a href="http://www.tripit.com"&gt;TripIt&lt;/a&gt; and kudos for &lt;span style="font-weight:bold;"&gt;Ruth&lt;/span&gt; who was kind enough to read my tweet and actually make something about it.&lt;br /&gt;&lt;br /&gt;After this...and as soon as I can...I'm going Pro on &lt;a href="http://www.tripit.com"&gt;TripIt&lt;/a&gt; -;)&lt;br /&gt;&lt;br /&gt;Greetings,&lt;br /&gt;&lt;br /&gt;Blag.&lt;br /&gt;&lt;/DIV&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4144704359177008692-9137648534283779519?l=blagrants.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blagrants.blogspot.com/feeds/9137648534283779519/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4144704359177008692&amp;postID=9137648534283779519' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/9137648534283779519'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/9137648534283779519'/><link rel='alternate' type='text/html' href='http://blagrants.blogspot.com/2010/07/tripitcom-listens.html' title='TripIt.com listens...'/><author><name>Alvaro "Blag" Tejada Galindo</name><uri>http://www.blogger.com/profile/12061593528820409779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='https://weblogs.sdn.sap.com/images/people/alvaro_tajeda.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_eKAKUbdu3CI/TDxSiuOVo4I/AAAAAAAABVE/kCqajbzPNCQ/s72-c/TripIt02.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4144704359177008692.post-2855618667519513435</id><published>2010-06-02T16:42:00.000-07:00</published><updated>2010-06-02T17:15:09.526-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='misc'/><category scheme='http://www.blogger.com/atom/ns#' term='Rant'/><category scheme='http://www.blogger.com/atom/ns#' term='Montreal'/><title type='text'>When in Montreal...</title><content type='html'>&lt;DIV ALIGN="JUSTIFY"&gt;&lt;br /&gt;By now, you must know this (I already told everyone LOL)...I'm currently living in Montreal, Canada. It's been a week and 3 days so far for me...but it seems like ages, since my wife and daughter are not with me at this moment...anyway, I'm going back to Lima, Peru to pick them up and get back here to sunny (Ok...sunny by now) Montreal.&lt;br /&gt;&lt;br /&gt;I had already gone to work, took the subway, go to do shopping, make my own meals, clean my apartment, do my laundry...so I can say, I feel pretty much comfortable in here -;)&lt;br /&gt;&lt;br /&gt;What I like about Montreal? Well...it's a warm city (I'm taking about the people, I gotta live the winter yet), multi-cultural, fully gastronomic and peaceful.&lt;br /&gt;&lt;br /&gt;I should post more of my Canadian adventures soon...so stay tuned -;)&lt;br /&gt;&lt;br /&gt;Greetings,&lt;br /&gt;&lt;br /&gt;Blag.&lt;br /&gt;&lt;/DIV&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4144704359177008692-2855618667519513435?l=blagrants.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blagrants.blogspot.com/feeds/2855618667519513435/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4144704359177008692&amp;postID=2855618667519513435' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/2855618667519513435'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/2855618667519513435'/><link rel='alternate' type='text/html' href='http://blagrants.blogspot.com/2010/06/when-in-montreal.html' title='When in Montreal...'/><author><name>Alvaro "Blag" Tejada Galindo</name><uri>http://www.blogger.com/profile/12061593528820409779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='https://weblogs.sdn.sap.com/images/people/alvaro_tajeda.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4144704359177008692.post-1001828529931242615</id><published>2010-05-15T07:33:00.001-07:00</published><updated>2010-05-15T07:33:57.510-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='misc'/><category scheme='http://www.blogger.com/atom/ns#' term='Rant'/><category scheme='http://www.blogger.com/atom/ns#' term='Weird_Stuff'/><title type='text'>Blagbert - The Graphic Novel available now!</title><content type='html'>&lt;DIV&gt;&lt;br /&gt;Are you a Blagbert fan? Then you can't miss this great opportunity to buy &lt;a href="http://www.lulu.com/product/paperback/blagbert---the-graphic-novel/10989585"&gt;Blagbert - The Graphic Novel&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_eKAKUbdu3CI/S-6wQ5acBLI/AAAAAAAABUM/jF9C4Cmy9B0/s1600/Blagbert_Cover.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 205px; height: 320px;" src="http://4.bp.blogspot.com/_eKAKUbdu3CI/S-6wQ5acBLI/AAAAAAAABUM/jF9C4Cmy9B0/s400/Blagbert_Cover.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5471504401637835954" /&gt;&lt;/a&gt;&lt;br /&gt;Greetings,&lt;br /&gt;Blag.&lt;br /&gt;&lt;/DIV&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4144704359177008692-1001828529931242615?l=blagrants.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blagrants.blogspot.com/feeds/1001828529931242615/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4144704359177008692&amp;postID=1001828529931242615' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/1001828529931242615'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/1001828529931242615'/><link rel='alternate' type='text/html' href='http://blagrants.blogspot.com/2010/05/blagbert-graphic-novel-available-now.html' title='Blagbert - The Graphic Novel available now!'/><author><name>Alvaro "Blag" Tejada Galindo</name><uri>http://www.blogger.com/profile/12061593528820409779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='https://weblogs.sdn.sap.com/images/people/alvaro_tajeda.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_eKAKUbdu3CI/S-6wQ5acBLI/AAAAAAAABUM/jF9C4Cmy9B0/s72-c/Blagbert_Cover.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4144704359177008692.post-1541795858373001342</id><published>2010-05-13T18:34:00.000-07:00</published><updated>2010-05-13T19:08:05.922-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='misc'/><category scheme='http://www.blogger.com/atom/ns#' term='Rant'/><category scheme='http://www.blogger.com/atom/ns#' term='Weird_Stuff'/><category scheme='http://www.blogger.com/atom/ns#' term='BlackBerry'/><title type='text'>Turning your BlackBerry into a Kindle for the poor</title><content type='html'>&lt;DIV ALIGN="JUSTIFY"&gt;&lt;br /&gt;So...you're too cheap to buy an &lt;a href="http://www.amazon.com/dp/B0015T963C/?tag=gocous-20&amp;hvadid=4139285297&amp;ref=pd_sl_7p2cs87ah_b"&gt;Amazon Kindle&lt;/a&gt; and even more cheaper to buy an &lt;a href="http://www.apple.com/ipad/"&gt;Apple IPad&lt;/a&gt;?&lt;br /&gt;&lt;br /&gt;Well...that's not my case -:) It's just that as you may know or going to discover...I'm moving to Montreal, Canada with my family. My Peruvian CrackBerry which is locked will turn into a useless cellphone...so I had two simple options...sold it here or just dump it into the trash...Gladly I found out a third and more elegant solution...&lt;br /&gt;&lt;br /&gt;I installed quite time ago this great software called &lt;a href="http://www.mobipocket.com/en/HomePage/default.asp?Language=EN"&gt;Mobipocket Reader&lt;/a&gt; which allows you to read files in a variety of formats...if you, like me, stand to read in the small BlackBerry screen, then this software is for you.&lt;br /&gt;&lt;br /&gt;So, with the &lt;a href="http://www.mobipocket.com/en/HomePage/default.asp?Language=EN"&gt;Mobipocket Reader&lt;/a&gt; installed (and of course a big selection of nice books), we just need to start deleting all the things we are not going to use anymore...like games, GMail client (Actually all Google Stuff) and so on...why? Simple...I'm not going to have a carrier in Canada...I'm not going to have an Internet provider...why I would like to keep all those applications that are nothing without the web?&lt;br /&gt;&lt;br /&gt;Delete everything and just keep the essentials...this way you're going to have a more useful and quick device to read books and took pictures -;)&lt;br /&gt;&lt;br /&gt;Almost forgot...I'm going to have a brand new IPhone waiting for me to be hacked W00T!&lt;br /&gt;&lt;br /&gt;Greetings,&lt;br /&gt;&lt;br /&gt;Blag.&lt;br /&gt;&lt;/DIV&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4144704359177008692-1541795858373001342?l=blagrants.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blagrants.blogspot.com/feeds/1541795858373001342/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4144704359177008692&amp;postID=1541795858373001342' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/1541795858373001342'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/1541795858373001342'/><link rel='alternate' type='text/html' href='http://blagrants.blogspot.com/2010/05/turning-your-blackberry-into-kindle-for.html' title='Turning your BlackBerry into a Kindle for the poor'/><author><name>Alvaro "Blag" Tejada Galindo</name><uri>http://www.blogger.com/profile/12061593528820409779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='https://weblogs.sdn.sap.com/images/people/alvaro_tajeda.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4144704359177008692.post-4420183751270303968</id><published>2010-04-15T03:48:00.000-07:00</published><updated>2010-04-15T03:54:27.381-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Rant'/><category scheme='http://www.blogger.com/atom/ns#' term='Learning'/><title type='text'>uCertify's Spring sale</title><content type='html'>&lt;DIV ALIGN="JUSTIFY"&gt;&lt;br /&gt;You might recall that some time ago I published the post &lt;a href="http://blagrants.blogspot.com/2009/10/ucertify-certifications-made-easy.html"&gt;uCertify - Certifications made easy...&lt;/a&gt;, well, today they mail me telling me that they are offering a Spring sale discount of 20% that will last until April 20th, so you better hurry -;)&lt;br /&gt;&lt;br /&gt;Simply type &lt;span style="font-style:italic;"&gt;SPRING&lt;/span&gt; as the discount during checkout.&lt;br /&gt;&lt;br /&gt;Greetings,&lt;br /&gt;&lt;br /&gt;Blag.&lt;br /&gt;&lt;/DIV&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4144704359177008692-4420183751270303968?l=blagrants.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blagrants.blogspot.com/feeds/4420183751270303968/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4144704359177008692&amp;postID=4420183751270303968' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/4420183751270303968'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/4420183751270303968'/><link rel='alternate' type='text/html' href='http://blagrants.blogspot.com/2010/04/ucertifys-spring-sale.html' title='uCertify&apos;s Spring sale'/><author><name>Alvaro "Blag" Tejada Galindo</name><uri>http://www.blogger.com/profile/12061593528820409779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='https://weblogs.sdn.sap.com/images/people/alvaro_tajeda.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4144704359177008692.post-2390946460901973333</id><published>2010-04-08T08:28:00.000-07:00</published><updated>2010-04-08T08:37:26.440-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='charity'/><category scheme='http://www.blogger.com/atom/ns#' term='SAP_Mentors'/><category scheme='http://www.blogger.com/atom/ns#' term='Role_Models'/><title type='text'>The marathon man strikes again...</title><content type='html'>&lt;DIV ALIGN="JUSTIFY"&gt;&lt;br /&gt;Last year I wrote a post called &lt;a href="http://blagrants.blogspot.com/2009/04/kudos-to-craig-cmehil-and-fmr24h.html"&gt;Kudos to Craig Cmehil and FMR24H!!!&lt;/a&gt; about Craig Cmehil and his 24 marathon Friday Morning Report to support &lt;a href="http://doctorswithoutborders.org/"&gt;Doctors without Borders&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;This year, the marathon man strikes again...and hell yeah I'm going to be there to support him! -:D Be sure to check him out &lt;a href="http://fridaymorningreport.tv/2010/04/08/agenda-for-2010-24-hour-marathon/"&gt;Agenda for FRM24&lt;/a&gt; starting Friday 9, April with a very nice list of guest (most of them, friends of mine) so there's even more reason to help him in his great crusade.&lt;br /&gt;&lt;br /&gt;Last year was interesting, funny and very geeky -:) So I'm sure this year is going to be even better...so prepare your internet connection, a six pack of Red Bulls and your credit card (You must give something to the Doctors without Borders...don't be cheap LOL).&lt;br /&gt;&lt;br /&gt;Greetings,&lt;br /&gt;&lt;br /&gt;Blag.&lt;br /&gt;&lt;/DIV&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4144704359177008692-2390946460901973333?l=blagrants.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blagrants.blogspot.com/feeds/2390946460901973333/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4144704359177008692&amp;postID=2390946460901973333' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/2390946460901973333'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/2390946460901973333'/><link rel='alternate' type='text/html' href='http://blagrants.blogspot.com/2010/04/marathon-man-strikes-again.html' title='The marathon man strikes again...'/><author><name>Alvaro "Blag" Tejada Galindo</name><uri>http://www.blogger.com/profile/12061593528820409779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='https://weblogs.sdn.sap.com/images/people/alvaro_tajeda.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4144704359177008692.post-2483365509840732223</id><published>2009-12-23T08:21:00.000-08:00</published><updated>2009-12-23T08:23:09.713-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='misc'/><title type='text'>Merry Christmas and Happy Hanukkah 2009!</title><content type='html'>&lt;DIV ALIGN="JUSTIFY"&gt;&lt;br /&gt;We're almost at the end of the year...so I just wanted to tell you...&lt;br /&gt;&lt;br /&gt;MERRY CHRISTMAS, HAPPY HANUKKAH AND HAPPY NEW YEAR!!!&lt;br /&gt;&lt;br /&gt;May this new year 2010 bring us happiness and professional success...may all our dreams and goals came true! -:D&lt;br /&gt;&lt;br /&gt;Greetings,&lt;br /&gt;&lt;br /&gt;Blag.&lt;br /&gt;&lt;/DIV&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4144704359177008692-2483365509840732223?l=blagrants.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blagrants.blogspot.com/feeds/2483365509840732223/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4144704359177008692&amp;postID=2483365509840732223' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/2483365509840732223'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/2483365509840732223'/><link rel='alternate' type='text/html' href='http://blagrants.blogspot.com/2009/12/merry-christmas-and-happy-hanukkah-2009.html' title='Merry Christmas and Happy Hanukkah 2009!'/><author><name>Alvaro "Blag" Tejada Galindo</name><uri>http://www.blogger.com/profile/12061593528820409779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='https://weblogs.sdn.sap.com/images/people/alvaro_tajeda.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4144704359177008692.post-3314537379394523105</id><published>2009-12-13T05:21:00.000-08:00</published><updated>2009-12-13T06:17:00.418-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='AIR'/><category scheme='http://www.blogger.com/atom/ns#' term='Flex'/><title type='text'>Citrify - Edit your photos a la AIR</title><content type='html'>&lt;DIV ALIGN="JUSTIFY"&gt;&lt;br /&gt;Yesterday I was checking my friend &lt;a href="http://www.myspace.com/22ndcentury"&gt;Duane "Chaos" Nickull&lt;/a&gt;'s page called &lt;a href="http://technoracle.blogspot.com"&gt;Technoracle(a.k.a "Duane's World")&lt;/a&gt; and I found out that he was giving away &lt;a href="http://technoracle.blogspot.com/2009/12/50-free-citrify-licenses.html"&gt;50 Free Citrify Licences&lt;/a&gt; of course...I took my chances and was gladly choose -:) I'm a &lt;a href="http://www.citrify.com/"&gt;Citrify&lt;/a&gt; user right now -;)&lt;br /&gt;&lt;br /&gt;But...what's &lt;a href="http://www.citrify.com/"&gt;Citrify&lt;/a&gt;? It's an Adobe AIR based application used to edit your photos in a fun and easy way.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_eKAKUbdu3CI/SyTvy3fMMkI/AAAAAAAABQ8/vcAvVN-udnQ/s1600-h/Citrify01.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 280px;" src="http://2.bp.blogspot.com/_eKAKUbdu3CI/SyTvy3fMMkI/AAAAAAAABQ8/vcAvVN-udnQ/s400/Citrify01.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5414716309173449282" /&gt;&lt;/a&gt;&lt;br /&gt;Choose a picture...&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_eKAKUbdu3CI/SyTwLqNF3WI/AAAAAAAABRE/XFPrRXGM0EE/s1600-h/Citrify02.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 280px;" src="http://2.bp.blogspot.com/_eKAKUbdu3CI/SyTwLqNF3WI/AAAAAAAABRE/XFPrRXGM0EE/s400/Citrify02.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5414716735104605538" /&gt;&lt;/a&gt;&lt;br /&gt;You can adjust Brightness, Contrast, Hue, Saturation, Resize, Rotate and Sharpen.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_eKAKUbdu3CI/SyTxFBID36I/AAAAAAAABRM/bFSs7I4J2B8/s1600-h/Citrify03.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 280px;" src="http://2.bp.blogspot.com/_eKAKUbdu3CI/SyTxFBID36I/AAAAAAAABRM/bFSs7I4J2B8/s400/Citrify03.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5414717720510062498" /&gt;&lt;/a&gt;&lt;br /&gt;You can use some Touchup with Airbrush, Blemish, Glare, Redeye, Toothbrush and Wrinkle.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_eKAKUbdu3CI/SyTxrasD37I/AAAAAAAABRU/ZP4WCYpSbmw/s1600-h/Citrify04.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 280px;" src="http://3.bp.blogspot.com/_eKAKUbdu3CI/SyTxrasD37I/AAAAAAAABRU/ZP4WCYpSbmw/s400/Citrify04.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5414718380206972850" /&gt;&lt;/a&gt;&lt;br /&gt;Of course...don't forget about the Effects, you can use Halftone, Flashback, Watercolor, Hulkify, Obamify, Sepia, Black &amp; White and Pencil sketch.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_eKAKUbdu3CI/SyT0coAVENI/AAAAAAAABRc/GDfxvOX8_ro/s1600-h/Citrify05.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 280px;" src="http://2.bp.blogspot.com/_eKAKUbdu3CI/SyT0coAVENI/AAAAAAAABRc/GDfxvOX8_ro/s400/Citrify05.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5414721424618492114" /&gt;&lt;/a&gt;&lt;br /&gt;Playing along with effects and adjustments, you can make some weird looking pics like this one -:)&lt;br /&gt;&lt;br /&gt;I really recommend this piece of software...easy to use, build on Adobe AIR...what else can you ask for?&lt;br /&gt;&lt;br /&gt;Greetings,&lt;br /&gt;&lt;br /&gt;Blag.&lt;br /&gt;&lt;/DIV&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4144704359177008692-3314537379394523105?l=blagrants.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blagrants.blogspot.com/feeds/3314537379394523105/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4144704359177008692&amp;postID=3314537379394523105' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/3314537379394523105'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/3314537379394523105'/><link rel='alternate' type='text/html' href='http://blagrants.blogspot.com/2009/12/citrify-edit-your-photos-la-air.html' title='Citrify - Edit your photos a la AIR'/><author><name>Alvaro "Blag" Tejada Galindo</name><uri>http://www.blogger.com/profile/12061593528820409779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='https://weblogs.sdn.sap.com/images/people/alvaro_tajeda.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_eKAKUbdu3CI/SyTvy3fMMkI/AAAAAAAABQ8/vcAvVN-udnQ/s72-c/Citrify01.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4144704359177008692.post-7411353756071679309</id><published>2009-12-13T03:01:00.000-08:00</published><updated>2009-12-13T03:48:18.611-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='AIR'/><category scheme='http://www.blogger.com/atom/ns#' term='Games'/><category scheme='http://www.blogger.com/atom/ns#' term='Flex'/><title type='text'>ChessJam - Online chess</title><content type='html'>&lt;DIV&gt;&lt;br /&gt;I must admit that I'm really bad at Chess...but it doesn't mean I don't like it -;)&lt;br /&gt;So, when I was browsing my RSS Reader, I found &lt;a href="http://www.chessjam.com"&gt;ChessJam&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.chessjam.com"&gt;ChessJam&lt;/a&gt; is a pretty neat application build on Adobe Flex and ColdFusion running on Adobe AIR.&lt;br /&gt;&lt;br /&gt;But you might be asking...what's the big buzz about a Chess game? Easy...you can play against bots or against people from all around the world...chat included...to me...that's awesome -:)&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_eKAKUbdu3CI/SyTOCJzkIkI/AAAAAAAABQE/99GoZKV5TVI/s1600-h/ChessJam01.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 272px;" src="http://3.bp.blogspot.com/_eKAKUbdu3CI/SyTOCJzkIkI/AAAAAAAABQE/99GoZKV5TVI/s400/ChessJam01.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5414679188393435714" /&gt;&lt;/a&gt;&lt;br /&gt;We have to create an account and then log-in.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_eKAKUbdu3CI/SyTOxhfLBiI/AAAAAAAABQM/fYnWjU2ZJfE/s1600-h/ChessJam02.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 272px;" src="http://4.bp.blogspot.com/_eKAKUbdu3CI/SyTOxhfLBiI/AAAAAAAABQM/fYnWjU2ZJfE/s400/ChessJam02.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5414680002204206626" /&gt;&lt;/a&gt;&lt;br /&gt;We can choose to play a single game or chat and challenge other players....&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_eKAKUbdu3CI/SyTPyyVX26I/AAAAAAAABQU/J8uLwJQviRY/s1600-h/ChessJam03.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 272px;" src="http://1.bp.blogspot.com/_eKAKUbdu3CI/SyTPyyVX26I/AAAAAAAABQU/J8uLwJQviRY/s400/ChessJam03.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5414681123418004386" /&gt;&lt;/a&gt;&lt;br /&gt;We can choose varios types of games (Depending on the game time play) or enter a Tournament.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_eKAKUbdu3CI/SyTQ63UlgCI/AAAAAAAABQc/okeSXwctNCI/s1600-h/ChessJam04.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 273px;" src="http://3.bp.blogspot.com/_eKAKUbdu3CI/SyTQ63UlgCI/AAAAAAAABQc/okeSXwctNCI/s400/ChessJam04.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5414682361707462690" /&gt;&lt;/a&gt;&lt;br /&gt;We have plenty of room to choose if the want to play against a bot or another human being.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_eKAKUbdu3CI/SyTRtjLlN9I/AAAAAAAABQk/Eygs9LTJYsQ/s1600-h/ChessJam05.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 271px;" src="http://2.bp.blogspot.com/_eKAKUbdu3CI/SyTRtjLlN9I/AAAAAAAABQk/Eygs9LTJYsQ/s400/ChessJam05.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5414683232474314706" /&gt;&lt;/a&gt;&lt;br /&gt;We can choose between a nice 3D look...&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_eKAKUbdu3CI/SyTSlV4eXSI/AAAAAAAABQs/Yr0ISzZszz8/s1600-h/ChessJam06.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 271px;" src="http://2.bp.blogspot.com/_eKAKUbdu3CI/SyTSlV4eXSI/AAAAAAAABQs/Yr0ISzZszz8/s400/ChessJam06.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5414684190977187106" /&gt;&lt;/a&gt;&lt;br /&gt;or a nice 2D classic view...&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_eKAKUbdu3CI/SyTTQPz3B1I/AAAAAAAABQ0/wbk2uRa5bHo/s1600-h/ChessJam07.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 272px;" src="http://2.bp.blogspot.com/_eKAKUbdu3CI/SyTTQPz3B1I/AAAAAAAABQ0/wbk2uRa5bHo/s400/ChessJam07.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5414684928081594194" /&gt;&lt;/a&gt;&lt;br /&gt;When you sign up...you must give out your Country of residence...so the system could run some nice statistics.&lt;br /&gt;&lt;br /&gt;So...why don't you give this game a chance? Play it...enjoy it and pass it along -;)&lt;br /&gt;&lt;br /&gt;Greetings,&lt;br /&gt;&lt;br /&gt;Blag.&lt;br /&gt;&lt;/DIV&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4144704359177008692-7411353756071679309?l=blagrants.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blagrants.blogspot.com/feeds/7411353756071679309/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4144704359177008692&amp;postID=7411353756071679309' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/7411353756071679309'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/7411353756071679309'/><link rel='alternate' type='text/html' href='http://blagrants.blogspot.com/2009/12/chessjam-online-chess.html' title='ChessJam - Online chess'/><author><name>Alvaro "Blag" Tejada Galindo</name><uri>http://www.blogger.com/profile/12061593528820409779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='https://weblogs.sdn.sap.com/images/people/alvaro_tajeda.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_eKAKUbdu3CI/SyTOCJzkIkI/AAAAAAAABQE/99GoZKV5TVI/s72-c/ChessJam01.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4144704359177008692.post-4146947696408071732</id><published>2009-11-16T13:42:00.000-08:00</published><updated>2009-11-16T13:46:00.302-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SAP'/><category scheme='http://www.blogger.com/atom/ns#' term='SCN'/><category scheme='http://www.blogger.com/atom/ns#' term='SAP_Mentors'/><category scheme='http://www.blogger.com/atom/ns#' term='Role_Models'/><title type='text'>My name is Blag...and I'm an eGhead...</title><content type='html'>&lt;DIV ALIGN="JUSTIFY"&gt;&lt;br /&gt;Which means that I'm an &lt;a href="http://www.enterprisegeeks.com"&gt;Enterprise Geeks&lt;/a&gt; follower -;)&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_eKAKUbdu3CI/SwHH0rJR7MI/AAAAAAAABPE/WiDKhwMsDXw/s1600/Blag_EgHead.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 300px; height: 400px;" src="http://3.bp.blogspot.com/_eKAKUbdu3CI/SwHH0rJR7MI/AAAAAAAABPE/WiDKhwMsDXw/s400/Blag_EgHead.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5404820735570078914" /&gt;&lt;/a&gt;&lt;br /&gt;Greetings,&lt;br /&gt;&lt;br /&gt;Blag.&lt;br /&gt;&lt;/DIV&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4144704359177008692-4146947696408071732?l=blagrants.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blagrants.blogspot.com/feeds/4146947696408071732/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4144704359177008692&amp;postID=4146947696408071732' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/4146947696408071732'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/4146947696408071732'/><link rel='alternate' type='text/html' href='http://blagrants.blogspot.com/2009/11/my-name-is-blagand-im-eghead.html' title='My name is Blag...and I&apos;m an eGhead...'/><author><name>Alvaro "Blag" Tejada Galindo</name><uri>http://www.blogger.com/profile/12061593528820409779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='https://weblogs.sdn.sap.com/images/people/alvaro_tajeda.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_eKAKUbdu3CI/SwHH0rJR7MI/AAAAAAAABPE/WiDKhwMsDXw/s72-c/Blag_EgHead.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4144704359177008692.post-9189933631940581652</id><published>2009-11-01T04:37:00.000-08:00</published><updated>2009-11-01T05:39:36.791-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Rant'/><category scheme='http://www.blogger.com/atom/ns#' term='SAP_Mentors'/><title type='text'>Being an SAP Mentor in Lima, Perú...</title><content type='html'>&lt;DIV ALIGN="JUSTIFY"&gt;&lt;br /&gt;Ok...the story goes like this...quite time ago I got invited to SAP World Tour in Lima, Perú. So, as I was still and Abaper I asked by boss for permission to go to the event. He pass the invitation link to the Sales Manager who invited 7 more people. I realize that when I get to the event.&lt;br /&gt;&lt;br /&gt;So, after that I get contacted by SAP Perú telling me that we took to many slots...even when they told the Sales Manager to take only 2 or 3 max (counting me of course)...&lt;br /&gt;&lt;br /&gt;Anyway...some time later I got invited to an SAP Business Objects event...and I was told to not invite anyone else, so I went to event alone.&lt;br /&gt;&lt;br /&gt;Last Monday I got a new invitation for SAP BUSINESS PROCESS PLATFORM DAY 2009, which I thought was some sort of a public event like the SAP World Tour...so I registered myself, pass the link to my boss and one more for my colleague on the Sales Team. Just the 3 of us, like they told me before.&lt;br /&gt;&lt;br /&gt;Two days later I got a message from SAP Perú telling me that I was making the same mistake again, that we were taking slots from customers, that I was putting in risk my relation with SAP Perú and so on...&lt;br /&gt;&lt;br /&gt;Now put some things in perspective...&lt;br /&gt;&lt;br /&gt;1.- I'm making the same mistake again? First time wasn't my fault...It was the Sales Manager fault...I got nothing to do with that particular problem...&lt;br /&gt;&lt;br /&gt;2.- Are we taking slots from customers? They assumed that we're going to take 7 or 8 slots again...we were going to take 3 max (including me) as they told me...but they even bother to ask me...they just prove me guilty without hearing my complains first.&lt;br /&gt;&lt;br /&gt;3.- I put in risk my relation with SAP Perú? Ok...so what relation? They had never thread like they should considering who I am inside the Community.&lt;br /&gt;&lt;br /&gt;So...taking things from the 3rd point...I know that no one is prophet in his own land...but this is kinda lame...I mean...if you compare how SAP USA and SAP Perú thread me...then you could start thinking like me...I'm an SAP Mentor (Only me on Perú, only 3 on South America), SAP Blogger, Top Contributor and many more. But that doesn't seems to be enough for SAP Perú...I know that here is this forgot by God land, the SAP Office is mostly for Marketing and Sales related stuff...but if you stop to think about it...having an SAP Mentor between the audience could really improve things, right? We are SAP chosen experts...SAP rock stars...still...seems to be not enough for this country...&lt;br /&gt;&lt;br /&gt;Now...back to the 2nd point...as they assume we were going to fill all the slots...they canceled my Boss and colleague's registries...but what about mine? Do they cancel my registry as well? After that I send them a message asking if I could still go or not...as expected...no one answered me...and surely no one will...so I missing the event just because of that...don't you think it's too much? Couldn't they just cancel the extra registries and keep mine? why punish me for my first honest mistake? Too bad don't you think?&lt;br /&gt;&lt;br /&gt;Ok...I know that if someone from SAP Perú read this post...my relation with them is going to get completely broken...but should I care? what's wrong about broken a relation that is 10% worthy?...if I got a got a 110% good relation with SAP USA, do I really need a relation with SAP Perú? I think not...I just got bad things from them since the beginning...&lt;br /&gt;&lt;br /&gt;P.S: To my SAP Mentor Boss...Mark, please don't call them or mail them...they just not worthy...if they want to ditch their relation with the only SAP Mentor available here...it's their problem...don't spend you time with people who just doesn't deserve it...&lt;br /&gt;&lt;br /&gt;Greetings,&lt;br /&gt;&lt;br /&gt;Blag.&lt;br /&gt;&lt;/DIV&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4144704359177008692-9189933631940581652?l=blagrants.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blagrants.blogspot.com/feeds/9189933631940581652/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4144704359177008692&amp;postID=9189933631940581652' title='3 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/9189933631940581652'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/9189933631940581652'/><link rel='alternate' type='text/html' href='http://blagrants.blogspot.com/2009/11/being-sap-mentor-in-lima-peru.html' title='Being an SAP Mentor in Lima, Perú...'/><author><name>Alvaro "Blag" Tejada Galindo</name><uri>http://www.blogger.com/profile/12061593528820409779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='https://weblogs.sdn.sap.com/images/people/alvaro_tajeda.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4144704359177008692.post-2582235353921080116</id><published>2009-10-15T10:30:00.000-07:00</published><updated>2009-10-15T10:41:41.868-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='TechEd_2009'/><category scheme='http://www.blogger.com/atom/ns#' term='TheBlagShow'/><category scheme='http://www.blogger.com/atom/ns#' term='Weird_Stuff'/><category scheme='http://www.blogger.com/atom/ns#' term='SCN'/><category scheme='http://www.blogger.com/atom/ns#' term='SAP_Mentors'/><title type='text'>The Blag Show Limited Podcast Edition 3, 4 and 5</title><content type='html'>&lt;DIV ALIGN="JUSTIFY"&gt;&lt;br /&gt;I got some problems with uploading...so I'm going to put the files so you can download them and listen later -;)&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.box.net/shared/hxrek4rc01"&gt;Episode 3&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.box.net/shared/amebvxkc18"&gt;Episode 4&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.box.net/shared/79fpfoh30q"&gt;Episode 5&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Greetings,&lt;br /&gt;&lt;br /&gt;Blag.&lt;br /&gt;&lt;/DIV&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4144704359177008692-2582235353921080116?l=blagrants.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blagrants.blogspot.com/feeds/2582235353921080116/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4144704359177008692&amp;postID=2582235353921080116' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/2582235353921080116'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/2582235353921080116'/><link rel='alternate' type='text/html' href='http://blagrants.blogspot.com/2009/10/blag-show-limited-podcast-edition-3-4.html' title='The Blag Show Limited Podcast Edition 3, 4 and 5'/><author><name>Alvaro "Blag" Tejada Galindo</name><uri>http://www.blogger.com/profile/12061593528820409779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='https://weblogs.sdn.sap.com/images/people/alvaro_tajeda.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4144704359177008692.post-6718749810135948826</id><published>2009-10-12T12:03:00.000-07:00</published><updated>2009-10-12T12:06:44.741-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='TechEd_2009'/><category scheme='http://www.blogger.com/atom/ns#' term='TheBlagShow'/><category scheme='http://www.blogger.com/atom/ns#' term='Weird_Stuff'/><category scheme='http://www.blogger.com/atom/ns#' term='SCN'/><category scheme='http://www.blogger.com/atom/ns#' term='SAP_Mentors'/><title type='text'>The Blag Show - Limited Podcast Edition 02</title><content type='html'>&lt;img style="visibility:hidden;width:0px;height:0px;" border=0 width=0 height=0 src="http://counters.gigya.com/wildfire/IMP/CXNID=2000002.0NXC/bT*xJmx*PTEyNTUzNzQzMDQwNjImcHQ9MTI1NTM3NDMxMjQzNyZwPTQ*MTQ*MiZkPSZnPTEmbz1kMmEyZWRjYjYwNzI*MjcxOTk1MTdlMWJjY2RmOThhMSZvZj*w.gif" /&gt;&lt;object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0" width="400" height="336" id="MevioWM" align="middle"&gt;&lt;param name="allowScriptAccess" value="never" /&gt;&lt;param name="allowFullScreen" value="true" /&gt;&lt;param name="movie" value="http://www.mevio.com/widgets/mwm/MevioWM.swf" /&gt;&lt;param name="quality" value="high" /&gt;&lt;param name="FlashVars"     value="distribConfig=http://www.mevio.com/widgets/configFiles/distribconfig_mwm_pcw_default.xml&amp;autoPlay=false&amp;container=false&amp;rssFeed=/%3FsId=23456%26sMediaId=7345714%26format=json&amp;playerIdleEnabled=false" /&gt;&lt;param name="bgcolor" value="#000000" /&gt;	&lt;embed src="http://www.mevio.com/widgets/mwm/MevioWM.swf"quality="high"bgcolor="#000000"width="400" height="336" FlashVars="distribConfig=http://www.mevio.com/widgets/configFiles/distribconfig_mwm_pcw_default.xml&amp;autoPlay=false&amp;6container=false&amp;rssFeed=/%3FsId=23456%26sMediaId=7345714%26format=json&amp;playerIdleEnabled=false"name="MevioWM"align="middle"allowScriptAccess="never"allowFullScreen="true"type="application/x-shockwave-flash"pluginspage="http://www.macromedia.com/go/getflashplayer" /&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.box.net/shared/n5tvjux29r"&gt;Download link&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;Greetings,&lt;br /&gt;&lt;br /&gt;Blag.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4144704359177008692-6718749810135948826?l=blagrants.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blagrants.blogspot.com/feeds/6718749810135948826/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4144704359177008692&amp;postID=6718749810135948826' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/6718749810135948826'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/6718749810135948826'/><link rel='alternate' type='text/html' href='http://blagrants.blogspot.com/2009/10/blag-show-limited-podcast-edition-02.html' title='The Blag Show - Limited Podcast Edition 02'/><author><name>Alvaro "Blag" Tejada Galindo</name><uri>http://www.blogger.com/profile/12061593528820409779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='https://weblogs.sdn.sap.com/images/people/alvaro_tajeda.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4144704359177008692.post-3103711434639766216</id><published>2009-10-10T04:40:00.000-07:00</published><updated>2009-10-10T07:06:28.613-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='TechEd_2009'/><category scheme='http://www.blogger.com/atom/ns#' term='TheBlagShow'/><category scheme='http://www.blogger.com/atom/ns#' term='Weird_Stuff'/><category scheme='http://www.blogger.com/atom/ns#' term='SCN'/><category scheme='http://www.blogger.com/atom/ns#' term='SAP_Mentors'/><title type='text'>The Blag Show - Limited Podcast Edition 01</title><content type='html'>&lt;img style="visibility:hidden;width:0px;height:0px;" border=0 width=0 height=0 src="http://counters.gigya.com/wildfire/IMP/CXNID=2000002.0NXC/bT*xJmx*PTEyNTUxODMyNTE*NTMmcHQ9MTI1NTE4MzMyODM1OSZwPTQ*MTQ*MiZkPSZnPTEmbz1kMmEyZWRjYjYwNzI*MjcxOTk1MTdlMWJjY2RmOThhMSZvZj*w.gif" /&gt;&lt;object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0" width="400" height="336" id="MevioWM" align="middle"&gt;&lt;param name="allowScriptAccess" value="never" /&gt;&lt;param name="allowFullScreen" value="true" /&gt;&lt;param name="movie" value="http://www.mevio.com/widgets/mwm/MevioWM.swf" /&gt;&lt;param name="quality" value="high" /&gt;&lt;param name="FlashVars"     value="distribConfig=http://www.mevio.com/widgets/configFiles/distribconfig_mwm_pcw_default.xml&amp;autoPlay=false&amp;container=false&amp;rssFeed=/%3FsId=23456%26sMediaId=7339462%26format=json&amp;playerIdleEnabled=false" /&gt;&lt;param name="bgcolor" value="#000000" /&gt;&lt;embed src="http://www.mevio.com/widgets/mwm/MevioWM.swf"quality="high"bgcolor="#000000"width="400" height="336" FlashVars="distribConfig=http://www.mevio.com/widgets/configFiles/distribconfig_mwm_pcw_default.xml&amp;autoPlay=false&amp;6container=false&amp;rssFeed=/%3FsId=23456%26sMediaId=7339462%26format=json&amp;playerIdleEnabled=false"name="MevioWM"align="middle"allowScriptAccess="never"allowFullScreen="true"type="application/x-shockwave-flash"pluginspage="http://www.macromedia.com/go/getflashplayer" /&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.box.net/shared/l0ku9jqtoz"&gt;Download link&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;Greetings,&lt;br /&gt;&lt;br /&gt;Blag.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4144704359177008692-3103711434639766216?l=blagrants.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blagrants.blogspot.com/feeds/3103711434639766216/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4144704359177008692&amp;postID=3103711434639766216' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/3103711434639766216'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/3103711434639766216'/><link rel='alternate' type='text/html' href='http://blagrants.blogspot.com/2009/10/blag-show-limited-podcast-edition-01.html' title='The Blag Show - Limited Podcast Edition 01'/><author><name>Alvaro "Blag" Tejada Galindo</name><uri>http://www.blogger.com/profile/12061593528820409779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='https://weblogs.sdn.sap.com/images/people/alvaro_tajeda.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4144704359177008692.post-7964130818470618805</id><published>2009-10-07T06:58:00.000-07:00</published><updated>2009-10-07T08:06:46.944-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='TechEd_2009'/><category scheme='http://www.blogger.com/atom/ns#' term='TheBlagShow'/><category scheme='http://www.blogger.com/atom/ns#' term='Rant'/><category scheme='http://www.blogger.com/atom/ns#' term='SAP'/><category scheme='http://www.blogger.com/atom/ns#' term='Twitter'/><category scheme='http://www.blogger.com/atom/ns#' term='SCN'/><title type='text'>My evil plans for SAP TechEd Phoenix 2009</title><content type='html'>&lt;DIV ALIGN="JUSTIFY"&gt;&lt;br /&gt;We're only 4 days away from TechEd...and I was planning to inform about my evil plan this Saturday...but couldn't resist -;)&lt;br /&gt;&lt;br /&gt;If you follow my blogs on &lt;a href="http://tinyurl.com/jnlfd"&gt;SCN&lt;/a&gt; you might know that on my first TechEd (Las Vegas 2007) I wrote one blog per day...a very difficult task of course, so in my second TechEd (Las Vegas 2008) I wrote a "in a nutshell" blog, summarizing all that happened there...this year, it's going to be my third TechEd...so I want to do something different from last year...I want to share even more! -:D&lt;br /&gt;&lt;br /&gt;So...my evil plans are this:&lt;br /&gt;&lt;br /&gt;*"The Blag Show - Limited Edition Podcast" to be launched this Saturday...and one per day...&lt;br /&gt;&lt;br /&gt;* A short blog per day on &lt;a href="http://sdn.sap.com"&gt;SCN&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;* Video Blogging, mostly on RIA Hacker Night and Community Clubhouse.&lt;br /&gt;&lt;br /&gt;* &lt;a href="http://blagbert.blogspot.com"&gt;Blagbert&lt;/a&gt; comics about TechEd funny situations. Yes...Blagbert is going to TechEd too -;) &lt;br /&gt;&lt;br /&gt;* &lt;a href="http://www.twitter.com/Blag"&gt;Twitter&lt;/a&gt; stream for sure -;)&lt;br /&gt;&lt;br /&gt;* Assist &lt;a href="http://www.twitter.com/jspath55"&gt;@jspath55&lt;/a&gt; giving out @SCNotties awards.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_eKAKUbdu3CI/SsyhSrYmX5I/AAAAAAAABNQ/Q3xE8TfpCpI/s1600-h/Evil_Plans.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 227px;" src="http://3.bp.blogspot.com/_eKAKUbdu3CI/SsyhSrYmX5I/AAAAAAAABNQ/Q3xE8TfpCpI/s400/Evil_Plans.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5389860196311261074" /&gt;&lt;/a&gt;&lt;br /&gt;A &lt;a href="http://www.gapingvoid.com"&gt;Gapinvoid&lt;/a&gt; comic strip kindly send to me by Mrinal Wadhwa (&lt;a href="http://www.twitter.com/mrinal"&gt;@mrinal&lt;/a&gt;)&lt;br /&gt;&lt;br /&gt;Greetings,&lt;br /&gt;&lt;br /&gt;Blag.&lt;br /&gt;&lt;/DIV&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4144704359177008692-7964130818470618805?l=blagrants.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blagrants.blogspot.com/feeds/7964130818470618805/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4144704359177008692&amp;postID=7964130818470618805' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/7964130818470618805'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/7964130818470618805'/><link rel='alternate' type='text/html' href='http://blagrants.blogspot.com/2009/10/my-evil-plans-for-sap-teched-phoenix.html' title='My evil plans for SAP TechEd Phoenix 2009'/><author><name>Alvaro "Blag" Tejada Galindo</name><uri>http://www.blogger.com/profile/12061593528820409779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='https://weblogs.sdn.sap.com/images/people/alvaro_tajeda.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_eKAKUbdu3CI/SsyhSrYmX5I/AAAAAAAABNQ/Q3xE8TfpCpI/s72-c/Evil_Plans.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4144704359177008692.post-8984782046932458324</id><published>2009-10-05T06:31:00.000-07:00</published><updated>2009-10-05T06:57:10.124-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Rant'/><category scheme='http://www.blogger.com/atom/ns#' term='Learning'/><title type='text'>uCertify - Certifications made easy...</title><content type='html'>&lt;div align="justify"&gt;&lt;br /&gt;Have you ever took a Certification Exam? If you do, did you pass it? It was easy for you? Or if you haven't...you think it was too hard? You didn't have enough time to study?&lt;br /&gt;&lt;br /&gt;Well...with &lt;a href="http://ucertify.com/"&gt;uCertify&lt;/a&gt; there aren't more excuses.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://ucertify.com/"&gt;uCertify&lt;/a&gt; brings you a powerful software used as a training and exam simulation, so you can study and took exams to prepare yourself for the big challenge.&lt;br /&gt;&lt;br /&gt;I'm currently evaluating this course &lt;a href="http://www.ucertify.com/exams/ITIL/BH0-006.html"&gt;BH0-006 – ISEB ITIL Foundation v.3 Practice Test&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_eKAKUbdu3CI/Ssn4BqdsPDI/AAAAAAAABMo/n2HH7y4SRGk/s1600-h/uCertify01.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 292px;" src="http://2.bp.blogspot.com/_eKAKUbdu3CI/Ssn4BqdsPDI/AAAAAAAABMo/n2HH7y4SRGk/s400/uCertify01.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5389111136587889714" /&gt;&lt;/a&gt;&lt;br /&gt;The contents are separated into themes and definitions, which makes it even easier to learn and remember.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_eKAKUbdu3CI/Ssn4VhbCUdI/AAAAAAAABMw/w-Kj7SBWKdM/s1600-h/uCertify02.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 292px;" src="http://4.bp.blogspot.com/_eKAKUbdu3CI/Ssn4VhbCUdI/AAAAAAAABMw/w-Kj7SBWKdM/s400/uCertify02.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5389111477758218706" /&gt;&lt;/a&gt;&lt;br /&gt;When you took test, you can a history showing how many times the exam has been taken, what score you achieve and more interesting information. (I'm still learning so you're not going to find anything on my History List)...&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_eKAKUbdu3CI/Ssn4yn4hlaI/AAAAAAAABM4/igYScxSS9k4/s1600-h/uCertify03.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 293px;" src="http://3.bp.blogspot.com/_eKAKUbdu3CI/Ssn4yn4hlaI/AAAAAAAABM4/igYScxSS9k4/s400/uCertify03.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5389111977708721570" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://ucertify.com/"&gt;uCertify&lt;/a&gt; provides a lot of packages for certifications and even discounts on list prices, which make them even more interesting to try and buy.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_eKAKUbdu3CI/Ssn5UrgU3yI/AAAAAAAABNA/VaOKQb5BK-U/s1600-h/uCertify04.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 185px;" src="http://2.bp.blogspot.com/_eKAKUbdu3CI/Ssn5UrgU3yI/AAAAAAAABNA/VaOKQb5BK-U/s400/uCertify04.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5389112562796519202" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_eKAKUbdu3CI/Ssn5gKNpKdI/AAAAAAAABNI/jUkQTiHArTU/s1600-h/uCertify05.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 276px;" src="http://1.bp.blogspot.com/_eKAKUbdu3CI/Ssn5gKNpKdI/AAAAAAAABNI/jUkQTiHArTU/s400/uCertify05.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5389112760018217426" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Enough said, &lt;a href="http://ucertify.com/"&gt;uCertify&lt;/a&gt; brings certifications to your home...you must only study, took the exams and get more than ready for the real thing.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Disclaimer: This blog is based on my own personal thoughts and experiences.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Greetings,&lt;br /&gt;&lt;br /&gt;Blag.&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4144704359177008692-8984782046932458324?l=blagrants.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blagrants.blogspot.com/feeds/8984782046932458324/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4144704359177008692&amp;postID=8984782046932458324' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/8984782046932458324'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/8984782046932458324'/><link rel='alternate' type='text/html' href='http://blagrants.blogspot.com/2009/10/ucertify-certifications-made-easy.html' title='uCertify - Certifications made easy...'/><author><name>Alvaro "Blag" Tejada Galindo</name><uri>http://www.blogger.com/profile/12061593528820409779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='https://weblogs.sdn.sap.com/images/people/alvaro_tajeda.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_eKAKUbdu3CI/Ssn4BqdsPDI/AAAAAAAABMo/n2HH7y4SRGk/s72-c/uCertify01.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4144704359177008692.post-1122618599466747000</id><published>2009-08-20T19:00:00.000-07:00</published><updated>2009-08-20T19:04:47.015-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SAP'/><category scheme='http://www.blogger.com/atom/ns#' term='SCN'/><category scheme='http://www.blogger.com/atom/ns#' term='SAP_Mentors'/><title type='text'>Wait a second! Am I famous?</title><content type='html'>&lt;DIV ALIGN="JUSTIFY"&gt;&lt;br /&gt;Today, &lt;a href="http://www.markyolton.com/"&gt;Mark Yolton&lt;/a&gt; from &lt;a href="http://sdn.sap.com"&gt;SAP Community Network&lt;/a&gt; gave me really wonderful news...follow this link and tell who's that handsome and smart guy on the picture...&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.insidesap.com.au/SingleNews/09-08-19/sap_a_lesson_in_social_media_423.aspx"&gt;InsideSAP&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Cool isn't it -;)&lt;br /&gt;&lt;br /&gt;Greetings,&lt;br /&gt;&lt;br /&gt;Blag.&lt;br /&gt;&lt;br /&gt;&lt;/DIV&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4144704359177008692-1122618599466747000?l=blagrants.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blagrants.blogspot.com/feeds/1122618599466747000/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4144704359177008692&amp;postID=1122618599466747000' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/1122618599466747000'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/1122618599466747000'/><link rel='alternate' type='text/html' href='http://blagrants.blogspot.com/2009/08/wait-second-am-i-famous.html' title='Wait a second! Am I famous?'/><author><name>Alvaro "Blag" Tejada Galindo</name><uri>http://www.blogger.com/profile/12061593528820409779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='https://weblogs.sdn.sap.com/images/people/alvaro_tajeda.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4144704359177008692.post-7758058682986268588</id><published>2009-08-07T14:09:00.000-07:00</published><updated>2009-08-07T15:06:58.991-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Learning'/><category scheme='http://www.blogger.com/atom/ns#' term='SAP'/><title type='text'>Learning on Demand by SAP</title><content type='html'>&lt;DIV ALIGN="JUSTIFY"&gt;&lt;br /&gt;As an &lt;a href="https://wiki.sdn.sap.com/wiki/display/SAPMentors/SAP%20Mentor%20Initiative"&gt;SAP Mentor&lt;/a&gt; I receive a lot of goodies and free stuff from very nice people.&lt;br /&gt;&lt;br /&gt;Today I get access to &lt;a href="https://lod.sdn.sap.com/index.jspa"&gt;Learning on Demand by SAP&lt;/a&gt;, so of course I started to play with it.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_eKAKUbdu3CI/SnyYqaCJB9I/AAAAAAAABKw/qeifeOP0do4/s1600-h/LOD_01.jpeg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 201px;" src="http://1.bp.blogspot.com/_eKAKUbdu3CI/SnyYqaCJB9I/AAAAAAAABKw/qeifeOP0do4/s400/LOD_01.jpeg" border="0" alt=""id="BLOGGER_PHOTO_ID_5367332710229018578" /&gt;&lt;/a&gt;&lt;br /&gt;When you log in you can browse the available courses, which might not be many but are going to grow in time.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_eKAKUbdu3CI/SnygYoUe36I/AAAAAAAABK4/yUqqGAW773E/s1600-h/LOD_02.jpeg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 203px;" src="http://3.bp.blogspot.com/_eKAKUbdu3CI/SnygYoUe36I/AAAAAAAABK4/yUqqGAW773E/s400/LOD_02.jpeg" border="0" alt=""id="BLOGGER_PHOTO_ID_5367341200919420834" /&gt;&lt;/a&gt;&lt;br /&gt;Of course, first thing I did was to look for ABAP courses -;) I might be a Project Manager but still I'm crazy about ABAP Development.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_eKAKUbdu3CI/SnyiBfh5DYI/AAAAAAAABLA/4UtnHhBWxPs/s1600-h/LOD_03.jpeg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 202px;" src="http://1.bp.blogspot.com/_eKAKUbdu3CI/SnyiBfh5DYI/AAAAAAAABLA/4UtnHhBWxPs/s400/LOD_03.jpeg" border="0" alt=""id="BLOGGER_PHOTO_ID_5367343002446007682" /&gt;&lt;/a&gt;&lt;br /&gt;I found &lt;span style="font-weight:bold;"&gt;TAW11 - ABAP Details&lt;/span&gt; and start reading it...it's very well done, easy to follow and with useful information.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_eKAKUbdu3CI/SnyiTB5m4ZI/AAAAAAAABLI/Ek37nqbdyXg/s1600-h/LOD_04.jpeg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 200px;" src="http://1.bp.blogspot.com/_eKAKUbdu3CI/SnyiTB5m4ZI/AAAAAAAABLI/Ek37nqbdyXg/s400/LOD_04.jpeg" border="0" alt=""id="BLOGGER_PHOTO_ID_5367343303730061714" /&gt;&lt;/a&gt;&lt;br /&gt;Something I really liked was the fact that I was expecting just a bunch of Power Point slides...but in fact, it's a bunch of slides with voice -:)&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_eKAKUbdu3CI/Snyi-2RQ-dI/AAAAAAAABLQ/f8znOJeCJ70/s1600-h/LOD_05.jpeg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 297px;" src="http://2.bp.blogspot.com/_eKAKUbdu3CI/Snyi-2RQ-dI/AAAAAAAABLQ/f8znOJeCJ70/s400/LOD_05.jpeg" border="0" alt=""id="BLOGGER_PHOTO_ID_5367344056522308050" /&gt;&lt;/a&gt;&lt;br /&gt;I think that &lt;span style="font-weight:bold;"&gt;LoD&lt;/span&gt; is a great idea...a place where you can learn various topics, with very good material. My recommendation...let it get more mature and then buy your subscription. Being a fairly new service, it needs to fix some thing and maintain a bigger library... &lt;br /&gt;&lt;br /&gt;Greetings,&lt;br /&gt;&lt;br /&gt;Blag.&lt;br /&gt;&lt;/DIV&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4144704359177008692-7758058682986268588?l=blagrants.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blagrants.blogspot.com/feeds/7758058682986268588/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4144704359177008692&amp;postID=7758058682986268588' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/7758058682986268588'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/7758058682986268588'/><link rel='alternate' type='text/html' href='http://blagrants.blogspot.com/2009/08/learning-on-demand-by-sap.html' title='Learning on Demand by SAP'/><author><name>Alvaro "Blag" Tejada Galindo</name><uri>http://www.blogger.com/profile/12061593528820409779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='https://weblogs.sdn.sap.com/images/people/alvaro_tajeda.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_eKAKUbdu3CI/SnyYqaCJB9I/AAAAAAAABKw/qeifeOP0do4/s72-c/LOD_01.jpeg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4144704359177008692.post-2972182307386886882</id><published>2009-08-06T07:47:00.000-07:00</published><updated>2009-08-06T07:50:17.932-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Rant'/><category scheme='http://www.blogger.com/atom/ns#' term='Twitter'/><title type='text'>Twitter is down...but don't panic...</title><content type='html'>&lt;DIV ALIGN="JUSTIFY"&gt;&lt;br /&gt;Believe it or not...&lt;a href="http://www.twitter.com"&gt;Twitter&lt;/a&gt; is down again...so what can we do now?&lt;br /&gt;&lt;br /&gt;Relax...there's always a nice and elegant solution to this kind of critic problems...just visit this site... &lt;a href="http://whentwitterisdown.com/"&gt;When Twitter is down&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Greetings,&lt;br /&gt;&lt;br /&gt;Blag.&lt;br /&gt;&lt;/DIV&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4144704359177008692-2972182307386886882?l=blagrants.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blagrants.blogspot.com/feeds/2972182307386886882/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4144704359177008692&amp;postID=2972182307386886882' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/2972182307386886882'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/2972182307386886882'/><link rel='alternate' type='text/html' href='http://blagrants.blogspot.com/2009/08/twitter-is-downbut-dont-panic.html' title='Twitter is down...but don&apos;t panic...'/><author><name>Alvaro "Blag" Tejada Galindo</name><uri>http://www.blogger.com/profile/12061593528820409779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='https://weblogs.sdn.sap.com/images/people/alvaro_tajeda.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4144704359177008692.post-7520450478424415181</id><published>2009-08-01T07:42:00.000-07:00</published><updated>2009-08-01T07:52:43.221-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Sports'/><category scheme='http://www.blogger.com/atom/ns#' term='Weird_Stuff'/><category scheme='http://www.blogger.com/atom/ns#' term='Wii'/><title type='text'>This post sucks...I know that...</title><content type='html'>&lt;DIV ALIGN="JUSTIFY"&gt;&lt;br /&gt;Sure, this post sucks...but I don't really care -:)&lt;br /&gt;&lt;br /&gt;I been playing &lt;a href="http://www.nintendo.com/games/detail/1OTtO06SP7M52gi5m8pD6CnahbW8CzxE"&gt;Wii Sports&lt;/a&gt; today...and after 1 hour and a lot of sweat I come to a wonderful idea...if this had been done before...don't tell coz I don't care, I'm going to do this anyway...&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_eKAKUbdu3CI/SnRWDs9tioI/AAAAAAAABKY/2su-7Gy0Ggs/s1600-h/wiisports1.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 327px;" src="http://2.bp.blogspot.com/_eKAKUbdu3CI/SnRWDs9tioI/AAAAAAAABKY/2su-7Gy0Ggs/s400/wiisports1.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5365007677714696834" /&gt;&lt;/a&gt;&lt;br /&gt;So...what I'm going to do? Easy fellas...this are my stats to today&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;1/08/2009 --&gt; Wii Age: 61 --&gt; Weight: 89,9 Kilos (196.211 lb). &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;So I'm going to keep playing everyday (In the morning before I go to work) and keep track of my progress. Of course I'm not planning to post everyday...next month...September 1st I'm going to post my results...and I'm going to loose some weight? gain more muscles? get more handsome? Let's find out in a month -:)&lt;br /&gt;&lt;br /&gt;BTW...Nintendo is not paying me a dime for making this kind of promotion to Wii Sports...I really thing they should...so they are free to mail me so we can get a marketing deal...some free Wii games maybe?&lt;br /&gt;&lt;br /&gt;Greetings,&lt;br /&gt;&lt;br /&gt;Blag.&lt;br /&gt;&lt;/DIV&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4144704359177008692-7520450478424415181?l=blagrants.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blagrants.blogspot.com/feeds/7520450478424415181/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4144704359177008692&amp;postID=7520450478424415181' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/7520450478424415181'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/7520450478424415181'/><link rel='alternate' type='text/html' href='http://blagrants.blogspot.com/2009/08/this-post-sucksi-know-that.html' title='This post sucks...I know that...'/><author><name>Alvaro "Blag" Tejada Galindo</name><uri>http://www.blogger.com/profile/12061593528820409779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='https://weblogs.sdn.sap.com/images/people/alvaro_tajeda.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_eKAKUbdu3CI/SnRWDs9tioI/AAAAAAAABKY/2su-7Gy0Ggs/s72-c/wiisports1.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4144704359177008692.post-5150401257802618424</id><published>2009-06-18T08:18:00.000-07:00</published><updated>2009-06-18T09:25:43.615-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='misc'/><category scheme='http://www.blogger.com/atom/ns#' term='Games'/><category scheme='http://www.blogger.com/atom/ns#' term='BlackBerry'/><title type='text'>My favorite BlackBerry apps...and games...</title><content type='html'>&lt;DIV ALIGN="JUSTIFY"&gt;&lt;br /&gt;I own a BlackBerry Pearl 8100 with OS 4.5.0.108 and had download this wonderful app's and games -:)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;&lt;a href="http://www.mobilerated.com/zum-zum-3164.html"&gt;Zum-Zum&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_eKAKUbdu3CI/SjphQo76fvI/AAAAAAAABH4/C2yTAg_gwpQ/s1600-h/Zum_Zum.jpeg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:left;cursor:pointer; cursor:hand;width: 175px; height: 208px;" src="http://1.bp.blogspot.com/_eKAKUbdu3CI/SjphQo76fvI/AAAAAAAABH4/C2yTAg_gwpQ/s400/Zum_Zum.jpeg" border="0" alt=""id="BLOGGER_PHOTO_ID_5348694445950402290" /&gt;&lt;/a&gt;&lt;br /&gt;Great, fun and difficult game.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;&lt;a href="http://www.mobilerated.com/jetris-1914.html"&gt;Jetris&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_eKAKUbdu3CI/Sjph9-uuMCI/AAAAAAAABIA/7OVPMb69ZyA/s1600-h/Jetris.jpeg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 176px; height: 222px;" src="http://2.bp.blogspot.com/_eKAKUbdu3CI/Sjph9-uuMCI/AAAAAAAABIA/7OVPMb69ZyA/s400/Jetris.jpeg" border="0" alt=""id="BLOGGER_PHOTO_ID_5348695224894763042" /&gt;&lt;/a&gt;&lt;br /&gt;A Tetris clone...everybody loves Tetris -;)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;&lt;a href="http://www.mobilerated.com/quickstopwatch-4117.html"&gt;Quick Stop Watch&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_eKAKUbdu3CI/SjpiQZCOHzI/AAAAAAAABII/HeWPKOQJKBQ/s1600-h/QuickStopWatch.jpeg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 200px; height: 263px;" src="http://4.bp.blogspot.com/_eKAKUbdu3CI/SjpiQZCOHzI/AAAAAAAABII/HeWPKOQJKBQ/s400/QuickStopWatch.jpeg" border="0" alt=""id="BLOGGER_PHOTO_ID_5348695541193514802" /&gt;&lt;/a&gt;&lt;br /&gt;Simple and useful stop watch application.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;&lt;a href="http://blackberry.theweathernetwork.com"&gt;The Weather Network&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_eKAKUbdu3CI/Sjpihw_sxdI/AAAAAAAABIQ/c9DEDn-e07s/s1600-h/TheWeatherNetwork.jpeg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 169px; height: 142px;" src="http://4.bp.blogspot.com/_eKAKUbdu3CI/Sjpihw_sxdI/AAAAAAAABIQ/c9DEDn-e07s/s400/TheWeatherNetwork.jpeg" border="0" alt=""id="BLOGGER_PHOTO_ID_5348695839683167698" /&gt;&lt;/a&gt;&lt;br /&gt;It's raining Mike...it's raining...&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Medieval Kings Chess 2&lt;/span&gt;&lt;br /&gt;(Go to &lt;a href="Mobile.BlackBerry.com"&gt;Mobile.BlackBerry.com&lt;/a&gt; then Games and finally Free Games.)&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_eKAKUbdu3CI/Sjpi5H5hsEI/AAAAAAAABIY/8SHFV6MuYaY/s1600-h/Medieval_Kings_Chess_2.jpeg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 220px; height: 222px;" src="http://2.bp.blogspot.com/_eKAKUbdu3CI/Sjpi5H5hsEI/AAAAAAAABIY/8SHFV6MuYaY/s400/Medieval_Kings_Chess_2.jpeg" border="0" alt=""id="BLOGGER_PHOTO_ID_5348696240968282178" /&gt;&lt;/a&gt;&lt;br /&gt;Totally awesome game! I suck at Chess...and still love this game -;)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;&lt;a href="http://www.bennychow.com/download/blackberry_pacman.zip"&gt;Pacman&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_eKAKUbdu3CI/SjpjL448wjI/AAAAAAAABIg/4mppTngNlDk/s1600-h/Pacman.jpeg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 243px; height: 174px;" src="http://4.bp.blogspot.com/_eKAKUbdu3CI/SjpjL448wjI/AAAAAAAABIg/4mppTngNlDk/s400/Pacman.jpeg" border="0" alt=""id="BLOGGER_PHOTO_ID_5348696563356844594" /&gt;&lt;/a&gt;&lt;br /&gt;Great clone of an all time classic game.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;&lt;a href="http://www.opera.com/mini/download/"&gt;Opera Mini&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_eKAKUbdu3CI/SjpkCijsZWI/AAAAAAAABIo/yHARPAAGUx4/s1600-h/Opera+Mini.jpeg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 238px; height: 317px;" src="http://3.bp.blogspot.com/_eKAKUbdu3CI/SjpkCijsZWI/AAAAAAAABIo/yHARPAAGUx4/s400/Opera+Mini.jpeg" border="0" alt=""id="BLOGGER_PHOTO_ID_5348697502254916962" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Best Berry browser...&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;&lt;a href="m.google.com"&gt;Google Mobile App&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_eKAKUbdu3CI/SjplFVuiVSI/AAAAAAAABIw/UYR0lu6888s/s1600-h/Google_Mobile.jpeg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 316px; height: 238px;" src="http://4.bp.blogspot.com/_eKAKUbdu3CI/SjplFVuiVSI/AAAAAAAABIw/UYR0lu6888s/s400/Google_Mobile.jpeg" border="0" alt=""id="BLOGGER_PHOTO_ID_5348698649861969186" /&gt;&lt;/a&gt;&lt;br /&gt;A must have! Includes GMail, GMaps, News, Reader, Calendar, Docs, Photos, Notebook.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;&lt;a href="m.google.com/sync"&gt;Google Sync&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_eKAKUbdu3CI/SjpnlB_2_bI/AAAAAAAABI4/1KzTbOepPaE/s1600-h/Google_Sync.jpeg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 245px; height: 225px;" src="http://3.bp.blogspot.com/_eKAKUbdu3CI/SjpnlB_2_bI/AAAAAAAABI4/1KzTbOepPaE/s400/Google_Sync.jpeg" border="0" alt=""id="BLOGGER_PHOTO_ID_5348701393344986546" /&gt;&lt;/a&gt;&lt;br /&gt;Sync your google stuff with you Berry...stay always update -;)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;&lt;a href="http://m.mobipocket.com/"&gt;Mobipocker Reader&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_eKAKUbdu3CI/SjpqS63xubI/AAAAAAAABJA/n0csgkX_bfI/s1600-h/MobiPocker_Reader.jpeg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 319px; height: 238px;" src="http://1.bp.blogspot.com/_eKAKUbdu3CI/SjpqS63xubI/AAAAAAAABJA/n0csgkX_bfI/s400/MobiPocker_Reader.jpeg" border="0" alt=""id="BLOGGER_PHOTO_ID_5348704380729276850" /&gt;&lt;/a&gt;&lt;br /&gt;I just can't live without this! Read PDF books on your Berry! -:D&lt;br /&gt;&lt;br /&gt;Got any other &lt;span style="font-weight:bold;"&gt;free&lt;/span&gt; great App or Game? Please let me know -:)&lt;br /&gt;&lt;br /&gt;Greetings,&lt;br /&gt;&lt;br /&gt;Blag.&lt;br /&gt;&lt;/DIV&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4144704359177008692-5150401257802618424?l=blagrants.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blagrants.blogspot.com/feeds/5150401257802618424/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4144704359177008692&amp;postID=5150401257802618424' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/5150401257802618424'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/5150401257802618424'/><link rel='alternate' type='text/html' href='http://blagrants.blogspot.com/2009/06/my-favorite-blackberry-appsand-games.html' title='My favorite BlackBerry apps...and games...'/><author><name>Alvaro "Blag" Tejada Galindo</name><uri>http://www.blogger.com/profile/12061593528820409779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='https://weblogs.sdn.sap.com/images/people/alvaro_tajeda.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_eKAKUbdu3CI/SjphQo76fvI/AAAAAAAABH4/C2yTAg_gwpQ/s72-c/Zum_Zum.jpeg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4144704359177008692.post-625278603798902345</id><published>2009-06-11T04:44:00.000-07:00</published><updated>2009-06-11T04:54:52.998-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='TechEd_2009'/><category scheme='http://www.blogger.com/atom/ns#' term='BlackBerry'/><title type='text'>TechEd Phoenix Countdown for BlackBerry</title><content type='html'>&lt;DIV ALIGN="JUSTIFY"&gt;&lt;br /&gt;If you follow &lt;a href="http://www.twitter.com/Blag"&gt;me&lt;/a&gt; on &lt;a href="http://www.twitter.com"&gt;Twitter&lt;/a&gt; you might know that I bought myself an BlackBerry Pearl 8100 cellphone...my first smartphone BTW...&lt;br /&gt;&lt;br /&gt;First thing I do, of course, was to download some needed applications and games...but also download the &lt;a href="https://www.blackberry.com/Downloads/contactFormPreload.do?code=DC727151E5D55DDE1E950767CF861CA5&amp;dl=AC44596FD197101932FFB572DFBC129C"&gt;Eclipse Plug-In&lt;/a&gt; that allows you to program applications for the Berry.&lt;br /&gt;&lt;br /&gt;As you might remember, I build an &lt;a href="http://blagrants.blogspot.com/2009/02/new-downloads-on-blag-software.html"&gt;SAP TechEd Phoenix 2009 countdown&lt;/a&gt; using &lt;a href="http://www.adobe.com/products/air/"&gt;Adobe AIR&lt;/a&gt; so this time I wanted to build the same but using Java for BlackBerry.&lt;br /&gt;&lt;br /&gt;From my development experience...I gotta say that it took me too little modifications to translate the ActionScript version to the Java version...so programming for the Berry is both easy and fun -:)&lt;br /&gt;&lt;br /&gt;Wanna tried it? Download it &lt;a href="http://www.box.net/shared/zdg97uzxzf"&gt;here&lt;/a&gt;. It includes the .ALX and .COD files so you better need to use the &lt;a href="http://na.blackberry.com/services/desktop/"&gt;Desktop Manager&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;BTW...it's a very simple app...but what do you expect from a countdown app? -:)&lt;br /&gt;&lt;br /&gt;Greetings,&lt;br /&gt;&lt;br /&gt;Blag.&lt;br /&gt;&lt;/DIV&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4144704359177008692-625278603798902345?l=blagrants.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blagrants.blogspot.com/feeds/625278603798902345/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4144704359177008692&amp;postID=625278603798902345' title='2 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/625278603798902345'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/625278603798902345'/><link rel='alternate' type='text/html' href='http://blagrants.blogspot.com/2009/06/teched-phoenix-countdown-for-blackberry.html' title='TechEd Phoenix Countdown for BlackBerry'/><author><name>Alvaro "Blag" Tejada Galindo</name><uri>http://www.blogger.com/profile/12061593528820409779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='https://weblogs.sdn.sap.com/images/people/alvaro_tajeda.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4144704359177008692.post-3623573097317699680</id><published>2009-05-23T18:05:00.000-07:00</published><updated>2009-05-23T18:18:21.035-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='AIR'/><category scheme='http://www.blogger.com/atom/ns#' term='Ruby'/><category scheme='http://www.blogger.com/atom/ns#' term='Flex'/><title type='text'>Blag's Flex 3 compiler - Executable edition</title><content type='html'>&lt;DIV ALIGN="JUSTIFY"&gt;&lt;br /&gt;Last year, I wrote a blog on SCN titled &lt;a href="https://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/9204"&gt;Blag's Flex 3 Compiler&lt;/a&gt; which was basically, a Ruby application using &lt;a href="http://wxruby.rubyforge.org/wiki/wiki.pl"&gt;WxRuby&lt;/a&gt; for the GUI and &lt;a href="http://opensource.adobe.com/wiki/display/flexsdk/Download+Flex+3"&gt;Flex 3 SDK&lt;/a&gt; to compile Flex and AIR applications.&lt;br /&gt;&lt;br /&gt;You may wondering why I'm posting again after 1 long year...easy...I finally could get an .EXE version working.&lt;br /&gt;&lt;br /&gt;When I first developed the compiler I tried to build an .EXE using &lt;a href="http://www.erikveen.dds.nl/rubyscript2exe/"&gt;RubyScript2Exe&lt;/a&gt; and &lt;a href="http://exerb.sourceforge.jp/index.en.html"&gt;Exerb&lt;/a&gt;, which are amazing Ruby to .EXE scripts...but both failed when I came to &lt;a href="http://wxruby.rubyforge.org/wiki/wiki.pl"&gt;WxRuby&lt;/a&gt;...&lt;br /&gt;&lt;br /&gt;A couple of days ago...I found &lt;a href="http://rubyforge.org/projects/ocra/"&gt;Ocra&lt;/a&gt;. Gotta say this...Ocra rules badly! It's fast, compiles anything and most important...keep the generated .EXE files relatively very small...&lt;br /&gt;&lt;br /&gt;So, here the link for the compiler...And don't forget to read the README file -;)&lt;br /&gt;&lt;br /&gt;&lt;div align="center"&gt;&lt;a href="http://www.box.net/shared/dd8zilqgzj"&gt;Blag's Flex 3 Compiler&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Greetings,&lt;br /&gt;&lt;br /&gt;Blag.&lt;br /&gt;&lt;/DIV&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4144704359177008692-3623573097317699680?l=blagrants.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blagrants.blogspot.com/feeds/3623573097317699680/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4144704359177008692&amp;postID=3623573097317699680' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/3623573097317699680'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/3623573097317699680'/><link rel='alternate' type='text/html' href='http://blagrants.blogspot.com/2009/05/blags-flex-3-compiler-executable.html' title='Blag&apos;s Flex 3 compiler - Executable edition'/><author><name>Alvaro "Blag" Tejada Galindo</name><uri>http://www.blogger.com/profile/12061593528820409779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='https://weblogs.sdn.sap.com/images/people/alvaro_tajeda.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4144704359177008692.post-5081317925685394115</id><published>2009-05-18T06:51:00.000-07:00</published><updated>2009-05-18T09:51:48.801-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Rant'/><title type='text'>Is this good for you? It isn't for me...</title><content type='html'>&lt;DIV ALIGN="JUSTIFY"&gt;&lt;br /&gt;Ok...Let's drop a story that might be or not true...&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;One day, Consultant X working for Company A is asked to develop a course for company B. They told Consultant X that the course should last 4 days. As Consultant X knows how consultancy works he prepare the course for 5 days. He finishes the course and send it to Company B.&lt;br /&gt;&lt;br /&gt;After 2 weeks, Company A call Consultant X asking him, if he had finished the slides for the 10 days course...10 days, Consultant X asks...Yes, 10 days Company A answers...didn't we told you? No, answers Consultant X clearly annoyed...And I can modify my slides because I'm currently assigned to another project. No problem said Company A, we're going to assign Consultant Y, because we need to give the slides to Company B in two days.&lt;br /&gt;&lt;br /&gt;Consultant X talks to Consultant Y who is taken by surprise...the day before, he could only delivered 6 slides, and promise the other 4 for end of the weekend.&lt;br /&gt;&lt;br /&gt;After that Consultant X realizes that Company A plans to give the teaching of the course to Consultant B...8 classes for him and 2 for Consultant B, also Company B wants to left no trace of Company A or Consultant A and B on the slides. They seem to have bought not only a course, but all the content of the slides.&lt;br /&gt;&lt;br /&gt;Everything gets a weird turn, because Consultant A is currently on a project and Consultant B is going to assign to a new project so he told Consultant A, that he's not going to be able to give the course...so who's going to make it? Ask Consultant A even more annoyed...I really don't know, but I don't think it's our problem anymore, answers Consultant B, also annoyed.&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;So...do you think it's fair to ask a Consultant to develop a course, that's is not going to be own by him anymore and it's doesn't even going to be teach by him? I don't think so...one think is to sell IP of programs developed in a Company because they paying for consulting work and after all they are going to use the applications developed...but if you buy a course...can you claim to be the owner of this course? Can you cheat you worker to develop a course that is going to be sold without his permission? In this case, there's nothing else to do...you have been cheated and need to face the consequences...the course doesn't belong to you anymore...so the only decent thing to do, it's refuse to teach it is they ask you...&lt;br /&gt;&lt;br /&gt;This story might be true or false...it can happen to you or me...in this world of consulting, you have to be aware of everything, because you don't know when the odds are going to play against you...&lt;br /&gt;&lt;br /&gt;Greetings,&lt;br /&gt;&lt;br /&gt;Blag. &lt;br /&gt;&lt;/DIV&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4144704359177008692-5081317925685394115?l=blagrants.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blagrants.blogspot.com/feeds/5081317925685394115/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4144704359177008692&amp;postID=5081317925685394115' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/5081317925685394115'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/5081317925685394115'/><link rel='alternate' type='text/html' href='http://blagrants.blogspot.com/2009/05/is-this-good-for-you-it-isnt-for-me.html' title='Is this good for you? It isn&apos;t for me...'/><author><name>Alvaro "Blag" Tejada Galindo</name><uri>http://www.blogger.com/profile/12061593528820409779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='https://weblogs.sdn.sap.com/images/people/alvaro_tajeda.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4144704359177008692.post-299044433896271085</id><published>2009-04-30T03:58:00.001-07:00</published><updated>2009-04-30T04:22:37.917-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='TechEd_2009'/><category scheme='http://www.blogger.com/atom/ns#' term='Rant'/><category scheme='http://www.blogger.com/atom/ns#' term='SAP'/><category scheme='http://www.blogger.com/atom/ns#' term='SCN'/><category scheme='http://www.blogger.com/atom/ns#' term='SAP_Mentors'/><title type='text'>If you hit F5 enough...you might see me...</title><content type='html'>&lt;DIV ALIGN="JUSTIFY"&gt;&lt;br /&gt;This is something that I had been requested for a very long time...but of course I can't take the credit...maybe it's just a simple coincidence...but anyway, the fact is that I think that it's a wonderful idea!&lt;br /&gt;&lt;br /&gt;So what it is? Basically, replace the old static picture of the &lt;a href="http://www.sapteched.com/usa/"&gt;TechEd Homepage&lt;/a&gt; with dynamic pictures of the &lt;a href="https://www.sdn.sap.com/irj/sdn/sapmentors"&gt;SAP Mentors&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Now, if you hit F5 enough...you might see me -;)&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_eKAKUbdu3CI/SfmILGrQwwI/AAAAAAAABEk/0o5n9DexYXg/s1600-h/Blag_TechEd_Phoenix_09.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 290px;" src="http://4.bp.blogspot.com/_eKAKUbdu3CI/SfmILGrQwwI/AAAAAAAABEk/0o5n9DexYXg/s400/Blag_TechEd_Phoenix_09.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5330441358321697538" /&gt;&lt;/a&gt;&lt;br /&gt;Greetings,&lt;br /&gt;&lt;br /&gt;Blag.&lt;br /&gt;&lt;/DIV&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4144704359177008692-299044433896271085?l=blagrants.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blagrants.blogspot.com/feeds/299044433896271085/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4144704359177008692&amp;postID=299044433896271085' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/299044433896271085'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/299044433896271085'/><link rel='alternate' type='text/html' href='http://blagrants.blogspot.com/2009/04/if-you-hit-f5-enoughyou-might-see-me.html' title='If you hit F5 enough...you might see me...'/><author><name>Alvaro "Blag" Tejada Galindo</name><uri>http://www.blogger.com/profile/12061593528820409779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='https://weblogs.sdn.sap.com/images/people/alvaro_tajeda.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_eKAKUbdu3CI/SfmILGrQwwI/AAAAAAAABEk/0o5n9DexYXg/s72-c/Blag_TechEd_Phoenix_09.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4144704359177008692.post-7938847414607844790</id><published>2009-04-29T17:34:00.000-07:00</published><updated>2009-04-29T18:07:32.423-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Games'/><title type='text'>Legends of Zork</title><content type='html'>&lt;DIV ALIGN="JUSTIFY"&gt;&lt;br /&gt;A couple of weeks ago I started playing &lt;a href="http://www.legendsofzork.com"&gt;Legends of Zork&lt;/a&gt;. But wait a minute...don't think that it's a new version of the all time hall of fame game &lt;a href="http://en.wikipedia.org/wiki/Zork"&gt;Zork&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.legendsofzork.com"&gt;Legends of Zork&lt;/a&gt; is a nice game, web based, created by &lt;a href="http://joltonline.com/"&gt;Jolt Online&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_eKAKUbdu3CI/Sfjzq0Bqv0I/AAAAAAAABD0/LiWzpjADGDs/s1600-h/LegendsofZork_01.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 203px;" src="http://4.bp.blogspot.com/_eKAKUbdu3CI/Sfjzq0Bqv0I/AAAAAAAABD0/LiWzpjADGDs/s400/LegendsofZork_01.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5330278075838676802" /&gt;&lt;/a&gt;&lt;br /&gt;When we log in, we are presented to a map so we can choose our destination.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_eKAKUbdu3CI/Sfj0gecV3sI/AAAAAAAABD8/Vmha7MdVjic/s1600-h/LegendsofZork_02.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 265px;" src="http://1.bp.blogspot.com/_eKAKUbdu3CI/Sfj0gecV3sI/AAAAAAAABD8/Vmha7MdVjic/s400/LegendsofZork_02.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5330278997757910722" /&gt;&lt;/a&gt;&lt;br /&gt;When we explore a territory, we can see our status (life points, money, number of action points and experience points).&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_eKAKUbdu3CI/Sfj1ISxm4QI/AAAAAAAABEE/Vs237iXIewQ/s1600-h/LegendsofZork_03.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 304px;" src="http://2.bp.blogspot.com/_eKAKUbdu3CI/Sfj1ISxm4QI/AAAAAAAABEE/Vs237iXIewQ/s400/LegendsofZork_03.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5330279681820647682" /&gt;&lt;/a&gt;&lt;br /&gt;In fights, there nothing we can do...only wish that our power, armor and statistics helps us to beat the monsters. Anyway...it's fun to watch how many points you lost trying to beat them up.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_eKAKUbdu3CI/Sfj3Q1ndHzI/AAAAAAAABEM/JihM267Xx_M/s1600-h/LegendsofZork_04.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 349px;" src="http://3.bp.blogspot.com/_eKAKUbdu3CI/Sfj3Q1ndHzI/AAAAAAAABEM/JihM267Xx_M/s400/LegendsofZork_04.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5330282027635515186" /&gt;&lt;/a&gt;&lt;br /&gt;While fighting, you can be lucky to find the mysterious Fanucci cards...which can grant you more power (Body, mind or spirit).&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_eKAKUbdu3CI/Sfj4W43h4xI/AAAAAAAABEU/a547by2eGUM/s1600-h/LegendsofZork_05.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 305px;" src="http://3.bp.blogspot.com/_eKAKUbdu3CI/Sfj4W43h4xI/AAAAAAAABEU/a547by2eGUM/s400/LegendsofZork_05.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5330283231099085586" /&gt;&lt;/a&gt; &lt;br /&gt;So, if you asked me...sure I love this game...it's not a fancy game with 3D blasting graphics...but surely going to give you a lot of fun -;)&lt;br /&gt;&lt;br /&gt;Greetings,&lt;br /&gt;&lt;br /&gt;Blag.&lt;br /&gt;&lt;/DIV&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4144704359177008692-7938847414607844790?l=blagrants.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blagrants.blogspot.com/feeds/7938847414607844790/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4144704359177008692&amp;postID=7938847414607844790' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/7938847414607844790'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/7938847414607844790'/><link rel='alternate' type='text/html' href='http://blagrants.blogspot.com/2009/04/legends-of-zork.html' title='Legends of Zork'/><author><name>Alvaro "Blag" Tejada Galindo</name><uri>http://www.blogger.com/profile/12061593528820409779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='https://weblogs.sdn.sap.com/images/people/alvaro_tajeda.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_eKAKUbdu3CI/Sfjzq0Bqv0I/AAAAAAAABD0/LiWzpjADGDs/s72-c/LegendsofZork_01.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4144704359177008692.post-8547332784787334891</id><published>2009-04-24T07:11:00.000-07:00</published><updated>2009-04-24T07:33:24.819-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='charity'/><category scheme='http://www.blogger.com/atom/ns#' term='Role_Models'/><title type='text'>Kudos to Craig Cmehil and FMR24H!!!</title><content type='html'>&lt;DIV ALIGN="JUSTIFY"&gt;&lt;br /&gt;What &lt;a href="https://www.sdn.sap.com/irj/scn/wiki?path=/display/profile/Craig+Cmehil"&gt;Craig Cmehil&lt;/a&gt; started yesterday April 23 of 2009, was completely awesome...He stayed awake for 24 hours! Transmitting live from his house just to support &lt;a href="http://doctorswithoutborders.org/"&gt;Doctors without Borders&lt;/a&gt; (Doctors and nurses volunteer to provide urgent medical care in countries to victims of war and disaster regardless of race, religion, or politics.)&lt;br /&gt;&lt;br /&gt;His initial target was to collect $2,000 to give them away to those amazing people trying to make this world a better place...How much he get after 24 hours? The amazing amount of $4,412 and still counting.&lt;br /&gt;&lt;br /&gt;Wanna see the link? Here it is &lt;a href="http://fridaymorningreport.tv/live.html"&gt;FMR24H&lt;/a&gt;, but of course, don't expect Craig to keep transmitting...He must be sleeping and recovering forces...He truly deserves it.&lt;br /&gt;&lt;br /&gt;Gotta say that Craig is an &lt;a href="https://www.sdn.sap.com/irj/sdn/sapmentors"&gt;SAP Mentor&lt;/a&gt; just like me and many other friends...so apart from my donation to the cause, I drop him a nice &lt;a href="http://blagbert.blogspot.com"&gt;Blagbert&lt;/a&gt; cartoon&lt;br /&gt;called &lt;a href="http://blagbert.blogspot.com/2009/04/blagbert-25-craig-cmehil-and-fmr-25.html"&gt;Craig Cmehil and FMR 24 hours marathon&lt;/a&gt;, also &lt;a href="http://www.accmanpro.com/about/"&gt;Dennis Howlett&lt;/a&gt; build a cool video called &lt;a href="http://animoto.com/play/QUCmP6q81IMQoAfOTBCXUw?autostart=true"&gt;Craig Cemhil's 24 hour show raising awareness and money for Doctors without Borders&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Of course I took a little screen shot, so you could see him in action -;)&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_eKAKUbdu3CI/SfHMIjPvA-I/AAAAAAAABDk/CBtnnt-oNrE/s1600-h/Craig_on_FMR.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 290px;" src="http://1.bp.blogspot.com/_eKAKUbdu3CI/SfHMIjPvA-I/AAAAAAAABDk/CBtnnt-oNrE/s400/Craig_on_FMR.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5328264281428263906" /&gt;&lt;/a&gt;&lt;br /&gt;Last words...Craig, you do such an amazing job...I once had to stay awake for 24 hours at work...so I totally understand that you put all your heart and soul in this...specially because you did it for the better good. You're such an example to follow, a role model and really, really good friend -:')&lt;br /&gt;&lt;br /&gt;Greetings,&lt;br /&gt;&lt;br /&gt;Blag.&lt;br /&gt;&lt;/DIV&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4144704359177008692-8547332784787334891?l=blagrants.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blagrants.blogspot.com/feeds/8547332784787334891/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4144704359177008692&amp;postID=8547332784787334891' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/8547332784787334891'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/8547332784787334891'/><link rel='alternate' type='text/html' href='http://blagrants.blogspot.com/2009/04/kudos-to-craig-cmehil-and-fmr24h.html' title='Kudos to Craig Cmehil and FMR24H!!!'/><author><name>Alvaro "Blag" Tejada Galindo</name><uri>http://www.blogger.com/profile/12061593528820409779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='https://weblogs.sdn.sap.com/images/people/alvaro_tajeda.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_eKAKUbdu3CI/SfHMIjPvA-I/AAAAAAAABDk/CBtnnt-oNrE/s72-c/Craig_on_FMR.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4144704359177008692.post-2142514230541109988</id><published>2009-04-21T13:10:00.000-07:00</published><updated>2009-04-21T13:15:36.918-07:00</updated><title type='text'>Excuse me...Can I have 30+ seconds of your time?</title><content type='html'>&lt;DIV ALIGN="JUSTIFY"&gt;&lt;br /&gt;&lt;p&gt;Our beloved &lt;a href="https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.sdn.businesscard.SDNBusinessCard?u=Vi4aCAMmuX4%3D" target="_blank"&gt;Craig Cmehil&lt;/a&gt; wrote a blog called &lt;a href="https://weblogs.sdn.sap.com/pub/wlg/13969" target="_blank"&gt;You and your 30 seconds!&lt;/a&gt; Asking us to produce a 30+ seconds video with us talking about ourselves.&lt;/p&gt;&lt;p&gt;Why I think this is important?&lt;/p&gt;&lt;p&gt;1.- It's always fun to shoot a video.&lt;/p&gt;&lt;p&gt;2.- It's nice to about yourself -;)&lt;/p&gt;&lt;p&gt;3.- Actually...You're promoting yourself and helping to gain more visibility.&lt;/p&gt;&lt;p&gt;4.- You're doing for a good cause&lt;/p&gt;&lt;p&gt;So why don't you pick you cam recorder, webcam, camera or whateever and tell us who you are -:)&lt;/p&gt;&lt;object classid="clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B" codebase="http://www.apple.com/qtactivex/qtplugin.cab#version=6,0,2,0" width="300" height="300"&gt;&lt;param name="width" value="300" /&gt;&lt;param name="height" value="300" /&gt;&lt;param name="src" value="http://prod.veodia.com/api/ondemand/I1INdePUYZk.mp4?transport=http&amp;amp;image_on_response=true&amp;amp;profile=320x240x500" /&gt;&lt;embed type="video/quicktime" width="300" height="300" src="http://prod.veodia.com/api/ondemand/I1INdePUYZk.mp4?transport=http&amp;amp;image_on_response=true&amp;amp;profile=320x240x500"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;Be sure to check out the &lt;a href="https://www.sdn.sap.com/irj/scn/wiki?path=/display/Community/30+Seconds" target="_blank"&gt;WIKI&lt;/a&gt;! More cool videos in the making -;)&lt;br /&gt;Greetings,&lt;br /&gt;&lt;br /&gt;Blag.&lt;br /&gt;&lt;/DIV&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4144704359177008692-2142514230541109988?l=blagrants.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blagrants.blogspot.com/feeds/2142514230541109988/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4144704359177008692&amp;postID=2142514230541109988' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/2142514230541109988'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/2142514230541109988'/><link rel='alternate' type='text/html' href='http://blagrants.blogspot.com/2009/04/excuse-mecan-i-have-30-seconds-of-your.html' title='Excuse me...Can I have 30+ seconds of your time?'/><author><name>Alvaro "Blag" Tejada Galindo</name><uri>http://www.blogger.com/profile/12061593528820409779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='https://weblogs.sdn.sap.com/images/people/alvaro_tajeda.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4144704359177008692.post-8289464780171542521</id><published>2009-04-21T08:22:00.000-07:00</published><updated>2009-04-24T13:57:27.493-07:00</updated><title type='text'>Who I had meet at TechEd...And who's missing -:(</title><content type='html'>&lt;DIV ALIGN="JUSTIFY"&gt;&lt;br /&gt;As you may know...I have attend two SAP TechEd events...first was TechEd Las Vegas 2007 and second was TechEd Las Vegas 2008...this year of course I'm attending &lt;a href="http://www.sapteched.com/usa/"&gt;TechEd Phoenix 2009&lt;/a&gt; -;)&lt;br /&gt;&lt;br /&gt;So...I wanted to drop a list of all the people I have meet in real life...caution...this is a very big list -;) in no special order (Sorry if I'm forgetting someone)...and no direct links...I'm kinda lazy you now, and don't want to browse SCN looking for WIKI profiles LOL&lt;br /&gt;&lt;br /&gt;* Mark Yolton&lt;br /&gt;* Marilyn Pratt&lt;br /&gt;* Craig Cmehil&lt;br /&gt;* Graham Robinson&lt;br /&gt;* Dagfinn Parnas&lt;br /&gt;* Ed Hermann&lt;br /&gt;* Rich Heilman&lt;br /&gt;* Thomas Jung&lt;br /&gt;* Stacy Fish&lt;br /&gt;* Dan McWeeney&lt;br /&gt;* Mathias Zeller&lt;br /&gt;* Leonardo de Araujo&lt;br /&gt;* Mike Prosceno&lt;br /&gt;* Jimmy Whales&lt;br /&gt;* Zia Yusuf&lt;br /&gt;* Vishal Sikka&lt;br /&gt;* Marcelo Ramos&lt;br /&gt;* Stefan Thibeault&lt;br /&gt;* Alex Giguere&lt;br /&gt;* Gregor Wolf&lt;br /&gt;* Gretchen Lindquist&lt;br /&gt;* Christine Godek&lt;br /&gt;* Greg Chase&lt;br /&gt;* Jim Spath&lt;br /&gt;* Karin Tillotson&lt;br /&gt;* Amir Blich&lt;br /&gt;* Sonia Tellez &lt;br /&gt;* Bhanu Gupta&lt;br /&gt;* Brian Bischof&lt;br /&gt;* Christopher Solomon&lt;br /&gt;* David Halitsky&lt;br /&gt;* Dennis Howlett&lt;br /&gt;* Harald Reiter&lt;br /&gt;* Ignacio Hernández&lt;br /&gt;* Ingo Hilgefort &lt;br /&gt;* Jon Reed&lt;br /&gt;* Joseph Zeinoun&lt;br /&gt;* Mark Finnern&lt;br /&gt;* Horst Keller&lt;br /&gt;* Thomas Ritter&lt;br /&gt;* Robert Briese&lt;br /&gt;* Somnath Manna&lt;br /&gt;* Suresh Datti&lt;br /&gt;* Vince Kohli &lt;br /&gt;* Lisa London&lt;br /&gt;* Vinnie Mirchandani&lt;br /&gt;* Ryan Quackenboss&lt;br /&gt;* James Governor&lt;br /&gt;* Michael Coté&lt;br /&gt;* Andre Salazar&lt;br /&gt;* Federico Babelis&lt;br /&gt;* Chip Rodgers&lt;br /&gt;* Keith Elliot&lt;br /&gt;* Marco ten Vaanholt&lt;br /&gt;&lt;br /&gt;People I haven't meet yet in real life! -:(&lt;br /&gt;&lt;br /&gt;* Abesh Bhattacharjee&lt;br /&gt;* Anne Kathrine Petteroe&lt;br /&gt;* Anton Wenzelhuemer&lt;br /&gt;* Darren Hague &lt;br /&gt;* Detlev Beutner&lt;br /&gt;* Durairaj Athavan Raja&lt;br /&gt;* Julius Bussche&lt;br /&gt;* Markus Döhr&lt;br /&gt;* Martin Gillet&lt;br /&gt;* Michael Bechauf &lt;br /&gt;* Michael Koch&lt;br /&gt;* Michal Krawczyk&lt;br /&gt;* Mike Pokraka&lt;br /&gt;* Nigel James&lt;br /&gt;* Oliver Kohl&lt;br /&gt;* Richard Hirsch&lt;br /&gt;* Sergio Ferrari&lt;br /&gt;* Tobias Trapp&lt;br /&gt;* Uwe Schieferstein&lt;br /&gt;* Terry West&lt;br /&gt;* Kathy Welch&lt;br /&gt;* Chris Dalby&lt;br /&gt;* Puru Govind&lt;br /&gt;* Luis Felipe Lanz&lt;br /&gt;&lt;br /&gt;As you can see...By attending &lt;a href="http://www.sapteched.com/usa/"&gt;TechEd Phoenix 2009&lt;/a&gt; you could meet a lot of very interested people...but most important...you could meet me! -;)&lt;br /&gt;&lt;br /&gt;Greetings,&lt;br /&gt;&lt;br /&gt;Blag.&lt;br /&gt;&lt;/DIV&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4144704359177008692-8289464780171542521?l=blagrants.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blagrants.blogspot.com/feeds/8289464780171542521/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4144704359177008692&amp;postID=8289464780171542521' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/8289464780171542521'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/8289464780171542521'/><link rel='alternate' type='text/html' href='http://blagrants.blogspot.com/2009/04/who-i-had-meet-at-techedand-whos.html' title='Who I had meet at TechEd...And who&apos;s missing -:('/><author><name>Alvaro "Blag" Tejada Galindo</name><uri>http://www.blogger.com/profile/12061593528820409779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='https://weblogs.sdn.sap.com/images/people/alvaro_tajeda.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4144704359177008692.post-7930472095224155365</id><published>2009-04-03T08:23:00.000-07:00</published><updated>2009-04-03T08:44:26.398-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Rant'/><title type='text'>A little bit about me *Egocentric post warning*</title><content type='html'>&lt;div align="justify"&gt;&lt;br /&gt;Just wanted to take a little time to you a little bit about me...&lt;br /&gt;&lt;br /&gt;* I work as a Senior ABAP Consultant and ABAP Instructor&lt;br /&gt;* I'm an SAP Mentor at &lt;a href="https://www.sdn.sap.com/irj/scn/sapmentors"&gt;SAP Mentors&lt;/a&gt;&lt;br /&gt;* I'm an SAP Blogger at &lt;a href="https://www.sdn.sap.com/irj/scn/wiki?path=/display/profile/Alvaro+Tejada+Galindo"&gt;Blag on SAP Community Network&lt;/a&gt;&lt;br /&gt;* Blogger in Spanish and English at &lt;a href="http://atejada.blogspot.com"&gt;El Blog Tecnológico de Blg&lt;/a&gt; and &lt;a href="http://blagrants.blogspot.com"&gt;Blag's bag of rants&lt;/a&gt;&lt;br /&gt;* I'm a programming books author at &lt;a href="http://www.lulu.com/Blag"&gt;Blag's Store&lt;/a&gt;&lt;br /&gt;* I'm a geek comics author at &lt;a href="http://blagbert.blogspot.com"&gt;Blagbert Comics&lt;/a&gt;&lt;br /&gt;* I'm a Forum moderator at &lt;a href="http://sdn.sap.com"&gt;SAP Community Network&lt;/a&gt; and &lt;a href="http://www.sap4.com"&gt;SAP ABAP en Castellano&lt;/a&gt;&lt;br /&gt;* I'm a freeware developer at &lt;a href="http://blagsoftware.bravehost.com/Home.html"&gt;Blag Software&lt;/a&gt;&lt;br /&gt;* I run an Internet geek show at &lt;a href="http://www.kyte.tv/ch/13281-blag "&gt;The Blag Show&lt;/a&gt;&lt;br /&gt;* I'm married and have a daughter.&lt;br /&gt;* I do programming on ABAP, PHP, Ruby and Flex.&lt;br /&gt;&lt;br /&gt;P.S: I know...This post is really egocentric...But come on! You must promote yourself sometimes -;)&lt;br /&gt;&lt;br /&gt;Greetings,&lt;br /&gt;&lt;br /&gt;Blag.&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4144704359177008692-7930472095224155365?l=blagrants.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blagrants.blogspot.com/feeds/7930472095224155365/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4144704359177008692&amp;postID=7930472095224155365' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/7930472095224155365'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/7930472095224155365'/><link rel='alternate' type='text/html' href='http://blagrants.blogspot.com/2009/04/little-bit-about-me-egocentric-post.html' title='A little bit about me *Egocentric post warning*'/><author><name>Alvaro "Blag" Tejada Galindo</name><uri>http://www.blogger.com/profile/12061593528820409779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='https://weblogs.sdn.sap.com/images/people/alvaro_tajeda.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4144704359177008692.post-1344015365917010702</id><published>2009-04-01T12:26:00.000-07:00</published><updated>2009-04-01T12:51:08.187-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SAP'/><category scheme='http://www.blogger.com/atom/ns#' term='SCN'/><category scheme='http://www.blogger.com/atom/ns#' term='SAP_Mentors'/><title type='text'>SAP Inside Track Lima 2009</title><content type='html'>&lt;div align="justify"&gt;&lt;br /&gt;I know there are still several months for July...But with all Inside Track event coming around the world, I think this is a good time for tell you about...&lt;br /&gt;&lt;br /&gt;&lt;a href="https://www.sdn.sap.com/irj/scn/wiki?path=/display/events/Inside+Track+Lima+2009"&gt;SAP Inside Track Lima 2009 &lt;/a&gt;&lt;br /&gt;&lt;br /&gt;This event is about sharing knowlegde, spreading the word about SAP and it's related technologies, so it's all about you. You giving or attending sessions, you sharing experiences with other SAP professionals.&lt;br /&gt;&lt;br /&gt;So the basic questions...&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Where?&lt;/span&gt; Need to be confirmed, but of course of Lima, Perú.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;When?&lt;/span&gt; Saturday 04, July 2009.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Cost?&lt;/span&gt; Free of couse.&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;&lt;br /&gt;Why?&lt;/span&gt; Because official Community Day is no more. We need to put even more power to local events.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;When can I sign up?&lt;/span&gt; There's a link on the WIKI...but...Here's the direct link: &lt;br /&gt;&lt;br /&gt;&lt;a href="http://creator.zoho.com/blag/inside-track-lima-2009/#Form:InsideTrackLima2009"&gt;For Attendants&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://creator.zoho.com/blag/inside-track-lima-2009-sponsors/#Form:InsideTrackLima2009_Sponsors"&gt;For Sponsors&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Hope to see you there!&lt;br /&gt;&lt;br /&gt;Greetings,&lt;br /&gt;&lt;br /&gt;Blag.&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4144704359177008692-1344015365917010702?l=blagrants.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blagrants.blogspot.com/feeds/1344015365917010702/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4144704359177008692&amp;postID=1344015365917010702' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/1344015365917010702'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/1344015365917010702'/><link rel='alternate' type='text/html' href='http://blagrants.blogspot.com/2009/04/sap-inside-track-lima-2009.html' title='SAP Inside Track Lima 2009'/><author><name>Alvaro "Blag" Tejada Galindo</name><uri>http://www.blogger.com/profile/12061593528820409779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='https://weblogs.sdn.sap.com/images/people/alvaro_tajeda.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4144704359177008692.post-2087963217922411079</id><published>2009-03-15T18:49:00.000-07:00</published><updated>2009-03-15T19:40:49.096-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Movies'/><category scheme='http://www.blogger.com/atom/ns#' term='Rant'/><title type='text'>My "Watchmen" review</title><content type='html'>&lt;div align="justify"&gt;&lt;br /&gt;Ok...When I first saw the Watchmen ad on the street, my thought was..."You really expect me to see some unknown and bad dressed super heroes? No way man...".&lt;br /&gt;&lt;br /&gt;Then, I saw the ad on television and kinda get interested...my thought was..."Ok...This doesn't look bad at all...Maybe I should try it...".&lt;br /&gt;&lt;br /&gt;A couple of days later I was listening to &lt;a href="http://enterprisegeeks.com/blog/podcasts/egeeks_ep9_preparetoqualify.mp3"&gt;Enterprise Geeks Podcast - Prepare to Qualify&lt;/a&gt; and my friend and Geek hero &lt;a href="http://twitter.com/thomas_jung"&gt;Mr. Thomas Jung&lt;/a&gt; was talking about the movie...After that I realized that it was a graphic novel published by DC comics and written by &lt;a href="http://es.wikipedia.org/wiki/Alan_Moore"&gt;Alan Moore&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Before that...my thought was..."You stupid looser! Go to see the movie no matter what!"...So when my wife ask me if I wanted to go to the cinema I told her "Sure, but let's go watch Watchmen".&lt;br /&gt;&lt;br /&gt;Then...The journey began...&lt;br /&gt;&lt;br /&gt;I love everything about the movie...The soundtrack, the special effects, the caracters, the plot...This is now one of my all time favorite movies...A masterpiece...And even when &lt;a href="http://en.wikipedia.org/wiki/Rorschach_(comics)"&gt;Rorschach&lt;/a&gt; is completely insane...He's one of the coolest super heroes I had ever seen.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_eKAKUbdu3CI/Sb27QKBsYoI/AAAAAAAABB8/NpEH7vp6NUk/s1600-h/WatchmenPosterDefinitivoIMAX.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 260px; height: 400px;" src="http://4.bp.blogspot.com/_eKAKUbdu3CI/Sb27QKBsYoI/AAAAAAAABB8/NpEH7vp6NUk/s400/WatchmenPosterDefinitivoIMAX.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5313609021610812034" /&gt;&lt;/a&gt;&lt;br /&gt;If you haven't seen the movie yet...WTF are you waiting for?! This movie rocks in so many levels! -:D&lt;br /&gt;&lt;br /&gt;When we left the cinema my wife told me "We should really need to get this movie on DVD...Wanted to see it again..."&lt;br /&gt;&lt;br /&gt;Me too of course...This is one of the movies that you must see twice...or maybe more...You can't get tired of a movie like this...Really -:)&lt;br /&gt;&lt;br /&gt;Greetings,&lt;br /&gt;&lt;br /&gt;Blag.&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4144704359177008692-2087963217922411079?l=blagrants.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blagrants.blogspot.com/feeds/2087963217922411079/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4144704359177008692&amp;postID=2087963217922411079' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/2087963217922411079'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/2087963217922411079'/><link rel='alternate' type='text/html' href='http://blagrants.blogspot.com/2009/03/my-watchmen-review.html' title='My &quot;Watchmen&quot; review'/><author><name>Alvaro "Blag" Tejada Galindo</name><uri>http://www.blogger.com/profile/12061593528820409779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='https://weblogs.sdn.sap.com/images/people/alvaro_tajeda.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_eKAKUbdu3CI/Sb27QKBsYoI/AAAAAAAABB8/NpEH7vp6NUk/s72-c/WatchmenPosterDefinitivoIMAX.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4144704359177008692.post-1907246066283258649</id><published>2009-03-10T04:33:00.000-07:00</published><updated>2009-03-10T04:42:58.006-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Sports'/><category scheme='http://www.blogger.com/atom/ns#' term='Rant'/><title type='text'>Geeks and Sports</title><content type='html'>&lt;DIV ALIGN="JUSTIFY"&gt;&lt;br /&gt;Last Sunday, Milly and I get back to our Tennis lessons...I took us almost a year...But we're back on the field -;)&lt;br /&gt;&lt;br /&gt;Now...You may asking yourselves...So, how this is supposed to be related with Geeks? Easy answer...Take a look at this...&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_eKAKUbdu3CI/SbZQsFC8T3I/AAAAAAAABBc/vANqolxqcFY/s1600-h/DSC04412.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 300px; height: 400px;" src="http://1.bp.blogspot.com/_eKAKUbdu3CI/SbZQsFC8T3I/AAAAAAAABBc/vANqolxqcFY/s400/DSC04412.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5311521528729063282" /&gt;&lt;/a&gt;&lt;br /&gt;Still not Geek enough for you? Then look at this...&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_eKAKUbdu3CI/SbZREGdT55I/AAAAAAAABBk/FJW4YvM2JPc/s1600-h/DSC04415.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 300px; height: 400px;" src="http://4.bp.blogspot.com/_eKAKUbdu3CI/SbZREGdT55I/AAAAAAAABBk/FJW4YvM2JPc/s400/DSC04415.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5311521941424957330" /&gt;&lt;/a&gt;&lt;br /&gt;You know how much I love SAP...And I try to show it every time -:)&lt;br /&gt;Finally...I wanted to show you how I end before the 1 hour class...BTW, Milly played a lot way better than me -:(&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_eKAKUbdu3CI/SbZR__ERf_I/AAAAAAAABBs/7neatvbzUHU/s1600-h/DSC04413.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 300px; height: 400px;" src="http://1.bp.blogspot.com/_eKAKUbdu3CI/SbZR__ERf_I/AAAAAAAABBs/7neatvbzUHU/s400/DSC04413.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5311522970233044978" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Greetings,&lt;br /&gt;Blag.&lt;br /&gt;&lt;/DIV&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4144704359177008692-1907246066283258649?l=blagrants.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blagrants.blogspot.com/feeds/1907246066283258649/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4144704359177008692&amp;postID=1907246066283258649' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/1907246066283258649'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/1907246066283258649'/><link rel='alternate' type='text/html' href='http://blagrants.blogspot.com/2009/03/geeks-and-sports.html' title='Geeks and Sports'/><author><name>Alvaro "Blag" Tejada Galindo</name><uri>http://www.blogger.com/profile/12061593528820409779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='https://weblogs.sdn.sap.com/images/people/alvaro_tajeda.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_eKAKUbdu3CI/SbZQsFC8T3I/AAAAAAAABBc/vANqolxqcFY/s72-c/DSC04412.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4144704359177008692.post-3912535723937323979</id><published>2009-02-19T05:44:00.000-08:00</published><updated>2009-02-26T14:03:37.228-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='AIR'/><category scheme='http://www.blogger.com/atom/ns#' term='TechEd_2009'/><category scheme='http://www.blogger.com/atom/ns#' term='Flex'/><title type='text'>New downloads on Blag Software</title><content type='html'>&lt;DIV ALIGN="JUSTIFY"&gt;&lt;br /&gt;These last days I have been playing with Flex/AIR for a while and had released a couple of applications for &lt;a href="http://blagsoftware.bravehost.com/Home.html"&gt;Blag Software&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.box.net/shared/l3n1hcyduj"&gt;Phoenix TechEd Countdown&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_eKAKUbdu3CI/SZ1i9Ul9iTI/AAAAAAAABAM/JhHVxe212hQ/s1600-h/TechEd_Countdown.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 91px;" src="http://2.bp.blogspot.com/_eKAKUbdu3CI/SZ1i9Ul9iTI/AAAAAAAABAM/JhHVxe212hQ/s400/TechEd_Countdown.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5304504741751785778" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.box.net/shared/huu5fq7osm"&gt;Digital Clock&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_eKAKUbdu3CI/SZ1jGby1OoI/AAAAAAAABAU/FggfZf2YjYY/s1600-h/Digital_Clock.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 144px;" src="http://2.bp.blogspot.com/_eKAKUbdu3CI/SZ1jGby1OoI/AAAAAAAABAU/FggfZf2YjYY/s400/Digital_Clock.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5304504898303638146" /&gt;&lt;/a&gt;&lt;br /&gt;Greetings,&lt;br /&gt;&lt;br /&gt;Blag.&lt;br /&gt;&lt;/DIV&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4144704359177008692-3912535723937323979?l=blagrants.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blagrants.blogspot.com/feeds/3912535723937323979/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4144704359177008692&amp;postID=3912535723937323979' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/3912535723937323979'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/3912535723937323979'/><link rel='alternate' type='text/html' href='http://blagrants.blogspot.com/2009/02/new-downloads-on-blag-software.html' title='New downloads on Blag Software'/><author><name>Alvaro "Blag" Tejada Galindo</name><uri>http://www.blogger.com/profile/12061593528820409779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='https://weblogs.sdn.sap.com/images/people/alvaro_tajeda.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_eKAKUbdu3CI/SZ1i9Ul9iTI/AAAAAAAABAM/JhHVxe212hQ/s72-c/TechEd_Countdown.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4144704359177008692.post-1299474417386331765</id><published>2009-02-17T13:10:00.000-08:00</published><updated>2009-02-17T13:13:52.159-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ruby'/><title type='text'>The Art of Programming Ruby</title><content type='html'>&lt;DIV ALIGN="JUSTIFY"&gt;&lt;br /&gt;I just published my second book in English...&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_eKAKUbdu3CI/SZsoPtyJPzI/AAAAAAAAA_8/v64YmaUn0FA/s1600-h/ArtProgramming_Ruby.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 272px; height: 400px;" src="http://1.bp.blogspot.com/_eKAKUbdu3CI/SZsoPtyJPzI/AAAAAAAAA_8/v64YmaUn0FA/s400/ArtProgramming_Ruby.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5303877236611956530" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div align="center"&gt;&lt;a href="http://www.lulu.com/content/6132119"&gt;The Art of Programming Ruby&lt;/a&gt;&lt;/div&gt;.&lt;br /&gt;&lt;br /&gt;Greetings,&lt;br /&gt;&lt;br /&gt;Blag.&lt;br /&gt;&lt;/DIV&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4144704359177008692-1299474417386331765?l=blagrants.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blagrants.blogspot.com/feeds/1299474417386331765/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4144704359177008692&amp;postID=1299474417386331765' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/1299474417386331765'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/1299474417386331765'/><link rel='alternate' type='text/html' href='http://blagrants.blogspot.com/2009/02/art-of-programming-ruby.html' title='The Art of Programming Ruby'/><author><name>Alvaro "Blag" Tejada Galindo</name><uri>http://www.blogger.com/profile/12061593528820409779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='https://weblogs.sdn.sap.com/images/people/alvaro_tajeda.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_eKAKUbdu3CI/SZsoPtyJPzI/AAAAAAAAA_8/v64YmaUn0FA/s72-c/ArtProgramming_Ruby.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4144704359177008692.post-8537613608289236641</id><published>2009-02-06T08:29:00.001-08:00</published><updated>2009-02-06T10:38:55.388-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Rant'/><category scheme='http://www.blogger.com/atom/ns#' term='SAP'/><title type='text'>SAP...Marketing?</title><content type='html'>&lt;DIV ALIGN="JUSTIFY"&gt;&lt;br /&gt;I had been thinking about this for a long time...But totally forgot to blog about it.&lt;br /&gt;&lt;br /&gt;Why is wrong with SAP Marketing? A lot...&lt;br /&gt;&lt;br /&gt;Have you take a look at SAP Ads? Do you know the guys and gals in those ads? Do they even look like Geek or Suits? Who's the guys sitting on the airport on SE80?&lt;br /&gt;&lt;br /&gt;My point is...Let's say that SAP launches an Ad promoting Flash Islands...Would you buy it if the Ad shows a regular guy showing some nice Flex app...Or would you buy it if the Ad shows Mr. Thomas Jung doing some geeky coding? I would of course go for the latter. (I know that Flash Islands is not even sold...But I needed a good example).&lt;br /&gt;&lt;br /&gt;So, why don't SAP start using SAP Mentors or other Community Members for it's Ads? It would make a lot of sense to me...Demo Jam poster got a great picture of the crowd (I was on the pic) because Demo Jam is oriented to the Community...That's true...But SAP products are oriented to Business...And Business are composed of Geeks and Suits...By showing familiar faces I'm sure they could make more impact.&lt;br /&gt;&lt;br /&gt;Most companies do the same mistake...I saw an Ad of Lenovo I think, where a guy who look more suitable for a Lacoste Ad was standing in front of the laptop...Who's that guy? I don't know and I don't care...Put a pic of Why The Lucky Stiff instead of that guy...And hell I'm going to buy myself a new Lenovo...&lt;br /&gt;&lt;br /&gt;Remember...Familiar faces make the Ads more likely...Why do you think that Fender or Tama uses know musicians of their Adds? Simple...Because people know them...If Fender or Tama uses my pic in a Ad...They going to bankruptcy...No musician knows me... -;)&lt;br /&gt;&lt;br /&gt;Ok...After this line...And because I know my readers...This is not a "Please SAP, put me on an Ad"...This is a "SAP...Open your eyes and start using SDN/BPX people in your Ads!".&lt;br /&gt;&lt;br /&gt;Greetings,&lt;br /&gt;&lt;br /&gt;Blag.&lt;br /&gt;&lt;/DIV&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4144704359177008692-8537613608289236641?l=blagrants.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blagrants.blogspot.com/feeds/8537613608289236641/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4144704359177008692&amp;postID=8537613608289236641' title='2 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/8537613608289236641'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/8537613608289236641'/><link rel='alternate' type='text/html' href='http://blagrants.blogspot.com/2009/02/sapmarketing.html' title='SAP...Marketing?'/><author><name>Alvaro "Blag" Tejada Galindo</name><uri>http://www.blogger.com/profile/12061593528820409779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='https://weblogs.sdn.sap.com/images/people/alvaro_tajeda.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4144704359177008692.post-4810042028084143855</id><published>2009-02-05T06:08:00.000-08:00</published><updated>2009-02-05T06:39:18.662-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Rant'/><category scheme='http://www.blogger.com/atom/ns#' term='SAP'/><category scheme='http://www.blogger.com/atom/ns#' term='SCN'/><category scheme='http://www.blogger.com/atom/ns#' term='SAP_Mentors'/><title type='text'>My thoughts on SAP's Certification Policy</title><content type='html'>&lt;DIV ALIGN="JUSTIFY"&gt;&lt;br /&gt;Today...I was reading my good friend &lt;a href="http://www.twitter.com/dahowlett"&gt;Dennis Howlett&lt;/a&gt;'s blog on &lt;a href="http://www.zdnet.com"&gt;ZDNet&lt;/a&gt; called &lt;a href="http://blogs.zdnet.com/Howlett/?p=620"&gt;The certification timebomb&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Suddenly...I realized that while I had share my thoughts on &lt;a href="http://twitter.com/Blag/status/1134602788"&gt;Twitter&lt;/a&gt;, &lt;a href="https://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/12877"&gt;SCN Blog&lt;/a&gt; and even on my &lt;a href="http://blagbert.blogspot.com/2009/01/blagbert-3-certifications.html"&gt;Blagbert comics&lt;/a&gt;...I haven't actually blog about it...&lt;br /&gt;&lt;br /&gt;Here are my thoughts...And even when I'm an &lt;span style="font-weight:bold;"&gt;SAP Mentor&lt;/span&gt;, take this comments from the perspective of a &lt;span style="font-weight:bold;"&gt;Senior ABAP Consultant&lt;/span&gt; and a &lt;span style="font-weight:bold;"&gt;SAP Customer&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;I think that SAP's approach is not the best...They want to promote "Hire only Certified People"...I'm not Certified myself, but that's the main reason for me to be against this policy...I live in &lt;span style="font-weight:bold;"&gt;Perú&lt;/span&gt;, a &lt;span style="font-weight:bold;"&gt;South American&lt;/span&gt; country. Here, Certifications are very expensive and most of the time, Instructors are not even Certified, or not qualified (Experienced) enough to give a Certification course.&lt;br /&gt;&lt;br /&gt;Most of my ABAPer friends aren't Certified either...They only get Certified when they turn to the Dark Side (Functional or Business Process)...Otherwise, we tend to be guided by experience.&lt;br /&gt;&lt;br /&gt;My prediction is that if SAP successfully implement this policy, mainly only Certified people is going to be hired...Which means only 10% of the local ABAPers...That's not good, because that 10% are going to ask for more money claiming that they are better because they hold and SAP Certification...Then the other 90% is going to feel forced to get Certified, so eventually we're going to have 100% of Certified people...Things are going to get back to normal, because with kind of offer, prices are going to reach their normal peak...But as human beings are greedy, they're going to look for more Certifications...And it's going to be a war having people trying to get the most Certification they can...Prices are going to get higher, then lower...and so on...&lt;br /&gt;&lt;br /&gt;Sure, you can tell me...If everybody got 2 or 3 Certifications, they're going to be great professionals and projects are going to be perform in less time and with less money...Well...I don't think it's true...People with more money are going to be able to get more Certifications...Cheats are going to become available...People with no field experience are going to flood the market and eventually chaos would arise.&lt;br /&gt;&lt;br /&gt;Something similar happen some time ago with Visual Basic 6...There we a lot of jobs...A lot of opportunities...So everybody started to learn Visual Basic 6, get Microsoft Certifications...And suddenly, the market was so full of Visual Basic people, that right now, is one of the worst payed jobs here...I'm not saying that something as radical is going to happen with SAP's job, but it could happen.&lt;br /&gt;&lt;br /&gt;I'm not a experience as Dennis when it comes to Business and IT...But I know my field, and my field is ABAP...I work with SAP customer everyday...And everyday I see more new ABAP consultants flooding the market...Sadly, not as experience as needed...But if they got enough money to pay a Certification...Are they going to take the jobs of the older ABAPers?&lt;br /&gt;&lt;br /&gt;Dennis also talked about the "proposed" &lt;a href="http://www.linkedin.com/in/atejada"&gt;LinkedIn&lt;/a&gt; recommendations as a tool...While I love &lt;a href="http://www.linkedin.com/in/atejada"&gt;LinkedIn&lt;/a&gt; I have to agree with Dennis...Everyone could get nice Recommendations...So we could think about &lt;span style="font-weight:bold;"&gt;SAP's Special Recommendations&lt;/span&gt;?...I don't think it would do a big difference...I mean...I don't think companies are going to browse &lt;br /&gt;&lt;a href="http://www.linkedin.com/in/atejada"&gt;LinkedIn&lt;/a&gt; searching for people who got nice SAP's Recommendations...&lt;br /&gt;&lt;br /&gt;What I think, it's that SAP should extend a "Certified by Experience" (Actually I think we had already discuss it...Anyway)...&lt;a href="http://sdn.sap.com"&gt;SDN&lt;/a&gt; and &lt;a href="http://bpx.sap.com"&gt;BPX&lt;/a&gt; are the best places to find "Community Rock Stars"...So, they should get those Certifications based on Community activity, recommendations by other Rock Stars and so on...That would be something that could be put on a resume.&lt;br /&gt;&lt;br /&gt;Please keep in mind that English is not my mother language...And sometimes I don't get all the information in the best way...Maybe I'm not seeing the bigger picture...Maybe I'm falling into some contradictions...But that's exactly why I named this post &lt;b&gt;My thoughts on SAP's Certification Policy&lt;/b&gt;, because it's what I'm thinking right now as an individual.&lt;br /&gt;&lt;br /&gt;Greetings,&lt;br /&gt;&lt;br /&gt;Blag.&lt;br /&gt;&lt;/DIV&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4144704359177008692-4810042028084143855?l=blagrants.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blagrants.blogspot.com/feeds/4810042028084143855/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4144704359177008692&amp;postID=4810042028084143855' title='6 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/4810042028084143855'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/4810042028084143855'/><link rel='alternate' type='text/html' href='http://blagrants.blogspot.com/2009/02/my-thoughts-on-saps-certification.html' title='My thoughts on SAP&apos;s Certification Policy'/><author><name>Alvaro "Blag" Tejada Galindo</name><uri>http://www.blogger.com/profile/12061593528820409779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='https://weblogs.sdn.sap.com/images/people/alvaro_tajeda.jpg'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4144704359177008692.post-4248957240871410299</id><published>2009-01-26T05:27:00.000-08:00</published><updated>2009-01-26T05:54:50.883-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='misc'/><category scheme='http://www.blogger.com/atom/ns#' term='Flex'/><title type='text'>g.ho.st? Sure my choice!</title><content type='html'>&lt;DIV ALIGN="JUSTIFY"&gt;&lt;br /&gt;On my previous post...I ranted about &lt;a href="http://blagrants.blogspot.com/2009/01/glide-os-not-my-choice.html"&gt;GlideOS&lt;/a&gt;. So after that post I got a reply message on &lt;a href="http://www.twitter.com"&gt;Twitter&lt;/a&gt; from &lt;a href="http://www.twitter.com/muzwell"&gt;@muzwell&lt;/a&gt; --&gt; Murray Spork. Currently working on bringing cloud computing to the enterprise. Telling me about another Web 2.0 Operating System...&lt;a href="http://g.ho.st"&gt;g.ho.st&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_eKAKUbdu3CI/SX27a-70YJI/AAAAAAAAA84/LtE0ryGJMEw/s1600-h/Muzwell.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 189px;" src="http://3.bp.blogspot.com/_eKAKUbdu3CI/SX27a-70YJI/AAAAAAAAA84/LtE0ryGJMEw/s400/Muzwell.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5295594809102459026" /&gt;&lt;/a&gt;&lt;br /&gt;So, of course I decided to give &lt;a href="http://g.ho.st"&gt;g.ho.st&lt;/a&gt;. a try...&lt;br /&gt;After I create my account, I got this nice screen telling me about the benefits of my membership...&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_eKAKUbdu3CI/SX28KVc65lI/AAAAAAAAA9A/ftAmLJ6WvKs/s1600-h/Ghost_01.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 314px;" src="http://3.bp.blogspot.com/_eKAKUbdu3CI/SX28KVc65lI/AAAAAAAAA9A/ftAmLJ6WvKs/s400/Ghost_01.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5295595622600730194" /&gt;&lt;/a&gt;&lt;br /&gt;That was nice...But I also got a Personalization window...Which was cool as well...&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_eKAKUbdu3CI/SX28egaef2I/AAAAAAAAA9I/Q4Ir8Lz7ycc/s1600-h/Ghost_02.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 194px;" src="http://4.bp.blogspot.com/_eKAKUbdu3CI/SX28egaef2I/AAAAAAAAA9I/Q4Ir8Lz7ycc/s400/Ghost_02.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5295595969140653922" /&gt;&lt;/a&gt;&lt;br /&gt;Now, the Desktop really looks nice...Like a real OS even working with Widgets...Like the clock on the right...&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_eKAKUbdu3CI/SX287e4LZII/AAAAAAAAA9Q/xKS-mcfIauA/s1600-h/Ghost_03.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 213px;" src="http://4.bp.blogspot.com/_eKAKUbdu3CI/SX287e4LZII/AAAAAAAAA9Q/xKS-mcfIauA/s400/Ghost_03.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5295596466944566402" /&gt;&lt;/a&gt;&lt;br /&gt;Like &lt;a href="http://www.twitter.com/muzwell"&gt;@muzwell&lt;/a&gt; told me &lt;a href="http://g.ho.st"&gt;g.ho.st&lt;/a&gt; is already integrated with &lt;a href="http://www.zoho.com"&gt;Zoho&lt;/a&gt;, so writing a document is a pleasant task...&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_eKAKUbdu3CI/SX29jYqL2YI/AAAAAAAAA9Y/GbVcqTu7xuQ/s1600-h/Ghost_04.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 114px;" src="http://4.bp.blogspot.com/_eKAKUbdu3CI/SX29jYqL2YI/AAAAAAAAA9Y/GbVcqTu7xuQ/s400/Ghost_04.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5295597152470030722" /&gt;&lt;/a&gt;&lt;br /&gt;Maybe that could be enough for you...But...You can even play games! It's crazy -:)&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_eKAKUbdu3CI/SX2-BqOoGiI/AAAAAAAAA9g/82goSb1tsAU/s1600-h/Ghost_05.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 295px;" src="http://2.bp.blogspot.com/_eKAKUbdu3CI/SX2-BqOoGiI/AAAAAAAAA9g/82goSb1tsAU/s400/Ghost_05.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5295597672582355490" /&gt;&lt;/a&gt;&lt;br /&gt;And for people like me...&lt;a href="http://www.twitter.com"&gt;Twitter&lt;/a&gt; addicts...You also got a nice but gotta say...simple...&lt;a href="http://www.twitter.com"&gt;Twitter&lt;/a&gt; client.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_eKAKUbdu3CI/SX2-eQ8vDXI/AAAAAAAAA9o/qbAtzrtRncM/s1600-h/Ghost_06.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 321px;" src="http://4.bp.blogspot.com/_eKAKUbdu3CI/SX2-eQ8vDXI/AAAAAAAAA9o/qbAtzrtRncM/s400/Ghost_06.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5295598164012633458" /&gt;&lt;/a&gt;&lt;br /&gt;Like some people say...The wonder never ends...We also got direct access to great services like &lt;a href="http://www.wikipedia.org"&gt;Wikipedia&lt;/a&gt;, &lt;a href="http://maps.google.com/"&gt;Google Maps&lt;/a&gt; and &lt;a href="http://www.google.com"&gt;Google Search&lt;/a&gt;...&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_eKAKUbdu3CI/SX2_Kv973oI/AAAAAAAAA9w/gQ4nEJ6D-yo/s1600-h/Ghost_07.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 293px;" src="http://1.bp.blogspot.com/_eKAKUbdu3CI/SX2_Kv973oI/AAAAAAAAA9w/gQ4nEJ6D-yo/s400/Ghost_07.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5295598928253410946" /&gt;&lt;/a&gt;&lt;br /&gt;Oh...I almost forgot it...You got a fancy Go bar too...&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_eKAKUbdu3CI/SX2_iP9wYZI/AAAAAAAAA94/9zq24tiBivs/s1600-h/Ghost_08.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 261px; height: 400px;" src="http://4.bp.blogspot.com/_eKAKUbdu3CI/SX2_iP9wYZI/AAAAAAAAA94/9zq24tiBivs/s400/Ghost_08.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5295599331979583890" /&gt;&lt;/a&gt;&lt;br /&gt;My final words...&lt;a href="http://g.ho.st"&gt;g.ho.st&lt;/a&gt; it's sure my choice!&lt;br /&gt;&lt;br /&gt;Greetings,&lt;br /&gt;&lt;br /&gt;Blag.&lt;br /&gt;&lt;/DIV&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4144704359177008692-4248957240871410299?l=blagrants.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blagrants.blogspot.com/feeds/4248957240871410299/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4144704359177008692&amp;postID=4248957240871410299' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/4248957240871410299'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/4248957240871410299'/><link rel='alternate' type='text/html' href='http://blagrants.blogspot.com/2009/01/ghost-sure-my-choice.html' title='g.ho.st? Sure my choice!'/><author><name>Alvaro "Blag" Tejada Galindo</name><uri>http://www.blogger.com/profile/12061593528820409779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='https://weblogs.sdn.sap.com/images/people/alvaro_tajeda.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_eKAKUbdu3CI/SX27a-70YJI/AAAAAAAAA84/LtE0ryGJMEw/s72-c/Muzwell.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4144704359177008692.post-4871498652375290328</id><published>2009-01-25T08:13:00.000-08:00</published><updated>2009-01-25T08:38:44.595-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='misc'/><category scheme='http://www.blogger.com/atom/ns#' term='Flex'/><title type='text'>Glide OS? Not my choice...</title><content type='html'>&lt;DIV ALIGN="JUSTIFY"&gt;&lt;br /&gt;Since I read on a PC World Magazine about Web 2.0 Operating Systems...I get really interested and wanted to try them out.&lt;br /&gt;My first and only attempt so far had been with&lt;a href="http://desktop.glidesociety.com/"&gt; Glide OS&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Ok, let's see...This OS has been build with &lt;a href="http://www.adobe.com/products/flex/"&gt;Flex&lt;/a&gt; which is really cool, because everyone knows how much I love &lt;a href="http://www.adobe.com/products/flex/"&gt;Flex&lt;/a&gt;...&lt;br /&gt;&lt;br /&gt;First, we got a nice login screen...&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_eKAKUbdu3CI/SXyREqwX8hI/AAAAAAAAA7w/VBi9CU7xjLQ/s1600-h/Glide_01.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 244px;" src="http://4.bp.blogspot.com/_eKAKUbdu3CI/SXyREqwX8hI/AAAAAAAAA7w/VBi9CU7xjLQ/s400/Glide_01.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5295266771263549970" /&gt;&lt;/a&gt;&lt;br /&gt;The desktop looks cool too, with a lot of direct access to nice applications.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_eKAKUbdu3CI/SXyRaXrQRTI/AAAAAAAAA74/3d4uOO10a1E/s1600-h/Glide_02.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 365px;" src="http://4.bp.blogspot.com/_eKAKUbdu3CI/SXyRaXrQRTI/AAAAAAAAA74/3d4uOO10a1E/s400/Glide_02.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5295267144098923826" /&gt;&lt;/a&gt;&lt;br /&gt;I tried &lt;span style="font-weight:bold;"&gt;Present&lt;/span&gt; which is an application to create Presentations.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_eKAKUbdu3CI/SXyR6xZAQgI/AAAAAAAAA8A/ijfpQl33Aqw/s1600-h/Glide_03.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 181px;" src="http://2.bp.blogspot.com/_eKAKUbdu3CI/SXyR6xZAQgI/AAAAAAAAA8A/ijfpQl33Aqw/s400/Glide_03.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5295267700757512706" /&gt;&lt;/a&gt;&lt;br /&gt;Sadly, I found a nasty bug...Put a small square, and I was supposed to double click it in order to write some text...Well...That never happened...&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_eKAKUbdu3CI/SXySSC3XYFI/AAAAAAAAA8I/j9ermMJPsAU/s1600-h/Glide_04.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 167px;" src="http://2.bp.blogspot.com/_eKAKUbdu3CI/SXySSC3XYFI/AAAAAAAAA8I/j9ermMJPsAU/s400/Glide_04.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5295268100585250898" /&gt;&lt;/a&gt;&lt;br /&gt;Then...I give &lt;span style="font-weight:bold;"&gt;Write&lt;/span&gt; a chance...As you may had noticed...It's an application to write documents...&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_eKAKUbdu3CI/SXySr3vB1gI/AAAAAAAAA8Q/qUHQbdeSYOw/s1600-h/Glide_05.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 187px;" src="http://3.bp.blogspot.com/_eKAKUbdu3CI/SXySr3vB1gI/AAAAAAAAA8Q/qUHQbdeSYOw/s400/Glide_05.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5295268544274093570" /&gt;&lt;/a&gt;&lt;br /&gt;Finally, I tried the Calculator application...And I said finally because I simply logoff from this OS.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_eKAKUbdu3CI/SXyTDO1fCCI/AAAAAAAAA8Y/W-QxKp9eZNE/s1600-h/Glide_06.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 193px;" src="http://2.bp.blogspot.com/_eKAKUbdu3CI/SXyTDO1fCCI/AAAAAAAAA8Y/W-QxKp9eZNE/s400/Glide_06.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5295268945612179490" /&gt;&lt;/a&gt;&lt;br /&gt;Wanna know why I logoff? Easy...As a Programmer's point of view...I think this is an amazing project...Very hard to accomplish...But as a Customer I think it totally fails to fulfill my needs...Why? Easy, take a look a this...&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_eKAKUbdu3CI/SXyTjAN_7vI/AAAAAAAAA8g/9ulxwVc-urU/s1600-h/Zoho_Writer_01.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 190px;" src="http://2.bp.blogspot.com/_eKAKUbdu3CI/SXyTjAN_7vI/AAAAAAAAA8g/9ulxwVc-urU/s400/Zoho_Writer_01.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5295269491444281074" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://writer.zoho.com/?home"&gt;Zoho Writer&lt;/a&gt;. Free and way much better. In every aspect.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_eKAKUbdu3CI/SXyUJ4eP8tI/AAAAAAAAA8o/gxt5cITbIC0/s1600-h/Slide_Rocket_01.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 199px;" src="http://1.bp.blogspot.com/_eKAKUbdu3CI/SXyUJ4eP8tI/AAAAAAAAA8o/gxt5cITbIC0/s400/Slide_Rocket_01.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5295270159379854034" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="sliderocket.com"&gt;SlideRocket&lt;/a&gt;. Free and way much better. In every aspect.&lt;br /&gt;&lt;br /&gt;Ok, you might think...One thing is to build an application, and another thing is too build a complete OS...Let's remember that &lt;a href="http://www.zoho.com"&gt;Zoho.com&lt;/a&gt; offers a lot of services, not only a Word like application.&lt;br /&gt;&lt;br /&gt;I think that the makers of &lt;a href="http://desktop.glidesociety.com/"&gt; Glide OS&lt;/a&gt; could had spend more time working of the UI of their applications, because I can't find the words &lt;span style="font-weight:bold;"&gt;Alpha&lt;/span&gt; or &lt;span style="font-weight:bold;"&gt;Beta&lt;/span&gt; anywhere.&lt;br /&gt;&lt;br /&gt;Definitely...Not my choice...&lt;br /&gt;&lt;br /&gt;Greetings,&lt;br /&gt;&lt;br /&gt;Blag.&lt;br /&gt;&lt;/DIV&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4144704359177008692-4871498652375290328?l=blagrants.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blagrants.blogspot.com/feeds/4871498652375290328/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4144704359177008692&amp;postID=4871498652375290328' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/4871498652375290328'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/4871498652375290328'/><link rel='alternate' type='text/html' href='http://blagrants.blogspot.com/2009/01/glide-os-not-my-choice.html' title='Glide OS? Not my choice...'/><author><name>Alvaro "Blag" Tejada Galindo</name><uri>http://www.blogger.com/profile/12061593528820409779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='https://weblogs.sdn.sap.com/images/people/alvaro_tajeda.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_eKAKUbdu3CI/SXyREqwX8hI/AAAAAAAAA7w/VBi9CU7xjLQ/s72-c/Glide_01.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4144704359177008692.post-5709886565718122484</id><published>2009-01-22T12:22:00.001-08:00</published><updated>2009-01-22T12:27:23.851-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Rant'/><category scheme='http://www.blogger.com/atom/ns#' term='SAP'/><category scheme='http://www.blogger.com/atom/ns#' term='Twitter'/><category scheme='http://www.blogger.com/atom/ns#' term='SCN'/><category scheme='http://www.blogger.com/atom/ns#' term='SAP_Mentors'/><title type='text'>SAP Mentors...On Twitter? Yes Sir!</title><content type='html'>&lt;DIV ALIGN="JUSTIFY"&gt;&lt;br /&gt;Do you know about &lt;a href="https://www.sdn.sap.com/irj/sdn/sapmentors"&gt;SAP Mentors&lt;/a&gt;? You should...I'm one myself -:)&lt;br /&gt;&lt;br /&gt;Wanna know what we are up to? Follow us on &lt;a href="http://twitter.com/SAPMentors"&gt;SAP Mentors on Twitter&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Also you could check this nice &lt;a href="http://twitter.com/SAPMentors/friends"&gt;list&lt;/a&gt; and follow all the guys/gals that didn't made it to my previous list...Otherwise they're going to go mad on me -:(&lt;br /&gt;&lt;br /&gt;It's hard to keep everyone happy -:)&lt;br /&gt;&lt;br /&gt;Greetings,&lt;br /&gt;&lt;br /&gt;Blag.&lt;br /&gt;&lt;/DIV&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4144704359177008692-5709886565718122484?l=blagrants.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blagrants.blogspot.com/feeds/5709886565718122484/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4144704359177008692&amp;postID=5709886565718122484' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/5709886565718122484'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/5709886565718122484'/><link rel='alternate' type='text/html' href='http://blagrants.blogspot.com/2009/01/sap-mentorson-twitter-yes-sir.html' title='SAP Mentors...On Twitter? Yes Sir!'/><author><name>Alvaro "Blag" Tejada Galindo</name><uri>http://www.blogger.com/profile/12061593528820409779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='https://weblogs.sdn.sap.com/images/people/alvaro_tajeda.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4144704359177008692.post-8526767939441246185</id><published>2009-01-22T11:40:00.000-08:00</published><updated>2009-01-22T13:21:23.000-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='misc'/><category scheme='http://www.blogger.com/atom/ns#' term='Twitter'/><title type='text'>Who you should be following on Twitter...</title><content type='html'>&lt;DIV ALIGN="JUSTIFY"&gt;&lt;br /&gt;&lt;a href="http://www.twitter.com"&gt;Twitter&lt;/a&gt; is a great service, no doubt about it...But sometimes is hard to choose who to follow and who not.&lt;br /&gt;&lt;br /&gt;That's why I' want to drop a little list of interesting people...&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.twitter.com/Blag"&gt;@Blag&lt;/a&gt; --&gt; Alvaro Tejada Galindo (That's me of course). Senior ABAP Consultant, Scripting Languages Geek, SAP Mentor, Blogger, Programming books author and Punk. &lt;span style="font-weight:bold;"&gt;I don't need no introduction -;)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.twitter.com/dahowlett"&gt;@dahowlett&lt;/a&gt; --&gt; Dennis Howlett. Full time blogger on innovation for professional accountants. &lt;span style="font-weight:bold;"&gt;This talks straight to the face, no jokes...Just the awful truth.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.twitter.com/monkchips"&gt;@monkchips&lt;/a&gt; --&gt; James Governor. Co-founder of RedMonk, something like a firehose - tech and everything else in 140 char bursts. &lt;span style="font-weight:bold;"&gt;This is your reference for everything IT related.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.twitter.com/_why"&gt;@_why&lt;/a&gt; --&gt; Why the Lucky Stiff. The ill-conceived freelance prof. &lt;span style="font-weight:bold;"&gt;If you're related to Ruby, Camping or Shoes...He's your guy -;)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.twitter.com/jonerp"&gt;@jonerp&lt;/a&gt; --&gt; Jon Reed. Jon Reed of &lt;a href="http://www.jonerp.com"&gt;JonERP.com&lt;/a&gt; is an SAP Mentor who blogs and podcasts on SAP skills trends. &lt;span style="font-weight:bold;"&gt;No one knows more about SAP that this guy...Ok...Maybe SAP CEO's...&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.twitter.com/TechCrunch"&gt;@TechCrunch &lt;/a&gt; --&gt; Michael Arrington. Making The World A More Ajaxy Place. Come on...You know you love &lt;a href="http://www.techcrunch.com/"&gt;TechCruch&lt;/a&gt;!&lt;br /&gt;&lt;br /&gt;&lt;a href="http://twitter.com/ChuckFacts"&gt;@ChuckFacts&lt;/a&gt; --&gt; Chuck Norris Facts. &lt;span style="font-weight:bold;"&gt;You better follow him...You're life depends on it...&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://twitter.com/ryanstewart"&gt;@ryanstewart&lt;/a&gt; --&gt; Ryan Stewart. I obsess over Rich Internet Applications and work at Adobe as a Platform Evangelist. &lt;span style="font-weight:bold;"&gt;Are you on RIA? Follow this guy then!&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://twitter.com/Scobleizer"&gt;@Scobleizer&lt;/a&gt; --&gt; Robert Scoble. Tech geek blogger @ &lt;a href="http://scobleizer.com"&gt;http://scobleizer.com&lt;/a&gt;. &lt;span style="font-weight:bold;"&gt;I don't this guy, but all my friends follow him...He must be good stuff...&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://twitter.com/Veronica"&gt;@Veronica&lt;/a&gt; --&gt; Veronica Belmont. Host of Tekzilla on Revision3 and Qore on PSN. Also, a geek. &lt;span style="font-weight:bold;"&gt;She's a geek girl...What else can you ask for?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://twitter.com/timoreilly"&gt;@timoreilly&lt;/a&gt; --&gt; Tim O'Reilly. Founder and CEO, O'Reilly Media. &lt;span style="font-weight:bold;"&gt;If you don't know Tim...You shouldn't be on the web...&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://twitter.com/jwales"&gt;@jwales&lt;/a&gt; --&gt; Jimbo Wales. You know, the Wikipedia and Wikia guy. &lt;span style="font-weight:bold;"&gt;Believe or not...I got a picture with this guy!!!&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Please keep in mind, that not only because you start following them, they're going to follow you back...If you think that, you really need to read this...&lt;br /&gt;&lt;br /&gt;&lt;a href="http://blagrants.blogspot.com/2008/12/do-you-follow-me-on-twitter-coz-im-not.html"&gt;Do you follow me on Twitter? Coz I'm not following you...&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;P.S: To all my dear and beloved Geek friends (Yes...SAP Mentors and SCN related), if you're not on my list, it's not because you're not interesting to follow...It's because this is a short list...And wanted to put the most representative guys/gals that I'm following...If I'm on the list...It's because this is my blog and I can do what I want here...Don't like it...Do your own list on your own blogs!&lt;br /&gt;&lt;br /&gt;P.S.S: I'm joking of course -;)&lt;br /&gt;&lt;br /&gt;P.S.S.S: Thanks to my good friend &lt;a href="http://twitter.com/luislanz"&gt;@luislanz&lt;/a&gt; --&gt; Luis Felipe Lanz. NetWeaver Visual Composer Expert at SAP AG. This is a direct link to all the people I'm following...&lt;br /&gt;&lt;br /&gt;&lt;a href="http://twitter.com/Blag/friends"&gt;Who's Blag following&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Greetings,&lt;br /&gt;&lt;br /&gt;Blag.&lt;br /&gt;&lt;/DIV&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4144704359177008692-8526767939441246185?l=blagrants.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blagrants.blogspot.com/feeds/8526767939441246185/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4144704359177008692&amp;postID=8526767939441246185' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/8526767939441246185'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/8526767939441246185'/><link rel='alternate' type='text/html' href='http://blagrants.blogspot.com/2009/01/who-you-should-be-following-on-twitter.html' title='Who you should be following on Twitter...'/><author><name>Alvaro "Blag" Tejada Galindo</name><uri>http://www.blogger.com/profile/12061593528820409779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='https://weblogs.sdn.sap.com/images/people/alvaro_tajeda.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4144704359177008692.post-1507814978690052615</id><published>2009-01-16T02:42:00.000-08:00</published><updated>2009-01-16T04:11:16.231-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='misc'/><category scheme='http://www.blogger.com/atom/ns#' term='Rant'/><category scheme='http://www.blogger.com/atom/ns#' term='SAP'/><title type='text'>Tale of an SAP addict...</title><content type='html'>&lt;DIV ALIGN="JUSTIFY"&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Doctor:&lt;/span&gt; Please come in.&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Patient:&lt;/span&gt; Thank you.&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Doctor:&lt;/span&gt; What's your name?&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Patient:&lt;/span&gt; atejadag.&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Doctor:&lt;/span&gt; That's your name?&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Patient:&lt;/span&gt; Yes. It's my user name.&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Doctor:&lt;/span&gt; Ok. Where do you live?&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Patient:&lt;/span&gt; SE38.&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Doctor:&lt;/span&gt; SE38?&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Patient:&lt;/span&gt; Yes. That's where I spend most of my time.&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Doctor:&lt;/span&gt; Ok. What places have you visited?&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Patient:&lt;/span&gt; Oh. Last week I was at SE37...SE80...SmartForms and ST22... :-)&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Doctor:&lt;/span&gt; Did you just lay down your head to the left and smile?&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Patient:&lt;/span&gt; No. I just smiled.&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Doctor:&lt;/span&gt; Ok, never mind. Do you have any kids?&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Patient:&lt;/span&gt; Sure. I got two.&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Doctor:&lt;/span&gt; Great. What are their names?&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Patient:&lt;/span&gt; R/3 and NetWeaver. NetWeaver is the younger.&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Doctor:&lt;/span&gt; Ok. Those are very unusual names.&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Patient:&lt;/span&gt; I'm a very unusual guy.&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Doctor:&lt;/span&gt; Yeah...I can tell.&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Patient:&lt;/span&gt; ...&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Doctor:&lt;/span&gt; I know why you are here...But can you tell me why you are here?&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Patient:&lt;/span&gt; Sure. I suffer from short dumps.&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Doctor:&lt;/span&gt; You're what?&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Patient:&lt;/span&gt; My sy-subrc are always more than zero.&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Doctor:&lt;/span&gt; Ok. I just hear enough. You really need my help. Please come back next week.&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Patient:&lt;/span&gt; Ok, thank you very much. /NEX&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Doctor:&lt;/span&gt; And now...What you're supposed to do?&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Patient:&lt;/span&gt; I'm trying to end this session.../NEX...But it doesn't work...You may need to call your Basis guys.&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Doctor:&lt;/span&gt; ...Don't worry, I'm going to do it...&lt;br /&gt;&lt;br /&gt;Greetings,&lt;br /&gt;&lt;br /&gt;Blag.&lt;br /&gt;&lt;/DIV&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4144704359177008692-1507814978690052615?l=blagrants.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blagrants.blogspot.com/feeds/1507814978690052615/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4144704359177008692&amp;postID=1507814978690052615' title='4 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/1507814978690052615'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/1507814978690052615'/><link rel='alternate' type='text/html' href='http://blagrants.blogspot.com/2009/01/tale-of-sap-addict.html' title='Tale of an SAP addict...'/><author><name>Alvaro "Blag" Tejada Galindo</name><uri>http://www.blogger.com/profile/12061593528820409779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='https://weblogs.sdn.sap.com/images/people/alvaro_tajeda.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4144704359177008692.post-7678248879176454369</id><published>2009-01-14T02:44:00.000-08:00</published><updated>2009-01-14T02:56:44.081-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='misc'/><category scheme='http://www.blogger.com/atom/ns#' term='Rant'/><category scheme='http://www.blogger.com/atom/ns#' term='SCN'/><category scheme='http://www.blogger.com/atom/ns#' term='SAP_Mentors'/><title type='text'>Enterprise Geeks?</title><content type='html'>&lt;DIV ALIGN="JUSTIFY"&gt;&lt;br /&gt;Some of my good friends and SCN colleagues and SAP Mentor colleagues Craig Cmehil, Dan McWeeney, Ed Herrmann, Rich Heilman and Thomas Jung, had join their forces to create a new web space called &lt;a href="http://enterprisegeeks.com/"&gt;Enterprise Geeks&lt;/a&gt;.&lt;br /&gt;So what do they offer?&lt;br /&gt;&lt;br /&gt;* A blog&lt;br /&gt;* Podcasts&lt;br /&gt;* eGeek Tv&lt;br /&gt;* Proyects&lt;br /&gt;* Publications&lt;br /&gt;&lt;br /&gt;Can you ask for more? I don't think so -;) I personally meet these guys...And I can tell you...They're really good stuff...Best among the best...No kidding -;)&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_eKAKUbdu3CI/SW3EQtfeo5I/AAAAAAAAA3I/uN1qW4hRjqg/s1600-h/EnterpriseGeeks.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://4.bp.blogspot.com/_eKAKUbdu3CI/SW3EQtfeo5I/AAAAAAAAA3I/uN1qW4hRjqg/s400/EnterpriseGeeks.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5291100928598778770" /&gt;&lt;/a&gt;&lt;span style="font-style:italic;"&gt;Photo took without permission...Come on...They're my friends...I don't think they're going to care -;)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Greetings,&lt;br /&gt;&lt;br /&gt;Blag.&lt;br /&gt;&lt;/DIV&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4144704359177008692-7678248879176454369?l=blagrants.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blagrants.blogspot.com/feeds/7678248879176454369/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4144704359177008692&amp;postID=7678248879176454369' title='4 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/7678248879176454369'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/7678248879176454369'/><link rel='alternate' type='text/html' href='http://blagrants.blogspot.com/2009/01/enterprise-geeks.html' title='Enterprise Geeks?'/><author><name>Alvaro "Blag" Tejada Galindo</name><uri>http://www.blogger.com/profile/12061593528820409779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='https://weblogs.sdn.sap.com/images/people/alvaro_tajeda.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_eKAKUbdu3CI/SW3EQtfeo5I/AAAAAAAAA3I/uN1qW4hRjqg/s72-c/EnterpriseGeeks.jpg' height='72' width='72'/><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4144704359177008692.post-1937044032124743847</id><published>2009-01-06T12:32:00.000-08:00</published><updated>2009-01-06T12:44:04.223-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='misc'/><category scheme='http://www.blogger.com/atom/ns#' term='TechEd_2008'/><category scheme='http://www.blogger.com/atom/ns#' term='Rant'/><category scheme='http://www.blogger.com/atom/ns#' term='SAP'/><title type='text'>Make your migration steps...Not a pain...</title><content type='html'>&lt;DIV ALIGN="JUSTIFY"&gt;&lt;br /&gt;Ok...Usually I don't talk about software or services that I haven't actually test...But this time, I'm going to make an small exception.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.panayainc.com"&gt;Panaya&lt;/a&gt; offers a great tool to make you migration steps not a pain...How do they do that? Easy...&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;You&lt;/span&gt;:&lt;br /&gt;&lt;br /&gt;1. Paste an ABAP report (Certiﬁed by SAP) into your SAP system.&lt;br /&gt;2. Run the report to extract your custom code and usages statistics into a ﬁle.&lt;br /&gt;3. Upload the ﬁle over a secure HTTPS connection to Panaya&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Panaya&lt;/span&gt;:&lt;br /&gt;&lt;br /&gt;* Analyzes your custom code and usage ﬁles.&lt;br /&gt;* Maps all objects and their dependencies.&lt;br /&gt;* Runs your code on ERP 6.0&lt;br /&gt;* Lists problems, their solutions, and tests.&lt;br /&gt;&lt;br /&gt;That means, no manual testing from your side...No "I need to test millions of ABAP programs"...Let &lt;a href="http://www.panayainc.com"&gt;Panaya&lt;/a&gt; do it for you -:)&lt;br /&gt;&lt;br /&gt;Wanna learn more? Go &lt;a href="http://www.panayainc.com/SAP-Upgrade-ECC-6.0-Upgrade-SAP-Testing-Planning-Assessment.html"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;So...You might be thinking...Why I'm doing free publicity for this guys? Easy...Because they also offer this...&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.abapninja.org/"&gt;ABAP Ninja&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;A free based online service that helps you to find out the best Enhancement Points for your custom developments. Also, they participate at TechEd Las Vegas 2008...Where I saw &lt;a href="http://www.abapninja.org/"&gt;ABAP Ninja&lt;/a&gt; in action.&lt;br /&gt;&lt;br /&gt;Greetings,&lt;br /&gt;&lt;br /&gt;Blag.&lt;br /&gt;&lt;/DIV&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4144704359177008692-1937044032124743847?l=blagrants.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blagrants.blogspot.com/feeds/1937044032124743847/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4144704359177008692&amp;postID=1937044032124743847' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/1937044032124743847'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/1937044032124743847'/><link rel='alternate' type='text/html' href='http://blagrants.blogspot.com/2009/01/make-your-migration-stepsnot-pain.html' title='Make your migration steps...Not a pain...'/><author><name>Alvaro "Blag" Tejada Galindo</name><uri>http://www.blogger.com/profile/12061593528820409779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='https://weblogs.sdn.sap.com/images/people/alvaro_tajeda.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4144704359177008692.post-8564647447457189307</id><published>2008-12-29T07:06:00.001-08:00</published><updated>2008-12-29T07:17:53.024-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='misc'/><category scheme='http://www.blogger.com/atom/ns#' term='Rant'/><title type='text'>My New Year's resolutions (For 2009)...</title><content type='html'>&lt;DIV ALIGN="JUSTIFY"&gt;&lt;br /&gt;We're almost at the end of 2008...It has been a great year for me.&lt;br /&gt;&lt;br /&gt;* My daughter Kiara born on April.&lt;br /&gt;* I attended SAP TechEd Las Vegas on September.&lt;br /&gt;* Published the following books:&lt;br /&gt;  - &lt;a href="http://www.lulu.com/content/1190485"&gt;El Arte de Programar SAP NetWeaver&lt;/a&gt;&lt;br /&gt;  - &lt;a href="http://www.lulu.com/content/3069476"&gt;El pequeño libro del Performance&lt;/a&gt;   &lt;br /&gt;  - &lt;a href="http://www.lulu.com/content/3069951"&gt;El Arte de Programar Flex&lt;/a&gt;&lt;br /&gt;  - &lt;a href="http://www.lulu.com/content/5033379"&gt;The Art of Programming Flex&lt;/a&gt;.&lt;br /&gt;* Move to a new company called &lt;a href="http://bizpartner.biz/"&gt;BizPartner&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;So, for this new year...I got some resolutions...&lt;br /&gt;&lt;br /&gt;* Start all the needed paperwork for applied to a Canadia Resident Visa.&lt;br /&gt;* Learn Rails...Yeah...I said this every year -:(&lt;br /&gt;* Publish the following book:&lt;br /&gt;  - The Art of Programming Ruby&lt;br /&gt;  - The Art of Programming for Kids&lt;br /&gt;  - The Art of Programming SAP NetWeaver&lt;br /&gt;  - The Art of Programming Java&lt;br /&gt;* Learn Python...Same thing as Rails -:(&lt;br /&gt;* Finish my ABAPIF Engine&lt;br /&gt;* Attend TechEd Phoenix 2009&lt;br /&gt;* Give my daughter the best 1 years old party ever!&lt;br /&gt;* Loss weight...I need to loose at least 8 more kilos...&lt;br /&gt;* Get the Latin American people more involved on SCN&lt;br /&gt;&lt;br /&gt;As you can see...It's going to be a busy year for me -:) Specially because I always got new projects coming to my head every single day LOL&lt;br /&gt;&lt;br /&gt;Greetings,&lt;br /&gt;&lt;br /&gt;Blag.&lt;br /&gt;&lt;/DIV&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4144704359177008692-8564647447457189307?l=blagrants.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blagrants.blogspot.com/feeds/8564647447457189307/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4144704359177008692&amp;postID=8564647447457189307' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/8564647447457189307'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/8564647447457189307'/><link rel='alternate' type='text/html' href='http://blagrants.blogspot.com/2008/12/my-new-years-resolutions-for-2009.html' title='My New Year&apos;s resolutions (For 2009)...'/><author><name>Alvaro "Blag" Tejada Galindo</name><uri>http://www.blogger.com/profile/12061593528820409779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='https://weblogs.sdn.sap.com/images/people/alvaro_tajeda.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4144704359177008692.post-4962843799506868923</id><published>2008-12-28T07:22:00.000-08:00</published><updated>2008-12-28T07:27:10.372-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='misc'/><title type='text'>Blag's T-Shirts</title><content type='html'>&lt;DIV ALIGN="JUSTIFY"&gt;&lt;br /&gt;I just released a new store for selling &lt;span style="font-weight:bold;"&gt;Geek T-Shirts&lt;/span&gt; and related stuff.&lt;br /&gt;You can found it on &lt;a href="http://www.cafepress.com/atejada"&gt;Blag's T-Shirts&lt;/a&gt;.&lt;br /&gt;Here's a small sample -;)&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_eKAKUbdu3CI/SVeaZpCGIMI/AAAAAAAAA2Y/adSbDIuJOkE/s1600-h/Blag_Shirt_1.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 323px; height: 301px;" src="http://2.bp.blogspot.com/_eKAKUbdu3CI/SVeaZpCGIMI/AAAAAAAAA2Y/adSbDIuJOkE/s400/Blag_Shirt_1.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5284862453044617410" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_eKAKUbdu3CI/SVeai15vqbI/AAAAAAAAA2g/2Nzpi-j9hmY/s1600-h/Blag_Shirt_2.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 323px; height: 301px;" src="http://4.bp.blogspot.com/_eKAKUbdu3CI/SVeai15vqbI/AAAAAAAAA2g/2Nzpi-j9hmY/s400/Blag_Shirt_2.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5284862611118074290" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_eKAKUbdu3CI/SVeaq6ZRkFI/AAAAAAAAA2o/46gST4Q3g3E/s1600-h/Blag_Shirt_3.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 323px; height: 301px;" src="http://2.bp.blogspot.com/_eKAKUbdu3CI/SVeaq6ZRkFI/AAAAAAAAA2o/46gST4Q3g3E/s400/Blag_Shirt_3.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5284862749763014738" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Greetings,&lt;br /&gt;&lt;br /&gt;Blag.&lt;br /&gt;&lt;/DIV&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4144704359177008692-4962843799506868923?l=blagrants.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blagrants.blogspot.com/feeds/4962843799506868923/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4144704359177008692&amp;postID=4962843799506868923' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/4962843799506868923'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/4962843799506868923'/><link rel='alternate' type='text/html' href='http://blagrants.blogspot.com/2008/12/blags-t-shirts.html' title='Blag&apos;s T-Shirts'/><author><name>Alvaro "Blag" Tejada Galindo</name><uri>http://www.blogger.com/profile/12061593528820409779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='https://weblogs.sdn.sap.com/images/people/alvaro_tajeda.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_eKAKUbdu3CI/SVeaZpCGIMI/AAAAAAAAA2Y/adSbDIuJOkE/s72-c/Blag_Shirt_1.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4144704359177008692.post-3876992063421376296</id><published>2008-12-17T08:33:00.000-08:00</published><updated>2008-12-17T08:50:41.846-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Rant'/><category scheme='http://www.blogger.com/atom/ns#' term='Twitter'/><title type='text'>Do you follow me on Twitter? Coz I'm not following you...</title><content type='html'>&lt;DIV ALIGN="JUSTIFY"&gt;&lt;br /&gt;I have using &lt;a href="http://www.twitter.com/Blag"&gt;Twitter&lt;/a&gt; for a long time...And I can't deny that I totally love the service (Even with the whales)...&lt;br /&gt;&lt;br /&gt;But there's something that I still don't get...Why people try so hard to be the &lt;a href="http://en.wikipedia.org/wiki/Prom"&gt;Promo Queens&lt;/a&gt;? Sometimes I see profiles following thousands of people and being followed by another thousand of people...I really don't see a point on this...&lt;br /&gt;&lt;a href="http://twitter.com/guykawasaki"&gt;&lt;br /&gt;Guy Kawasaki&lt;/a&gt; posted on his blog a nice essay called &lt;a href="http://www.dmwmedia.com/news/2008/12/03/guy-kawasaki:-how-use-twitter-twool"&gt;How to Use Twitter as a Twool&lt;/a&gt;, while I like it, I don't follow his idea of using &lt;a href="http://www.twitter.com/Blag"&gt;Twitter&lt;/a&gt; as a marketing tool. Why? Simple answer...I use &lt;a href="http://www.twitter.com/Blag"&gt;Twitter&lt;/a&gt; to keep in touch with my friends or to know people who share my interests...Why on earth would I follow someone who doesn't nothing related to my own interests?&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_eKAKUbdu3CI/SUks9OOCC9I/AAAAAAAAA2Q/lGHcHP_dTzY/s1600-h/Blag_on_Twitter.jpeg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 199px; height: 119px;" src="http://2.bp.blogspot.com/_eKAKUbdu3CI/SUks9OOCC9I/AAAAAAAAA2Q/lGHcHP_dTzY/s400/Blag_on_Twitter.jpeg" border="0" alt=""id="BLOGGER_PHOTO_ID_5280801468369210322" /&gt;&lt;/a&gt;&lt;br /&gt;You can see that &lt;span style="font-weight:bold;"&gt;368&lt;/span&gt; individuals follow me, but I only follow &lt;span style="font-weight:bold;"&gt;235&lt;/span&gt;...There are &lt;span style="font-weight:bold;"&gt;133&lt;/span&gt; individual that I don't follow...&lt;br /&gt;&lt;br /&gt;I simply don't want my &lt;a href="http://www.twitter.com/Blag"&gt;Twitter&lt;/a&gt; flooding with Tweets that I don't want to read or are in any way interesting to me...&lt;br /&gt;&lt;br /&gt;Pretty sure, I'm going to loose some followers after this post...I don't care...I just my &lt;a href="http://www.twitter.com/Blag"&gt;Twitter&lt;/a&gt; to be plain and simple -;)&lt;br /&gt;&lt;br /&gt;Greetings,&lt;br /&gt;&lt;br /&gt;Blag.&lt;br /&gt;&lt;/DIV&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4144704359177008692-3876992063421376296?l=blagrants.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blagrants.blogspot.com/feeds/3876992063421376296/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4144704359177008692&amp;postID=3876992063421376296' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/3876992063421376296'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/3876992063421376296'/><link rel='alternate' type='text/html' href='http://blagrants.blogspot.com/2008/12/do-you-follow-me-on-twitter-coz-im-not.html' title='Do you follow me on Twitter? Coz I&apos;m not following you...'/><author><name>Alvaro "Blag" Tejada Galindo</name><uri>http://www.blogger.com/profile/12061593528820409779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='https://weblogs.sdn.sap.com/images/people/alvaro_tajeda.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_eKAKUbdu3CI/SUks9OOCC9I/AAAAAAAAA2Q/lGHcHP_dTzY/s72-c/Blag_on_Twitter.jpeg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4144704359177008692.post-7775758835102601307</id><published>2008-12-07T15:07:00.000-08:00</published><updated>2008-12-07T15:34:40.023-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Rant'/><category scheme='http://www.blogger.com/atom/ns#' term='Flex'/><title type='text'>Flex alternative IDEs...</title><content type='html'>&lt;DIV ALIGN="JUSTIFY"&gt;&lt;br /&gt;Because of my last post &lt;a href="http://tinyurl.com/6p8fgh"&gt;Looking for the perfect Ruby IDE&lt;/a&gt;, &lt;a href="http://twitter.com/fkoehn"&gt;Frank Koehntopp&lt;/a&gt; &lt;a href="http://www.gadgetguy.de/"&gt;The Gadget guy&lt;/a&gt; ask me about &lt;a href="http://www.flex.org"&gt;Flex&lt;/a&gt; IDEs...&lt;br /&gt;&lt;br /&gt;It amazing that even when &lt;a href="http://www.adobe.com/products/flex/features/flex_builder/"&gt;Flex Builder&lt;/a&gt; it's a great tool, there are only a couple of open source projects handling &lt;a href="http://www.flex.org"&gt;Flex&lt;/a&gt; development.&lt;br /&gt;&lt;br /&gt;First try was &lt;a href="http://flexible.riaforge.org/"&gt;FLEXible&lt;/a&gt; an IDE made with &lt;a href="http://www.flex.org"&gt;Flex&lt;/a&gt;...What can I say? It's still Alpha and I could do anything with it...Just get error messages...&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_eKAKUbdu3CI/STxaiIoY9rI/AAAAAAAAAsE/R7qSbfHhfQU/s1600-h/FLEXible.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 311px;" src="http://3.bp.blogspot.com/_eKAKUbdu3CI/STxaiIoY9rI/AAAAAAAAAsE/R7qSbfHhfQU/s400/FLEXible.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5277192405850322610" /&gt;&lt;/a&gt;&lt;br /&gt;Second try was &lt;a href="http://sourceforge.net/projects/flexbean/"&gt;FlexBean&lt;/a&gt; a &lt;a href="http://www.netbeans.org/downloads/"&gt;NetBeans&lt;/a&gt; plug-in...Very nice...But it lacks of code completion...Anyway...It's a nice option.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_eKAKUbdu3CI/STxbKv12rzI/AAAAAAAAAsM/vOfUARd8vSg/s1600-h/FlexBeans.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 234px;" src="http://3.bp.blogspot.com/_eKAKUbdu3CI/STxbKv12rzI/AAAAAAAAAsM/vOfUARd8vSg/s400/FlexBeans.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5277193103570546482" /&gt;&lt;/a&gt;&lt;br /&gt;Last try was &lt;a href="http://www.flashdevelop.org/community/viewtopic.php?f=11&amp;t=3589"&gt;Flash Develop&lt;/a&gt;, which need some external configuration but has code completion...I have read it's widely used...So far, the best alternative IDE...&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_eKAKUbdu3CI/STxctljciII/AAAAAAAAAsU/lBtiFO3HfAA/s1600-h/FlashDevelop.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 236px;" src="http://1.bp.blogspot.com/_eKAKUbdu3CI/STxctljciII/AAAAAAAAAsU/lBtiFO3HfAA/s400/FlashDevelop.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5277194801616029826" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I can't say that I would want to see other &lt;a href="http://www.flex.org"&gt;Flex&lt;/a&gt; IDEs...Because &lt;a href="http://www.adobe.com/products/flex/features/flex_builder/"&gt;Flex Builder&lt;/a&gt; is just great...But I hope that the Open Source Community can came out with some better alternative &lt;a href="http://www.flex.org"&gt;Flex&lt;/a&gt; IDEs...&lt;br /&gt;&lt;br /&gt;Greetings,&lt;br /&gt;&lt;br /&gt;Blag.&lt;br /&gt;&lt;/DIV&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4144704359177008692-7775758835102601307?l=blagrants.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blagrants.blogspot.com/feeds/7775758835102601307/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4144704359177008692&amp;postID=7775758835102601307' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/7775758835102601307'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/7775758835102601307'/><link rel='alternate' type='text/html' href='http://blagrants.blogspot.com/2008/12/flex-alternative-ides.html' title='Flex alternative IDEs...'/><author><name>Alvaro "Blag" Tejada Galindo</name><uri>http://www.blogger.com/profile/12061593528820409779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='https://weblogs.sdn.sap.com/images/people/alvaro_tajeda.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_eKAKUbdu3CI/STxaiIoY9rI/AAAAAAAAAsE/R7qSbfHhfQU/s72-c/FLEXible.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4144704359177008692.post-7631667557674910092</id><published>2008-12-05T07:24:00.000-08:00</published><updated>2008-12-05T07:57:13.054-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ruby'/><category scheme='http://www.blogger.com/atom/ns#' term='Rant'/><title type='text'>Looking for the perfect Ruby IDE</title><content type='html'>&lt;DIV ALIGN="JUSTIFY"&gt;&lt;br /&gt;I consider myself a &lt;a href="http://www.ruby-lang.org/en/"&gt;Ruby&lt;/a&gt; fan...That's why I'm always looking for news and of course...&lt;a href="http://en.wikipedia.org/wiki/Integrated_development_environment"&gt;IDE's&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;My first approach was &lt;a href="http://rubyforge.org/frs/?group_id=31"&gt;FreeRide&lt;/a&gt;, a &lt;a href="http://www.ruby-lang.org/en/"&gt;Ruby&lt;/a&gt; based IDE. What I love about this IDE it it's simplicity...While some people are getting used to fancy &lt;a href="http://en.wikipedia.org/wiki/Rapid_application_development"&gt;RAD&lt;/a&gt; tools, I like to keep things as simple as possible...&lt;a href="http://rubyforge.org/frs/?group_id=31"&gt;FreeRide&lt;/a&gt; offers this.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_eKAKUbdu3CI/STlJl0neX3I/AAAAAAAAArs/_5cAMkEsmN0/s1600-h/FreeRide.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 285px;" src="http://1.bp.blogspot.com/_eKAKUbdu3CI/STlJl0neX3I/AAAAAAAAArs/_5cAMkEsmN0/s400/FreeRide.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5276329352569446258" /&gt;&lt;/a&gt;&lt;br /&gt;Second try was &lt;a href="http://www.sapphiresteel.com/Ruby-In-Steel-New-Free-Edition"&gt;Ruby in Steel&lt;/a&gt;, which is free in it's personal edition. I have never been a huge fan of &lt;a href="http://en.wikipedia.org/wiki/Microsoft_Visual_Studio"&gt;Visual Studio&lt;/a&gt; even when I got some &lt;a href="http://en.wikipedia.org/wiki/C_Sharp_(programming_language)"&gt;C#&lt;/a&gt; skills...Despise that, I decide to give this IDE a try...Installation was quick and smooth...However, as I already had &lt;a href="http://www.ruby-lang.org/en/"&gt;Ruby&lt;/a&gt; installed on my laptop, I decided to skip it from the installation for later configuration...Sad surprise when I pointed to my &lt;a href="http://www.ruby-lang.org/en/"&gt;Ruby&lt;/a&gt; installation folder...&lt;a href="http://www.sapphiresteel.com/Ruby-In-Steel-New-Free-Edition"&gt;Ruby in Steel&lt;/a&gt; didn't accept it...According to the message, I needed &lt;a href="http://www.ruby-lang.org/en/"&gt;Ruby&lt;/a&gt; to be installed on &lt;span style="font-weight:bold;"&gt;Program Files&lt;/span&gt; folder, while I have it under &lt;span style="font-weight:bold;"&gt;Programacion&lt;/span&gt; folder. Bad thing, as I got no plans on uninstalling my current configuration...&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_eKAKUbdu3CI/STlMkINBLsI/AAAAAAAAAr0/bj7awFUPkyQ/s1600-h/RubyInSteel.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 312px;" src="http://1.bp.blogspot.com/_eKAKUbdu3CI/STlMkINBLsI/AAAAAAAAAr0/bj7awFUPkyQ/s400/RubyInSteel.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5276332622002335426" /&gt;&lt;/a&gt;&lt;br /&gt;My last attempt was &lt;a href="http://www.netbeans.org/downloads/index.html"&gt;NetBeans 6.5&lt;/a&gt; which is currently bundling Ruby/Rails, Groovy/Grails, C/C++, Java/JavaME/JavaFX and PHP (I wonder why left out Python and Perl)...This was a real pleasant surprise...&lt;a href="http://www.netbeans.org/downloads/index.html"&gt;NetBeans&lt;/a&gt; had done an excellent job...I really love the IDE and sure love the &lt;a href="http://www.ruby-lang.org/en/"&gt;Ruby&lt;/a&gt; support which is run under &lt;a href="http://jruby.codehaus.org/"&gt;JRuby&lt;/a&gt;...I could installed all my beloved gems and start working...Highly recommended -:)&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_eKAKUbdu3CI/STlORQfFRmI/AAAAAAAAAr8/38UNf1pmPDY/s1600-h/NetBeans.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 218px;" src="http://2.bp.blogspot.com/_eKAKUbdu3CI/STlORQfFRmI/AAAAAAAAAr8/38UNf1pmPDY/s400/NetBeans.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5276334496831325794" /&gt;&lt;/a&gt;&lt;br /&gt;Now...I know what you're thinking...&lt;span style="font-weight:bold;"&gt;"Hey Blag...Haven't you tried &lt;a href="http://www.eclipse.org/"&gt;Eclipse&lt;/a&gt;?"&lt;/span&gt; Sure I did, but doesn't think it was necessary to put it here...I use &lt;a href="http://www.eclipse.org/"&gt;Eclipse&lt;/a&gt; for my &lt;a href="http://flex.org/"&gt;Flex&lt;/a&gt; development and wanted to keep it that way...&lt;br /&gt;&lt;br /&gt;Also...There are a plethora of IDE's out there...But those three we're the most important to me...Which are yours?&lt;br /&gt;&lt;br /&gt;Greetings,&lt;br /&gt;&lt;br /&gt;Blag.&lt;br /&gt;&lt;/DIV&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4144704359177008692-7631667557674910092?l=blagrants.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blagrants.blogspot.com/feeds/7631667557674910092/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4144704359177008692&amp;postID=7631667557674910092' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/7631667557674910092'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/7631667557674910092'/><link rel='alternate' type='text/html' href='http://blagrants.blogspot.com/2008/12/looking-for-perfect-ruby-ide.html' title='Looking for the perfect Ruby IDE'/><author><name>Alvaro "Blag" Tejada Galindo</name><uri>http://www.blogger.com/profile/12061593528820409779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='https://weblogs.sdn.sap.com/images/people/alvaro_tajeda.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_eKAKUbdu3CI/STlJl0neX3I/AAAAAAAAArs/_5cAMkEsmN0/s72-c/FreeRide.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4144704359177008692.post-5270619398089807985</id><published>2008-11-23T07:35:00.000-08:00</published><updated>2008-11-23T08:58:47.321-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='misc'/><category scheme='http://www.blogger.com/atom/ns#' term='Flex'/><title type='text'>The Art of Programming Flex</title><content type='html'>&lt;DIV ALIGN="JUSTIFY"&gt;&lt;br /&gt;Today I have released my first book in English...&lt;span style="font-weight:bold;"&gt;&lt;a href="http://www.lulu.com/content/5033379"&gt;The Art of Programming Flex&lt;/a&gt;&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_eKAKUbdu3CI/SSl4ossckbI/AAAAAAAAArQ/UBFubvYL22s/s1600-h/TheArtofProgramingFlex.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 272px; height: 400px;" src="http://2.bp.blogspot.com/_eKAKUbdu3CI/SSl4ossckbI/AAAAAAAAArQ/UBFubvYL22s/s400/TheArtofProgramingFlex.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5271877479401558450" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;A journey through MXML, ActionScript, WebServices, Database access, and many more. Available in Printed Book and PDF.&lt;br /&gt;&lt;br /&gt;Greetings,&lt;br /&gt;&lt;br /&gt;Blag.&lt;br /&gt;&lt;/DIV&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4144704359177008692-5270619398089807985?l=blagrants.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blagrants.blogspot.com/feeds/5270619398089807985/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4144704359177008692&amp;postID=5270619398089807985' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/5270619398089807985'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/5270619398089807985'/><link rel='alternate' type='text/html' href='http://blagrants.blogspot.com/2008/11/art-of-programming-flex.html' title='The Art of Programming Flex'/><author><name>Alvaro "Blag" Tejada Galindo</name><uri>http://www.blogger.com/profile/12061593528820409779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='https://weblogs.sdn.sap.com/images/people/alvaro_tajeda.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_eKAKUbdu3CI/SSl4ossckbI/AAAAAAAAArQ/UBFubvYL22s/s72-c/TheArtofProgramingFlex.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4144704359177008692.post-2503484089487200969</id><published>2008-11-20T02:54:00.000-08:00</published><updated>2008-11-20T03:23:47.959-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='misc'/><title type='text'>Give your Gmail a new look...</title><content type='html'>&lt;DIV ALIGN="JUSTIFY"&gt;&lt;br /&gt;The Gmail Team had just released &lt;span style="font-weight:bold;"&gt;Themes&lt;/span&gt; to the GMail interface.&lt;br /&gt;If you're lucky, you can find them on the tab &lt;span style="font-weight:bold;"&gt;Themes&lt;/span&gt; under &lt;span style="font-weight:bold;"&gt;Settings&lt;/span&gt;. &lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_eKAKUbdu3CI/SSVEhC-BFCI/AAAAAAAAAq4/dQbu5jFPhGA/s1600-h/GMail_Themes_01.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 37px;" src="http://1.bp.blogspot.com/_eKAKUbdu3CI/SSVEhC-BFCI/AAAAAAAAAq4/dQbu5jFPhGA/s400/GMail_Themes_01.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5270694273430393890" /&gt;&lt;/a&gt;&lt;br /&gt;Why did I say &lt;span style="font-style:italic;"&gt;If you're lucky&lt;/span&gt;? Well...It seems that GMail is slowly implementing this...So not everyone is going to have them at the same time.&lt;br /&gt;So...Let's see how &lt;span style="font-weight:bold;"&gt;Themes&lt;/span&gt; looks like...&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_eKAKUbdu3CI/SSVE6a73iUI/AAAAAAAAArA/NYIzEEn9rd0/s1600-h/GMail_Themes_02.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 124px;" src="http://4.bp.blogspot.com/_eKAKUbdu3CI/SSVE6a73iUI/AAAAAAAAArA/NYIzEEn9rd0/s400/GMail_Themes_02.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5270694709360560450" /&gt;&lt;/a&gt;&lt;br /&gt;Pretty cool, huh? But I'm sure you wanted to see them on an actual GMail account...Let's look at mine...&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_eKAKUbdu3CI/SSVHp7kS1-I/AAAAAAAAArI/-7S3Lgh6HTQ/s1600-h/GMail_Themes_03.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 165px;" src="http://1.bp.blogspot.com/_eKAKUbdu3CI/SSVHp7kS1-I/AAAAAAAAArI/-7S3Lgh6HTQ/s400/GMail_Themes_03.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5270697724597164002" /&gt;&lt;/a&gt;&lt;br /&gt;You may notice that the sign "This is my mail...It's Private! -:)" was written by me...GMail doesn't offer that kind of silly signs -:)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Themes&lt;/span&gt; might look a little weird...and sure, they would feel a little weird...But I like them...I think it's a nice improvement to the good old GMail interface...If you can, give them a try -;)&lt;br /&gt;&lt;br /&gt;Greetings,&lt;br /&gt;&lt;br /&gt;Blag.&lt;br /&gt;&lt;/DIV&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4144704359177008692-2503484089487200969?l=blagrants.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blagrants.blogspot.com/feeds/2503484089487200969/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4144704359177008692&amp;postID=2503484089487200969' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/2503484089487200969'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/2503484089487200969'/><link rel='alternate' type='text/html' href='http://blagrants.blogspot.com/2008/11/give-your-gmail-new-look.html' title='Give your Gmail a new look...'/><author><name>Alvaro "Blag" Tejada Galindo</name><uri>http://www.blogger.com/profile/12061593528820409779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='https://weblogs.sdn.sap.com/images/people/alvaro_tajeda.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_eKAKUbdu3CI/SSVEhC-BFCI/AAAAAAAAAq4/dQbu5jFPhGA/s72-c/GMail_Themes_01.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4144704359177008692.post-4875866561252089483</id><published>2008-10-31T09:09:00.000-07:00</published><updated>2008-10-31T09:23:57.159-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Twitter'/><title type='text'>Tweeting like the pros...With Twitwall</title><content type='html'>&lt;DIV ALIGN="JUSTIFY"&gt;&lt;br /&gt;If you're a &lt;a href="http://www.twitter.com"&gt;Twitter&lt;/a&gt; addict, like me -;) You should be aware of &lt;a href="http://tinypaste.com/"&gt;Tinypaste&lt;/a&gt; and &lt;a href="http://twitpic.com/"&gt;TwitPic&lt;/a&gt;, two wonderful &lt;a href="http://www.twitter.com"&gt;Twitter&lt;/a&gt; companions...But are you aware of &lt;a href="http://twitwall.com/"&gt;Twitwall&lt;/a&gt;?&lt;br /&gt;&lt;br /&gt;This free service created by &lt;a href="http://www.twitter.com/mecarluen"&gt;Michael E. Carluen&lt;/a&gt; provides the same functionality as &lt;a href="http://tinypaste.com/"&gt;Tinypaste&lt;/a&gt; and &lt;a href="http://twitpic.com/"&gt;TwitPic&lt;/a&gt; with some more cool features...Let's see some pictures...&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_eKAKUbdu3CI/SQsvAzezF6I/AAAAAAAAAqQ/2AWnqvQEsak/s1600-h/Twitwall_01.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 279px;" src="http://4.bp.blogspot.com/_eKAKUbdu3CI/SQsvAzezF6I/AAAAAAAAAqQ/2AWnqvQEsak/s400/Twitwall_01.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5263352280378447778" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_eKAKUbdu3CI/SQsvLHoPhqI/AAAAAAAAAqY/MpBTpLG3z4Q/s1600-h/Twitwall_02.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 280px;" src="http://1.bp.blogspot.com/_eKAKUbdu3CI/SQsvLHoPhqI/AAAAAAAAAqY/MpBTpLG3z4Q/s400/Twitwall_02.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5263352457585460898" /&gt;&lt;/a&gt;&lt;br /&gt;You first notice that the interface is very similar to &lt;a href="http://www.twitter.com"&gt;Twitter&lt;/a&gt;, but you can change font size and color -:)&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_eKAKUbdu3CI/SQsvgx0PGmI/AAAAAAAAAqg/Pv7MyXciOw0/s1600-h/Twitwall_03.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 371px; height: 338px;" src="http://4.bp.blogspot.com/_eKAKUbdu3CI/SQsvgx0PGmI/AAAAAAAAAqg/Pv7MyXciOw0/s400/Twitwall_03.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5263352829687306850" /&gt;&lt;/a&gt;&lt;br /&gt;You got a very nice RichText editor with the change to include pictures on the same post...&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_eKAKUbdu3CI/SQsvzkYckHI/AAAAAAAAAqo/9cmKMhXy21I/s1600-h/Twitwall_04.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 375px; height: 325px;" src="http://4.bp.blogspot.com/_eKAKUbdu3CI/SQsvzkYckHI/AAAAAAAAAqo/9cmKMhXy21I/s400/Twitwall_04.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5263353152498602098" /&gt;&lt;/a&gt;&lt;br /&gt;The pictures gets embed in your post...And yes...I attached the same picture as above -:) Have you noticed that you can actually add a title and description to your post?&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_eKAKUbdu3CI/SQswSP6ISVI/AAAAAAAAAqw/ophsm21h8Ls/s1600-h/Twitwall_05.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 160px;" src="http://2.bp.blogspot.com/_eKAKUbdu3CI/SQswSP6ISVI/AAAAAAAAAqw/ophsm21h8Ls/s400/Twitwall_05.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5263353679578679634" /&gt;&lt;/a&gt;&lt;br /&gt;On &lt;a href="http://www.twitter.com"&gt;Twitter&lt;/a&gt; you see the title, and a link send you to &lt;a href="http://twitwall.com/"&gt;Twitwall&lt;/a&gt; to see both the picture and the description on your post.&lt;br /&gt;&lt;br /&gt;After seeing this...Why you haven't create you account yet? You even got &lt;a href="http://twitter.grader.com/"&gt;Twitter Grader&lt;/a&gt; inside you account -:D&lt;br /&gt;&lt;br /&gt;Greetings,&lt;br /&gt;&lt;br /&gt;Blag.&lt;br /&gt;&lt;/DIV&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4144704359177008692-4875866561252089483?l=blagrants.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blagrants.blogspot.com/feeds/4875866561252089483/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4144704359177008692&amp;postID=4875866561252089483' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/4875866561252089483'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/4875866561252089483'/><link rel='alternate' type='text/html' href='http://blagrants.blogspot.com/2008/10/tweeting-like-proswith-twitwall.html' title='Tweeting like the pros...With Twitwall'/><author><name>Alvaro "Blag" Tejada Galindo</name><uri>http://www.blogger.com/profile/12061593528820409779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='https://weblogs.sdn.sap.com/images/people/alvaro_tajeda.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_eKAKUbdu3CI/SQsvAzezF6I/AAAAAAAAAqQ/2AWnqvQEsak/s72-c/Twitwall_01.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4144704359177008692.post-7546617472415918174</id><published>2008-10-21T04:04:00.000-07:00</published><updated>2008-10-21T04:15:43.284-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='misc'/><category scheme='http://www.blogger.com/atom/ns#' term='Rant'/><title type='text'>Requiem for a cat...</title><content type='html'>&lt;DIV ALIGN="JUSTIFY"&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_eKAKUbdu3CI/SP24bRuLedI/AAAAAAAAApo/EfwLah_jYto/s1600-h/000_0368.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://4.bp.blogspot.com/_eKAKUbdu3CI/SP24bRuLedI/AAAAAAAAApo/EfwLah_jYto/s400/000_0368.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5259562718591678930" /&gt;&lt;/a&gt;&lt;br /&gt;Last Saturday...My cat &lt;span style="font-weight:bold;"&gt;Cheko&lt;/span&gt; passed away...What can I say about him? &lt;span style="font-weight:bold;"&gt;Cheko&lt;/span&gt; was more than a cat to me...He was a friend, a confident, a brother...He lived some great and productive 11 years of sleeping, eating and chasing bugs...Now, he must be in heaven listening to his all time favorite Punk Rock Band &lt;span style="font-weight:bold;"&gt;The Misfits&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Cheko&lt;/span&gt; and I spend some great moments...He was there when I start programming, he was there when I was getting ready to went to the church and get married, he was there when I take my daughter to my mom's house...He was always there...&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_eKAKUbdu3CI/SP24-xQ9qtI/AAAAAAAAApw/d_IWGtMrU4g/s1600-h/cheko_y_yo_(20041031).jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://4.bp.blogspot.com/_eKAKUbdu3CI/SP24-xQ9qtI/AAAAAAAAApw/d_IWGtMrU4g/s400/cheko_y_yo_(20041031).jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5259563328354495186" /&gt;&lt;/a&gt;&lt;br /&gt;Cheko, you were and you're always going to be...The best cat ever...Man! You'll always be missed -:')&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_eKAKUbdu3CI/SP25WVNXaLI/AAAAAAAAAp4/Vchysgyro_k/s1600-h/000_0876.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://4.bp.blogspot.com/_eKAKUbdu3CI/SP25WVNXaLI/AAAAAAAAAp4/Vchysgyro_k/s400/000_0876.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5259563733140072626" /&gt;&lt;/a&gt;&lt;br /&gt;Greetings,&lt;br /&gt;&lt;br /&gt;Blag.&lt;br /&gt;&lt;/DIV&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4144704359177008692-7546617472415918174?l=blagrants.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blagrants.blogspot.com/feeds/7546617472415918174/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4144704359177008692&amp;postID=7546617472415918174' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/7546617472415918174'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/7546617472415918174'/><link rel='alternate' type='text/html' href='http://blagrants.blogspot.com/2008/10/requiem-for-cat.html' title='Requiem for a cat...'/><author><name>Alvaro "Blag" Tejada Galindo</name><uri>http://www.blogger.com/profile/12061593528820409779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='https://weblogs.sdn.sap.com/images/people/alvaro_tajeda.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_eKAKUbdu3CI/SP24bRuLedI/AAAAAAAAApo/EfwLah_jYto/s72-c/000_0368.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4144704359177008692.post-2379654632650319376</id><published>2008-10-03T07:50:00.000-07:00</published><updated>2008-10-03T08:04:35.312-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='misc'/><category scheme='http://www.blogger.com/atom/ns#' term='Games'/><title type='text'>Quake Live...It's alive!</title><content type='html'>&lt;DIV ALIGN="JUSTIFY"&gt;&lt;br /&gt;A couple of weeks ago...Well...Actually last week LOL I sign up for the &lt;a href="http://quakelive.idsoftware.com/beta/"&gt;Quake Live Beta program&lt;/a&gt;...Gladly...Got accepted -;) So I create my account...Download the browser client (Works great on Firefox, haven't test it in other browsers...yet).&lt;br /&gt;&lt;br /&gt;So...Have you ever played &lt;a href="http://en.wikipedia.org/wiki/Quake"&gt;Quake&lt;/a&gt;, &lt;a href="http://en.wikipedia.org/wiki/Doom_(video_game)"&gt;Doom&lt;/a&gt; or &lt;a href="http://en.wikipedia.org/wiki/Wolfenstein_3D"&gt;Wolfenstein 3D&lt;/a&gt;? I had surely do...I'm a big fan of &lt;a href="http://en.wikipedia.org/wiki/ID_Software"&gt;ID Software games&lt;/a&gt;...&lt;br /&gt;&lt;br /&gt;Let's look at some pictures...First, you can choose from various characters...&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_eKAKUbdu3CI/SOYyzpINb7I/AAAAAAAAAog/fXNOCRIsXo0/s1600-h/Quake_Live_01.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://4.bp.blogspot.com/_eKAKUbdu3CI/SOYyzpINb7I/AAAAAAAAAog/fXNOCRIsXo0/s400/Quake_Live_01.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5252941878169268146" /&gt;&lt;/a&gt;&lt;br /&gt;You can access a "Learn first" arena...&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_eKAKUbdu3CI/SOYzCHeUTAI/AAAAAAAAAoo/GdZ3QJGq1Yo/s1600-h/Quake_Live_02.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://1.bp.blogspot.com/_eKAKUbdu3CI/SOYzCHeUTAI/AAAAAAAAAoo/GdZ3QJGq1Yo/s400/Quake_Live_02.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5252942126833224706" /&gt;&lt;/a&gt;&lt;br /&gt;A bot called &lt;span style="font-weight:bold;"&gt;Crash&lt;/span&gt; is ready to give the first lessons...&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_eKAKUbdu3CI/SOYzQYi2UrI/AAAAAAAAAow/-o1OO4aibjo/s1600-h/Quake_Live_03.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://4.bp.blogspot.com/_eKAKUbdu3CI/SOYzQYi2UrI/AAAAAAAAAow/-o1OO4aibjo/s400/Quake_Live_03.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5252942371933803186" /&gt;&lt;/a&gt;&lt;br /&gt;You can even fight &lt;span style="font-weight:bold;"&gt;Crash&lt;/span&gt; in a small DeathMatch practice game...&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_eKAKUbdu3CI/SOYzjUkxayI/AAAAAAAAAo4/-Xw45L0pbXs/s1600-h/Quake_Live_04.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://3.bp.blogspot.com/_eKAKUbdu3CI/SOYzjUkxayI/AAAAAAAAAo4/-Xw45L0pbXs/s400/Quake_Live_04.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5252942697285643042" /&gt;&lt;/a&gt;&lt;br /&gt;The graphics are very cool, the movement is very smooth and you got a nice range of weapons...&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_eKAKUbdu3CI/SOYz5_8O0BI/AAAAAAAAApA/RtB0crSstmY/s1600-h/Quake_Live_05.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://2.bp.blogspot.com/_eKAKUbdu3CI/SOYz5_8O0BI/AAAAAAAAApA/RtB0crSstmY/s400/Quake_Live_05.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5252943086883885074" /&gt;&lt;/a&gt;&lt;br /&gt;As in most On-Line games, some additional data is downloaded when you load a new Arena, but this download is very quick -;)&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_eKAKUbdu3CI/SOY0Il39XoI/AAAAAAAAApI/2pI_B5ZYV0Y/s1600-h/Quake_Live_06.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://4.bp.blogspot.com/_eKAKUbdu3CI/SOY0Il39XoI/AAAAAAAAApI/2pI_B5ZYV0Y/s400/Quake_Live_06.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5252943337584680578" /&gt;&lt;/a&gt;&lt;br /&gt;In other words...&lt;a href="http://quakelive.idsoftware.com/beta/"&gt;Quake Live&lt;/a&gt; rules!!!&lt;br /&gt;&lt;br /&gt;Greetings,&lt;br /&gt;&lt;br /&gt;Blag.&lt;br /&gt;&lt;/DIV&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4144704359177008692-2379654632650319376?l=blagrants.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blagrants.blogspot.com/feeds/2379654632650319376/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4144704359177008692&amp;postID=2379654632650319376' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/2379654632650319376'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/2379654632650319376'/><link rel='alternate' type='text/html' href='http://blagrants.blogspot.com/2008/10/quake-liveits-alive.html' title='Quake Live...It&apos;s alive!'/><author><name>Alvaro "Blag" Tejada Galindo</name><uri>http://www.blogger.com/profile/12061593528820409779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='https://weblogs.sdn.sap.com/images/people/alvaro_tajeda.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_eKAKUbdu3CI/SOYyzpINb7I/AAAAAAAAAog/fXNOCRIsXo0/s72-c/Quake_Live_01.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4144704359177008692.post-3366899986747350634</id><published>2008-09-25T09:34:00.000-07:00</published><updated>2008-09-25T09:38:06.572-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Rant'/><title type='text'>Introducing...Blag Software</title><content type='html'>&lt;DIV ALIGN="JUSTIFY"&gt;&lt;br /&gt;Yeah...I know...I'm kinda crazy...Blag Software? Sure -:) My new space to share freeware software...&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;&lt;blockquote&gt;Blag software is my attempt to create useless software (Applications and games) using ABAP, Java, Ruby, Flex, AIR, C#, Euphoria or whatever language I wanted to use.&lt;/blockquote&gt;&lt;/span&gt;&lt;br /&gt;The page is still under construction...No downloads are available yet...But you can check it out at your own risk -:)&lt;br /&gt;&lt;br /&gt;&lt;DIV ALIGN="CENTER"&gt;&lt;a href="http://blagsoftware.bravehost.com/Home.html"&gt;Blag Software&lt;/a&gt;&lt;/DIV&gt;&lt;br /&gt;Greetings,&lt;br /&gt;&lt;br /&gt;Blag.&lt;br /&gt;&lt;/DIV&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4144704359177008692-3366899986747350634?l=blagrants.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blagrants.blogspot.com/feeds/3366899986747350634/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4144704359177008692&amp;postID=3366899986747350634' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/3366899986747350634'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/3366899986747350634'/><link rel='alternate' type='text/html' href='http://blagrants.blogspot.com/2008/09/introducingblag-software.html' title='Introducing...Blag Software'/><author><name>Alvaro "Blag" Tejada Galindo</name><uri>http://www.blogger.com/profile/12061593528820409779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='https://weblogs.sdn.sap.com/images/people/alvaro_tajeda.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4144704359177008692.post-953348405736572263</id><published>2008-09-23T12:33:00.000-07:00</published><updated>2008-09-23T12:48:53.832-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Community_Day_2008'/><category scheme='http://www.blogger.com/atom/ns#' term='TechEd_2008'/><category scheme='http://www.blogger.com/atom/ns#' term='Rant'/><category scheme='http://www.blogger.com/atom/ns#' term='SAP'/><category scheme='http://www.blogger.com/atom/ns#' term='SCN'/><title type='text'>SCN Badges...</title><content type='html'>&lt;DIV ALIGN="JUSTIFY"&gt;&lt;br /&gt;I remember the first time I sign to &lt;a href="http://sdn.sap.com"&gt;SDN&lt;/a&gt;...They give away a lot of cool prizes...You just needed to make some amount of points in a month to get a prize right at the door of your house...That was really nice, but people started to cheat in order to get more prizes...At that time I started to think...&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;&lt;blockquote&gt;Why is SAP spending so much money on this? &lt;/blockquote&gt;&lt;/span&gt;&lt;br /&gt;Surely, it was to get more people involved...Gladly the stop doing it...But only after I get some really nice gifts LOL&lt;br /&gt;&lt;br /&gt;Then, they started to give aways T-Shirts...250, 500, 1K, 2K, 5K and a fleece jacket for 10K...That was awesome...I got the 1K, 2K, 5K T-Shirts...And they stop sending them before I reached 10K -:( At that time I started to think...&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;&lt;blockquote&gt;Man! SAP doesn't want to give me my fleece jacket -:(&lt;/blockquote&gt;&lt;/span&gt;&lt;br /&gt;But believe me...They had a pretty good cause...&lt;a href="http://tinyurl.com/3o3aan"&gt;Food for Points&lt;/a&gt;...If that's not good enough...Then nothing is -:)&lt;br /&gt;&lt;br /&gt;But...You know &lt;a href="http://www.sap.com"&gt;SAP&lt;/a&gt;, they always love to give away things...So know you can got a very nice Dog Tag if you have get at least 250 points...Sure, I got an extra Dog Tag for being a &lt;span style="font-weight:bold;"&gt;Moderator&lt;/span&gt; -;)&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_eKAKUbdu3CI/SNlGq_4FvwI/AAAAAAAAAoY/9ggBaDl3eXo/s1600-h/DSC03674.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://4.bp.blogspot.com/_eKAKUbdu3CI/SNlGq_4FvwI/AAAAAAAAAoY/9ggBaDl3eXo/s400/DSC03674.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5249304545192165122" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;This year at Community Day Las Vegas 2008...We didn't get T-Shirts either...But a really nice &lt;a href="http://www.sap.com"&gt;SAP&lt;/a&gt; and &lt;a href="http://www.adobe.com"&gt;Adobe&lt;/a&gt; harmonica -:D&lt;br /&gt;&lt;br /&gt;I asked &lt;a href="https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.sdn.businesscard.SDNBusinessCard?u=G9g0PZYnHCA%3D"&gt;Mark Finnern&lt;/a&gt; about the Community Day T-Shirt and he told me...&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Sorry Blag, no T-Shirts this year...That's we give the harmonicas.&lt;blockquote&gt;&lt;/blockquote&gt;&lt;/span&gt;&lt;br /&gt;After that I think...&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Sure man...Harmonicas are pretty cool...What how I'm supposed to wear it???&lt;blockquote&gt;&lt;/blockquote&gt;&lt;/span&gt;&lt;br /&gt;Of course...I didn't tell him anything LOL (He's my boss...The problem is that he hasn't realized that)...I really love the harmonica and my wife as well...Good choice again -:D&lt;br /&gt;&lt;br /&gt;Greetings,&lt;br /&gt;&lt;br /&gt;Blag.&lt;br /&gt;&lt;/DIV&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4144704359177008692-953348405736572263?l=blagrants.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blagrants.blogspot.com/feeds/953348405736572263/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4144704359177008692&amp;postID=953348405736572263' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/953348405736572263'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/953348405736572263'/><link rel='alternate' type='text/html' href='http://blagrants.blogspot.com/2008/09/scn-badges.html' title='SCN Badges...'/><author><name>Alvaro "Blag" Tejada Galindo</name><uri>http://www.blogger.com/profile/12061593528820409779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='https://weblogs.sdn.sap.com/images/people/alvaro_tajeda.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_eKAKUbdu3CI/SNlGq_4FvwI/AAAAAAAAAoY/9ggBaDl3eXo/s72-c/DSC03674.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4144704359177008692.post-6921304707078815249</id><published>2008-09-23T12:17:00.001-07:00</published><updated>2008-09-23T12:27:55.510-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Community_Day_2008'/><category scheme='http://www.blogger.com/atom/ns#' term='TechEd_2008'/><category scheme='http://www.blogger.com/atom/ns#' term='SAP'/><category scheme='http://www.blogger.com/atom/ns#' term='SCN'/><category scheme='http://www.blogger.com/atom/ns#' term='SAP_Mentors'/><title type='text'>SAP Mentor 2009</title><content type='html'>&lt;DIV ALIGN="JUSTIFY"&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_eKAKUbdu3CI/SNlBAGtlF_I/AAAAAAAAAoI/Kf94ys5WvCo/s1600-h/SAP_Mentor_2009.gif"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://1.bp.blogspot.com/_eKAKUbdu3CI/SNlBAGtlF_I/AAAAAAAAAoI/Kf94ys5WvCo/s400/SAP_Mentor_2009.gif" border="0" alt=""id="BLOGGER_PHOTO_ID_5249298310734616562" /&gt;&lt;/a&gt;&lt;br /&gt;This year...I got elected as an SAP Mentor...It's my second year and I can't be more proud about it -:)&lt;br /&gt;&lt;br /&gt;I got my new Mentor plaque...Which looks better than last year -;)&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_eKAKUbdu3CI/SNlBSE1fdFI/AAAAAAAAAoQ/s1eOzQ8j29k/s1600-h/DSC03581.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://3.bp.blogspot.com/_eKAKUbdu3CI/SNlBSE1fdFI/AAAAAAAAAoQ/s1eOzQ8j29k/s400/DSC03581.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5249298619468575826" /&gt;&lt;/a&gt;&lt;br /&gt;Also, I got extra features at SAP TechEd 2008 in Las Vegas...Which included some Press Conferences, Meetings with SAP Executives, Special seats at DemoJam, Keynote and Concert, Photo shoot session, Mentor Meetings and all the good things that only SAP can provide -:)&lt;br /&gt;&lt;br /&gt;I really don't have a clue on how the SAP Mentor Program is going to evolve in the next couple of years...But if you want to be next SAP Mentor...Here are some special tips -;)&lt;br /&gt;&lt;br /&gt;* Participate in the Communities (&lt;a href="http://sdn.sap.com"&gt;SDN&lt;/a&gt;, &lt;a href="http://bpx.sap.com"&gt;BPX&lt;/a&gt;).&lt;br /&gt;* Write blogs.&lt;br /&gt;* Improve the WIKI.&lt;br /&gt;* Help in the forums.&lt;br /&gt;* Do things with value to the Community.&lt;br /&gt;* Try to be a good Communicator.&lt;br /&gt;&lt;br /&gt;Sure thing...Community Members, SAP Members and SAP Mentors got to raise their votes...But by following those simple tips...You're chances are going to become high...&lt;br /&gt;&lt;br /&gt;Just in case you wondering...&lt;span style="font-weight:bold;"&gt;NO! I'M NOT GOING TO HELP ANYONE TO BECOME AN SAP MENTOR...SO PLEASE DON'T WASTE YOUR TIME MAILING ME...IF I SEE THAT YOU'RE A GOOD CONTRIBUTOR AND GOT THE NECESSARY SKILLS, THEN I'M GOING TO CONTACT YOU...BUT AGAIN...I DON'T CHOOSE SAP MENTORS...&lt;span style="font-style:italic;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Now I'm feeling better -:)&lt;br /&gt;&lt;br /&gt;Greetings,&lt;br /&gt;&lt;br /&gt;Blag.&lt;br /&gt;&lt;/DIV&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4144704359177008692-6921304707078815249?l=blagrants.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blagrants.blogspot.com/feeds/6921304707078815249/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4144704359177008692&amp;postID=6921304707078815249' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/6921304707078815249'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/6921304707078815249'/><link rel='alternate' type='text/html' href='http://blagrants.blogspot.com/2008/09/sap-mentor-2009.html' title='SAP Mentor 2009'/><author><name>Alvaro "Blag" Tejada Galindo</name><uri>http://www.blogger.com/profile/12061593528820409779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='https://weblogs.sdn.sap.com/images/people/alvaro_tajeda.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_eKAKUbdu3CI/SNlBAGtlF_I/AAAAAAAAAoI/Kf94ys5WvCo/s72-c/SAP_Mentor_2009.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4144704359177008692.post-1067039560951769158</id><published>2008-09-23T12:09:00.000-07:00</published><updated>2008-09-23T12:15:53.819-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='TechEd_2008'/><category scheme='http://www.blogger.com/atom/ns#' term='Flex'/><title type='text'>Learning Flex 3</title><content type='html'>&lt;DIV ALIGN="JUSTIFY"&gt;&lt;br /&gt;Yep...I'm learning Flex 3...I already know &lt;span style="font-weight:bold;"&gt;Flex 2&lt;/span&gt;...But &lt;span style="font-weight:bold;"&gt;Flex 3&lt;/span&gt; got a lot of cool features that are worth to be learned -:)&lt;br /&gt;&lt;br /&gt;&lt;a href="https://www.sdn.sap.com/irj/sdn/weblogs?blog=/pub/u/251887744"&gt;Andre Salazar&lt;/a&gt; from &lt;a href="http://www.adobe.com"&gt;Adobe&lt;/a&gt; kindly give this little pocket book &lt;a href="http://www.amazon.com/Getting-Started-Flex-Developer-Developers/dp/0596520646"&gt;Getting Started with Flex 3: An Adobe Developer Library Pocket Guide&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_eKAKUbdu3CI/SNk_hGk-cAI/AAAAAAAAAoA/DeMM_kzWcyg/s1600-h/DSC03667.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://2.bp.blogspot.com/_eKAKUbdu3CI/SNk_hGk-cAI/AAAAAAAAAoA/DeMM_kzWcyg/s400/DSC03667.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5249296678610956290" /&gt;&lt;/a&gt;&lt;br /&gt;Even when the book is pretty small book, both in size and number of pages...Is a must for &lt;span style="font-weight:bold;"&gt;Flex 3&lt;/span&gt; newcomers and pretty interesting for &lt;span style="font-weight:bold;"&gt;Flex 2&lt;/span&gt; users looking for some &lt;span style="font-weight:bold;"&gt;Flex 3&lt;/span&gt; action...&lt;br /&gt;&lt;br /&gt;If you can...Buy this book...If you can't...Well...You better find a way to get it -;)&lt;br /&gt;&lt;br /&gt;Greetings,&lt;br /&gt;&lt;br /&gt;Blag.&lt;br /&gt;&lt;/DIV&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4144704359177008692-1067039560951769158?l=blagrants.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blagrants.blogspot.com/feeds/1067039560951769158/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4144704359177008692&amp;postID=1067039560951769158' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/1067039560951769158'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/1067039560951769158'/><link rel='alternate' type='text/html' href='http://blagrants.blogspot.com/2008/09/learning-flex-3.html' title='Learning Flex 3'/><author><name>Alvaro "Blag" Tejada Galindo</name><uri>http://www.blogger.com/profile/12061593528820409779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='https://weblogs.sdn.sap.com/images/people/alvaro_tajeda.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_eKAKUbdu3CI/SNk_hGk-cAI/AAAAAAAAAoA/DeMM_kzWcyg/s72-c/DSC03667.JPG' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4144704359177008692.post-3616459750766815243</id><published>2008-09-23T09:15:00.000-07:00</published><updated>2008-09-23T09:25:32.955-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='TechEd_2008'/><category scheme='http://www.blogger.com/atom/ns#' term='Rant'/><category scheme='http://www.blogger.com/atom/ns#' term='SAP'/><category scheme='http://www.blogger.com/atom/ns#' term='SCN'/><title type='text'>When friendship goes beyond...</title><content type='html'>&lt;DIV ALIGN="JUSTIFY"&gt;&lt;br /&gt;Many of you knows that I'm an &lt;a href="http://sdn.sap.com"&gt;SCN&lt;/a&gt; addict...So of course, when my friends published books...I bought them -;)&lt;br /&gt;&lt;br /&gt;That's very cool I know...But it's even cooler, when you can meet them in real life, so they can sign the copies of the books you bought...That happen to me this month, when I attended &lt;a href="http://www.sapteched.com/usa/"&gt;SAP TechEd 2008 in Las Vegas&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;I bought &lt;a href="http://www.lulu.com/content/393220"&gt;Ein Ami comes to Lippstadt&lt;/a&gt; from &lt;a href="https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.sdn.businesscard.SDNBusinessCard?u=Vi4aCAMmuX4%3D"&gt;Craig Cmehil&lt;/a&gt; and &lt;a href="http://sap-press.com/product.cfm?account=&amp;product=H1986"&gt;Next Generation ABAP Development&lt;/a&gt; from &lt;a href="https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.sdn.businesscard.SDNBusinessCard?u=Z5d9cjkglaI%3D"&gt;Rich Heilman&lt;/a&gt; and &lt;a href="https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.sdn.businesscard.SDNBusinessCard?u=5%2BhLK9C3p0Q%3D"&gt;Thomas Jung&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_eKAKUbdu3CI/SNkX8Eu1q1I/AAAAAAAAAng/KbV48gcBaHY/s1600-h/DSC03668.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://1.bp.blogspot.com/_eKAKUbdu3CI/SNkX8Eu1q1I/AAAAAAAAAng/KbV48gcBaHY/s400/DSC03668.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5249253161506810706" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_eKAKUbdu3CI/SNkYDWl-irI/AAAAAAAAAno/FKphMCFS0Y8/s1600-h/DSC03669.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://3.bp.blogspot.com/_eKAKUbdu3CI/SNkYDWl-irI/AAAAAAAAAno/FKphMCFS0Y8/s400/DSC03669.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5249253286560565938" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_eKAKUbdu3CI/SNkYKuoXfQI/AAAAAAAAAnw/8b8MnBWeDcI/s1600-h/DSC03670.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://1.bp.blogspot.com/_eKAKUbdu3CI/SNkYKuoXfQI/AAAAAAAAAnw/8b8MnBWeDcI/s400/DSC03670.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5249253413272124674" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_eKAKUbdu3CI/SNkYPfM6AOI/AAAAAAAAAn4/TqLcM5jf6FU/s1600-h/DSC03672.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://3.bp.blogspot.com/_eKAKUbdu3CI/SNkYPfM6AOI/AAAAAAAAAn4/TqLcM5jf6FU/s400/DSC03672.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5249253495029760226" /&gt;&lt;/a&gt;&lt;br /&gt;Thanks guys...You made my life happier -:D&lt;br /&gt;&lt;br /&gt;Greetings,&lt;br /&gt;&lt;br /&gt;Blag.&lt;br /&gt;&lt;/DIV&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4144704359177008692-3616459750766815243?l=blagrants.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blagrants.blogspot.com/feeds/3616459750766815243/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4144704359177008692&amp;postID=3616459750766815243' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/3616459750766815243'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4144704359177008692/posts/default/3616459750766815243'/><link rel='alternate' type='text/html' href='http://blagrants.blogspot.com/2008/09/when-friendship-goes-beyond.html' title='When friendship goes beyond...'/><author><name>Alvaro "Blag" Tejada Galindo</name><uri>http://www.blogger.com/profile/12061593528820409779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='https://weblogs.sdn.sap.com/images/people/alvaro_tajeda.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_eKAKUbdu3CI/SNkX8Eu1q1I/AAAAAAAAAng/KbV48gcBaHY/s72-c/DSC03668.JPG' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4144704359177008692.post-1295937423700517759</id><published>2008-09-23T08:57:00.000-07:00</published><updated>2008-09-23T09:08:39.561-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Flex'/><title type='text'>What's in a Mockup?</title><content type='html'>&lt;DIV ALIGN="JUSTIFY"&gt;&lt;br /&gt;A couple of days ago, mi friend &lt;a href="https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.sdn.businesscard.SDNBusinessCard?u=8tty%2BxSnf2ddIEu%2BI7w2jg%3D%3D"&gt;Anne Kathrine Petteroe&lt;/a&gt; also known as &lt;a href="http://www.yojibee.com"&gt;Yojibee&lt;/a&gt; post a blog about &lt;a href="http://www.balsamiq.com/products/mockups/desktop#download"&gt;Balsamiq Mockups&lt;/a&gt; titled &lt;a href="https://weblogs.sdn.sap.com/pub/wlg/11062"&gt;Great tool for creating UI mockups&lt;/a&gt;...Of course, I take the time to download and start to play with the tool...&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Mockups&lt;/span&gt; is an awesome &lt;a href="http://flex.org/"&gt;Flex&lt;/a&gt; based tool for creation of...well...&lt;span style="font-weight:bold;"&gt;Mockups&lt;/span&gt;, which are UI screens...So what the deal with this tool?&lt;br /&gt;&lt;br /&gt;As &lt;a href="http://www.yojibee.com"&gt;Yojibee&lt;/a&gt; said in her blog...&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;I am a person, who still likes to hand-draw my mockups on paper first, so the fact that the controllers in this app all have a hand-drawn look to them, give these mockups the same feeling to them as if they were drawn on paper. &lt;/blockquote&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_eKAKUbdu3CI/SNkS42iG_GI/AAAAAAAAAnI/A5pWZyDeks8/s1600-h/Mockups_01.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://1.bp.blogspot.com/_eKAKUbdu3CI/SNkS42iG_GI/AAAAAAAAAnI/A5pWZyDeks8/s400/Mockups_01.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5249247608597576802" /&gt;&lt;/a&gt;&lt;br /&gt;By looking at the interface, you can quickly realize that your working on a sheet of paper, and all the components seems to be drawing by hand...Which makes you feel like you're drawing by hand...Feels weird at the beginning, but sure it's fun -:)&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_eKAKUbdu3CI/SNkTUBie2mI/AAAAAAAAAnQ/VduSRzYC9qs/s1600-h/Mockups_02.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://2.bp.blogspot.com/_eKAKUbdu3CI/SNkTUBie2mI/AAAAAAAAAnQ/VduSRzYC9qs/s400/Mockups_02.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5249248075408398946" /&gt;&lt;/a&gt;&lt;br /&gt;For example...I'm working on an Open Source project called &lt;a href="http://code.google.com/p/abapif/"&gt;ABAPIF&lt;/a&gt; which stands for ABAP Interactive Fiction...And ABAP engine and client for Interactive Fiction games...Thanks to &lt;span style="font-weight:bold;"&gt;Mockups&lt;/span&gt; you can see how 
