<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0"><id>http://blog.marcocantu.com/</id><title>marcocantu.blog</title><author><name>marcocantu</name><uri>http://www.marcocantu.com</uri></author><subtitle>Techie Italian Blogging on Delphi and More</subtitle><generator>GeoAtomService</generator><rights>©2005 Marco Cantù</rights><updated>2012-02-07T22:17:26.106Z</updated><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/marcocantublog" /><feedburner:info uri="marcocantublog" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><entry><author><name>marcocantu</name><uri>http://www.marcocantu.com</uri></author><title>Delphi Whopping 2011 Growth: 54%</title><link href="http://feedproxy.google.com/~r/marcocantublog/~3/a261UHDf3u4/delphi_growth_2011.html" /><id>http://blog.marcocantu.com/blog/delphi_growth_2011.html</id><published>2012-02-07T22:17:26.106Z</published><updated>2012-02-07T22:17:26.106Z</updated><summary>Embarcadero has announced some great growth numbers of Delphi and C++Builder in 2011.</summary><content type="html">
    &lt;p&gt;Embarcadero has &lt;a href="http://edn.embarcadero.com/article/42023"&gt;announced some great growth numbers of Delphi and C++Builder in 2011&lt;/a&gt;: &lt;strong&gt;54% growth over 2010&lt;/strong&gt; in worldwide sales. Considering the 15% growth of previous years, it means the Delphi sales have double since Embarcadero took over the "CodeGear" business unit from Borland. I have to say that as a re-seller, I saw similar numbers, so this is not completely surprising.&lt;/p&gt;
    &lt;p&gt;In the &lt;a href="http://edn.embarcadero.com/article/42023"&gt;press release&lt;/a&gt; there isn't much else in terms of numbers, only a general description of the relevance of the Mac and iOS ecosystem in companies. There is also a summary of the last quarter events, which saw over 10,000 registered attendees.&lt;/p&gt;
    &lt;p&gt;Well done Delphi (and Embarcadero): Once again, rumors of your death were greatly exaggerated. This sale numbers are a nice &lt;a href="http://blog.marcocantu.com/blog/delphi_17th_birthday_webinar_coming.html"&gt;birthday &lt;/a&gt;present!&lt;/p&gt;
    &lt;p&gt;PS: Two more weeks of discounted registration for London and Amsterdam Delphi Developer Days 2012: &lt;a href="http://www.delphideveloperdays.com/price_london_amsterdam.html?london1=Price+%26+Registration"&gt;Sign up now&lt;/a&gt;!&lt;/p&gt;
    &lt;p&gt; &lt;/p&gt;
  
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/mlM2BmDjXrftsk0W4t7N80OSiZg/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/mlM2BmDjXrftsk0W4t7N80OSiZg/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/mlM2BmDjXrftsk0W4t7N80OSiZg/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/mlM2BmDjXrftsk0W4t7N80OSiZg/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/marcocantublog/~4/a261UHDf3u4" height="1" width="1"/&gt;</content><feedburner:origLink>http://blog.marcocantu.com/blog/delphi_growth_2011.html</feedburner:origLink></entry><entry><author><name>marcocantu</name><uri>http://www.marcocantu.com</uri></author><title>Delphi Mapping REST Clients</title><link href="http://feedproxy.google.com/~r/marcocantublog/~3/fpE0COBOPs4/delphi_mapping_rest_clients.html" /><id>http://blog.marcocantu.com/blog/delphi_mapping_rest_clients.html</id><published>2012-02-03T22:13:54.626Z</published><updated>2012-02-03T22:13:54.626Z</updated><summary>I've finally posted on my public Subversion repository devoted to Delphi REST clients two of my geo-coding and mapping demos, and particularly the Google Maps Delphi client.</summary><content type="html">
    &lt;p&gt;I've finally posted on my public Subversion repository devoted to Delphi REST clients two of my geo-coding and mapping demos, and particularly the Google Maps Delphi client.&lt;/p&gt;
    &lt;h3&gt;GeoCoding&lt;/h3&gt;
    &lt;p&gt;The first is rather simple Geocoding applications, returning the latitude and longitude of a given city you enter or of all the cities in the classic customers.cds database. Code at &lt;a href="http://code.marcocantu.com/p/delphirestclients/source/tree/HEAD/GeoLocation"&gt;http://code.marcocantu.com/p/delphirestclients/source/tree/HEAD/GeoLocation&lt;/a&gt;.&lt;/p&gt;
    &lt;h3&gt;Maps in a Windows Application&lt;/h3&gt;
    &lt;p&gt;The second starts with the same data, but lays it out graphically on a map, as you can see below. It embeds the Geocoding code to create a list of cities and positions, but it also creates a fully working Google Map (not a static image) customized with the positions of the various customers in the database table. Since Google Maps is browser based, the Delphi application embeds a &lt;em&gt;TWebBrowser&lt;/em&gt;, but rather than connecting to an external web server, it embeds one. The application is a Web client that uses itself as a server, passing a fixed &lt;a target="_blank" href="http://code.marcocantu.com/p/delphirestclients/source/tree/HEAD/GoogleMappingDemo/mapbase.html"&gt;HTML file&lt;/a&gt; and a dynamic XML file with the data taken from the DbGrid and its dynamic ClientDataSet.  &lt;/p&gt;
    &lt;p style="text-align: center; "&gt;
      &lt;img width="884" height="506" alt="" src="http://blog.marcocantu.com/images/forblog/googlemappingdemo.png"&gt;&lt;/img&gt;
    &lt;/p&gt;
    &lt;p style="text-align: left; "&gt;
      &lt;p style="text-align: -webkit-auto; "&gt;Both applications require to sign up on Google, create a developer id, and add it to an INI file named like the program itself in the user's home folder (or "AppData\Roaming"). &lt;/p&gt;
      &lt;h3&gt;How to get it?&lt;/h3&gt;
      &lt;span style="text-align: -webkit-auto; "&gt;Since I've been showing this application for a long time, I should have posted it before, thanks to a Delphi developer who asked me the code over email the other day. You won't guess how many people keep asking me the source code for &lt;a href="http://blog.marcocantu.com/blog/google_map_delphi_server.html"&gt;this very old blog post of the same program&lt;/a&gt;, which has &lt;/span&gt;
      &lt;strong&gt;
        &lt;em&gt;
          &lt;span style="text-align: -webkit-auto; "&gt;some of the description.&lt;/span&gt;
        &lt;/em&gt;
      &lt;/strong&gt;
      &lt;span style="text-align: -webkit-auto; "&gt; Full source code at &lt;/span&gt;
      &lt;a href="http://code.marcocantu.com/p/delphirestclients/source/tree/HEAD/GoogleMappingDemo"&gt;http://code.marcocantu.com/p/delphirestclients/source/tree/HEAD/GoogleMappingDemo&lt;/a&gt;.&lt;/p&gt;
    &lt;p style="text-align: left; "&gt;The command for getting all of the REST clients is:&lt;/p&gt;
    &lt;p style="text-align: left; "&gt;
      &lt;span style="color: rgb(119, 119, 119); font-family: monospace; text-align: right; font-size: medium; "&gt;svn co -r HEAD http://code.marcocantu.com/svn/marcocantu/delphirestclients&lt;/span&gt;
    &lt;/p&gt;
    &lt;h3&gt;Want to Contribute?&lt;/h3&gt;
    &lt;p style="text-align: left; "&gt;Finally, this repository is open for contribution: if you have Delphi applications connecting to the web for getting data and that can be considered REST clients, you are more than willing to share the code over my repository, keeping full credit and copyrights (but making the code available for free, of course). Similarly, if you have any suggestion, correction, or improvement, feel free to comment on the code site, here on this blog, or send me an email. &lt;/p&gt;
  
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/-Vc5jT3qc4cQ3nGcyI3WTwHrpGc/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/-Vc5jT3qc4cQ3nGcyI3WTwHrpGc/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/-Vc5jT3qc4cQ3nGcyI3WTwHrpGc/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/-Vc5jT3qc4cQ3nGcyI3WTwHrpGc/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/marcocantublog/~4/fpE0COBOPs4" height="1" width="1"/&gt;</content><feedburner:origLink>http://blog.marcocantu.com/blog/delphi_mapping_rest_clients.html</feedburner:origLink></entry><entry><author><name>marcocantu</name><uri>http://www.marcocantu.com</uri></author><title>Delphi 17th Birthday Webinar Coming</title><link href="http://feedproxy.google.com/~r/marcocantublog/~3/KZdZB_MwBFc/delphi_17th_birthday_webinar_coming.html" /><id>http://blog.marcocantu.com/blog/delphi_17th_birthday_webinar_coming.html</id><published>2012-02-02T18:12:11.128Z</published><updated>2012-02-02T18:12:11.128Z</updated><summary>David I of Embarcadero is inviting everyone to celebrate Dellphi's 17th birtday on... Valentine Day, February the 14th</summary><content type="html">
    &lt;p style="text-align: center; "&gt;
      &lt;img width="680" height="150" alt="" src="http://blog.marcocantu.com/images/forblog/delphi_birthday_14feb12.jpg"&gt;&lt;/img&gt;
    &lt;/p&gt;
    &lt;p style="text-align: left; "&gt;David I of Embarcadero is &lt;a href="http://edn.embarcadero.com/article/42019"&gt;
        &lt;strong&gt;inviting everyone to celebrate Dellphi's 17th birtday&lt;/strong&gt;
      &lt;/a&gt; on... Valentine Day, February the 14th:&lt;/p&gt;
    &lt;p style="text-align: left; margin-left: 40px; "&gt;
      &lt;em&gt;
        &lt;span style="color: rgb(51, 51, 51); font-family: Arial; text-align: -webkit-auto; "&gt;Delphi v1.0 was launched at the Software Development Conference on February 14, 1995. Several thousand developers gave the team a standing ovation during the launch. &lt;/span&gt;
      &lt;/em&gt;
    &lt;/p&gt;
    &lt;p style="text-align: left; "&gt;I was there... and I'm certainly going to join the webinar (likely the first time slot) and celebrate. Will also blog, stay tuned.&lt;/p&gt;
    &lt;p&gt; &lt;/p&gt;
  
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/IpljgwlkNowh0OQCFfEshDxgRQI/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/IpljgwlkNowh0OQCFfEshDxgRQI/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/IpljgwlkNowh0OQCFfEshDxgRQI/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/IpljgwlkNowh0OQCFfEshDxgRQI/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/marcocantublog/~4/KZdZB_MwBFc" height="1" width="1"/&gt;</content><feedburner:origLink>http://blog.marcocantu.com/blog/delphi_17th_birthday_webinar_coming.html</feedburner:origLink></entry><entry><author><name>marcocantu</name><uri>http://www.marcocantu.com</uri></author><title>RAD Studio XE2 in Action Live in Italy</title><link href="http://feedproxy.google.com/~r/marcocantublog/~3/so-brf0H-zY/rad_studio_xe2_action_italy.html" /><id>http://blog.marcocantu.com/blog/rad_studio_xe2_action_italy.html</id><published>2012-02-02T13:57:18.637Z</published><updated>2012-02-02T13:57:18.637Z</updated><summary>Three cities in Northern Italy will see three Live Delphi events in 2 weeks including a session of mine on FireMonkey. For the Italian Delphi developers.</summary><content type="html">
    &lt;p&gt;Three cities in Northern Italy will see three Live Delphi events in 2 weeks including a session of mine on FireMonkey. For the Italian Delphi developers. or at least developers who speak Italian.&lt;/p&gt;
    &lt;p&gt;The event is organized by Embarcadero, with BitTime and Wintech Italia (my company). Main focus will be FireMonkey and DataSnap (with a session by Daniele Teti).  The same event will be held three times in three consecutive days (February 20th to 22nd) in Bologna, Padua, and Novara (halfway between Milan and Turin).&lt;/p&gt;
    &lt;p&gt;More information and registrations on &lt;a href="http://forms.embarcadero.com/forms/EM12Q1ITRADXE2inActionevent"&gt;http://forms.embarcadero.com/forms/EM12Q1ITRADXE2inActionevent&lt;/a&gt;.&lt;font face="'Century Gothic', arial" size="5"&gt;
        &lt;span style="line-height: 26px;"&gt;
          &lt;br&gt;&lt;/br&gt;
        &lt;/span&gt;
      &lt;/font&gt;
    &lt;/p&gt;
    &lt;p&gt; &lt;/p&gt;
  
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/5J3RyC4CfNkVVyNuTJ8a6TWzneY/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/5J3RyC4CfNkVVyNuTJ8a6TWzneY/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/5J3RyC4CfNkVVyNuTJ8a6TWzneY/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/5J3RyC4CfNkVVyNuTJ8a6TWzneY/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/marcocantublog/~4/so-brf0H-zY" height="1" width="1"/&gt;</content><feedburner:origLink>http://blog.marcocantu.com/blog/rad_studio_xe2_action_italy.html</feedburner:origLink></entry><entry><author><name>marcocantu</name><uri>http://www.marcocantu.com</uri></author><title>Visiting Alabama</title><link href="http://feedproxy.google.com/~r/marcocantublog/~3/_sp1vahqnbg/visiting_alabama.html" /><id>http://blog.marcocantu.com/blog/visiting_alabama.html</id><published>2012-01-31T15:36:01.043Z</published><updated>2012-01-31T15:36:01.044Z</updated><summary>I've been on a trip to the US last week, and quite busy, so I didn't post to the blog for quite long. Trying to catch up now, but first a short summary of the trip.</summary><content type="html">
    &lt;p&gt;I've been on a trip to the US last week, and quite busy, so I didn't post to the blog for quite long. Trying to catch up now, but first a short summary of the trip.&lt;/p&gt;
    &lt;p&gt;Last week I was for 5 days consulting in Birmingham, Alabama, at &lt;a target="_blank" href="http://www.onedomain.com/"&gt;OneDomain&lt;/a&gt;. Very nice and successful company, fully focused on Delphi, and looking forward to migrate to XE2 and a DataSnap architecture. This was my second visit, since I had already been there a few years ago, and I really enjoyed it. Since I had to spend the Sunday in the US, I took the opportunity for a (free) stop over in New York (I thiink I'm getting quite good at buying flights, could set up a travel agency if things go wrong in software). As you can see from the images below, I had time for a short visit to &lt;a href="http://en.wikipedia.org/wiki/Financial_District,_Manhattan"&gt;Manhattan downtown&lt;/a&gt;, nice under an inch of snow. From left to right, "Construction at WTC", "Under Brooklyn Bridge", "Defenses at Wall Street", "Statue of Liberty from Battery Park". &lt;/p&gt;
    &lt;p&gt;
      &lt;img width="272" height="362" alt="" src="https://lh3.googleusercontent.com/-r2EwbXdynM8/TygESTsRtKI/AAAAAAAAA4w/01t5lWv0XDs/w609-h812-k/2012-01-22%2B14.11.19.jpg"&gt;&lt;/img&gt;  &lt;img width="500" height="375" alt="" src="https://lh3.googleusercontent.com/-eURGWPA_XLc/TygFAC7aj5I/AAAAAAAAA5o/N4Cuf09CR54/w500-h376-k/2012-01-22%2B15.00.09.jpg"&gt;&lt;/img&gt; &lt;img width="284" height="378" alt="" src="https://lh6.googleusercontent.com/-dj1dxzQIQAo/TygFFeGs7yI/AAAAAAAAA5w/mmZOGP2-VP4/w284-h378-k/2012-01-22%2B14.43.22.jpg"&gt;&lt;/img&gt; &lt;img width="262" height="350" alt="" src="https://lh5.googleusercontent.com/-t97uPhOT51I/TygEk4fJQ3I/AAAAAAAAA5I/Jkw37fbaTS8/w263-h350-k/2012-01-22%2B14.24.16.jpg"&gt;&lt;/img&gt;
    &lt;/p&gt;
    &lt;p&gt;After that I flew to Atlanta, and from there I drove a nice car (thanks to another good offer) to Birmingham. Spent a full week training and consulting (see images below) in a great weather, and had a little time for shopping Lego for kids. From left to right: "Car in front of Office", "Training", "Training", "Food break", "Shopping for Lego".&lt;/p&gt;
    &lt;p&gt;
      &lt;img width="500" height="375" alt="" src="https://lh3.googleusercontent.com/-onuCsPylAWY/TygF6ejNMbI/AAAAAAAAA64/gm4A-WtX_P0/w500-h376-k/2012-01-25%2B17.09.36.jpg"&gt;&lt;/img&gt; &lt;img width="500" height="375" alt="" src="https://lh3.googleusercontent.com/-z0On3q15hS4/TygGV06zd8I/AAAAAAAAA7Y/FyMvWpmuLUg/w500-h375-k/Marco%2Bat%2BODI%2B2012%2B005.JPG"&gt;&lt;/img&gt; &lt;img width="500" height="375" alt="" src="https://lh3.googleusercontent.com/-4dyxp4TR2oc/TygGXrxAsaI/AAAAAAAAA7g/9WVJcRbSACY/w500-h375-k/Marco%2Bat%2BODI%2B2012%2B006.JPG"&gt;&lt;/img&gt; &lt;img width="304" height="405" alt="" src="https://lh6.googleusercontent.com/-_sxoe9iM8rE/TygGQEmRDTI/AAAAAAAAA74/6NicCphv0Tc/w305-h405-k/Marco%2Bat%2BODI%2B2012%2B001.JPG"&gt;&lt;/img&gt; &lt;img width="500" height="375" alt="" src="https://lh4.googleusercontent.com/-J9EPzUds02k/TygGCIRPuoI/AAAAAAAAA7A/p0zUGTiUPA8/w500-h376-k/2012-01-26%2B17.56.50.jpg"&gt;&lt;/img&gt;
    &lt;/p&gt;
    &lt;p&gt;Full set of pictures on Google+ at &lt;a href="https://plus.google.com/u/0/photos/109099686252303180605/albums/5703813642509841169"&gt;https://plus.google.com/u/0/photos/109099686252303180605/albums/5703813642509841169&lt;/a&gt;.&lt;/p&gt;
    &lt;p&gt;
      &lt;em&gt;PS. My next US trip will be for Delphi Developer Days 2012. Want to join our Delphi classes? Visit &lt;/em&gt;
      &lt;a href="http://www.delphideveloperdays.com/"&gt;
        &lt;em&gt;http://www.delphideveloperdays.com/&lt;/em&gt;
      &lt;/a&gt;
    &lt;/p&gt;
  
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/qZfaghEz3zZ5_gA3Th1_9L1wk7g/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/qZfaghEz3zZ5_gA3Th1_9L1wk7g/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/qZfaghEz3zZ5_gA3Th1_9L1wk7g/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/qZfaghEz3zZ5_gA3Th1_9L1wk7g/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/marcocantublog/~4/_sp1vahqnbg" height="1" width="1"/&gt;</content><feedburner:origLink>http://blog.marcocantu.com/blog/visiting_alabama.html</feedburner:origLink></entry><entry><author><name>marcocantu</name><uri>http://www.marcocantu.com</uri></author><title>The Pascal Spring (by Verity Stob)</title><link href="http://feedproxy.google.com/~r/marcocantublog/~3/C_nPUPtGJBg/pascal_spring_stob.html" /><id>http://blog.marcocantu.com/blog/pascal_spring_stob.html</id><published>2012-01-18T08:31:35.427Z</published><updated>2012-01-18T08:31:35.428Z</updated><summary>Very amusing new piece by Verity Stob about the Sons of Kahn, featuring Delphi XE2 and FreeAndNil </summary><content type="html">
    &lt;p&gt;Verity Stob has released on The Register Very a new amusing new piece on "&lt;a href="http://www.theregister.co.uk/2012/01/16/verity_stob_sons_of_khan_2011/"&gt;The Sons of Kahn and the Pascal Spring&lt;/a&gt;", which has already been twittet and blogged, but it is worth noticing. &lt;/p&gt;
    &lt;p&gt;In the first part, there is an interesting assessment of the failure and troubles of competing technologies (" Sharpers of Dotnet were also troubled, especially the cult of Silver Light" and "the Sharpers were laughing compared with the fate of the tribe of Flashinites"), as an explanation of the success of Delphi XE2 and the gang of "discotheque of Embarcadearohdearohdearyme" who "bought in stuff from Europe and Russia".&lt;/p&gt;
    &lt;p&gt;Interestingly enough, the last part is devoted to the fact the Delphi factions instead of rejoicing are fighting around the use of FreeAndNil... something I tried to avoid blogging about, but might not resist.&lt;/p&gt;
    &lt;p&gt;
      &lt;strong&gt;
        &lt;em&gt;Great job, as usual, Verity:&lt;/em&gt;
      &lt;/strong&gt; &lt;strong&gt;"if this is the Second Coming, then it is not quite as I had imagined it."&lt;/strong&gt;
    &lt;/p&gt;
  
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/4rlKB1zmjc1KBxahLfBN8Ty5Phk/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/4rlKB1zmjc1KBxahLfBN8Ty5Phk/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/4rlKB1zmjc1KBxahLfBN8Ty5Phk/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/4rlKB1zmjc1KBxahLfBN8Ty5Phk/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/marcocantublog/~4/C_nPUPtGJBg" height="1" width="1"/&gt;</content><feedburner:origLink>http://blog.marcocantu.com/blog/pascal_spring_stob.html</feedburner:origLink></entry><entry><author><name>marcocantu</name><uri>http://www.marcocantu.com</uri></author><title>Delphi Developer Days 2012 Very Early Bird and Guest Speakers </title><link href="http://feedproxy.google.com/~r/marcocantublog/~3/NUCSrPv5Ta4/delphi_developer_days_2012_very_early.html" /><id>http://blog.marcocantu.com/blog/delphi_developer_days_2012_very_early.html</id><published>2012-01-13T15:10:43.845Z</published><updated>2012-01-13T15:12:24.638Z</updated><summary>The very early bird singup for Delphi Developer Days 2012 (with 25% discount) expires in a few days. Plus, book early as we might end up room in some cities. Plus, we ahve the guest speakers list.  </summary><content type="html">
    &lt;p&gt;Delphi Developer Days is the yearly conference/training class I organize with Cary Jensen in the USA and Europe. We are planning 2 US + 4 European stops (in 4 different countries) this year.&lt;/p&gt;
    &lt;p&gt;
      &lt;strong&gt;Very Early Bird&lt;/strong&gt;
    &lt;/p&gt;
    &lt;p&gt;The very early bird signup for Delphi Developer Days 2012 (with 25% discount) expires on &lt;strong&gt;January 20th&lt;/strong&gt;, for each and all of the dates (March through May). If you are interested in participating, book ASAP for the extra discount. Previous attendees will still get a good rate, but not the general public. Did I tell you this is one of the best (and most well attended) Delphi training events of the year? Details at &lt;a href="http://www.delphideveloperdays.com/"&gt;
        &lt;strong&gt;http://www.delphideveloperdays.com/&lt;/strong&gt;
      &lt;/a&gt;. &lt;/p&gt;
    &lt;p&gt;
      &lt;strong&gt;Book Early, Might Get Full&lt;/strong&gt;
    &lt;/p&gt;
    &lt;p&gt;Another reason for booking early (before or after this first deadline) is that some of the locations are filling up &lt;em&gt;quite nicely&lt;/em&gt;, and might as well get full. If a location gets fully booked, you'll have to pick a different city and date. First come, first served, of course. Seems Rome is still quite empty, though.&lt;/p&gt;
    &lt;p&gt;
      &lt;strong&gt;Guest Speakers List&lt;/strong&gt;
    &lt;/p&gt;
    &lt;p&gt;Finally, we do have a complete guest speakers list:&lt;/p&gt;
    &lt;p&gt;
      &lt;b style="font-family: arial, verdana, sans-serif; text-align: left; "&gt;London, United Kingdom: &lt;/b&gt;
      &lt;i style="font-family: arial, verdana, sans-serif; text-align: left; "&gt;Stephen Ball, Embarcadero Technologies&lt;/i&gt;
      &lt;br style="font-family: arial, verdana, sans-serif; text-align: left; "&gt;&lt;/br&gt;
      &lt;b style="font-family: arial, verdana, sans-serif; text-align: left; "&gt;Amsterdam, The Netherlands: &lt;/b&gt;
      &lt;i style="font-family: arial, verdana, sans-serif; text-align: left; "&gt;Bob Swart,&lt;/i&gt;
      &lt;span style="font-family: arial, verdana, sans-serif; text-align: left; "&gt; Bob Swart Training &amp; Consultancy&lt;/span&gt;
      &lt;br style="font-family: arial, verdana, sans-serif; text-align: left; "&gt;&lt;/br&gt;
      &lt;b style="font-family: arial, verdana, sans-serif; text-align: left; "&gt;DC/Baltimore area, USA: &lt;/b&gt;
      &lt;i style="font-family: arial, verdana, sans-serif; text-align: left; "&gt;Jim McKeeth,&lt;/i&gt;
      &lt;span style="font-family: arial, verdana, sans-serif; text-align: left; "&gt; RemObjects Software&lt;/span&gt;
      &lt;br style="font-family: arial, verdana, sans-serif; text-align: left; "&gt;&lt;/br&gt;
      &lt;b style="font-family: arial, verdana, sans-serif; text-align: left; "&gt;Chicago, USA: &lt;/b&gt;
      &lt;i style="font-family: arial, verdana, sans-serif; text-align: left; "&gt;Ray Konopka,&lt;/i&gt;
      &lt;span style="font-family: arial, verdana, sans-serif; text-align: left; "&gt; Raize Software&lt;/span&gt;
      &lt;br style="font-family: arial, verdana, sans-serif; text-align: left; "&gt;&lt;/br&gt;
      &lt;b style="font-family: arial, verdana, sans-serif; text-align: left; "&gt;Frankfurt, Germany: &lt;/b&gt;
      &lt;i style="font-family: arial, verdana, sans-serif; text-align: left; "&gt;Bruno Fierens&lt;/i&gt;
      &lt;span style="font-family: arial, verdana, sans-serif; text-align: left; "&gt;TMS software&lt;/span&gt;
      &lt;br style="font-family: arial, verdana, sans-serif; text-align: left; "&gt;&lt;/br&gt;
      &lt;b style="font-family: arial, verdana, sans-serif; text-align: left; "&gt;Rome, Italy: &lt;/b&gt;
      &lt;i style="font-family: arial, verdana, sans-serif; text-align: left; "&gt;Daniele Teti,&lt;/i&gt;
      &lt;span style="font-family: arial, verdana, sans-serif; text-align: left; "&gt; BitTime&lt;/span&gt; &lt;/p&gt;
    &lt;p&gt;Of course, I'll take the advantage of this blog post to thank all of these Delphi experts, who've accepted our invitation. &lt;/p&gt;
    &lt;p&gt;As I mentioned on &lt;a href="https://twitter.com/#!/marcocantu"&gt;twitter&lt;/a&gt;, I've been doubling as a travel agent, to get my various flights. Most are booked now, &lt;strong&gt;
        &lt;em&gt;See you at Delphi Developer Days!&lt;/em&gt;
      &lt;/strong&gt;
    &lt;/p&gt;
  
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/F-WP4RzhPF--26vDYTTtNoqTCuI/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/F-WP4RzhPF--26vDYTTtNoqTCuI/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/F-WP4RzhPF--26vDYTTtNoqTCuI/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/F-WP4RzhPF--26vDYTTtNoqTCuI/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/marcocantublog/~4/NUCSrPv5Ta4" height="1" width="1"/&gt;</content><feedburner:origLink>http://blog.marcocantu.com/blog/delphi_developer_days_2012_very_early.html</feedburner:origLink></entry><entry><author><name>marcocantu</name><uri>http://www.marcocantu.com</uri></author><title>Delphi and Facebook Base64 Url Encoding</title><link href="http://feedproxy.google.com/~r/marcocantublog/~3/4THS62WZmAk/delphi_facebook_base64_encoding.html" /><id>http://blog.marcocantu.com/blog/delphi_facebook_base64_encoding.html</id><published>2012-01-09T22:12:54.848Z</published><updated>2012-01-10T14:00:14.759Z</updated><summary>Was working on a Delphi server used to build a Facebook application, when I bumped into an odd Base64 decoding issue. Thanks to some very approximate Facebook documentation.   </summary><content type="html">
    &lt;p&gt;
      &lt;content xmlns:gxi="http://geode.it/gxi/2.0/"&gt;
        &lt;p&gt;Was working on a Delphi server used to build a Facebook application, when I bumped into an odd Base64 decoding issue. If you look at the Facebook page documenting their &lt;a href="https://developers.facebook.com/docs/authentication/signed_request/"&gt;Signed Request&lt;/a&gt; parameter, you can see it has a first part with an encoded signature (which I won't really mention here) plus some JSON data encoded in Base64. This looked trivial, but as I started using Indy's TIdDecoderMIME class, the result would be correct... but only at times. Other times, the final } of the JSON string was missing. Now, since there were three closing braces at the end of the specific error situation, I didn't spot the error immediately, the JSON string apparently looked good:&lt;/p&gt;
        &lt;pre style="margin-left: 40px; "&gt;
{"algorithm":"HMAC-SHA256","issued_at":1111111,"page":{"id":"-omitted-","liked":true,"admin":true},"user":{"country":"it","locale":"en_US","age":{"min":21}}&lt;/pre&gt;
        &lt;p&gt;If you look at it carefully, you'll see that the third final brace is missing. So now I could figure out while the JSON parser was crashing badly on me (by they way, I'm using &lt;a href="http://www.progdigy.com/?page_id=6"&gt;JSON SuperObject&lt;/a&gt; for this specific project, nice class). Back to the Facebook documentation. They did say "a base64url encoded JSON object", with a&lt;a href="http://en.wikipedia.org/wiki/Base64#URL_applications"&gt; link to Wikipedia&lt;/a&gt;, but the link doesn't really explain much:&lt;/p&gt;
        &lt;p style="margin-left: 40px; "&gt;"&lt;b style="font-family: sans-serif; font-size: 13px; line-height: 19px; "&gt;modified Base64 for URL&lt;/b&gt;
          &lt;span style="font-family: sans-serif; font-size: 13px; line-height: 19px; "&gt; variants exist, where the '&lt;/span&gt;
          &lt;code style="font-family: monospace, 'Courier New'; font-size: 13px; line-height: 19px; "&gt;+&lt;/code&gt;
          &lt;span style="font-family: sans-serif; font-size: 13px; line-height: 19px; "&gt;' and '&lt;/span&gt;
          &lt;code style="font-family: monospace, 'Courier New'; font-size: 13px; line-height: 19px; "&gt;/&lt;/code&gt;
          &lt;span style="font-family: sans-serif; font-size: 13px; line-height: 19px; "&gt;' characters of standard Base64 are respectively replaced by '&lt;/span&gt;
          &lt;code style="font-family: monospace, 'Courier New'; font-size: 13px; line-height: 19px; "&gt;-&lt;/code&gt;
          &lt;span style="font-family: sans-serif; font-size: 13px; line-height: 19px; "&gt;' and '&lt;/span&gt;
          &lt;code style="font-family: monospace, 'Courier New'; font-size: 13px; line-height: 19px; "&gt;_&lt;/code&gt;
          &lt;span style="font-family: sans-serif; font-size: 13px; line-height: 19px; "&gt;'," and "&lt;/span&gt;
          &lt;span style="font-family: sans-serif; font-size: 13px; line-height: 19px; "&gt;Some variants allow or require omitting the padding '&lt;/span&gt;
          &lt;code style="font-family: monospace, 'Courier New'; font-size: 13px; line-height: 19px; "&gt;=&lt;/code&gt;
          &lt;span style="font-family: sans-serif; font-size: 13px; line-height: 19px; "&gt;' signs&lt;/span&gt;
          &lt;span style="font-family: sans-serif; font-size: 13px; line-height: 19px; "&gt;"&lt;/span&gt;
        &lt;/p&gt;
        &lt;p&gt;Saying there are some variants of an algorithm is not really the best way of documenting it. Facebook doesn't really say which "&lt;strong&gt;variant&lt;/strong&gt;" it is implementing, but, well, at least you can guess among a few options. Moreover, the demo simply calls a PHP function, base_url_decode, and doesn't offer much advice.&lt;/p&gt;
        &lt;p&gt;Initially I though of a problem with the Indy decoding, tried a couple of alternatives, went to nowhere. In fact Delphi has another SOAP-related Base64 decoded, who was doing the opposite, that is adding some garbage at the end of the string. Now that I knew where the issue was, it was easy to google "&lt;em&gt;base64 decoding facebook&lt;/em&gt;" and find a nice blog post, &lt;a href="http://qugstart.com/blog/ruby-and-rails/facebook-base64-url-decode-for-signed_request/"&gt;http://qugstart.com/blog/ruby-and-rails/facebook-base64-url-decode-for-signed_request/&lt;/a&gt;. This is written in Ruby, but having a minimum of description, I could translate it over to Delphi in very little time (see image below for formatted version):&lt;/p&gt;
        &lt;pre&gt;
  strFixup := strInput + StringOfChar ('=', Length (strInput) mod 4); // nope, fixed below
  strFixup := StringReplace (strFixup, '-', '+', [rfReplaceAll]);
  strFixup := StringReplace (strFixup, '_', '/', [rfReplaceAll]);&lt;/pre&gt;
        &lt;p&gt;
          &lt;em&gt;
            &lt;strong&gt;Update: as suggested in a comment below, this is not correct, as when there is one extra byte we need to add 3. However, in case of zero extra bytes, we shouldn't pad with 4, so evern the original Ruby code seems wrong. I've now fixed it with: &lt;/strong&gt;
          &lt;/em&gt;
          &lt;b&gt;
            &lt;i&gt;(4 - Length (strInput) mod 4) mod 4, as in the image below.&lt;/i&gt;
          &lt;/b&gt;
        &lt;/p&gt;
        &lt;p&gt;To be honest I have to say there is a Q&amp;A in the Facebook page I didn't initially read. It says "if you are missing a few characters, &lt;span style="font-family: 'Lucida Grande', Tahoma, Verdana, Arial, sans-serif; line-height: 18px; text-align: left; "&gt;you are probably using normal base64 decoding instead of base64url decoding. See &lt;/span&gt;
          &lt;a style="cursor: pointer; color: rgb(59, 89, 152); font-family: 'Lucida Grande', Tahoma, Verdana, Arial, sans-serif; line-height: 18px; text-align: left; " href="http://en.wikipedia.org/wiki/Base64#URL_applications"&gt;wikipedia&lt;/a&gt;
          &lt;span style="font-family: 'Lucida Grande', Tahoma, Verdana, Arial, sans-serif; line-height: 18px; text-align: left; "&gt;." But, again, wikipedia said there are several variants, come on Facebook! Even more surprising it that the provide a sample conversion at the very end of the page ("Do you have any example?)" , but that's actually only half of the what's encoded in the initial string! &lt;/span&gt; &lt;/p&gt;
        &lt;p&gt;Thanks to some very approximate Facebook documentation I wasted a few hours. I think documentation for online APIs should be much more precise and do't take for granted everyone is using a single programming language in the world!&lt;/p&gt;
        &lt;p style="text-align: center; "&gt;
          &lt;img width="639" height="225" style="text-align: center; " alt="" src="http://blog.marcocantu.com/images/forblog/FacebookBase64Decode.png"&gt;&lt;/img&gt;
        &lt;/p&gt;
      
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/wz5zjul6PsiSvXb6MEb-Mp084_I/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/wz5zjul6PsiSvXb6MEb-Mp084_I/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/wz5zjul6PsiSvXb6MEb-Mp084_I/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/wz5zjul6PsiSvXb6MEb-Mp084_I/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/marcocantublog/~4/4THS62WZmAk" height="1" width="1"/&gt;</content><feedburner:origLink>http://blog.marcocantu.com/blog/delphi_facebook_base64_encoding.html</feedburner:origLink></entry><entry><author><name>marcocantu</name><uri>http://www.marcocantu.com</uri></author><title>From Delphi to Android</title><link href="http://feedproxy.google.com/~r/marcocantublog/~3/4noBgBa23Lk/from_delphi_to_android.html" /><id>http://blog.marcocantu.com/blog/from_delphi_to_android.html</id><published>2012-01-04T23:03:37.059Z</published><updated>2012-01-04T23:04:27.492Z</updated><summary>Android is bigger and bigger every day. What does this mean for Delphi programmers, how can you move knowledge and code? How can you program in Object Pascal for Android? An overview of the current options in a rapidly moving area.  </summary><content type="html">
    &lt;p&gt;
      &lt;strong&gt;Android is bigger and bigger every day. What does this mean for Delphi programmers, how can you move knowledge and code? How can you program in Object Pascal for Android? An overview of the current options in a rapidly moving area.&lt;/strong&gt; &lt;/p&gt;
    &lt;p&gt;It is about a month since I first considered writing a post on this topic, but given this is a rapidly evolving area I'm sure this is a better timing. having just seen two / three articles on specific technologies, I think it is time to get this moving. Let me first add a couple of personal considerations:&lt;/p&gt;
    &lt;ul&gt;
      &lt;li&gt;I think Android is big and will grow a lot. I've been using an Android phone for over an year, and I like it. Won't trade it for an iPhone or Lumia. I own an iPad, find it much more interesting than I anticipated (this is worth another post), but Kindle Fire, the coming GPad (Google iPad Clone), and more options will open this area to Android as well.&lt;/li&gt;
      &lt;li&gt;I think development tools for mobile are still in their initial stage and will grow, landscape will change.&lt;/li&gt;
      &lt;li&gt;I'm not generally terribly fond of code converters (sorry for those building similar tools, but I'm negatively biased).&lt;/li&gt;
    &lt;/ul&gt;
    &lt;p&gt;Having said this which are the real and practical options for Delphi developers who want to build Android applications? These are the options I've noticed, let me know if I miss any, and if I missed any key information (feel free also to add more details, here I'm trying to provide summaries).&lt;/p&gt;
    &lt;h3&gt;
      &lt;strong&gt;Alternative Android Development Options&lt;/strong&gt;
    &lt;/h3&gt;
    &lt;p&gt;Before we look to the available Delphi-oriented tools, let me try to summarize the options for building Android applications:&lt;/p&gt;
    &lt;ul&gt;
      &lt;li&gt;Writing Java applications for the Delvik virtual machine, generally using Eclipse and the &lt;a href="http://developer.android.com/sdk/index.html"&gt;Android SDK&lt;/a&gt; and plug-ins. This is the standard and mainstream appraoch.&lt;/li&gt;
      &lt;li&gt;Writing HTML + JavaScript Web applications optimized for the device, maybe using a library like jQuery Mobile. You can simply point users to URLs, or embed the page in a true &lt;a href="http://developer.android.com/guide/webapps/index.html"&gt;Android Web App&lt;/a&gt;, and even interact with the device using a library like PhoneGAP. What's interesting in this model is that you can use the same application also on iOS.&lt;/li&gt;
      &lt;li&gt;Write &lt;a href="http://developer.android.com/sdk/ndk/index.html"&gt;native applications using the NDK&lt;/a&gt;, generally in C or C++.&lt;/li&gt;
    &lt;/ul&gt;
    &lt;h3&gt;
      &lt;strong&gt;Delphi Language Tools for Android&lt;/strong&gt;
    &lt;/h3&gt;
    &lt;p&gt;It is interesting to notice that different tools that bring the Delphi language (or Object Pascal) to Android follow each of the three models above. Here is a summary:&lt;/p&gt;
    &lt;ul&gt;
      &lt;li&gt;
        &lt;strong&gt;Oxygene for Java&lt;/strong&gt;, by RemObjects, is a tool for writing Delphi-like code (or more Delphi Prism-like code) in Visual Studio converting it to Java for Android. Has a nice way to let you refer to any existing Java library, more or less like Prism does with .NET libraries. Read more at  &lt;a href="http://www.remobjects.com/oxygene/java.aspx"&gt;http://www.remobjects.com/oxygene/java.aspx&lt;/a&gt; and Brian Long's article at &lt;a href="http://blong.com/Articles/OxygeneForJavaIntro/OxygeneForAndroid.htm"&gt;http://blong.com/Articles/OxygeneForJavaIntro/OxygeneForAndroid.htm&lt;/a&gt;. With this tool you create Java applications.&lt;/li&gt;
      &lt;li&gt;
        &lt;strong&gt;SmartMobileStudio&lt;/strong&gt; (formerly OP4JS) is a tool to convert Delphi code to JavaScript and create web applications. Official site is at  &lt;a href="http://www.op4js.com/"&gt;http://www.op4js.com/&lt;/a&gt;. Primoz has a nice article at &lt;a href="http://www.thedelphigeek.com/2012/01/first-steps-with-smart-mobile-studio.html"&gt;http://www.thedelphigeek.com/2012/01/first-steps-with-smart-mobile-studio.html&lt;/a&gt;. I tend to disagree on the main rationale (JavaScript is low level / not good / too complex / etc), but still this tool might get you to code faster. With this tool you create Web apps.&lt;/li&gt;
      &lt;li&gt;
        &lt;strong&gt;Use FPC (Free Pascal Compiler) to build native apps&lt;/strong&gt;, as detailed by Uwe at  &lt;a href="http://www.bitcommander.de/blog/index.php/2011/12/19/fpc-android-boot/"&gt;http://www.bitcommander.de/blog/index.php/2011/12/19/fpc-android-boot/&lt;/a&gt;. After all, if Embarcadero is using FPC for iOS, it could also be good for Android. Still quite an early version, but interesting. And native.&lt;/li&gt;
      &lt;li&gt;
        &lt;strong&gt;Use &lt;/strong&gt;
        &lt;strong&gt;Delphi DataSnap REST&lt;/strong&gt; engine with a proper library to build Web Apps, like I did and documented on this blog at &lt;a href="http://blog.marcocantu.com/blog/mobile_jquery_delphi_rest.html"&gt;http://blog.marcocantu.com/blog/mobile_jquery_delphi_rest.html&lt;/a&gt; and &lt;a href="http://blog.marcocantu.com/blog/web_andoird_app_delphi_datasnap.html"&gt;http://blog.marcocantu.com/blog/web_andoird_app_delphi_datasnap.html&lt;/a&gt;. Yes, you need to write some JavaScrip, but can also use Delphi to generate some, as I do in my Relax Framework. You can probably use the JavaScript REST proxy also from SmartMobileStudio, but I'm not sure about this.&lt;/li&gt;
      &lt;li&gt;
        &lt;strong&gt;Use Eclipse&lt;/strong&gt;
        &lt;strong&gt;... and Delphi's Mobile Connectors&lt;/strong&gt; for DataSnap. You can still write the core code and the database access code in Delphi, and code the UI in native Android Java. Or possibly use Oxygene for the front end, and Delphi for the backend. Or other server plus client solutions. Bittime has written a "Connect Four" app with this model, see &lt;a href="https://market.android.com/details?id=com.bittime.connectfour&amp;amp;hl=en"&gt;https://market.android.com/details?id=com.bittime.connectfour&amp;hl=en&lt;/a&gt;.&lt;/li&gt;
      &lt;li&gt;
        &lt;strong&gt;Wait... for a future Delphi for Android&lt;/strong&gt;, and learn &lt;strong&gt;FireMonkey&lt;/strong&gt; for now, as it seems likely the future, rumored, unofficially promised Delphi for Android will have the same user interface of the current Delphi / FPC for iOS, ties to OpenGL. At the 24 hours of Delphi, JT and DavidI promised a webinar for presenting the new roadmap in early 2012... so I'm waiting. Will this be a native / NDK solution? &lt;/li&gt;
    &lt;/ul&gt;
    &lt;p&gt;Again, there might be more options and alternatives, particularly in the Web App arena, but this offers you some alternatives... to get to Android or get ready for it. Awaiting your comments (better on the blog than on Facebook, but anything goes).&lt;/p&gt;
  
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/jDHnijEE9v7w29wWr3fHk92uvqs/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/jDHnijEE9v7w29wWr3fHk92uvqs/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/jDHnijEE9v7w29wWr3fHk92uvqs/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/jDHnijEE9v7w29wWr3fHk92uvqs/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/marcocantublog/~4/4noBgBa23Lk" height="1" width="1"/&gt;</content><feedburner:origLink>http://blog.marcocantu.com/blog/from_delphi_to_android.html</feedburner:origLink></entry><entry><author><name>marcocantu</name><uri>http://www.marcocantu.com</uri></author><title>Why Skype used Delphi?</title><link href="http://feedproxy.google.com/~r/marcocantublog/~3/0MEga2LD2jg/why_skype_used_delphi.html" /><id>http://blog.marcocantu.com/blog/why_skype_used_delphi.html</id><published>2012-01-03T16:53:27.296Z</published><updated>2012-01-03T16:53:27.296Z</updated><summary>Skype engineers describe why the picked Delphi for the Windows  version (a rather old link in my "to blog" list).</summary><content type="html">
    &lt;p&gt;This page on Quora about Skype is quite old (two years, which in the Internet age is a lot!), but wasn't linked much and wasn't linked by myself although I did blog about Delphi and Skype several times. Came to my attention last month, and now that I'm doing my new year email cleaning up, find it is still worth sharing.&lt;/p&gt;
    &lt;p&gt;Original link on &lt;a href="http://www.quora.com/Skype/What-programming-language-was-Skype-originally-written-in?mid=55546"&gt;
        &lt;strong&gt;http://www.quora.com/Skype/What-programming-language-was-Skype-originally-written-in?mid=55546&lt;/strong&gt;
      &lt;/a&gt;. I think it is very relevant for Delphi, even if the decision appears somewhat casual. &lt;/p&gt;
    &lt;p style="text-align: center; "&gt;
      &lt;img width="613" height="641" alt="" src="http://blog.marcocantu.com/images/forblog/WhySkypeDelphi.png"&gt;&lt;/img&gt;
    &lt;/p&gt;
    &lt;p&gt; &lt;/p&gt;
  
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/yW5_McPlMOpdKnB6YXUohxZD9_M/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/yW5_McPlMOpdKnB6YXUohxZD9_M/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/yW5_McPlMOpdKnB6YXUohxZD9_M/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/yW5_McPlMOpdKnB6YXUohxZD9_M/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/marcocantublog/~4/0MEga2LD2jg" height="1" width="1"/&gt;</content><feedburner:origLink>http://blog.marcocantu.com/blog/why_skype_used_delphi.html</feedburner:origLink></entry></feed>

