<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/" xmlns:georss="http://www.georss.org/georss"><id>tag:blogger.com,1999:blog-2760720841939228560</id><updated>2009-04-10T04:27:34.439-07:00</updated><title type="text">Wiggy Thoughts</title><subtitle type="html" /><link rel="alternate" type="text/html" href="http://blogs.focuspoint-solutions.com/wiggythoughts/" /><link rel="next" type="application/atom+xml" href="http://www.blogger.com/feeds/2760720841939228560/posts/default?start-index=26&amp;max-results=25" /><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://blogs.focuspoint-solutions.com/wiggythoughts/atom.xml" /><author><name>Pedro Gomes</name><uri>http://www.blogger.com/profile/00827412539290098837</uri><email>noreply@blogger.com</email></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>42</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/WiggyThoughts" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="wiggythoughts" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><entry><id>tag:blogger.com,1999:blog-2760720841939228560.post-2521264893699991944</id><published>2009-01-15T02:14:00.001-08:00</published><updated>2009-01-15T02:16:14.314-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="articles" /><title type="text">This one is for your Boss</title><content type="html">&lt;p&gt;I was doing my mourning readings when I found this &lt;a href="http://www.joelonsoftware.com/items/2009/01/13.html"&gt;post&lt;/a&gt; on Joel Spolsky's Blog (Fog Creek, Joel's company, recently changed to a new office, were every one gets its own private space).&lt;/p&gt;  &lt;p&gt;For the ones that work on an Open-plan and don't like to, follow &lt;a href="http://www.news.com.au/business/story/0,27753,24906913-5017672,00.html"&gt;this article&lt;/a&gt; to your boss.&lt;/p&gt;  &lt;p&gt;What does it says?&lt;/p&gt;  &lt;p&gt;It talks about some scientific study from the Queensland University of Technology's Institute of Health and Biomedical Innovation (what a large name!) from Australia. They concluded that switching to the modern open-plan offices led to lower productivity and higher worker stress.&lt;/p&gt;  &lt;p&gt;Take a look on what they said (I think this is no novelty for the ones that work on open-plan offices, but now there's a scientific study to use as support)&lt;/p&gt;  &lt;p&gt;&lt;em&gt;&amp;quot;The high level of noise causes employees to lose concentration, leading to low productivity, there are privacy issues because everyone can see what you are doing on the computer or hear what you are saying on the phone, and there is a feeling of insecurity.''&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;&amp;quot;The problem is that employers are always looking for ways to cut costs, and using open-plan designs can save 20 per cent on construction.''&lt;/em&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='http://res1.blogblog.com/tracker/2760720841939228560-2521264893699991944?l=blogs.focuspoint-solutions.com%2Fwiggythoughts'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.blogger.com/feeds/2760720841939228560/2521264893699991944/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=2760720841939228560&amp;postID=2521264893699991944" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2760720841939228560/posts/default/2521264893699991944" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2760720841939228560/posts/default/2521264893699991944" /><link rel="alternate" type="text/html" href="http://blogs.focuspoint-solutions.com/wiggythoughts/2009/01/this-one-is-for-your-boss.html" title="This one is for your Boss" /><author><name>Pedro Gomes</name><uri>http://www.blogger.com/profile/00827412539290098837</uri><email>noreply@blogger.com</email></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2760720841939228560.post-4876400441699341675</id><published>2009-01-15T01:44:00.001-08:00</published><updated>2009-01-15T01:46:37.434-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Microsoft &quot;Oslo&quot;" /><category scheme="http://www.blogger.com/atom/ns#" term="MGraph" /><title type="text">MGraph - Funny name... what's that?</title><content type="html">&lt;p&gt;In the past months the Microsoft &amp;quot;Oslo&amp;quot; initiative has been discussed in several blogs.&lt;/p&gt;  &lt;p&gt;Microsoft &amp;quot;Oslo&amp;quot; is not related with the norwegian capital city, it is a group of tools and specifications that aim to ease the software development. Microsoft is focused on modeling and in how the proper tools and specification can participate in the several parts of the software lifecycle.&lt;/p&gt;  &lt;p&gt;Part of the &amp;quot;Oslo&amp;quot; initiative is the M language, basically M has 3 subsets, MSchema, MGramar and MGraph.&lt;/p&gt;  &lt;p&gt;MGraph is a specification (one should not call it a language) that allows to store data in a structured manner. The ones that are familiar with JSON, will find MGraph very similar to it.&lt;/p&gt;  &lt;p&gt;Lars Corneliussen, had published a blog post that talks about MGraph and compares it with plain XML and also with JSON. It worth's reading, and you can reach it &lt;a href="http://startbigthinksmall.wordpress.com/2008/12/10/mgraph-the-next-xml/"&gt;here&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='http://res1.blogblog.com/tracker/2760720841939228560-4876400441699341675?l=blogs.focuspoint-solutions.com%2Fwiggythoughts'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.blogger.com/feeds/2760720841939228560/4876400441699341675/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=2760720841939228560&amp;postID=4876400441699341675" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2760720841939228560/posts/default/4876400441699341675" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2760720841939228560/posts/default/4876400441699341675" /><link rel="alternate" type="text/html" href="http://blogs.focuspoint-solutions.com/wiggythoughts/2009/01/mgraph-new-language.html" title="MGraph - Funny name... what&amp;#39;s that?" /><author><name>Pedro Gomes</name><uri>http://www.blogger.com/profile/00827412539290098837</uri><email>noreply@blogger.com</email></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2760720841939228560.post-3445947322960323498</id><published>2009-01-12T04:32:00.001-08:00</published><updated>2009-01-12T04:34:42.494-08:00</updated><title type="text">SharePoint - How to change the server name</title><content type="html">&lt;p&gt;Well in my new job I'm getting to know Microsoft SharePoint Server. I'm doing some R&amp;amp;D on Microsoft Infopath and Microsoft Sharepoint. After a few hours reading information about the subject, I've decided to get my hands dirty and give both Infopath a Sharepoint a try.&lt;/p&gt;  &lt;p&gt;I've started with a Sharepoint virtual server, and there i installed Infopath. Then on the process I've figured that i would need to change the virtual server name, witch I did. Today I've realized that by changing the server name the Sharepoint is working no more.&lt;/p&gt;  &lt;p&gt;Glad there's Internet, and glad there's google, just go &lt;a href="http://www.sharepointblogs.com/nrdev/archive/2008/07/15/tip-how-to-rename-a-sharepoint-server-machine-name.aspx"&gt;here&lt;/a&gt;, you will find a simple how-to rename a SharePoint server.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='http://res1.blogblog.com/tracker/2760720841939228560-3445947322960323498?l=blogs.focuspoint-solutions.com%2Fwiggythoughts'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.blogger.com/feeds/2760720841939228560/3445947322960323498/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=2760720841939228560&amp;postID=3445947322960323498" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2760720841939228560/posts/default/3445947322960323498" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2760720841939228560/posts/default/3445947322960323498" /><link rel="alternate" type="text/html" href="http://blogs.focuspoint-solutions.com/wiggythoughts/2009/01/sharepoint-how-to-change-server-name.html" title="SharePoint - How to change the server name" /><author><name>Pedro Gomes</name><uri>http://www.blogger.com/profile/00827412539290098837</uri><email>noreply@blogger.com</email></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2760720841939228560.post-131248860107608023</id><published>2008-12-30T14:07:00.001-08:00</published><updated>2008-12-30T14:07:09.324-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="ssh" /><category scheme="http://www.blogger.com/atom/ns#" term="ubuntu" /><title type="text">SSH Tunnels and SQUID</title><content type="html">&lt;p&gt;I've been using PuTTY for a long time as a way to bypass some corporate web filters. With PuTTY I can create a SSH tunnel and gain access to my home SQUID proxy server, allowing me to use my own home Internet connection.&lt;/p&gt;  &lt;p&gt;Now for something that is really new to me, there's no need to use SQUID, yes only PuTTY and SSH are required. This &lt;a href="http://www.dotcomunderground.com/blogs/2008/12/11/putty-ssh-tunnel-to-hide-ip/"&gt;post&lt;/a&gt; describes very simple way to use the SSH server as a SOCKS proxy.&lt;/p&gt;  &lt;p&gt;My home SQUID is now going on for a long retire. Uninstall is planed for the next weekend. KISS (Keep It Simple, Stupid), one less service running on my home Linux Server.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='http://res1.blogblog.com/tracker/2760720841939228560-131248860107608023?l=blogs.focuspoint-solutions.com%2Fwiggythoughts'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.blogger.com/feeds/2760720841939228560/131248860107608023/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=2760720841939228560&amp;postID=131248860107608023" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2760720841939228560/posts/default/131248860107608023" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2760720841939228560/posts/default/131248860107608023" /><link rel="alternate" type="text/html" href="http://blogs.focuspoint-solutions.com/wiggythoughts/2008/12/ssh-tunnels-and-squid.html" title="SSH Tunnels and SQUID" /><author><name>Pedro Gomes</name><uri>http://www.blogger.com/profile/00827412539290098837</uri><email>noreply@blogger.com</email></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2760720841939228560.post-709062509451172714</id><published>2008-12-20T06:17:00.001-08:00</published><updated>2008-12-20T06:17:31.826-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="DeepEarth" /><category scheme="http://www.blogger.com/atom/ns#" term="gis" /><category scheme="http://www.blogger.com/atom/ns#" term="c#" /><title type="text">GIS once again</title><content type="html">&lt;p&gt;Isn't life a funny thing!&lt;/p&gt;  &lt;p&gt;It's now less than a month after a job change witch I though would break my connection with GIS technologies and I'm already posting about the same issue.&lt;/p&gt;  &lt;p&gt;Recently i was contacted by one of the &lt;a href="http://www.codeplex.com/deepearth"&gt;DeepEarth&lt;/a&gt; project leaders. He asked for my assistance and also for the possibility to reuse some of the Spatial# project code.&lt;/p&gt;  &lt;p&gt;Conclusion, I'm now participating in the &lt;a href="http://www.codeplex.com/deepearth"&gt;DeepEarth&lt;/a&gt; project. I also invite you all to check the project, it as impressed me a lot.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='http://res1.blogblog.com/tracker/2760720841939228560-709062509451172714?l=blogs.focuspoint-solutions.com%2Fwiggythoughts'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.blogger.com/feeds/2760720841939228560/709062509451172714/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=2760720841939228560&amp;postID=709062509451172714" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2760720841939228560/posts/default/709062509451172714" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2760720841939228560/posts/default/709062509451172714" /><link rel="alternate" type="text/html" href="http://blogs.focuspoint-solutions.com/wiggythoughts/2008/12/gis-once-again.html" title="GIS once again" /><author><name>Pedro Gomes</name><uri>http://www.blogger.com/profile/00827412539290098837</uri><email>noreply@blogger.com</email></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2760720841939228560.post-9052848449776317749</id><published>2008-11-11T02:10:00.001-08:00</published><updated>2008-12-20T06:00:39.709-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="critical software" /><title type="text">Moving</title><content type="html">&lt;p&gt;After 6 year's working in the GIS market time to move has arrived.&lt;/p&gt;  &lt;p&gt;Since 17-Nov, I'm experimenting new adventures and a new job. I joined the &lt;a href="http://www.criticalsoftware.com/"&gt;Critical Software&lt;/a&gt; team.&lt;/p&gt;  &lt;p&gt;I will continue to post in this blog although the main subject will change. As I won't be working in GIS no more, the GIS related posts will start to drop, and eventually disappear. &lt;/p&gt;  &lt;p&gt;Nevertheless, the last 6 year were very exciting and challenging, and I will forever be a GIS curious and will always be interested a awaiting for the the new solutions that will arise.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='http://res1.blogblog.com/tracker/2760720841939228560-9052848449776317749?l=blogs.focuspoint-solutions.com%2Fwiggythoughts'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.blogger.com/feeds/2760720841939228560/9052848449776317749/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=2760720841939228560&amp;postID=9052848449776317749" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2760720841939228560/posts/default/9052848449776317749" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2760720841939228560/posts/default/9052848449776317749" /><link rel="alternate" type="text/html" href="http://blogs.focuspoint-solutions.com/wiggythoughts/2008/11/moving.html" title="Moving" /><author><name>Pedro Gomes</name><uri>http://www.blogger.com/profile/00827412539290098837</uri><email>noreply@blogger.com</email></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2760720841939228560.post-2635816099584935039</id><published>2008-07-03T06:51:00.001-07:00</published><updated>2008-07-03T06:51:59.101-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="c#" /><title type="text">NULLS - Improve the way you handle them in C#</title><content type="html">&lt;p&gt;I've recently discovered the Null-Coalescing operator. Didn't knew it exists, and I can't now say that it is a very cool operator.&lt;/p&gt; &lt;p&gt;Several times you like to assign a variable with the value from another variable, but you would like to set a different value if the source is null.&lt;/p&gt; &lt;p&gt;For this situations i would write something like this:&lt;/p&gt; &lt;div class="csharpcode"&gt;&lt;br&gt;&lt;pre&gt;&lt;span class="lnum"&gt;   1:  &lt;/span&gt;&lt;span class="kwrd"&gt;if&lt;/span&gt;(null == source) {&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;   2:    &lt;/span&gt;&lt;span class="kwrd"&gt;return&lt;/span&gt; "it is null";&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;   3:  &lt;/span&gt;} &lt;span class="kwrd"&gt;else&lt;/span&gt; {&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;   4:    &lt;/span&gt;&lt;span class="kwrd"&gt;return&lt;/span&gt; source;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;   5:  &lt;/span&gt;}&lt;/pre&gt;&lt;br&gt;&lt;pre&gt;&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;Or this:&lt;/p&gt;&lt;br /&gt;&lt;div class="csharpcode"&gt;&lt;br&gt;&lt;pre&gt;&lt;span class="lnum"&gt;   1:  &lt;/span&gt;&lt;span class="kwrd"&gt;return &lt;/span&gt; (null == source) ? "it is null" : source;&lt;/pre&gt;&lt;br&gt;&lt;pre&gt;&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;But now I can write this:&lt;/p&gt;&lt;br /&gt;&lt;div class="csharpcode"&gt;&lt;br&gt;&lt;pre&gt;&lt;span class="lnum"&gt;   1:  &lt;/span&gt;&lt;span class="kwrd"&gt;return &lt;/span&gt; source ?? "it is null";&lt;/pre&gt;&lt;br&gt;&lt;pre&gt;&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;What's the difference ? None! all the three sample produce the same result... personally the last one is the I like the most.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='http://res1.blogblog.com/tracker/2760720841939228560-2635816099584935039?l=blogs.focuspoint-solutions.com%2Fwiggythoughts'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.blogger.com/feeds/2760720841939228560/2635816099584935039/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=2760720841939228560&amp;postID=2635816099584935039" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2760720841939228560/posts/default/2635816099584935039" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2760720841939228560/posts/default/2635816099584935039" /><link rel="alternate" type="text/html" href="http://blogs.focuspoint-solutions.com/wiggythoughts/2008/07/nulls-improve-way-you-handle-them-in-c.html" title="NULLS - Improve the way you handle them in C#" /><author><name>Pedro Gomes</name><uri>http://www.blogger.com/profile/00827412539290098837</uri><email>noreply@blogger.com</email></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2760720841939228560.post-5580794047892336005</id><published>2008-06-26T03:17:00.001-07:00</published><updated>2008-06-26T03:17:35.088-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term=".net 2.0" /><category scheme="http://www.blogger.com/atom/ns#" term="c#" /><category scheme="http://www.blogger.com/atom/ns#" term="oracle" /><title type="text">ORA 01460 Passing BLOB parameter</title><content type="html">&lt;p&gt;Honestly this has been one of the strangest problems that came across me.&lt;/p&gt; &lt;p&gt;I have code that inserts geometries into oracle tables using stored procedures. Due to legacy reasons I'm still using WKB to get the job done, therefore the procedure parameters are of type BLOB.&lt;/p&gt; &lt;p&gt;Recently when inserting a given polygon, I has blown by the ORA01460 error. Browsing the net just pointed me to the parameter value length.&lt;/p&gt; &lt;p&gt;But, then the byte array length was not that strange. It's an 32646 bytes length array! So why the error ?&lt;/p&gt; &lt;p&gt;Further investigation shows that I was successfully passing larger and smaller array to the stored procedure. Things were getting event stranger...&lt;/p&gt; &lt;p&gt;My first shot was truncating the array, and it worked (got an error due to invalid WKB).&lt;/p&gt; &lt;p&gt;So to solve the problem, I'm now adding extra 0 bytes at the array end.... and guess what... it works!&lt;/p&gt; &lt;div class="csharpcode"&gt;&lt;br&gt;&lt;pre&gt;&lt;span class="lnum"&gt;   1:  &lt;/span&gt;&lt;span style="color: #2b91af"&gt;IWKs&lt;/span&gt; wks = (&lt;span style="color: #2b91af"&gt;IWKs&lt;/span&gt;)(&lt;span style="color: #2b91af"&gt;GeometryAdapter&lt;/span&gt;.Convert((&lt;span style="color: #2b91af"&gt;IGeometry&lt;/span&gt;)value);&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;   2:  &lt;/span&gt;&lt;span class="kwrd"&gt;byte&lt;/span&gt;[] buffer = wks.ExportToWKB();&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;   3:  &lt;/span&gt;parameter.Value = buffer;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;   4:  &lt;/span&gt;parameter.Size = buffer.Length;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;   5:  &lt;/span&gt;&lt;span class="kwrd"&gt;if&lt;/span&gt; (parameter.Size == 32646) {&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;   6:  &lt;/span&gt;  &lt;span class="kwrd"&gt;byte&lt;/span&gt;[] newBuffer = &lt;span class="kwrd"&gt;new&lt;/span&gt; &lt;span class="kwrd"&gt;byte&lt;/span&gt;[50000];&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;   7:  &lt;/span&gt;  buffer.CopyTo(newBuffer, 0);&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;   8:  &lt;/span&gt;  parameter.Value = newBuffer;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;   9:  &lt;/span&gt;  parameter.Size = 50000;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  10:  &lt;/span&gt;}&lt;/pre&gt;&lt;br&gt;&lt;pre&gt;&lt;/pre&gt;&lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='http://res1.blogblog.com/tracker/2760720841939228560-5580794047892336005?l=blogs.focuspoint-solutions.com%2Fwiggythoughts'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.blogger.com/feeds/2760720841939228560/5580794047892336005/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=2760720841939228560&amp;postID=5580794047892336005" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2760720841939228560/posts/default/5580794047892336005" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2760720841939228560/posts/default/5580794047892336005" /><link rel="alternate" type="text/html" href="http://blogs.focuspoint-solutions.com/wiggythoughts/2008/06/ora-01460-passing-blob-parameter.html" title="ORA 01460 Passing BLOB parameter" /><author><name>Pedro Gomes</name><uri>http://www.blogger.com/profile/00827412539290098837</uri><email>noreply@blogger.com</email></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2760720841939228560.post-4573828273594369203</id><published>2008-02-24T00:48:00.001-08:00</published><updated>2008-02-24T00:48:10.240-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="subversion" /><category scheme="http://www.blogger.com/atom/ns#" term="ubuntu" /><title type="text">Subversion Backup Script</title><content type="html">&lt;p&gt;In the last days I've been upgrading my backup system. Now I'm using &lt;a href="http://www.bacula.org"&gt;Bacula&lt;/a&gt;. Setting up bacula in ubuntu was very simple and straightforward.&lt;/p&gt;  &lt;p&gt;I also had to develop a script to backup (dump) my subversion repository to a local folder. Bacula job will later get the subversion dump and place it in the backup storage.&lt;/p&gt;  &lt;p&gt;I've decided to publish my script here as it may serve as a&amp;#160; guide and help others with the same requirements.&lt;/p&gt;  &lt;p&gt;You can get my subversion backup script &lt;a href="http://blogs.focuspoint-solutions.com/wiggythoughts/files/subversion_backup.zip"&gt;here&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='http://res1.blogblog.com/tracker/2760720841939228560-4573828273594369203?l=blogs.focuspoint-solutions.com%2Fwiggythoughts'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.blogger.com/feeds/2760720841939228560/4573828273594369203/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=2760720841939228560&amp;postID=4573828273594369203" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2760720841939228560/posts/default/4573828273594369203" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2760720841939228560/posts/default/4573828273594369203" /><link rel="alternate" type="text/html" href="http://blogs.focuspoint-solutions.com/wiggythoughts/2008/02/subversion-backup-script.html" title="Subversion Backup Script" /><author><name>Pedro Gomes</name><uri>http://www.blogger.com/profile/00827412539290098837</uri><email>noreply@blogger.com</email></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2760720841939228560.post-5961848115846009896</id><published>2008-01-02T04:10:00.000-08:00</published><updated>2008-01-02T04:13:00.776-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="c#" /><category scheme="http://www.blogger.com/atom/ns#" term="articles" /><title type="text">CodeProject Article</title><content type="html">I’ve now concluded one of the oldest todo list items. Publish a CodeProject article. Yes it is true, I’ve published an article and you can check it &lt;a href="http://www.codeproject.com/KB/dotnet/invokegenericmethods.aspx"&gt;here.&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='http://res1.blogblog.com/tracker/2760720841939228560-5961848115846009896?l=blogs.focuspoint-solutions.com%2Fwiggythoughts'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.blogger.com/feeds/2760720841939228560/5961848115846009896/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=2760720841939228560&amp;postID=5961848115846009896" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2760720841939228560/posts/default/5961848115846009896" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2760720841939228560/posts/default/5961848115846009896" /><link rel="alternate" type="text/html" href="http://blogs.focuspoint-solutions.com/wiggythoughts/2008/01/codeproject-article.html" title="CodeProject Article" /><author><name>Pedro Gomes</name><uri>http://www.blogger.com/profile/00827412539290098837</uri><email>noreply@blogger.com</email></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2760720841939228560.post-7537533929790727733</id><published>2007-12-20T08:33:00.001-08:00</published><updated>2007-12-20T08:44:29.134-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="c#" /><category scheme="http://www.blogger.com/atom/ns#" term="wcf" /><title type="text">WCF - Getting operation contract type</title><content type="html">&lt;p&gt;In my current WCF adventure, I had the need to get the operation contract type. After a few moments of struggle i got this solution:&lt;/p&gt;  &lt;div class="csharpcode"&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="lnum"&gt;   1:  &lt;/span&gt;&lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span style="color: #2b91af"&gt;Type&lt;/span&gt; GetOperationContractType(&lt;span style="color: #2b91af"&gt;OperationContext &lt;/span&gt;operationContext) {&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;   2:  &lt;/span&gt;  &lt;span style="color: #2b91af"&gt;ServiceEndpointCollection&lt;/span&gt; endPoints = operationContext.Host.Description.Endpoints;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;   3:  &lt;/span&gt;  &lt;span class="kwrd"&gt;foreach&lt;/span&gt; (&lt;span style="color: #2b91af"&gt;ServiceEndpoint&lt;/span&gt; endpoint &lt;span class="kwrd"&gt;in&lt;/span&gt; endpoints) {&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;   4:  &lt;/span&gt;    &lt;span class="kwrd"&gt;if&lt;/span&gt; (endpoint.Contract.Name == operationContext.EndpointDispatcher.ContractName) {&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;   5:  &lt;/span&gt;      &lt;span class="kwrd"&gt;return&lt;/span&gt; endpoint.Contract.ContractType;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;   6:  &lt;/span&gt;    }&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;   7:  &lt;/span&gt;  }&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;   8:  &lt;/span&gt;  &lt;span class="kwrd"&gt;return&lt;/span&gt; &lt;span class="kwrd"&gt;null&lt;/span&gt;;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;   9:  &lt;/span&gt;}&lt;/pre&gt;&lt;br /&gt;&lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='http://res1.blogblog.com/tracker/2760720841939228560-7537533929790727733?l=blogs.focuspoint-solutions.com%2Fwiggythoughts'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.blogger.com/feeds/2760720841939228560/7537533929790727733/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=2760720841939228560&amp;postID=7537533929790727733" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2760720841939228560/posts/default/7537533929790727733" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2760720841939228560/posts/default/7537533929790727733" /><link rel="alternate" type="text/html" href="http://blogs.focuspoint-solutions.com/wiggythoughts/2007/12/wcf-getting-operation-contract-type.html" title="WCF - Getting operation contract type" /><author><name>Pedro Gomes</name><uri>http://www.blogger.com/profile/00827412539290098837</uri><email>noreply@blogger.com</email></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2760720841939228560.post-1217074525214180206</id><published>2007-12-19T07:03:00.001-08:00</published><updated>2007-12-19T07:03:25.980-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="c#" /><category scheme="http://www.blogger.com/atom/ns#" term="wcf" /><title type="text">WCF and Object References</title><content type="html">&lt;p&gt;I'm currently migrating to WCF an application that uses .NET Remoting.&lt;/p&gt;  &lt;p&gt;I quickly ran into a problem with object references. By default, in the WCF object references are not preserved, which means that, if you pass a object graph with circular references, you are in serious problems.&lt;/p&gt;  &lt;p&gt;The best thing with the WCF is that it is highly and easily customizable. My problem is easily fixed by using a custom Serializer that will do the job of preserving the object references.&lt;/p&gt;  &lt;p&gt;Just check &lt;a href="http://blogs.msdn.com/sowmy/archive/2006/03/26/561188.aspx"&gt;this post&lt;/a&gt; on Sowmy Srinivasan's Blog. It's a simple how-to that clearly guides you to the process of creating and using a custom serializer on the WCF.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='http://res1.blogblog.com/tracker/2760720841939228560-1217074525214180206?l=blogs.focuspoint-solutions.com%2Fwiggythoughts'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.blogger.com/feeds/2760720841939228560/1217074525214180206/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=2760720841939228560&amp;postID=1217074525214180206" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2760720841939228560/posts/default/1217074525214180206" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2760720841939228560/posts/default/1217074525214180206" /><link rel="alternate" type="text/html" href="http://blogs.focuspoint-solutions.com/wiggythoughts/2007/12/wcf-and-object-references.html" title="WCF and Object References" /><author><name>Pedro Gomes</name><uri>http://www.blogger.com/profile/00827412539290098837</uri><email>noreply@blogger.com</email></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2760720841939228560.post-3234299007812062750</id><published>2007-11-09T02:41:00.001-08:00</published><updated>2007-11-09T02:41:43.675-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="ogc" /><category scheme="http://www.blogger.com/atom/ns#" term="microsoft" /><title type="text">Microsoft now is a OGC member</title><content type="html">&lt;p&gt;That's true, just read this &lt;a href="http://www.opengeospatial.org/pressroom/pressreleases/781"&gt;press release&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;From the Microsoft point of view, this seams like a logical move as some of their flagship products (SQL Server 2008 and Virtual Earth) will include or already include spatial support. What this also means is that for sure MS products will support the OGC standards witch is very good news.&lt;/p&gt;  &lt;p&gt;I'm a confess addicted to OGC standards, even wen using third-party engines that do not provide the standard interfaces, I tend to create a abstraction for OGC compliancy.&lt;/p&gt;  &lt;p&gt;With all that said, I welcome Microsoft move to join the Open Geospatial Consortium. &lt;/p&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='http://res1.blogblog.com/tracker/2760720841939228560-3234299007812062750?l=blogs.focuspoint-solutions.com%2Fwiggythoughts'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.blogger.com/feeds/2760720841939228560/3234299007812062750/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=2760720841939228560&amp;postID=3234299007812062750" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2760720841939228560/posts/default/3234299007812062750" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2760720841939228560/posts/default/3234299007812062750" /><link rel="alternate" type="text/html" href="http://blogs.focuspoint-solutions.com/wiggythoughts/2007/11/microsoft-now-is-ogc-member.html" title="Microsoft now is a OGC member" /><author><name>Pedro Gomes</name><uri>http://www.blogger.com/profile/00827412539290098837</uri><email>noreply@blogger.com</email></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2760720841939228560.post-5979947054020723709</id><published>2007-11-09T01:35:00.001-08:00</published><updated>2007-11-09T01:35:52.649-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="ogc" /><category scheme="http://www.blogger.com/atom/ns#" term="spatial#" /><title type="text">Spatial# and OGC Web Map Service</title><content type="html">&lt;p&gt;After some time of reflection, I've decided to implement the OGC Web Map Service in the Spatial# project.&lt;/p&gt;  &lt;p&gt;OGC WMS will be also the supporting protocol for the client controls.&lt;/p&gt;  &lt;p&gt;The choice was made to allow client and server parts of the spatial# project to live independently.&lt;/p&gt;  &lt;p&gt;In the future one will be allowed to use the client user control against any WMS server. Additionally the server will also be available to any application that supports the OGC WMS standard.&lt;/p&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='http://res1.blogblog.com/tracker/2760720841939228560-5979947054020723709?l=blogs.focuspoint-solutions.com%2Fwiggythoughts'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.blogger.com/feeds/2760720841939228560/5979947054020723709/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=2760720841939228560&amp;postID=5979947054020723709" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2760720841939228560/posts/default/5979947054020723709" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2760720841939228560/posts/default/5979947054020723709" /><link rel="alternate" type="text/html" href="http://blogs.focuspoint-solutions.com/wiggythoughts/2007/11/spatial-and-ogc-web-map-service.html" title="Spatial# and OGC Web Map Service" /><author><name>Pedro Gomes</name><uri>http://www.blogger.com/profile/00827412539290098837</uri><email>noreply@blogger.com</email></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2760720841939228560.post-5116076468565076266</id><published>2007-10-31T01:06:00.001-07:00</published><updated>2007-10-31T01:06:43.335-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="c#" /><title type="text">Application Splash Screen</title><content type="html">&lt;p&gt;In one of my projects, I was needing to add a Splash Screen to a windows application. As usual i searched the web for some samples and ideas and came across this &lt;a href="http://blogs.infosupport.com/wouterv/archive/2007/08/25/The-Package-Explorer-splash-screen_3A00_-Multi_2D00_threaded-application-initialization.aspx"&gt;post&lt;/a&gt;. It is a really good splash screen component, I highly recommend it.&lt;/p&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='http://res1.blogblog.com/tracker/2760720841939228560-5116076468565076266?l=blogs.focuspoint-solutions.com%2Fwiggythoughts'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.blogger.com/feeds/2760720841939228560/5116076468565076266/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=2760720841939228560&amp;postID=5116076468565076266" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2760720841939228560/posts/default/5116076468565076266" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2760720841939228560/posts/default/5116076468565076266" /><link rel="alternate" type="text/html" href="http://blogs.focuspoint-solutions.com/wiggythoughts/2007/10/application-splash-screen.html" title="Application Splash Screen" /><author><name>Pedro Gomes</name><uri>http://www.blogger.com/profile/00827412539290098837</uri><email>noreply@blogger.com</email></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2760720841939228560.post-6945239842058987487</id><published>2007-10-22T00:56:00.001-07:00</published><updated>2007-10-22T00:57:47.011-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="web sites" /><title type="text">Good Ideas &amp; Bad Sites</title><content type="html">&lt;p&gt;The Internet is the place were good ideas easily can provide profit. But the thing is, good ideas need to be packed with good looking and working web sites. There are several business that have failed to achieve profit because they were using bad web sites.&lt;/p&gt;  &lt;p&gt;The problem is that company tend to ignore the need for a web architect. Often companies assume that web sites can be provided by curious kids. This attitude normally has bad results. &lt;/p&gt;  &lt;p&gt;Just as a way to prove my point, let me start by confessing that I'm an Internet shopper. But i do buy things on traditional shops, and wen I do that, I first google the net for reviews. The thing is, if the product I&amp;#x2019;m willing to buy has some defects, certainly somebody has posted a complaint somewhere in the Internet.&lt;/p&gt;  &lt;p&gt;Recently I've found &lt;a href="http://www.trustsource.org"&gt;trustedsource.org&lt;/a&gt;. The idea is to provide a site were customers can write their on review on products they've used. This is what call a good idea, but the problem with it is that it's using a very bas site.&lt;/p&gt;  &lt;p&gt;I do think that their site is needing some professional help because it is clumsy. I've fought hard to find some products and realized that they are categorized. The problem is that there's no way to browse the categories.&lt;/p&gt;  &lt;p&gt;I've however found some information using google, for instance &lt;a href="http://www.trustsource.org/hairloss"&gt;Provillus&lt;/a&gt; is customers the top rated product for hair loss prevention. (my wife would probably love if I use it), also they have a &lt;a href="http://www.trustsource.org/cash-advance"&gt;payday loans&lt;/a&gt; products category.&lt;/p&gt;  &lt;p&gt;As I wrote earlier, this is a good idea, but using a very poorly designed web site, clearly a example that the site architecture was not taken under the correct consideration. As for all good ideas I would like it to succeeded, but for that a site redesign is urgent.&lt;/p&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='http://res1.blogblog.com/tracker/2760720841939228560-6945239842058987487?l=blogs.focuspoint-solutions.com%2Fwiggythoughts'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.blogger.com/feeds/2760720841939228560/6945239842058987487/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=2760720841939228560&amp;postID=6945239842058987487" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2760720841939228560/posts/default/6945239842058987487" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2760720841939228560/posts/default/6945239842058987487" /><link rel="alternate" type="text/html" href="http://blogs.focuspoint-solutions.com/wiggythoughts/2007/10/good-ideas-bad-sites.html" title="Good Ideas &amp;amp; Bad Sites" /><author><name>Pedro Gomes</name><uri>http://www.blogger.com/profile/00827412539290098837</uri><email>noreply@blogger.com</email></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2760720841939228560.post-2427418336525267963</id><published>2007-10-15T01:44:00.001-07:00</published><updated>2007-11-13T03:12:26.992-08:00</updated><title type="text">Back on track</title><content type="html">&lt;p&gt;After a few weeks working for a urgent project, that ended this last weekend with a work trip to Paris, I'm back on to the Spatial Sharp project.&lt;/p&gt;  &lt;p&gt;During this week I will reevaluate the work in progress and reschedule the postponed 1st release.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='http://res1.blogblog.com/tracker/2760720841939228560-2427418336525267963?l=blogs.focuspoint-solutions.com%2Fwiggythoughts'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.blogger.com/feeds/2760720841939228560/2427418336525267963/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=2760720841939228560&amp;postID=2427418336525267963" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2760720841939228560/posts/default/2427418336525267963" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2760720841939228560/posts/default/2427418336525267963" /><link rel="alternate" type="text/html" href="http://blogs.focuspoint-solutions.com/wiggythoughts/2007/10/back-on-track.html" title="Back on track" /><author><name>Pedro Gomes</name><uri>http://www.blogger.com/profile/00827412539290098837</uri><email>noreply@blogger.com</email></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2760720841939228560.post-6713723978680756832</id><published>2007-09-21T11:51:00.001-07:00</published><updated>2007-09-21T12:46:06.353-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="ubuntu" /><title type="text">Minimal Ubuntu Desktop</title><content type="html">&lt;p&gt;I've been searching for a minimal ubuntu desktop distribution and so far I found none.&lt;/p&gt;  &lt;p&gt;It's true that there's &lt;a href="http://www.xubuntu.org/"&gt;xubuntu&lt;/a&gt; but that's not what I was looking for. I wanted a gnome ubuntu but without the added stuff (evolution open office and others) that the desktop distribution includes.&lt;/p&gt;  &lt;p&gt;I've decided to go on my one and, and also post the steps here fore others that may be searching for the same.&lt;/p&gt;  &lt;p&gt;First off all you need to download the Ubuntu 7.04 Alternate CD distribution&lt;/p&gt;  &lt;p&gt;Then install the base command line system&lt;/p&gt;  &lt;p&gt;&amp;#xA0;&lt;img id="id" alt="ubuntu install screen" src="http://blogs.focuspoint-solutions.com/wiggythoughts/files/ubuntu_01.jpg" /&gt; &lt;/p&gt;  &lt;p&gt;Finish the system installation (it's a text mode install) and run the following commands.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;em&gt;Note that you must have access to the Internet from the newly installed system.&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;First we need to get apt-get lists updated and upgrade the system.&lt;/p&gt;  &lt;p&gt;sudo apt-get update&lt;/p&gt;  &lt;p&gt;sudo apt-get upgrade&lt;/p&gt;  &lt;p&gt;sudo apt-get dist-upgrade&lt;/p&gt;  &lt;p&gt;After running these commands we must restart the system (sudo shutdown -r now).&lt;/p&gt;  &lt;p&gt;Now we're ready to install the remaining packages.&lt;/p&gt;  &lt;p&gt;sudo apt-get install gdm gnome-applets gnome-terminal menu metacity nautilus synaptic x-window-system-core desktop-effects gnome-themes gnome-themes-extras firefox firefox-gnome-support feisty-gdm-themes feisty-session-splashes feisty-wallpapers openssl ssh smbclient smbfs ubuntu-artwork update-manager update-notifier apport-gtk usplash usplash-theme-ubuntu xcursor-themes gedit&lt;/p&gt;  &lt;p&gt;Now restart the system once more and you should boot to a gnome ubuntu linux with firefox just like the one on this image&lt;/p&gt;  &lt;p&gt;&amp;#xA0;&lt;img id="id" alt="ubuntu minimal desktop login screen" src="http://blogs.focuspoint-solutions.com/wiggythoughts/files/ubuntu_02.jpg" /&gt;&lt;/p&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='http://res1.blogblog.com/tracker/2760720841939228560-6713723978680756832?l=blogs.focuspoint-solutions.com%2Fwiggythoughts'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.blogger.com/feeds/2760720841939228560/6713723978680756832/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=2760720841939228560&amp;postID=6713723978680756832" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2760720841939228560/posts/default/6713723978680756832" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2760720841939228560/posts/default/6713723978680756832" /><link rel="alternate" type="text/html" href="http://blogs.focuspoint-solutions.com/wiggythoughts/2007/09/minimal-ubuntu-desktop.html" title="Minimal Ubuntu Desktop" /><author><name>Pedro Gomes</name><uri>http://www.blogger.com/profile/00827412539290098837</uri><email>noreply@blogger.com</email></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2760720841939228560.post-9035257227326089460</id><published>2007-09-12T01:21:00.001-07:00</published><updated>2007-09-12T01:21:10.797-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="tools" /><category scheme="http://www.blogger.com/atom/ns#" term="microsoft" /><title type="text">Funny Things</title><content type="html">&lt;p&gt;They do happen. I was just checking this blog stats on Google Analytics and I found out that Rob Relyea as a post on in his &lt;a href="http://rrelyea.spaces.live.com/blog/cns!167AD7A5AB58D5FE!2165.entry"&gt;blog&lt;/a&gt; referring to this one. &lt;/p&gt;  &lt;p&gt;Funny is that by linking to his post, I spent some time reading Rob's blog and decided to give &lt;a href="http://writer.live.com/"&gt;Windows Live Writer&lt;/a&gt; a try. &lt;/p&gt;  &lt;p&gt;In one word.... it's good. Worked as a charm with my blog. It's a really good piece of software that I highly recommend to everyone that has is one blog.&lt;/p&gt;  &lt;p&gt;The software detected my blog settings (including the provider although I'm using a personal server to host it). The    &lt;br /&gt;Live Writer editor is far better than blogger online editor. It has spelling, advanced html features, blogger tags (shows up as writer categories). It is also capable of showing a post preview that is fast and works very well&lt;/p&gt;  &lt;p&gt;It's a 5 start's award proving that Microsoft is able to provide really good and free software.&lt;/p&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='http://res1.blogblog.com/tracker/2760720841939228560-9035257227326089460?l=blogs.focuspoint-solutions.com%2Fwiggythoughts'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.blogger.com/feeds/2760720841939228560/9035257227326089460/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=2760720841939228560&amp;postID=9035257227326089460" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2760720841939228560/posts/default/9035257227326089460" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2760720841939228560/posts/default/9035257227326089460" /><link rel="alternate" type="text/html" href="http://blogs.focuspoint-solutions.com/wiggythoughts/2007/09/funny-things.html" title="Funny Things" /><author><name>Pedro Gomes</name><uri>http://www.blogger.com/profile/00827412539290098837</uri><email>noreply@blogger.com</email></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2760720841939228560.post-1280868072985604154</id><published>2007-09-09T23:16:00.000-07:00</published><updated>2007-09-09T23:21:31.644-07:00</updated><title type="text">Postponed</title><content type="html">Due to professional commitments that I must comply, the release of the 1st version of Spatial# has been postponed 2 months. &lt;br /&gt;&lt;br /&gt;In the next following weeks there will be very little activity for this project. It will be resumed by mid October.&lt;br /&gt;&lt;br /&gt;This situation doesn’t fill me with joy; I was committed with the previous deadline and willing to fulfill it. But them there’s the real side of life, the one were we need to eat and provide food and accommodations to our family.&lt;br /&gt;I’ve been thinking this last weekend, and after all taken under consideration, postponing the spatial# release date came up as the wise move to follow.&lt;br /&gt;&lt;br /&gt;Until the new date arrives, I will continue to blog here for project news and developments. I’m also willing to consider candidates that want to join the project team.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='http://res1.blogblog.com/tracker/2760720841939228560-1280868072985604154?l=blogs.focuspoint-solutions.com%2Fwiggythoughts'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.blogger.com/feeds/2760720841939228560/1280868072985604154/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=2760720841939228560&amp;postID=1280868072985604154" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2760720841939228560/posts/default/1280868072985604154" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2760720841939228560/posts/default/1280868072985604154" /><link rel="alternate" type="text/html" href="http://blogs.focuspoint-solutions.com/wiggythoughts/2007/09/postponed.html" title="Postponed" /><author><name>Pedro Gomes</name><uri>http://www.blogger.com/profile/00827412539290098837</uri><email>noreply@blogger.com</email></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2760720841939228560.post-4229734661778905666</id><published>2007-08-30T08:05:00.000-07:00</published><updated>2007-08-30T23:43:17.650-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="silverlight" /><category scheme="http://www.blogger.com/atom/ns#" term="spatial#" /><title type="text">100th Revison</title><content type="html">Google code SpatialSharp subversion repository has reached revision 100.&lt;br /&gt;&lt;br /&gt;As a way to celebrate this event, I’m publishing the next steps in the project life:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;In the next few days a preview of the Silverlight map server control will be available. It is still a very early development stage preview but it will allow the community to check the control capablilities. &lt;/li&gt;&lt;li&gt;A series of posts that will be done in this blog will provide a guide on how to use the Silverlight map server control to display ESRI Shape file data online. &lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Also as a celebration for the 100th revision, the project just got a logo. Check it below. &lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;img src="http://blogs.focuspoint-solutions.com/wiggythoughts/files/spatialsharp_logo.gif" /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='http://res1.blogblog.com/tracker/2760720841939228560-4229734661778905666?l=blogs.focuspoint-solutions.com%2Fwiggythoughts'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.blogger.com/feeds/2760720841939228560/4229734661778905666/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=2760720841939228560&amp;postID=4229734661778905666" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2760720841939228560/posts/default/4229734661778905666" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2760720841939228560/posts/default/4229734661778905666" /><link rel="alternate" type="text/html" href="http://blogs.focuspoint-solutions.com/wiggythoughts/2007/08/100th-revison.html" title="100th Revison" /><author><name>Pedro Gomes</name><uri>http://www.blogger.com/profile/00827412539290098837</uri><email>noreply@blogger.com</email></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2760720841939228560.post-663640029978281381</id><published>2007-08-17T07:10:00.000-07:00</published><updated>2007-09-02T23:24:43.486-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="spatial#" /><category scheme="http://www.blogger.com/atom/ns#" term="msbuild" /><title type="text">Release builds command line script</title><content type="html">I’ve created a command line script for Spatial#. It has the ability to generate debug and release binaries and 2 zip archives. One with the sources and other with the generated binaries.&lt;br /&gt;&lt;br /&gt;I’ve posted the script here for anyone that would like to use it as a source of knowledge.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://blogs.focuspoint-solutions.com/wiggythoughts/files/build-release.zip"&gt;Build-Release.zip&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='http://res1.blogblog.com/tracker/2760720841939228560-663640029978281381?l=blogs.focuspoint-solutions.com%2Fwiggythoughts'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.blogger.com/feeds/2760720841939228560/663640029978281381/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=2760720841939228560&amp;postID=663640029978281381" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2760720841939228560/posts/default/663640029978281381" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2760720841939228560/posts/default/663640029978281381" /><link rel="alternate" type="text/html" href="http://blogs.focuspoint-solutions.com/wiggythoughts/2007/08/release-builds-command-line-script.html" title="Release builds command line script" /><author><name>Pedro Gomes</name><uri>http://www.blogger.com/profile/00827412539290098837</uri><email>noreply@blogger.com</email></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2760720841939228560.post-3770730465304934350</id><published>2007-08-07T23:26:00.000-07:00</published><updated>2007-08-07T23:28:56.200-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="spatial#" /><title type="text">Back from Vacations</title><content type="html">Back from vacations&lt;br /&gt;&lt;br /&gt;After 3 weeks away, I’m back. I had great relaxing vacations in Algarve (south of Portugal). &lt;br /&gt;&lt;br /&gt;It was time to recharge batteries.&lt;br /&gt;&lt;br /&gt;I spent time hanging on the beach, reading books (mostly romances and novels) and taking several pictures with my new Canon 400D (one of these days I will be putting my photos here in this blog).&lt;br /&gt;&lt;br /&gt;As usually summer vacations also serve as a balance period, I’ve made same plans for the Spatial# project, and I’m very motivated to fulfill them.&lt;br /&gt;&lt;br /&gt;First, and in a very short period of time, a web site for the project will be launched. Also there will be a scheduled monthly release (wile version 1 is not reached). The first one will hit the street at the 15th September.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='http://res1.blogblog.com/tracker/2760720841939228560-3770730465304934350?l=blogs.focuspoint-solutions.com%2Fwiggythoughts'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.blogger.com/feeds/2760720841939228560/3770730465304934350/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=2760720841939228560&amp;postID=3770730465304934350" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2760720841939228560/posts/default/3770730465304934350" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2760720841939228560/posts/default/3770730465304934350" /><link rel="alternate" type="text/html" href="http://blogs.focuspoint-solutions.com/wiggythoughts/2007/08/back-from-vacations.html" title="Back from Vacations" /><author><name>Pedro Gomes</name><uri>http://www.blogger.com/profile/00827412539290098837</uri><email>noreply@blogger.com</email></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2760720841939228560.post-8477105161799498296</id><published>2007-06-26T00:12:00.000-07:00</published><updated>2007-06-26T13:02:23.244-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="silverlight" /><category scheme="http://www.blogger.com/atom/ns#" term="gis" /><category scheme="http://www.blogger.com/atom/ns#" term="spatial#" /><category scheme="http://www.blogger.com/atom/ns#" term="xaml" /><title type="text">ESRI Shape file to XAML and JPG</title><content type="html">Using Spatial# you can now generate a XAML or JPEG output.&lt;br /&gt;I’m planning on writing a CodeProject article explaining how to do it, but for that I must implement coordinate system transformations in Spatial#&lt;br /&gt;&lt;br /&gt;For only ERSI Shape files with planar corrdinates are supported. The basic is done by creating an ERSI Shape file layer, and using one of the supplied renderers to generate the output.&lt;br /&gt;&lt;br /&gt;The following code shows how to do it. You will only need the Spatial# project binaries.&lt;br /&gt;&lt;br/&gt;&lt;br/&gt;&lt;br /&gt;&lt;strong&gt;Code to Output as XAML&lt;/strong&gt;&lt;br /&gt;&lt;div class="csharpcode"&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="lnum"&gt;   1:  &lt;/span&gt;&lt;span class="rem"&gt;// XAML&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;   2:  &lt;/span&gt;StringWriter stringWriter = &lt;span class="kwrd"&gt;new&lt;/span&gt; StringWriter();&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;   3:  &lt;/span&gt;Xaml2DRenderer renderer = &lt;span class="kwrd"&gt;new&lt;/span&gt; Xaml2DRenderer(stringWriter);&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;   4:  &lt;/span&gt;renderer.CanvasWidth = 500;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;   5:  &lt;/span&gt;renderer.CanvasHeight = 750;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;   6:  &lt;/span&gt;&amp;nbsp;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;   7:  &lt;/span&gt;&lt;span class="rem"&gt;// create layer&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;   8:  &lt;/span&gt;&lt;span class="kwrd"&gt;string&lt;/span&gt; filePath = &lt;span class="str"&gt;"c:\\f.shp"&lt;/span&gt;);&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;   9:  &lt;/span&gt;EsriShapeFileLayerProvider esriShpProvider = &lt;span class="kwrd"&gt;new&lt;/span&gt; EsriShapeFileLayerProvider(filePath);&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  10:  &lt;/span&gt;VectorLayer layer = &lt;span class="kwrd"&gt;new&lt;/span&gt; VectorLayer(esriShpProvider);&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  11:  &lt;/span&gt;&amp;nbsp;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  12:  &lt;/span&gt;&lt;span class="rem"&gt;// create style&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  13:  &lt;/span&gt;Style style = &lt;span class="kwrd"&gt;new&lt;/span&gt; Style();&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  14:  &lt;/span&gt;style.Fill = &lt;span class="kwrd"&gt;new&lt;/span&gt; LinearGradientFillPrimitive(Color.FromArgb(25, 125, 125), Color.FromArgb(210, 210, 210), 45);&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  15:  &lt;/span&gt;style.Stroke = &lt;span class="kwrd"&gt;new&lt;/span&gt; SolidStrokePrimitive(Color.Yellow);&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  16:  &lt;/span&gt;&amp;nbsp;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  17:  &lt;/span&gt;&lt;span class="rem"&gt;// render all the layer&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  18:  &lt;/span&gt;RenderEngine renderEngine = &lt;span class="kwrd"&gt;new&lt;/span&gt; RenderEngine(layer, renderer);&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  19:  &lt;/span&gt;renderEngine.Render(style, esriShpProvider.Bounds);&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  20:  &lt;/span&gt;&amp;nbsp;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  21:  &lt;/span&gt;&lt;span class="kwrd"&gt;string&lt;/span&gt; output = &lt;span class="str"&gt;"c:\\sample.xaml"&lt;/span&gt;;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  22:  &lt;/span&gt;File.Delete(output);&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  23:  &lt;/span&gt;File.WriteAllText(output, stringWriter.GetStringBuilder().ToString());&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Code to Output as JPEG&lt;/strong&gt;&lt;br /&gt;&lt;div class="csharpcode"&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="lnum"&gt;   1:  &lt;/span&gt;&lt;span class="kwrd"&gt;using&lt;/span&gt; (Bitmap bmp = &lt;span class="kwrd"&gt;new&lt;/span&gt; Bitmap(500, 750, PixelFormat.Format32bppArgb))&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;   2:  &lt;/span&gt;&lt;span class="kwrd"&gt;using&lt;/span&gt; (Graphics bmpDC = Graphics.FromImage(bmp)) {&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;   3:  &lt;/span&gt;  bmpDC.SmoothingMode = SmoothingMode.AntiAlias;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;   4:  &lt;/span&gt;  bmpDC.CompositingQuality = CompositingQuality.HighQuality;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;   5:  &lt;/span&gt;&amp;nbsp;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;   6:  &lt;/span&gt;  Gdi2DRenderer renderer = &lt;span class="kwrd"&gt;new&lt;/span&gt; Gdi2DRenderer(bmpDC);&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;   7:  &lt;/span&gt;  renderer.CanvasWidth = 500;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;   8:  &lt;/span&gt;  renderer.CanvasHeight = 750;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;   9:  &lt;/span&gt;&amp;nbsp;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  10:  &lt;/span&gt;  &lt;span class="rem"&gt;// create layer&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  11:  &lt;/span&gt;  &lt;span class="kwrd"&gt;string&lt;/span&gt; filePath = &lt;span class="str"&gt;"c:\\f.shp"&lt;/span&gt;);&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  12:  &lt;/span&gt;  EsriShapeFileLayerProvider esriShpProvider = &lt;span class="kwrd"&gt;new&lt;/span&gt; EsriShapeFileLayerProvider(filePath);&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  13:  &lt;/span&gt;  VectorLayer layer = &lt;span class="kwrd"&gt;new&lt;/span&gt; VectorLayer(esriShpProvider);&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  14:  &lt;/span&gt;&amp;nbsp;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  15:  &lt;/span&gt;  &lt;span class="rem"&gt;// create style&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  16:  &lt;/span&gt;  Style style = &lt;span class="kwrd"&gt;new&lt;/span&gt; Style();&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  17:  &lt;/span&gt;  style.Fill = &lt;span class="kwrd"&gt;new&lt;/span&gt; LinearGradientFillPrimitive(Color.FromArgb(25, 125, 125), Color.FromArgb(210, 210, 210), 45);&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  18:  &lt;/span&gt;  style.Stroke = &lt;span class="kwrd"&gt;new&lt;/span&gt; SolidStrokePrimitive(Color.Yellow);&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  19:  &lt;/span&gt;&amp;nbsp;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  20:  &lt;/span&gt;  &lt;span class="rem"&gt;// render all the layer&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  21:  &lt;/span&gt;  RenderEngine renderEngine = &lt;span class="kwrd"&gt;new&lt;/span&gt; RenderEngine(layer, renderer);&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  22:  &lt;/span&gt;  renderEngine.Render(style, esriShpProvider.Bounds);&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  23:  &lt;/span&gt;&amp;nbsp;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  24:  &lt;/span&gt;  &lt;span class="kwrd"&gt;string&lt;/span&gt; output = Path.Combine("c:\\", outputFileName);&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  25:  &lt;/span&gt;  File.Delete(output);&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  26:  &lt;/span&gt;  bmp.Save(output, ImageFormat.Jpeg);&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  27:  &lt;/span&gt;}&lt;/pre&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='http://res1.blogblog.com/tracker/2760720841939228560-8477105161799498296?l=blogs.focuspoint-solutions.com%2Fwiggythoughts'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.blogger.com/feeds/2760720841939228560/8477105161799498296/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=2760720841939228560&amp;postID=8477105161799498296" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2760720841939228560/posts/default/8477105161799498296" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2760720841939228560/posts/default/8477105161799498296" /><link rel="alternate" type="text/html" href="http://blogs.focuspoint-solutions.com/wiggythoughts/2007/06/esri-shape-file-to-xaml-and-jpg.html" title="ESRI Shape file to XAML and JPG" /><author><name>Pedro Gomes</name><uri>http://www.blogger.com/profile/00827412539290098837</uri><email>noreply@blogger.com</email></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2760720841939228560.post-8636424975470966615</id><published>2007-06-15T01:49:00.000-07:00</published><updated>2007-06-15T01:57:44.501-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="or mapper" /><category scheme="http://www.blogger.com/atom/ns#" term="IL" /><category scheme="http://www.blogger.com/atom/ns#" term="c#" /><title type="text">Emit with care</title><content type="html">One of the major features of the .NET framework is Reflection.Emit. It allows you to dynamically generate assemblies using IL. Well being a very powerful tool, it can sometimes be very harmful.&lt;br /&gt;&lt;br /&gt;It happened to me, I’m using Reflection.Emit in my ORM to generate dynamic field setters and getters.&lt;br /&gt;&lt;br /&gt;Using Reflection.Emit the tool generates dynamic code, which can be called using the following delegates.&lt;br /&gt;&lt;br /&gt;&lt;div class="csharpcode"&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="lnum"&gt;   1:  &lt;/span&gt;&lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;delegate&lt;/span&gt; &lt;span class="kwrd"&gt;void&lt;/span&gt; GenericSetter(&lt;span class="kwrd"&gt;object&lt;/span&gt; target, &lt;span class="kwrd"&gt;object&lt;/span&gt; &lt;span class="kwrd"&gt;value&lt;/span&gt;);&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;   2:  &lt;/span&gt; &lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;   3:  &lt;/span&gt;&lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;delegate&lt;/span&gt; &lt;span class="kwrd"&gt;object&lt;/span&gt; GenericGetter(&lt;span class="kwrd"&gt;object&lt;/span&gt; target);&lt;/pre&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;All worked ok, until the day that I’ve in a clumsy coded method, decided to call the delegate using a wrong type of object. The field in question is of type ObjectRef&amp;lt;T&amp;gt; and I was passing an object of type T.&lt;br /&gt;&lt;br /&gt;No runtime error is raised and all is working ok, but when I inspected the object, the ObjectRef&amp;lt;T&amp;gt; field now stores a PropertyChangedEventHandler value, very strange!!&lt;br /&gt;&lt;br /&gt;I’ve gone back to my IL emit code and found that it was not casting the input to the correct type.&lt;br /&gt;&lt;br /&gt;You can download my DinamicaMethods class &lt;a href="http://blogs.focuspoint-solutions.com/wiggythoughts/files/DynamicMethods.zip"&gt;here&lt;/a&gt;. It includes methods to generate dynamic field and property getters/setters.&lt;br /&gt;&lt;br /&gt;Bottom line: Just one line missing in the IL caused a lot of mess…. So do Emit… but with care…&lt;br /&gt;&lt;br /&gt;&lt;a href="http://blogs.focuspoint-solutions.com/wiggythoughts/files/DynamicMethods.zip"&gt;DynamicMethods.zip&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='http://res1.blogblog.com/tracker/2760720841939228560-8636424975470966615?l=blogs.focuspoint-solutions.com%2Fwiggythoughts'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.blogger.com/feeds/2760720841939228560/8636424975470966615/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=2760720841939228560&amp;postID=8636424975470966615" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2760720841939228560/posts/default/8636424975470966615" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2760720841939228560/posts/default/8636424975470966615" /><link rel="alternate" type="text/html" href="http://blogs.focuspoint-solutions.com/wiggythoughts/2007/06/emit-with-care.html" title="Emit with care" /><author><name>Pedro Gomes</name><uri>http://www.blogger.com/profile/00827412539290098837</uri><email>noreply@blogger.com</email></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry></feed>

