Tags: , , | Categories: Blog Posted by al on 4/21/2011 11:07 PM | Comments (0)

Introducing Visual Studio 2010 was a great step forward for Microsoft, introducing the out of band releases make us all dynamic as well as disconnected from everybody else in our team. Now when somebody can install Visual Studio 2010 SP1 may not have the same tool that me that already installed Visual Studio 2010 SP1 KB983509. Or better yet, Microsoft Visual Studio 2010 SP1 Tools for ASP.NET Web Pages.


Ah! what is all this? I feel like  when I set up a new development computer I need to spend one day making sure I have the latest and refreshes of the latest. I do believe is getting out of hand. When I work in a team the whole team needs to have the same versions of everything in order to compile. In that case we created a road map for installation and then out of the blue, Microsoft will “refresh” one of those tools!

The Web Platform Installer 3.0 is a great tool in order to make sure you got the latest MVC 3 and then the ASP.NET MVC 3 Tools Update release at the Mix, yet I feel we need a way in Visual Studio to call that and will let us know if there is an update that we should install.

Now I want to use await, I need the Visual Studio Async CTP that will work now with SP1. Confused?


This is getting out of hand and adding more tooling is not the answer for developers to stay up to date, instead integrating into Visual Studio should be the way to go. Anybody with me?



Tags: | Categories: Blog Posted by al on 4/7/2011 7:44 PM | Comments (0)


Create a digital Business Card to share around conferences and meetings without printing them out, you can send them from the application and anybody with that application close to you will receive it. Also a great way to collect Business Cards in conference as you can drop your Green Business Card in a location of the conference.
Printing business cards every year is a huge cost for the environment, as well as organizing those takes time and room. By just being able to send the card by pressing one button to somebody that is close to you, will save a few trees and makes it easier to keep organized.
The Green Business Card application works in location based, when you send your card, will be drop in that location for 1 hours, anybody close 100 feet from that location will be able to pick up your business card.







Categories: Blog Posted by al on 4/1/2011 1:00 AM | Comments (0)

There are many API’s that use the OSM rest end points to create features, I didn’t find much in C# or VB.NET and I wanted to make sure all the changesets I uploaded got delete it. I use the ArcGIS Editor for ArcMap as a baseline to write this code to make sure I clean up a changeset.

