<?xml version='1.0' encoding='UTF-8'?><rss xmlns:atom='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0' version='2.0'><channel><atom:id>tag:blogger.com,1999:blog-2980270584042445525</atom:id><lastBuildDate>Mon, 21 May 2012 06:16:52 +0000</lastBuildDate><category>Twitter</category><category>Seibel</category><category>Technology</category><category>Free Software Foundation</category><category>Zombie</category><category>CS Education</category><category>Michael Barude</category><category>Geek</category><category>Wave</category><category>Yogi Berra</category><category>Programming</category><category>stack overflow</category><category>software development</category><category>headphones</category><category>Galileo</category><category>Browsers</category><category>social networking</category><category>Git</category><category>Jeff Atwood</category><category>Chrome</category><category>reading-list</category><category>celebrity</category><category>Axapta</category><category>Safari</category><category>molex</category><category>review</category><category>FireFox</category><category>Coding</category><category>Steve Yegge</category><category>Fail</category><category>Audio-technica</category><category>Cat Fight</category><category>Internet</category><category>AX2009</category><category>customer service</category><category>Opera</category><category>Hero</category><category>Book-Review</category><category>Java</category><category>Text editors</category><category>API</category><category>Google</category><category>Groovy</category><category>Open Source</category><category>X++</category><category>gNewSense</category><category>Linux</category><category>IE8</category><category>awesomesauce</category><category>Eclipse</category><category>Star Wars</category><category>Widget</category><category>Emacs</category><category>Ubuntu</category><category>Robot</category><category>Jetsons</category><title>Breaking Windows!</title><description>Covering everything from Open Source Software, Software Development, SCIFI in print, on-screen, and on TV.</description><link>http://blog.m1cr0sux0r.com/</link><managingEditor>noreply@blogger.com (Michael Brown)</managingEditor><generator>Blogger</generator><openSearch:totalResults>21</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-2980270584042445525.post-6698574406553288287</guid><pubDate>Fri, 13 Apr 2012 02:31:00 +0000</pubDate><atom:updated>2012-04-12T22:31:32.240-04:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>Audio-technica</category><category domain='http://www.blogger.com/atom/ns#'>awesomesauce</category><category domain='http://www.blogger.com/atom/ns#'>customer service</category><category domain='http://www.blogger.com/atom/ns#'>review</category><category domain='http://www.blogger.com/atom/ns#'>headphones</category><title>Customer Service...They're doing it right!</title><description>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-Ds_fPEQ35Ls/T4eDY64r_7I/AAAAAAAAi_o/nMu-UtNpLXU/s1600/logo-header.gif" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/-Ds_fPEQ35Ls/T4eDY64r_7I/AAAAAAAAi_o/nMu-UtNpLXU/s1600/logo-header.gif" /&gt;&lt;/a&gt;&lt;/div&gt;A few months ago I was in the market for some noise cancelling headphones. I had spent a fair amount of time looking around the Web and reading reviews to ensure that I chose a quality set and did not end up paying too much. I decided to go with the &lt;a href="http://www.amazon.com/gp/product/B002HWJT1A/ref=as_li_ss_tl?ie=UTF8&amp;amp;tag=breakwindo-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=390957&amp;amp;creativeASIN=B002HWJT1A" target="_blank"&gt;Audio-technica&amp;nbsp;ATH-ANC7B Active Noise-Cancelling Closed-Back Headphones&lt;/a&gt;&amp;nbsp;and I am certainly glad that I did.&lt;br /&gt;&lt;br /&gt;First, let me say that I bought these headphones myself several months ago and I am in no way being paid to say this. Second, I almost did not purchase these due to some of the &lt;a href="http://reviews.cnet.com/headphones/audio-technica-ath-anc7b/4505-7877_7-33776177.html" target="_blank"&gt;reviews&lt;/a&gt; that they&amp;nbsp;received. Most of the issues that people had with them were due to sound leakage. I ended up choosing them because I just could not justify the cost of the &lt;a href="http://www.amazon.com/gp/product/B0030XXH1S/ref=as_li_ss_tl?ie=UTF8&amp;amp;tag=breakwindo-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=390957&amp;amp;creativeASIN=B0030XXH1S" target="_blank"&gt;Bose&lt;/a&gt;&amp;nbsp;headphones.&lt;br /&gt;&lt;br /&gt;After receiving the headphones, I quickly learned that they far exceeded my expectations. The noise cancelling was amazing and the sound leakage is not that bad (please save the hate mail audiophiles) and the sound quality far surpassed the cheap ear buds I was using before.&lt;br /&gt;&lt;br /&gt;One of the great features of these headphones is that the ear cups can swivel nicely so that they lay flat and are easy to put in the case and store when you are not using them (which means they fit nicely in my laptop case when I am traveling).&lt;br /&gt;&lt;br /&gt;It was this great feature that ended up causing me a problem. There is (what I consider to be a design flaw) with this feature. There is a small screw that holds the&amp;nbsp;ear cup&amp;nbsp;onto the headband. This screw goes through a very thin piece of plastic. This proved to be a fatal problem. I went &amp;nbsp;to don my headphones one morning and that thin piece of plastic split. Right across the screw. I was bummed out, to say the least. I assumed that this was not going to be covered under warranty and I knew that I would have to go back to crappy ear buds until I could purchase a new set of headphones, which meant more research (had to check out all the new models that had come out since I ordered these). This thought saddened me to the point of going to Audio-technica's &lt;a href="http://www.audio-technica.com/cms/site/9b1da7946d7de4bf/index.html" target="_blank"&gt;website&lt;/a&gt;&amp;nbsp;to find a contact in support to see if this would be covered.&lt;br /&gt;&lt;br /&gt;At this point I would like to mention how I think that it is sad how often companies get rail-roaded on the Internet because of one customer interaction that gets blown out of&amp;nbsp;proportion. It is unfair to judge a company by one story. I also think that it is unfair how rare it is that we share our great interactions. In the spirit of this, I&amp;nbsp;decided&amp;nbsp;to write this post about the great&amp;nbsp;experience&amp;nbsp;that I had with Audio-technica.&lt;br /&gt;&lt;br /&gt;Back to the story, so I called the tech support number that was listed on&amp;nbsp;their&amp;nbsp;support site and was greeted warmly (sorry about I did not make a point of writing my representatives name down, had I known how awesome my&amp;nbsp;experience&amp;nbsp;was about to be I would have) by a support representative. I inquired about my headphones and the&amp;nbsp;representative&amp;nbsp;told me that it was no problem and that they cover almost everything (music to the ears of almost any consumer). I was told that I only needed to do was click on the "return instructions" link on&amp;nbsp;their&amp;nbsp;support page, then click on the Service Form link, fill out the form and ship the headphones back.&lt;br /&gt;&lt;br /&gt;I hung up the phone, filled out the form, printed it and stuck it in a box with my headphones. I shipped them out that day (Friday March 30th). The following Monday (April 9th) a box was waiting for me. I opened it up and found that they had sent me a new headset. That is 10 days from the time I shipped it to the time I&amp;nbsp;received&amp;nbsp;my new one. That is pretty good turn around time. If you consider that my package wasn't delivered until Monday April 2nd and my new headset shipped on Thursday April 5th, it is even better. That means it took less than 72 hours for my return to be received, processed, and shipped! That is some amazing work and it is the reason why I am sure that I will not only be buying my next set of headphones from Audio-technica, but it is also the reason that I am taking the time to write this.&lt;br /&gt;&lt;br /&gt;Thank you Audio-technica for making me glad I chose to purchase one of your products. You have gained a lifetime customer!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2980270584042445525-6698574406553288287?l=blog.m1cr0sux0r.com' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.m1cr0sux0r.com/2012/04/customer-servicetheyre-doing-it-right.html</link><author>noreply@blogger.com (Michael Brown)</author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-Ds_fPEQ35Ls/T4eDY64r_7I/AAAAAAAAi_o/nMu-UtNpLXU/s72-c/logo-header.gif' height='72' width='72'/><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-2980270584042445525.post-7537863728509745524</guid><pubDate>Fri, 09 Mar 2012 02:29:00 +0000</pubDate><atom:updated>2012-03-08T21:29:07.190-05:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>Seibel</category><category domain='http://www.blogger.com/atom/ns#'>Coding</category><category domain='http://www.blogger.com/atom/ns#'>Book-Review</category><category domain='http://www.blogger.com/atom/ns#'>reading-list</category><title>Coders at Work: Book Review</title><description>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-9GrMIGRnUk4/T1GC-u1aYLI/AAAAAAAAeL0/0SjaihqnUIs/s1600/codersatwork.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://2.bp.blogspot.com/-9GrMIGRnUk4/T1GC-u1aYLI/AAAAAAAAeL0/0SjaihqnUIs/s320/codersatwork.jpg" width="213" /&gt;&lt;/a&gt;&lt;/div&gt;I enjoy reading and I think that reading is a key part of growing as a person and increasing your knowledge base. I also know that there is a sea of non-fiction and technical books that are available to any developer with an Amazon account. I often find it hard to determine what books to read and in what order.&amp;nbsp;So when I do find a great book, I feel the need to share it.&lt;br /&gt;&lt;br /&gt;I (not so recently) read a great book by &lt;a href="http://www.gigamonkeys.com/"&gt;Peter Seibel&lt;/a&gt;&amp;nbsp;called&amp;nbsp;&lt;a href="http://www.amazon.com/gp/product/B002RHN7RM/ref=as_li_ss_tl?ie=UTF8&amp;amp;tag=breakwindo-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=390957&amp;amp;creativeASIN=B002RHN7RM"&gt;Coders At Work&lt;/a&gt;. This book offers an incredible insight into how some of the world's best programmers tackle the job. I found this book to be &amp;nbsp;an&amp;nbsp;inspiring&amp;nbsp;look into some of the greatest computing minds of our generation (including &lt;a href="http://www.codersatwork.com/donald-knuth.html"&gt;Knuth&lt;/a&gt;, &amp;nbsp;&lt;a href="http://www.codersatwork.com/jamie-zawinski.html"&gt;Zawinski&lt;/a&gt;, &lt;a href="http://www.codersatwork.com/peter-norvig.html"&gt;Norvig&lt;/a&gt;, &lt;a href="http://www.codersatwork.com/fran-allen.html"&gt;Allen&lt;/a&gt;, and &lt;a href="http://www.codersatwork.com/ken-thompson.html"&gt;Thompson&lt;/a&gt;).&lt;br /&gt;If you are a programmer and you don't already know eight out of the sixteen developers that are intervierwed in this book, you should definately consider reading this right away. &lt;br /&gt;&lt;br /&gt;Reading about how many of these great programmers work is inspiring. &amp;nbsp;Peter Seibel is able to draw out the passion in these developers and bring them to life. After reading each interview, I felt as though I knew each of these people personally. This book has inspired me to become a better developer and to spend more time reading and writing code. Since I have read this book, I have taken to opening projects in Git Hub just to read the code and try to figure out what it does. This is not something I was in the habit of doing before. It has helped me to see different ways of approaching my code and has allowed me to grow as a developer.&lt;br /&gt;&lt;br /&gt;I would&amp;nbsp;recommend&amp;nbsp;this book to anyone who is even mildly interested in software development. I think that it has something for everyone and if you are like me, you will be moved to learn more about your craft and excited to do so!&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2980270584042445525-7537863728509745524?l=blog.m1cr0sux0r.com' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.m1cr0sux0r.com/2012/03/coders-at-work-book-review.html</link><author>noreply@blogger.com (Michael Brown)</author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-9GrMIGRnUk4/T1GC-u1aYLI/AAAAAAAAeL0/0SjaihqnUIs/s72-c/codersatwork.jpg' height='72' width='72'/><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-2980270584042445525.post-8736522547003971207</guid><pubDate>Sat, 07 May 2011 05:32:00 +0000</pubDate><atom:updated>2011-05-07T01:32:29.792-04:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>X++</category><category domain='http://www.blogger.com/atom/ns#'>Axapta</category><title>AX 2009: Enhancing your editor scripts</title><description>As an AX developer, I find myself using the built-in editor scripts that come with AX a lot. I noticed that there are several times when I would like to have a template for a display method. I create a lot of custom reports that use display methods and &amp;nbsp;it would save me time if I could build them from a template. The great thing about AX is that if you want something, you can always build it yourself.&lt;br /&gt;&lt;br /&gt;I decided today that I was going to go ahead and jump into the Editors Scripts class and build my own display method template. I was surprised at how easy it was. I decided to look at the class that gets called when using the scripts/templates right click option.&lt;br /&gt;&lt;br /&gt;It turns out the class being called is named EditorScripts. I took a look at the class and the method "template_method_parm" was the closest to what I was looking for. All this method does is create a dialog to get the parameters used to create the template and passes them to another method.&lt;br /&gt;&lt;br /&gt;The parm method calls a class called xppSource and passes it the parameters that were supplied via the dialog.. In the xppSource class there was a method named parmMethod that accepts the parameters and creates the actual template.&lt;br /&gt;&lt;br /&gt;So, all it takes is two simple methods. Once I create the two new methods for my display method template, it should be available on the right-click menu. Below is the code I used to create the&amp;nbsp;template_method_display method in the EditorScripts class:&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/-2dYQNHvh4wA/TcTVK2hYZrI/AAAAAAAAAoM/Dzc8qsVgTDE/s1600/classes.editorscripts.png" imageanchor="1" style="clear: left; display: inline !important; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="210" src="http://1.bp.blogspot.com/-2dYQNHvh4wA/TcTVK2hYZrI/AAAAAAAAAoM/Dzc8qsVgTDE/s640/classes.editorscripts.png" width="640" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;The above code creates a new dialog that requests that the user select a datatype and variable name for the display method, then passes that information to the xppSource class method "displayMethod" which I created:&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-FqJx_OUfKGE/TcTWgxrRt-I/AAAAAAAAAoQ/wC2Q2T00NOY/s1600/classes.xppsource.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="438" src="http://4.bp.blogspot.com/-FqJx_OUfKGE/TcTWgxrRt-I/AAAAAAAAAoQ/wC2Q2T00NOY/s640/classes.xppsource.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;This method takes the type name and the variable name from the previous dialog and formats it into a string and adds the word Display before them and the parens after "()". The code then creates a code block "{" and indents the code. Creates the return statement and ends the code block "}".&amp;nbsp;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;In the end you get the following on your righ-click screen (ALT+R):&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-aUxNOMwsZys/TcTYRdJ4C4I/AAAAAAAAAoU/Dro6k3wIoCw/s1600/select.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="488" src="http://3.bp.blogspot.com/-aUxNOMwsZys/TcTYRdJ4C4I/AAAAAAAAAoU/Dro6k3wIoCw/s640/select.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;Then when you select display, you are greeted with the following dialog:&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-b9u0G2i5YSA/TcTYlNIrBAI/AAAAAAAAAoY/EttTrzg5xAs/s1600/dialog.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/-b9u0G2i5YSA/TcTYlNIrBAI/AAAAAAAAAoY/EttTrzg5xAs/s1600/dialog.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Then you must enter your desired values:&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-dR7TBEnYOHM/TcTYuD46D-I/AAAAAAAAAoc/a5RoD8-dUF8/s1600/filloutdialog.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/-dR7TBEnYOHM/TcTYuD46D-I/AAAAAAAAAoc/a5RoD8-dUF8/s1600/filloutdialog.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Finally, you select OK and you get your method template:&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-hyCWebZANUU/TcTY2zgKTNI/AAAAAAAAAog/AC6ogssSXdo/s1600/finalmethod.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="217" src="http://2.bp.blogspot.com/-hyCWebZANUU/TcTY2zgKTNI/AAAAAAAAAog/AC6ogssSXdo/s640/finalmethod.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Once you create this template you can have a new display method in a matter of seconds and you can save yourself valuable keystrokes. Go ahead and have fun with the editorScripts class and increase your productivity!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2980270584042445525-8736522547003971207?l=blog.m1cr0sux0r.com' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.m1cr0sux0r.com/2011/05/ax-2009-enhancing-your-editor-scripts.html</link><author>noreply@blogger.com (Michael Brown)</author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-2dYQNHvh4wA/TcTVK2hYZrI/AAAAAAAAAoM/Dzc8qsVgTDE/s72-c/classes.editorscripts.png' height='72' width='72'/><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-2980270584042445525.post-4261104171297261920</guid><pubDate>Thu, 05 May 2011 05:09:00 +0000</pubDate><atom:updated>2011-06-30T00:15:54.795-04:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>social networking</category><category domain='http://www.blogger.com/atom/ns#'>Git</category><category domain='http://www.blogger.com/atom/ns#'>software development</category><category domain='http://www.blogger.com/atom/ns#'>stack overflow</category><category domain='http://www.blogger.com/atom/ns#'>Open Source</category><category domain='http://www.blogger.com/atom/ns#'>Coding</category><category domain='http://www.blogger.com/atom/ns#'>CS Education</category><title>Social Coding?</title><description>&lt;a href="http://www.m1cr0sux0r.com/uploaded_images/hacker-784497.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" src="http://www.m1cr0sux0r.com/uploaded_images/hacker-784495.jpg" style="cursor: hand; cursor: pointer; float: left; height: 320px; margin: 0 10px 10px 0; width: 292px;" /&gt;&lt;/a&gt;&lt;br /&gt;When I first started writing code the general stereotype of a coder was that of a loner geek sitting in front of a computer in his mom's basement. This stereotype has gone on to cause a decline in the number of Computer Science students that this country produces every year. &lt;br /&gt;&lt;br /&gt;We may have rightfully earned this reputation (I have at times called myself an &lt;a href="http://www.codinghorror.com/blog/2007/10/geek-diet-and-exercise-programs.html"&gt; indoor enthusiast&lt;/a&gt;). There are, of course, still plenty of message boards filled with&amp;nbsp;smug coders who think that they are above helping a "n00b" or who are tired of students looking for homework help. These people were, until recently, the vocal minority. They were the ones screaming the loudest and that was all anyone heard.&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Recently, this stereotype has changed. Now people are seeing developers as cool,&lt;strike&gt; sheik (&lt;/strike&gt;thanks for pointing out my error Ellie) chic&lt;strike&gt;,&lt;/strike&gt;&amp;nbsp;and interesting people who have a wide variety of interests and who have social lives.  This is evidenced by the influence and reach of programmers through Twitter and by a &amp;nbsp;number of code hosting/social networking sites that have recently started cropping up. There a plenty of places now for Coders to go and find other people who are interested in the same projects and languages. There are sites for finding open source projects like &lt;a href="https://www.ohloh.net/"&gt;Ohloh&lt;/a&gt;, &lt;a href="http://kenai.com/"&gt;Project Kenai&lt;/a&gt;, &lt;a href="https://code.launchpad.net/"&gt;Launchpad.Net&lt;/a&gt;, &lt;a href="https://github.com/"&gt;Git Hub&lt;/a&gt;, &lt;a href="http://sourceforge.net/"&gt;Source Forge&lt;/a&gt;, and &lt;a href="http://code.google.com/"&gt;Google Code&lt;/a&gt; (I'm sure there's even more than that).&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;There are sites like &lt;a href="http://www.dzone.com/links/index.html"&gt;DZone&lt;/a&gt; and &lt;a href="http://stackoverflow.com/"&gt;Stack Overflow&lt;/a&gt;&amp;nbsp;that help bring the community together and solve problems. These communities help programmers from all over the world share ideas, knowledge, and allow for easier collaboration.&lt;br /&gt;&lt;br /&gt;The Social Web has been able to bring together like minded people from all over the world and has helped to make computing better for everyone.It has also, hopefully, put to rest many of the bad stereotypes about computer programmers. This should also help to increase the number of students who choose Computer Science as their major and increase awareness of the need to begin teaching computer science in primary school. If you are a programmer (or a parent) find out &lt;a href="http://www.ncwit.org/schools"&gt;why schools should teach computer science&lt;/a&gt; and the &lt;a href="http://www.csedweek.org/get-the-facts-on-cs-education/"&gt;facts about CS education&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2980270584042445525-4261104171297261920?l=blog.m1cr0sux0r.com' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.m1cr0sux0r.com/2011/05/social-coding.html</link><author>noreply@blogger.com (Michael Brown)</author><thr:total>2</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-2980270584042445525.post-4573049620007568985</guid><pubDate>Sat, 30 Apr 2011 04:03:00 +0000</pubDate><atom:updated>2011-04-30T00:03:33.003-04:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>AX2009</category><category domain='http://www.blogger.com/atom/ns#'>X++</category><title>Exporting Labels with .XPO's in Dynamics AX 2009</title><description>&amp;nbsp;&amp;nbsp; &amp;nbsp; As an AX developer, I have learned that there is (almost always) at least two ways to accomplish any task inside the Microsoft Dynamics AX Environment. I have had the opportunity to work with several consultant developers &amp;nbsp; and I was (and still am) surprised by the fact that none of them knew the procedure for importing and exporting .XPO files with labels. Instead what they do is provide you with either an XPO (if you are lucky, most times they send a layer even if they only changed one object) and a label file. You must then take the AOS offline so that you can copy the label files over and then restart the AOS. This can be a real hassle, especially if you are receiving these updates several times a day (it is even more annoying when you find out that they gave you an older label file and some labels are missing).&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; I found this so surprising (and aggravating) that I&amp;nbsp;decided&amp;nbsp;to do a little Google research and what I learned was that there is no &lt;b&gt;Good&lt;/b&gt; information out there about how to perform this procedure. So I am&amp;nbsp;taking it&amp;nbsp;upon myself to make this information available. You're welcome Internet:&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; I set up a new test project and I created a new report and a new menu item for that report. I created a new label (@HLY739) for it:&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-J1hReyJvrCE/TbuD9ERRzPI/AAAAAAAAAnE/CfXTGxX15f4/s1600/new+label.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="435" id=":current_picnik_image" src="http://2.bp.blogspot.com/-_3PWGlpfLoY/TbuJgg0a1bI/AAAAAAAAAnc/03DV-gW1nWc/s1600/13767380100_3dR6X.jpg" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Next, you must export the project:&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-asAIFk1FEok/TbuEO7OJwlI/AAAAAAAAAnI/PZh4hSGakXA/s1600/export+Project.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/-asAIFk1FEok/TbuEO7OJwlI/AAAAAAAAAnI/PZh4hSGakXA/s1600/export+Project.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Then you need to make sure that you check the box that says"Export Labels":&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-nkh36ugBTEs/TbuEcLrbomI/AAAAAAAAAnM/n_YmR3KLdNc/s1600/export+labels.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="640" src="http://1.bp.blogspot.com/-nkh36ugBTEs/TbuEcLrbomI/AAAAAAAAAnM/n_YmR3KLdNc/s640/export+labels.png" width="481" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;For my purposes, I have unselected all the languages and only selected English (United States). If you or your company uses additional languages you should check those here.Then click OK and you should get the export completed message in the compiler output window:&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-IXgDF_G9Htw/TbuFBWGM5bI/AAAAAAAAAnQ/3IwtYvXmKYk/s1600/export+Complete.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="180" src="http://1.bp.blogspot.com/-IXgDF_G9Htw/TbuFBWGM5bI/AAAAAAAAAnQ/3IwtYvXmKYk/s320/export+Complete.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;If that is successful, then you are ready to import the XPO into another environment:&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-mxCB1xleojY/TbuHRGNHBGI/AAAAAAAAAnU/ytv0jB_dLZE/s1600/import+label.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="490" src="http://4.bp.blogspot.com/-mxCB1xleojY/TbuHRGNHBGI/AAAAAAAAAnU/ytv0jB_dLZE/s640/import+label.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Make sure that you have selected the radio&amp;nbsp;button&amp;nbsp;for application objects and labels (you can also do just the application objects or just the labels). If you select the show details&amp;nbsp;check box&amp;nbsp;and then click on the Labels tab, you can see all of the labels in the project an can even manually select weather or not you would like to import the label.&amp;nbsp;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Then for the last step, you can check and make sure that the label was imported correctly:&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-AEI_ZDU80eo/TbuIBpx9FyI/AAAAAAAAAnY/2N7QOt93pps/s1600/new+label+exists.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="424" src="http://3.bp.blogspot.com/-AEI_ZDU80eo/TbuIBpx9FyI/AAAAAAAAAnY/2N7QOt93pps/s640/new+label+exists.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;As you can see, the label has been successfully added to the new environment with absolutely no down time!&amp;nbsp;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2980270584042445525-4573049620007568985?l=blog.m1cr0sux0r.com' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.m1cr0sux0r.com/2011/04/exporting-labels-with-xpos-in-dynamics.html</link><author>noreply@blogger.com (Michael Brown)</author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-_3PWGlpfLoY/TbuJgg0a1bI/AAAAAAAAAnc/03DV-gW1nWc/s72-c/13767380100_3dR6X.jpg' height='72' width='72'/><thr:total>2</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-2980270584042445525.post-575777052012187781</guid><pubDate>Fri, 28 Jan 2011 04:19:00 +0000</pubDate><atom:updated>2011-01-27T23:19:56.432-05:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>Linux</category><title>This is NOT the year of the Linux Desktop!</title><description>Every year around this time there are a ton of blog posts and news articles about how this will finally be the year of Linux on the Desktop. NO IT WON'T! I &lt;a href="http://blog.m1cr0sux0r.com/2009/07/gnew-sense-saves-day-and-some-self.html"&gt;love&lt;/a&gt; Linux, I use it all the time, I think that there are &lt;a href="http://www.opensuse.org/en/"&gt;several&lt;/a&gt; &lt;a href="http://www.ubuntu.com/"&gt;terrific&lt;/a&gt; &lt;a href="http://www.gnewsense.org/Main/HomePage"&gt;distributions&lt;/a&gt;. I even switched my parents over to Ubuntu. The problem exists, not just with Linux, but with the rest of the software development world. Below are the four reasons why I think that this still won't be the year.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Timeliness&lt;/b&gt;&lt;br /&gt;Whenever something new comes out it, almost always, isn't immediately available for Linux. The Linux versions of software, despite being released later, are usually a revision behind the Windows and Mac versions. Even &lt;a href="http://www.google.com/"&gt;Google&lt;/a&gt; is guilty of this. I can't get my own wife to switch over because she uses &lt;a href="http://picasa.google.com/"&gt;Picasa&lt;/a&gt; and the Linux version is missing several key features, besides being much slower in the picture upload process.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Gaming&lt;/b&gt;&lt;br /&gt;The personal computer is very much an entertainment device. People enjoy playing games on their computer. If they can not play all of the latest games, then people are not going to choose your operating system. Valve recently released their Steam client on the Mac. The Mac run a version of Unix, which is very similar to Linux. Valve still hasn't released a Steam client for Linux and has stated &lt;a href="http://www.linux-magazine.com/Online/News/No-Steam-For-Linux"&gt;that they don't plan to either&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;I will admit that &lt;a href="http://www.playonlinux.com/en"&gt;Play On Linux&lt;/a&gt;&amp;nbsp;is pretty awesome and I have done some preliminary testing with it and the Steam client does run on it (although it is pretty buggy and crashed a lot). I was able to play a few games and they seem to run reasonably well. I was also impressed by the ease of installation. The downfall is that Play on Linux does not make every single game run on Linux and they will always be running in some form of emulation mode. This emulation mode will make the game performance less than what it would be if it ran natively. To gamers,&lt;a href="http://www.tested.com/news/do-pc-game-boosting-utilities-really-work/983/?page=1&amp;amp;sort=first"&gt; every bit of performance matters&lt;/a&gt;!&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;Hardware&lt;/b&gt;&lt;br /&gt;While every new iteration of Linux adds more hardware support and better drivers (Nvidia finally got dual monitors working correctly in Ubuntu 10.10 and &lt;a href="https://wiki.ubuntu.com/MaverickMeerkat/ReleaseNotes"&gt;Xorg broke it&lt;/a&gt;). There are still way too many pieces of hardware that either don't work right or don't work at all. Most of the Linux hackers out there can find a way around this, which is great for us, but not so awesome for everyone else. Wireless connectivity is still pretty broken and I have yet to find a distribution that doesn't make me want to shove and icepick through my eye during the connection process.&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;Marketing and Public Relations&lt;/b&gt;&lt;br /&gt;Finally, we have the real issue with Linux. Marketing and public relations is all but non-existent. Word of mouth is great, but it is keeping Linux relegated to a small community. If you want other people to use it, get some major software companies to start porting applications to Linux (hell, Microsoft makes Office for the Mac, it shouldn't be that difficult). Make some commercials, get some more hardware vendors to ship machines already dual booted so people can play with it. &amp;nbsp;DO SOMETHING AS A GROUP FOR ONCE! There is a very large community of Linux users and Linux based companies. Create some sort of non-profit marketing consortium that will push the Linux agenda forward.&lt;br /&gt;&lt;br /&gt;There have been some exciting developments and uses for Linux based electronics and I will continue to use them, but I just don't think that Linux will hit critical mass without a concentrated marketing effort and the support of hardware and software suppliers.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2980270584042445525-575777052012187781?l=blog.m1cr0sux0r.com' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.m1cr0sux0r.com/2011/01/this-is-not-year-of-linux-desktop.html</link><author>noreply@blogger.com (Michael Brown)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-2980270584042445525.post-3347542718544459832</guid><pubDate>Fri, 16 Jul 2010 18:54:00 +0000</pubDate><atom:updated>2010-07-16T14:54:46.699-04:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>IE8</category><category domain='http://www.blogger.com/atom/ns#'>Safari</category><category domain='http://www.blogger.com/atom/ns#'>Chrome</category><category domain='http://www.blogger.com/atom/ns#'>FireFox</category><category domain='http://www.blogger.com/atom/ns#'>Browsers</category><category domain='http://www.blogger.com/atom/ns#'>Internet</category><category domain='http://www.blogger.com/atom/ns#'>Opera</category><title>Browser Wars!</title><description>&lt;table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: left; margin-right: 1em; text-align: left;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://maxcdn.webappers.com/img/2008/11/browsers-icons.png" imageanchor="1" style="clear: left; margin-bottom: 1em; margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="200" src="http://maxcdn.webappers.com/img/2008/11/browsers-icons.png" width="186" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Pic Stolen From &lt;span class="goog-spellcheck-word"&gt;WebAppers&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;It seems to me that with all the talk about HTML5 and Web 2.0 we would have a little more standardization from one browser to the next. Somehow this is not the case. I can't quite figure out how pages can look so drastically different from one browser to the next. I do some Web development on occasion and I must say that even for a flat site with little going on, it can be a real pain making sure that it the page displays properly on all of these different browsers.&lt;br /&gt;&lt;br /&gt;I have 5 different browsers running on my machine right now and 3 of them are terrible! I am going to go through and review the 5 browsers that I am currently running on my Windows system (My Linux machines are all running FireFox and Chrome. But that's a story for a later time). Ranked from worst to first, lets start a &lt;a href="http://www.amazon.com/Browser-wars-Metaphor-Microsoft-Navigator/dp/6130226012?ie=UTF8&amp;amp;tag=breakwindo-20&amp;amp;link_code=btl&amp;amp;camp=213689&amp;amp;creative=392969" target="_blank"&gt;browser war&lt;/a&gt;&lt;img alt="" border="0" height="1" src="http://www.assoc-amazon.com/e/ir?t=breakwindo-20&amp;amp;l=btl&amp;amp;camp=213689&amp;amp;creative=392969&amp;amp;o=1&amp;amp;a=6130226012" style="border: none !important; margin: 0px !important; padding: 0px !important;" width="1" /&gt;:&lt;img alt="" border="0" height="1" src="http://www.assoc-amazon.com/e/ir?t=breakwindo-20&amp;amp;l=btl&amp;amp;camp=213689&amp;amp;creative=392969&amp;amp;o=1&amp;amp;a=6130226012" style="border: none !important; margin: 0px !important; padding: 0px !important;" width="1" /&gt;&lt;br /&gt;&lt;br /&gt;5)&amp;nbsp;&lt;a href="http://www.microsoft.com/windows/internet-explorer/default.aspx"&gt;Internet Explorer 8&lt;/a&gt;:&lt;br /&gt;I really don't want to waste too much time here (no, really I don't). This is a poor excuse for a browser. It's slow, it's ugly, and there is no HTML5 support. I really only keep it around to test sites and make sure they display properly in IE and because there are some random sites that for some reason still only work in IE (you know who you are and if I find you I am going to brutally persuade you to change your Web programming practices with a baseball bat!!). If you are still using IE as your main browser...STOP IT! STOP IT RIGHT NOW!!!&lt;br /&gt;&lt;br /&gt;4)&amp;nbsp;&lt;a href="https://swdlp.apple.com/cgi-bin/WebObjects/SoftwareDownloadApp.woa/1468/wo/0Q0q7xVrOEdxJLnhqZx790/2.5"&gt;Safari 5&lt;/a&gt;:&lt;br /&gt;Before all the Mac Heads go crazy on me, let me remind you that this is rated purely on how the browsers preform on a Windows system. We all know about how awesome Safari is on the Mac and how it's the greatest piece of software to come along in the last 20 years (I really wish there was a sarcasm font). What most of us don't know is that, like it's &lt;span class="goog-spellcheck-word"&gt;ITunes&lt;/span&gt; counterpart, Safari's performance on Windows is poor at best. It doesn't have the speed of Opera or Chrome. It doesn't have the extensions and features of FireFox. In fact the only thing it has going for it is that it &lt;b&gt;isn't&lt;/b&gt;&amp;nbsp;IE. Safari only exists on my machine because &lt;span class="goog-spellcheck-word"&gt;ITunes&lt;/span&gt; keeps installing it with every update. I can't even use it to reliably test Safari's ability to render pages because it works and looks differently on a Mac, so why should I bother testing a browser/OS combination that no one uses?&lt;br /&gt;&lt;br /&gt;3)&amp;nbsp;&lt;a href="http://www.opera.com/"&gt;Opera 10.6&lt;/a&gt;:&lt;br /&gt;I like Opera, they are like the little engine that could, but I think that they really need to rethink a few things. &lt;a href="http://blog.m1cr0sux0r.com/2009/06/opera-unite.html"&gt;I talked about Opera Unite&lt;/a&gt; in the past and I was excited about it. But it never worked properly and when it was working, it was so slow it was unusable. I love Opera mini for my Blackberry. In fact, I can't live without it. Perhaps Opera should spend more time and money on it's mobile browser. According to some &lt;a href="http://www.dailytech.com/Opera+106+The+Worlds+Fastest+Stable+Browser+Tested+vs+IE+9/article18909.htm"&gt;recent&lt;/a&gt; &lt;a href="http://news.downloadatoz.com/opera-10-6-faster-than-google-chrome-6-20100602.html"&gt;articles&lt;/a&gt;&amp;nbsp;Opera 10.6 has overtaken Google Chrome in speed tests and benchmarks. This has gotten some Opera fans in a tizzy about their favorite browser:&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;object height="295" style="background-image: url(http://i1.ytimg.com/vi/hUiq__WrO6w/hqdefault.jpg);" width="480"&gt;&lt;param name="movie" value="http://www.youtube.com/v/hUiq__WrO6w&amp;amp;hl=en_US&amp;amp;fs=1"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;embed src="http://www.youtube.com/v/hUiq__WrO6w&amp;amp;hl=en_US&amp;amp;fs=1" width="480" height="295" allowscriptaccess="never" allowfullscreen="true" wmode="transparent" type="application/x-shockwave-flash"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;I have never been a fan of benchmark tests or any "Lab Tests" that are run on hardware and software. I prefer to rely on my own personal "real use" tests. My general use test showed that overall (at least for the sites I use most) Chrome still performed faster. I would have bumped Opera up to number two, but FireFox just has too many features/extensions that I use every day, that I just don't have with Opera.&lt;/div&gt;&lt;br /&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;div style="text-align: left;"&gt;2)&lt;a href="http://www.mozilla.com/en-US/firefox/firefox.html"&gt;FireFox 3.6&lt;/a&gt;:&lt;/div&gt;&lt;div style="text-align: left;"&gt;For a long time FireFox was the only browser I would use. It has an extension for just about anything you could want to do on the Internet! It runs reasonably fast and renders most pages accurately. It is in line with many HTML5 features and could easily be the average users default browser. Just not mine. FireFox still takes way too long to open (before you get started, the default install of 3.6 with no extensions loads slowly) and the more extensions you add, the slower it gets! It still leaks memory like a sieve! If you leave a few tabs open and walk away from your computer to say, I don't know, go to lunch, you will most likely have to reboot your computer when you get back because your RAM will be all chewed up! The memory leaks have gotten better with each edition and I suppose that having the save &amp;amp; quit option allows you to close FireFox and pick it up again later. It's just annoying enough to keep me from using it as my number one.&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;div style="text-align: left;"&gt;1)&lt;a href="http://www.google.com/chrome/intl/en/landing_chrome.html?hl=en&amp;amp;brand=CHMB&amp;amp;utm_campaign=en&amp;amp;utm_source=en-ha-na-us-sk&amp;amp;utm_medium=ha"&gt;Google Chrome 5.0.375.99&lt;/a&gt;:&lt;/div&gt;&lt;div style="text-align: left;"&gt;At number one &amp;nbsp;is Google Chrome. It is the fastest browser available for the Windows operating system. I prefer speed and reliability above all else. I have chose Chrome as my default browser because it does almost everything faster than the other browsers available. I would like the ability to block ads and a &lt;a href="http://fireftp.mozdev.org/"&gt;&lt;span class="goog-spellcheck-word"&gt;FireFTP&lt;/span&gt;&lt;/a&gt;&amp;nbsp;extension would be AWESOME! I will continue to use FireFox for a few things here and there (like FTP access), but Chrome gets my overall seal of approval. There are a lot of developer functions built into Chrome as well. The ability to right-click and select Inspect Element on almost anything is a huge time saver for me. It allows you to quickly go right to the source code for any given object in a page. The Developer menu gives you even more options like the JavaScript console and the Developer's Tools panel. There is even a task manager built in that lets you see where the browser resources are going. Besides the time I am saving with the browser's overall speed the amount of time I save by being able to track and look at all the resources of a given page in one location is an amazing gift of productivity.&lt;br /&gt;&lt;br /&gt;What's your browser of choice?&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2980270584042445525-3347542718544459832?l=blog.m1cr0sux0r.com' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.m1cr0sux0r.com/2010/07/browser-wars.html</link><author>noreply@blogger.com (Michael Brown)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-2980270584042445525.post-7153749797922206261</guid><pubDate>Tue, 06 Jul 2010 14:44:00 +0000</pubDate><atom:updated>2010-07-06T10:44:52.995-04:00</atom:updated><title>Changes Changes</title><description>Over the past few months there has been some changes to Blogger's format and I was unable to update my blog. I recently had the time to convert all the old entries to the new format and forward all the old links to the new Blogger location. Sorry about the delay. New posts coming soon. Until then enjoy the new layout :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2980270584042445525-7153749797922206261?l=blog.m1cr0sux0r.com' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.m1cr0sux0r.com/2010/07/changes-changes.html</link><author>noreply@blogger.com (Michael Brown)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-2980270584042445525.post-5663447763074318113</guid><pubDate>Fri, 05 Feb 2010 19:00:00 +0000</pubDate><atom:updated>2010-02-05T17:18:54.515-05:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>Geek</category><category domain='http://www.blogger.com/atom/ns#'>Linux</category><category domain='http://www.blogger.com/atom/ns#'>Ubuntu</category><category domain='http://www.blogger.com/atom/ns#'>Text editors</category><category domain='http://www.blogger.com/atom/ns#'>Emacs</category><title>Learning Emacs Part 1</title><description>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.m1cr0sux0r.com/uploaded_images/gnu-780800.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 320px; height: 312px;" src="http://www.m1cr0sux0r.com/uploaded_images/gnu-780798.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;As I mentioned in my &lt;a href="http://www.m1cr0sux0r.com/2010/02/6-things-i-want-to-learn-this-year.html"&gt;last post&lt;/a&gt;, January and February were to be devoted to getting to know &lt;a href="http://www.gnu.org/software/emacs/"&gt;Emacs&lt;/a&gt; better. &lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;After reading "Tip 22: Use a Single Editor Well. Choose an editor, know it thoroughly, and use it for all editing tasks" in &lt;a href="http://www.amazon.com/gp/product/020161622X?ie=UTF8&amp;amp;tag=breakwindo-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=390957&amp;amp;creativeASIN=020161622X"&gt;The Pragmatic Programmer: From Journeyman to Master&lt;/a&gt;&lt;img src="http://www.assoc-amazon.com/e/ir?t=breakwindo-20&amp;amp;l=as2&amp;amp;o=1&amp;amp;a=020161622X" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /&gt;, I decided that I would go ahead with Emacs because I have used it some in the past and it would be available in both Linux and Windows, so I really could use it for all of my editing tasks. Also, I am a supporter of &lt;a href="http://www.gnu.org/"&gt;GNU&lt;/a&gt; and the &lt;a href="http://www.fsf.org/"&gt;FSF&lt;/a&gt;, so I figured I would give Emacs the first shot at being my all-purpose editor.&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;b&gt;&lt;i&gt;Overview&lt;/i&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;The first thing I learned about Emacs is that there is most likely nothing you can't do in Emacs! The second thing I learned is that with great power comes great complexity. Using Emacs is not something that I would call intuitive or even user friendly.  I also don't think that it was designed to be so.  It is really the single most powerful tool I have ever come across in my computing career.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;b&gt;&lt;i&gt;Installation&lt;/i&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;Since I was using Ubuntu 9.04, the installation couldn't have been easier. I went to the terminal and typed:&lt;/div&gt;&lt;div style="text-align: center;"&gt;sudo apt-get install emacs23&lt;/div&gt;&lt;div style="text-align: left;"&gt;After the download/installation completed, I just typed (also in the terminal) : &lt;/div&gt;&lt;div style="text-align: center;"&gt;emacs&lt;/div&gt;&lt;div style="text-align: left;"&gt;This brought up the main screen for Emacs. Installation successful! I also wanted to have it available to me for when I had to boot to my Windows partition as well, so I rebooted and began the &lt;a href="http://ftp.gnu.org/pub/gnu/emacs/windows/"&gt;download for Windows&lt;/a&gt;. After I downloaded the .zip file, I unpacked it and in the /bin directory is emacs.exe.  &lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;b&gt;&lt;i&gt;Using Emacs&lt;/i&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;When you first load Emacs and are greeted with the main screen, there are two links. The first is the Emacs Tutorial and the second is the&lt;a href="http://www.gnu.org/software/emacs/tour/"&gt; guided tour&lt;/a&gt;. I went through the tutorial and learned quite a few keyboard shortcuts. I really enjoy not having to take my hands off of the keyboard in order to use a mouse to move around. The most useful shortcut is M-f and M-b (M stands for the ALT key, so M-f means hold down the ALT key while pressing f). This moves the cursor either forward (f) one word or backward (b) one word. I have been using Emacs now for just over a month and I can tell you that I now hate all editors that don't do this!!! In fact, I installed Emacs on my work machine as well (Windows based, unfortunately). I can  no longer bare to use a mouse or hold down the arrow keys just to move a cursor around!&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;I will admit that I still find myself looking at the&lt;a href="http://refcards.com/docs/gildeas/gnu-emacs/emacs-refcard-a4.pdf"&gt; refcard&lt;/a&gt; for certain key combinations and that the learning curve is steep, I have already noticed a significant increase in productivity. I just recently discovered &lt;a href="http://orgmode.org/"&gt;Org-mode&lt;/a&gt; (M-x org-mode). Which lets you do all sorts of amazing things and gives me more reasons to use Emacs. I have also started looking into &lt;a href="http://emacspeak.sourceforge.net/releases/release-31.0.html"&gt;Emcaspeak&lt;/a&gt;, which apparently lets you tweet from Emacs on top of other things. There is also a Blogger add-on that will let me write and post my posts from Emacs! Hopefully my next post will be written in and posted through Emacs.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2980270584042445525-5663447763074318113?l=blog.m1cr0sux0r.com' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.m1cr0sux0r.com/2010/02/learning-emacs-part-1.html</link><author>noreply@blogger.com (Michael Brown)</author><thr:total>1</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-2980270584042445525.post-7827670412231792243</guid><pubDate>Tue, 02 Feb 2010 18:14:00 +0000</pubDate><atom:updated>2010-02-02T13:59:58.632-05:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>Coding</category><title>6 Things I Want to Learn This Year</title><description>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.m1cr0sux0r.com/uploaded_images/cal2010-731795.jpg"&gt;&lt;br /&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 300px; height: 300px;" src="http://www.m1cr0sux0r.com/uploaded_images/cal2010-731784.jpg" border="0" alt="" /&gt;&lt;/a&gt;In the last few years I have found that software developers generally come in only three flavors:&lt;div&gt;&lt;br /&gt;&lt;div&gt;1)&lt;b&gt;The  Rockstar:&lt;/b&gt;&lt;/div&gt;&lt;div&gt;In this case, I am not talking about the &lt;a href="http://www.javalobby.org/java/forums/t65399.html"&gt;standard definition&lt;/a&gt;, I'm talking about the programmers who get by on talent alone. They come to a job and they know about as much as they are going to know. They may pick up a few tricks here and there, but they are good enough that they don't have to work at it.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;2)&lt;b&gt;The Jazz Man:&lt;/b&gt;&lt;/div&gt;&lt;div&gt;The Jazz man may not have been born with the most talent, but they never let that stop them. They continually work on their craft and try to be creative and inventive in everything they do.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;3)&lt;b&gt;The Pop Singer:&lt;/b&gt;&lt;/div&gt;&lt;div&gt;Everything they write is terrible and full of bugs. The UI may look nice on the outside, but on the inside, it's mayhem and confusion. This code will be impossible to maintain and they will usually only be around for a short period of time.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Since, I like to think of myself as a Jazz Man (programatically speaking), I decided that this year I was going to find 6 ways to become a better programmer. As a way of helping me along, I am going to blog about them as well.  Along the way I will pass along the Websites I found useful (or not useful), the books I read, and some examples of the work I did.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;While reading &lt;a href="http://www.amazon.com/gp/product/020161622X?ie=UTF8&amp;amp;tag=breakwindo-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=390957&amp;amp;creativeASIN=020161622X"&gt;The Pragmatic Programmer &lt;/a&gt;, I came across a few ideas as to how I can become a better programmer and I decided that, every two months, I would actively try to take my knowledge of a subject to the next level. Here is my List:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;January &amp;amp; February&lt;/b&gt;: Emacs&lt;/div&gt;&lt;div&gt;&lt;b&gt;March &amp;amp; April&lt;/b&gt;: Bash Scripting&lt;/div&gt;&lt;div&gt;&lt;b&gt;May &amp;amp; June&lt;/b&gt; :The LISP Programming Language&lt;/div&gt;&lt;div&gt;&lt;b&gt;July &amp;amp; August&lt;/b&gt; : Regular Expressions&lt;/div&gt;&lt;div&gt;&lt;b&gt;September &amp;amp; October&lt;/b&gt; : The C Programming Language&lt;/div&gt;&lt;div&gt;&lt;b&gt;November &amp;amp; December&lt;/b&gt; : JavaScript&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;These are all tools/languages/ideas if which I have at least a fundamental knowledge. I am going to attempt to delve deeper and increase my comfortability with them in order to become a faster, more efficient programmer. This shouldn't be that difficult for me because I really do enjoy programming and I think that this will be a fun way to also help me reduce my addiction to TV!&lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt;Join me if you like, follow along and of course feel free to suggest some alternative methods/books/sites etc.&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2980270584042445525-7827670412231792243?l=blog.m1cr0sux0r.com' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.m1cr0sux0r.com/2010/02/6-things-i-want-to-learn-this-year.html</link><author>noreply@blogger.com (Michael Brown)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-2980270584042445525.post-2185763802832704356</guid><pubDate>Tue, 06 Oct 2009 12:21:00 +0000</pubDate><atom:updated>2010-02-05T18:55:26.930-05:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>Technology</category><category domain='http://www.blogger.com/atom/ns#'>Zombie</category><category domain='http://www.blogger.com/atom/ns#'>Fail</category><category domain='http://www.blogger.com/atom/ns#'>Jetsons</category><category domain='http://www.blogger.com/atom/ns#'>Star Wars</category><title>Fail! : Top Ten Technologies we still don't have</title><description>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.m1cr0sux0r.com/uploaded_images/Jetsons-785091.gif"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 290px; height: 320px;" src="http://www.m1cr0sux0r.com/uploaded_images/Jetsons-785088.gif" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;When I was a kid, I used to love to watch The Jetsons.  That was a great cartoon! I marveled at all the possibilities the future would hold. Robot maids, video phones,  and of course, flying cars! &lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Over the years, promises of household robots have come and gone (with the exception of the Roomba). Flying cars, while a great concept, are a practical nightmare. Even if we are able to design and build an affordable flying car that is both easy to operate and stable, we would still have to deal with the fact that &lt;b&gt;PEOPLE CAN'T DRIVE IN TWO DIMENSIONS, WHY THE HELL SHOULD WE GIVE THEM A THIRD!!!&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;Well 30 years later, at least we have video phones and a list of the Top 10 technologies I was sure we'd have by now:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;10) &lt;b&gt;Spell Checkers that actually work:&lt;/b&gt;&lt;/div&gt;&lt;div&gt;Computers have been around long enough (dictionaries have been around even longer) for us to have figured out a way to ensure that we never misspell a word again! Why is it that contextual spell check still doesn't work?&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;9)&lt;b&gt;The Paperless Office:&lt;/b&gt;&lt;/div&gt;&lt;div&gt;I can not remember how long I have heard that we are going to have a paperless office! It seems like every few years a new technology comes along that is going usher in the era of the paperless office, and yet it never comes. Today, with all the green technology and the emphasis on being earth friendly, people still print out every e-mail they receive and I have no idea why.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Also, why is it that when I purchase something on a credit card, the store has to print a receipt for me to sign and one for me to take with me? Why can't I sign electronically everywhere (some stores have this ability and some don't). Going even further, why can't I have an e-mail address tied to my credit card account that automatically e-mails me a receipt of my purchase? &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;P.S. All books should be electronic as well! All you sentimental people who say "but I love the smell of books", give me a break! Do you even think about the number of trees that have to be cut down to create paper for books? What about all the copies that never get sold, what a waste of our natural resources!!!! E-books save money and resources, which is why we created the technology in the first place, deal with it!&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt;8)&lt;b&gt;Holograms and Lightsabers, the Star Wars Effect:&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.m1cr0sux0r.com/uploaded_images/emperor.jpg"&gt;&lt;img style="float:left; margin:10px 10px 10px 10px;cursor:pointer; cursor:hand;width: 290px; height: 200px;" src="http://www.m1cr0sux0r.com/uploaded_images/emperor.jpg" border="0" alt="" /&gt;&lt;/a&gt;Who among us didn't want a lightsaber??Not that I think these are a better idea than flying cars, but they would be useful during the eventual &lt;a href="http://www.amazon.com/dp/B000JMKQX0/?tag=breakwindo-20"&gt;zombie&lt;/a&gt; &lt;span class="Apple-style-span"  style="  border-collapse: collapse; white-space: pre; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; font-family:arial, sans-serif;"&gt;&lt;a href="http://www.cracked.com/article_15643_5-scientific-reasons-zombie-apocalypse-could-actually-happen.html"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;apocalypse&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;! How about the first time you saw the emperor and Darth Vader communicate via hologram, yeah that was over 30 years ago...and still no holograms! When I was a kid, they promised that by the year 2000 we would have all this cool stuff and they lied! We are however getting closer with these new &lt;a href="http://www.akihabaranews.com/en/news-19042-[CEATEC+09-+Live]+Sony+3D+Wonder%E2%80%A6.html"&gt;3-D TVs&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;7)&lt;b&gt;True On-Demand:&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/UZ9qcp6Lcno&amp;amp;color1=0xb1b1b1&amp;amp;color2=0xcfcfcf&amp;amp;hl=en&amp;amp;feature=player_embedded&amp;amp;fs=1"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowScriptAccess" value="always"&gt;&lt;embed src="http://www.youtube.com/v/UZ9qcp6Lcno&amp;amp;color1=0xb1b1b1&amp;amp;color2=0xcfcfcf&amp;amp;hl=en&amp;amp;feature=player_embedded&amp;amp;fs=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;&lt;div&gt;Does anybody besides me remember this &lt;a href="http://www.qwest.com/residential/?refCode=RES000002374"&gt;Qwest&lt;/a&gt; commercial in the late 90's (I think that it was 1999, but I'm not sure) that promised that you would be able to watch any movie any time in any language? I do. I remember when we were promised true on demand TV and movies. Sure, your local cable company has on demand, but it's still only what they want you to see. We have sites like &lt;a href="http://www.hulu.com/"&gt;Hulu&lt;/a&gt;, that allow us to watch a selection of TV and Movies from several providers, but it still isn't even close to everything! I want to be able to watch every episode of the show &lt;a href="http://www.imdb.com/title/tt0101115/plotsummary"&gt;Herman's Head&lt;/a&gt;(I don't judge you, so you shouldn't judge me, okay), whenever I feel like it, dammit!&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;6)&lt;b&gt;Speech to Text and Vice Versa:&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.m1cr0sux0r.com/uploaded_images/startrek.jpg"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 290px; height: 280px;" src="http://www.m1cr0sux0r.com/uploaded_images/startrek.jpg" border="0" alt="" /&gt;&lt;/a&gt;Before I even get started on this one, let me be sure to mention that Apple has done a great job improving their text to speech software (Are you happy &lt;a href="http://twitter.com/kaffeinated"&gt;@kaffeinated&lt;/a&gt;???). That aside, it still isn't good enough.  I will consider a technology "good enough" when my parents can use it after a short tutorial (they are using &lt;a href="http://www.ubuntu.com/"&gt;Ubuntu Linux&lt;/a&gt; and I don't get any more tech support calls). Text to speech has been a staple of every vision of the future we have ever seen. One day I will be able to talk to my computer much like they did in &lt;a href="http://www.startrek.com/startrek/view/index.html"&gt;Star Trek&lt;/a&gt;. I just don't get it, I have speakers and a microphone, why can't my computer and I use voice interaction for most activities. I'm not looking for a great conversationalist, I just want it to read things to me while I get dressed, in a pleasing voice (sorry, the &lt;a href="http://www.speaknspell.co.uk/"&gt;speak and spell&lt;/a&gt; voice is horrible).&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;5)&lt;b&gt;Language translation:&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.m1cr0sux0r.com/uploaded_images/drtardis.jpg"&gt;&lt;img style="float:left; margin:10px 10px 10px 10px;cursor:pointer; cursor:hand;width: 200px; height: 320px;" src="http://www.m1cr0sux0r.com/uploaded_images/drtardis.jpg" border="0" alt="" /&gt;&lt;/a&gt; This particular piece of technology would be so useful. This is one of the few to make the list that &lt;i&gt;needs &lt;/i&gt;to become reality! There is no limit to the amount of good that this kind of technology could do.  This is one of the things that could make tomorrow's Internet great instead of good. &lt;a href="http://www.google.com/"&gt;Google&lt;/a&gt; has done some &lt;a href="http://translate.google.com/#"&gt;great work&lt;/a&gt; on this front and has plans to incorporate their work into &lt;a href="https://wave.google.com/"&gt;Google Wave&lt;/a&gt;. That aside, I am still hopeful that we can have something similar to the TARDIS, that would translate language for you on the fly. No such luck. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Right now, we can barely translate Web pages well enough to read, let alone translating whole audio files. There are a lot of great podcasts and such that are generated in English that would be so useful to people in other countries. Most of them have to rely on someone who is bi-lingual to manually translate the audio files into transcripts. We should be able to generate transcripts of our podcasts into any known language!&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;4)&lt;b&gt;Super High Speed, In Your Face, Whole World is Connected, Internet:&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;object width="497" height="280"&gt;&lt;param name="movie" value="http://news.sky.com/sky-news/app/flash/SkyvideoWrapper.swf?playerType=embedded&amp;amp;type=sky_prod_v7&amp;amp;videoSourceID=1779532&amp;amp;flashVideoUrl=/feeds/skynews/latest/flash/broadband_hills_p1413_290109.flv"&gt;&lt;param name="allowFullSceen" value="true"&gt;&lt;param name="allowScriptAccess" value="always"&gt;&lt;embed src="http://news.sky.com/sky-news/app/flash/SkyvideoWrapper.swf?playerType=embedded&amp;amp;type=sky_prod_v7&amp;amp;videoSourceID=1779532&amp;amp;flashVideoUrl=/feeds/skynews/latest/flash/broadband_hills_p1413_290109.flv" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="497" height="280"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;&lt;div&gt;Sooner or later, someone is going to need to explain this one. There is no reason why, when we have enough satellites to look into my bathroom from outer space, that we can't give everyone high speed Internet access. There are still places in this country (let alone the entire world) where the only option is dial-up. Really? We can spend money bailing out companies with bad business models, but we can't get &lt;a href="http://money.cnn.com/2009/08/11/smallbusiness/stimulus_billions_for_rural_broadband.smb/"&gt;affordable broadband&lt;/a&gt; in &lt;a href="http://www.exploreasheville.com/index.aspx"&gt;Asheville N.C&lt;/a&gt; (just picked them at random, there are plenty of cities in worse situations than Asheville I'm sure).&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Is the &lt;a href="http://laptop.org/en/"&gt;One Laptop Per Child &lt;/a&gt;program still going? I'm pretty sure this is just a pipe dream, but why can't we give people in third world countries an opportunity to learn and communicate via the Web? In combination with number 5, this would be outstanding. Imagine what we could accomplish with a truly global community and no communications barrier!&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;3)&lt;b&gt;Editable UI:&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.m1cr0sux0r.com/uploaded_images/Terminate.jpg"&gt;&lt;img style="float:left; margin:10px 10px 10px 10px;cursor:pointer; cursor:hand;width: 290px; height: 320px;" src="http://www.m1cr0sux0r.com/uploaded_images/Terminate.jpg" border="0" alt="" /&gt;&lt;/a&gt;I credit &lt;a href="http://twitter.com/kaffeinated"&gt;@kaffeinated&lt;/a&gt; for this one (check out his &lt;a href="http://www.highlykaffeinated.com/"&gt;site&lt;/a&gt;), while not directly shown during all the future glimpses, the editable UI is sort of a given.  Imagine if the Terminator received mission priority messages as pop-unders or if Arnold had to switch to folder view to  read the message. We should be able to change absolutely everything about the user interface of our computer. While we are getting closer with each new operating system upgrade, the mobile market is moving further and further away from that (that means you, &lt;a href="http://www.apple.com/iphone/"&gt;IPhone&lt;/a&gt;). While the IPhone has a great UI, there is little you can do to make it your own! I want to be able to change everything. The way it is now, my computer has difficulty remembering where I like my icons with a dual monitor setup, how are we ever going to get to having our own Heads Up Display?&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;2)&lt;b&gt;Genetic Modification/Nanobots:&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.m1cr0sux0r.com/uploaded_images/robocop.jpg"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 200px; height: 320px;" src="http://www.m1cr0sux0r.com/uploaded_images/robocop.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;The super soldier, bulletproof skin,  and x-ray vision, all of this was supposed to be possible by now. Through genetic modification and/or the use of nanotechnology.  We were starting to make some real breakthroughs in stem cell research. Unfortunately, the world at large is still silly and hanging onto some &lt;a href="http://www.creationism.org/"&gt;weird superstitious beliefs that a man in the clouds&lt;/a&gt; will come down and smite us if we mess around with genetic modifications. Sure we'll screw up a few times, maybe make a velociraptor-man that goes on a killing spree, but it would totally be worth it if I could get my cat-tail (or at least &lt;a href="http://news.nationalgeographic.co.in/news/2009/09/090916-color-blind-gene-monkeys.html"&gt;not be colorblind anymore&lt;/a&gt;).  &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;1)&lt;b&gt;Sim-Stim/Virtual Reality/Smell-A-Vision:&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.m1cr0sux0r.com/uploaded_images/Gibson.jpg"&gt;&lt;img style="float:left; margin:10px 10px 10px 10px;cursor:pointer; cursor:hand;width: 180px; height: 320px;" src="http://www.m1cr0sux0r.com/uploaded_images/Gibson.jpg" border="0" alt="" /&gt;&lt;/a&gt;There are so many reasons why this would be awesome and an equal number of reasons why it would be terrible(You think the World of Warcraft addiction is bad now...). We have been promised virtual reality for as far back as I can remember. There have been &lt;a href="http://en.wikipedia.org/wiki/Virtual_Boy"&gt;video games&lt;/a&gt;, &lt;a href="http://www.imdb.com/title/tt0109327/"&gt;movies&lt;/a&gt;, and &lt;a href="http://www.amazon.com/dp/0553281747/?tag=breakwindo-20"&gt;books&lt;/a&gt; that promised that we would be able to escape everyday reality. We could enter a virtual reality, where we would not only see, but feel, taste, smell, and experience life from another point of view. The closest we get is &lt;a href="http://secondlife.com/?lang=en-US"&gt;Second Life&lt;/a&gt; and that's worse than actual reality! For a long time I was rooting for the porn industry (they always seem to be way ahead of the curve, don't believe me, &lt;a href="http://www.fox.com/dollhouse/virtualecho/"&gt;check this out&lt;/a&gt;, FOX is billing this virtual desktop Echo as a new idea. The porn industry has had virtual desktop strippers available for about 10 years!) to really move the whole VR/Sim-Stim technology ahead. I thought maybe if they combined nanobots and VR technology we could have a total body experience! I guess even the porn industry knows a dead end when they see one. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I wonder if in 20-30 years someone else will write about how pissed they are that we can't "jack in" to our computers like they did in the Matrix?&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2980270584042445525-2185763802832704356?l=blog.m1cr0sux0r.com' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.m1cr0sux0r.com/2009/10/fail-top-ten-technologies-we-still-dont.html</link><author>noreply@blogger.com (Michael Brown)</author><thr:total>3</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-2980270584042445525.post-7669601430765480508</guid><pubDate>Fri, 14 Aug 2009 17:51:00 +0000</pubDate><atom:updated>2009-08-14T14:58:49.876-04:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>Michael Barude</category><category domain='http://www.blogger.com/atom/ns#'>software development</category><category domain='http://www.blogger.com/atom/ns#'>Jeff Atwood</category><category domain='http://www.blogger.com/atom/ns#'>Cat Fight</category><title>Web applications Vs. Desktop Applications</title><description>&lt;div&gt;&lt;blockquote&gt;&lt;/blockquote&gt;I do not normally make a habit of writing about other blogs or stories that I have read, but this is something that I could not ignore. There is turf war going on between traditional programmers and Web programmers, and it's time to put an end to it!&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;This all started with a highly contested blog entry by&lt;a href="http://michaelbraude.blogspot.com/2009/05/why-ill-never-be-web-guy.html"&gt;Michael Barude&lt;/a&gt;, which was quickly followed up by &lt;a href="http://www.codinghorror.com/blog/archives/001296.html"&gt;Jeff Atwood&lt;/a&gt;. They both had some pretty heated things to say about the other's chosen medium. I'll save you some time and give you the best lines from each:&lt;div&gt;&lt;br /&gt;&lt;div&gt;&lt;div style="text-align: center;"&gt;Michael&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Verdana; color: rgb(1, 67, 123); font-size: 13px; "&gt;&lt;blockquote&gt;The reason most people want to program for the web is that they’re not smart enough to do anything else&lt;/blockquote&gt;&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span"  style="color:#000000;"&gt;Jeff&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: rgb(51, 51, 51); font-family: calibri; font-size: 16px; line-height: 20px; "&gt;&lt;blockquote&gt;You &lt;i&gt;hope&lt;/i&gt; everything doesn't "move to the web"? Wake the hell up! &lt;b&gt;It's already happened!&lt;/b&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;b&gt;&lt;blockquote&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;/blockquote&gt;&lt;/b&gt;&lt;/blockquote&gt;&lt;/span&gt;&lt;/div&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="font-family:calibri;color:#333333;"&gt;&lt;span class="Apple-style-span" style="line-height: 20px;"&gt;&lt;b&gt;In order to put this cat fight to bed, I propose the following: &lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="font-family:calibri;color:#333333;"&gt;&lt;span class="Apple-style-span" style="line-height: 20px;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="font-family:calibri;color:#333333;"&gt;&lt;span class="Apple-style-span" style="line-height: 20px;"&gt;1) Each side must realize that there is terrible code written every day, both on the Web and on the Desktop.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="font-family:calibri;color:#333333;"&gt;&lt;span class="Apple-style-span" style="line-height: 20px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="font-family:calibri;color:#333333;"&gt;&lt;span class="Apple-style-span" style="line-height: 20px;"&gt;2) There are &lt;a href="http://www.m1cr0sux0r.com/2009/05/google-wave-preview.html"&gt;groundbreaking &lt;/a&gt;and &lt;a href="http://mono-project.com/Main_Page"&gt;terriffic&lt;/a&gt; apps written every day (most of them never get any attention) and they come in Web based applications as well as desktop applications.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="font-family:calibri;color:#333333;"&gt;&lt;span class="Apple-style-span" style="line-height: 20px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="font-family:calibri;color:#333333;"&gt;&lt;span class="Apple-style-span" style="line-height: 20px;"&gt;3) The majority of programmers are not very good (I include myself in this. If you say that you haven't written bad code, you have either never written code or you are a liar).&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="font-family:calibri;color:#333333;"&gt;&lt;span class="Apple-style-span" style="line-height: 20px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="font-family:calibri;color:#333333;"&gt;&lt;span class="Apple-style-span" style="line-height: 20px;"&gt;4) You can not blame the medium for the work of the artist!&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="font-family:calibri;color:#333333;"&gt;&lt;span class="Apple-style-span" style="line-height: 20px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="font-family:calibri;color:#333333;"&gt;&lt;span class="Apple-style-span" style="line-height: 20px;"&gt;Saying that someone isn't smart or sterotyping users of a particular medium is bad form! No matter who you work for (&lt;a href="http://www.microsoft.com"&gt;Michael&lt;/a&gt;) or how popular you are(&lt;a href="http://stackoverflow.com/users/1"&gt;Jeff)&lt;/a&gt;! &lt;a href="http://en.wikipedia.org/wiki/Jimmy_Page"&gt;Jimmy Page&lt;/a&gt; isn't dumb because he chose to play the Electric guitar in a rock band, instead of being a concert pianist (in fact, most would say he was smarter for his choice). &lt;a href="http://www-cs-staff.stanford.edu/~uno/taocp.html"&gt;Programming is an art form&lt;/a&gt; (no matter what everyone else believes). Just like every form of art, there is going to be &lt;a href="http://www.museumofbadart.org/collection/"&gt;a million bad artists&lt;/a&gt; for every &lt;a href="http://en.wikipedia.org/wiki/Pablo_Picasso"&gt;great one&lt;/a&gt;.  I think that I agree with&lt;span class="Apple-style-span" style="color: rgb(50, 50, 50); font-family: Calibri; line-height: 19px; font-size: 15px; font-style: italic; "&gt; &lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Calibri; line-height: 19px; font-size: 15px; "&gt;&lt;span class="Apple-style-span"  style="color:#000000;"&gt;&lt;a href="http://nunnone.com/blog/opinions/web-guysvs-real-programmers/"&gt;Joshuua Nunn&lt;/a&gt; :&lt;blockquote&gt;&lt;/blockquote&gt;&lt;span class="Apple-style-span" style="color: rgb(50, 50, 50); "&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="font-family:calibri;color:#333333;"&gt;&lt;span class="Apple-style-span" style="line-height: 20px;"&gt;&lt;span class="Apple-style-span" style="font-family: Calibri; line-height: 19px; font-size: 15px; "&gt;&lt;span class="Apple-style-span"  style="color:#000000;"&gt;&lt;span class="Apple-style-span" style="color: rgb(50, 50, 50); "&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;blockquote&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="font-family:calibri;color:#333333;"&gt;&lt;span class="Apple-style-span" style="line-height: 20px;"&gt;&lt;span class="Apple-style-span" style="font-family: Calibri; line-height: 19px; font-size: 15px; "&gt;&lt;span class="Apple-style-span"  style="color:#000000;"&gt;&lt;span class="Apple-style-span" style="color: rgb(50, 50, 50); "&gt;if you dismiss web apps, you dismiss a &lt;em&gt;lot&lt;/em&gt; of clever, well written programs right out of the gate.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"    style="font-family:Calibri;font-size:130%;color:#323232;"&gt;&lt;span class="Apple-style-span" style="font-size: 15px; line-height: 19px;"&gt;&lt;blockquote&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;/blockquote&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;blockquote&gt;&lt;blockquote&gt;&lt;div&gt;&lt;span class="Apple-style-span"    style="font-family:Calibri;font-size:130%;color:#323232;"&gt;&lt;span class="Apple-style-span" style="font-size: 15px; line-height: 19px;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;/blockquote&gt;&lt;/blockquote&gt;&lt;span&gt;&lt;span&gt;&lt;span style="line-height: 115%; font-family: Calibri, sans-serif; "&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;I also think that there is still a very bright future for desktop apps as well. As it stands now, there is no Web Office System that even comes close to comparing to &lt;/span&gt;&lt;a href="http://www.openoffice.org/"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;Open Office&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;, let alone &lt;/span&gt;&lt;a href="http://office.microsoft.com/en-us/default.aspx"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;Microsoft Office&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;. There are always going to be ERP  Systems and other Business Development Tools that will need to be installable on the Desktop.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:Calibri;"&gt;&lt;span class="Apple-style-span" style="line-height: 18px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;span class="Apple-style-span"  style="font-family:Calibri;"&gt;&lt;span class="Apple-style-span" style="line-height: 18px;"&gt;There will always be a need for great code that solves a problem and/or provides a service. The average user doesn't care if it is on the Web or on thier desktop. They just want it to work and be useable. &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:Calibri;"&gt;&lt;span class="Apple-style-span" style="line-height: 18px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;span class="Apple-style-span"  style="font-family:Calibri;"&gt;&lt;span class="Apple-style-span" style="line-height: 18px;"&gt;&lt;b&gt;We, the artists, are the only one's arguing about this!&lt;/b&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="font-family:calibri;color:#333333;"&gt;&lt;span class="Apple-style-span" style="line-height: 19px; font-family: Calibri; font-size: 15px; "&gt;&lt;span class="Apple-style-span"  style="color:#000000;"&gt;&lt;blockquote&gt;&lt;blockquote style="text-align: left;"&gt;&lt;span class="Apple-style-span"  style="color:#323232;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;/blockquote&gt;&lt;span class="Apple-style-span" style="color: rgb(50, 50, 50); "&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2980270584042445525-7669601430765480508?l=blog.m1cr0sux0r.com' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.m1cr0sux0r.com/2009/08/web-applications-vs-desktop.html</link><author>noreply@blogger.com (Michael Brown)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-2980270584042445525.post-5950235243088338207</guid><pubDate>Thu, 06 Aug 2009 15:44:00 +0000</pubDate><atom:updated>2009-08-09T10:49:53.131-04:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>Programming</category><category domain='http://www.blogger.com/atom/ns#'>Java</category><category domain='http://www.blogger.com/atom/ns#'>software development</category><category domain='http://www.blogger.com/atom/ns#'>Groovy</category><category domain='http://www.blogger.com/atom/ns#'>Coding</category><title>Feelin' Groovy</title><description>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://media.xircles.codehaus.org/_projects/groovy/_logos/medium.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 203px; height: 100px;" src="http://media.xircles.codehaus.org/_projects/groovy/_logos/medium.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;p class="MsoNormal"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;For the last six months or so, I have been spending some quality time with &lt;/span&gt;&lt;a href="http://groovy.codehaus.org/"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;Groovy&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;. For those of you who may not already know, Groovy is awesome! &lt;/span&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;Groovy is a programming language that is an extension of the Java Platform. It is a scripting language that is similar to Ruby. Groovy uses a lot of the standard Java syntax and since it compiles down to Java bytecode, it can be used in any Java project and can supplement any Java applications that you may be working on. Groovy has been around, in one form or another, since it was created by &lt;/span&gt;&lt;a href="http://radio.weblogs.com/0112098/2003/08/29.html"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;James Strachan in August of 2003&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;. Since then it has become part of the java standard (&lt;/span&gt;&lt;a href="http://jcp.org/en/jsr/detail?id=241"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;JSR 241&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;).&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;The JSR describes Groovy’s place in the Java world as: &lt;/span&gt;&lt;/p&gt;  &lt;!--EndFragment--&gt;   &lt;p class="MsoNormal"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;span style="color: rgb(102, 102, 102);"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;span style="color: rgb(102, 102, 102);"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;p class="MsoNormal"&gt;&lt;span style=";font-family:&amp;quot;;color:#666666;"  &gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Currently the Java community does not have a standard JCP-sanctioned agile programming language for writing scripts and applications that interoperate with the entire J2SE platform.&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:&amp;quot;;color:#666666;"  &gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Groovy makes writing scripts and applications for the Java Virtual Machine fast and easy. Groovy includes language features found in Python, Ruby, and Smalltalk, but uses syntax natural to developers that use the Java programming language. Because Groovy is based on J2SE, applications written in Groovy can use the full complement of J2SE APIs, and work seamlessly with other packages and applications written in the Java programming language&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p class="MsoNormal"&gt;&lt;span style=";font-family:&amp;quot;;color:#666666;"  &gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 0);"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;Groovy is a dynamically typed language that is not compiled until runtime. It's this reason that many Java developers use Groovy to build prototypes of thier programs. This speeds up development and because Groovy is a part of the JVM, it can easily be translated into Java. You don't even have to translate the Groovy code. &lt;a href="http://netbeans.tv/screencasts/Groovy-Makes-Java-Better-407/"&gt;You could just utilize it as part of a Java project:&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;Now there is even a project called &lt;/span&gt;&lt;a href="http://code.google.com/p/groovy-lamp/"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;Groovy Runner &lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;that will let you run any Groovy file on an Apache server the same as you would PHP. This lets you avoid the Java Web server all together!&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;The downside thus far has been the difficulty rating in &lt;a href="http://www.eclipse.org/"&gt;Eclipse&lt;/a&gt;. &lt;a href="http://www.m1cr0sux0r.com/2009/06/eclipse-galileo-review.html"&gt;I love Eclipse &lt;/a&gt;&lt;/span&gt;but using the Groovy plug in is buggy at best.  However, you can save a lot of time over the life of a project, by using Groovy.  Just something as simple as adding two random numbers together takes 50% less work and lies of code:&lt;/p&gt;&lt;p class="MsoNormal"&gt;Java Example:&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;&lt;pre&gt;import java.util.Random;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;public class AdditionFlash{&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;    public static void main (String args[]) {&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;        Random rnd = new Random();&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;        int[] numbers = {0,1,2,3,4,5,6,7,8,9};&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;        int random1 = rnd.nextInt(numbers.length);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;        int random2 = rnd.nextInt(numbers.length);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;        int addNums = random1 + random2;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;        System.out.println("  " + random1);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;        System.out.println("+ " + random2);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;        System.out.println("_____");&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;        System.out.print("  " + addNums);&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;    }//end main&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;}//end class&lt;/span&gt;&lt;/pre&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;Groovy Example:&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="color: rgb(255, 102, 0);"&gt;import java.util.Random;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 0);"&gt;def list = [0,1,2,3,4,5,6,7,8,9]&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 0);"&gt;random = new Random()&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 0);"&gt;random1 = random.nextInt(list.size)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 0);"&gt;random2 = random.nextInt(list.size)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 0);"&gt;addNums = random1 + random2&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 0);"&gt;println "  " + random1&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 0);"&gt;println "+ " + random2&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 0);"&gt;println "_____"&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 0);"&gt;println "  " + addNums&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;As you can see most of the boilerplate code that is commonplace in Java is unnecessary with Groovy. If you want to save time on  your next Java project, perhaps you should give Groovy a try!&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt; There are plenty of resources to help you get started with Groovy, such as &lt;/span&gt;&lt;a href="http://www.google.com/search?rlz=1C1CHMR_enUS325US325&amp;amp;sourceid=chrome&amp;amp;ie=UTF-8&amp;amp;q=Groovy+Pdcasts"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;Groovy Podcasts&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;, &lt;/span&gt;&lt;a href="http://www.amazon.com/gp/redirect.html?ie=UTF8&amp;amp;location=http%3A%2F%2Fwww.amazon.com%2Fs%3Fie%3DUTF8%26rs%3D1000%26ref%255F%3Dsr%255Fnr%255Fn%255F0%26keywords%3DGroovy%2520%26bbn%3D1000%26qid%3D1249587623%26rnid%3D1000%26rh%3Di%253Astripbooks%252Ck%253AGroovy%2520%252Cn%253A%25211000%252Cn%253A5&amp;amp;tag=breakwindo-20&amp;amp;linkCode=ur2&amp;amp;camp=1789&amp;amp;creative=390957"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;Groovy Books&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;img src="https://www.assoc-amazon.com/e/ir?t=breakwindo-20&amp;amp;l=ur2&amp;amp;o=1" alt="" style="border: medium none  ! important; margin: 0px ! important; -moz-binding: url(chrome://global/content/bindings/general.xml#asdfzxcv);" border="0" height="1" width="1" /&gt;, &lt;/span&gt;&lt;a href="http://groovy.dzone.com/"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;Groovy Zone&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;, and &lt;/span&gt;&lt;a href="http://stackoverflow.com/questions/tagged/groovy"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;Groovy Overflow&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;&lt;/span&gt;&lt;p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:&amp;quot;;font-size:12;color:#666666;"   &gt;&lt;/span&gt;&lt;/p&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2980270584042445525-5950235243088338207?l=blog.m1cr0sux0r.com' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.m1cr0sux0r.com/2009/08/feelin-groovy.html</link><author>noreply@blogger.com (Michael Brown)</author><thr:total>2</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-2980270584042445525.post-4889908746591729926</guid><pubDate>Tue, 28 Jul 2009 19:11:00 +0000</pubDate><atom:updated>2009-08-02T09:41:30.379-04:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>Open Source</category><category domain='http://www.blogger.com/atom/ns#'>Linux</category><category domain='http://www.blogger.com/atom/ns#'>Free Software Foundation</category><category domain='http://www.blogger.com/atom/ns#'>gNewSense</category><title>gNew Sense saves the day and some self promotion</title><description>&lt;div style="TEXT-ALIGN: left"&gt;&lt;span class="Apple-tab-span" style="WHITE-SPACE: pre"&gt;&lt;/span&gt;Alright, as many of you may know, I am a self proclaimed Linux Evangelist. I love Linux and I am a big fan of the Open Source Community. I have been a long time user and promoter for Ubuntu. Today, I am going to give some love to a Gnu/Linux distribution that does not get enough credit and that is &lt;a href="http://www.gnewsense.org/"&gt;gNewSense&lt;/a&gt; (not just open source, it's Free Software). I downloaded and burnt the ISO file for gNewSense onto a CD last night because I have a thumb drive that failed (&lt;a href="http://www.amazon.com/dp/B0013HHDH2/?tag=breakwindo-20"&gt;OCZ ATV 32Gig&lt;/a&gt;) for the second time. I had some data on there that I didn't want to lose (nothing important or personal, just some software I didn't want to download again) and I hadn't backed it up in a few months (you think I would have learned after the first time). I tried to get to the data via Ubuntu and I also tried in Windows. Neither worked.&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="WHITE-SPACE: pre"&gt;&lt;/span&gt;I decided to give another version of Linux a try, hopefully something supported by the &lt;a href="http://www.fsf.org/"&gt;Free Software Foundation&lt;/a&gt; (more on them later). This is where I found &lt;a href="http://www.gnewsense.org/"&gt;gNewSense&lt;/a&gt;. I decided to load the Live CD and see if it would read my bad thumb drive. As I am sure that you have guessed by now, my thumb drive mounted fine and I copied all of the data off of it. I now have all of my data and learned a valuable lesson about backing up your thumb drive regularly. Thanks to &lt;a href="http://www.gnewsense.org/"&gt;gNewSense&lt;/a&gt; I did not have to learn this lesson the hard way.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="WHITE-SPACE: pre"&gt;&lt;/span&gt;I enjoyed using &lt;a href="http://www.gnewsense.org/"&gt;gNewSense&lt;/a&gt; so much, that I am going to give it a partition on my hard drive later on this week. I will then use it as my sole machine for a while and I will do a full review on it later. For the time being, here is a screen shot:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.m1cr0sux0r.com/uploaded_images/default_themes-763236.jpg"&gt;&lt;img style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 320px; CURSOR: pointer; HEIGHT: 200px; TEXT-ALIGN: center" alt="" src="http://www.m1cr0sux0r.com/uploaded_images/default_themes-763233.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="COLOR: rgb(85,26,139); -webkit-text-decorations-in-effect: underline"&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="TEXT-ALIGN: center"&gt;&lt;br /&gt;&lt;/div&gt;&lt;span class="Apple-tab-span" style="WHITE-SPACE: pre"&gt;&lt;/span&gt;The fact that I was able to save myself such heartache and annoyance made me think, that I should return the favor. I have decided that I would like to help out the &lt;a href="http://www.fsf.org/"&gt;Free Software Foundation&lt;/a&gt;. I have recently submitted this blog to &lt;a href="http://www.amazon.com/dp/B002IPHGDO/?tag=breakwindo-20"&gt;Amazon&lt;/a&gt;. Amazon has excepted it and they are now selling subscriptions to my blog for the &lt;a href="http://www.amazon.com/gp/product/B00154JDAI?ie=UTF8&amp;amp;tag=breakwindo-20"&gt;Kindle&lt;/a&gt;. I will be donating all proceeds garnered from these subscriptions to the &lt;a href="http://www.fsf.org/"&gt;Free Software Foundation&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="WHITE-SPACE: pre"&gt;&lt;/span&gt;I have not approached the&lt;a href="http://www.fsf.org/"&gt; Free Software Foundation&lt;/a&gt; about this as of yet, because I am afraid that they will not be too happy about it. Unfortunately, they have a standing feud with Amazon in reference to Amazon's use of DRM in some E-Books. I will update when I have heard back from them about this.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2980270584042445525-4889908746591729926?l=blog.m1cr0sux0r.com' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.m1cr0sux0r.com/2009/07/gnew-sense-saves-day-and-some-self.html</link><author>noreply@blogger.com (Michael Brown)</author><thr:total>3</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-2980270584042445525.post-7117828315454154852</guid><pubDate>Tue, 21 Jul 2009 17:38:00 +0000</pubDate><atom:updated>2009-07-26T22:41:26.912-04:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>Java</category><category domain='http://www.blogger.com/atom/ns#'>API</category><category domain='http://www.blogger.com/atom/ns#'>Robot</category><category domain='http://www.blogger.com/atom/ns#'>Widget</category><category domain='http://www.blogger.com/atom/ns#'>Google</category><category domain='http://www.blogger.com/atom/ns#'>Wave</category><title>Wave: Part Deux</title><description>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.m1cr0sux0r.com/uploaded_images/2-713780.jpg"&gt;&lt;/a&gt;&lt;div&gt;The last few weeks have been very busy for me. I got my invitations to both &lt;a href="https://services.google.com/fb/forms/googlevoiceinvite/"&gt;Google Voice&lt;/a&gt; and &lt;a href="https://services.google.com/fb/forms/wavesignup/"&gt;Google Wave&lt;/a&gt;! I have definitely been feeling the Google Love lately. Since I have been given these lovely invites, I figured I would share the goodness with you. Today I am going to cover the Google Wave Developer Sandbox. I will cover Google Voice next week.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;s&gt;In case you may have noticed that the page loaded a little slowly today, it would be because I have embedded a Wave on my blog. Most of you will not be able to make any changes to the wave (unless you are part of the preview). This is to show you how Wave looks and what you can do with it.&lt;/s&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;As of this post, I have made a few simple bots that can manipulate a wave (same as any bot written in &lt;a href="http://java.sun.com/"&gt;Java&lt;/a&gt;, except that they can only utilize the parts of the Wave that Google allows through their &lt;a href="http://code.google.com/apis/wave/guide.html"&gt;API&lt;/a&gt;). You can write bots, gadgets, or embed Waves in pages. You can choose to do any of these in either Java or Python. I have heard that developing for Wave in Python is easier, I am not really that comfortable with Python, so I chose Java.&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;Developing Wave bots and Gadgets is pretty easy in Java if you utilize &lt;a href="http://www.eclipse.org/"&gt;Eclipse&lt;/a&gt; and their &lt;a href="http://code.google.com/eclipse/"&gt;Google plug-in&lt;/a&gt;. Currently, you can only use bots that are created with the &lt;a href="http://code.google.com/appengine/"&gt;Google App Engine&lt;/a&gt; and that have an @appspot.com address.  The Eclipse plug-in does most of the heavy lifting and all you have to worry about is the code.&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;s&gt;The wave that is embedded on this page is the one that I started after I created a simple Gadget that reads the latest headlines from &lt;a href="http://slashdot.org/"&gt;Slash Dot's&lt;/a&gt; &lt;a href="http://rss.slashdot.org/Slashdot/slashdot"&gt;RSS feed&lt;/a&gt; and displays them at the top of a Wave.&lt;/s&gt; This was made easier by using &lt;a href="http://www.google.com/uds/solutions/dynamicfeed/index.html"&gt;Google's Ajax Feed API and Wizard&lt;/a&gt; . Essentially, Google did most of the coding. After that, all I had to do was &lt;a href="http://m1cr0sux0r.com/slashdot.xml"&gt;create the XML&lt;/a&gt; file and embed it in a Wave.&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;s&gt;The Wave you see on the left has a problem loading all the way and this is due to the poll that was added later.&lt;/s&gt; Since it is still a developer only sandbox model,  a lot of Wave's features are buggy and/or disabled. This has not made me enjoy the product any less. I have forgone sleep for a few days and spend most of my day thinking about what I can do next and how I am going to do it. I think that Wave is going to be an amazing product when it is released. I am glad to be a part of this development community! The people that are involved are terrific and have been generally nice and helpful (even when they make rick rolled bots and Swedish chef bots)!&lt;br /&gt;&lt;br /&gt;&lt;div align="center"&gt;*****UPDATE***** &lt;/div&gt;&lt;br /&gt;The embedded Wave was no longer visable to those people who did not already have an account. So I removed it and I am now adding the below screenshot of the Wave with the Slashdot Gadget. Google has since added my &lt;a href="http://wave-samples-gallery.appspot.com/about_app?app_id=18006"&gt;Gadget &lt;/a&gt;to thier &lt;a href="http://wave-samples-gallery.appspot.com/"&gt;Samples Gallery&lt;/a&gt; Click on the screeenshots below:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.m1cr0sux0r.com/uploaded_images/1-736938.jpg"&gt;&lt;img src="http://www.m1cr0sux0r.com/uploaded_images/1-736855.jpg" border="0" alt="" style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 400px; height: 104px; " /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.m1cr0sux0r.com/uploaded_images/2-713780.jpg"&gt;&lt;img src="http://www.m1cr0sux0r.com/uploaded_images/2-713704.jpg" border="0" alt="" style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 400px; height: 97px; " /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 238); -webkit-text-decorations-in-effect: underline; "&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2980270584042445525-7117828315454154852?l=blog.m1cr0sux0r.com' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.m1cr0sux0r.com/2009/07/wave-part-deux.html</link><author>noreply@blogger.com (Michael Brown)</author><thr:total>3</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-2980270584042445525.post-1382813204147602216</guid><pubDate>Tue, 16 Jun 2009 10:53:00 +0000</pubDate><atom:updated>2009-06-16T07:12:47.234-04:00</atom:updated><title>Opera Unite</title><description>&lt;p&gt;I have used &lt;a href="http://unite.opera.com/"&gt;Opera&lt;/a&gt; on and off for the last few years and I have recently been using Google Chrome (except on my Blackberry, for which I will always use Opera). I've tried the latest version of Safari, Firefox, and even IE8. Today I learned that I have been missing something. What I have been missing was true innovation! Since the days of Netscape Navigator, no company has done more for browsers than Opera. Some companies have a great development community (Firefox) , some have market share (IE),  some are fast (Chrome), and some are pretty (Safari). They all have one thing in common. They all steal from Opera! Unfortunately, Opera does not get the recognition it deserves. It works correctly with more sites than Firefox and Chrome. It displays sites the way most developers intend (I have tested sites across all browsers and I never have to make changes to accommodate Opera users).&lt;/p&gt;&lt;p&gt;Opera recently released their latest product dubbed Opera Unite (see video below). They have been teasing for over a week that they were about to change the way we use the Web. They were not lying. In effect, what Opera has done is something that we have all been missing! They are making every computer into a Server. You will now be able to share files, music, photos, chat , and host Web sites all from your own computer! Oh, and it's all FREE!&lt;/p&gt;&lt;p&gt;&lt;object width="425" height="344"&gt;&lt;embed src="http://www.youtube.com/v/D5hr-6cw4M8&amp;amp;color1=0x3a3a3a&amp;amp;color2=0x999999&amp;amp;hl=en&amp;amp;feature=player_embedded&amp;amp;fs=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/p&gt;&lt;p&gt; Go check it out for yourself! &lt;a href="http://unite.opera.com/"&gt;http://unite.opera.com/&lt;/a&gt;  &lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2980270584042445525-1382813204147602216?l=blog.m1cr0sux0r.com' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.m1cr0sux0r.com/2009/06/opera-unite.html</link><author>noreply@blogger.com (Michael Brown)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-2980270584042445525.post-3981717344936988908</guid><pubDate>Thu, 11 Jun 2009 18:45:00 +0000</pubDate><atom:updated>2009-06-11T15:21:36.789-04:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>Java</category><category domain='http://www.blogger.com/atom/ns#'>Open Source</category><category domain='http://www.blogger.com/atom/ns#'>Eclipse</category><category domain='http://www.blogger.com/atom/ns#'>Galileo</category><title>Eclipse Galileo Review</title><description>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.m1cr0sux0r.com/uploaded_images/waving-Duke-740530.jpg"&gt;&lt;/a&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;The Eclipse Foundation is about to release their newest version of their &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;IDE&lt;/span&gt;, nick-named Galileo. I should say first that I am a fan of Eclipse and that it is my &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;IDE&lt;/span&gt; of choice for Java development. I have recently tried &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;NetBeans&lt;/span&gt; again for some &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;JavaFX&lt;/span&gt; coding and I was unsatisfied with the experience (not because it did not handle the code well, but because I did not like the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;UI&lt;/span&gt; and the code completion is nowhere as good as Eclipse). I decided to give the latest &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;pre&lt;/span&gt;-release version of Eclipse a shot to see if it was able to handle &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;JavaFX&lt;/span&gt; scripting as well as &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;NetBeans&lt;/span&gt;.&lt;/div&gt;&lt;div&gt;&lt;p class="MsoNormal"&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;To start, I went to their site &lt;a href="http://www.eclipse.org/"&gt;http://www.eclipse.org/&lt;/a&gt; and right on the front page was a link to the download for their latest &lt;a href="http://www.eclipse.org/downloads/packages/release/galileo/rc1"&gt;version&lt;/a&gt;. The download only took a few minutes, I unzipped it and clicked on the executable (I am forced to use Windows at work). As a side note, this is one of the things that I love about Eclipse. You can unzip the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;IDE&lt;/span&gt; to a thumb drive and create your workspace on that thumb drive and be able to use your customized &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_9"&gt;IDE&lt;/span&gt; anywhere! Upon opening, the first thing I noticed was that it looks exactly the same as the last version.&lt;/p&gt;&lt;/div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.m1cr0sux0r.com/uploaded_images/classic-737147.jpg"&gt;&lt;br /&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 243px;" src="http://www.m1cr0sux0r.com/uploaded_images/classic-736978.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;p class="MsoNormal"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;The &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_10"&gt;UI&lt;/span&gt; is pretty standard fare for Eclipse and this is something else that I enjoyed about it. The fact that I could seamlessly transition to a new version without having to relearn everything is great. I quickly threw together this test program to check to see if it would compile and run correctly (what good is an &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_11"&gt;IDE&lt;/span&gt; if it can’t do this):&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom:0in;margin-bottom:.0001pt;line-height: normal;mso-layout-grid-align:none;text-autospace:none"&gt;&lt;b&gt;&lt;span style="color:#7F0055;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;public&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style="color:black;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="color:#7F0055;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;class&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style="color:black;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt; Test{&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom:0in;margin-bottom:.0001pt;line-height: normal;mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="color:black;"&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="color:#7F0055;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;public&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style="color:black;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="color:#7F0055;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;static&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style="color:black;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="color:#7F0055;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;void&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style="color:black;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt; main(String[] &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_12"&gt;args&lt;/span&gt;){&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom:0in;margin-bottom:.0001pt;line-height: normal;mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="color:black;"&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;System.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;i&gt;&lt;span style="color:#0000C0;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;out&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;span style="color:black;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;.&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_13"&gt;println&lt;/span&gt;(&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#2A00FF;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;"Hello, Galileo"&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:black;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;);&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom:0in;margin-bottom:.0001pt;line-height: normal;mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="color:black;"&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin-bottom:0in;margin-bottom:.0001pt;line-height: normal;mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;span class="Apple-style-span"   style="font-family:'Courier New';font-size:100%;"&gt;&lt;p class="MsoNormal"&gt;&lt;span style="line-height:115%;Courier New&amp;quot;;color:black;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;}&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;quot;;color:black;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;This of course yielded the expected results of:&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="line-height:115%;Courier New&amp;quot;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;Hello,&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style=" line-height:115%;Courier New&amp;quot;;color:black;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;Galileo&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style=" line-height:115%;Courier New&amp;quot;;color:black;"&gt; &lt;o:p&gt;&lt;span class="Apple-style-span" style="line-height: normal; "&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;So far, so good. The next step would be to try to install some add-&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_14"&gt;ons&lt;/span&gt;. Since this is one of the aspects that makes Eclipse such a great product. The amazing number of add-&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_15"&gt;ons&lt;/span&gt; and the sheer size of the Eclipse community make it a terrific platform, so I should have no problems right? Wrong!&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span&gt;                &lt;/span&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt;I had a bit of trouble figuring out how to install some new add-&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_16"&gt;ons&lt;/span&gt;. It &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_17"&gt;wasn&lt;/span&gt;’t impossible, but it was a bit misleading. I decided to do this from the perspective of a new user, so the first thing I did was go to “Help” on the main &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_18"&gt;taskbar&lt;/span&gt;. Unfortunately the help documentation was not updated for the newest version (although I suspect that this will be fixed in the full release version). It asks the user to click on options that are no longer available in Galileo. There used to be an option labeled Software Updates under the Help menu; it has been changed to 2 different menu options&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt;1) Check for Updates&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt;2) Install new software&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt;I clicked on the Install new software and I was at a new menu.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-align: center;"&gt;&lt;span class="Apple-style-span"  style=" ;font-family:Georgia;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.m1cr0sux0r.com/uploaded_images/bad1-794445.jpg"&gt;&lt;img src="http://www.m1cr0sux0r.com/uploaded_images/bad1-794442.jpg" border="0" alt="" style="cursor: pointer; width: 400px; height: 384px; " /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span class="Apple-style-span"  style="font-family:Georgia;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;span class="Apple-style-span"  style="font-family:Georgia;"&gt;&lt;p class="MsoNormal"&gt;I tried to click on the “Available Software Sites” option that is highlighted and to my surprise I received the following error message:&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 238); -webkit-text-decorations-in-effect: underline; "&gt;&lt;img src="http://www.m1cr0sux0r.com/uploaded_images/bad2-796666.jpg" border="0" alt="" style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 400px; height: 282px; " /&gt;&lt;/span&gt;&lt;/p&gt;&lt;/span&gt;&lt;p&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt; &lt;/p&gt;&lt;/span&gt;&lt;p&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;!--[if gte vml 1]&gt;&lt;v:shapetype id="_x0000_t75" coordsize="21600,21600" spt="75" preferrelative="t" path="m@4@5l@4@11@9@11@9@5xe" filled="f" stroked="f"&gt;  &lt;v:stroke joinstyle="miter"&gt;  &lt;v:formulas&gt;   &lt;v:f eqn="if lineDrawn pixelLineWidth 0"&gt;   &lt;v:f eqn="sum @0 1 0"&gt;   &lt;v:f eqn="sum 0 0 @1"&gt;   &lt;v:f eqn="prod @2 1 2"&gt;   &lt;v:f eqn="prod @3 21600 pixelWidth"&gt;   &lt;v:f eqn="prod @3 21600 pixelHeight"&gt;   &lt;v:f eqn="sum @0 0 1"&gt;   &lt;v:f eqn="prod @6 1 2"&gt;   &lt;v:f eqn="prod @7 21600 pixelWidth"&gt;   &lt;v:f eqn="sum @8 21600 0"&gt;   &lt;v:f eqn="prod @7 21600 pixelHeight"&gt;   &lt;v:f eqn="sum @10 21600 0"&gt;  &lt;/v:formulas&gt;  &lt;v:path extrusionok="f" gradientshapeok="t" connecttype="rect"&gt;  &lt;o:lock ext="edit" aspectratio="t"&gt; &lt;/v:shapetype&gt;&lt;v:shape id="Picture_x0020_3" spid="_x0000_s1026" type="#_x0000_t75" alt="waving Duke.jpg" style="'position:absolute;margin-left:318.65pt;"&gt;  &lt;v:imagedata src="file:///C:\DOCUME~1\MICHAE~1.BRO\LOCALS~1\Temp\msohtmlclip1\01\clip_image001.jpg" title="waving Duke"&gt;  &lt;w:wrap type="square" anchorx="margin" anchory="margin"&gt; &lt;/v:shape&gt;&lt;![endif]--&gt;&lt;br /&gt;&lt;/p&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;I restarted Eclipse and decided to go about it in a different way. I went back to&lt;/div&gt;the Help – Install new Software option and this time I entered the direct Web address for the&lt;br /&gt;&lt;a href="http://javafx.com/"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_19"&gt;JavaFX&lt;/span&gt;&lt;/a&gt; &lt;a href="http://javafx.com/docs/gettingstarted/eclipse-plugin/index.jsp"&gt;plug-in&lt;/a&gt;. &lt;span class="Apple-style-span" style="color: rgb(0, 0, 0); -webkit-text-decorations-in-effect: none; "&gt; I waited for the install to finish, restarted Eclipse and &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_20"&gt;JavaFX&lt;/span&gt; was available.&lt;/span&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 0); -webkit-text-decorations-in-effect: none; "&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 238); -webkit-text-decorations-in-effect: underline; "&gt;&lt;img src="http://www.m1cr0sux0r.com/uploaded_images/waving-Duke-740529.jpg" border="0" alt="" style="float: right; margin-top: 0px; margin-right: 0px; margin-bottom: 10px; margin-left: 10px; cursor: pointer; width: 224px; height: 205px; " /&gt;&lt;/span&gt;&lt;div&gt;&lt;p class="MsoNormal" style="text-indent:.5in"&gt;Now I was ready to start building my first &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_21"&gt;JavaFX&lt;/span&gt; Project (at least the first one in Galileo). Galileo&lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;does make getting a &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_22"&gt;JavaFX&lt;/span&gt; project started easier than Ganymede. In fact, for some reason Ganymede would not even recognize that I had the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_23"&gt;JavaFX&lt;/span&gt;&lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_24"&gt;SDK&lt;/span&gt; installed. In fact, I haven’t changed anything on my system as far as &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_25"&gt;JavaFX&lt;/span&gt; is concerned since I last tried to use Eclipse.&lt;/p&gt;  &lt;p class="MsoNormal" style="text-indent:.5in"&gt;I wrote a simple &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_26"&gt;FX&lt;/span&gt; script to produce a small window with a picture of Duke (the Java mascot). It worked great and I had no problems getting it done. In fact I was able to write the same program much faster than I was in &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_27"&gt;NetBeans&lt;/span&gt;!&lt;/p&gt;  &lt;p class="MsoNormal" style="text-indent:.5in"&gt;&lt;!--[if gte vml 1]&gt;&lt;v:shapetype id="_x0000_t75" coordsize="21600,21600" spt="75" preferrelative="t" path="m@4@5l@4@11@9@11@9@5xe" filled="f" stroked="f"&gt;  &lt;v:stroke joinstyle="miter"&gt;  &lt;v:formulas&gt;   &lt;v:f eqn="if lineDrawn pixelLineWidth 0"&gt;   &lt;v:f eqn="sum @0 1 0"&gt;   &lt;v:f eqn="sum 0 0 @1"&gt;   &lt;v:f eqn="prod @2 1 2"&gt;   &lt;v:f eqn="prod @3 21600 pixelWidth"&gt;   &lt;v:f eqn="prod @3 21600 pixelHeight"&gt;   &lt;v:f eqn="sum @0 0 1"&gt;   &lt;v:f eqn="prod @6 1 2"&gt;   &lt;v:f eqn="prod @7 21600 pixelWidth"&gt;   &lt;v:f eqn="sum @8 21600 0"&gt;   &lt;v:f eqn="prod @7 21600 pixelHeight"&gt;   &lt;v:f eqn="sum @10 21600 0"&gt;  &lt;/v:formulas&gt;  &lt;v:path extrusionok="f" gradientshapeok="t" connecttype="rect"&gt;  &lt;o:lock ext="edit" aspectratio="t"&gt; &lt;/v:shapetype&gt;&lt;v:shape id="Picture_x0020_3" spid="_x0000_s1026" type="#_x0000_t75" alt="waving Duke.jpg" style="'position:absolute;left:0;text-align:left;"&gt;  &lt;v:imagedata src="file:///C:\DOCUME~1\MICHAE~1.BRO\LOCALS~1\Temp\msohtmlclip1\01\clip_image001.jpg" title="waving Duke"&gt;  &lt;w:wrap type="square" anchorx="margin" anchory="margin"&gt; &lt;/v:shape&gt;&lt;![endif]--&gt;&lt;br /&gt;I will not be saying goodbye to &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_28"&gt;NetBeans&lt;/span&gt; in favor of Eclipse once again. I can not wait for the final release of Galileo.&lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;The one &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_29"&gt;Noticeable&lt;/span&gt; change for Galileo was a massive increase in overall speed. It loads faster and compiles quicker than previous versions of Eclipse and that is the real reason why you should switch to Galileo!&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2980270584042445525-3981717344936988908?l=blog.m1cr0sux0r.com' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.m1cr0sux0r.com/2009/06/eclipse-galileo-review.html</link><author>noreply@blogger.com (Michael Brown)</author><thr:total>2</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-2980270584042445525.post-9081828955147875009</guid><pubDate>Fri, 05 Jun 2009 18:12:00 +0000</pubDate><atom:updated>2009-06-10T12:02:18.882-04:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>Steve Yegge</category><category domain='http://www.blogger.com/atom/ns#'>Programming</category><category domain='http://www.blogger.com/atom/ns#'>Hero</category><title>It's hard to say Goodbye</title><description>&lt;div&gt;Recently, a fellow blogger named &lt;a href="http://www.blogger.com/profile/14812997485690838920"&gt;Steve Yegge&lt;/a&gt; has decided to pack it in. I have been reading Yegge's blogs (I say blogs because there are a few &lt;a href="http://steve-yegge.blogspot.com/"&gt;here&lt;/a&gt; and&lt;a href="http://steve.yegge.googlepages.com/blog-rants"&gt; here&lt;/a&gt; are examples) for several years and I can honestly say that I have and will continue to learn alot from him.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt; Steve has done a great service to those of us who were smart enough to listen to what he had to say and investigate those ideas for ourselves. He helped us to realize that business requirements are in fact &lt;a href="http://steve-yegge.blogspot.com/2008/08/business-requirements-are-bullshit.html"&gt;bullshit&lt;/a&gt; and some very helpful resume &lt;a href="http://steve-yegge.blogspot.com/2007/09/ten-tips-for-slightly-less-awful-resume.html"&gt;tips&lt;/a&gt;.  You have introduced me to some wonderful &lt;a href="http://www.amazon.com/dp/006135323X/?tag=breakwindo-20"&gt;reading &lt;/a&gt;material as well.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Perhaps the greatest work that Steve has ever done has come most recently when he started his &lt;a href="http://steve-yegge.blogspot.com/2008/10/programmers-view-of-universe-part-1.html"&gt;"A Programmers View of the Universe"&lt;/a&gt; series. During this time, I believe that Steve has really found his voice.  His heart  wrenching story about his pet fish and how that relates to computer programming is nothing short of genius! It is hard for me to believe that he could give this up when he is clearly just starting to reach his writing prime.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Steve, Please don't leave us.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;We'll Miss You Steve:(&lt;/div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.m1cr0sux0r.com/uploaded_images/stevey-6-21-07-750219.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 220px; height: 163px;" src="http://www.m1cr0sux0r.com/uploaded_images/stevey-6-21-07-750217.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2980270584042445525-9081828955147875009?l=blog.m1cr0sux0r.com' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.m1cr0sux0r.com/2009/06/its-hard-to-say-goodbye.html</link><author>noreply@blogger.com (Michael Brown)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-2980270584042445525.post-4954237966643109877</guid><pubDate>Mon, 01 Jun 2009 15:39:00 +0000</pubDate><atom:updated>2009-06-10T12:22:07.671-04:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>software development</category><category domain='http://www.blogger.com/atom/ns#'>Yogi Berra</category><category domain='http://www.blogger.com/atom/ns#'>molex</category><category domain='http://www.blogger.com/atom/ns#'>Twitter</category><category domain='http://www.blogger.com/atom/ns#'>celebrity</category><title>Why I Love/Hate Twitter!</title><description>&lt;div&gt;Anyone who knows me, or reads this blog, knows that you can rely on reading several posts a day from me on Twitter (&lt;a href="http://twitter.com/molex"&gt;@molex&lt;/a&gt;). I love reading Tweets from developers like Jeff Atwood(&lt;a href="http://twitter.com/codinghorror"&gt;@codinghorror&lt;/a&gt;) , writers like the great William Gibson (&lt;a href="http://twitter.com/GREATDISMAL"&gt;@GreatDismal&lt;/a&gt;), famous geeks like Felicia Day (&lt;a href="http://twitter.com/feliciaday"&gt;@feliciaday&lt;/a&gt;) and great radio personalities like Peter Sagal (&lt;a href="http://twitter.com/petersagal"&gt;@petersagal&lt;/a&gt;). I enjoy letting strangers into my daily life and talking about even the most mundane details of my life. I love being able to help someone find the answer to an annoying computer problem or where they can find a copy of an obscure book or movie. I like being able to ask the community at large for help on similar things. Hell, The other evening, I had a conversation with William Gibson (&lt;a href="http://twitter.com/GREATDISMAL"&gt;@GreatDismal&lt;/a&gt;) about a mundane thing like &lt;a href="http://www.amazon.com/dp/B001ASKLUU/?tag=breakwindo-20"&gt;wallets&lt;/a&gt; (and why I can not use a money clip). It was awesome and might I add a personal honor as he is not only one of my favorite writers of all time but a personal hero as well. The lack of a wall between yourself and anyone else using the service, means that there is nothing stopping you from being able to tell your favorite musician that you would like them to play in your city (I'm talking to you &lt;a href="http://twitter.com/jonathancoulton"&gt;@jonathancoulton&lt;/a&gt;).&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;div&gt;While all of this may seem great at fist glance, there is a price to pay. The hate portion of my relationship comes from the fact that Twitter allows for all types of marketing. Now that Twitter is getting more popular, there have been more spam and malware attacks. During the course of any given day, I will be followed by at least 5 different spam bots. See picture below:&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.m1cr0sux0r.com/uploaded_images/1-765456.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 91px;" src="http://www.m1cr0sux0r.com/uploaded_images/1-765454.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;All social web sites are pretty much the same when it comes to malware and spam (although Twitter is pretty good at removing these accounts pretty quick). The one thing that can not be controlled is the attack mode that seems to come from some of the marketing companies that are not spam and malware. I'm talking about viable companies that use the service to their advantage in a way that makes the service less fun for the rest of us. Suppose I mention a Ford truck in my tweet (even in a bad way, like "Ford sucks"), within 5 minutes, I will be followed by someone name JoeLovesFords (this is of course hypothetical). If you choose to follow that person, you will be inundated with tweets about Ford, how awesome they are and how you should buy one right away. You quickly realize that this is not a real person but a marketing bot.&lt;/div&gt;&lt;div&gt;This is a trend that is only going to continue. As I was reading in an &lt;a href="http://news.cnet.com/8301-13577_3-10253161-36.html?part=rss&amp;amp;subj=news&amp;amp;tag=2547-1_3-0-5"&gt;article&lt;/a&gt; today (on CNET), marketing companies are really beginning to take hold of Twitter:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style=" color: rgb(53, 53, 53); line-height: 17px; font-family:Arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;&lt;i&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;"Twitter dominates the news, but clearly we're only touching the surface of its potential as a marketing vehicle," Participatory Media Network co-founder and chairman Michael Della Penna said in a release. "This is a classic 'glass half full' scenario for Twitter because it's clear that Gen Y has an appetite for social networking, but still hasn't fully embraced micro-blogging. There is a tremendous opportunity now for marketers to develop strategies to get this important group active on Twitter too."&lt;/span&gt;&lt;/blockquote&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"    style="font-family:Arial;font-size:100%;color:#353535;"&gt;&lt;span class="Apple-style-span"  style=" line-height: 17px;font-size:12px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;There seems to be a point in every social networks life where it becomes so popular, that no one uses it anymore (that sounds like something &lt;a href="http://www.yogiberra.com/yogi-isms.html"&gt;Yogi Berra&lt;/a&gt; would say). I am afraid that this will eventually happen to Twitter. When the service gets so overloaded with marketing, spam, and real users, it will become almost impossible for people to keep track of everything. It will also kill the greatest part of Twitter. That is the lack of separation between people. It will be next to impossible to talk to one of your hero's if they have to wade through 1,000 spam tweets first.  How many people will continue to use the service then?&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I would hate to see a service like this be reduced to nothing but a marketing campaign for large corporations, but I fear that it is inevitable!&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2980270584042445525-4954237966643109877?l=blog.m1cr0sux0r.com' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.m1cr0sux0r.com/2009/06/why-i-lovehate-twitter.html</link><author>noreply@blogger.com (Michael Brown)</author><thr:total>2</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-2980270584042445525.post-3183065391435463579</guid><pubDate>Fri, 29 May 2009 18:04:00 +0000</pubDate><atom:updated>2009-05-29T14:13:28.313-04:00</atom:updated><title>Google Wave Preview</title><description>Have you heard? Google is about to take over the world! They are in process of developing a real game changer. Their new product, called &lt;a href="http://www.wave.google.com"&gt;Wave&lt;/a&gt;, looks to be the real deal. It is an HTML 5.0 Web App that is going to change thew way people see and use Web Browsers. The project is going to be completely Open Sourced (so you know that I am backing it).&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Google has really out done themselves on this one. Watch for the Spell checker (which is revolutionary) and the real time language translator (allowing communication with people from all over the world in real time, without learning a new language).&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I have already signed up to get Developer access to &lt;a href="http://www.wave.google.com"&gt;Wave&lt;/a&gt; and hopefully the fine people at Google will grant me this wish (Since I was unable to attend GoogleIO).  I can only begin to imagine the possibilities that a platform like this can bring. I am going to dust off my Java skills and get to work on some extensions!&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Watch the video below, from GoogleIO 2009:&lt;/div&gt;&lt;div&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/v_UyVmITiYQ&amp;amp;rel=0&amp;amp;color1=0xb1b1b1&amp;amp;color2=0xcfcfcf&amp;amp;hl=en&amp;amp;feature=player_embedded&amp;amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/v_UyVmITiYQ&amp;amp;rel=0&amp;amp;color1=0xb1b1b1&amp;amp;color2=0xcfcfcf&amp;amp;hl=en&amp;amp;feature=player_embedded&amp;amp;fs=1" type="application/x-shockwave-flash" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Developers, let me know what you think. Are you excited? How bad do you want to get your hands on it?&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2980270584042445525-3183065391435463579?l=blog.m1cr0sux0r.com' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.m1cr0sux0r.com/2009/05/google-wave-preview.html</link><author>noreply@blogger.com (Michael Brown)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-2980270584042445525.post-1004783558346094309</guid><pubDate>Wed, 18 Feb 2009 03:35:00 +0000</pubDate><atom:updated>2009-06-10T12:26:10.320-04:00</atom:updated><title>First!</title><description>Welcome to breaking Windows. Where we try to do our best to provide alternatives to Windows as an Operating System and where I will wax poetic about all things geeky in nature.&lt;br /&gt;&lt;br /&gt;Now with that out of the way, it's time to get down to business:&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Windows 7 will be a major flop, as bad or worse than Vista &lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;a href="http://www.pcmag.com/article2/0,2817,2340338,00.asp"&gt;read this&lt;/a&gt;&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;With some reports claiming as many as 6-7 &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_0"&gt;different&lt;/span&gt; versions of the O.$. Micro$oft is hoping to cash in on the average consumers misunderstanding of the various versions. It seems that the starter edition (the lowest version on the totem pole) will only allow a user to open 3 applications simultaneously. This is &lt;strong&gt;RIDICULOUS!!! &lt;/strong&gt;What reason could this possible serve, other than to sell laptops for a lower price that advertise that they use Windows 7. When the consumer gets home and tries to open four applications, they will get a message from Micro$soft telling them they need to upgrade &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_1"&gt;their&lt;/span&gt; operating system. I just do not know how this can be legal. This is the greatest scam ever. I'll bet the upgrades won't be cheap either.&lt;br /&gt;&lt;br /&gt;Just when I think that Micro$oft is starting to learn &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_2"&gt;their&lt;/span&gt; lesson, that charging insane amounts of money for inferior products was starting to take it's toll, they create a mess out of what could have been a usable operating system. Leave it to Micro$oft to ruin a product with terrible marketing! For years &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_3"&gt;their&lt;/span&gt; products were terrible (save &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_4"&gt;their&lt;/span&gt; &lt;a href="http://www.amazon.com/dp/B000HCTY26/?tag=breakwindo-20"&gt;Office suite&lt;/a&gt;) and they forced &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_5"&gt;their&lt;/span&gt; way onto 93% of the worlds computers. They have used every dirty trick in the book (and when they ran out of dirty tricks, they created a new book of even dirtier tricks) to strong arm &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_6"&gt;their&lt;/span&gt; way into our lives and onto our machines. It is time that the consumers speak up and take back what is rightfully &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_7"&gt;theirs&lt;/span&gt;!&lt;br /&gt;&lt;br /&gt;Viva la Open Source!!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2980270584042445525-1004783558346094309?l=blog.m1cr0sux0r.com' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.m1cr0sux0r.com/2009/02/first.html</link><author>noreply@blogger.com (Michael Brown)</author><thr:total>2</thr:total></item></channel></rss>
