I am new to GIS development and was wondering if there are tutorials available for development in ArcGIS 10. I have some experience writing simple scripts in python and fooling around in model builder, and I want to take the dive and make an effort to become a real programmer.  I need some more info to get a better grasp on doing some real GIS programming to make some custom tools in ArcGIS 10. Where/how did you guys learn all your GIS development skills? Any book/web site recommendations? Just an FYI I will being doing my coding in visual studio using the .net framework.
I have basic programming skills (I program simple vba python and lisp scripts and had gone through a java course a long time ago), but it seems to me (judging by ESRI publications) that there is no escaping the need to learn .NET for future relevance in the GIS job market (even as an analyst). I've gone through a basic c# course and can program (regrettably) quite poor programs, but I have no idea how to link the c# knowledge to actually programming for ArcGIS in order to progress.  I know the differences aren't big, but does ArcGIS use .NET or C#?  I know the best way to further my experience in .NET is to program more and more but are there any good .NET programming books or courses I can learn techniques from?  In your opinion, what is the best way to learn to program in .NET for ArcGIS? Are there any useful books or websites?   I seek your comments regarding ArcGIS 10 (and will be saving them for later) but also for ArcGIS 9.3.1.
Why can't a Federation Starship's transporter history be used to bring someone back to life? Cost increase and suspend How do I set Windows to boot as the default in the boot loader? How do I set the bootloader so that in my dualboot with Windows 7/Ubuntu 11.04, Windows start up as standard instead of Ubuntu? Using regex inside if clause in bash Look at this if block:  #!/bin/bash  str="m.m" if [[ "${str}" =~ "m\.m" ]]; then     echo "matched" else     echo "not matched"     exit 1 fi  exit 0   This should print "matched", but it doesn't. Where am I going wrong? How to show $A\times (B\cup C) = (A\times B)\cup (A\times C)$ $VAR vs ${VAR} and to quote or not to quote I can write  VAR=$VAR1 VAR=${VAR1} VAR="$VAR1" VAR="${VAR1}"   the end result to me all seems about the same. Why should I write one or the other? are any of these not portable/POSIX? How can I change the margins for only part of the text? Sometimes the margins need to be changed for a particular page, paragraph, or other section of text.  For example, if I'm writing a letter and want the left margin to be almost at the right side of the page for the four lines of my address, or if I am combining prose with poetry and want the poems to be indented relative to the rest of the work.  What is the best way to change both left and right margins on the fly? Is there a particular reason that using clone = obj *1 is avoided when "cloning" objects? Is it shell portable to run a command on the same line after variable assignment? I've setup a plane with a particle emitter system. When I render the footage and the particles are glowing. Where do I find the settings for that? Finding the limit of $\frac {n}{\sqrt[n]{n!}}$ I'm trying to find  $$\lim_{n\to\infty}\frac{n}{\sqrt[n]{n!}} .$$   I tried couple of methods: Stolz, Squeeze, D'Alambert  Thanks!  Edit: I can't use Stirling. How to securely delete files stored on a SSD? Why isn't the gamma function defined so that $\Gamma(n) = n! $? Measure the size of a PostgreSQL table row I have a PostgreSQL table. select * is very slow whereas select id is nice and quick. I think it may be that the size of the row is very large and it's taking a while to transport, or it may be some other factor. I need all of the fields (or nearly all of them), so selecting just a subset isn't a quick fix. Selecting the fields that I want is still slow. Here's my table schema minus the names: integer                  | not null default nextval('core_page_id_seq'::regclass) character varying(255)   | not null character varying(64)    | not null text                     | default '{}'::text character varying(255)   |  integer                  | not null default 0 text                     | default '{}'::text text                     |  timestamp with time zone |  integer                  |  timestamp with time zone |  integer                  |   The size of the text field may be any size. But still, no more than a few kilobytes in the worst case. Questions  Is there anything about this that screams 'crazy inefficient'? Is there a way to measure page size at the Postgres command-line to help me debug this? The equals() method in Java works unexpectedly on Long data type How to Disable new terms (free tagging) with Taxonomies? I have a "term reference" field, in a form that uses an auto-complete widget. I want to limit user input to terms in the vocabulary only, and output a message when a user tries to enter a non existing term.  I found the  module. However this does not work with forms that contain a field collection or a field group.  There is also a contributed patch . But I was wondering whether there was a simpler/cleaner solution like a module or maybe I missed an already existing way of doing it with latest drupal and taxonomy versions. How can I easily encrypt a file? Is there any simple (IE: right click in Nautilus) way to password protect a particular folder/file in Ubuntu? I've got a few files containing sensitive info and I'd much prefer that if/when I leave my computer alone, they aren't accidentally accessed by someone else.  The secruty does not have to be extremely tight. My only concern is that when family/friends come over, I don't really like the idea of them looking at my bank details, accounts or, you guessed it, porn collection.  A simple, effective way to let me put my machine in the hands of someone else knowing that said machine can not cause me embarresment is the sole reason why I'd like to see this in Ubuntu. I see a new logo with CA at youtube.com. Does anyone know what it means? Running Synaptic I get the following error message:  E: The package hl1440lpr needs to be reinstalled, but I can't find an archive for it. E: Internal error opening cache (1). Please report.   Upon accepting the message, Synaptic quits. incoming mail just sits in the drop folder