I thought to put the code here for people that is looking in how to download a changeset from OSM or delete nodes.

   1:  public static void DeleteChangeSet(string ID, string sUsername, string sPassword)
   2:          {
   4:              WebRequest request = WebRequest.Create("http://www.openstreetmap.org/api/0.6/changeset/"+ID+"/download");
   5:              Console.WriteLine("Called ChangeSet " + ID);
   7:              request.Timeout = Timeout.Infinite;
   9:              WebResponse response = request.GetResponse();
  10:              Stream dataStream = response.GetResponseStream();
  12:              StreamReader readerst = new StreamReader(dataStream);
  13:              // Read the content.         
  14:              string sResults = readerst.ReadToEnd();
  16:              Console.WriteLine("String Back from the ChangeSet with bytes " + sResults.Length);
  18:              XmlDocument xmlDoc = new XmlDocument();
  19:              xmlDoc.LoadXml(sResults);
  21:              // Create the changeset            
  22:              WebRequest client = WebRequest.Create("http://www.openstreetmap.org/api/0.6/changeset/create");
  23:              client.Method = "PUT";
  24:              // Start a delete changeset session
  25:              //http://www.openstreetmap.org/api/0.6/changeset/create
  26:              string sXmlChangeSet = "<?xml version=\"1.0\" encoding=\"us-ascii\"?><osm xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" version=\"0.6\" generator=\"ArcGIS\"><changeset id=\"0\"><tag v=\"ArcGIS Editor for OpenStreetMap (1.1 beta4)\" k=\"created_by\" /><tag v=\"Cleaning Arkansas from changeset" + ID + "\" k=\"comment\" /></changeset></osm>";
  27:              client.Credentials = new System.Net.NetworkCredential(sUsername, sPassword);
  29:              //string sChangeSetID = client.UploadString(new Uri("http://www.openstreetmap.org/api/0.6/changeset/create"), sXmlChangeSet);
  30:              Stream requestStreamclient = client.GetRequestStream();            
  31:              StreamWriter mywriter = new StreamWriter(requestStreamclient);
  33:              mywriter.Write(sXmlChangeSet);
  34:              mywriter.Close();
  36:              WebResponse clientResponse = client.GetResponse();
  37:              Stream readStream = clientResponse.GetResponseStream();
  38:              StreamReader streamReader = new StreamReader(readStream);
  39:              string sChangeSetID = streamReader.ReadToEnd();
  41:              Console.WriteLine("Created ChangeSetID " + sChangeSetID);
  43:              // Get the nodes and start deleting
  44:              XmlNodeList nodes = xmlDoc.ChildNodes.Item(1).ChildNodes;
  45:              dataStream.Close();
  46:              readerst.Close();
  47:              streamReader.Close();
  49:              foreach (XmlNode node in nodes)
  50:              {
  51:                  string sID = node.ChildNodes.Item(0).Attributes[0].Value;
  52:                  string sVersion = node.ChildNodes.Item(0).Attributes["version"].Value;
  53:                  string lat = node.ChildNodes.Item(0).Attributes["lat"].Value;
  54:                  string lon = node.ChildNodes.Item(0).Attributes["lon"].Value;
  56:                  //<?xml version="1.0" encoding="utf-8"?><osm xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" version="0.6"><node lat="33.8952356958747" visible="true" lon="-117.309384882913" changeset="7717855" version="1" id="1225499422" /></osm>
  57:                  string sXmlToDelete = "<?xml version=\"1.0\" encoding=\"utf-8\"?><osm xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" version=\"0.6\"><node lat=\""+lat+"\" lon=\""+lon+"\" id=\"" + sID + "\" version=\"" + sVersion + "\" changeset=\"" + sChangeSetID + "\"/></osm>";
  59:                  Console.WriteLine("Deleting Node " + sID);
  61:                  WebRequest delete = WebRequest.Create("http://www.openstreetmap.org/api/0.6/node/" + sID);
  62:                  delete.Credentials = new System.Net.NetworkCredential(sUsername, sPassword);
  63:                  delete.Method = "DELETE";
  65:                  Stream requestStream = delete.GetRequestStream();
  66:                  StreamWriter stwriter = new StreamWriter(requestStream);
  68:                  stwriter.Write(sXmlToDelete);
  69:                  stwriter.Close();
  71:                  WebResponse deleteResponse = null;
  72:                  try
  73:                  {
  74:                      deleteResponse = delete.GetResponse();
  75:                  }
  76:                  catch (Exception e) { Console.WriteLine("Cannot delete node " + e.Message); }
  78:                  stwriter.Close();
  79:                  if ( deleteResponse != null )
  80:                      deleteResponse.Close();
  81:              }
  83:              // Close change set 
  84:              string sClose = "http://www.openstreetmap.org//api/0.6/changeset/" + sChangeSetID + "/close";
  85:              WebRequest closeRequest = WebRequest.Create(sClose);
  86:              closeRequest.Method = "PUT";
  87:              closeRequest.Credentials = new System.Net.NetworkCredential(sUsername, sPassword);
  89:              WebResponse closeResponse = closeRequest.GetResponse();
  90:              closeResponse.Close();
  92:              Console.WriteLine("Close ChangeSetID " + sChangeSetID);
  94:          }
Tags: , , , | Categories: Blog Posted by al on 3/19/2011 10:35 AM | Comments (0)

Besides all sessions and courses found in the agenda there are events happening around that you will miss, those events are being published and index in this iPhone & iPad app for you to find the parties or external events around the conference that otherwise you will miss.


Download it for free here if you are going to the Mix, DevConnections, TechEd or Pdc this year.



Tags: | Categories: Blog Posted by al on 2/7/2011 11:28 AM | Comments (0)

I’ll be presenting at the Dev Meet Up in Phoenix on Thursday February 10th, 2011. This event is Free, drinks and finger food will be provided.

You can also win a Zune!

Keynote by James Fee,

  • James works for WeoGeo helping people organize, share and monetize their geo-content.

This Dev Meet Up is a social gathering for developers to discuss geospatial technologies, complementary third-party tools, and development platforms (e.g., Silverlight, Java, Flex, JavaScript) that are supported by Esri. Presentations run the gamut of our community: from Web development to mobile location development for iOS, Android and Windows Phone 7 to automating tasks with Python.

Developers of all levels of expertise are welcome, from seasoned GIS professionals to those new to geospatial development.

At these meetups, you can:

* Demonstrate your application or framework.

* Present an interesting concept or idea.

* Share your experiences.

* Connect with other developers.

Sign-up for a Lightning Talk!

