tag:blogger.com,1999:blog-8726279007775309362024-02-07T17:58:56.740-07:00yuccaberryanother delicious programming blog<br>Eric Bowdenhttp://www.blogger.com/profile/10061943337009677325noreply@blogger.comBlogger15125tag:blogger.com,1999:blog-872627900777530936.post-73476651478413953862013-06-24T14:40:00.001-06:002013-06-24T14:46:32.591-06:00JavaScript Binary Insertion SortI ported over the binary insertion sort algorithm from <a href="http://jeffreystedfast.blogspot.com/2007/02/binary-insertion-sort.html">this blog post</a> to JavaScript. The two changes I made were that I used Math.floor to truncate the floats when division occurs and replaced memmove() with a for-loop from one of the previous implementations in the post.
<pre class="brush: javascript">
function binaryInsertionSort (a)
{
var i, m;
var hi, lo, tmp;
var n = a.length;
for (i = 1; i < n; i++) {
lo = 0, hi = i;
m = Math.floor(i / 2);
do {
if (a[i] > a[m]) {
lo = m + 1;
} else if (a[i] < a[m]) {
hi = m;
} else
break;
m = Math.floor(lo + ((hi - lo) / 2));
} while (lo < hi);
if (m < i) {
tmp = a[i];
for (j = i - 1; j >= m; j--)
a[j + 1] = a[j];
a[m] = tmp;
}
}
return a;
}
//outputs [11, 40, 42, 66, 73, 90]
binaryInsertionSort([66, 73, 42, 40, 90, 11]);
</pre>Eric Bowdenhttp://www.blogger.com/profile/10061943337009677325noreply@blogger.com0tag:blogger.com,1999:blog-872627900777530936.post-10354131859414928632013-06-18T12:10:00.002-06:002013-08-26T11:57:34.975-06:00Load jQuery and jQuery UI into any page<p style="font-size: 18px;color: #6CAC42;">TL;DR You can copy the bookmarklet <a href="javascript: (function(){var body= document.getElementsByTagName('body')[0]; var script1 = document.createElement('script'); script1.type= 'text/javascript'; script1.src= 'http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js'; var script2 = document.createElement('script'); script2.type= 'text/javascript'; script2.src= 'http://ajax.googleapis.com/ajax/libs/jqueryui/1/jquery-ui.min.js'; body.appendChild(script1); var timer = setInterval(function(){ if (typeof jQuery != 'undefined') { body.appendChild(script2); clearTimeout(timer); } },10);})()">here</a>. Just drag and drop onto your bookmark bar.</p>
Sometimes I need to load jQuery and jQuery UI on some pages for testing or trying something out. I came up with a <a href='http://en.wikipedia.org/wiki/Bookmarklet'>bookmarklet</a> that loads the latest jQuery and jQuery UI libraries into the currently viewed page.
<pre class="brush: javascript">
(function(){
var body= document.getElementsByTagName('body')[0];
var script1 = document.createElement('script');
script1.type = 'text/javascript';
script1.src = 'http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js';
var script2 = document.createElement('script');
script2.type = 'text/javascript';
script2.src = 'http://ajax.googleapis.com/ajax/libs/jqueryui/1/jquery-ui.min.js';
body.appendChild(script1);
var timer = setInterval(function(){
if (typeof jQuery != 'undefined') {
body.appendChild(script2);
clearTimeout(timer);
}
},10);
})()
</pre>
A problem I ran into is that I couldn't just load jQuery UI into the page right after jQuery because it takes a bit of time for each script to download and jQuery UI is dependent on jQuery being loaded first. The solution I came up with is using a timer that checks every 10ms to see if jQuery has been loaded and then loading jQuery UI. Both are appended to the body (some pages don't have head tags) and the timer cleared to prevent the loop from continuing once the script is done. You could also extend this to add any Javascript you wanted to a page.
Here is the code minified:
<pre class="brush: javascript">
javascript: (function(){var body= document.getElementsByTagName('body')[0]; var script1 = document.createElement('script'); script1.type= 'text/javascript'; script1.src= 'http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js'; var script2 = document.createElement('script'); script2.type= 'text/javascript'; script2.src= 'http://ajax.googleapis.com/ajax/libs/jqueryui/1/jquery-ui.min.js'; body.appendChild(script1); var timer = setInterval(function(){ if (typeof jQuery != 'undefined') { body.appendChild(script2); clearTimeout(timer); } },10);})()
</pre>Eric Bowdenhttp://www.blogger.com/profile/10061943337009677325noreply@blogger.com0tag:blogger.com,1999:blog-872627900777530936.post-29072857610933000152012-04-11T13:49:00.002-06:002013-06-18T11:46:12.270-06:00Parse: Sending Push Notifications using PHP with/without cURLI started using <a href="http://parse.com/">Parse</a> to easily send push notifications to phones with my app. However I needed to use PHP to send the notifications and not from the command line as shown in their <a href="https://parse.com/docs/rest#push">api</a>.<br />
<br />
I came up with the following using cURL:<br />
<br />
<pre class="brush: php">
$ch = curl_init();
$arr = array();
array_push($arr, "X-Parse-Application-Id: YOUR_APPLICATION_ID");
array_push($arr, "X-Parse-REST-API-Key: YOUR_REST_API_KEY");
array_push($arr, "Content-Type: application/json");
curl_setopt($ch, CURLOPT_HTTPHEADER, $arr);
curl_setopt($ch, CURLOPT_URL, 'https://api.parse.com/1/push');
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, '{ "channel": "","data": { "alert": "Red Sox win 7-0!" } }');
curl_exec($ch);
curl_close($ch);
</pre>
<br />
And if for some reason you don't want to use cURL, here is the code using the default stream_context_create and file_get_contents methods:<br />
<br />
<pre class="brush: php"> $url = 'https://api.parse.com/1/push';
$data = '{"channel":"","data":{ "alert":"Red Sox win 7-0!"}}';
$opts = array('http' =>
array(
'method' => 'POST',
'header' => "X-Parse-Application-Id: YOUR_APPLICATION_ID\r\n
X-Parse-REST-API-Key: YOUR_REST_API_KEY\r\n
Content-Type: application/json\r\n
Content-Length: " . strlen($data) . "\r\n",
'content' => $data
)
);
$context = stream_context_create($opts);
$result = file_get_contents($url, false, $context);
echo $result;
</pre>
Eric Bowdenhttp://www.blogger.com/profile/10061943337009677325noreply@blogger.com2tag:blogger.com,1999:blog-872627900777530936.post-2401629099382321772012-04-03T08:02:00.000-06:002012-04-03T04:03:07.632-06:00Virtual NomadsWhy do we play video games? We play video games for a social experience. Games can be after all part of the greate social network of the Internet. We play with others because it is more fun. Are social networks a bad things and can such social stimulation be addictive? Perhaps. Games start to become addictive when the player starts to feel compelled be there. The virtual world can be great and terrible. Not only is a product of our genius, but it costs virtually nothing to contribute too. It is something that we can get sucked into and lose our way. Most of us cannot do anything without our computers. The virtual world is has become our lives now. But we are humans, and no man is an island. We can't get all of our social fulfillment from video games. Eventually we feel that need and we come out into the light eventually. Do video games have lasting value? We play for many reasons: to relax, to create, to feel acomplished when we win, but mostly because we are bored. It is much easier to play a video game then it is to go out and make a new, real friend, or to learn a new skill. We lose ourselves if we lose the desire to innovate.Eric Bowdenhttp://www.blogger.com/profile/10061943337009677325noreply@blogger.com1tag:blogger.com,1999:blog-872627900777530936.post-66765233511257074442012-04-02T15:51:00.003-06:002013-02-21T11:03:14.935-07:00Multi-line overflow in Sencha Touch/ExtJSUnfortunately CSS doesn't support multi-line overflow. I stumbled upon a <a href="http://stackoverflow.com/questions/6222616/with-css-use-for-overflowed-block-of-multi-lines">stackoverflow question</a> that addressed this. I applied this to work in Sencha Touch and ExtJS.<br />
<br />
Try it yourself on jsfiddle:<br />
<a href="http://jsfiddle.net/MPkSF/87/">ExtJS fiddle</a><br />
<a href="http://jsfiddle.net/MPkSF/">Original jquery fiddle</a><br />
<br />
With the following HTML:<br />
<br />
<pre class="brush: html"><style type="text/css">
.item {
width: 300px; height: 120px; overflow: hidden;
}
.item div {
padding: 10px; margin: 0;
}
</style>
<div class="category-item">
<div class="list-item-title">Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Proin nisi ligula, dapibus a volutpat sit amet, mattis et dui. Nunc porttitor accumsan
orci id luctus. Phasellus ipsum metus, tincidunt non rhoncus id, dictum a lectus. Nam sed
ipsum a lacus sodales eleifend. Vestibulum lorem felis, rhoncus elementum vestibulum eget,
dictum ut velit. Nullam venenatis, elit in suscipit imperdiet, orci purus posuere mauris,
quis adipiscing ipsum urna ac quam.
</div>
</div>
</pre>
<br />
The javascript to add multi-line overflow in Sencha Touch is:<br />
<br />
<pre class="brush: javascript">var item = Ext.select('.item div').first();
var divh = Ext.select('.item').first().getHeight();
while (item.getOuterHeight()>divh) {
item.dom.innerText = item.dom.innerText.replace(/\W*\s(\S)*$/, '...');
}
</pre>
<br />
ExtJS is the same with one line changed:<br />
<br />
<pre class="brush: javascript">var item=Ext.select('.item div').first();
var divh=Ext.select('.item').first().getHeight();
while (item.getComputedHeight()>divh) { //this line changed
item.dom.innerText = item.dom.innerText.replace(/\W*\s(\S)*$/, '...');
}
</pre>
<br />
The above code with display the following:<br />
<br />
<pre style="background-color: white; color: black; width: 400px;">Lorem ipsum dolor sit amet, consectetur
adipiscing elit. Proin nisi ligula, dapibus a
volutpat sit amet, mattis et dui. Nunc
porttitor accumsan orci id luctus. Phasellus
ipsum metus, tincidunt non rhoncus id...</pre>
Eric Bowdenhttp://www.blogger.com/profile/10061943337009677325noreply@blogger.com0tag:blogger.com,1999:blog-872627900777530936.post-52184720182139187392012-03-22T10:55:00.005-06:002012-03-22T16:19:31.743-06:00Here Comes YouTubeIn Shirky’s book "Here comes Everybody", the author discusses the possibility of something called “mass amateurization”. Any one can post anything to the internet using blog sites or other social networks. This includes uploading videos and images, as well as other content. The author describes that these tools don’t get socially interesting until they get technologically boring, and that sharing is enhanced through them. Shirky also states that society was transformed by tools such as the printing press but it is harder to prove that it was made better. it’s simple to say the internet is an interesting phenomenon. Recently I watched a YouTube video called <a href="http://www.youtube.com/watch?v=6gmP4nk0EOE">The Machine is Us/ing Us</a>. An Anthropologist from Kansas State University, Michael Wesch, created the video to show the future of Web 2.0. Over the course of the week it became viral. Because of this video, Wesch gave a <a href="http://www.youtube.com/watch?v=TPAO-lZ4_hU&list=PL01C06F0B5E2B9EE4&index=4&feature=plcp">presentation</a> before the library of congress. Today Welsch and his students study the videos posted YouTube through Anthropology, or the effects of YouTube on society. Watching YouTube is practically a major now. We can see the effects that it has on society, the good and the bad. The web is an interesting place because it allows anyone to post anything, which changes how media is portrayed. But is this what the human race needs? Should people be allowed to post things without consequences? I believe that we should be responsible for our actions. I think that there has to be some way to genuinely authenticate a user before they upload anything so that they can be held morally responsible for what they upload.Eric Bowdenhttp://www.blogger.com/profile/10061943337009677325noreply@blogger.com3tag:blogger.com,1999:blog-872627900777530936.post-3525586659831762352012-03-13T10:14:00.003-06:002012-03-13T11:02:52.903-06:00Technologic Advancements<span><span style="font-size: 100%;">While reading an <a href="http://www.lds.org/ensign/1984/06/the-church-and-computers-using-tools-the-lord-has-provided?lang=eng">article</a> put out by the Church, I was confused why it took so long for these changes to take places. Thinking that it had come out recently, while it was talking about CADs and how much computers can save time, I stumbled across a reference to the Apple II. It was then I realized that the article was not recent, and checking yes it was written in 1984. Many of the systems </span>described<span style="font-size: 100%;"> in the article are still being updated and worked on. </span>Today it may feel like the Church is still behind where it could be in regards of technology. The reason why I feel this is that it takes awhile for technology to be implemented in a place where peoples' faith are concerned. </span> <span style="font-family: Georgia, serif; font-size: 16px; ">It would get too impersonal if everything were automated and </span>t<span>oo much computerization can make a person less receptive to the spirit. The Church has done a marvelous job using the tools that have been given to the world. So much more now is available and so much more is possible that can be done now.</span><div style="font-family: Georgia, serif; font-size: 100%; font-style: normal; font-variant: normal; font-weight: normal; line-height: normal; "><br /></div><div style="font-family: Georgia, serif; font-size: 100%; font-style: normal; font-variant: normal; font-weight: normal; line-height: normal; "><br /></div>Eric Bowdenhttp://www.blogger.com/profile/10061943337009677325noreply@blogger.com1tag:blogger.com,1999:blog-872627900777530936.post-46592206288414091482012-03-01T10:45:00.003-07:002012-03-01T11:10:20.317-07:00The Mobile Cuckoo<span><span style="font-style: normal; font-variant: normal; font-weight: normal; line-height: normal; "><span>After reading The Cuckoo's Egg I came across </span></span><a href="http://arstechnica.com/science/news/2012/03/99-percent-of-nasas-portable-devices-are-unencrypted.ars" style="font-style: normal; font-variant: normal; font-weight: normal; line-height: normal; ">an article</a><span><span style="font-style: normal; font-variant: normal; font-weight: normal; line-height: normal; "> stating that 99% of NASA's portable devices are </span>unsecured<span>. The reason why is that mobile devices have certain security features turned off, such as preventing cross-domain requests. </span></span><span style="font-style: normal; font-variant: normal; font-weight: normal; line-height: normal; ">Modern browsers have the ability to send cross-domain requests, but this option is turned off by default. The reason? A user can load a page that looks valid but is used by a hacker to send requests to desired server to get sensitive data and information. </span><span style="font-style: normal; font-variant: normal; font-weight: normal; line-height: normal; ">In The Cuckoo's Egg, a hacker was able to access government computers by guessing common </span><span style="font-style: normal; font-variant: normal; font-weight: normal; line-height: normal; ">username<span> and passwords. This can also be done with cross-domain requests, guessing HTTP GET and POST queries on a cross-domain request. Finding the right query, a hacker would be able to access a user's </span></span><span style="font-style: normal; font-variant: normal; font-weight: normal; line-height: normal; ">information</span><span style="font-style: normal; font-variant: normal; font-weight: normal; line-height: normal; "> from his own server using a cross-domain request. In browsers to make this possible the hacker would have to hack into the server, put a page on the server to make it a domain-request, and then get the user to that page. If you are a hacker use a mobile device, it's a lot easier.</span></span><div style="font-style: normal; font-variant: normal; font-weight: normal; line-height: normal; font-size: 100%; font-family: Georgia, serif; "><div style="font-family: Georgia, serif; font-size: 100%; font-style: normal; font-variant: normal; font-weight: normal; line-height: normal; "><br /></div><div style="font-family: Georgia, serif; font-size: 100%; font-style: normal; font-variant: normal; font-weight: normal; line-height: normal; "><br /></div></div>Eric Bowdenhttp://www.blogger.com/profile/10061943337009677325noreply@blogger.com2tag:blogger.com,1999:blog-872627900777530936.post-4730214445964285382012-02-28T10:40:00.003-07:002012-02-28T11:26:48.066-07:00The Cuckoo's Egg<p class="MsoNormal"><span><span style="font-size: 100%;">When I started reading, the fast paced nature of the book and the catch-me-if-you-can-ish spy story of an astronomer turned computer security specialist lead me to believe that it was a work of fiction. </span></span><span style="font-family: Georgia, serif; font-style: normal; font-variant: normal; font-weight: normal; line-height: normal; font-size: 100%; ">The elaborate processes that Stoll took to catch the hacker and the general lack in security in government and company systems seemed to confirm it for me. </span><span><span style="font-size: 100%;">I especially </span>couldn't<span style="font-size: 100%;"> believe that Stoll hooked up printers in order to track what the hacker was doing.</span></span><span style="font-family: Georgia, serif; font-style: normal; font-variant: normal; font-weight: normal; line-height: normal; font-size: 100%; "> </span><span style="font-family: Georgia, serif; font-style: normal; font-variant: normal; font-weight: normal; line-height: normal; font-size: 100%; ">Little did I realize that it all it actually happened! It is amazing to see how far computers have come in terms of levels of network security and what it takes to catch a hacker. </span><span style="font-family: Georgia, serif; font-size: 100%; ">While reading I found myself thinking of the steps that would have prevented the hacker from accessing the systems he did. </span><span><span style="font-size: 100%;">First is that total overhaul of security. Having weak credentials allowed the hacker into many of the systems that he </span>shouldn't<span style="font-size: 100%;"> have been able to enter.</span></span><span style="font-family: Georgia, serif; font-size: 100%; ">Second is that having a secure centralized logging location would of prevented the hacker from deleting local logs. He would have had to hack to central location, which would have been more difficult to cover his tracks. </span><span><span style="font-size: 100%;">Third is the covering and fixing of security loopholes in software. This is a bit harder to track, mostly because system admins </span>generally<span style="font-size: 100%;"> use outsourced software instead of creating it in house. Looking back just 20 years ago it is amazing how primitive computers seemed. It is amazing to see how far we have come today.</span></span></p><p class="MsoNormal" style="font-family: Georgia, serif; font-size: 100%; font-style: normal; font-variant: normal; font-weight: normal; line-height: normal; "><o:p></o:p></p>Eric Bowdenhttp://www.blogger.com/profile/10061943337009677325noreply@blogger.com0tag:blogger.com,1999:blog-872627900777530936.post-84486743545601451942012-02-16T04:16:00.001-07:002012-04-02T14:08:16.083-06:00Family Wiki<div><span><a href="http://www.lds.org/ensign/2010/12/future-of-familysearchorg-explained-at-seminar?lang=eng">About a year ago</a> <a href="http://www.blogger.com/FamilySearch.org">FamilySearch.org</a> combined data and features from other sites that offered similar ancestory services. Users can now receive email notifications when changes are made to a specific ancestor, as well as the ability to make and undo changes. Ancestry Search is headed in a new direction, ready to break new ground as it fully begins to take advantage of the internet. As it becomes more wiki-like, more and more people will contribute to it and add infromation about common ancestors. The future will eventually lead to social media being fully integrated with ancestry sites. It might be frightening to think that even now our entire lives are slowly being uploaded to the internet, but this is not a bad thing, our descendants will be able to look on ours lives and learn from our mistakes. This will be one step closer to our lives and memories living forever.</span></div>Eric Bowdenhttp://www.blogger.com/profile/10061943337009677325noreply@blogger.com0tag:blogger.com,1999:blog-872627900777530936.post-69408270378179064342012-02-14T00:06:00.000-07:002012-02-14T00:46:29.039-07:00Standardization of the Webkit<div><span style="font-size: 100%; ">With the rise of webkit in mobile browsers it becomes more and more tempting to drop support for the other browsers altogether. This leads to a </span><a href="http://www.glazman.org/weblog/dotclear/index.php?post/2012/02/09/CALL-FOR-ACTION%3A-THE-OPEN-WEB-NEEDS-YOU-NOW" style="font-size: 100%; ">problem</a><span style="font-size: 100%; "> that other browsers will eventually add de facto support for webkit. You add something with a -webkit prefix to your CSS and the browsers will automatically support it, even if they are not a webkit browser. This is bad. It leads to confusion and chaos. Browsers shouldn't be implementing other browser prefixes. As a developer i</span><span style="font-size: 100%; ">t is frustrating to have to test in every browser, and then come up with a work around that is not as effective as one would want. But with the standardization of webkit it will be more frustrating to be limited to only webkit browsers when others are better in certain areas. </span><span style="font-size: 100%; ">I believe that standardization is not something to be feared, but poor implementation should be. Prefix support is not is not the right way.</span></div>Eric Bowdenhttp://www.blogger.com/profile/10061943337009677325noreply@blogger.com1tag:blogger.com,1999:blog-872627900777530936.post-72776182169916137492012-02-07T00:06:00.000-07:002012-02-14T00:46:44.400-07:00Google Dart plans to usurp JS.I read an <a href="http://arstechnica.com/business/news/2011/10/javascript-has-problems-can-googles-dart-solve-them.ars/1">article</a> on arstenica about a new language that Google is developing called Dart. JavaScript has some fundamental issues that Dart addresses, the most important being that JavaScript is not as fast as a desktop language such as Java or C++ and probably will never be. It's no fun developing a slow web app when you know it could be a lot faster natively.<br /><br />However there is a lot of talk about how this will affect the web community. JavaScript has been around for years, why should we switch to another language now? My personal feelings on the subject is that if there isn't much performance gain from Dart then it will be really slow for browser venders to switch to it (obviously). With the rise of the mobile market and how slow mobile browsers are, if Google creates a smash with Dart, if it is 10 times faster than JavaScript it is a sure guarantee that Web Developers will switch to it.<br /><br /><img style="width: 200px;" src="http://www.extremetech.com/wp-content/uploads/2011/10/dart-logo-banner1-348x196.jpg" border="0" alt="" />Eric Bowdenhttp://www.blogger.com/profile/10061943337009677325noreply@blogger.com2tag:blogger.com,1999:blog-872627900777530936.post-11069750375619460512012-01-27T17:49:00.007-07:002012-03-20T00:57:09.013-06:00TRON Digital Book in HTML GoodnessI stumbled accross this after playing <a href="http://www.cuttherope.ie/">cut the rope</a>. Its a digital book made entirely from html. All the animations, transparency, audio goodness was amazing, but when I found out it was made using HTML5 it nearly brought a tear to my eye.<br /><div><br /></div><div><br /></div><a href="http://disneydigitalbooks.go.com/tron/">http://disneydigitalbooks.go.com/tron/</a><div><br /></div><div><img style="padding:0;background: url(http://disneydigitalbooks.go.com/tron/slices/page13_top_1.jpg) center center;border: solid 1px black;float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 320px; height: 104px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEioFiYrjUqtAiGF-ApHInPeDpRPVdQzISzm9KsRfMfjCRZRWeAFqPriCkYVIUG6BWt_-XXhWyt4GV5-6pMANYN_VUeWSl-skF1EX2hZgUK7QOYXD35T3gZ9OLkei0f7pdI1TDTKk0FKY1gP/s320/page20_middle2_rinzler.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5702479078781993778" /></div>Eric Bowdenhttp://www.blogger.com/profile/10061943337009677325noreply@blogger.com2tag:blogger.com,1999:blog-872627900777530936.post-54439270693415035962012-01-26T01:56:00.000-07:002012-01-27T04:23:22.262-07:00SOPA in Still Water<blockquote></blockquote>CNN <a href="http://money.cnn.com/2012/01/25/technology/sopa_pipa_lobby/">posted a news story</a> story yesterday about the current state of the SOPA/PIPA bill. One interesting thing that I found in the article was that the SOPA bill wasn't even the most lobbied bill of 2011, the most being some bill about making appropriations for Department of Defense[1]. Continuing reading of the article shows that most of the companies for the bill are ones that don't seem to have a huge internet presences. The ones against the bill have a much greater presence on the internet, and therefore have much more to lose if the bill had passed. With all the bad press of SOPA, I doubt that the bill will keep the same name when it is rewritten. Also with the whole of the internets against it I don't see a bill like that passing until lobbyists for it start thinking about everyone it would affect.<blockquote></blockquote><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div>[1]-<a href="http://www.opensecrets.org/lobby/top.php?showYear=2011&indexType=b">http://www.opensecrets.org/lobby/top.php?showYear=2011&indexType=b</a></div><div><br /></div>Eric Bowdenhttp://www.blogger.com/profile/10061943337009677325noreply@blogger.com1tag:blogger.com,1999:blog-872627900777530936.post-60323015713498568952012-01-24T22:11:00.000-07:002012-01-27T04:23:55.321-07:00Revenge of the Techno BugsI recently read <a href="http://www.mat.upm.es/~jcm/neil-postman--five-things.html">this</a> article for my computer ethics class. It got me thinking. Technology is taking something and refining it. If something is improved in the correct way then it will not produce undesirable results. We call these results 'bugs'. With the increase of newer and improved technology, less 'ethical bugs' will occur. A good engineer will elimate such bugs within a computer program with time and patience, the same will occur with the 'bugs' of technology. However, I have wondered: is it ethically correct to use things that we don't understand? We tell our children to not use the stove and not operate heavy machinary under the influence of cold medicine because there is a chance that they can ignorantly hurt themselves. How are we any better by using technologies that we don't understand? We should have a complete knowledge of an idea and its effects before we use it.Eric Bowdenhttp://www.blogger.com/profile/10061943337009677325noreply@blogger.com1