<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-14172572</id><updated>2011-04-21T14:07:27.041-05:00</updated><title type='text'>techyscope</title><subtitle type='html'>A playground for new web development ideas, links, soapboxes, and ramblings.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://techyscope.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14172572/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://techyscope.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>techy</name><uri>http://www.blogger.com/profile/09736075270138960075</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>8</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-14172572.post-114533662193354967</id><published>2006-04-17T23:59:00.000-05:00</published><updated>2006-04-18T00:03:41.946-05:00</updated><title type='text'>Programming as a Career</title><content type='html'>&lt;div&gt;&lt;span style="font-family:Tahoma;"&gt;As part of a recent homework assignment, a class that I am currently taking was asked to discuss our thoughts on starting a career as a programmer.  At first I thought that answering this question was going to be a little strange in my case, having been a software developer for over 10 years.  Really, though, I guess its never too late to take a step back and think about "what I want to do when I grow up".&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt; &lt;div&gt; &lt;/div&gt; &lt;div&gt;&lt;span style="font-family:Tahoma;"&gt;In fact, many programmers are wondering the same thing right about now.  After the so-called dot-com crash and the new post- 9/11 security conscious world, as well as with the current increase in offshore outsourcing, tightening IT budgets, and decreasing respect for programmers, I think it would be a tough choice for someone today to decide to start a career in programming.  Many programmers I know either went through school or are currently going through school for a second career, "just in case".  Frequently I read stories about out of work or underpaid software developers.  And, it seems like even 5-10 years ago, when I told someone that I was a programmer, well, it was as if I had said I was a rocket scientist or a CEO, whereas now the look I get is more likely to be as if I were a grocery clerk or dishwasher (no offense to these jobs, of course).  Or maybe more precisely the look is more like, well, "what &lt;i&gt;are&lt;/i&gt; you going to do when you grow up?"&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt; &lt;div&gt; &lt;/div&gt; &lt;div&gt;&lt;span style="font-family:Tahoma;"&gt;Despite all of that, programming also has wonderful things going for it.  Programmers get to experience the thrill of creating new products, work in a social atmosphere, work in an office environment (although some may see that as a drawback), take up new challenges, learn new things on a regular basis, and enjoy reasonable salaries.  Although many of these benefits are also shared with other IT careers, a programmer also never has to say, "it can not be done because the software has not been written for that yet."  Things may be infeasible because of budgetary or time constraints, but never impossible, unless it is a hardware issue.  And currently, hardware has generally outdistanced software technologically (that is to say, in any given situation I believe it is more likely that the state-of-the-art for software becomes a bottleneck before current hardware limits are reached), so real hardware limitations happens rarely.  And with over 10 years of experience in programming, I am only now starting to learn how much it is that I don't know yet in the field.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt; &lt;div&gt; &lt;/div&gt; &lt;div&gt;&lt;span style="font-family:Tahoma;"&gt;Someone can become an ophthalmologist or lawyer just for the pay, but at least in the current environment, that is not true of programming.  A good career can be made of software development, however. In fact, I think that programming makes a wonderful career, but only for those that love it.&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14172572-114533662193354967?l=techyscope.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://techyscope.blogspot.com/feeds/114533662193354967/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14172572&amp;postID=114533662193354967' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14172572/posts/default/114533662193354967'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14172572/posts/default/114533662193354967'/><link rel='alternate' type='text/html' href='http://techyscope.blogspot.com/2006/04/programming-as-career.html' title='Programming as a Career'/><author><name>techy</name><uri>http://www.blogger.com/profile/09736075270138960075</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14172572.post-113036886417248927</id><published>2005-10-26T18:16:00.000-05:00</published><updated>2005-10-26T18:21:04.180-05:00</updated><title type='text'>Form tips</title><content type='html'>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;Although most of the information presented is not really unique, "&lt;a href="http://particletree.com/features/10-tips-to-a-better-form/"&gt;10 Tips to a Better Form&lt;/a&gt;" presents a good overview and links to information that can help improve form design and accessibility. In addition, the information is provided using a very logical layout that is easy to follow. Enjoy!&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/14172572-113036886417248927?l=techyscope.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://techyscope.blogspot.com/feeds/113036886417248927/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14172572&amp;postID=113036886417248927' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14172572/posts/default/113036886417248927'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14172572/posts/default/113036886417248927'/><link rel='alternate' type='text/html' href='http://techyscope.blogspot.com/2005/10/form-tips.html' title='Form tips'/><author><name>techy</name><uri>http://www.blogger.com/profile/09736075270138960075</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14172572.post-112086745698820303</id><published>2005-07-08T18:54:00.000-05:00</published><updated>2005-07-08T19:04:16.993-05:00</updated><title type='text'>Prototype in Perl</title><content type='html'>I just ran across a &lt;a href="http://www.perl.com/"&gt;Perl&lt;/a&gt; module for &lt;a href="http://prototype.conio.net/"&gt;Prototype&lt;/a&gt;/&lt;a href="http://script.aculo.us/"&gt;script.aculo.us&lt;/a&gt; development, for those of us who (sadly) cannot use &lt;a href="http://www.rubyonrails.com/"&gt;Rails&lt;/a&gt; to develop web applications.  &lt;a href="http://search.cpan.org/%7Esri/HTML-Prototype/"&gt;HTML::Prototype&lt;/a&gt; appears to have been designed primarily for the &lt;a href="http://search.cpan.org/%7Emramberg/Catalyst/"&gt;Catalyst&lt;/a&gt; framework, although it appears to be generic enough to be useful in other projects.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14172572-112086745698820303?l=techyscope.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://search.cpan.org/~sri/HTML-Prototype/' title='Prototype in Perl'/><link rel='replies' type='application/atom+xml' href='http://techyscope.blogspot.com/feeds/112086745698820303/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14172572&amp;postID=112086745698820303' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14172572/posts/default/112086745698820303'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14172572/posts/default/112086745698820303'/><link rel='alternate' type='text/html' href='http://techyscope.blogspot.com/2005/07/prototype-in-perl.html' title='Prototype in Perl'/><author><name>techy</name><uri>http://www.blogger.com/profile/09736075270138960075</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14172572.post-112053686265939431</id><published>2005-07-04T23:03:00.000-05:00</published><updated>2005-07-04T23:14:22.663-05:00</updated><title type='text'>PHP XML-RPC Exploit</title><content type='html'>For anyone who missed the slashdot &lt;a href="http://it.slashdot.org/article.pl?sid=05/07/04/2153224&amp;tid=95&amp;amp;tid=172&amp;tid=169"&gt;article&lt;/a&gt;, a new exploit has been announced for PHP based web applications using XML-RPC, including several popular blogging programs.  According to Netcraft, an update is available to the XML-RPC libraries (including PHPXMLRPC and Pear XML-RPC) to address the issue.&lt;br /&gt;&lt;br /&gt;Although I do not often code in PHP, it seems to me that these types of "lazy" coding type issues could be a major problem for web application security.  For example, I just noticed that the &lt;a href="http://rubyforge.org/snippet/detail.php?type=snippet&amp;amp;id=29"&gt;JSON Ruby&lt;/a&gt; implementation linked from the main &lt;a href="http://www.crockford.com/JSON/index.html"&gt;JSON&lt;/a&gt; site has a similar problem with evaluating returned data instead of parsing it.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14172572-112053686265939431?l=techyscope.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://news.netcraft.com/archives/2005/07/04/php_blogging_apps_vulnerable_to_xmlrpc_exploits.html' title='PHP XML-RPC Exploit'/><link rel='replies' type='application/atom+xml' href='http://techyscope.blogspot.com/feeds/112053686265939431/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14172572&amp;postID=112053686265939431' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14172572/posts/default/112053686265939431'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14172572/posts/default/112053686265939431'/><link rel='alternate' type='text/html' href='http://techyscope.blogspot.com/2005/07/php-xml-rpc-exploit.html' title='PHP XML-RPC Exploit'/><author><name>techy</name><uri>http://www.blogger.com/profile/09736075270138960075</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14172572.post-112049393027440049</id><published>2005-07-04T11:10:00.000-05:00</published><updated>2005-07-07T21:32:54.363-05:00</updated><title type='text'>AJAX Mistakes</title><content type='html'>Ran across this interesting list of &lt;a href="http://alexbosworth.backpackit.com/pub/67688"&gt;AJAX Mistakes&lt;/a&gt;, which talkes about Usability problems commonly associated with AJAX applications. Generally, my thinking is that many web applications exhibit many of these problems such as breaking the back button or not working without JavaScript already even without introducing AJAX. As long as a site is Accessibility and Usability conscious, it is already a step in the right direction.&lt;br /&gt;&lt;br /&gt;Granted, AJAX Usability problems have to be addressed, but there is a whole host of other problems to be taken into consideration as well. Jakob Nielson's &lt;a href="http://www.useit.com/"&gt;usit.com&lt;/a&gt; has a lot of good information on these types of problems. Generally, I think that web sites need to become more aware of Accessibility and Usability issues in general, and watch out for these problems when introducing new AJAX or dhtml functionality as well.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14172572-112049393027440049?l=techyscope.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://alexbosworth.backpackit.com/pub/67688' title='AJAX Mistakes'/><link rel='replies' type='application/atom+xml' href='http://techyscope.blogspot.com/feeds/112049393027440049/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14172572&amp;postID=112049393027440049' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14172572/posts/default/112049393027440049'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14172572/posts/default/112049393027440049'/><link rel='alternate' type='text/html' href='http://techyscope.blogspot.com/2005/07/ajax-mistakes.html' title='AJAX Mistakes'/><author><name>techy</name><uri>http://www.blogger.com/profile/09736075270138960075</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14172572.post-112045603291037366</id><published>2005-07-04T00:46:00.000-05:00</published><updated>2005-07-07T21:35:54.016-05:00</updated><title type='text'>AJAX</title><content type='html'>&lt;span style="font-weight: bold;font-size:130%;" &gt;Terms&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.adaptivepath.com/publications/essays/archives/000385.php"&gt;AJAX&lt;/a&gt; stands for Asynchronous JavaScript + XML, although this definition is a little misleading (it does not necessarily have to be asynchronous, or use XML). Overall, the technology defines a method of making requests to a web server from a browser without completely relying on the clunky page-based paradigm. In some cases &lt;a href="http://www.crockford.com/JSON/index.html"&gt;JSON&lt;/a&gt;, which stands for JavaScript Object Notation,  is used as a lightweight alternative to XML in AJAX applications.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;Why?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Some of the reasons to use AJAX include performance, usability, and "flashiness". If used correctly, AJAX can help to improve site performance by only fetching data required for a request, by avoiding the need to load page elements that do not change. In addition, this can improve usability by more closely emulating familiar non-web applications, as well as increasing the options available to web developers for their content. Also, the effects created by using AJAX tend to be flashy, which can help sell a client or impress a user.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;Why not?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Some of the potential problems with AJAX include the lack of a single standard, potential accessibility problems, as well as usability problems. Without a single standard, developing an AJAX application requires commitment to a particular library or creating your own, although this problem can often be mitigated by writing a wrapper around the chosen library to facilitate replacement if necessary. In some cases, accessibility problems can arise from the use of AJAX, in particular increased reliance on JavaScript and the use of the asynchronous requests can hurt accessibility to screen reader software. In addition, although usability is listed as a "Why", it can also be considered a "Why not" as well. By increasing the flexibility of design in web applications, it becomes even easier to create applications that do not behave as an average user expects.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;Future&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;As AJAX matures, I believe we will see an explosion of development using this technology.  Already a &lt;a href="http://www.siliconvalleywatcher.com/mt/archives/2005/05/where_can_you_f_2.php"&gt;summit&lt;/a&gt; was held to discuss technology and vendors, featuring development by some very large, well-known Internet sites. Eventually I predict AJAX will become a normal part of every web developer's tool belt. If some of the accessibility, standardization, and usability problems can be addressed, AJAX very well could become the cornerstone of "Web 2.0".&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14172572-112045603291037366?l=techyscope.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.adaptivepath.com/publications/essays/archives/000385.php' title='AJAX'/><link rel='replies' type='application/atom+xml' href='http://techyscope.blogspot.com/feeds/112045603291037366/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14172572&amp;postID=112045603291037366' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14172572/posts/default/112045603291037366'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14172572/posts/default/112045603291037366'/><link rel='alternate' type='text/html' href='http://techyscope.blogspot.com/2005/07/ajax.html' title='AJAX'/><author><name>techy</name><uri>http://www.blogger.com/profile/09736075270138960075</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14172572.post-112045380001653619</id><published>2005-07-03T23:42:00.000-05:00</published><updated>2005-07-07T21:37:02.636-05:00</updated><title type='text'>Which library?</title><content type='html'>For the longest time, there were no good javascript libraries for doing advanced dhtml effects or ajax communications. Now it seems there is a wealth of development for "web 2.0" libraries. Just a few I have run across include:&lt;br /&gt;&lt;ul&gt;   &lt;li&gt;&lt;a href="http://openrico.org/home.page"&gt;Rico&lt;/a&gt;&lt;/li&gt;   &lt;li&gt;&lt;a href="http://prototype.conio.net/"&gt;Prototype&lt;/a&gt; / &lt;a href="http://script.aculo.us/"&gt;script.aculo.us&lt;/a&gt;&lt;/li&gt;   &lt;li&gt;&lt;a href="http://jsolait.net/"&gt;jsolait&lt;/a&gt;&lt;/li&gt;   &lt;li&gt;&lt;a href="http://www.walterzorn.com/dragdrop/dragdrop_e.htm#demolyr"&gt;wz_dragdrop&lt;/a&gt;&lt;/li&gt;   &lt;li&gt;&lt;a href="http://brothercake.com/site/resources/scripts/dbx/"&gt;dbx&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt; Now, instead of trying to determine how to implement some particular dhtml effect, the difficulty is changing to be more one of figuring out which library to choose. Unfortunately, as these libraries mature I wonder if this will lead to a bigger problem - finding programmers experienced in the library in use on a particular project. Should there be a standard API created for these libraries to avoid problems with learning curve as the libraries get bigger? Will one library end up as the dominant solution? In any case, with all the new development happening it is an exciting time to be a web developer, regardless of the outcome of these questions.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14172572-112045380001653619?l=techyscope.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://techyscope.blogspot.com/feeds/112045380001653619/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14172572&amp;postID=112045380001653619' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14172572/posts/default/112045380001653619'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14172572/posts/default/112045380001653619'/><link rel='alternate' type='text/html' href='http://techyscope.blogspot.com/2005/07/which-library.html' title='Which library?'/><author><name>techy</name><uri>http://www.blogger.com/profile/09736075270138960075</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14172572.post-112045040831993208</id><published>2005-07-03T23:06:00.000-05:00</published><updated>2005-07-04T00:48:30.346-05:00</updated><title type='text'>Welcome to techyscope</title><content type='html'>Techyscope is an area to develop and publish ideas related to client-side web technologies, such as html, xml, javascript, json and ajax as well as information about server side programming languages and tools such as perl/mod_perl, ruby/mod_ruby/rails, etc. I may also throw in some personal news items periodically as well.&lt;br /&gt;&lt;br /&gt;Thanks for your interest!&lt;br /&gt;&lt;br /&gt;techy&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14172572-112045040831993208?l=techyscope.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://techyscope.blogspot.com/feeds/112045040831993208/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14172572&amp;postID=112045040831993208' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14172572/posts/default/112045040831993208'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14172572/posts/default/112045040831993208'/><link rel='alternate' type='text/html' href='http://techyscope.blogspot.com/2005/07/welcome-to-techyscope.html' title='Welcome to techyscope'/><author><name>techy</name><uri>http://www.blogger.com/profile/09736075270138960075</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