You can also submit a topic for a 10-minute lightning presentation. There are generally only time for 4 per meetup so be sure to submit them as soon as possible!

See you there!


Bluewater Grill

1720 E. Camelback Road

February 10, 2011

5:00-5:45 PM Registration and Social 6:00 - 6:30 PM Keynote: James Fee 6:30 - 7:30 PM Lightning talks 7:30 - 8:30 PM Raffle

How to Register? : http://esriurl.com/dmuphoenix

More information:


If you are a developer around the Phoenix area I would recommend you attend this one.



Tags: | Categories: Blog Posted by al on 12/16/2010 8:00 PM | Comments (0)

The VS2010 SP1 Beta has been released from Microsoft and with it a few bugs got fix, like the bug with the weird copy and paste issue inside VS2010. Read all about it in my previous post here: Problems with copy and paste in VS2010

I have received this email from Microsoft:

VS2010 Copy / Paste functions are not working as expected which you submitted at the Microsoft Connect site.

Hi everyone, I'm writing to let you know that this cut/copy/paste bug is fixed in the Visual Studio 2010 Service Pack 1 Beta, which was just released last week, so we're resolving this bug as Fixed. We would encourage you all to download the SP1 Beta from http://go.microsoft.com/fwlink/?LinkId=207130, which should eliminate the sporadic copy/paste failures you're experiencing. If you still see issues after installing VS 2010 SP1, please file a *new* Connect bug so that we can investigate separately. Thanks again for your feedback […]

Before you install VS2010 SP1 Beta, you may want to read this post from Scott Hanselman about the implications of going Beta.



Tags: | Categories: Blog Posted by al on 12/11/2010 7:08 PM | Comments (0)

We all agree that everything can be found on the web, I keep meeting parents of young and older kids with the same stories about their kids accessing websites that were not appropriate for their age. The most interesting part of the story is when the parents find out by accident that one of their kids we surfing the web and found something not appropriate. The unknown part is how many times, parents didn’t find out when the kids in the house accessed a few website, that were not that appropriate for their kids.

As my kids are getting older and they learn more everyday of how to access the internet, I grow as well more concerned on avoiding the kids individual curiosity and get them exposed to things that we all prefer having the opportunity to be the one to explain to them.

There are many things that parents do and believe will be enough; they talk to their kids to give them a few rules, they locate the kids computer in the living room, they add a parental control on the Windows or Mac machines. If you have tried the later, setting up each computer with a block software, even the one that comes with Windows 7, can be a painful experience to maintain. Now when in a house there are plenty Windows, Macs, portable computers, iPads, iPhones and other devices capable to access the web, the problem is the maintenance and support of each different software, and you cannot chain all computers in one location, or expect to be always there when your child surfs the web.

Eventually becomes a nightmare for the parent to keep blocking or unblocking websites or ports for the family to use the internet. As a geek and a parent, I would like to share a solution I found that works the best for a house full of devices capable of accessing the Internet. I use a DNS solution to filter all traffic back and forth from the web.

DNS filtering also keeps a log of all websites your kids access, this way you know what are they doing in Facebook, Twitter, or any chat application they use with their friends.

What’s a DNS filtering? (Geeks can skip)

For any device in your house to access the internet, there is a router in your house, that your Internet provider gave you, or geeks like me have one, that gives you wireless Internet as well as wired Internet. When any computer access a website from a browser or another program, the request goes to a DNS server that translates the address “http://www.gooogle.com” for example to a unique number know as an IP number. Those DNS servers numbers are also provided by your Internet Provider. The DNS Filtering replaces those numbers on your router to send them to a server that filters and allows or declines the request depending on your rules. So all traffic from your house will go over the rules you set up. The numbers for those DNS servers are stored in that router.

(Geeks can come back to read here)

The solution that seems to work better for me in a DNS filtering is called Open DNS, there are other ones that you can check out of course, yet, I’ll show you how easy is to set it up at your house this simple solution. Even people without much computer knowledge will be able to follow the simple instructions and set it up without much ado.

The solution is free or if you want more control there is a cheap solution as well. At least they provide a free solution for you to try.

Follow this simple steps:

Create an account at http://opendns.com

Then just setting up your router is easy, will walk you thru the different routers, if you are a geek, you know where the dns servers number are in your router. You need to make sure the Internet Provider gave you the password of your router.


The addresses for Open DNS are and always are the same:



