<?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-6432360937861123192</id><updated>2011-12-12T20:04:00.371-02:00</updated><category term='Chess'/><category term='google app engine'/><category term='tfs'/><category term='installation'/><category term='javascript'/><category term='cache'/><category term='log4net; .NET'/><category term='development'/><category term='AppEngine'/><category term='AJAX'/><category term='forums'/><category term='iGoogle'/><category term='Java decompiler'/><category term='ASPX'/><category term='application'/><category term='oojs'/><category term='Google maps gmaps polyline polygon encoding'/><category term='forum'/><category term='rs232'/><category term='google maps api'/><category term='audio'/><category term='system.drawing'/><category term='query string encoding decoding'/><category term='programming .net mathematics project-euler'/><category term='open source code Wave Graph Control Plot C# .NET'/><category term='mouse'/><category term='Big Brother'/><category term='zabbix'/><category term='powershell'/><category term='sdk'/><category term='python'/><category term='browser'/><category term='grep'/><category term='avi'/><category term='games of chance'/><category term='ci'/><category term='codec'/><category term='video'/><category term='windows'/><category term='performance'/><category term='developer'/><category term='Goosh Google Gadget'/><category term='Android'/><category term='JAD'/><category term='wcf'/><category term='Mobile'/><category term='linq'/><category term='object orientation'/><category term='google maps'/><category term='usb'/><category term='web javascript performance'/><category term='GGE'/><category term='tutorial'/><category term='WAVE C# .NET'/><category term='search tool'/><category term='Gadgets'/><category term='drum'/><category term='programming matlab spectral audiometry ear sensivity'/><category term='Google Android Location APi Reverse Geocode'/><category term='IEquatable'/><category term='API'/><category term='Google'/><category term='Open Source'/><category term='password storage'/><category term='batch'/><category term='matlab'/><category term='C#'/><category term='Google app Datastore API Python GQL'/><category term='genetic programming'/><category term='drivers'/><category term='firefox add-ons'/><category term='streetsize social mashup maps location'/><category term='visual studio 2010'/><category term='memcached'/><category term='mp3'/><category term='Orkut'/><category term='mono'/><category term='maps'/><category term='Google maps Earth kml kmz'/><category term='.NET C# console application'/><category term='google maps mashup'/><category term='Google Chrome;extension'/><category term='google maps mashup game javascript'/><category term='.NET'/><title type='text'>Hourly Apps</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://hourlyapps.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6432360937861123192/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://hourlyapps.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Jader Dias</name><uri>https://profiles.google.com/113690830411187606956</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-ykVr7-ifXQw/AAAAAAAAAAI/AAAAAAAASl4/ERAPbCy7L94/s512-c/photo.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>62</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-6432360937861123192.post-1938654881344794377</id><published>2011-06-29T18:34:00.001-03:00</published><updated>2011-06-29T18:34:26.461-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='powershell'/><category scheme='http://www.blogger.com/atom/ns#' term='batch'/><category scheme='http://www.blogger.com/atom/ns#' term='python'/><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><title type='text'>Best windows scripting language</title><summary type='text'>I was writing a Batch script and I was looking for a way of listing
all files of a directory whose filename matched a regex. I gave up of
doing that in a BAT file and I did it in a Python script.

Then I found out that I also had to replace some content in those
files, and the sed tool was perfect for that. I downloaded some
Windows binaries for that tool, but none of those supported the
features</summary><link rel='replies' type='application/atom+xml' href='http://hourlyapps.blogspot.com/feeds/1938654881344794377/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6432360937861123192&amp;postID=1938654881344794377' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6432360937861123192/posts/default/1938654881344794377'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6432360937861123192/posts/default/1938654881344794377'/><link rel='alternate' type='text/html' href='http://hourlyapps.blogspot.com/2011/06/best-windows-scripting-language.html' title='Best windows scripting language'/><author><name>Jader Dias</name><uri>https://profiles.google.com/113690830411187606956</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-ykVr7-ifXQw/AAAAAAAAAAI/AAAAAAAASl4/ERAPbCy7L94/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6432360937861123192.post-3900536435101437331</id><published>2011-04-26T14:00:00.001-03:00</published><updated>2011-04-26T14:00:28.476-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>stopwatch.Elapsed.Ticks is different from stopwatch.ElapsedTicks</title><summary type='text'>The .NET class `System.Diagnostics.Stopwatch` has a little secret.
stopwatch.Elapsed.Ticksis the number of 100 nanoseconds elapsed since the start of the stopwatch
stopwatch.ElapsedTicksis the number of timer ticks, and I don't know what it means</summary><link rel='replies' type='application/atom+xml' href='http://hourlyapps.blogspot.com/feeds/3900536435101437331/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6432360937861123192&amp;postID=3900536435101437331' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6432360937861123192/posts/default/3900536435101437331'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6432360937861123192/posts/default/3900536435101437331'/><link rel='alternate' type='text/html' href='http://hourlyapps.blogspot.com/2011/04/stopwatchelapsedticks-is-different-from.html' title='stopwatch.Elapsed.Ticks is different from stopwatch.ElapsedTicks'/><author><name>Jader Dias</name><uri>https://profiles.google.com/113690830411187606956</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-ykVr7-ifXQw/AAAAAAAAAAI/AAAAAAAASl4/ERAPbCy7L94/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6432360937861123192.post-5252845742666444805</id><published>2011-03-25T09:26:00.002-03:00</published><updated>2011-03-25T13:01:58.356-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ci'/><title type='text'>Hudson vs Jenkins, which one should I use?</title><summary type='text'>Hudson and Jenkins are continuous integration servers. They are both forks of the same codebase created by Kohsuke Kawaguchi, former employee of Oracle, the company which owns the Hudson name.

Since Kohsuke abandoned Hudson to work on Jenkins, we wondered which fork would be more actively maintaned and improved. We can draw some metrics analysing their repositories. 

From GitHub perspective </summary><link rel='replies' type='application/atom+xml' href='http://hourlyapps.blogspot.com/feeds/5252845742666444805/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6432360937861123192&amp;postID=5252845742666444805' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6432360937861123192/posts/default/5252845742666444805'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6432360937861123192/posts/default/5252845742666444805'/><link rel='alternate' type='text/html' href='http://hourlyapps.blogspot.com/2011/03/hudson-vs-jenkins-which-one-should-i.html' title='Hudson vs Jenkins, which one should I use?'/><author><name>Jader Dias</name><uri>https://profiles.google.com/113690830411187606956</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-ykVr7-ifXQw/AAAAAAAAAAI/AAAAAAAASl4/ERAPbCy7L94/s512-c/photo.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6432360937861123192.post-4747523649948830522</id><published>2011-03-13T22:22:00.001-03:00</published><updated>2011-03-13T22:23:01.104-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Android'/><category scheme='http://www.blogger.com/atom/ns#' term='drivers'/><title type='text'>How to configure your Android device to show up on "adb devices"</title><summary type='text'>Installing the Google USB Driver package isn't enough to make your android device to show up in the "adb devices" list. You have to follow these instructions too:

http://developer.android.com/sdk/win-usb.html#Win7</summary><link rel='replies' type='application/atom+xml' href='http://hourlyapps.blogspot.com/feeds/4747523649948830522/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6432360937861123192&amp;postID=4747523649948830522' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6432360937861123192/posts/default/4747523649948830522'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6432360937861123192/posts/default/4747523649948830522'/><link rel='alternate' type='text/html' href='http://hourlyapps.blogspot.com/2011/03/how-to-configure-your-android-device-to.html' title='How to configure your Android device to show up on &quot;adb devices&quot;'/><author><name>Jader Dias</name><uri>https://profiles.google.com/113690830411187606956</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-ykVr7-ifXQw/AAAAAAAAAAI/AAAAAAAASl4/ERAPbCy7L94/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6432360937861123192.post-2071727883804128973</id><published>2011-03-08T19:29:00.003-03:00</published><updated>2011-06-27T19:57:15.211-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='google maps'/><title type='text'>Expanded version of Static Maps Creator</title><summary type='text'>Wouldn't be easier to edit static maps on Google Maps' My Maps screen? Yes it is!
And since Pamela Fox published her "My Maps -&gt; Static Maps converter" it became possible.

But it lacked many feature that I implemented in my version:

Polygon simplification
When the generated URL exceeds 2048 characters, the polyline resolution is reduced to fit this limit. You can see that the following msid </summary><link rel='replies' type='application/atom+xml' href='http://hourlyapps.blogspot.com/feeds/2071727883804128973/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6432360937861123192&amp;postID=2071727883804128973' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6432360937861123192/posts/default/2071727883804128973'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6432360937861123192/posts/default/2071727883804128973'/><link rel='alternate' type='text/html' href='http://hourlyapps.blogspot.com/2011/03/expanded-version-of-static-maps-creator.html' title='Expanded version of Static Maps Creator'/><author><name>Jader Dias</name><uri>https://profiles.google.com/113690830411187606956</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-ykVr7-ifXQw/AAAAAAAAAAI/AAAAAAAASl4/ERAPbCy7L94/s512-c/photo.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6432360937861123192.post-7809378802905206671</id><published>2011-02-07T22:24:00.006-02:00</published><updated>2011-02-07T23:01:54.819-02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='python'/><category scheme='http://www.blogger.com/atom/ns#' term='google app engine'/><title type='text'>What I should install to develop Python Google App Engine apps?</title><summary type='text'>You'll certainly need:
Google App Engine Python SDK
Python 2.5.4
Eclipse IDE for JavaScript developers
PyDev http://pydev.org/updates
You'll probably need:Python Imaging Library (PIL) 1.1.7 for Python 2.5 
Mercurial Eclipse (HGE) http://cbes.javaforge.com/update
You can install either 32 or 64 bit versions of Python. But PIL installer will have trouble to find Python 64 bit. It needs a Windows </summary><link rel='replies' type='application/atom+xml' href='http://hourlyapps.blogspot.com/feeds/7809378802905206671/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6432360937861123192&amp;postID=7809378802905206671' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6432360937861123192/posts/default/7809378802905206671'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6432360937861123192/posts/default/7809378802905206671'/><link rel='alternate' type='text/html' href='http://hourlyapps.blogspot.com/2011/02/what-i-should-install-to-develop-python.html' title='What I should install to develop Python Google App Engine apps?'/><author><name>Jader Dias</name><uri>https://profiles.google.com/113690830411187606956</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-ykVr7-ifXQw/AAAAAAAAAAI/AAAAAAAASl4/ERAPbCy7L94/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6432360937861123192.post-7308254177302215340</id><published>2011-01-31T09:38:00.011-02:00</published><updated>2011-02-01T10:22:33.313-02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='mono'/><category scheme='http://www.blogger.com/atom/ns#' term='wcf'/><title type='text'>What is the Windows Communication Foundation (WCF)?</title><summary type='text'>WCF is a communication library implemented as of version 3.0. NET Framework allows to isolate the "service implementation" of "communication protocol". Besides facilitating the serialization and deserialization of data, this library also offers interchangeable implementations of the main communication protocols. for example:

