tag:blogger.com,1999:blog-33791141990265392982024-02-07T01:20:18.959-04:00Soynerdito's BlogAnonymoushttp://www.blogger.com/profile/15689782717722719405noreply@blogger.comBlogger40125tag:blogger.com,1999:blog-3379114199026539298.post-19637102025190119222019-01-09T20:39:00.000-04:002019-01-09T20:39:02.841-04:00How to convert html to pdf using Puppetter from dotnet Core<br />
Puppetter is a nodejs library developed by google which calls chromium on the background to do certain tasks. One of this tasks can be convert an html document/url into a pdf.<br />
Since we want to use this feature from dotnet core C# there are a few steps that we must follow.<br />
<br />
First we need the nutget package for NodeServices<br />
Install-Package Microsoft.AspNetCore.NodeServices<br />
<br />
Then we need to enable this NodeServices on our Startup.cs<br />
<br />
<div class="gistLoad" data-id="36d4f933b315e10095cffbfc06491704" id="gist-36d4f933b315e10095cffbfc06491704">
<script src="https://gist.github.com/soynerdito/36d4f933b315e10095cffbfc06491704.js"></script>
</div>
<br />
Install required node packages<br />
<br />
npm init<br />
npm install puppetter<br />
npm install fs-extra<br />
npm install uuid<br />
<br />
Create a puppetter.js file on your solution with this contents.<br />
<div class="gistLoad" data-id="9533ba7b82b1d2801ca5b8dc54c72cad" id="gist-9533ba7b82b1d2801ca5b8dc54c72cad">
<script src="https://gist.github.com/soynerdito/9533ba7b82b1d2801ca5b8dc54c72cad.js"></script>
</div>
Now everything is set, only step required is to call the module from C#.<br />
<div class="gistLoad" data-id="605f844c2566d50abe7aff517f3062ba" id="gist-605f844c2566d50abe7aff517f3062ba">
<script src="https://gist.github.com/soynerdito/605f844c2566d50abe7aff517f3062ba.js"></script>
</div>
Anonymoushttp://www.blogger.com/profile/15689782717722719405noreply@blogger.com0tag:blogger.com,1999:blog-3379114199026539298.post-25983049312527147132016-12-02T23:17:00.004-04:002016-12-02T23:41:07.101-04:00Installing STM32F0 family for KeilInstalling from 0 the Keil compiler for the BSides badge.<br />
1. Install Keil<br />
2. Install CubeMX<br />
3. Download STM32F030 family pack from<br />
<br />
<ul>
<li><a href="http://www.keil.com/dd2/stmicroelectronics/stm32f030f4/#/eula-container">http://www.keil.com/dd2/stmicroelectronics/stm32f030f4/#/eula-container</a></li>
</ul>
4. Download and install Flash Loader Demonstrator<br />
<br />
<ul>
<li><a href="http://www.st.com/en/development-tools/flasher-stm32.html">http://www.st.com/en/development-tools/flasher-stm32.html</a></li>
</ul>
<br />
5. D0 not know what to do with this. STM32 Studio<br />
<br />
<br />
<ul>
<li><a href="http://www.st.com/content/st_com/en/products/development-tools/software-development-tools/stm32-software-development-tools/stm32-performance-and-debuggers/stm-studio-stm32.html">http://www.st.com/content/st_com/en/products/development-tools/software-development-tools/stm32-software-development-tools/stm32-performance-and-debuggers/stm-studio-stm32.html</a></li>
</ul>
<br />
<br />Anonymoushttp://www.blogger.com/profile/15689782717722719405noreply@blogger.com0tag:blogger.com,1999:blog-3379114199026539298.post-80588156979045413422016-08-05T11:26:00.000-03:002016-08-05T11:26:03.559-03:00Internet de las cosas en arroz y habichuelas<div dir="ltr">
<b>Que es el Internet de las cosas?</b>
<br />
Segun Google, “Un propuesto desarollo en el cual objetos cotidianos tienen conectividad en una red
<br />
permitiendo asi recibir y enviar data”<br />
<br />
<b>Cuando se dice objetos cotidianos, que son?
</b><br />
Telefonos, Autos, bicicletas, televisores, neveras, muebles, ropa. Absolutamente todo lo que usamos a
<br />
diario.<br />
<br />
<b>Y eso de conectividad? El Internet como el celular?
</b><br />
Sí, mas no tan solo eso. Una red puede ser por cable o por wireless. Pública o privada. Puedo tener una
<br />
red de comunicación de las ventanas de la casa con el aire acondicionado y no necesariamente esta
<br />
información estar saliendo de mi casa. Esto seria una red privada. Publica es que sale de mi casa/oficina al mundo exterior independientemente si solo yo puedo verla. Ahí definitivamente la vía de comunicación
<br />
seria el Internet.<br />
<br />
<b>Eso de que los equipos se conectan, como así?</b>
<br />
Un ejemplo simple. Imagine que el aire acondicionado tenga comunicación con la puerta y las ventanas
<br />
de la habitación y pueda alertar que la ventana esta abierta y dar una alerta o cerrarla automáticamente.
<br />
El que la secadora sepa que acabo de encender el aire acondicionado y espere a que el consumo inicial (o
<br />
pico) del aire baje y entonces se active. Así puedo ahorrar luz y ser una carga menor para sistema.<br />
<br />
<b>Es esto nuevo?
</b><br />
No. La idea de inter-conectividad lleva mucho tiempo. Según Wikipedia. En el 1982 una máquina de
<br />
refresco en el Carnegie Mellon University se convirtió en el primer equipo en tener conectividad al
<br />
Internet informando los niveles de inventario.<br />
<br />
<b>Y que se espera con esto del internet de las cosas?</b>
<br />
Los expertos (Gartner. Estima) dicen que equipos catalogados como Internet of Things
<br />
va a crecer a 26 billones de equipos para el 2020, y esto es sin incluir tabletas, teléfonos y
<br />
computadoras, hablamos de cafeteras, ropa, mascotas y/o personas. Estos números varían un poco
<br />
dependiendo la fuente pero todos están de acuerdo que es algo grande.
<br />
Económicamente estamos hablando de un mercado en los trillones de dolares. Estiman casi 2 trillones
<br />
de dolares en valor añadido.<br />
<br />
<b>Que industrias están mucho en esto?
</b><br />
Esto afecta a todas las industrias de una manera u otra. Desde manufactura hasta consumo o
<br />
agricultura.
<br />
Por lo que veo, todo apunta a que el crecimiento mayor está en la industria de la Salud. <br />
Piensa en un dispositivo que una persona pueda hasta dormir con el. Que detecte algo raro y pueda
<br />
preveer que esta persona va a sufrir un ataque cardíaco. Que automáticamente llame a emergencias
<br />
medicas y vengan a buscarte antes que te de el ataque cardíaco. La persona como quiera va a sufrir del ataque, pero le pasaría bajo supervisión medica. De esta manera reduciendo los riesgos de daños. Estamos hablando de cosas que pueden prolongar nuestra vida útil e independencia así como mejorar nuestra calidad de vida. Reducir costos en tratamientos y pólizas también.<br />
<br /><b>Es bueno o malo?
</b><br />
Si lo que buscamos es detenerlo pensando si es bueno o malo. Ya eso pasó. Esto no tiene vuelta atrás nos guste o no. Esto algo que está cambiando el mundo y si lo vamos a usar para el bien o mal depende de nosotros.<br />
<br />
Los profecionales tienen la responsabilidad de crear adelantos para bien. La ciudadanía en general decide si acepta o no ciertas tecnologias. Por lo cual debemos abrirnos al diálogo y proveer espacio a cada cual que exponga su punto de vista. Claro está antes de abrir esa boca linda que tenemos, está en nuestro sano juicio el educarnos para así hablar con sentido.<br />
<br />
<br />
<br />
</div>
Anonymoushttp://www.blogger.com/profile/15689782717722719405noreply@blogger.com0tag:blogger.com,1999:blog-3379114199026539298.post-86879932860142732912016-07-30T23:22:00.001-03:002016-07-31T22:52:43.650-03:00Are other developers better than me?<div dir="ltr">
</div>
<div style="text-align: justify;">
It's not uncommon for a developer to question about his/her skills. And compare to other. Specially against those great developer that do products used by millions of people. Well the ego is common among not so good developers however good developers always think there is other that knows more. You can check yourself in the category that may better suits you.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
It is true, there is always someone that knows more than you. Other that can code faster and cleaner. Other that can design software like da Vinci did those amazing inventions. All might be true. </div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
However nobody is perfect and that is nobody.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
That said we do always need to work on our skills as there is always room to improve. Unicorns do not exist and neither perfect developers. Success is not synonym of perfection.</div>
<div style="text-align: justify;">
In conclusion, keep working on your skills and do not underestimate your abilities. Nor the capacity to learn new things. But remember to keep the ego under control.</div>
Anonymoushttp://www.blogger.com/profile/15689782717722719405noreply@blogger.com1tag:blogger.com,1999:blog-3379114199026539298.post-86993765172286116822016-04-28T23:58:00.002-03:002016-04-28T23:58:15.601-03:00BSidesPR 2016 Led Matrix break down<div style="text-align: justify;">
So you got a <a href="http://bsidespr.org/2016/" target="_blank">BSides PR 2016</a> badge? Pretty cool ahh. If you are wondering how this led matrix works, well lets look at it.</div>
<div style="text-align: justify;">
The badge led matrix is pretty simple. It consist of two shift registers that control rows and columns. Rows and Columns are represented by an eight bit number. Refer to picture bellow to show how bits are arranged in relation to the badge matrix.</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgnqNu_K6gm-mI72v7E-HNZZwyjmeps-zls0Po8PIDoau0X0UEP4zAJi17Uo9K3RJaVQjxfWytPQd8ir36rX7z9pDP_HuPyJ-q7lfjYuyyk4k79NlMNTIZEHpHDVKZoZOoDl4v4yLrnkgs4/s1600/MatrixExplain.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="204" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgnqNu_K6gm-mI72v7E-HNZZwyjmeps-zls0Po8PIDoau0X0UEP4zAJi17Uo9K3RJaVQjxfWytPQd8ir36rX7z9pDP_HuPyJ-q7lfjYuyyk4k79NlMNTIZEHpHDVKZoZOoDl4v4yLrnkgs4/s320/MatrixExplain.png" width="320" /></a></div>
<div style="text-align: justify;">
When sending data from the micro controller to the badge. We first send row bits then send column bits. Data is pushed from one shift register into the other via the overflow bit. In order to turn on a led or multiple led the right combination of bits in row and column should be achieved. A 0 value on a row and a 1 value on a column will make a led to turn on.</div>
<div style="text-align: justify;">
This is an example of several leds turning on. We are using a set of functions provided in the firmware example available on <a href="https://github.com/soynerdito/BSidesBadge2016_firmware" target="_blank">github</a>.</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEga8UiaDoHqjKfbOJ1WOVjX1jyJw6tMXEbenlJhbM3vT7GFcRqINM02nRJN9UnKx6HhYMav8AIIqgAIw56F6oG_q7bE5h03vnP0aBqZ0A75Cf60R8ZyHZyCdFEM2s6CRYQ9zPlD8LfhThxI/s1600/MatrixExplain2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="234" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEga8UiaDoHqjKfbOJ1WOVjX1jyJw6tMXEbenlJhbM3vT7GFcRqINM02nRJN9UnKx6HhYMav8AIIqgAIw56F6oG_q7bE5h03vnP0aBqZ0A75Cf60R8ZyHZyCdFEM2s6CRYQ9zPlD8LfhThxI/s320/MatrixExplain2.png" width="320" /></a></div>
<div style="text-align: justify;">
This example is sending a 0x01 value to the rows ( 00000001 ) and a 0x80 to the columns ( 10000000 ). This cause the columns bits 0 - 6 to be 0 and Column bit 7 be 1. Also to have Row bits 1-7 = 0 and Row bit 1 = 0. The yellow cells with ON represent what leds shold be turned on.</div>
<div style="text-align: justify;">
To ease the sending of data a function ledMatrix.write is used. This function receives two parameters. The first parameter being the byte for the rows and the second parameter the byte for the columns. In this example the function is called <i>ledMatrix.write( 0x01, 0x80 )</i>. </div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
This is a simple way of turning on several leds on the badge. Repeat same thing several times with different combination and an animation can be represented with leds.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
For the very curious hackers, communication to the led matrix is via SPI and the STM32F0 supports DMA. So a clever hacker can use DMA to send data to the led matrix and free up some clock ticks from the CPU. As of this post, the example on github is not using DMA just simple serial communication.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<br /></div>
Anonymoushttp://www.blogger.com/profile/15689782717722719405noreply@blogger.com1tag:blogger.com,1999:blog-3379114199026539298.post-37397087957174289702016-02-21T21:44:00.001-04:002016-03-17T22:09:25.621-03:00BSidesPR 2016 Badge programming tools<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Now lets talk about how to code for the BSidesPR 2016 badge. If you do not know what this is all about refer to last post about an overview of the board <a href="http://soynerdito.blogspot.com/2016/02/bsidespr-2016-badge-prototype.html" target="_blank">here</a>.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
If you do not want to read, what you need?</div>
<div style="text-align: justify;">
</div>
<ol>
<li><a href="http://www2.keil.com/stmicroelectronics-stm32/mdk" target="_blank">Keil (for windows)</a></li>
<ol>
<li>ARM Compiler, compatible with a lot of ARM MCUs</li>
<li>Supports debug (to debug requires an external programmer debugger ST-Link)</li>
</ol>
<li><a href="http://www.st.com/web/catalog/tools/FM147/CL1794/SC961/SS1743/PF259242?icmp=stm32cubemx_pron_pr-stm32cubef2_apr2014&sc=stm32cube-pr2#" target="_blank">STM32CubeMX</a></li>
<ol>
<li>Code generator, helps creating Keil project and configuring MCU pins</li>
<li>Compatible with Windows and Linux</li>
</ol>
<li><a href="http://www.openstm32.org/HomePage" target="_blank">System Workbench for STM32</a> ( Linux)</li>
<ol>
<li>ARM Compiler compatible with Linux</li>
<li>Free but need to register</li>
<li>I downloaded but have not tested</li>
</ol>
<li>stm32flash to download binaries to board in linux</li>
<ol>
<li>clone and build tool from https://github.com/aguegu/stm32flash</li>
<li>Use with -s to download</li>
<li>./stm32flash -s /dev/ttyUSB0 (should recognize device)</li>
</ol>
</ol>
<br />
<div style="text-align: justify;">
The badge has a STM3230F4P6 micro controller. It has a Arm Cortex M0 cpu, so standard coding tools used for arm chips should work with this board. I am far from an expert here and I was able to create some simple codes and download to it.</div>
<div style="text-align: justify;">
This chip is cross platform, but by the time I write this I haven't played with it in other than windows so that is what this post is all about.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
I have used <a href="http://www2.keil.com/stmicroelectronics-stm32/mdk" target="_blank">Keil</a> to program for this badge from Windows it can be freely downloaded. For what I know Keil runs only on windows. It is basically an IDE like visual studio to code for Arm micro controllers. There are other compilers that should be compatible with the micro controller but as of this post I have not tested them.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
You can do all with Keil alone, however I like to get a little help setting up the project so I use <a href="http://www.st.com/web/catalog/tools/FM147/CL1794/SC961/SS1743/PF259242?icmp=stm32cubemx_pron_pr-stm32cubef2_apr2014&sc=stm32cube-pr2#" target="_blank">STM32CubeMX</a>. The STM32CubeMX is a code generator, it help you get started on creating a project and configuring different ports of the STM32 chip as input, output or any other feature available. It is a wizard like interaction and it can produce a project file that you can open with Keil and compile.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Badge hardware circuit diagram (Please note that the prototypes use 5VDC regulators not 3.3V)</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://raw.githubusercontent.com/soynerdito/BSides20016Badge/master/BADGE_LED_MATRIX_STM/CircuitImage.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="247" src="https://raw.githubusercontent.com/soynerdito/BSides20016Badge/master/BADGE_LED_MATRIX_STM/CircuitImage.png" width="320" /></a></div>
<div style="text-align: justify;">
<br />
To use Serial data communication from code, it is required to configure the corresponding pins to be TX and RX. Also to use the LED matrix corresponding pins should be configured as well. Here is a simple configuration on how to just make it work, configured via STM32CubeMX.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg6Bz6-zS8mov9e-AAkMOfDcOK6u9eBVZJ7nKtkc8x_6-FZ4Uz4jBqiczWOwIEveXb1TEpFsfsOWkXoWTw8ABGG99QoILtDZfHzJV3DDPjpczow4KYBUa0apA3IsYTQuZfIBs2DwIX9iJ5z/s1600/Config.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="260" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg6Bz6-zS8mov9e-AAkMOfDcOK6u9eBVZJ7nKtkc8x_6-FZ4Uz4jBqiczWOwIEveXb1TEpFsfsOWkXoWTw8ABGG99QoILtDZfHzJV3DDPjpczow4KYBUa0apA3IsYTQuZfIBs2DwIX9iJ5z/s320/Config.png" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhFBtynm4njea6qR1NoVN_ibzAFaxBZW6BqDS7ZNoxEzoP7RnZt5SRkETUqlaIDU042MxIRoey7_wro_vzJ1PkPtEyYNsp5VYZF1OBldWWWUNc9vPG4JTEtLwsFpzUevbKA_445hJpPdAb2/s1600/pinOut.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><br /></a></div>
<div class="separator" style="clear: both; text-align: justify;">
LED matrix can be used bu configuring PA7, PA5 as SPI and should provide a better performance that just using them as standard outputs, however this way also works.</div>
<br />
<br />
<br />
<br /></div>
<div style="text-align: justify;">
<br /></div>
Anonymoushttp://www.blogger.com/profile/15689782717722719405noreply@blogger.com0tag:blogger.com,1999:blog-3379114199026539298.post-76066925002775359472016-02-20T21:57:00.002-04:002016-02-20T22:11:25.746-04:00BSidesPR 2016 Badge prototype<div style="text-align: justify;">
Last year (2015) BSides PR badge was cool but time pass and we need to keep on improving. This year badge is little different. As of when this post is published we only have a prototype, final version can and will change a bit. However key aspects of the board will stay the same. Design files for the board can be found at <a href="https://github.com/soynerdito/BSides20016Badge/tree/master/BADGE_LED_MATRIX_STM" target="_blank">github</a>.</div>
<div style="text-align: justify;">
<br /></div>
Lets divide the badge in three areas. The brain, the communication and peripherals.<br />
<br />
<b>The Brain</b>:<br />
<div style="text-align: justify;">
This badge carries some cool stuff. We went with a STM32F030F4P6 micro controller. This is an ARM<span style="background-color: white; color: #58585a; font-family: "arial" , "helvetica" , sans-serif; font-size: 10px;">®</span> 32 bit Cortext M0 micro controller made by ST and consists of 16Kb of flash memory and it is clocked at 48Mhz. Information and manual can be found at manufacturer web <a href="http://www.st.com/web/catalog/mmc/FM141/SC1169/SS1574/LN1826/PF258968" target="_blank">site</a>. It has 1 UART (in use to communicate with pc), 1 I2C and 1 SPI port. SPI port is used for shift registers.</div>
<br />
<div style="-webkit-text-stroke-width: 0px; background-color: white; color: #58585a; float: right; font-family: Arial, Helvetica, sans-serif; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 1; word-spacing: 0px;">
</div>
<div style="-webkit-text-stroke-width: 0px; background-color: white; clear: both; color: #58585a; font-family: Arial, Helvetica, sans-serif; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 1; word-spacing: 0px;">
</div>
<div class="content-article" style="-webkit-text-stroke-width: 0px; background-color: white; color: #58585a; font-family: Arial, Helvetica, sans-serif; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; margin: 0px 0px 35px; orphans: auto; overflow: hidden; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 1; width: 686px; word-spacing: 0px;">
</div>
<br />
<blockquote style="border: none; margin: 0 0 0 40px; padding: 0px;">
<br /></blockquote>
<div style="text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjCBw36pwEyG33L7ba-TZR6Fcjbdo4B5TMIzGZkYZQr0jIjk6tK8u_gvatLBqpDJu7TSpH39H9zWf-Nd41_XQ55qm7jHyY6wu2DhQcXuEHQ4t2hNrywMwXwg4N-uHd0cewTKVZ8VakcR66g/s1600/Badge_Proto.jpg" imageanchor="1"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjCBw36pwEyG33L7ba-TZR6Fcjbdo4B5TMIzGZkYZQr0jIjk6tK8u_gvatLBqpDJu7TSpH39H9zWf-Nd41_XQ55qm7jHyY6wu2DhQcXuEHQ4t2hNrywMwXwg4N-uHd0cewTKVZ8VakcR66g/s320/Badge_Proto.jpg" width="320" /></a></div>
<b>Communication</b>:<br />
<div style="text-align: justify;">
The badge can comunicate with the pc via USB. For this it uses a CH340G usb to serial chip. I have been using this chip for so long that I do not remember if linux needs any special driver. But for windows it indeed needs a driver. The chip works with Linux, Windows and MAC after is corresponding driver installation.</div>
<blockquote style="border: none; margin: 0 0 0 40px; padding: 0px;">
For drivers</blockquote>
<br />
<ul><ul>
<li>Chinese official web site <a href="http://www.wch.cn/download/CH341SER_MAC_ZIP.html" target="_blank">link</a></li>
<li><a href="http://kig.re/2014/12/31/how-to-use-arduino-nano-mini-pro-with-CH340G-on-mac-osx-yosemite.html" target="_blank">Some guy blogpost</a> (has something for MAC, but I have never tried it)</li>
<li>Or just go to google and search for CH340G driver</li>
</ul>
</ul>
<br />
<br />
<b>Peripherals</b>:<br />
This baby is packing a few things.<br />
<br />
<ol>
<li>LED matrix</li>
<ul>
<li style="text-align: justify;">8x8 LED matrix that is controlled from two 595 shift registers</li>
<li style="text-align: justify;">One shift register is used for the rows and one for the columns</li>
</ul>
<li style="text-align: justify;">Buttons</li>
<ul>
<li style="text-align: justify;">In the front it consists of four push buttons</li>
<li style="text-align: justify;">The prototype do no have any of these buttons wired up to the microcontroller. Instead pins for the buttons are exposed at JP4 port. Pins are labeled Left, Right, Up and Down.</li>
<li style="text-align: justify;">On the back there are two more buttons. One for programming and the other for reset.</li>
</ul>
<li style="text-align: justify;">I/O exposed pins</li>
<ul>
<li style="text-align: justify;">To the left of the microcontroller a few pins are exposed. Please note the one that says 3.3V it is actually 5V. There pins PA0, PA1, PA2, PA3, PA6 and PB1 are available to be used. Easily can jump wire one of those pins to the buttons to interact with them.</li>
<li style="text-align: justify;">On the right (beneath PROTOTYPE) is a ST-LINK port. It can be used for debugging with an external programmer. This is not required for normal programming but if you'll like to see a break point in your code this is the way to go and an external programmer is required. An external programmer can be a cheap ST-Link V2 programmer/debugger and are cheap on ebay.</li>
</ul>
</ol>
<br />
<br />Anonymoushttp://www.blogger.com/profile/15689782717722719405noreply@blogger.com0tag:blogger.com,1999:blog-3379114199026539298.post-54171832803431312632015-11-22T20:46:00.001-04:002015-11-22T20:46:22.355-04:00Badge as USBASP verry badly explainedMake your BSides Badge into a USBASP Programmer<br />
<br />
Step 1. Download Github repo<br />
https://github.com/soynerdito/BadgeUsbasp<br />
Important stuff is:<br />
Flash compiled file: https://github.com/soynerdito/BadgeUsbasp/raw/master/main.hex<br />
MakeFile for easier flash: https://github.com/soynerdito/BadgeUsbasp/blob/master/Makefile<br />
<br />
Step 2: Get your badge ready<br />
Connect your Badge into the PC usb and press the reset button.<br />
On Linux you should see something like (with lsusb):<br />
"...ID 16c0:05dc Van Ooijen Technische Informatica shared ID for use with libusb"<br />
On Windows you may need to install some drivers<br />
If on windows 10 you may need signed driver. Use Adafruit's drivers,<br />
https://learn.adafruit.com/introducing-pro-trinket/downloads<br />
<div>
On mac, you are on your own but it should just work.</div>
<div>
<br /></div>
<div>
Step 3: Burn firmware</div>
<div>
If using Makefile go ahead and just type</div>
<div>
make flash</div>
<div>
If you want to just flash the code use avrdude straight</div>
<div>
<span style="background-color: white; color: #333333; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 12px; line-height: 18.6667px; white-space: pre;">avrdude -c </span><span style="background-color: white; color: #333333; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 12px; line-height: 20.2222px; white-space: pre;">usbasp</span><span style="background-color: white; color: #333333; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 12px; line-height: 18.6667px; white-space: pre;"> -p </span><span style="background-color: white; color: #333333; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 12px; line-height: 18.6667px; white-space: pre;">atmega328p</span><span style="background-color: white; color: #333333; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 12px; line-height: 18.6667px; white-space: pre;"> -P </span><span style="background-color: white; color: #333333; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 12px; line-height: 20.2222px; white-space: pre;">/dev/usb/ttyUSB0</span><span style="background-color: white; color: #333333; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 12px; line-height: 18.6667px; white-space: pre;"> -U flash:w:main.hex</span></div>
<div>
<span style="background-color: white; color: #333333; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 12px; line-height: 18.6667px; white-space: pre;"><br /></span></div>
<div>
<span style="color: #333333; font-family: Consolas, Liberation Mono, Menlo, Courier, monospace;"><span style="background-color: white; font-size: 12px; line-height: 20.2222px; white-space: pre;">avrdude port may change with different OS. Hope this helps, latter I hope to make this more organized.</span></span></div>
<div>
<span style="color: #333333; font-family: Consolas, Liberation Mono, Menlo, Courier, monospace;"><span style="background-color: white; font-size: 12px; line-height: 20.2222px; white-space: pre;"><br /></span></span></div>
<div>
<span style="color: #333333; font-family: Consolas, Liberation Mono, Menlo, Courier, monospace;"><span style="background-color: white; font-size: 12px; line-height: 20.2222px; white-space: pre;">USBASP pin out to connect another board, use same pins as Arduino as ISP</span></span></div>
<div>
<span style="background-color: white; font-size: 12px; line-height: 20.2222px; white-space: pre;"><span style="color: #333333; font-family: Consolas, Liberation Mono, Menlo, Courier, monospace;">https://www.arduino.cc/en/Tutorial/ArduinoISP</span></span></div>
<div>
<span style="background-color: white; font-size: 12px; line-height: 20.2222px; white-space: pre;"><span style="color: #333333; font-family: Consolas, Liberation Mono, Menlo, Courier, monospace;"><br /></span></span></div>
Anonymoushttp://www.blogger.com/profile/15689782717722719405noreply@blogger.com0tag:blogger.com,1999:blog-3379114199026539298.post-37307579097812444412015-06-02T10:47:00.003-03:002015-06-02T10:47:59.089-03:00A three months developer.... yeah right<div style="text-align: justify;">
<a href="https://openclipart.org/image/300px/svg_to_png/211447/programmer_work.png" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" src="https://openclipart.org/image/300px/svg_to_png/211447/programmer_work.png" /></a>All over the news we see reports about the need of developers and if we do not teach programming skills to youngster we might run out of</div>
<div style="text-align: justify;">
developers in the near future . I am all in to teach and encourage people to try programming. </div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Becoming a developer is not for everyone, and as a society we need people in other professions as well. So showing what programming is to young is a good way to let them choose if this is the carer for them.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
All is good but like always, there comes people that to my opinion are into this to only make money. Making promises to young people that in three months they can become excellent developers and land a job with a lot of money. That my friend in bull.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
There is no way that you can go from zero to senior in three months, not even to beginner. There will always be people with talent that can achieve a lot in short period of times. And even those (minority) need to get some typing time, and they will because they love what they do. However the regular person will not have the born talent and require a lot of practice. It takes practice and dedication to become a good developer as everything else. Snapping together some web framework and a beautiful template (downloaded) does not makes you an developer, and even less a good one.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
All this crap about three months excellent developer is like a loose weight without diet and exercise. It does not works like that.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
What would happen if a people buy into the dream of senior developer in no time? Well a lot of people asking for a lot of money to copy/paste code from web and create crappy code. The ones paying are not stupid, and when they keep spending money and not receiving good products in return will force them to look for other alternatives. What are those alternatives you may say, not other that outsourcing.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
To keep my rant short. Do not buy in the idea that anyone can snap their fingers and make you a good developer with a simple programming course. To become a good developer you need some fire inside that keep you eager to learn and keep on learning. When the lights goes out you still want to keep on going because you are in the flow of the moment. Do it because you love it, not because of the money.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
It is easy to point fingers into a doctor and say they are into that only for the money and in doing so risking the life of he/her's customers. Same thing apply to IT professionals in all areas.</div>
<div style="text-align: justify;">
In conclusion practice, practice and practice is the only way. Work day and night and eventually you will get better and better. There is no substitute to good elbow grease.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<br /></div>
Anonymoushttp://www.blogger.com/profile/15689782717722719405noreply@blogger.com0tag:blogger.com,1999:blog-3379114199026539298.post-56785824766922659052014-11-07T22:54:00.001-04:002015-03-10T12:48:09.032-03:00ESP8266 possible breadboard interface<div style="text-align: justify;">
Probably you know what the ESP8266, if not it is a very cheap Uart to Wifi module (<a href="https://nurdspace.nl/ESP8266" target="_blank">more info</a>). Anyhow to the important part.</div>
<div style="text-align: justify;">
This module is 3.3V and my Arduino is 5V. There is a problem. Also the module is not "breadboard friendly".</div>
<div style="text-align: justify;">
So there are two problems that a simple interface board can fix very easy. Based on that, I have a few ideas running in my head about this. I am in the process of designing a board that I would like to build a prototype.</div>
<div style="text-align: justify;">
What this magic board do?</div>
<div style="text-align: justify;">
1. Voltage regulator, IN 5V and regulate to 3.3V with 3.3V output as well.</div>
<div style="text-align: justify;">
2. Level shifter for RX and TX signals, so you can wire it up straight to the arduino.</div>
<div style="text-align: justify;">
3. Bread board friendly header pins for easy testing.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
This is a very small design to keep it cheap. As is of now it is 1 inch by 1 inch. It is not in its final stage, however I like to write about it, just in case.</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhT8xUf367VqY7yQ0qkG3T7LAfuvFPeNnWJ8zVUT4vNdjjpeygVYlkBET-27ZQQpdEQn_QYfQQLYaCKnfcvNf2AK8lFEQUXFQGISmR7EPa4BITF_H0JB4-BxmVK_J2fXaS9e0U7_qfcIux3/s1600/esppcb.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhT8xUf367VqY7yQ0qkG3T7LAfuvFPeNnWJ8zVUT4vNdjjpeygVYlkBET-27ZQQpdEQn_QYfQQLYaCKnfcvNf2AK8lFEQUXFQGISmR7EPa4BITF_H0JB4-BxmVK_J2fXaS9e0U7_qfcIux3/s1600/esppcb.png" height="319" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
pcb board</div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj1AYyfzCXJ2HNOirvpsR7uQSkIVCYRtlLPErk6IVNAa-o1245kYdOJxWYOP7oFHYo-r8UmrsXRa_Xs66Y30cXWKzcvvXq-WZRmW-3h4pHhiv7WX5o5DAku7zsPsXYZyJ81lrOl_koVn-gJ/s1600/espboard.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj1AYyfzCXJ2HNOirvpsR7uQSkIVCYRtlLPErk6IVNAa-o1245kYdOJxWYOP7oFHYo-r8UmrsXRa_Xs66Y30cXWKzcvvXq-WZRmW-3h4pHhiv7WX5o5DAku7zsPsXYZyJ81lrOl_koVn-gJ/s1600/espboard.png" height="169" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
schematic</div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
I will continue on improving the design for a bit more. However I want to try to actually build it, however build time for me is very limited now, so only time will tell how this gets done.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
All eagleCad files are <a href="https://github.com/soynerdito/ESP8266-MQTT/raw/master/esp8266_interfacepcb_concept_eagle.tar.gz" target="_blank">here</a>. This is very early in the design process. I have started two times, and probably restart it all again.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Any idea or comment, please do. This is public domain, so you may do what ever you want with it. If you build it as is or modify it, comment about it and post pictures. There is no need to mention or link back to me.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<b>Update</b>:</div>
<div class="separator" style="clear: both; text-align: left;">
Board modified a little bit and sent to oshpark for a prototype. Soon will know if it actually works.</div>
<div class="separator" style="clear: both; text-align: left;">
Eagle files moved to a github repo of it's own <a href="https://github.com/soynerdito/WifIco" target="_blank">here</a>. Now the board has a name it is called WifIco (it needed a name you know).</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
This is the image rendered by OSHPark web site when ordered.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<center>
<table style="width: 100%px;">
<tbody>
<tr>
<th>Bottom View</th>
<th>Top View</th>
</tr>
<tr>
<td><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiqRTbZ8lyr1GrEXfns1ns26jacnk_QB9drwwI7KylxdrbHP57Y2QAkWYvthp_Po9cpk3s5xONHrUvKl07gircwIjlgaBgsMmhdkmkbntxJLo69Mx58lxT5PZvcZo9zs_Ew5d5OSiun7i5X/s1600/WifiIcoOSHPark_back.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;">
<img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiqRTbZ8lyr1GrEXfns1ns26jacnk_QB9drwwI7KylxdrbHP57Y2QAkWYvthp_Po9cpk3s5xONHrUvKl07gircwIjlgaBgsMmhdkmkbntxJLo69Mx58lxT5PZvcZo9zs_Ew5d5OSiun7i5X/s1600/WifiIcoOSHPark_back.png" /></a>
</td>
<td><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg2_9FBikXLsutQPssuDjeyAkhPCEGmEfMTpesscNRxoYYpLmi0k2byxPqUq-nJCTt_23vYEc3fOvmgEsXViNXHyZb9-0jSwguG7L4oNQAkjXTrePOhjLGf-mE7WQ0v3yUkEwjkmtDHZL6M/s1600/WifiIcoOSHPark_top.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg2_9FBikXLsutQPssuDjeyAkhPCEGmEfMTpesscNRxoYYpLmi0k2byxPqUq-nJCTt_23vYEc3fOvmgEsXViNXHyZb9-0jSwguG7L4oNQAkjXTrePOhjLGf-mE7WQ0v3yUkEwjkmtDHZL6M/s1600/WifiIcoOSHPark_top.png" /></a>
</td>
</tr>
</tbody></table>
<br /><center>
<br />
<div class="separator" style="clear: both; text-align: justify;">
This has not been tested however I decided to order it anyhow. It has a mini usb port beneath only for 5V input. Just in case I wanted to power it stand alone, who knows!</div>
<div class="separator" style="clear: both; text-align: justify;">
It also has two resistors visible on the bottom view, that should be soldered shut for normal use. You may solder a wire or a zero resistor, actually whatever you have. They are pull up and can be shut. I figure that since I will be receiving a few boards may find it useful to use one to update the firmware and in those cases I would need access to the pins exposed there. But for normal operations I may not. </div>
<div class="separator" style="clear: both; text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: justify;">
<b>Update:</b></div>
<div class="separator" style="clear: both; text-align: justify;">
This design has a lot of errors in the silk screen for the board connections. It worked, but the labeling of the connections is incorrect.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
</center>
</center>
Anonymoushttp://www.blogger.com/profile/15689782717722719405noreply@blogger.com0tag:blogger.com,1999:blog-3379114199026539298.post-10219539867567420342014-10-02T18:32:00.002-03:002014-10-02T18:33:39.774-03:00Adding .gitignore file after first repository commit<div style="text-align: justify;">
It happen to me very often to create a git repository and even push it to mu github without first creating a .<a href="https://github.com/github/gitignore/blob/master/Android.gitignore" target="_blank">gitignore</a> file. Specially on Android projects this publishes a lot of unwanted files, like binary and temporary files. For this I found a post on stackoverflow for just that.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
From all the post I read <a href="http://stackoverflow.com/questions/7927230/remove-directory-from-remote-repository-after-adding-them-to-gitignore" target="_blank">this</a> is the one that worked for me (at least now)</div>
<div style="text-align: justify;">
http://stackoverflow.com/questions/7927230/remove-directory-from-remote-repository-after-adding-them-to-gitignore</div>
<div style="text-align: justify;">
<br /></div>
<div class="post-text" itemprop="text" style="background: rgb(255, 255, 255); border: 0px; font-family: Arial, 'Liberation Sans', 'DejaVu Sans', sans-serif; font-size: 14px; line-height: 17.8048000335693px; margin: 0px 5px 5px 0px; padding: 0px; vertical-align: baseline; width: 660px; word-wrap: break-word;">
<div style="background: transparent; border: 0px; clear: both; margin-bottom: 1em; padding: 0px; text-align: justify; vertical-align: baseline;">
I did this, however in the post is more information about it, please go to the <a href="http://stackoverflow.com/" target="_blank">stackoverflow</a> link and if it work for you go ahead a plus it.</div>
<pre style="background: rgb(238, 238, 238); border: 0px; font-family: Consolas, Menlo, Monaco, 'Lucida Console', 'Liberation Mono', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Courier New', monospace, serif; margin-bottom: 10px; max-height: 600px; overflow: auto; padding: 5px; vertical-align: baseline; width: auto; word-wrap: normal;"><code style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; font-family: Consolas, Menlo, Monaco, 'Lucida Console', 'Liberation Mono', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Courier New', monospace, serif; margin: 0px; padding: 0px; vertical-align: baseline; white-space: inherit;">git rm --cached `git ls-files -i --exclude-from=.gitignore`
git commit -m 'Removed all files that are in the .gitignore'
git push origin master
</code></pre>
<div style="background: transparent; border: 0px; clear: both; margin-bottom: 1em; padding: 0px; vertical-align: baseline;">
<br /></div>
<div style="background: transparent; border: 0px; clear: both; margin-bottom: 1em; padding: 0px; vertical-align: baseline;">
If you have a better way to do this please leave a comment.</div>
</div>
Anonymoushttp://www.blogger.com/profile/15689782717722719405noreply@blogger.com1tag:blogger.com,1999:blog-3379114199026539298.post-40254168548490140242014-07-17T23:38:00.001-03:002014-07-17T23:38:10.469-03:00Note to future self<p dir="ltr">Today is a regular day of July 2014 with the exception that I am writing a few lines for my future self. <br>
These days the technology is moving very fast. Everyone has or want what is called a smart phone. The market is dominated by Apple iPhone and Google Android. In a not so close third place there is Microsoft with the windows phone. <br>
Apart of phones home electronics is getting everyday more strong. <br>
Just wanted to tell myself that no matter how cool technology may be there are other things more important. As am engineer we need to understand that at the other end of any software or hardware there is a person. Is on those humans that we need to think. <br>
When you read this, Samsung may not have any galaxy phone but there will be people and your family will be at your side. <br>
Keep what is worth, there is no undo checkout for missing life moments. Today I am a happy person and for sure in the future will still be. <br>
The crime is worst every day like the economy. We are holding up for better days to come. Always happy and together with the family. <br>
</p>
Anonymoushttp://www.blogger.com/profile/15689782717722719405noreply@blogger.com0tag:blogger.com,1999:blog-3379114199026539298.post-45457697048915937492013-10-01T23:35:00.004-03:002013-10-24T00:49:54.318-03:00Today I got a Beaglebone Black<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-1z8Wp3WVe3k/UkrIHpgIoMI/AAAAAAAAAlE/P3O2_6kMgZU/s1600/13+-+1" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="149" src="http://4.bp.blogspot.com/-1z8Wp3WVe3k/UkrIHpgIoMI/AAAAAAAAAlE/P3O2_6kMgZU/s200/13+-+1" width="200" /></a></div>
<div style="text-align: justify;">
Just a few hours ago it finally arrived. My long wait for a Beaglebone Black is finally over. This is a BB that actually has some future. </div>
<div style="text-align: justify;">
There is something about a small and slow Linux computer that got me hook. It is too soon to actually doing something useful with it, so there is not much to say. The only news for now is that I just realized how used I am to Debian. After a few years with Ubuntu and now Mint you get used to a lot of the "helpers" Ubuntu provides, there is so much Debian does for you. The Beaglebone uses Angstrom as the default Linux distro and it is quite different. A few years ago (about 10+) I tried Gentoo and told myself there is now way I go back to that and now I am very close to it once again. It will be interesting using a different distro. The small beagle has very limited resources and I want the power on my apps not in the OS, so Angstrom will stay.</div>
<div style="text-align: justify;">
Hope to get back with a new post with more progress.</div>
<div style="text-align: justify;">
Right now I will be upgrading the factory firmware and setting up the wireless.</div>
<div style="text-align: justify;">
<br />
Update:<br />
Few days with the Beaglebone now. For the wifi tried successfully with debian from the sdcard however not from the eMMC with the Angstrom. On Angstrom I manage to get the usb wifi recognized but not associated with my network. Still not giving up, tried with two different usb dongles. Will continue banging my head with the wifi until success is achieved.<br />
<br />
Update:<br />
Finally make it work the wifi on the beaglebone black on Argnstrom. Used the tutorial from adafruit <a href="http://learn.adafruit.com/beaglebone/wifi">http://learn.adafruit.com/beaglebone/wifi</a> with a modification for my WPA2 network. Just put the Security on the wifi.config as wpa like shown bellow.<br />
<br />
[service_home]<br />
Type = wifi<br />
Name = ssid<br />
Security = wpa<br />
Passphrase = my_password<br />
<div>
<br /></div>
<br /></div>
Anonymoushttp://www.blogger.com/profile/15689782717722719405noreply@blogger.com0tag:blogger.com,1999:blog-3379114199026539298.post-21791153913246481442013-07-19T15:20:00.002-03:002013-07-22T22:39:18.286-03:00Object seriliazitation with Type attributes in the nodes.Here is a problem that I had while consuming a service in C#.<br />
<br />
<b><i><u>What I needed to do:</u></i></b><br />
I got a service from a vendor. This service is an XML post to a PHP page (btw, I hate these). This vendor provided me with a sample XML that would be the package sent. I need to populate every node with my data and make the call. I would much rather have an object to do this, so I created one. I serialized my object and prepared for the posing of it. When comparing my result with the provided XML I was missing attributes on my object so I started looking on how to add them.<br />
<br />
<i><u>My vendor provided XML was similar to this:</u></i><br />
<!--[if gte mso 9]><xml>
<w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="true"
DefSemiHidden="true" DefQFormat="false" DefPriority="99"
LatentStyleCount="267">
<w:LsdException Locked="false" Priority="0" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Normal"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="heading 1"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 2"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 3"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 4"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 5"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 6"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 7"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 8"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 9"/>
<w:LsdException Locked="false" Priority="39" Name="toc 1"/>
<w:LsdException Locked="false" Priority="39" Name="toc 2"/>
<w:LsdException Locked="false" Priority="39" Name="toc 3"/>
<w:LsdException Locked="false" Priority="39" Name="toc 4"/>
<w:LsdException Locked="false" Priority="39" Name="toc 5"/>
<w:LsdException Locked="false" Priority="39" Name="toc 6"/>
<w:LsdException Locked="false" Priority="39" Name="toc 7"/>
<w:LsdException Locked="false" Priority="39" Name="toc 8"/>
<w:LsdException Locked="false" Priority="39" Name="toc 9"/>
<w:LsdException Locked="false" Priority="35" QFormat="true" Name="caption"/>
<w:LsdException Locked="false" Priority="10" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Title"/>
<w:LsdException Locked="false" Priority="1" Name="Default Paragraph Font"/>
<w:LsdException Locked="false" Priority="11" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Subtitle"/>
<w:LsdException Locked="false" Priority="22" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Strong"/>
<w:LsdException Locked="false" Priority="20" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Emphasis"/>
<w:LsdException Locked="false" Priority="59" SemiHidden="false"
UnhideWhenUsed="false" Name="Table Grid"/>
<w:LsdException Locked="false" UnhideWhenUsed="false" Name="Placeholder Text"/>
<w:LsdException Locked="false" Priority="1" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="No Spacing"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 1"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 1"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 1"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 1"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 1"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 1"/>
<w:LsdException Locked="false" UnhideWhenUsed="false" Name="Revision"/>
<w:LsdException Locked="false" Priority="34" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="List Paragraph"/>
<w:LsdException Locked="false" Priority="29" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Quote"/>
<w:LsdException Locked="false" Priority="30" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Intense Quote"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 1"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 1"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 1"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 1"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 1"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 1"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 1"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 1"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 2"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 2"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 2"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 2"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 2"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 2"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 2"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 2"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 2"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 2"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 2"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 2"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 2"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 2"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 3"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 3"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 3"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 3"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 3"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 3"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 3"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 3"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 3"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 3"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 3"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 3"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 3"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 3"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 4"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 4"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 4"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 4"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 4"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 4"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 4"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 4"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 4"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 4"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 4"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 4"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 4"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 4"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 5"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 5"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 5"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 5"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 5"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 5"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 5"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 5"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 5"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 5"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 5"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 5"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 5"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 5"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 6"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 6"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 6"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 6"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 6"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 6"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 6"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 6"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 6"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 6"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 6"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 6"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 6"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 6"/>
<w:LsdException Locked="false" Priority="19" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Subtle Emphasis"/>
<w:LsdException Locked="false" Priority="21" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Intense Emphasis"/>
<w:LsdException Locked="false" Priority="31" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Subtle Reference"/>
<w:LsdException Locked="false" Priority="32" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Intense Reference"/>
<w:LsdException Locked="false" Priority="33" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Book Title"/>
<w:LsdException Locked="false" Priority="37" Name="Bibliography"/>
<w:LsdException Locked="false" Priority="39" QFormat="true" Name="TOC Heading"/>
</w:LatentStyles>
</xml><![endif]--><!--[if gte mso 10]>
<style>
/* Style Definitions */
table.MsoNormalTable
{mso-style-name:"Table Normal";
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-priority:99;
mso-style-parent:"";
mso-padding-alt:0in 5.4pt 0in 5.4pt;
mso-para-margin:0in;
mso-para-margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:10.0pt;
font-family:"Times New Roman","serif";}
</style>
<![endif]-->
<br />
<div class="MsoNormal">
<?xml version="1.0"
encoding="utf-16"?></div>
<div class="MsoNormal">
<user></div>
<div class="MsoNormal">
<FirstName Type="string">Soy</FirstName></div>
<div class="MsoNormal">
<LastName
Type="string">Nerdito</LastName></div>
<div class="MsoNormal">
<IsPaying
Type="boolean">True</IsPaying></div>
<div class="MsoNormal">
</user></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<i><u>My Serialized user object looked like this:</u></i></div>
<div class="MsoNormal">
<!--[if gte mso 9]><xml>
<w:WordDocument>
<w:View>Normal</w:View>
<w:Zoom>0</w:Zoom>
<w:TrackMoves/>
<w:TrackFormatting/>
<w:PunctuationKerning/>
<w:ValidateAgainstSchemas/>
<w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>
<w:IgnoreMixedContent>false</w:IgnoreMixedContent>
<w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText>
<w:DoNotPromoteQF/>
<w:LidThemeOther>EN-US</w:LidThemeOther>
<w:LidThemeAsian>X-NONE</w:LidThemeAsian>
<w:LidThemeComplexScript>X-NONE</w:LidThemeComplexScript>
<w:Compatibility>
<w:BreakWrappedTables/>
<w:SnapToGridInCell/>
<w:WrapTextWithPunct/>
<w:UseAsianBreakRules/>
<w:DontGrowAutofit/>
<w:SplitPgBreakAndParaMark/>
<w:EnableOpenTypeKerning/>
<w:DontFlipMirrorIndents/>
<w:OverrideTableStyleHps/>
</w:Compatibility>
<w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel>
<m:mathPr>
<m:mathFont m:val="Cambria Math"/>
<m:brkBin m:val="before"/>
<m:brkBinSub m:val="--"/>
<m:smallFrac m:val="off"/>
<m:dispDef/>
<m:lMargin m:val="0"/>
<m:rMargin m:val="0"/>
<m:defJc m:val="centerGroup"/>
<m:wrapIndent m:val="1440"/>
<m:intLim m:val="subSup"/>
<m:naryLim m:val="undOvr"/>
</m:mathPr></w:WordDocument>
</xml><![endif]--></div>
<br />
<div class="MsoNormal">
<!--[if gte mso 9]><xml>
<w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="true"
DefSemiHidden="true" DefQFormat="false" DefPriority="99"
LatentStyleCount="267">
<w:LsdException Locked="false" Priority="0" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Normal"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="heading 1"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 2"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 3"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 4"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 5"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 6"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 7"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 8"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 9"/>
<w:LsdException Locked="false" Priority="39" Name="toc 1"/>
<w:LsdException Locked="false" Priority="39" Name="toc 2"/>
<w:LsdException Locked="false" Priority="39" Name="toc 3"/>
<w:LsdException Locked="false" Priority="39" Name="toc 4"/>
<w:LsdException Locked="false" Priority="39" Name="toc 5"/>
<w:LsdException Locked="false" Priority="39" Name="toc 6"/>
<w:LsdException Locked="false" Priority="39" Name="toc 7"/>
<w:LsdException Locked="false" Priority="39" Name="toc 8"/>
<w:LsdException Locked="false" Priority="39" Name="toc 9"/>
<w:LsdException Locked="false" Priority="35" QFormat="true" Name="caption"/>
<w:LsdException Locked="false" Priority="10" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Title"/>
<w:LsdException Locked="false" Priority="1" Name="Default Paragraph Font"/>
<w:LsdException Locked="false" Priority="11" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Subtitle"/>
<w:LsdException Locked="false" Priority="22" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Strong"/>
<w:LsdException Locked="false" Priority="20" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Emphasis"/>
<w:LsdException Locked="false" Priority="59" SemiHidden="false"
UnhideWhenUsed="false" Name="Table Grid"/>
<w:LsdException Locked="false" UnhideWhenUsed="false" Name="Placeholder Text"/>
<w:LsdException Locked="false" Priority="1" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="No Spacing"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 1"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 1"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 1"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 1"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 1"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 1"/>
<w:LsdException Locked="false" UnhideWhenUsed="false" Name="Revision"/>
<w:LsdException Locked="false" Priority="34" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="List Paragraph"/>
<w:LsdException Locked="false" Priority="29" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Quote"/>
<w:LsdException Locked="false" Priority="30" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Intense Quote"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 1"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 1"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 1"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 1"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 1"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 1"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 1"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 1"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 2"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 2"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 2"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 2"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 2"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 2"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 2"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 2"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 2"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 2"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 2"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 2"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 2"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 2"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 3"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 3"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 3"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 3"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 3"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 3"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 3"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 3"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 3"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 3"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 3"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 3"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 3"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 3"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 4"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 4"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 4"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 4"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 4"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 4"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 4"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 4"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 4"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 4"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 4"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 4"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 4"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 4"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 5"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 5"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 5"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 5"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 5"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 5"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 5"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 5"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 5"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 5"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 5"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 5"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 5"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 5"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 6"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 6"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 6"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 6"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 6"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 6"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 6"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 6"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 6"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 6"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 6"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 6"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 6"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 6"/>
<w:LsdException Locked="false" Priority="19" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Subtle Emphasis"/>
<w:LsdException Locked="false" Priority="21" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Intense Emphasis"/>
<w:LsdException Locked="false" Priority="31" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Subtle Reference"/>
<w:LsdException Locked="false" Priority="32" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Intense Reference"/>
<w:LsdException Locked="false" Priority="33" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Book Title"/>
<w:LsdException Locked="false" Priority="37" Name="Bibliography"/>
<w:LsdException Locked="false" Priority="39" QFormat="true" Name="TOC Heading"/>
</w:LatentStyles>
</xml><![endif]--><!--[if gte mso 10]>
<style>
/* Style Definitions */
table.MsoNormalTable
{mso-style-name:"Table Normal";
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-priority:99;
mso-style-parent:"";
mso-padding-alt:0in 5.4pt 0in 5.4pt;
mso-para-margin:0in;
mso-para-margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:10.0pt;
font-family:"Times New Roman","serif";}
</style>
<![endif]-->
</div>
<div class="MsoNormal">
<?xml version="1.0"
encoding="utf-16"?></div>
<div class="MsoNormal">
<user></div>
<div class="MsoNormal">
<FirstName>Soy</FirstName></div>
<div class="MsoNormal">
<LastName >Nerdito</LastName></div>
<div class="MsoNormal">
<IsPaying>True</IsPaying></div>
<div class="MsoNormal">
</user></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
This looks simple enough to add the type to the node on my object so when serialized they are made identical. Duh! could not find a good solution for this. Most posts online were talking about doing a replace on the serialized string of each node to add the type. This requires me to add code to that section every time I create a new object property. Well I'm lazy and did not wanted to do that, so something else was needed.</div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<i><u><b>The Solutions:</b></u></i></div>
<div class="MsoNormal">
Manipulate the XML attributes that I had on my object to allow the serializer to do its job. Well, that was not an easy find either. So here is what I did.</div>
<div class="MsoNormal">
.NET allows you to do this, add attributes to your nodes, but your objects must be constructed a certain way. So let the fun begin.</div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<i><u><b>The Code:</b></u></i></div>
<div class="MsoNormal">
First you need to create an object that will be the type for each one of your properties. Why? because natives will not cut it when the serializer gets a hold of them. So I decided to create a generic object that will accommodate anything I throw at it and it will take the type of the value all by itself (lazy, remember!).<br />
<br />
<u><i>Namespaces:</i></u><br />
You need these.<br />
<pre style="background: #1e1e1e; color: gainsboro; font-family: Consolas; font-size: 13;"><span style="color: #569cd6;">using</span> <span style="color: white;">System</span><span style="color: #b4b4b4;">.</span><span style="color: white;">Xml</span><span style="color: #b4b4b4;">.</span><span style="color: white;">Serialization</span>;
<span style="color: #569cd6;">using</span> <span style="color: white;">System</span><span style="color: #b4b4b4;">.</span><span style="color: white;">Xml</span>;</pre>
<br /></div>
<div class="MsoNormal">
<u><i>Each of my nodes will be of this type:</i></u></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<!--[if gte mso 9]><xml>
<w:WordDocument>
<w:View>Normal</w:View>
<w:Zoom>0</w:Zoom>
<w:TrackMoves/>
<w:TrackFormatting/>
<w:PunctuationKerning/>
<w:ValidateAgainstSchemas/>
<w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>
<w:IgnoreMixedContent>false</w:IgnoreMixedContent>
<w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText>
<w:DoNotPromoteQF/>
<w:LidThemeOther>EN-US</w:LidThemeOther>
<w:LidThemeAsian>X-NONE</w:LidThemeAsian>
<w:LidThemeComplexScript>X-NONE</w:LidThemeComplexScript>
<w:Compatibility>
<w:BreakWrappedTables/>
<w:SnapToGridInCell/>
<w:WrapTextWithPunct/>
<w:UseAsianBreakRules/>
<w:DontGrowAutofit/>
<w:SplitPgBreakAndParaMark/>
<w:EnableOpenTypeKerning/>
<w:DontFlipMirrorIndents/>
<w:OverrideTableStyleHps/>
</w:Compatibility>
<w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel>
<m:mathPr>
<m:mathFont m:val="Cambria Math"/>
<m:brkBin m:val="before"/>
<m:brkBinSub m:val="--"/>
<m:smallFrac m:val="off"/>
<m:dispDef/>
<m:lMargin m:val="0"/>
<m:rMargin m:val="0"/>
<m:defJc m:val="centerGroup"/>
<m:wrapIndent m:val="1440"/>
<m:intLim m:val="subSup"/>
<m:naryLim m:val="undOvr"/>
</m:mathPr></w:WordDocument>
</xml><![endif]--></div>
<br />
<div class="MsoNormal">
<!--[if gte mso 9]><xml>
<w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="true"
DefSemiHidden="true" DefQFormat="false" DefPriority="99"
LatentStyleCount="267">
<w:LsdException Locked="false" Priority="0" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Normal"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="heading 1"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 2"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 3"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 4"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 5"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 6"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 7"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 8"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 9"/>
<w:LsdException Locked="false" Priority="39" Name="toc 1"/>
<w:LsdException Locked="false" Priority="39" Name="toc 2"/>
<w:LsdException Locked="false" Priority="39" Name="toc 3"/>
<w:LsdException Locked="false" Priority="39" Name="toc 4"/>
<w:LsdException Locked="false" Priority="39" Name="toc 5"/>
<w:LsdException Locked="false" Priority="39" Name="toc 6"/>
<w:LsdException Locked="false" Priority="39" Name="toc 7"/>
<w:LsdException Locked="false" Priority="39" Name="toc 8"/>
<w:LsdException Locked="false" Priority="39" Name="toc 9"/>
<w:LsdException Locked="false" Priority="35" QFormat="true" Name="caption"/>
<w:LsdException Locked="false" Priority="10" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Title"/>
<w:LsdException Locked="false" Priority="1" Name="Default Paragraph Font"/>
<w:LsdException Locked="false" Priority="11" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Subtitle"/>
<w:LsdException Locked="false" Priority="22" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Strong"/>
<w:LsdException Locked="false" Priority="20" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Emphasis"/>
<w:LsdException Locked="false" Priority="59" SemiHidden="false"
UnhideWhenUsed="false" Name="Table Grid"/>
<w:LsdException Locked="false" UnhideWhenUsed="false" Name="Placeholder Text"/>
<w:LsdException Locked="false" Priority="1" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="No Spacing"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 1"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 1"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 1"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 1"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 1"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 1"/>
<w:LsdException Locked="false" UnhideWhenUsed="false" Name="Revision"/>
<w:LsdException Locked="false" Priority="34" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="List Paragraph"/>
<w:LsdException Locked="false" Priority="29" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Quote"/>
<w:LsdException Locked="false" Priority="30" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Intense Quote"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 1"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 1"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 1"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 1"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 1"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 1"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 1"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 1"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 2"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 2"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 2"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 2"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 2"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 2"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 2"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 2"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 2"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 2"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 2"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 2"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 2"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 2"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 3"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 3"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 3"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 3"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 3"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 3"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 3"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 3"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 3"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 3"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 3"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 3"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 3"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 3"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 4"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 4"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 4"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 4"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 4"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 4"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 4"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 4"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 4"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 4"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 4"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 4"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 4"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 4"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 5"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 5"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 5"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 5"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 5"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 5"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 5"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 5"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 5"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 5"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 5"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 5"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 5"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 5"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 6"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 6"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 6"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 6"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 6"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 6"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 6"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 6"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 6"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 6"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 6"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 6"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 6"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 6"/>
<w:LsdException Locked="false" Priority="19" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Subtle Emphasis"/>
<w:LsdException Locked="false" Priority="21" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Intense Emphasis"/>
<w:LsdException Locked="false" Priority="31" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Subtle Reference"/>
<w:LsdException Locked="false" Priority="32" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Intense Reference"/>
<w:LsdException Locked="false" Priority="33" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Book Title"/>
<w:LsdException Locked="false" Priority="37" Name="Bibliography"/>
<w:LsdException Locked="false" Priority="39" QFormat="true" Name="TOC Heading"/>
</w:LatentStyles>
</xml><![endif]--><!--[if gte mso 10]>
<style>
/* Style Definitions */
table.MsoNormalTable
{mso-style-name:"Table Normal";
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-priority:99;
mso-style-parent:"";
mso-padding-alt:0in 5.4pt 0in 5.4pt;
mso-para-margin:0in;
mso-para-margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:10.0pt;
font-family:"Times New Roman","serif";}
</style>
<![endif]-->
</div>
<div class="MsoNormal" style="background: #1E1E1E;">
<span style="color: gainsboro; font-family: Consolas; font-size: 10.0pt;"> </span><span style="color: #569cd6; font-family: Consolas; font-size: 10.0pt;">public</span><span style="color: gainsboro; font-family: Consolas; font-size: 10.0pt;"> </span><span style="color: #569cd6; font-family: Consolas; font-size: 10.0pt;">class</span><span style="color: gainsboro; font-family: Consolas; font-size: 10.0pt;"> </span><span style="color: #4ec9b0; font-family: Consolas; font-size: 10.0pt;">SingleNode</span><span style="color: #b4b4b4; font-family: Consolas; font-size: 10.0pt;"><</span><span style="color: white; font-family: Consolas; font-size: 10.0pt;">T</span><span style="color: #b4b4b4; font-family: Consolas; font-size: 10.0pt;">></span><span style="color: gainsboro; font-family: Consolas; font-size: 10.0pt;"></span></div>
<div class="MsoNormal" style="background: #1E1E1E;">
<span style="color: gainsboro; font-family: Consolas; font-size: 10.0pt;"> {</span></div>
<div class="MsoNormal" style="background: #1E1E1E;">
<span style="color: gainsboro; font-family: Consolas; font-size: 10.0pt;"> </span><span style="color: #569cd6; font-family: Consolas; font-size: 10.0pt;">public</span><span style="color: gainsboro; font-family: Consolas; font-size: 10.0pt;"> </span><span style="color: white; font-family: Consolas; font-size: 10.0pt;">SingleNode</span><span style="color: gainsboro; font-family: Consolas; font-size: 10.0pt;">(){}</span></div>
<div class="MsoNormal" style="background: #1E1E1E;">
<br /></div>
<div class="MsoNormal" style="background: #1E1E1E;">
<span style="color: gainsboro; font-family: Consolas; font-size: 10.0pt;"> </span><span style="color: #569cd6; font-family: Consolas; font-size: 10.0pt;">public</span><span style="color: gainsboro; font-family: Consolas; font-size: 10.0pt;"> </span><span style="color: white; font-family: Consolas; font-size: 10.0pt;">SingleNode</span><span style="color: gainsboro; font-family: Consolas; font-size: 10.0pt;">(T </span><span style="color: white; font-family: Consolas; font-size: 10.0pt;">val</span><span style="color: gainsboro; font-family: Consolas; font-size: 10.0pt;">)</span></div>
<div class="MsoNormal" style="background: #1E1E1E;">
<span style="color: gainsboro; font-family: Consolas; font-size: 10.0pt;"> {</span></div>
<div class="MsoNormal" style="background: #1E1E1E;">
<span style="color: gainsboro; font-family: Consolas; font-size: 10.0pt;"> </span><span style="color: white; font-family: Consolas; font-size: 10.0pt;">value</span><span style="color: gainsboro; font-family: Consolas; font-size: 10.0pt;"> </span><span style="color: #b4b4b4; font-family: Consolas; font-size: 10.0pt;">=</span><span style="color: gainsboro; font-family: Consolas; font-size: 10.0pt;"> </span><span style="color: white; font-family: Consolas; font-size: 10.0pt;">val</span><span style="color: #b4b4b4; font-family: Consolas; font-size: 10.0pt;">.</span><span style="color: white; font-family: Consolas; font-size: 10.0pt;">ToString</span><span style="color: gainsboro; font-family: Consolas; font-size: 10.0pt;">();</span></div>
<pre style="background: #1E1E1E;"><span style="color: #608b4e; font-family: Consolas;"> //This is like so to remove the System. definition from the Type</span><span style="color: gainsboro; font-family: Consolas;"></span></pre>
<div class="MsoNormal" style="background: #1E1E1E;">
<span style="color: gainsboro; font-family: Consolas; font-size: 10.0pt;"> </span><span style="color: white; font-family: Consolas; font-size: 10.0pt;">Type</span><span style="color: gainsboro; font-family: Consolas; font-size: 10.0pt;"> </span><span style="color: #b4b4b4; font-family: Consolas; font-size: 10.0pt;">=</span><span style="color: gainsboro; font-family: Consolas; font-size: 10.0pt;"> </span><span style="color: white; font-family: Consolas; font-size: 10.0pt;">val</span><span style="color: #b4b4b4; font-family: Consolas; font-size: 10.0pt;">.</span><span style="color: white; font-family: Consolas; font-size: 10.0pt;">GetType</span><span style="color: gainsboro; font-family: Consolas; font-size: 10.0pt;">()</span><span style="color: #b4b4b4; font-family: Consolas; font-size: 10.0pt;">.</span><span style="color: white; font-family: Consolas; font-size: 10.0pt;">ToString</span><span style="color: gainsboro; font-family: Consolas; font-size: 10.0pt;">()</span><span style="color: #b4b4b4; font-family: Consolas; font-size: 10.0pt;">.</span><span style="color: white; font-family: Consolas; font-size: 10.0pt;">Replace</span><span style="color: gainsboro; font-family: Consolas; font-size: 10.0pt;">(</span><span style="color: #d69d85; font-family: Consolas; font-size: 10.0pt;">"System."</span><span style="color: gainsboro; font-family: Consolas; font-size: 10.0pt;">, </span><span style="color: #d69d85; font-family: Consolas; font-size: 10.0pt;">""</span><span style="color: gainsboro; font-family: Consolas; font-size: 10.0pt;">)</span><span style="color: #b4b4b4; font-family: Consolas; font-size: 10.0pt;">.</span><span style="color: white; font-family: Consolas; font-size: 10.0pt;">ToLower</span><span style="color: gainsboro; font-family: Consolas; font-size: 10.0pt;">();</span></div>
<div class="MsoNormal" style="background: #1E1E1E;">
<span style="color: gainsboro; font-family: Consolas; font-size: 10.0pt;"> }</span></div>
<div class="MsoNormal" style="background: #1E1E1E;">
<br /></div>
<div class="MsoNormal" style="background: #1E1E1E;">
<span style="color: gainsboro; font-family: Consolas; font-size: 10.0pt;"> [</span><span style="color: #4ec9b0; font-family: Consolas; font-size: 10.0pt;">XmlText</span><span style="color: gainsboro; font-family: Consolas; font-size: 10.0pt;">]</span></div>
<div class="MsoNormal" style="background: #1E1E1E;">
<span style="color: gainsboro; font-family: Consolas; font-size: 10.0pt;"> </span><span style="color: #569cd6; font-family: Consolas; font-size: 10.0pt;">public</span><span style="color: gainsboro; font-family: Consolas; font-size: 10.0pt;"> </span><span style="color: #569cd6; font-family: Consolas; font-size: 10.0pt;">string</span><span style="color: gainsboro; font-family: Consolas; font-size: 10.0pt;"> </span><span style="color: white; font-family: Consolas; font-size: 10.0pt;">value</span><span style="color: gainsboro; font-family: Consolas; font-size: 10.0pt;">;</span></div>
<div class="MsoNormal" style="background: #1E1E1E;">
<br /></div>
<div class="MsoNormal" style="background: #1E1E1E;">
<span style="color: gainsboro; font-family: Consolas; font-size: 10.0pt;"> [</span><span style="color: #4ec9b0; font-family: Consolas; font-size: 10.0pt;">XmlAttribute</span><span style="color: gainsboro; font-family: Consolas; font-size: 10.0pt;">(</span><span style="color: #d69d85; font-family: Consolas; font-size: 10.0pt;">"Type"</span><span style="color: gainsboro; font-family: Consolas; font-size: 10.0pt;">)]</span></div>
<div class="MsoNormal" style="background: #1E1E1E;">
<span style="color: gainsboro; font-family: Consolas; font-size: 10.0pt;"> </span><span style="color: #569cd6; font-family: Consolas; font-size: 10.0pt;">public</span><span style="color: gainsboro; font-family: Consolas; font-size: 10.0pt;"> </span><span style="color: #569cd6; font-family: Consolas; font-size: 10.0pt;">string</span><span style="color: gainsboro; font-family: Consolas; font-size: 10.0pt;"> </span><span style="color: white; font-family: Consolas; font-size: 10.0pt;">Type</span><span style="color: gainsboro; font-family: Consolas; font-size: 10.0pt;">;</span></div>
<div class="MsoNormal" style="background: #1E1E1E;">
<span style="color: gainsboro; font-family: Consolas; font-size: 10.0pt;"> }</span></div>
<br />
<div class="MsoNormal">
</div>
<div class="MsoNormal">
The XMLText and XMLAttribute define what the serializer will do when working with this. My constructor is generic so I should be able to pass any object type, I want to do ENUMS also but have not tried yet.</div>
<div class="MsoNormal">
</div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<i><u>Now that you have the base object lets create User:</u></i></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<!--[if gte mso 9]><xml>
<w:WordDocument>
<w:View>Normal</w:View>
<w:Zoom>0</w:Zoom>
<w:TrackMoves/>
<w:TrackFormatting/>
<w:PunctuationKerning/>
<w:ValidateAgainstSchemas/>
<w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>
<w:IgnoreMixedContent>false</w:IgnoreMixedContent>
<w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText>
<w:DoNotPromoteQF/>
<w:LidThemeOther>EN-US</w:LidThemeOther>
<w:LidThemeAsian>X-NONE</w:LidThemeAsian>
<w:LidThemeComplexScript>X-NONE</w:LidThemeComplexScript>
<w:Compatibility>
<w:BreakWrappedTables/>
<w:SnapToGridInCell/>
<w:WrapTextWithPunct/>
<w:UseAsianBreakRules/>
<w:DontGrowAutofit/>
<w:SplitPgBreakAndParaMark/>
<w:EnableOpenTypeKerning/>
<w:DontFlipMirrorIndents/>
<w:OverrideTableStyleHps/>
</w:Compatibility>
<w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel>
<m:mathPr>
<m:mathFont m:val="Cambria Math"/>
<m:brkBin m:val="before"/>
<m:brkBinSub m:val="--"/>
<m:smallFrac m:val="off"/>
<m:dispDef/>
<m:lMargin m:val="0"/>
<m:rMargin m:val="0"/>
<m:defJc m:val="centerGroup"/>
<m:wrapIndent m:val="1440"/>
<m:intLim m:val="subSup"/>
<m:naryLim m:val="undOvr"/>
</m:mathPr></w:WordDocument>
</xml><![endif]--></div>
<br />
<div class="MsoNormal">
<!--[if gte mso 9]><xml>
<w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="true"
DefSemiHidden="true" DefQFormat="false" DefPriority="99"
LatentStyleCount="267">
<w:LsdException Locked="false" Priority="0" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Normal"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="heading 1"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 2"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 3"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 4"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 5"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 6"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 7"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 8"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 9"/>
<w:LsdException Locked="false" Priority="39" Name="toc 1"/>
<w:LsdException Locked="false" Priority="39" Name="toc 2"/>
<w:LsdException Locked="false" Priority="39" Name="toc 3"/>
<w:LsdException Locked="false" Priority="39" Name="toc 4"/>
<w:LsdException Locked="false" Priority="39" Name="toc 5"/>
<w:LsdException Locked="false" Priority="39" Name="toc 6"/>
<w:LsdException Locked="false" Priority="39" Name="toc 7"/>
<w:LsdException Locked="false" Priority="39" Name="toc 8"/>
<w:LsdException Locked="false" Priority="39" Name="toc 9"/>
<w:LsdException Locked="false" Priority="35" QFormat="true" Name="caption"/>
<w:LsdException Locked="false" Priority="10" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Title"/>
<w:LsdException Locked="false" Priority="1" Name="Default Paragraph Font"/>
<w:LsdException Locked="false" Priority="11" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Subtitle"/>
<w:LsdException Locked="false" Priority="22" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Strong"/>
<w:LsdException Locked="false" Priority="20" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Emphasis"/>
<w:LsdException Locked="false" Priority="59" SemiHidden="false"
UnhideWhenUsed="false" Name="Table Grid"/>
<w:LsdException Locked="false" UnhideWhenUsed="false" Name="Placeholder Text"/>
<w:LsdException Locked="false" Priority="1" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="No Spacing"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 1"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 1"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 1"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 1"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 1"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 1"/>
<w:LsdException Locked="false" UnhideWhenUsed="false" Name="Revision"/>
<w:LsdException Locked="false" Priority="34" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="List Paragraph"/>
<w:LsdException Locked="false" Priority="29" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Quote"/>
<w:LsdException Locked="false" Priority="30" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Intense Quote"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 1"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 1"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 1"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 1"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 1"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 1"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 1"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 1"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 2"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 2"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 2"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 2"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 2"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 2"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 2"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 2"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 2"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 2"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 2"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 2"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 2"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 2"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 3"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 3"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 3"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 3"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 3"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 3"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 3"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 3"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 3"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 3"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 3"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 3"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 3"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 3"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 4"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 4"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 4"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 4"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 4"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 4"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 4"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 4"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 4"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 4"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 4"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 4"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 4"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 4"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 5"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 5"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 5"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 5"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 5"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 5"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 5"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 5"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 5"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 5"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 5"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 5"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 5"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 5"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 6"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 6"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 6"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 6"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 6"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 6"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 6"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 6"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 6"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 6"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 6"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 6"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 6"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 6"/>
<w:LsdException Locked="false" Priority="19" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Subtle Emphasis"/>
<w:LsdException Locked="false" Priority="21" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Intense Emphasis"/>
<w:LsdException Locked="false" Priority="31" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Subtle Reference"/>
<w:LsdException Locked="false" Priority="32" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Intense Reference"/>
<w:LsdException Locked="false" Priority="33" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Book Title"/>
<w:LsdException Locked="false" Priority="37" Name="Bibliography"/>
<w:LsdException Locked="false" Priority="39" QFormat="true" Name="TOC Heading"/>
</w:LatentStyles>
</xml><![endif]--><!--[if gte mso 10]>
<style>
/* Style Definitions */
table.MsoNormalTable
{mso-style-name:"Table Normal";
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-priority:99;
mso-style-parent:"";
mso-padding-alt:0in 5.4pt 0in 5.4pt;
mso-para-margin:0in;
mso-para-margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:10.0pt;
font-family:"Times New Roman","serif";}
</style>
<![endif]-->
</div>
<div class="MsoNormal" style="background: #1E1E1E;">
<span style="color: gainsboro; font-family: Consolas; font-size: 10.0pt;"> [</span><span style="color: #4ec9b0; font-family: Consolas; font-size: 10.0pt;">XmlRoot</span><span style="color: gainsboro; font-family: Consolas; font-size: 10.0pt;">(</span><span style="color: #d69d85; font-family: Consolas; font-size: 10.0pt;">"user"</span><span style="color: gainsboro; font-family: Consolas; font-size: 10.0pt;">)]</span></div>
<div class="MsoNormal" style="background: #1E1E1E;">
<span style="color: gainsboro; font-family: Consolas; font-size: 10.0pt;"> </span><span style="color: #569cd6; font-family: Consolas; font-size: 10.0pt;">public</span><span style="color: gainsboro; font-family: Consolas; font-size: 10.0pt;"> </span><span style="color: #569cd6; font-family: Consolas; font-size: 10.0pt;">class</span><span style="color: gainsboro; font-family: Consolas; font-size: 10.0pt;"> </span><span style="color: #4ec9b0; font-family: Consolas; font-size: 10.0pt;">user</span><span style="color: gainsboro; font-family: Consolas; font-size: 10.0pt;"></span></div>
<div class="MsoNormal" style="background: #1E1E1E;">
<span style="color: gainsboro; font-family: Consolas; font-size: 10.0pt;"> {</span></div>
<div class="MsoNormal" style="background: #1E1E1E;">
<span style="color: gainsboro; font-family: Consolas; font-size: 10.0pt;"> [</span><span style="color: #4ec9b0; font-family: Consolas; font-size: 10.0pt;">XmlElement</span><span style="color: gainsboro; font-family: Consolas; font-size: 10.0pt;">(</span><span style="color: #d69d85; font-family: Consolas; font-size: 10.0pt;">"FirstName"</span><span style="color: gainsboro; font-family: Consolas; font-size: 10.0pt;">)]</span></div>
<div class="MsoNormal" style="background: #1E1E1E;">
<span style="color: gainsboro; font-family: Consolas; font-size: 10.0pt;"> </span><span style="color: #569cd6; font-family: Consolas; font-size: 10.0pt;">public</span><span style="color: gainsboro; font-family: Consolas; font-size: 10.0pt;"> </span><span style="color: #4ec9b0; font-family: Consolas; font-size: 10.0pt;">SingleNode</span><span style="color: white; font-family: Consolas; font-size: 10.0pt;"> FName</span><span style="color: gainsboro; font-family: Consolas; font-size: 10.0pt;"> </span><span style="color: #b4b4b4; font-family: Consolas; font-size: 10.0pt;">=</span><span style="color: gainsboro; font-family: Consolas; font-size: 10.0pt;"> </span><span style="color: #569cd6; font-family: Consolas; font-size: 10.0pt;">null</span><span style="color: gainsboro; font-family: Consolas; font-size: 10.0pt;">;</span></div>
<div class="MsoNormal" style="background: #1E1E1E;">
<br /></div>
<div class="MsoNormal" style="background: #1E1E1E;">
<span style="color: gainsboro; font-family: Consolas; font-size: 10.0pt;"> [</span><span style="color: #4ec9b0; font-family: Consolas; font-size: 10.0pt;">XmlElement</span><span style="color: gainsboro; font-family: Consolas; font-size: 10.0pt;">(</span><span style="color: #d69d85; font-family: Consolas; font-size: 10.0pt;">"LastName"</span><span style="color: gainsboro; font-family: Consolas; font-size: 10.0pt;">)]</span></div>
<div class="MsoNormal" style="background: #1E1E1E;">
<span style="color: gainsboro; font-family: Consolas; font-size: 10.0pt;"> </span><span style="color: #569cd6; font-family: Consolas; font-size: 10.0pt;">public</span><span style="color: gainsboro; font-family: Consolas; font-size: 10.0pt;"> </span><span style="color: #4ec9b0; font-family: Consolas; font-size: 10.0pt;">SingleNode</span><span style="color: white; font-family: Consolas; font-size: 10.0pt;"> LName</span><span style="color: gainsboro; font-family: Consolas; font-size: 10.0pt;"> </span><span style="color: #b4b4b4; font-family: Consolas; font-size: 10.0pt;">=</span><span style="color: gainsboro; font-family: Consolas; font-size: 10.0pt;"> </span><span style="color: #569cd6; font-family: Consolas; font-size: 10.0pt;">null</span><span style="color: gainsboro; font-family: Consolas; font-size: 10.0pt;">;</span></div>
<div class="MsoNormal" style="background: #1E1E1E;">
<br /></div>
<div class="MsoNormal" style="background: #1E1E1E;">
<span style="color: gainsboro; font-family: Consolas; font-size: 10.0pt;"> [</span><span style="color: #4ec9b0; font-family: Consolas; font-size: 10.0pt;">XmlElement</span><span style="color: gainsboro; font-family: Consolas; font-size: 10.0pt;">(</span><span style="color: #d69d85; font-family: Consolas; font-size: 10.0pt;">"IsPaying"</span><span style="color: gainsboro; font-family: Consolas; font-size: 10.0pt;">)]</span></div>
<div class="MsoNormal" style="background: #1E1E1E;">
<span style="color: gainsboro; font-family: Consolas; font-size: 10.0pt;"> </span><span style="color: #569cd6; font-family: Consolas; font-size: 10.0pt;">public</span><span style="color: gainsboro; font-family: Consolas; font-size: 10.0pt;"> </span><span style="color: #4ec9b0; font-family: Consolas; font-size: 10.0pt;">SingleNode</span><span style="color: white; font-family: Consolas; font-size: 10.0pt;"> IsPaying</span><span style="color: gainsboro; font-family: Consolas; font-size: 10.0pt;"> </span><span style="color: #b4b4b4; font-family: Consolas; font-size: 10.0pt;">=</span><span style="color: gainsboro; font-family: Consolas; font-size: 10.0pt;"> </span><span style="color: #569cd6; font-family: Consolas; font-size: 10.0pt;">null</span><span style="color: gainsboro; font-family: Consolas; font-size: 10.0pt;">;</span></div>
<div class="MsoNormal" style="background: #1E1E1E;">
<span style="color: gainsboro; font-family: Consolas; font-size: 10.0pt;"> }</span></div>
<br />
<div class="MsoNormal">
</div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
The XMLRoot defines the name for the root node once is serialized. The XMLElement attributes defines the node name after is serialized. Note that this is not the property name during design time and run time. You must reference the object in your code as user.FName, user.LName and so on. Each of the properties are defaulted to NULL but you can create the object instance there is you so pleased and assign a default value.</div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<i><u>To create an instance of this is quite simple:</u></i></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<!--[if gte mso 9]><xml>
<w:WordDocument>
<w:View>Normal</w:View>
<w:Zoom>0</w:Zoom>
<w:TrackMoves/>
<w:TrackFormatting/>
<w:PunctuationKerning/>
<w:ValidateAgainstSchemas/>
<w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>
<w:IgnoreMixedContent>false</w:IgnoreMixedContent>
<w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText>
<w:DoNotPromoteQF/>
<w:LidThemeOther>EN-US</w:LidThemeOther>
<w:LidThemeAsian>X-NONE</w:LidThemeAsian>
<w:LidThemeComplexScript>X-NONE</w:LidThemeComplexScript>
<w:Compatibility>
<w:BreakWrappedTables/>
<w:SnapToGridInCell/>
<w:WrapTextWithPunct/>
<w:UseAsianBreakRules/>
<w:DontGrowAutofit/>
<w:SplitPgBreakAndParaMark/>
<w:EnableOpenTypeKerning/>
<w:DontFlipMirrorIndents/>
<w:OverrideTableStyleHps/>
</w:Compatibility>
<w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel>
<m:mathPr>
<m:mathFont m:val="Cambria Math"/>
<m:brkBin m:val="before"/>
<m:brkBinSub m:val="--"/>
<m:smallFrac m:val="off"/>
<m:dispDef/>
<m:lMargin m:val="0"/>
<m:rMargin m:val="0"/>
<m:defJc m:val="centerGroup"/>
<m:wrapIndent m:val="1440"/>
<m:intLim m:val="subSup"/>
<m:naryLim m:val="undOvr"/>
</m:mathPr></w:WordDocument>
</xml><![endif]--></div>
<br />
<div class="MsoNormal">
<!--[if gte mso 9]><xml>
<w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="true"
DefSemiHidden="true" DefQFormat="false" DefPriority="99"
LatentStyleCount="267">
<w:LsdException Locked="false" Priority="0" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Normal"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="heading 1"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 2"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 3"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 4"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 5"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 6"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 7"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 8"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 9"/>
<w:LsdException Locked="false" Priority="39" Name="toc 1"/>
<w:LsdException Locked="false" Priority="39" Name="toc 2"/>
<w:LsdException Locked="false" Priority="39" Name="toc 3"/>
<w:LsdException Locked="false" Priority="39" Name="toc 4"/>
<w:LsdException Locked="false" Priority="39" Name="toc 5"/>
<w:LsdException Locked="false" Priority="39" Name="toc 6"/>
<w:LsdException Locked="false" Priority="39" Name="toc 7"/>
<w:LsdException Locked="false" Priority="39" Name="toc 8"/>
<w:LsdException Locked="false" Priority="39" Name="toc 9"/>
<w:LsdException Locked="false" Priority="35" QFormat="true" Name="caption"/>
<w:LsdException Locked="false" Priority="10" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Title"/>
<w:LsdException Locked="false" Priority="1" Name="Default Paragraph Font"/>
<w:LsdException Locked="false" Priority="11" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Subtitle"/>
<w:LsdException Locked="false" Priority="22" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Strong"/>
<w:LsdException Locked="false" Priority="20" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Emphasis"/>
<w:LsdException Locked="false" Priority="59" SemiHidden="false"
UnhideWhenUsed="false" Name="Table Grid"/>
<w:LsdException Locked="false" UnhideWhenUsed="false" Name="Placeholder Text"/>
<w:LsdException Locked="false" Priority="1" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="No Spacing"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 1"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 1"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 1"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 1"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 1"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 1"/>
<w:LsdException Locked="false" UnhideWhenUsed="false" Name="Revision"/>
<w:LsdException Locked="false" Priority="34" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="List Paragraph"/>
<w:LsdException Locked="false" Priority="29" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Quote"/>
<w:LsdException Locked="false" Priority="30" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Intense Quote"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 1"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 1"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 1"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 1"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 1"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 1"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 1"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 1"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 2"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 2"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 2"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 2"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 2"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 2"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 2"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 2"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 2"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 2"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 2"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 2"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 2"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 2"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 3"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 3"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 3"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 3"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 3"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 3"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 3"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 3"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 3"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 3"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 3"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 3"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 3"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 3"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 4"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 4"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 4"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 4"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 4"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 4"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 4"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 4"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 4"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 4"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 4"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 4"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 4"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 4"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 5"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 5"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 5"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 5"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 5"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 5"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 5"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 5"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 5"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 5"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 5"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 5"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 5"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 5"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 6"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 6"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 6"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 6"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 6"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 6"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 6"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 6"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 6"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 6"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 6"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 6"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 6"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 6"/>
<w:LsdException Locked="false" Priority="19" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Subtle Emphasis"/>
<w:LsdException Locked="false" Priority="21" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Intense Emphasis"/>
<w:LsdException Locked="false" Priority="31" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Subtle Reference"/>
<w:LsdException Locked="false" Priority="32" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Intense Reference"/>
<w:LsdException Locked="false" Priority="33" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Book Title"/>
<w:LsdException Locked="false" Priority="37" Name="Bibliography"/>
<w:LsdException Locked="false" Priority="39" QFormat="true" Name="TOC Heading"/>
</w:LatentStyles>
</xml><![endif]--><!--[if gte mso 10]>
<style>
/* Style Definitions */
table.MsoNormalTable
{mso-style-name:"Table Normal";
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-priority:99;
mso-style-parent:"";
mso-padding-alt:0in 5.4pt 0in 5.4pt;
mso-para-margin:0in;
mso-para-margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:10.0pt;
font-family:"Times New Roman","serif";}
</style>
<![endif]-->
</div>
<div class="MsoNormal" style="background: #1E1E1E;">
<span style="color: gainsboro; font-family: Consolas; font-size: 10.0pt;"> </span><span style="color: #4ec9b0; font-family: Consolas; font-size: 10.0pt;">user</span><span style="color: gainsboro; font-family: Consolas; font-size: 10.0pt;"> </span><span style="color: white; font-family: Consolas; font-size: 10.0pt;">test</span><span style="color: gainsboro; font-family: Consolas; font-size: 10.0pt;"> </span><span style="color: #b4b4b4; font-family: Consolas; font-size: 10.0pt;">=</span><span style="color: gainsboro; font-family: Consolas; font-size: 10.0pt;"> </span><span style="color: #569cd6; font-family: Consolas; font-size: 10.0pt;">new</span><span style="color: gainsboro; font-family: Consolas; font-size: 10.0pt;"> </span><span style="color: #4ec9b0; font-family: Consolas; font-size: 10.0pt;">user</span><span style="color: gainsboro; font-family: Consolas; font-size: 10.0pt;">();</span></div>
<div class="MsoNormal" style="background: #1E1E1E;">
<span style="color: gainsboro; font-family: Consolas; font-size: 10.0pt;"> </span><span style="color: white; font-family: Consolas; font-size: 10.0pt;">test</span><span style="color: #b4b4b4; font-family: Consolas; font-size: 10.0pt;">.</span><span style="color: white; font-family: Consolas; font-size: 10.0pt;">FName</span><span style="color: gainsboro; font-family: Consolas; font-size: 10.0pt;"> </span><span style="color: #b4b4b4; font-family: Consolas; font-size: 10.0pt;">=</span><span style="color: gainsboro; font-family: Consolas; font-size: 10.0pt;"> </span><span style="color: #569cd6; font-family: Consolas; font-size: 10.0pt;">new</span><span style="color: gainsboro; font-family: Consolas; font-size: 10.0pt;"> </span><span style="color: #4ec9b0; font-family: Consolas; font-size: 10.0pt;">SingleNode</span><span style="color: #b4b4b4; font-family: Consolas; font-size: 10.0pt;"><</span><span style="color: #569cd6; font-family: Consolas; font-size: 10.0pt;">string</span><span style="color: #b4b4b4; font-family: Consolas; font-size: 10.0pt;">></span><span style="color: gainsboro; font-family: Consolas; font-size: 10.0pt;">(</span><span style="color: #d69d85; font-family: Consolas; font-size: 10.0pt;">"Soy"</span><span style="color: gainsboro; font-family: Consolas; font-size: 10.0pt;">);</span></div>
<div class="MsoNormal" style="background: #1E1E1E;">
<span style="color: gainsboro; font-family: Consolas; font-size: 10.0pt;"> </span><span style="color: white; font-family: Consolas; font-size: 10.0pt;">test</span><span style="color: #b4b4b4; font-family: Consolas; font-size: 10.0pt;">.</span><span style="color: white; font-family: Consolas; font-size: 10.0pt;">LName</span><span style="color: gainsboro; font-family: Consolas; font-size: 10.0pt;"> </span><span style="color: #b4b4b4; font-family: Consolas; font-size: 10.0pt;">=</span><span style="color: gainsboro; font-family: Consolas; font-size: 10.0pt;"> </span><span style="color: #569cd6; font-family: Consolas; font-size: 10.0pt;">new</span><span style="color: gainsboro; font-family: Consolas; font-size: 10.0pt;"> </span><span style="color: #4ec9b0; font-family: Consolas; font-size: 10.0pt;">SingleNode</span><span style="color: #b4b4b4; font-family: Consolas; font-size: 10.0pt;"><</span><span style="color: #569cd6; font-family: Consolas; font-size: 10.0pt;">string</span><span style="color: #b4b4b4; font-family: Consolas; font-size: 10.0pt;">></span><span style="color: gainsboro; font-family: Consolas; font-size: 10.0pt;">(</span><span style="color: #d69d85; font-family: Consolas; font-size: 10.0pt;">"Nerdito"</span><span style="color: gainsboro; font-family: Consolas; font-size: 10.0pt;">);</span></div>
<div class="MsoNormal" style="background: #1E1E1E;">
<span style="color: gainsboro; font-family: Consolas; font-size: 10.0pt;"> </span><span style="color: white; font-family: Consolas; font-size: 10.0pt;">test</span><span style="color: #b4b4b4; font-family: Consolas; font-size: 10.0pt;">.</span><span style="color: white; font-family: Consolas; font-size: 10.0pt;">IsPaying</span><span style="color: gainsboro; font-family: Consolas; font-size: 10.0pt;"> </span><span style="color: #b4b4b4; font-family: Consolas; font-size: 10.0pt;">=</span><span style="color: gainsboro; font-family: Consolas; font-size: 10.0pt;"> </span><span style="color: #569cd6; font-family: Consolas; font-size: 10.0pt;">new</span><span style="color: gainsboro; font-family: Consolas; font-size: 10.0pt;"> </span><span style="color: #4ec9b0; font-family: Consolas; font-size: 10.0pt;">SingleNode</span><span style="color: #b4b4b4; font-family: Consolas; font-size: 10.0pt;"><</span><span style="color: #569cd6; font-family: Consolas; font-size: 10.0pt;">bool</span><span style="color: #b4b4b4; font-family: Consolas; font-size: 10.0pt;">></span><span style="color: gainsboro; font-family: Consolas; font-size: 10.0pt;">(</span><span style="color: #569cd6; font-family: Consolas; font-size: 10.0pt;">true</span><span style="color: gainsboro; font-family: Consolas; font-size: 10.0pt;">);</span></div>
<br />
<div class="MsoNormal">
</div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
You can see the instantiation assigns the object type because the constructor is generic.<br />
<br />
The serializer:<br />
If you do not have it, here is how to serialize it.<br />
<pre style="background: #1e1e1e; color: gainsboro; font-family: Consolas; font-size: 13;"><span style="color: #4ec9b0;"> XmlSerializerNamespaces</span> <span style="color: white;">xns</span> <span style="color: #b4b4b4;">=</span> <span style="color: #569cd6;">new</span> <span style="color: #4ec9b0;">XmlSerializerNamespaces</span>();
<span style="color: white;">xns</span><span style="color: #b4b4b4;">.</span><span style="color: white;">Add</span>(<span style="color: #569cd6;">string</span><span style="color: #b4b4b4;">.</span><span style="color: white;">Empty</span>, <span style="color: #569cd6;">string</span><span style="color: #b4b4b4;">.</span><span style="color: white;">Empty</span>); </pre>
<pre style="background: #1e1e1e; color: gainsboro; font-family: Consolas; font-size: 13;"> </pre>
<pre style="background: #1e1e1e; color: gainsboro; font-family: Consolas; font-size: 13;"><span style="color: #608b4e;"> //xml format settings</span>
<span style="color: #4ec9b0;">XmlWriterSettings</span> <span style="color: white;">xmlSettings</span> <span style="color: #b4b4b4;">=</span> <span style="color: #569cd6;">new</span> <span style="color: #4ec9b0;">XmlWriterSettings</span>();
<span style="color: white;">xmlSettings</span><span style="color: #b4b4b4;">.</span><span style="color: white;">Indent</span> <span style="color: #b4b4b4;">=</span> <span style="color: #569cd6;">true</span>;
<span style="color: white;">xmlSettings</span><span style="color: #b4b4b4;">.</span><span style="color: white;">NewLineOnAttributes</span> <span style="color: #b4b4b4;">=</span> <span style="color: #569cd6;">false</span>;
<span style="color: white;">xmlSettings</span><span style="color: #b4b4b4;">.</span><span style="color: white;">NamespaceHandling</span> <span style="color: #b4b4b4;">=</span> <span style="color: #b8d7a3;">NamespaceHandling</span><span style="color: #b4b4b4;">.</span><span style="color: white;">OmitDuplicates</span>;
<span style="color: #4ec9b0;">XmlSerializer</span> <span style="color: white;">mySerializer</span> <span style="color: #b4b4b4;">=</span> <span style="color: #569cd6;">new</span> <span style="color: #4ec9b0;">XmlSerializer</span>(<span style="color: #569cd6;">typeof</span>(<span style="color: #4ec9b0;">user</span>));
<span style="color: #4ec9b0;">StringWriter</span> <span style="color: white;">ms</span> <span style="color: #b4b4b4;">=</span> <span style="color: #569cd6;">new</span> <span style="color: #4ec9b0;">StringWriter</span>();
<span style="color: #4ec9b0;">XmlWriter</span> <span style="color: white;">xw</span> <span style="color: #b4b4b4;">=</span> <span style="color: #4ec9b0;">XmlWriter</span><span style="color: #b4b4b4;">.</span><span style="color: white;">Create</span>(<span style="color: white;">ms</span>, <span style="color: white;">xmlSettings</span>);
<span style="color: white;">mySerializer</span><span style="color: #b4b4b4;">.</span><span style="color: white;">Serialize</span>(<span style="color: white;">xw</span>, <span style="color: white;">test</span>, <span style="color: white;">xns</span>);
<span style="color: #569cd6;">string</span><span style="color: #b4b4b4;"></span><span style="color: white;"> serializedString</span> <span style="color: #b4b4b4;">=</span> <span style="color: white;">ms</span><span style="color: #b4b4b4;">.</span><span style="color: white;">ToString</span>();
<span style="color: white;">ms</span><span style="color: #b4b4b4;">.</span><span style="color: white;">Close</span>();</pre>
</div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<i><u><b>Conclusion:</b></u></i></div>
<div class="MsoNormal">
This is it, simple enough to create the objects when you need to add a particular attribute. The attribute does not have to be the data type, you can change this to be anything you need it to be. .NET can add a DataType but if you service does not "play" with that, here you have an alternative. </div>
<div class="MsoNormal">
<br />
Would there be other ways of doing this, maybe but I could not find it. Please let me know if you have any improvements.<br />
<br /></div>
<div class="MsoNormal">
Why with all the new ways of creating web services people still write services that work with a post and do not have a WSDL or at least provide XSDs is beyond me, but hey not everyone can be a Nerdito.</div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<br />Hectorhttp://www.blogger.com/profile/15302535780154278104noreply@blogger.com0tag:blogger.com,1999:blog-3379114199026539298.post-89557756503915296092013-07-14T22:51:00.000-03:002013-07-14T23:01:44.602-03:00Escribiendo acentos en Linux<div style="text-align: justify;">
He utilizado varias versiones de Linux y en todas he tenido problemas escribiendo acentos. Hablo español pero siempre he utilizado los operativos y teclados en inglés.</div>
<div style="text-align: justify;">
Si te pasa como a mí la solución es bien simple.</div>
<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: right; margin-left: 1em; text-align: right;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiB-XnGjRke5NNcnOAYG_ZpCmoNeE9EFcVBcD9fZtLv0O35LeGbC5iDK4QBs4jXs-2QLVzVep9tf9H8BSf8dTLcE7qSHsTr0vo3TCEfyI0ITnusXKHXLuJ_Mzblaw9_SJu2wGVt63hXFp7Q/s1600/keyboard_layout.png" imageanchor="1" style="clear: right; margin-bottom: 1em; margin-left: auto; margin-right: auto; text-align: justify;"><img border="0" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiB-XnGjRke5NNcnOAYG_ZpCmoNeE9EFcVBcD9fZtLv0O35LeGbC5iDK4QBs4jXs-2QLVzVep9tf9H8BSf8dTLcE7qSHsTr0vo3TCEfyI0ITnusXKHXLuJ_Mzblaw9_SJu2wGVt63hXFp7Q/s320/keyboard_layout.png" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Linux Mint 14</td></tr>
</tbody></table>
<div style="text-align: justify;">
Solo ve a:</div>
<div style="text-align: justify;">
<b>Control Panel</b> - <b>Keyboard</b> - <b>Layout</b> y añadir el teclado "English (US) English (International AltGr dead keys)"</div>
<div style="text-align: justify;">
Eso es todo lo que hace falta cambiar.</div>
<div style="text-align: justify;">
Luego de esto con solo hacer un:</div>
<div style="text-align: justify;">
RightAlt + n = ñ</div>
<div style="text-align: justify;">
RightAlt + a = á</div>
<div style="text-align: justify;">
RightAlt + e = é</div>
<div style="text-align: justify;">
RightAlt + i = í</div>
<div style="text-align: justify;">
....</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
La información de como hacer esto la pude tener por la comunidad de <a href="https://plus.google.com/u/0/114378675842551786487/posts/4imWDRS4nBC" target="_blank"><b>Linux en español</b> de Google+</a>, si esto te sirvió pasa por el Google+ y aclara cualquier otra duda que tengas, a mi me ayudaron bien rápido espero que tengas la misma experiencia. A compartir conocimiento!!!<br />
<br />
Ahora soy feliz y espero que este escrito le sirva a alguien. O al menos a mi mismo para cuando cambie de versión y se me olvide que fue lo que hice.</div>
Anonymoushttp://www.blogger.com/profile/15689782717722719405noreply@blogger.com0tag:blogger.com,1999:blog-3379114199026539298.post-24713759482233237142013-03-17T20:45:00.001-03:002013-04-14T02:06:10.954-03:00Pepita Board soon to be a reality<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: left; margin-right: 1em; text-align: left;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgwC2pfxrtcvwLgmDMww4wBoRF8ZcJHGER6MaRPF08IPrgE9xaZjY29Fda4HenMnYdL9yfOVfKcrOyJ9GN830Qc5qAYMrynNuMo_X2XKexz75c9X3RYmUbPhg8auLUAZmXmMbg5xPcZFE_u/s1600/pepita.png" imageanchor="1" style="clear: left; margin-bottom: 1em; margin-left: auto; margin-right: auto;"><img border="0" height="288" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgwC2pfxrtcvwLgmDMww4wBoRF8ZcJHGER6MaRPF08IPrgE9xaZjY29Fda4HenMnYdL9yfOVfKcrOyJ9GN830Qc5qAYMrynNuMo_X2XKexz75c9X3RYmUbPhg8auLUAZmXmMbg5xPcZFE_u/s320/pepita.png" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Pepita V1</td></tr>
</tbody></table>
<div style="text-align: justify;">
A few weeks ago decided to get some experience under my belt on PCB designing. So I just decided to build a variation of the <a href="https://metalab.at/wiki/Metaboard" target="_blank">Metaboard</a>. All began with the name, for that I turned to my wife and asked for a name. Without any hesitation she said "We shall call it Pepita", so Pepita it is then.</div>
<br />
<b>Pepita Goals</b>:<br />
1. Create a multipurpose micro-controller board with an Atmega328.<br />
2. Cheap<br />
3. Get the experience of PCB designing.<br />
<br />
<b>Pepita Challenge</b>:<br />
1. Make it fit on a 5cm x 5cm board. (cheapest size).<br />
<br />
<div style="text-align: justify;">
As you may see, this board will not make any revolution but for me it is a needed step.</div>
<div style="text-align: justify;">
I do not create here any tutorial, cause I just sent it out for manufacturing. Still I do not know how many mistakes I made or what could be better designed. Probably in two months or what ever it takes to get back to me I will know.</div>
<div style="text-align: justify;">
Anyhow, I post here the link of the Eagle Cad schematic and board files.</div>
<br />
<a href="https://docs.google.com/file/d/0B10UfrjZDyv1VjFGQVpHZ2RYWVU/edit?usp=sharing">Schematic pepita.sch</a><br />
<a href="https://docs.google.com/file/d/0B10UfrjZDyv1d2pUYjRINTBnZDQ/edit?usp=sharing">Board Files pepita.brd</a><br />
<br />
<div style="text-align: justify;">
Hope to write something once I get the actual board and post some successful pictures of it.</div>
<div style="text-align: justify;">
If you want to build something, make up your mind and do it. No need to wait for everything to be perfect, if you keep waiting it will never get done. Like the comercial, just do it!<br />
<br />
Here is a short video of the board after it came back from manufacturing.<br />
<iframe allowfullscreen="" frameborder="0" height="315" src="http://www.youtube.com/embed/wJ6zanttx_8" width="560"></iframe>
There are no surface mount components, so far so good. It is working great, and I am continuing adding code and devices to it, just to expore the posibilities.<br />
<br /></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<br /></div>
<br />Anonymoushttp://www.blogger.com/profile/15689782717722719405noreply@blogger.com0tag:blogger.com,1999:blog-3379114199026539298.post-57571017974983711532013-01-07T12:43:00.002-04:002013-01-07T12:43:58.863-04:00Programming for my network android (MK802)<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj1xDaC7TfpfuSQSZATzmaZMrCCevz8PZoZLiG_lMdQmVuRwMs95Voj4rIdhcneePmWM3a4QsBeSgoLVlBc9VWEebNJVrSsiQbvTAJQCZ91LV5eWAD-zuXqKljpW6ekrOMKpdS5lOojYbQM/s1600/mk802.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="133" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj1xDaC7TfpfuSQSZATzmaZMrCCevz8PZoZLiG_lMdQmVuRwMs95Voj4rIdhcneePmWM3a4QsBeSgoLVlBc9VWEebNJVrSsiQbvTAJQCZ91LV5eWAD-zuXqKljpW6ekrOMKpdS5lOojYbQM/s200/mk802.jpg" width="200" /></a></div>
<br />
Christmas came and with it a new nerd toy. In my case it was in the for of a <a href="http://rikomagic.com/En/productlist.asp?id=42" target="_blank">Rikimagic MK802II</a> android minipc.<br />
<br />
Wanted to debug apps directly into the device but the device is plugged via HDMI to the TV and it would be hard for me to place a laptop near the TV just to debug a simple app. Knowing that you can use the Android Development Bridge over network by running a few shell commands, I decided to do that precisely. Instead of typing each time and being the nerd I am. Just put a few lines together to activate this via simple app click. Also to install for first time easy I uploaded the app to the market.<br />
<br />
The app turns out to be great for my phone (Motorola Atrix 2 rooted) as well.<br />
<br />
The link for the app is:<br />
https://play.google.com/store/apps/details?id=com.soynerdito.adbnetworkenabler&feature=search_result#?t=W251bGwsMSwxLDEsImNvbS5zb3luZXJkaXRvLmFkYm5ldHdvcmtlbmFibGVyIl0.<br />
<br />
Your PC should be in the same network as the device.<br />
<b>Steps to Develop Via Network (WIFI):</b><br />
1. Download the app from the play store into the device<br />
2. On the Device Run the app and click on Toggle once. (it enable and if it is enable it tries disable). It is not intelligent at all, so it just toggle, click it once and keep count so you know if enable or disable.<br />
3. On the PC (get the IP from the device app) open a shell or command prompt and run<br />
adb connect <DEVICE_IP_ADDRESS><br />
<br />
You should see a connection confirmation on the shell. Alfter just run your Eclipse or other environment and debug as a regular device.<br />
<br />
<br />
I have not uploaded the code for this app still but could be if somebody want's it.Anyhow soon the code will be uploaded just to save it for future reference.<br />
<br />
The app requires the device to be rooted and the super user app be installed. Could not make it to work without the super user (also I do not have a non rooted phone). If learn how to do un-rooted will be better, that could be an upgrade.<br />
<br />
This post describes the commands to connect the ADB over network (from here I got the commands to run)<br />
<a href="http://stackoverflow.com/questions/2604727/how-can-i-connect-to-android-with-adb-over-tcp">http://stackoverflow.com/questions/2604727/how-can-i-connect-to-android-with-adb-over-tcp</a><br />
<br />
Anonymoushttp://www.blogger.com/profile/15689782717722719405noreply@blogger.com0tag:blogger.com,1999:blog-3379114199026539298.post-50947934837573919752012-08-07T00:13:00.000-03:002012-08-07T00:13:04.382-03:00Custom firmware on my trendnet 652BRP<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj8HMiR_FtvUfQzi0fQNJuQalFT9Y3DWBx8AOWHvPeg_yaBpGFUKlrBUdkzkX9dbc2zF1OObN3CcVD5SwRTGxoN20UrmIBcHj3njINtvIMXe5yWPRKHIqVLnzHtwLpYdtmb9-o0J_k4cwkL/s1600/TEW-652BRP_v1_2.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="165" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj8HMiR_FtvUfQzi0fQNJuQalFT9Y3DWBx8AOWHvPeg_yaBpGFUKlrBUdkzkX9dbc2zF1OObN3CcVD5SwRTGxoN20UrmIBcHj3njINtvIMXe5yWPRKHIqVLnzHtwLpYdtmb9-o0J_k4cwkL/s200/TEW-652BRP_v1_2.jpg" width="200" /></a>I have a few routers, most of them with the <a href="http://dd-wrt.com/site/index" target="_blank">dd-wrt </a>custom firmware which I love. But there is one ugly duck in the pack, my <a href="http://www.trendnet.com/asp/download_manager/list_subcategory.asp?SUBTYPE_ID=1360" target="_blank">trendnet TEW-652BRP V2.1</a>. This revision is not supported by the dd-wrt... UURRR!!!<br />
Lucky me, I found a link of somebody that compiled the GPL version of the firmware and changed it's functionality to be in Client Mode.The firmware can be downloaded from <a href="https://sourceforge.net/projects/tew652brpv2wcl/">https://sourceforge.net/projects/tew652brpv2wcl/</a> .<br />
<br />
<br />
<br />
<b>What the firmware does?</b><br />
The router operating mode is changed from Access Point to a Wireless Bridge. The router now is in Client Mode. When on client mode, the router accepts up to four wired devices and link those connections to a wireless network. This now accepts up to four devices wired to it. I had just connected one, but in the web site it says up to four.<br />
<br />
<b>Pros</b>:<br />
1. The router gets to be a bridge for up to four devices<br />
<br />
<b>Const</b>:<br />
1. In order to change to be an access point you need to flash the original firmware of the device.<br />
<br />
All this is possible for curious people and open source. If more<br />
<br />
If you have only one router, do not use this firmware. This is only if you want to use your router now as a bridge to provide wireless connection to some wired only devices, like a DVD player, TV set, media player...<br />
<br />
<span style="font-size: xx-small;"><i><br /></i></span>
<i><span style="font-size: x-small;">I have nothing to do with this firmware, just found it downloaded it and installed. Since I liked it decided to share my experience.</span></i><br />
<br />
<br />
<span style="font-family: Times, Times New Roman, serif; font-size: x-small;">Product picture from <a href="http://www.trendnet.com/downloads/list_subcategory.asp?SUBTYPE_ID=1259#">http://www.trendnet.com/downloads/list_subcategory.asp?SUBTYPE_ID=1259#</a></span><br />
<br />Anonymoushttp://www.blogger.com/profile/15689782717722719405noreply@blogger.com2tag:blogger.com,1999:blog-3379114199026539298.post-13687057155391649112012-07-10T00:55:00.002-03:002012-07-10T00:55:22.579-03:00Escribiendo por escribir: Semana de Pruebas<div style="text-align: justify;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhcyu6nvOqBrIuSuc9dMmCfrbbe9QUvS4TMA6v-Zlcd-o1kN8prJIbcOead05-vgHagLCGLED9rEyvoWDs_ZiBiV6vSO4dNvqUhTa1gEI-OJ9VvnqTwwucvmJQ0V78YOjrC6y8e04QwYs0O/s1600/plan_48.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"></a>Durante estas ultimas semanas he tenido la oportunidad de utilizar nuevos softwares. Al menos nuevos para mi. Vivo constantemente buscando cosas nuevas y haciendo pruebas a ver que pasa.</div>
<div style="text-align: justify;">
Asi que el camino de la curiosidad me llevo a probar los siguientes softwares:</div>
<ol>
<li>Para hacer development me encontre con el Window Builder Pro el cual es un tool gratis que ya esta incluido en la version de Eclipse Juno. EL Window Builder Pro es hecho por google y se puede usar para facilitar la programacion de ventanas en Java. Multi-plataforma, lo use en mi maquina primaria de Ubuntu 12.04 asi como en una con Windows 7. Funciona igual asi que en tu OS favorito lo puedes intentar. Eclipse lo consigues en http://www.eclipse.org y ya esta incluido en la version Juno, asi que solo baja el Eclipse IDE for Java Developers. </li>
<li>Para los usuarios de Linux, le recomiendo el XWindows de Cinnamon. Yo he intentado en multiples ocaciones a moverme de KDE a Gnome sin exito. Por multiples razones siempre he vuelto a KDE en total descontenteo con Gnome. Ahora descubri que existia otro XWindows llamado Cinnamon (disculpen que no lo conocia desde antes) y me ha encantado. Aun llevo par de dias con el, pero me gusta que esta simple y no interfiere con mis trabajos. Es solo una barrita abajo (como el taskbar) y puedo subir y bajar mis programas sin ningun problema. Ya veremos cuanto tiempo me dura la luna de miel.</li>
</ol>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Por ahora estos son los dos programas mas importantes que he estado usando por ahora y ya veremos como siguen portandose conmigo. Ademas de estos dos he estado usando par de cositas mas que me estan gustando con el update que se le hizo al SDK de android ya que el Google IO fue hace unas semanas.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Ya he escrito mucho para algo que no compone mucho. Si leiste hasta aqui mereces un premio. Proximamente escribire algo con mas sentido.</div>Anonymoushttp://www.blogger.com/profile/15689782717722719405noreply@blogger.com0tag:blogger.com,1999:blog-3379114199026539298.post-22974327756651485862012-04-07T23:30:00.000-03:002013-04-07T21:27:43.592-03:00Mi Experiencia con USBasploader<div style="text-align: justify;">
Como parte de mi desarrollo con Arduino y el microcontrolador Atmega328 decidi intentar probar el <a href="http://www.obdev.at/products/vusb/usbasploader.html">USBaspLoader</a>. Si conoces el Arduino has visto que el mismo cuenta con un circuito que convierte de USB a serial TTL. En versiones anteriores se utiliza el FTI mientras que el Arduino UNO utiliza el Atmega8U2 o similar para traducir de USB a serial TTL. Ahora, la diferencia del USBaspLoader es que permite tener el Atmega328 sin tener que utilizar este convertidor sino solamente el chip y un simple circuito.</div>
<div style="text-align: justify;">
Si eres como yo, esto me parecio fantastico asi que junte algunas piezas y decidi montarlo. Y increiblemente funciona como esta documentado. Claro si lo vas a intentar asegurate de utilizar los fuses correctos, los cuales aparentemente estan en el Makefile por microcontrolador. El setting del micro que estoy utilizando los vi escritos en un blog por ahi.</div>
<div style="text-align: justify;">
<br />
<div style="text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen='allowfullscreen' webkitallowfullscreen='webkitallowfullscreen' mozallowfullscreen='mozallowfullscreen' width='320' height='266' src='https://www.youtube.com/embed/HgmrLITLZZQ?feature=player_embedded' frameborder='0'></iframe></div>
<div style="text-align: left;">
El diagrama del circuito utilizado puede ser encontrado en el siguiente enlace <a href="https://metalab.at/wiki/Metaboard">https://metalab.at/wiki/Metaboard</a>. </div>
</div>
<div style="text-align: justify;">
Esto es perfecto si tienes todos los componentes exactos. Peor que pasa cuando se te terminan las resistencias exactas. Pues eso fue lo que me paso, asi que buscando por intertet. Primero el "pull-up" resistor que es de 1.5K en el diagrama del metaboard lo cambie por uno de 2.2K segun se puede ver en el diagrama de usbasp (<a href="http://www.fischl.de/usbasp/">http://www.fischl.de/usbasp/</a>) asi que este valor si tienes 1.5K o 2.2K funciona igual (almenos asi me funciona a mi).</div>
<div style="text-align: justify;">
Las otras resistencias so las de 68ohms, estas tambien se me terminaron. Gracias al internet pude ver unos post de alguien que mencionaba que valores entre 47 ohms y 100ohms deberian ser buenos como quiera. Entiendo que esto lo lei en el web de avr-freaks, pero no tengo el link exacto. Anyway, estas resistencias aparentan ser para controlar la resistencia asi que decidi utilizar 100ohms y para mi sorpresa funciono.</div>
<div style="text-align: justify;">
Asi que este serian valores probados en 5V y con el Usbasploader conectado a una laptop con Ubuntu.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Resistencias y valores alternos que en mi caso funcionaron</div>
<div style="text-align: justify;">
68ohms ==> 100 ohms</div>
<div style="text-align: justify;">
1.5K ohms ==> 2.2K ohms</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Mi experiencia con el usbasploader es de algunas horas solamente y con los microcontroladores tampoco es mucha, asi que disculpen la falta de detalles.<br />
<br />
Antes de quemar el bootloader en el atmega, recuerda programarle los fuses correctamente. Esta es la configuración que utilizo.<br />
<br />
avrdude -c stk500v1 -p atmega328p -b19200 -P /dev/ttyACM0 -U lfuse:w:0xf7:m -U hfuse:w:0xdA:m -U efuse:w:0x03:m<br />
<br />
Nota: En mi caso, he creado un procesador alterno llamado atmega328np con el ajuste del signature del chip. Esta configuración es importante ponerla en el .conf de avrdude. Claro, solo para lo que usamos chips alternos, los demas deben pueden quedarse como esta escrito..<br />
<div>
<br /></div>
</div>
<div style="text-align: justify;">
<br /></div>
Anonymoushttp://www.blogger.com/profile/15689782717722719405noreply@blogger.com0tag:blogger.com,1999:blog-3379114199026539298.post-48903368006108088472012-03-28T00:45:00.001-03:002012-03-28T10:16:52.753-03:00Atmega 328 non p adventure<div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjABOlLEnqUCpr89yLRdY2TDbgdkUZhGRw_st5hctcWo2NvRf2hqV9aWlhrd0IJd5Ou4C6tTEFh0Kjutkyni_ARZ_uyBJmgrK4oEexNh9FO6hFJ2hird9WqjUX4TmBFAPuxx1XwRRzg2ckX/" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjABOlLEnqUCpr89yLRdY2TDbgdkUZhGRw_st5hctcWo2NvRf2hqV9aWlhrd0IJd5Ou4C6tTEFh0Kjutkyni_ARZ_uyBJmgrK4oEexNh9FO6hFJ2hird9WqjUX4TmBFAPuxx1XwRRzg2ckX/" width="200" /></a></div>
<br />
<div style="text-align: justify;">
A few weeks ago I ordered a pair of Atmega328 non P version to use in my Arduino projects. Since I am curious took the challenge of changing the bootloader on the chip. Went online, read a lot of tutorials and success stories about the desired task. All seems so easy that I took on the challenge without hesitation.</div>
<div style="text-align: justify;">
Started by openning the ArduinoISP (commenting the include of the pins.h library file) and downloading to the board. Connected the chip and... "no bacon". Try and try again and no bacon. A few nights and a lot of hours latter finally got it working and my steps to success are listed bellow</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Short steps.</div>
<div style="text-align: justify;">
1. Loaded a VirtualBox Windows XP machine after reading in some forums about a situation with Ubuntu 11.X where the kernel may cause the burning process to fail. (Couldn't explain but since tried everything else..)</div>
<div style="text-align: justify;">
2. Loaded the Arduino 1.0 tool set in the WinXP machine.</div>
<div style="text-align: justify;">
3. Modify the Arduino ISP baud rate to 9600 and commented the "pins" include at the beginning (will not compile with it).</div>
<div style="text-align: justify;">
4. Edited 3 files in the arduino directory tree (boards.txt and avrdude.conf and programers.txt). Change the signature of the Atmega328p chip in avrdude.conf my recommendation as I founded by someone else post. Just open the file copy all Atmega328p and change the name Atmega328p to atmega328 and change the chip signature. Also open boards.txt and copy paste the ArduinoUno settings to Arduino328UnoNonP rename the uno. To uno328. And the chip type from atmega328p to atmega328. Edit programers.txt and change the baud rate of the ArduinoISP to 9600</div>
<div style="text-align: justify;">
5. Close and open the ArduinoISP and select the new ArduinoUno328 we just created from the menu.</div>
<div style="text-align: justify;">
6. Select ArduinoISP as the programer. Put a capacitor between reset and ground. The exact value was taken from the official arduino web site. This prevents the arduino from reset. </div>
<div style="text-align: justify;">
7. Select burn bootloader</div>
<div style="text-align: justify;">
8. Wait for it to finish, that should be all.</div>
<br />
<br />
<div style="text-align: justify;">
Files are not here since this post was from my phone. But should be updated latter with more details and files for easy reproduce.</div>
<div style="text-align: justify;">
The Ubuntu problem I had may not be an Ubuntu issue but I tried and tried till changed to a virtual machine with XP. Still I will continue trying to make it work with in Ubuntu without the virtual XP. I had a version of avrdude compiled myself with the Arduino1.0 also downloaded not installed from ubuntu repository. Maybe all my stupidity was the cause, who knows. Important thing is that it is working now like new!!</div>
<br />
<div style="text-align: justify;">
The Atmega328 non P is a possibility and can be found for less than $3 in mouser.com or in other web sites for a little more preloaded with the Arduino bootloader.</div>
<br /></div>Anonymoushttp://www.blogger.com/profile/15689782717722719405noreply@blogger.com1tag:blogger.com,1999:blog-3379114199026539298.post-87603751416485808202012-03-13T12:12:00.001-03:002012-03-28T10:20:10.108-03:00How to Root Motorla Atrix 2 , Ver 2.3.6Today I am happy, cause found the link to root my motorola Atrix 2 and it WORKED!!<br />
As a developer having a non rooted device is a pin, specially for me since I wanted to extract the database from a restricted location for debugin my app.<br />
This method was not made by me, I just founded the link for the video and wanted to share with all.<br />
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen='allowfullscreen' webkitallowfullscreen='webkitallowfullscreen' mozallowfullscreen='mozallowfullscreen' width='320' height='266' src='https://www.youtube.com/embed/5TgaFdph20M?feature=player_embedded' frameborder='0'></iframe></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<i><b>Update</b></i>: <i>After the phone is rooted it stays rooted until I restart the phone, then it goes back to stock non rooted, (good... bad... it is your call, just saying so you know).</i></div>Anonymoushttp://www.blogger.com/profile/15689782717722719405noreply@blogger.com0tag:blogger.com,1999:blog-3379114199026539298.post-29412718850821178592012-02-29T21:42:00.001-04:002012-02-29T21:42:12.956-04:00How to convert string to integer in Arduino?<div style="text-align: justify;">
Today just found myself having to convert a string to an integer in an Arduino. Had a code that did character to integer but not from string. So copy from here to there ended up with this function. And posted here just for anybody to use or have a starting point.</div>
<div style="text-align: justify;">
Here is the code, use it change it or don't use it. Hope this saves you some time.</div>
<pre style="background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgOxtwKq5Awhzahmw2npyAvDBOd4Uod52lXLoqGRlKr5m02xO38ChKct45j5vt3Z2mHKY1x9Xv4tYQmgvbB7Mpzs_Y-zRo0213eiZadr8jahmxRli4dwCQu6aQ9FwVmDvwq5bUuwWOGD7ol/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"><code style="color: black; word-wrap: normal;"> int8_t satoi( char *str, int len ){
int8_t r = 0;
for(int i=0; i<len; i++){
//Check if this is a number
if ( str[i] < 0x3a && str[i] > 0x2f){
// is a ASCII number, return it
r = r * 10;
r += (str[i]-0x30);
}else{
i = len; //exit!
r = -1;
break;
}
}
return r;
}
int8_t satoi( char *str ){
int8_t r = 0;
int len = strlen(str);
for(int i=0; i<len; i++){
//Check if this is a number
if ( str[i] < 0x3a && str[i] > 0x2f){
// is a ASCII number, return it
r = r * 10;
r += (str[i]-0x30);
}else{
i = len; //exit!
r = -1;
break;
}
}
return r;
}
</code></pre>Anonymoushttp://www.blogger.com/profile/15689782717722719405noreply@blogger.com2tag:blogger.com,1999:blog-3379114199026539298.post-16955683034962884162012-02-28T23:41:00.001-04:002012-02-28T23:50:42.646-04:00Progress on arduino tv remote<div><p>Today received the zener diodes needed for a virtual usb keyboard and lucky me it worked. I was able to load the virtual usb keyboard libs from the web and run a hello world.<br>
Next step is to put it all together with the irda and ethernet code. I will continue on this tomorrow and hope to complete soon. After this would be a very nice post to share.<br>
Building, programming and sharing would make me go full circle.</p>
<br/><img src='https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhdT2PzhGtSjAC9DwoYMGAeGeE4GWWuEjqQ739H9apkMnfbSD7Jzh4638q3rzeP_XZFVTlCZ3YmmuKsO55FBsdV97SgAqH89pVlFvgcY5QhXnNN7MEuAOH_bJw8qoXqYhFR4ky4SmQhHVZf/' /></div>Anonymoushttp://www.blogger.com/profile/15689782717722719405noreply@blogger.com0tag:blogger.com,1999:blog-3379114199026539298.post-40959993964109204312012-02-26T01:27:00.001-04:002013-01-08T07:35:19.377-04:00Arming my arduino<div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjyeboujNVLWImbYAVmac8EY6_Wl2_9ToXCRk07Kv9JU_9wIbpO-QvIJM99e7RTRBhI2fvKrcQF1XBwxauhvS3IaAAOh6uX9iz11V7yJoxs6utit4QhyphenhypheneGAFU4ad_CcHx1QOBd73JA_MJAZ/" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjyeboujNVLWImbYAVmac8EY6_Wl2_9ToXCRk07Kv9JU_9wIbpO-QvIJM99e7RTRBhI2fvKrcQF1XBwxauhvS3IaAAOh6uX9iz11V7yJoxs6utit4QhyphenhypheneGAFU4ad_CcHx1QOBd73JA_MJAZ/" /></a></div>
Just a view of how looks like an Arduino with a cheap Ethernet module and an infrared led with corresponding receiver. Separated all is working. Is a matter of creating interrupts for multitasking. If not possible then this could become a dual core arduino project. Oh and this build is missing more LEDs and an USB cable to emulate a keyboard. Oh and of course a mobile phone app.<br />
I just want to complete this project to start using it. And write a post here about it.<br />
<br />
Update:<br />
Due to interrupts and clock limitation (also I tried and tried but could not make the two codes into one), the project ended up using two arduino chips. Each connected via serial. One emulating the USB Keyboard and one with the ethernet and IRDA. All this might be able to be resumed into just one arduino UNO board with a different firmware for the usb to serial chip and might look actually better and smaller.<br />
<br />
<br />
<br />
</div>
Anonymoushttp://www.blogger.com/profile/15689782717722719405noreply@blogger.com0