Once you have change the dns numbers on your router, there is a screen on http://opendns.com that will allow you to see and register your public IP address, the number that is assign to your house (router). Then you can start setting up your filtering settings as well as seeing the traffic that is coming from your house to the internet.

Hope this guide helps some parents.



Follow me in Twitter

Tags: | Categories: Blog Posted by al on 12/9/2010 8:00 PM | Comments (0)

Seems like my previous post inspired by the work of Michael “Doc” Norton was a great success for the amount of emails I have received. Yet amazed how many people didn’t want to discuss their questions in the comments  sections. I would encourage people to be more public, still I would like to reply to all of you on this public media. I still welcome those emails.

What I found out is that many people feels like me, they want to be developers and still be compensated for their experience without wanting to take a job as a manager. Their perfect day is a full day of coding and learning. Many believe their companies will never pay a manager’s salary to a developer no matter what. Most of you ask how to get the ball rolling. And is the later that I’m addressing here, the previous group, will never try.

What companies understand developers value and where can I find them?

This is a very difficult question to ask, I don’t have a list of those companies or departments, I have seen in my past signs in companies bending backwards to compensate, in more ways the monetary, a developer that is a good resource to them. Allowing the person to move out of the state and still let them work for the company from home is a sign that company goes by individual cases. Allowing them to go to conference that will not benefit the company is another big sign. Simple signs like flexible hours and letting some people work from home.

To see those signs you need to be working in that company for awhile and look at the departments where the manager is taking care of their employees in individual cases. Look for the department where people get quiet extra perks, where some people in the department work from home or remotely.

In my experience, but not always true, medium to big companies, are prompt to recognize good developers. Then again, some companies just don’t get it and is when you see many technical people managing developers. For all the people that email me stating that developers can also be very good managers, I do not disagree, I just think that a good developers loves writing code, when you remove that part the better salary isn’t enough to keep a developer happy. Burned out developers appreciate being promoted to managers.

How do I know I work in a bad company?

In my experience I have been a consultant and seen many companies, a few signs I have learned about companies that will not recognize good developers are:

  • When the turn over is pretty high, when developers are moving out in a big rate, no rocket scientist needs to tap you in the shoulder.
  • When the company is looking always to outsource their development resources. The product is not that interesting nor the company cares too much for their final result and support.
  • Code sweat shops. You’ll know when you start working in one of those. Run for the hills!
Where do I start?

Disclaimer: I have only based this post on Michael “Doc” Norton, this is just my interpretation and ideas.

First thing is to look at Michael “Doc” Norton presentation Take Control of Your Development Career http://docondev.blogspot.com/

That should be the first thing any developer should look and follow like it was a pattern. I would personally recommend to find some language or pattern you are interested with and learn it, learn something that will make you happy.

Second, join a User Group and get involve in the community. There are hundreds of user groups, and I’m sure you’ll find one in your city or near you town. Code Camps are Developers Meet Ups are also good resources.

Third, I would join a open source project you are interested or better yet, create a new open source project with the new technology that you have learn and get coding.

Fourth, create a Twitter account and follow the people that talks about the technology you are interested on.

If you follow this 4 steps above I think you’ll be on your way, after they are complete, when you release your Open Source project you can say that you accomplished the first steps.

Now, do not expect anything to change in your career life, you are changing and should not expect anything in return, besides borrowing some time from sleeping and your family. Creating a good schedule may help you, I find wasted time in many places that I use. Flying for work is actually one of those that allows me to do my best work on a airplane, don’t need to borrow time from anywhere else. Making sure you always have a light, charged laptop is so important.

Next steps following the Michael “Doc” Norton Pattern or my interpretation of.

First, help run a user group or better yet, start a new user group. I’ll add, as well, go to one conference a year and free development events around your city; Code Camps, Geek Dinners, etc. There are many free events sponsored by different companies for developers to get to know their products, I highly recommend those as the way to get connected.

Second, chose a mentor, this is a very hard thing to do I experienced, find an expert in the technology you are learning that has the time for you, it is difficult, I wish you best of luck.

Third, learn another technology or pattern, open your horizons a little bit more. Why not, if you had fun previously, keep doing it.

Fourth, get involved in forums to answer and ask questions, getting notice in public forums is rewarding for your ego after such a long journey.

Final steps following the Michael “Doc” Norton Pattern

Teach what you know, become humble on your knowledge, find as many opportunities to teach and to get involved with the community, bring all that to your day job.