TCP
HTTP - REST
SOAP
Named Pipes
Message Queues

WCF requires data to </summary><link rel='replies' type='application/atom+xml' href='http://hourlyapps.blogspot.com/feeds/7308254177302215340/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6432360937861123192&amp;postID=7308254177302215340' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6432360937861123192/posts/default/7308254177302215340'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6432360937861123192/posts/default/7308254177302215340'/><link rel='alternate' type='text/html' href='http://hourlyapps.blogspot.com/2011/01/o-que-e-o-windows-communication.html' title='What is the Windows Communication Foundation (WCF)?'/><author><name>Jader Dias</name><uri>https://profiles.google.com/113690830411187606956</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-ykVr7-ifXQw/AAAAAAAAAAI/AAAAAAAASl4/ERAPbCy7L94/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6432360937861123192.post-5223038083747024343</id><published>2011-01-11T16:52:00.001-02:00</published><updated>2011-01-11T16:52:22.515-02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='log4net; .NET'/><title type='text'>How to make Log4Net to work with a Windows Service assembly?</title><summary type='text'>There are 2 main concerns with using Log4Net with Windows Service:

1. XmlConfigurator must have its Watch property set to true
2. The output log file must be written to a folder where the service user has writing rights

To solve this you can add this line to your AssemblyInfo.cs:

[assembly: log4net.Config.XmlConfigurator(Watch = true)]

And you have to choose a suitable output path such as:

&lt;</summary><link rel='replies' type='application/atom+xml' href='http://hourlyapps.blogspot.com/feeds/5223038083747024343/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6432360937861123192&amp;postID=5223038083747024343' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6432360937861123192/posts/default/5223038083747024343'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6432360937861123192/posts/default/5223038083747024343'/><link rel='alternate' type='text/html' href='http://hourlyapps.blogspot.com/2011/01/how-to-make-log4net-to-work-with.html' title='How to make Log4Net to work with a Windows Service assembly?'/><author><name>Jader Dias</name><uri>https://profiles.google.com/113690830411187606956</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-ykVr7-ifXQw/AAAAAAAAAAI/AAAAAAAASl4/ERAPbCy7L94/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6432360937861123192.post-8419640596414757495</id><published>2011-01-10T13:41:00.000-02:00</published><updated>2011-01-10T13:41:47.315-02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>Why use "using" instead of calling the "Dispose" method directly?</title><summary type='text'>The following statement:

using(disposable) { }

Has 2 main advantages over the alternative:

disposable.Dispose();

It handles null variables gracefully
It can be easily extended so you can use
using(disposable1)
using(disposable2) { }

instead of

try
{
    disposable1.Dispose();
}
finally
{
    disposable2.Dispose();
}</summary><link rel='replies' type='application/atom+xml' href='http://hourlyapps.blogspot.com/feeds/8419640596414757495/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6432360937861123192&amp;postID=8419640596414757495' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6432360937861123192/posts/default/8419640596414757495'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6432360937861123192/posts/default/8419640596414757495'/><link rel='alternate' type='text/html' href='http://hourlyapps.blogspot.com/2011/01/why-use-using-instead-of-calling.html' title='Why use &quot;using&quot; instead of calling the &quot;Dispose&quot; method directly?'/><author><name>Jader Dias</name><uri>https://profiles.google.com/113690830411187606956</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-ykVr7-ifXQw/AAAAAAAAAAI/AAAAAAAASl4/ERAPbCy7L94/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6432360937861123192.post-4898668935827424658</id><published>2010-12-19T22:17:00.006-02:00</published><updated>2011-03-08T19:31:51.235-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='google maps'/><title type='text'>Static Maps Creator</title><summary type='text'>Pamela Fox has published a static maps creator that encodes polylines from "My Maps":

http://imagine-it.org/google/staticmap/encodemymap.php

And I improved it:

http://static-maps-generator.appspot.com/

There is this interactive maps creator (API v1)

http://www.solvium.de/static-map/

But the one below also supports polylines (API v2)

http://gmaps-samples.googlecode.com/svn/trunk/</summary><link rel='replies' type='application/atom+xml' href='http://hourlyapps.blogspot.com/feeds/4898668935827424658/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6432360937861123192&amp;postID=4898668935827424658' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6432360937861123192/posts/default/4898668935827424658'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6432360937861123192/posts/default/4898668935827424658'/><link rel='alternate' type='text/html' href='http://hourlyapps.blogspot.com/2010/12/static-maps-creator.html' title='Static Maps Creator'/><author><name>Jader Dias</name><uri>https://profiles.google.com/113690830411187606956</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-ykVr7-ifXQw/AAAAAAAAAAI/AAAAAAAASl4/ERAPbCy7L94/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6432360937861123192.post-1424684672495921122</id><published>2010-11-01T11:25:00.002-02:00</published><updated>2010-11-01T12:08:00.821-02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='installation'/><category scheme='http://www.blogger.com/atom/ns#' term='sdk'/><category scheme='http://www.blogger.com/atom/ns#' term='tutorial'/><category scheme='http://www.blogger.com/atom/ns#' term='google app engine'/><title type='text'>How to install Google App Engine Python SDK?</title><summary type='text'>You'll need:

The latest SDK
The latest Python 2.5 (2.5.4 when I posted this)
The latest Python Imaging Library for Python 2.5 (1.1.7 when I posted this)

</summary><link rel='replies' type='application/atom+xml' href='http://hourlyapps.blogspot.com/feeds/1424684672495921122/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6432360937861123192&amp;postID=1424684672495921122' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6432360937861123192/posts/default/1424684672495921122'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6432360937861123192/posts/default/1424684672495921122'/><link rel='alternate' type='text/html' href='http://hourlyapps.blogspot.com/2010/11/how-to-install-google-app-engine-sdk.html' title='How to install Google App Engine Python SDK?'/><author><name>Jader Dias</name><uri>https://profiles.google.com/113690830411187606956</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-ykVr7-ifXQw/AAAAAAAAAAI/AAAAAAAASl4/ERAPbCy7L94/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6432360937861123192.post-1045018325907690823</id><published>2010-10-31T12:09:00.002-02:00</published><updated>2010-10-31T12:09:35.440-02:00</updated><title type='text'>How to publish a private method at runtime?</title><summary type='text'>Here's how:


    class AClass
    {
        void Private()
        {
        }

        public Action Publish()
        {
            return Private;
        }
    }

    class Program
    {
        static void Main(string[] args)
        {
            var anInstance = new AClass();
            var publishedInstance = anInstance.Publish();
            publishedInstance();
        }
    }</summary><link rel='replies' type='application/atom+xml' href='http://hourlyapps.blogspot.com/feeds/1045018325907690823/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6432360937861123192&amp;postID=1045018325907690823' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6432360937861123192/posts/default/1045018325907690823'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6432360937861123192/posts/default/1045018325907690823'/><link rel='alternate' type='text/html' href='http://hourlyapps.blogspot.com/2010/10/how-to-publish-private-method-at.html' title='How to publish a private method at runtime?'/><author><name>Jader Dias</name><uri>https://profiles.google.com/113690830411187606956</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-ykVr7-ifXQw/AAAAAAAAAAI/AAAAAAAASl4/ERAPbCy7L94/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6432360937861123192.post-3064858256466730589</id><published>2010-06-19T15:32:00.004-03:00</published><updated>2010-06-19T15:33:49.012-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='audio'/><title type='text'>How to play raw PCM audio data in .NET using C#?</title><summary type='text'>There is a Windows API for that. You can use the .NET Wrapper in RageLib.  RageLib can be found in http://code.google.com/p/gtaivtools/source/browse/#svn/trunk/RageLib