Mr. Norton talks about getting naked, expose yourself to others in your knowledge and what you do not know. You are never too important for small opportunities, yet don’t  be afraid to take anything big and learn from the experience. Anytime you have the opportunity to talk to somebody that has reach the point the community knows his or her name, means that you should learn from it.

Take opportunities that won’t make you money, yet will make you happy. Sometimes you need to spend money and time. Register talks in Code Camps and Dev Meet Ups, those are free, also go to Conference, Development Summits and Geek Diners for example. One day, people will pay you to attend.

When will all these pay off?

I don’t know. I’m still in the path, there are a few things that during your journey you may get little acknowledgements that you are in the correct path. In my case I think those are the little signs that tells you about your journey. I got awarded the Microsoft Most Valuable Professional for ASP.NET in 2007, 2008, 2009 and 2010. I got selected to speak at the DevConnections in Las Vegas in 2010 and Orlando 2011. I do believe that I do have a long way to go, yet what I do makes me happy and I hope I can keep doing for years to come.

Every year I can see an improvement on my code, and more frameworks and languages are under my belt, I learn to embrace them all as well as in my daily job, I have been able to work in a few projects beyond my department.

I’m a learner and believer of the Michael “Doc” Norton pattern. Looking forward to learn more about it to be able to apply it better. In my short journey I now see my mistakes, I did a few things right, I have been listening the intelligent people and not being afraid to move along the technology changes.

In my professional life, I have tried to avoid being placed in only one technology and product. I have always share my code and never confused anybody that wanted to take over any of my projects, I didn’t think anything I created as my own nor care too much when politics didn’t see my vision. I stayed flexible, ready and visible, yet humble. I keep my head just below the clouds, and avoided managers meetings. I credit my manager for my success, and I faulted publicly only myself for the failures.

Hope this helps. Cheers,


Follow me in Twitter 

Read my previous post

Tags: , | Categories: Blog Posted by al on 12/7/2010 8:00 PM | Comments (0)

I’m a developer, I like to write new exciting code everyday, my perfect day at work is a day that when I wake up, I know that I have to write some code that I haven’t done before or to use a new framework/language/platform that is unknown to me. The best days in the office is when a project is waiting for me to architect or write. In my 15 years in the development field, I had to in order to get a better salary to manage people, not just to lead developers, to actually manage people. Something that I found out when I get into a management position is that I’m not that good at managing people, and not afraid to say it. I do not enjoy that part of the job, the worse one, takes time away from what I really like.

Leading developers and managing people are very different things. I do like teaching and leading developers in a project. Yet most people believe, and is true in most companies, the way to get a better salary is to be promoted to a manager position. In order to advance in your career you need to let go of the everyday writing code and become a supervisor or manager. This is the path for developers after they become senior developers. As you get older and your family grows, the only way to hit your salary requirements is to advance your career to become a manager and get that manager salary. That path is the common in most companies, the most intelligent companies out there, have learned that promoting good developers means getting a crappy manager and losing a good resource.

Now scratch everything I said, because as I previously stated, I don’t see myself going to the office everyday and just managing people until is time to go home. I like to spend hours working in some code to accomplish a task, learning new platforms and languages or patterns to existing languages. Being interrupted every 15 minutes by emails or people stopping by my office to resolve their problems, is not something I could enjoy.

All the sudden riding my motorcycle to work one cold morning over the Redlands Canyon and listening to .NET Rocks podcast, Michael “Doc” Norton explaining how to take control of your development career without necessary going to the manager’s track. I know, I should not have headphones under my helmet when riding a motorcycle in California.

His conversation with Carl Franklin and Richard Campbell was just confirming everything I have ever did with actually more details and assuring that there are other paths. His method was simple yet most of us, already do many of those steps, Mr. Michael “Doc” Norton believe that it pays off on the long run, that finally companies prefer to pay higher salaries to those developers, yet I would actually think that many companies do not see developers that way, this is not true for bigger companies. However I do believe the value of those developers increase and most of the time, changing companies could increase their salary instead of staying in the same one.

In short without even trying to get into the shadow of Mr. Norton and without following the steps in the order; you should love to learn new technologies, and then teach them to other geeks. I personally have learn many technologies and I haven’t stop doing that, I am a professor at UCR where I teach ASP.NET and Silverlight.

Mr Norton continues that after than, you want to be involve in the development community, user groups, online forums, open source projects. I personally talk to user groups, I’m very active in forums asking and answering questions as well as for those I got awarded the Microsoft MVP for ASP.NET.

After you accomplish all those, you should also expose yourself for what you know and what you do not know, learning a new language will make you humble again as well as extremely happy. There is no better feeling that learning a new language or pattern in your daily job. If you love your job everyday and what you do, I really recommend you to follow Michael’s presentation that he kindly share it on the link below.

His confirmation is a refreshing, knowing that my future is not behind a desk where the computer screen is on my right hand side instead of in front of me. Where I don’t have to spent the days filling up performance forms for people and the new platforms that I haven’t been using yet are just at my fingertips.

Presentation here. http://www.slideshare.net/LeanDog/take-control-of-your-development-career-michael-doc-norton?from=share_email_logout3

Take Control of Your Development Career Welcome! Michael “Doc” Norton @DocOnDev http://docondev.blogspot.com/ doc@leandog.com

  1. Recovering Post Technical
  2. I love to learn
  3. I love to teach
  4. I love to work in teams
  5. I love to write code
  6. I really love to write code
  7. What about YOU?
  8. Do you love your job?
  9. Do you love your Employer?
  10. Do you love your Boss?
  11. What do you love?
  12. What do you really love?
  13. Take Control
  14. Take Control • Get Noticed • Get Together • Get Your Mojo • Get Naked • Get Schooled
  15. Get Noticed
  16. Get Noticed Know Your Business
  17. Get Noticed
  18. Get Noticed Understand Management
  19. Get Noticed
  20. Get Noticed Do Your Existing Job
  21. Get Noticed
  22. Get Noticed Make Yourself Expendable
  23. Get Together
  24. Get Together Join a User Group
  25. Get Together Help Run a User Group
  26. Get Together Start a User Group
  27. Get Your Mojo
  28. Get Your Mojo Kata
  29. Get Your Mojo Koans
  30. Get Your Mojo Breakable Toys
  31. Get Your Mojo Open Source
  32. Get Naked
  33. Get Naked Run with Group A
  34. Get Naked Do Something Different
  35. Get Naked Own Your Mistakes
  36. Get Naked Admit You Don’t Know
  37. Get Schooled
  38. Get Schooled Choose a Mentor
  39. Get Schooled Attend Conferences
  40. Get Schooled Teach a New Subject
  41. Get Started
  42. Read These (Again)
  43. Take Control of Your Development Career Thank You! Michael “Doc” Norton @DocOnDev http://docondev.blogspot.com/ michael.norton@leandog.com

In a short summary, I recommend any developer to check his blog and more important his presentation, I haven’t been lucky enough to watch him live, I’m looking forward the day I have the opportunity. He is giving us hope in the future of developers, when I see some of my geek friends moving to position that in short years they begin to regret, I get more unsure of my future doing what I love. I would say that now is looking at the spectrum of companies that understand and appreciate developers. There are a few there, hopefully with time code sweat shops will start disappearing and being a developer will feed a family of 4.



Tags: , | Categories: Blog Posted by al on 12/3/2010 8:00 PM | Comments (0)

Connect with developers. Share tips and tricks. Discuss geospatial technologies, complementary third-party tools, and development platforms (e.g., .NET, Java, Flex, JavaScript) that are supported by Esri.

Scott Hanselman Principal Program Manager at Microsoft will be the keynote speaker. Also Scott is international known by his fantastic blog and podcast at http://www.hanselman.com/


I’m personally very excited of Scott being the keynote speaker, he is one of the best public speakers I have ever seen. He’ll be introducing the new Microsoft tool NuGet, formally known as NuPack. http://nuget.codeplex.com/

Developers of all levels of expertise are welcome, from seasoned GIS professionals to those new to geospatial development.


Please join us at

Hilton Portland & Executive Tower
921 SW Sixth Avenue
Portland, OR 97204

Register here: http://devmeetupportland.eventbrite.com/


Hosted by Allan Laframboise, Esri

5:00 p.m.- 6:00 p.m.

Registration and Social

6:00 p.m.- 6:30 p.m.

Opening Presentation

6:30 p.m.- 7:30 p.m.

Lightning Talks

7:30 p.m.- 8:30 p.m.


Present a Lightning Talk

Are you designing and building applications for the desktop, the Web, or mobile devices?

Do you want to share your experiences and achievements, show off apps or samples you wrote, and discuss your lessons learned?

Well, now is your chance. RSVP and tell us about the presentation you would like to give. The organizing committee will notify you if your presentation is chosen. Each presentation should be 10 minutes long.


Appetizers, beer, and sodas will be provided at no charge.