class Program{    static byte[] _queue = new byte[0];    static void Filler(IntPtr data, int size)    {        var length = Math.Min(size, _queue.Length);        Marshal.Copy(_queue, 0, data, length);        _queue = _queue.Skip(</summary><link rel='replies' type='application/atom+xml' href='http://hourlyapps.blogspot.com/feeds/3064858256466730589/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6432360937861123192&amp;postID=3064858256466730589' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6432360937861123192/posts/default/3064858256466730589'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6432360937861123192/posts/default/3064858256466730589'/><link rel='alternate' type='text/html' href='http://hourlyapps.blogspot.com/2010/06/how-to-play-raw-pcm-audio-data-in-net.html' title='How to play raw PCM audio data in .NET using C#?'/><author><name>Jader Dias</name><uri>https://profiles.google.com/113690830411187606956</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-ykVr7-ifXQw/AAAAAAAAAAI/AAAAAAAASl4/ERAPbCy7L94/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6432360937861123192.post-2407949935906279088</id><published>2010-06-19T15:29:00.000-03:00</published><updated>2010-06-19T15:29:06.763-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='audio'/><category scheme='http://www.blogger.com/atom/ns#' term='matlab'/><title type='text'>How to play raw PCM audio data in Matlab?</title><summary type='text'>function record()
    Fs = 8000;
    nBits = 16;
    nChannels = 1;
    recorder = audiorecorder(Fs, nBits, nChannels);
    disp('Start speaking for 2 seconds');
    recordblocking(recorder, 2);
    disp('End of Recording.');
    audiodata = getaudiodata(recorder, 'uint8');
    player = audioplayer(audiodata, Fs);
    playblocking(player);
</summary><link rel='replies' type='application/atom+xml' href='http://hourlyapps.blogspot.com/feeds/2407949935906279088/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6432360937861123192&amp;postID=2407949935906279088' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6432360937861123192/posts/default/2407949935906279088'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6432360937861123192/posts/default/2407949935906279088'/><link rel='alternate' type='text/html' href='http://hourlyapps.blogspot.com/2010/06/how-to-play-raw-pcm-audio-data-in.html' title='How to play raw PCM audio data in Matlab?'/><author><name>Jader Dias</name><uri>https://profiles.google.com/113690830411187606956</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-ykVr7-ifXQw/AAAAAAAAAAI/AAAAAAAASl4/ERAPbCy7L94/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6432360937861123192.post-4201757756959912026</id><published>2010-06-06T23:03:00.000-03:00</published><updated>2010-06-06T23:03:43.589-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='rs232'/><category scheme='http://www.blogger.com/atom/ns#' term='mouse'/><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><category scheme='http://www.blogger.com/atom/ns#' term='usb'/><title type='text'>How to prevent Serial-to-USB devices from messing with your mouse on Windows</title><summary type='text'>Since I am using one of my USB ports to receive RS232 data, it began to scramble my mouse pointer. It move randomly across the screen. It happens because Windows recognizes it as a serial mouse.

The solution for this is simple. Your USB device will be listed twice in the Windows Device Manager. All you have to do is disable the mouse entry.</summary><link rel='replies' type='application/atom+xml' href='http://hourlyapps.blogspot.com/feeds/4201757756959912026/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6432360937861123192&amp;postID=4201757756959912026' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6432360937861123192/posts/default/4201757756959912026'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6432360937861123192/posts/default/4201757756959912026'/><link rel='alternate' type='text/html' href='http://hourlyapps.blogspot.com/2010/06/how-to-prevent-serial-to-usb-devices.html' title='How to prevent Serial-to-USB devices from messing with your mouse on Windows'/><author><name>Jader Dias</name><uri>https://profiles.google.com/113690830411187606956</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-ykVr7-ifXQw/AAAAAAAAAAI/AAAAAAAASl4/ERAPbCy7L94/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6432360937861123192.post-2450851558503970368</id><published>2010-06-04T16:29:00.007-03:00</published><updated>2010-06-07T11:48:47.312-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='memcached'/><title type='text'>Examples of Memcached telnet commands</title><summary type='text'>I was looking for a example of a memcached telnet session, here is what I created. It shows the behavior of the set, get, add, gets, cas and replace commands.

I introduced the '&gt;' sign before each input line to differentiate it from the output.

&gt;add mykey 0 60 11
&gt;hello world
STORED

&gt;get mykey
hello world
END

&gt;add mykey 0 60 11
&gt;hello world
NOT_STORED

&gt;replace mykey 0 60 7
&gt;hello w
STORED

&gt;</summary><link rel='replies' type='application/atom+xml' href='http://hourlyapps.blogspot.com/feeds/2450851558503970368/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6432360937861123192&amp;postID=2450851558503970368' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6432360937861123192/posts/default/2450851558503970368'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6432360937861123192/posts/default/2450851558503970368'/><link rel='alternate' type='text/html' href='http://hourlyapps.blogspot.com/2010/06/examples-of-memcached-commands.html' title='Examples of Memcached telnet commands'/><author><name>Jader Dias</name><uri>https://profiles.google.com/113690830411187606956</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-ykVr7-ifXQw/AAAAAAAAAAI/AAAAAAAASl4/ERAPbCy7L94/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6432360937861123192.post-7628812646588265552</id><published>2010-06-01T15:04:00.009-03:00</published><updated>2010-07-11T23:56:14.322-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='zabbix'/><category scheme='http://www.blogger.com/atom/ns#' term='memcached'/><title type='text'>How to send Memcached stats to a monitoring tool using bash?</title><summary type='text'>Zabbix is my network monitoring tool of choice. You can send Memcached stats to it using the simple code bash script below:


#!/bin/bashZABBIX_SENDER="/usr/local/sbin/zabbix_sender"ZABBIX_TRAPPER="localhost"ZABBIX_TRAPPER_PORT=10051ZABBIX_ITEM_KEY_PREFIX="memcached_"ZABBIX_HOST="Memcached"MEMCACHED_SERVER="localhost"MEMCACHED_SERVER_PORT=11211STATS=`(sleep 1 ; echo "stats"; sleep 1; echo "quit")</summary><link rel='replies' type='application/atom+xml' href='http://hourlyapps.blogspot.com/feeds/7628812646588265552/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6432360937861123192&amp;postID=7628812646588265552' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6432360937861123192/posts/default/7628812646588265552'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6432360937861123192/posts/default/7628812646588265552'/><link rel='alternate' type='text/html' href='http://hourlyapps.blogspot.com/2010/06/how-to-send-memcached-stats-to.html' title='How to send Memcached stats to a monitoring tool using bash?'/><author><name>Jader Dias</name><uri>https://profiles.google.com/113690830411187606956</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-ykVr7-ifXQw/AAAAAAAAAAI/AAAAAAAASl4/ERAPbCy7L94/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6432360937861123192.post-3807129393155867629</id><published>2010-06-01T09:37:00.000-03:00</published><updated>2010-06-01T09:37:11.362-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='tfs'/><category scheme='http://www.blogger.com/atom/ns#' term='visual studio 2010'/><title type='text'>Never uninstall the Team Foundation Server component that comes with Visual Studio 2010</title><summary type='text'>This component is essential to open solutions that were originally binded to a TFS server (ie. Codeplex projects)</summary><link rel='replies' type='application/atom+xml' href='http://hourlyapps.blogspot.com/feeds/3807129393155867629/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6432360937861123192&amp;postID=3807129393155867629' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6432360937861123192/posts/default/3807129393155867629'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6432360937861123192/posts/default/3807129393155867629'/><link rel='alternate' type='text/html' href='http://hourlyapps.blogspot.com/2010/06/never-uninstall-team-foundation-server.html' title='Never uninstall the Team Foundation Server component that comes with Visual Studio 2010'/><author><name>Jader Dias</name><uri>https://profiles.google.com/113690830411187606956</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-ykVr7-ifXQw/AAAAAAAAAAI/AAAAAAAASl4/ERAPbCy7L94/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6432360937861123192.post-5959607160504410145</id><published>2010-05-18T13:33:00.000-03:00</published><updated>2010-05-18T13:33:21.459-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='wcf'/><title type='text'>OneWay OperationContract in WCF implications</title><summary type='text'>OneWay OperationContract in WCF implications causes WebHttpBinding to answer HTTP 202, instead of HTTP 200</summary><link rel='replies' type='application/atom+xml' href='http://hourlyapps.blogspot.com/feeds/5959607160504410145/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6432360937861123192&amp;postID=5959607160504410145' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6432360937861123192/posts/default/5959607160504410145'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6432360937861123192/posts/default/5959607160504410145'/><link rel='alternate' type='text/html' href='http://hourlyapps.blogspot.com/2010/05/oneway-operationcontract-in-wcf.html' title='OneWay OperationContract in WCF implications'/><author><name>Jader Dias</name><uri>https://profiles.google.com/113690830411187606956</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-ykVr7-ifXQw/AAAAAAAAAAI/AAAAAAAASl4/ERAPbCy7L94/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6432360937861123192.post-6414099907930704714</id><published>2010-05-14T23:54:00.002-03:00</published><updated>2010-05-14T23:54:55.045-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Google Chrome;extension'/><title type='text'>How to discover the RGB code for a color on the screen</title><summary type='text'>If you use Google Chrome you should check out this Eye Dropper extension.</summary><link rel='replies' type='application/atom+xml' href='http://hourlyapps.blogspot.com/feeds/6414099907930704714/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6432360937861123192&amp;postID=6414099907930704714' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6432360937861123192/posts/default/6414099907930704714'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6432360937861123192/posts/default/6414099907930704714'/><link rel='alternate' type='text/html' href='http://hourlyapps.blogspot.com/2010/05/how-to-discover-rgb-code-for-color-on.html' title='How to discover the RGB code for a color on the screen'/><author><name>Jader Dias</name><uri>https://profiles.google.com/113690830411187606956</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-ykVr7-ifXQw/AAAAAAAAAAI/AAAAAAAASl4/ERAPbCy7L94/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6432360937861123192.post-3889268303861405915</id><published>2010-05-10T18:59:00.002-03:00</published><updated>2010-05-17T14:00:36.531-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='forums'/><title type='text'>Common acronyms in internet forums, or WTF is IIRC?</title><summary type='text'>The more polite initialisms:

OP = original poster
AFAIK = as far as I know
IIRC = if I remember correctly
IMHO = in my humble opnion
RSVP = Répondez s'il vous plaît (answer if it pleases you)

The others:

LMGTFY = let me google that for you
RTFM = read the fucking manual
WTF = what the fuck 
LOL = laughing out loud
ROTFLOL = rolling on the floor laughing out loud

In instant messaging and chat </summary><link rel='replies' type='application/atom+xml' href='http://hourlyapps.blogspot.com/feeds/3889268303861405915/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6432360937861123192&amp;postID=3889268303861405915' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6432360937861123192/posts/default/3889268303861405915'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6432360937861123192/posts/default/3889268303861405915'/><link rel='alternate' type='text/html' href='http://hourlyapps.blogspot.com/2010/05/common-acronyms-in-internet-forums-or.html' title='Common acronyms in internet forums, or WTF is IIRC?'/><author><name>Jader Dias</name><uri>https://profiles.google.com/113690830411187606956</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-ykVr7-ifXQw/AAAAAAAAAAI/AAAAAAAASl4/ERAPbCy7L94/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6432360937861123192.post-7187040101676460654</id><published>2010-05-05T09:44:00.001-03:00</published><updated>2010-05-05T09:44:49.565-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='linq'/><title type='text'>What is the best Javascript LINQ implementation?</title><summary type='text'>When you search for "javascript linq" you'll see:
linq.js
jslinq
jsinq
jlinq
and many others....
I all have to say is that jslinq don't have GroupBy, Except and many other methods. While linq.js does.</summary><link rel='replies' type='application/atom+xml' href='http://hourlyapps.blogspot.com/feeds/7187040101676460654/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6432360937861123192&amp;postID=7187040101676460654' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6432360937861123192/posts/default/7187040101676460654'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6432360937861123192/posts/default/7187040101676460654'/><link rel='alternate' type='text/html' href='http://hourlyapps.blogspot.com/2010/05/what-is-best-javascript-linq.html' title='What is the best Javascript LINQ implementation?'/><author><name>Jader Dias</name><uri>https://profiles.google.com/113690830411187606956</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-ykVr7-ifXQw/AAAAAAAAAAI/AAAAAAAASl4/ERAPbCy7L94/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6432360937861123192.post-1859367617405965928</id><published>2010-04-05T15:42:00.000-03:00</published><updated>2010-04-05T15:42:08.087-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='wcf'/><title type='text'>5 ways of optimizing WCF performance</title><summary type='text'>Try to use the following options
 transferMode : streamed
oneWay
unordered
asynchronous
netTcpBinding or netMsmqBinding
</summary><link rel='replies' type='application/atom+xml' href='http://hourlyapps.blogspot.com/feeds/1859367617405965928/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6432360937861123192&amp;postID=1859367617405965928' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6432360937861123192/posts/default/1859367617405965928'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6432360937861123192/posts/default/1859367617405965928'/><link rel='alternate' type='text/html' href='http://hourlyapps.blogspot.com/2010/04/5-ways-of-optimizing-wcf-performance.html' title='5 ways of optimizing WCF performance'/><author><name>Jader Dias</name><uri>https://profiles.google.com/113690830411187606956</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-ykVr7-ifXQw/AAAAAAAAAAI/AAAAAAAASl4/ERAPbCy7L94/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6432360937861123192.post-4634631578007524757</id><published>2010-02-20T16:58:00.002-02:00</published><updated>2010-02-20T17:02:44.874-02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='password storage'/><title type='text'>One reason why we can't trust online password storage</title><summary type='text'>LastPass.com, Passpack.com and many other sites claim that they can store your sensitive data, like credit card numbers and passwords, in an encrypted form, so they don't have access to it. While the services they offer really save you from a lot of work (password memorization and typing) there is a fundamental flaw.

The problem is that most of the code that decrypts your sensitive data can be </summary><link rel='replies' type='application/atom+xml' href='http://hourlyapps.blogspot.com/feeds/4634631578007524757/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6432360937861123192&amp;postID=4634631578007524757' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6432360937861123192/posts/default/4634631578007524757'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6432360937861123192/posts/default/4634631578007524757'/><link rel='alternate' type='text/html' href='http://hourlyapps.blogspot.com/2010/02/one-reason-why-we-cant-trust-online.html' title='One reason why we can&apos;t trust online password storage'/><author><name>Jader Dias</name><uri>https://profiles.google.com/113690830411187606956</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-ykVr7-ifXQw/AAAAAAAAAAI/AAAAAAAASl4/ERAPbCy7L94/s512-c/photo.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6432360937861123192.post-3206249588621385176</id><published>2010-01-17T22:17:00.002-02:00</published><updated>2010-01-17T22:17:47.949-02:00</updated><title type='text'>Did you know that you are helping to save the planet?</title><summary type='text'>We developers are changing the world, as shown in this IBM presentation:

http://www-03.ibm.com/innovation/us/thesmartercity/index.shtml</summary><link rel='replies' type='application/atom+xml' href='http://hourlyapps.blogspot.com/feeds/3206249588621385176/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6432360937861123192&amp;postID=3206249588621385176' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6432360937861123192/posts/default/3206249588621385176'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6432360937861123192/posts/default/3206249588621385176'/><link rel='alternate' type='text/html' href='http://hourlyapps.blogspot.com/2010/01/did-you-know-that-you-are-helping-to.html' title='Did you know that you are helping to save the planet?'/><author><name>Jader Dias</name><uri>https://profiles.google.com/113690830411187606956</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-ykVr7-ifXQw/AAAAAAAAAAI/AAAAAAAASl4/ERAPbCy7L94/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6432360937861123192.post-4506211714332623475</id><published>2010-01-17T22:10:00.003-02:00</published><updated>2010-01-17T22:11:27.780-02:00</updated><title type='text'>Introducing Google Chrome Frame, the solution for Internet Explorer</title><summary type='text'></summary><link rel='replies' type='application/atom+xml' href='http://hourlyapps.blogspot.com/feeds/4506211714332623475/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6432360937861123192&amp;postID=4506211714332623475' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6432360937861123192/posts/default/4506211714332623475'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6432360937861123192/posts/default/4506211714332623475'/><link rel='alternate' type='text/html' href='http://hourlyapps.blogspot.com/2010/01/introducing-google-chrome-frame.html' title='Introducing Google Chrome Frame, the solution for Internet Explorer'/><author><name>Jader Dias</name><uri>https://profiles.google.com/113690830411187606956</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-ykVr7-ifXQw/AAAAAAAAAAI/AAAAAAAASl4/ERAPbCy7L94/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6432360937861123192.post-7491818061268133564</id><published>2009-09-26T02:21:00.005-03:00</published><updated>2009-09-26T02:25:48.753-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='games of chance'/><category scheme='http://www.blogger.com/atom/ns#' term='.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>2 ways to win at the Roulette</title><summary type='text'>How to win at the Roulette?A simple roulette bet yields 47% maximum winning chance. But if you have more rounds to play, you can achieve better odds. It all depends on your strategy. I designed an algorithm that yields 65% chance of winning some money after few rounds. To tell the whole history I wrote a whole open source C# .NET project that enables developers to write and test its own </summary><link rel='replies' type='application/atom+xml' href='http://hourlyapps.blogspot.com/feeds/7491818061268133564/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6432360937861123192&amp;postID=7491818061268133564' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6432360937861123192/posts/default/7491818061268133564'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6432360937861123192/posts/default/7491818061268133564'/><link rel='alternate' type='text/html' href='http://hourlyapps.blogspot.com/2009/09/2-ways-to-win-at-roulette.html' title='2 ways to win at the Roulette'/><author><name>Jader Dias</name><uri>https://profiles.google.com/113690830411187606956</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-ykVr7-ifXQw/AAAAAAAAAAI/AAAAAAAASl4/ERAPbCy7L94/s512-c/photo.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6432360937861123192.post-1549251039526336812</id><published>2009-09-15T21:18:00.001-03:00</published><updated>2009-09-15T21:20:00.847-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='google maps api'/><title type='text'>How to customize route icons when using Google Maps API</title><summary type='text'>I just commited an example of how to do that, check the javascript source code at:http://code.google.com/p/google-maps-api-examples/source/browse/trunk/CustomIconsRoute.html</summary><link rel='replies' type='application/atom+xml' href='http://hourlyapps.blogspot.com/feeds/1549251039526336812/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6432360937861123192&amp;postID=1549251039526336812' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6432360937861123192/posts/default/1549251039526336812'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6432360937861123192/posts/default/1549251039526336812'/><link rel='alternate' type='text/html' href='http://hourlyapps.blogspot.com/2009/09/how-to-customize-route-icons-when-using.html' title='How to customize route icons when using Google Maps API'/><author><name>Jader Dias</name><uri>https://profiles.google.com/113690830411187606956</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-ykVr7-ifXQw/AAAAAAAAAAI/AAAAAAAASl4/ERAPbCy7L94/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6432360937861123192.post-3188046303127427763</id><published>2009-08-22T18:05:00.001-03:00</published><updated>2009-08-22T18:14:37.057-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='IEquatable'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>Complete .NET IEquatable implementation reference</title><summary type='text'>I finally wrote a sample code that shows the correct way to implement all IEquatable related methods:http://code.google.com/p/iequatable-implementation-reference/source/browse/IEquatableReference/trunk/IEquatableReference/ValuesClass.csThe unit tests that justify each line of code are there:http://code.google.com/p/iequatable-implementation-reference/source/browse/IEquatableReference/trunk/</summary><link rel='replies' type='application/atom+xml' href='http://hourlyapps.blogspot.com/feeds/3188046303127427763/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6432360937861123192&amp;postID=3188046303127427763' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6432360937861123192/posts/default/3188046303127427763'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6432360937861123192/posts/default/3188046303127427763'/><link rel='alternate' type='text/html' href='http://hourlyapps.blogspot.com/2009/08/complete-net-iequatable-implementation.html' title='Complete .NET IEquatable implementation reference'/><author><name>Jader Dias</name><uri>https://profiles.google.com/113690830411187606956</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-ykVr7-ifXQw/AAAAAAAAAAI/AAAAAAAASl4/ERAPbCy7L94/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6432360937861123192.post-4392862790479575026</id><published>2009-07-02T09:12:00.005-03:00</published><updated>2009-07-02T09:22:40.213-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='genetic programming'/><title type='text'>Adding recombination to Image Vectorization Genetic Programming</title><summary type='text'>After reading the Roger Alsing's arcticle about his Evo Lisa, a genetic approach to image vectorization, I decided to build my own version of it from scratch using C# .NET and TDD. The result is published at Google Code project hosting licensed under LGPL. The key diferences are: 1. It uses only Triangles instead of polygons or splines. 2. It accepts a population parameter. 3. When the population</summary><link rel='replies' type='application/atom+xml' href='http://hourlyapps.blogspot.com/feeds/4392862790479575026/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6432360937861123192&amp;postID=4392862790479575026' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6432360937861123192/posts/default/4392862790479575026'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6432360937861123192/posts/default/4392862790479575026'/><link rel='alternate' type='text/html' href='http://hourlyapps.blogspot.com/2009/07/adding-recombination-to-image.html' title='Adding recombination to Image Vectorization Genetic Programming'/><author><name>Jader Dias</name><uri>https://profiles.google.com/113690830411187606956</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-ykVr7-ifXQw/AAAAAAAAAAI/AAAAAAAASl4/ERAPbCy7L94/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6432360937861123192.post-6892906638477289588</id><published>2009-06-30T00:39:00.002-03:00</published><updated>2009-06-30T00:45:54.865-03:00</updated><title type='text'>How to convert MP3 files to WAV files in .NET (C#)</title><summary type='text'>I have successfully converted compressed audio to PCM files with the Alvas.Audio .NET library. Its FAQ shows how to convert a WAV to a MP3 but not the contrary. So I had to write my own code:        static void Main(string[] args)         {             string mp3File = @"Theme - Simpsons.mp3";             string wavFile = @"Theme - Simpsons.wav";             using (var wr = new Mp3Reader(</summary><link rel='replies' type='application/atom+xml' href='http://hourlyapps.blogspot.com/feeds/6892906638477289588/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6432360937861123192&amp;postID=6892906638477289588' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6432360937861123192/posts/default/6892906638477289588'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6432360937861123192/posts/default/6892906638477289588'/><link rel='alternate' type='text/html' href='http://hourlyapps.blogspot.com/2009/06/how-to-convert-mp3-files-to-wav-files.html' title='How to convert MP3 files to WAV files in .NET (C#)'/><author><name>Jader Dias</name><uri>https://profiles.google.com/113690830411187606956</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-ykVr7-ifXQw/AAAAAAAAAAI/AAAAAAAASl4/ERAPbCy7L94/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6432360937861123192.post-7425702769288087411</id><published>2009-06-11T12:00:00.008-03:00</published><updated>2009-06-11T12:38:12.490-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Big Brother'/><category scheme='http://www.blogger.com/atom/ns#' term='AppEngine'/><category scheme='http://www.blogger.com/atom/ns#' term='Google'/><title type='text'>Google AppEngine will reduce free quotas to 14%</title><summary type='text'>Google published on its AppEngine blog the plan to reduce the free use quotas to 6.5 CPU-hours and 1.07 gigabytes of outbound transfer, by June 22nd. It's 14% of the current free CPU time quota and 10% of the current bandwith, and 8,000 of the currently free deployed applications will be charged.Current free quotas:46.30 CPU hours10.00 GBytes Outgoing Bandwith10.00 GBytes Incoming Bandwith1.00 </summary><link rel='replies' type='application/atom+xml' href='http://hourlyapps.blogspot.com/feeds/7425702769288087411/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6432360937861123192&amp;postID=7425702769288087411' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6432360937861123192/posts/default/7425702769288087411'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6432360937861123192/posts/default/7425702769288087411'/><link rel='alternate' type='text/html' href='http://hourlyapps.blogspot.com/2009/06/google-appengine-will-reduce-free.html' title='Google AppEngine will reduce free quotas to 14%'/><author><name>Jader Dias</name><uri>https://profiles.google.com/113690830411187606956</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-ykVr7-ifXQw/AAAAAAAAAAI/AAAAAAAASl4/ERAPbCy7L94/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6432360937861123192.post-786529229067822673</id><published>2009-06-06T15:28:00.002-03:00</published><updated>2009-06-06T15:32:39.911-03:00</updated><title type='text'>How to draw on a Windows Form using C# .NET</title><summary type='text'>1. Create a new Windows Forms Application on Visual Studio2. In the design mode click on the form3. On the properties window click on events4. Double click the "Paint" eventand the final step:5. Put the code below in the file that opens:using System;using System.Drawing;using System.Windows.Forms;namespace WindowsFormsApplication1{    public partial class Form1 : Form    {        private Bitmap </summary><link rel='replies' type='application/atom+xml' href='http://hourlyapps.blogspot.com/feeds/786529229067822673/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6432360937861123192&amp;postID=786529229067822673' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6432360937861123192/posts/default/786529229067822673'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6432360937861123192/posts/default/786529229067822673'/><link rel='alternate' type='text/html' href='http://hourlyapps.blogspot.com/2009/06/how-to-draw-on-windows-form-using-c-net.html' title='How to draw on a Windows Form using C# .NET'/><author><name>Jader Dias</name><uri>https://profiles.google.com/113690830411187606956</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-ykVr7-ifXQw/AAAAAAAAAAI/AAAAAAAASl4/ERAPbCy7L94/s512-c/photo.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6432360937861123192.post-6314604816747760785</id><published>2009-06-03T00:26:00.003-03:00</published><updated>2009-06-03T00:29:23.713-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='system.drawing'/><category scheme='http://www.blogger.com/atom/ns#' term='development'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>How to convert a Brush to Color in C#</title><summary type='text'>Or How to get the Color of a Brush object in .NETThe solution is pretty simple:   new Pen(brush).ColorThe reverse is also possible new SolidBrush(color)</summary><link rel='replies' type='application/atom+xml' href='http://hourlyapps.blogspot.com/feeds/6314604816747760785/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6432360937861123192&amp;postID=6314604816747760785' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6432360937861123192/posts/default/6314604816747760785'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6432360937861123192/posts/default/6314604816747760785'/><link rel='alternate' type='text/html' href='http://hourlyapps.blogspot.com/2009/06/how-to-convert-brush-to-color-in-c.html' title='How to convert a Brush to Color in C#'/><author><name>Jader Dias</name><uri>https://profiles.google.com/113690830411187606956</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-ykVr7-ifXQw/AAAAAAAAAAI/AAAAAAAASl4/ERAPbCy7L94/s512-c/photo.jpg'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6432360937861123192.post-2919101336827695740</id><published>2009-06-01T17:45:00.004-03:00</published><updated>2009-06-01T17:49:41.263-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='object orientation'/><category scheme='http://www.blogger.com/atom/ns#' term='oojs'/><title type='text'>Object Oriented Javascript, C# Comparison</title><summary type='text'>C# Code:public class ClassName : BaseClassName{ public object PropertyName { get; set; } public BaseClassName(object argumentName) {  this.PropertyName = argumentName; } public void MethodName() { }}Javascript Code:function ClassName(argumentName) { this.PropertyName = argumentName;}ClassName.prototype.MethodName = function() {}</summary><link rel='replies' type='application/atom+xml' href='http://hourlyapps.blogspot.com/feeds/2919101336827695740/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6432360937861123192&amp;postID=2919101336827695740' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6432360937861123192/posts/default/2919101336827695740'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6432360937861123192/posts/default/2919101336827695740'/><link rel='alternate' type='text/html' href='http://hourlyapps.blogspot.com/2009/06/object-oriented-javascript-c-comparison.html' title='Object Oriented Javascript, C# Comparison'/><author><name>Jader Dias</name><uri>https://profiles.google.com/113690830411187606956</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-ykVr7-ifXQw/AAAAAAAAAAI/AAAAAAAASl4/ERAPbCy7L94/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6432360937861123192.post-7591453296600460823</id><published>2009-03-01T18:25:00.009-03:00</published><updated>2009-03-01T20:07:46.503-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='programming matlab spectral audiometry ear sensivity'/><title type='text'>Test your audio spectral sensivity</title><summary type='text'>I have created a sound file, which plays all musical notes hearable by the humans. It is the pure tone audiometry file, with that file you can test your hearing capabilities because it has all notes  played with the same amplitude, but you will hear them at different levels and some of them will not be heard at all.Download and play the file (900 KB):audiometry.mp3In the following spreadsheet </summary><link rel='replies' type='application/atom+xml' href='http://hourlyapps.blogspot.com/feeds/7591453296600460823/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6432360937861123192&amp;postID=7591453296600460823' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6432360937861123192/posts/default/7591453296600460823'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6432360937861123192/posts/default/7591453296600460823'/><link rel='alternate' type='text/html' href='http://hourlyapps.blogspot.com/2009/03/test-your-audio-spectral-sensivity.html' title='Test your audio spectral sensivity'/><author><name>Jader Dias</name><uri>https://profiles.google.com/113690830411187606956</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-ykVr7-ifXQw/AAAAAAAAAAI/AAAAAAAASl4/ERAPbCy7L94/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6432360937861123192.post-1246259093993613354</id><published>2009-02-08T17:08:00.002-02:00</published><updated>2009-02-08T17:17:17.787-02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='programming .net mathematics project-euler'/><title type='text'>New open-source project: EulerMath</title><summary type='text'>Project Euler has many mathematical challenges, which can be solved through computer programs. The .NET's Math class doesn't provides all mathematical functions needed for the solution of those problems.Because of this I created EulerMath. The main goal of this project is to create a fast and robust library that provides all common mathematical functions that are necessary to those problems's </summary><link rel='replies' type='application/atom+xml' href='http://hourlyapps.blogspot.com/feeds/1246259093993613354/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6432360937861123192&amp;postID=1246259093993613354' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6432360937861123192/posts/default/1246259093993613354'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6432360937861123192/posts/default/1246259093993613354'/><link rel='alternate' type='text/html' href='http://hourlyapps.blogspot.com/2009/02/new-open-source-project-eulermath.html' title='New open-source project: EulerMath'/><author><name>Jader Dias</name><uri>https://profiles.google.com/113690830411187606956</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-ykVr7-ifXQw/AAAAAAAAAAI/AAAAAAAASl4/ERAPbCy7L94/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6432360937861123192.post-6813612184461472344</id><published>2009-02-02T00:01:00.002-02:00</published><updated>2009-02-02T00:11:21.339-02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='developer'/><category scheme='http://www.blogger.com/atom/ns#' term='forum'/><title type='text'>The best developers forum</title><summary type='text'>Stackoverflow.com is a well known developers forum. There you can ask question about any language and the answer comes in less than a minute for the mainstream languages, and in less than an hour for languages like Matlab.The main feature that makes that site better than any forum is a clean (KISS) and useful interface, not resembling any other forum.Please visit my profile there, where you can </summary><link rel='replies' type='application/atom+xml' href='http://hourlyapps.blogspot.com/feeds/6813612184461472344/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6432360937861123192&amp;postID=6813612184461472344' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6432360937861123192/posts/default/6813612184461472344'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6432360937861123192/posts/default/6813612184461472344'/><link rel='alternate' type='text/html' href='http://hourlyapps.blogspot.com/2009/02/best-developers-forum.html' title='The best developers forum'/><author><name>Jader Dias</name><uri>https://profiles.google.com/113690830411187606956</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-ykVr7-ifXQw/AAAAAAAAAAI/AAAAAAAASl4/ERAPbCy7L94/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6432360937861123192.post-6684977669366840514</id><published>2009-01-24T11:50:00.002-02:00</published><updated>2009-01-24T11:51:59.380-02:00</updated><title type='text'>Quote of the day: How will the world's doom come?</title><summary type='text'>The most likely way for the world to be destroyed, most experts agree, is by accident. That's where we come in; we're computer professionals. We cause accidents. - Nathaniel Borenstein</summary><link rel='replies' type='application/atom+xml' href='http://hourlyapps.blogspot.com/feeds/6684977669366840514/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6432360937861123192&amp;postID=6684977669366840514' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6432360937861123192/posts/default/6684977669366840514'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6432360937861123192/posts/default/6684977669366840514'/><link rel='alternate' type='text/html' href='http://hourlyapps.blogspot.com/2009/01/quote-of-day-how-will-worlds-doom-come.html' title='Quote of the day: How will the world&apos;s doom come?'/><author><name>Jader Dias</name><uri>https://profiles.google.com/113690830411187606956</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-ykVr7-ifXQw/AAAAAAAAAAI/AAAAAAAASl4/ERAPbCy7L94/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6432360937861123192.post-1652527226626281481</id><published>2008-12-21T19:07:00.002-02:00</published><updated>2008-12-21T19:14:20.626-02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='video'/><category scheme='http://www.blogger.com/atom/ns#' term='mp3'/><category scheme='http://www.blogger.com/atom/ns#' term='codec'/><category scheme='http://www.blogger.com/atom/ns#' term='avi'/><title type='text'>No sound in some AVI videos problem correction</title><summary type='text'>Sometimes I get some AVI videos that my K-Lite Codec Pack couldn't synthesise its sound. I realized that uninstalling the Codec Pack the sound would work (but the video not). After a series of trials I found the solution: With the codec pack installed, during playback, a couple of icons will appear on the system tray. Double-clicking the FFa icon will give you the ffdshow audio setup window, and </summary><link rel='replies' type='application/atom+xml' href='http://hourlyapps.blogspot.com/feeds/1652527226626281481/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6432360937861123192&amp;postID=1652527226626281481' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6432360937861123192/posts/default/1652527226626281481'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6432360937861123192/posts/default/1652527226626281481'/><link rel='alternate' type='text/html' href='http://hourlyapps.blogspot.com/2008/12/no-sound-in-some-avi-videos-problem.html' title='No sound in some AVI videos problem correction'/><author><name>Jader Dias</name><uri>https://profiles.google.com/113690830411187606956</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-ykVr7-ifXQw/AAAAAAAAAAI/AAAAAAAASl4/ERAPbCy7L94/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6432360937861123192.post-1212933472203205928</id><published>2008-11-04T23:12:00.003-02:00</published><updated>2008-11-04T23:14:34.275-02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Chess'/><title type='text'>Daily Chess Puzzle</title><summary type='text'>I'm addicted to chess right now. So I made a Google Gadget of www.chessgames.com daily chess puzzle.The path to add the gadget to your iGoogle homepage is http://www.google.com/ig/adde?synd=open&amp;source=ggyp&amp;moduleurl=jaderd.googlepages.com/dailychesspuzzle.xml</summary><link rel='replies' type='application/atom+xml' href='http://hourlyapps.blogspot.com/feeds/1212933472203205928/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6432360937861123192&amp;postID=1212933472203205928' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6432360937861123192/posts/default/1212933472203205928'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6432360937861123192/posts/default/1212933472203205928'/><link rel='alternate' type='text/html' href='http://hourlyapps.blogspot.com/2008/11/daily-chess-puzzle.html' title='Daily Chess Puzzle'/><author><name>Jader Dias</name><uri>https://profiles.google.com/113690830411187606956</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-ykVr7-ifXQw/AAAAAAAAAAI/AAAAAAAASl4/ERAPbCy7L94/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6432360937861123192.post-2437660410533132867</id><published>2008-10-21T13:39:00.003-02:00</published><updated>2008-10-21T13:40:50.020-02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Open Source'/><category scheme='http://www.blogger.com/atom/ns#' term='Android'/><title type='text'>Android is now Open Source</title><summary type='text'>Finally, i've been decompiling android the past weeks, and now that Android is Open Source, i finally can debug it on my pc.http://source.android.com/download</summary><link rel='replies' type='application/atom+xml' href='http://hourlyapps.blogspot.com/feeds/2437660410533132867/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6432360937861123192&amp;postID=2437660410533132867' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6432360937861123192/posts/default/2437660410533132867'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6432360937861123192/posts/default/2437660410533132867'/><link rel='alternate' type='text/html' href='http://hourlyapps.blogspot.com/2008/10/android-is-now-open-source.html' title='Android is now Open Source'/><author><name>Jader Dias</name><uri>https://profiles.google.com/113690830411187606956</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-ykVr7-ifXQw/AAAAAAAAAAI/AAAAAAAASl4/ERAPbCy7L94/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6432360937861123192.post-7967731512424651918</id><published>2008-10-11T13:13:00.002-03:00</published><updated>2008-10-11T13:20:23.357-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='search tool'/><category scheme='http://www.blogger.com/atom/ns#' term='grep'/><category scheme='http://www.blogger.com/atom/ns#' term='.NET C# console application'/><title type='text'>WinGrep - a simple Windows grep-like console application</title><summary type='text'>Windows search tool wasn't enough to find the methods I was looking for, inside .jad files. So I wrote a few lines of C# code to have this explendid tool. It behaves like Linux grep, except for its regular expressions, lol.http://jaderd.googlepages.com/WinGrep.exeArguments:1:  start folder path (e.g.: c:\)2: file pattern (e.g.: *.class)3: search string  (e.g.: getFromLocation)Full example : </summary><link rel='replies' type='application/atom+xml' href='http://hourlyapps.blogspot.com/feeds/7967731512424651918/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6432360937861123192&amp;postID=7967731512424651918' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6432360937861123192/posts/default/7967731512424651918'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6432360937861123192/posts/default/7967731512424651918'/><link rel='alternate' type='text/html' href='http://hourlyapps.blogspot.com/2008/10/wingrep-simple-windows-grep-like.html' title='WinGrep - a simple Windows grep-like console application'/><author><name>Jader Dias</name><uri>https://profiles.google.com/113690830411187606956</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-ykVr7-ifXQw/AAAAAAAAAAI/AAAAAAAASl4/ERAPbCy7L94/s512-c/photo.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6432360937861123192.post-4452990432281996141</id><published>2008-10-11T12:44:00.005-03:00</published><updated>2008-10-11T13:21:11.199-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='application'/><category scheme='http://www.blogger.com/atom/ns#' term='batch'/><category scheme='http://www.blogger.com/atom/ns#' term='Java decompiler'/><category scheme='http://www.blogger.com/atom/ns#' term='JAD'/><title type='text'>Batcher - a simple .NET C# Console Application for multiple java .class files decompiling</title><summary type='text'>To decompile the whole Android.jar zipped content we need to JAD each .class file. To do it automatically you can use a tool I developed with this specific purpose.http://jaderd.googlepages.com/Batcher.exeArguments:1: jad.exe file path (e.g.: c:\jad.exe)2: unzipped .jar file path (e.g.: c:\android\android)Full example: Batcher.exe c:\jad.exe c:\android\androidNote: JAD files inside the target </summary><link rel='replies' type='application/atom+xml' href='http://hourlyapps.blogspot.com/feeds/4452990432281996141/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6432360937861123192&amp;postID=4452990432281996141' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6432360937861123192/posts/default/4452990432281996141'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6432360937861123192/posts/default/4452990432281996141'/><link rel='alternate' type='text/html' href='http://hourlyapps.blogspot.com/2008/10/batcher-simple-net-c-console.html' title='Batcher - a simple .NET C# Console Application for multiple java .class files decompiling'/><author><name>Jader Dias</name><uri>https://profiles.google.com/113690830411187606956</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-ykVr7-ifXQw/AAAAAAAAAAI/AAAAAAAASl4/ERAPbCy7L94/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6432360937861123192.post-2824953300758652207</id><published>2008-09-11T00:46:00.003-03:00</published><updated>2008-09-11T00:54:02.603-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Google Android Location APi Reverse Geocode'/><title type='text'>Google Android Reverse Geocoder Hack</title><summary type='text'>I'm trying to publicize the Google Android Reverse Geocoder.The problem is that the response comes in an unknown binary file format.Only the Android.jar can decrypt it, and I can't decompile the JAR (cause it's not java bytecodes) to see how he does it.Anyone has any brilliant idea on this matter?The code follows:Geocoder g = new Geocoder(this);List la = g.getFromLocation(51 , 0, 1); //somewhere </summary><link rel='replies' type='application/atom+xml' href='http://hourlyapps.blogspot.com/feeds/2824953300758652207/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6432360937861123192&amp;postID=2824953300758652207' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6432360937861123192/posts/default/2824953300758652207'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6432360937861123192/posts/default/2824953300758652207'/><link rel='alternate' type='text/html' href='http://hourlyapps.blogspot.com/2008/09/google-android-reverse-geocoder-hack.html' title='Google Android Reverse Geocoder Hack'/><author><name>Jader Dias</name><uri>https://profiles.google.com/113690830411187606956</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-ykVr7-ifXQw/AAAAAAAAAAI/AAAAAAAASl4/ERAPbCy7L94/s512-c/photo.jpg'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6432360937861123192.post-3283690409385566098</id><published>2008-07-27T16:03:00.000-03:00</published><updated>2008-07-27T18:32:14.292-03:00</updated><title type='text'>Resizable and movable Controls, C# .NET Forms</title><summary type='text'>Imagine resizable and movable controls at runtime. Now make it possible! Just download the following .NET open source class.http://jaderd.googlepages.com/ResizableControlDLL.zip</summary><link rel='replies' type='application/atom+xml' href='http://hourlyapps.blogspot.com/feeds/3283690409385566098/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6432360937861123192&amp;postID=3283690409385566098' title='10 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6432360937861123192/posts/default/3283690409385566098'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6432360937861123192/posts/default/3283690409385566098'/><link rel='alternate' type='text/html' href='http://hourlyapps.blogspot.com/2008/07/resizable-and-movable-controls-c-net.html' title='Resizable and movable Controls, C# .NET Forms'/><author><name>Jader Dias</name><uri>https://profiles.google.com/113690830411187606956</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-ykVr7-ifXQw/AAAAAAAAAAI/AAAAAAAASl4/ERAPbCy7L94/s512-c/photo.jpg'/></author><thr:total>10</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6432360937861123192.post-392022878351895342</id><published>2008-07-20T22:49:00.003-03:00</published><updated>2008-07-20T22:52:53.227-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='open source code Wave Graph Control Plot C# .NET'/><title type='text'>Open source Wave Graph C# .NET Control</title><summary type='text'>In addition to my Wave Reader C# .NET Class, I am also present my open source Wave Graph Resizable Control, and an example project, all zipped in a single package at the following location:http://jaderd.googlepages.com/WaveGraph.zip</summary><link rel='replies' type='application/atom+xml' href='http://hourlyapps.blogspot.com/feeds/392022878351895342/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6432360937861123192&amp;postID=392022878351895342' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6432360937861123192/posts/default/392022878351895342'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6432360937861123192/posts/default/392022878351895342'/><link rel='alternate' type='text/html' href='http://hourlyapps.blogspot.com/2008/07/open-source-wave-graph-c-net-control.html' title='Open source Wave Graph C# .NET Control'/><author><name>Jader Dias</name><uri>https://profiles.google.com/113690830411187606956</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-ykVr7-ifXQw/AAAAAAAAAAI/AAAAAAAASl4/ERAPbCy7L94/s512-c/photo.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6432360937861123192.post-1489584344991225689</id><published>2008-07-20T17:50:00.007-03:00</published><updated>2009-06-28T11:41:23.600-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='WAVE C# .NET'/><title type='text'>Open source Wave Reader C# .NET Class</title><summary type='text'>Hello groupies. I'm glad to present to you a didactic code: the Wave Reader C# .NET ClassThe code is hosted at the following location:http://code.google.com/p/dot-net-wave-reader/You can download the zipped source code at:http://dot-net-wave-reader.googlecode.com/files/WaveReader.zip</summary><link rel='replies' type='application/atom+xml' href='http://hourlyapps.blogspot.com/feeds/1489584344991225689/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6432360937861123192&amp;postID=1489584344991225689' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6432360937861123192/posts/default/1489584344991225689'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6432360937861123192/posts/default/1489584344991225689'/><link rel='alternate' type='text/html' href='http://hourlyapps.blogspot.com/2008/07/wave-reader-c-net-class.html' title='Open source Wave Reader C# .NET Class'/><author><name>Jader Dias</name><uri>https://profiles.google.com/113690830411187606956</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-ykVr7-ifXQw/AAAAAAAAAAI/AAAAAAAASl4/ERAPbCy7L94/s512-c/photo.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6432360937861123192.post-2327620828553005108</id><published>2008-06-03T07:55:00.003-03:00</published><updated>2008-06-03T08:00:30.243-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Goosh Google Gadget'/><title type='text'>Goosh Google Gadget</title><summary type='text'>With the release of Goosh (stands for "google shell"):http://goosh.orgI'm happy to announce my Goosh Gadget:http://hosting.gmodules.com/ig/gadgets/file/110595523932409593167/goosh3.xmland the smaller version:http://hosting.gmodules.com/ig/gadgets/file/110595523932409593167/goosh2.xmlYou can add it to your iGoogle using the following link:http://www.google.com.br/ig/directory?root=/ig&amp;dpos=top&amp;url</summary><link rel='replies' type='application/atom+xml' href='http://hourlyapps.blogspot.com/feeds/2327620828553005108/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6432360937861123192&amp;postID=2327620828553005108' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6432360937861123192/posts/default/2327620828553005108'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6432360937861123192/posts/default/2327620828553005108'/><link rel='alternate' type='text/html' href='http://hourlyapps.blogspot.com/2008/06/goosh-google-gadget.html' title='Goosh Google Gadget'/><author><name>Jader Dias</name><uri>https://profiles.google.com/113690830411187606956</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-ykVr7-ifXQw/AAAAAAAAAAI/AAAAAAAASl4/ERAPbCy7L94/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6432360937861123192.post-4304604470513345002</id><published>2008-05-31T00:14:00.004-03:00</published><updated>2008-05-31T00:25:11.814-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Google app Datastore API Python GQL'/><title type='text'>Selecting by id in Google's Datastore API</title><summary type='text'>While developing a Google App, I have found some difficulty while trying to retrieve data by id. The method is very simple, and below is the Phyton code:objectname = ModelName.get_by_id(longIntegerId)This is how to select  by id from Google's Datastore APIThanks to: http://www.thinkvitamin.com/features/webapps/developing-with-google-app-engine-part-i</summary><link rel='replies' type='application/atom+xml' href='http://hourlyapps.blogspot.com/feeds/4304604470513345002/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6432360937861123192&amp;postID=4304604470513345002' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6432360937861123192/posts/default/4304604470513345002'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6432360937861123192/posts/default/4304604470513345002'/><link rel='alternate' type='text/html' href='http://hourlyapps.blogspot.com/2008/05/select-by-id-in-googles-datastore-api.html' title='Selecting by id in Google&apos;s Datastore API'/><author><name>Jader Dias</name><uri>https://profiles.google.com/113690830411187606956</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-ykVr7-ifXQw/AAAAAAAAAAI/AAAAAAAASl4/ERAPbCy7L94/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6432360937861123192.post-2949814625562789215</id><published>2008-05-28T18:46:00.005-03:00</published><updated>2008-05-28T19:03:14.794-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Google maps gmaps polyline polygon encoding'/><title type='text'>Google Maps Polyline Encoder and Drawing Tool</title><summary type='text'>or: "How to draw encoded polylines?"or: "2 Steps for polylines encoding for GMaps"Out there are some sites that allows you to draw and/or encode polylines, like these:Encoder javascripthttp://facstaff.unca.edu/mcmcclur/GoogleMaps/EncodePolyline/Polyline and polygons drawing toolhttp://gmaps-samples.googlecode.com/svn/trunk/poly/mymapstoolbar.htmlGoogle's encoderhttp://code.google.com/apis/maps/</summary><link rel='replies' type='application/atom+xml' href='http://hourlyapps.blogspot.com/feeds/2949814625562789215/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6432360937861123192&amp;postID=2949814625562789215' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6432360937861123192/posts/default/2949814625562789215'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6432360937861123192/posts/default/2949814625562789215'/><link rel='alternate' type='text/html' href='http://hourlyapps.blogspot.com/2008/05/google-maps-polyline-encoder-and.html' title='Google Maps Polyline Encoder and Drawing Tool'/><author><name>Jader Dias</name><uri>https://profiles.google.com/113690830411187606956</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-ykVr7-ifXQw/AAAAAAAAAAI/AAAAAAAASl4/ERAPbCy7L94/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6432360937861123192.post-6229762406782432456</id><published>2008-05-16T09:20:00.002-03:00</published><updated>2008-05-16T09:23:18.213-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='streetsize social mashup maps location'/><title type='text'>Ideas for StreetSize</title><summary type='text'>Yesterday I sent two e-mails to Matt from http://streetsize.com-------Email 1----------Hello Matt, Thank you for your wonderfull site. I think I'm the first Brazilian user, and I have invited my coworkers to join. I think that you'll achieve great success while you respect your users privacy. I'm also a Google Maps mashups developer.Sugestions: + Let me change my public name. I have my login name</summary><link rel='replies' type='application/atom+xml' href='http://hourlyapps.blogspot.com/feeds/6229762406782432456/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6432360937861123192&amp;postID=6229762406782432456' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6432360937861123192/posts/default/6229762406782432456'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6432360937861123192/posts/default/6229762406782432456'/><link rel='alternate' type='text/html' href='http://hourlyapps.blogspot.com/2008/05/ideas-for-streetsize.html' title='Ideas for StreetSize'/><author><name>Jader Dias</name><uri>https://profiles.google.com/113690830411187606956</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-ykVr7-ifXQw/AAAAAAAAAAI/AAAAAAAASl4/ERAPbCy7L94/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6432360937861123192.post-7485557042841573618</id><published>2008-05-14T15:56:00.003-03:00</published><updated>2008-05-14T19:07:16.761-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Google maps Earth kml kmz'/><title type='text'>Opening Google Earth (*.kmz) files with the browser</title><summary type='text'>I already knew that Google Maps shows KML file content at its website. You only need to put the KML's URL at the following site search textbox:http://maps.google.comthen execute the search. But I was unaware that the same applies to Google Earth's KMZ files. They seem unreadable without Google Earth, but you can use the same method above or use the following one:Example KMZ file:http://</summary><link rel='replies' type='application/atom+xml' href='http://hourlyapps.blogspot.com/feeds/7485557042841573618/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6432360937861123192&amp;postID=7485557042841573618' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6432360937861123192/posts/default/7485557042841573618'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6432360937861123192/posts/default/7485557042841573618'/><link rel='alternate' type='text/html' href='http://hourlyapps.blogspot.com/2008/05/opening-google-earth-kmz-files-with.html' title='Opening Google Earth (*.kmz) files with the browser'/><author><name>Jader Dias</name><uri>https://profiles.google.com/113690830411187606956</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-ykVr7-ifXQw/AAAAAAAAAAI/AAAAAAAASl4/ERAPbCy7L94/s512-c/photo.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6432360937861123192.post-499988269881609418</id><published>2008-05-10T15:47:00.002-03:00</published><updated>2008-05-10T16:01:29.441-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='google maps mashup'/><title type='text'>Best Google Maps Mashups</title><summary type='text'>Following are my favorite Google Maps Mashups:  1. Amsterdam Helicopter Game - I'm making my own javascript version, click here to see it.  2. Twitter Spy - See where people are microblogging. It should have geographic boundaries, I could do it myself, but I would have to study Twitter's API.  3. Street View Immersive Videos - Like Google Maps Street View but now as a Video, use the mouse to </summary><link rel='replies' type='application/atom+xml' href='http://hourlyapps.blogspot.com/feeds/499988269881609418/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6432360937861123192&amp;postID=499988269881609418' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6432360937861123192/posts/default/499988269881609418'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6432360937861123192/posts/default/499988269881609418'/><link rel='alternate' type='text/html' href='http://hourlyapps.blogspot.com/2008/05/best-google-maps-mashups.html' title='Best Google Maps Mashups'/><author><name>Jader Dias</name><uri>https://profiles.google.com/113690830411187606956</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-ykVr7-ifXQw/AAAAAAAAAAI/AAAAAAAASl4/ERAPbCy7L94/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6432360937861123192.post-795155597064580031</id><published>2008-05-10T15:29:00.009-03:00</published><updated>2008-05-28T18:59:21.279-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='google maps mashup game javascript'/><title type='text'>Google Maps Javascript Helicopter Game</title><summary type='text'>Click the following textbox to start to play:Use keyboard arrows &lt; ^ &gt; to navigate and +  - for zoomingTo Do list:Integrate with Google Adsense to estabilish goals that the user will have to find, with or without the help of address or pointers.Alternative: Use a categorized list of known places (ex: night clubs) to put the player under a known places knowledge test.Use FireEagle to open the map </summary><link rel='replies' type='application/atom+xml' href='http://hourlyapps.blogspot.com/feeds/795155597064580031/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6432360937861123192&amp;postID=795155597064580031' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6432360937861123192/posts/default/795155597064580031'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6432360937861123192/posts/default/795155597064580031'/><link rel='alternate' type='text/html' href='http://hourlyapps.blogspot.com/2008/05/use-keyboard-arrows-to-navigate-and-for.html' title='Google Maps Javascript Helicopter Game'/><author><name>Jader Dias</name><uri>https://profiles.google.com/113690830411187606956</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-ykVr7-ifXQw/AAAAAAAAAAI/AAAAAAAASl4/ERAPbCy7L94/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6432360937861123192.post-2125157604457160053</id><published>2008-05-05T21:53:00.008-03:00</published><updated>2008-05-09T00:04:47.929-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='web javascript performance'/><title type='text'>Website Performance</title><summary type='text'>Or "How to make my website faster?"Steve Souders says that he is the YSlow creator, which is a Firefox's and Firebug's extension that calcs the conformity degree of a site with th rules for high performance websites. Now he says he got "14" new rules but lists only 10. Now I will list the current 34 YDN rules plus the 10 "new" ones:Make Fewer HTTP RequestsUse a Content Delivery NetworkAdd an </summary><link rel='replies' type='application/atom+xml' href='http://hourlyapps.blogspot.com/feeds/2125157604457160053/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6432360937861123192&amp;postID=2125157604457160053' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6432360937861123192/posts/default/2125157604457160053'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6432360937861123192/posts/default/2125157604457160053'/><link rel='alternate' type='text/html' href='http://hourlyapps.blogspot.com/2008/05/website-performance.html' title='Website Performance'/><author><name>Jader Dias</name><uri>https://profiles.google.com/113690830411187606956</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-ykVr7-ifXQw/AAAAAAAAAAI/AAAAAAAASl4/ERAPbCy7L94/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6432360937861123192.post-2573132834048471210</id><published>2008-05-05T19:27:00.009-03:00</published><updated>2008-05-08T10:53:41.275-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='firefox add-ons'/><title type='text'>Yet another post about Firefox plugins</title><summary type='text'>I can't understand people that like Internet Explorer (IE) better than Mozilla Firefox (FF). Benchmarks like this and the plurality of add-ons are my arguments against those people. Following there are some of the essential FF extensions that I know:IE Tab - some web pages (like .mht) just open in IE, you can open them inside FF with this trick.Customize Google - removes Google Ads from all </summary><link rel='replies' type='application/atom+xml' href='http://hourlyapps.blogspot.com/feeds/2573132834048471210/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6432360937861123192&amp;postID=2573132834048471210' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6432360937861123192/posts/default/2573132834048471210'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6432360937861123192/posts/default/2573132834048471210'/><link rel='alternate' type='text/html' href='http://hourlyapps.blogspot.com/2008/05/yet-another-post-about-firefox-plugins.html' title='Yet another post about Firefox plugins'/><author><name>Jader Dias</name><uri>https://profiles.google.com/113690830411187606956</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-ykVr7-ifXQw/AAAAAAAAAAI/AAAAAAAASl4/ERAPbCy7L94/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6432360937861123192.post-8144365579254250819</id><published>2008-05-03T10:41:00.008-03:00</published><updated>2008-05-15T23:33:50.069-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='query string encoding decoding'/><title type='text'>Globalization Tips for Web Programmers (ASP.NET)</title><summary type='text'>The most important thing when you develop an  ASP.NET website which interface language is portuguese, is to use the following Web.Config entry:&lt;globalization uiculture="pt-BR" culture="pt-BR" fileencoding="iso-8859-1" responseencoding="utf-8" requestencoding="utf-8"&gt;The newbiest programmers usualy forget the that his application users could insert special characters into a form. When sending </summary><link rel='replies' type='application/atom+xml' href='http://hourlyapps.blogspot.com/feeds/8144365579254250819/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6432360937861123192&amp;postID=8144365579254250819' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6432360937861123192/posts/default/8144365579254250819'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6432360937861123192/posts/default/8144365579254250819'/><link rel='alternate' type='text/html' href='http://hourlyapps.blogspot.com/2008/05/globalization-tips-for-web-programmers.html' title='Globalization Tips for Web Programmers (ASP.NET)'/><author><name>Jader Dias</name><uri>https://profiles.google.com/113690830411187606956</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-ykVr7-ifXQw/AAAAAAAAAAI/AAAAAAAASl4/ERAPbCy7L94/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6432360937861123192.post-5477399287771563749</id><published>2008-04-26T01:03:00.004-03:00</published><updated>2008-05-03T11:07:35.260-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Mobile'/><category scheme='http://www.blogger.com/atom/ns#' term='Orkut'/><category scheme='http://www.blogger.com/atom/ns#' term='GGE'/><category scheme='http://www.blogger.com/atom/ns#' term='Gadgets'/><category scheme='http://www.blogger.com/atom/ns#' term='Google'/><category scheme='http://www.blogger.com/atom/ns#' term='iGoogle'/><title type='text'>iGoogle, Google Gadgets &amp; Orkut Mobile</title><summary type='text'>My homepage is iGoogle, the customizable Google homepage. There you can have more than the simple Google start page, you can also add gadgets, they are web pages in small containers that resembles windows. My favorite gadgets are:Todo List (source code)GMail - read and write e-mails without leaving the homepage (source code)Google Talk - simple and fast, replaces MSN Messenger (source code)Google</summary><link rel='replies' type='application/atom+xml' href='http://hourlyapps.blogspot.com/feeds/5477399287771563749/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6432360937861123192&amp;postID=5477399287771563749' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6432360937861123192/posts/default/5477399287771563749'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6432360937861123192/posts/default/5477399287771563749'/><link rel='alternate' type='text/html' href='http://hourlyapps.blogspot.com/2008/04/igoogle-google-gadgets-orkut-mobile.html' title='iGoogle, Google Gadgets &amp; Orkut Mobile'/><author><name>Jader Dias</name><uri>https://profiles.google.com/113690830411187606956</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-ykVr7-ifXQw/AAAAAAAAAAI/AAAAAAAASl4/ERAPbCy7L94/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6432360937861123192.post-2102355290473902253</id><published>2008-04-24T23:55:00.005-03:00</published><updated>2008-05-03T11:20:16.750-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='maps'/><category scheme='http://www.blogger.com/atom/ns#' term='API'/><category scheme='http://www.blogger.com/atom/ns#' term='Google'/><title type='text'>Google Maps for dummies</title><summary type='text'>Many people thinks first in Google Maps when choosing an API for displaying maps on a website. There are many alternatives, some of them are even better, as Maplink, the best geocodification in Brazilian territory, Yahoo! Maps with its lightweight API, and MS Live Maps,  with 3D buildings, they have their advantages and drawbacks, but none of them widespread as  Google's API. Below there are the </summary><link rel='replies' type='application/atom+xml' href='http://hourlyapps.blogspot.com/feeds/2102355290473902253/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6432360937861123192&amp;postID=2102355290473902253' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6432360937861123192/posts/default/2102355290473902253'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6432360937861123192/posts/default/2102355290473902253'/><link rel='alternate' type='text/html' href='http://hourlyapps.blogspot.com/2008/04/google-maps-for-newbies-dummies-and.html' title='Google Maps for dummies'/><author><name>Jader Dias</name><uri>https://profiles.google.com/113690830411187606956</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-ykVr7-ifXQw/AAAAAAAAAAI/AAAAAAAASl4/ERAPbCy7L94/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6432360937861123192.post-370937140055549514</id><published>2008-04-22T11:48:00.011-03:00</published><updated>2008-05-03T11:21:02.723-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='performance'/><category scheme='http://www.blogger.com/atom/ns#' term='.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='AJAX'/><category scheme='http://www.blogger.com/atom/ns#' term='cache'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='ASPX'/><category scheme='http://www.blogger.com/atom/ns#' term='browser'/><title type='text'>Cacheable ASP.NET pages</title><summary type='text'>Or "Caching ASPX pages"Or "How to make ASP.NET pages be stored in the browser's cache?"I used to save every static page in my Web Projects as .HTML files. But Sandro, from MS-Developers taught me how to make cacheable ASPX pages:Just insert the following C# .NET code into the Page_Load        Response.Cache.SetExpires(DateTime.Now.AddYears(3));Response.Cache.SetCacheability(</summary><link rel='replies' type='application/atom+xml' href='http://hourlyapps.blogspot.com/feeds/370937140055549514/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6432360937861123192&amp;postID=370937140055549514' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6432360937861123192/posts/default/370937140055549514'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6432360937861123192/posts/default/370937140055549514'/><link rel='alternate' type='text/html' href='http://hourlyapps.blogspot.com/2008/04/cacheable-aspx-pages.html' title='Cacheable ASP.NET pages'/><author><name>Jader Dias</name><uri>https://profiles.google.com/113690830411187606956</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-ykVr7-ifXQw/AAAAAAAAAAI/AAAAAAAASl4/ERAPbCy7L94/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6432360937861123192.post-332424703724735552</id><published>2008-04-16T22:01:00.001-03:00</published><updated>2008-04-22T12:01:02.693-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='application'/><category scheme='http://www.blogger.com/atom/ns#' term='drum'/><category scheme='http://www.blogger.com/atom/ns#' term='.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><title type='text'>Simple Windows Drumkit</title><summary type='text'>Would you like to play drums while do you hear your songs? Even if it's only to play while you wait or download something? This app could be nearly invisible so you could play without disturbing you normal pc use, and to avoid your bosses' eyes.With a couple of work hour I made this Simple Drum Kit, that fullfills all those requirements, and beyond, because it uses WAV files that can be replaced </summary><link rel='replies' type='application/atom+xml' href='http://hourlyapps.blogspot.com/feeds/332424703724735552/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6432360937861123192&amp;postID=332424703724735552' title='9 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6432360937861123192/posts/default/332424703724735552'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6432360937861123192/posts/default/332424703724735552'/><link rel='alternate' type='text/html' href='http://hourlyapps.blogspot.com/2008/04/simple-windows-drumkit.html' title='Simple Windows Drumkit'/><author><name>Jader Dias</name><uri>https://profiles.google.com/113690830411187606956</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-ykVr7-ifXQw/AAAAAAAAAAI/AAAAAAAASl4/ERAPbCy7L94/s512-c/photo.jpg'/></author><thr:total>9</thr:total></entry></feed>
