<?xml version="1.0" encoding="utf-8" ?>
<?xml-stylesheet href="/templates/default/atom.css" type="text/css" ?>

<feed 
   xmlns="http://www.w3.org/2005/Atom"
   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   xmlns:dc="http://purl.org/dc/elements/1.1/"
   xmlns:admin="http://webns.net/mvcb/"
   xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
   xmlns:wfw="http://wellformedweb.org/CommentAPI/">
    <link href="http://www.iamwhen.com/feeds/atom.xml" rel="self" title="I Am.  When?" type="application/atom+xml" />
    <link href="http://www.iamwhen.com/"                        rel="alternate"    title="I Am.  When?" type="text/html" />
    <link href="http://www.iamwhen.com/rss.php?version=2.0"     rel="alternate"    title="I Am.  When?" type="application/rss+xml" />
    <title type="html">I Am.  When?</title>
    <subtitle type="html">a blog</subtitle>
    <icon>http://www.iamwhen.com/templates/bulletproof/img/s9y_banner_small.png</icon>
    <id>http://www.iamwhen.com/</id>
    <updated>2009-07-04T00:56:30Z</updated>
    <generator uri="http://www.s9y.org/" version="1.4.1">Serendipity 1.4.1 - http://www.s9y.org/</generator>
    <dc:language>en</dc:language>

    <entry>
        <link href="http://www.iamwhen.com/archives/88-Herbert-1701-Species-C-Generations-4-6-Builds.html" rel="alternate" title="Herbert 1701 Species C Generations 4 - 6 Builds" />
        <author>
            <name>Andrew Maxim</name>
                    </author>
    
        <published>2009-07-04T00:01:00Z</published>
        <updated>2009-07-04T00:56:30Z</updated>
        <wfw:comment>http://www.iamwhen.com/wfwcomment.php?cid=88</wfw:comment>
    
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://www.iamwhen.com/rss.php?version=atom1.0&amp;type=comments&amp;cid=88</wfw:commentRss>
    
            <category scheme="http://www.iamwhen.com/categories/4-Robotics" label="Robotics" term="Robotics" />
    
        <id>http://www.iamwhen.com/archives/88-guid.html</id>
        <title type="html">Herbert 1701 Species C Generations 4 - 6 Builds</title>
        <content type="xhtml" xml:base="http://www.iamwhen.com/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                I want to start off by apologizing for an inaccuracy in the Herbert 1701 Species C schematics.  I had grown so accustomed to using reverse biased LEDs as photo sensors that I placed the photodiodes in a reverse biased position in all of the schematics.  This, of course, is incorrect as photodiodes function in a forward bias position.  The charge circuit for Herbert 1701 Species C Generation 6 is correctly biased as it makes use of an infrared LED instead of a photodiode and should remain reverse biased.  All of the affected schematics have been updated to fix this screw-up on my part.<br />
<br />
Moving on, I have been building out each of the three species C robotic life forms, generations 4, 5 and 6.  Although I will not be labeling each as a separate generation, there are many aspects of the mechanical build that are subject to the same evolutionary process that I have been following for the circuit designs.  Use of different components and their placement have just as profound an effect on the effectiveness of each Herbert as the initial circuit design, even more so in some instances.  Just as with the trial and error used in those circuit designs, the builds have required much redesign and tweaking.<br />
<br />
Beginning the design phase, I had decided on an outer shell to hold the various sensors and solar panel in place.  I produced this outer shell using a two piece mold process, which will be used for the depictions in the upcoming tutorial.  While this design seemed like a good idea in principle, the application left a lot to be desired.  Herbert 1701 Species C Generation 4 was the guinea pig for this design and would have likely yelled at me for my idiocy if it were capable of such.<br />
<br />
<a class='serendipity_image_link' href='http://www.iamwhen.com/uploads/gallery/forblog/evolution/speciesC/herbert1701c-gen4-build1-1.jpg' onclick="F1 = window.open('/uploads/gallery/forblog/evolution/speciesC/herbert1701c-gen4-build1-1.jpg','Zoom','height=325,width=615,top=357,left=340,toolbar=no,menubar=no,location=no,resize=1,resizable=1, scrollbars=yes'); return false;"><!-- s9ymdb:103 --><img class="serendipity_image_center" width="100" height="52" style="border: 0px; padding-left: 5px; padding-right: 5px;" src="http://www.iamwhen.com/uploads/gallery/forblog/evolution/speciesC/herbert1701c-gen4-build1-1.serendipityThumb.jpg" alt=""  /></a> &#160; <a class='serendipity_image_link' href='http://www.iamwhen.com/uploads/gallery/forblog/evolution/speciesC/herbert1701c-gen4-build1-2.jpg' onclick="F1 = window.open('/uploads/gallery/forblog/evolution/speciesC/herbert1701c-gen4-build1-2.jpg','Zoom','height=403,width=615,top=318,left=340,toolbar=no,menubar=no,location=no,resize=1,resizable=1, scrollbars=yes'); return false;"><!-- s9ymdb:104 --><img class="serendipity_image_center" width="100" height="65" style="border: 0px; padding-left: 5px; padding-right: 5px;" src="http://www.iamwhen.com/uploads/gallery/forblog/evolution/speciesC/herbert1701c-gen4-build1-2.serendipityThumb.jpg" alt=""  /></a><br />
<br />
Utilizing this initial build design, I was able to learn a lot about not only the mechanical aspects of these robotic life forms, but also limitations in the electrical circuitry.  The first thing I learned is that mechanical engineering is not my strong suit.  The second is that an outer shell becomes too cumbersome for a robot that has limited energy resources.  Lastly, in a world where the Herberts would be fighting for the best light source, as in a photovore competition, tactile sensors turn the little fellows into complete wimps.  This last part is important, as it will be leading into future generation designs (Yes, the schematics are already finished for such.  No, they will not be posted until the other kinks in mechanical design are worked out).<br />
<br />
Following the above lessons, Herbert Species C Gen 4 received an overhaul.  Not only did I remove the outer shell, but the tactile sensors as well (that rhymes).  Additionally, the photodiodes have been moved to the bottom of the circuit board to reduce the amount of blinding, or sensor flooding, that occurs (i.e. too much light hitting each sensor so that it doesn't know which side has more light).  The result is build #2 depicted below.<br />
<br />
<a class='serendipity_image_link' href='http://www.iamwhen.com/uploads/gallery/forblog/evolution/speciesC/herbert1701c-gen4-build2.jpg' onclick="F1 = window.open('/uploads/gallery/forblog/evolution/speciesC/herbert1701c-gen4-build2.jpg','Zoom','height=615,width=455,top=212,left=420,toolbar=no,menubar=no,location=no,resize=1, resizable=1,scrollbars=yes'); return false;"><!-- s9ymdb:105 --><img class="serendipity_image_center" width="73" height="100" style="border: 0px; padding-left: 5px; padding-right: 5px;" src="http://www.iamwhen.com/uploads/gallery/forblog/evolution/speciesC/herbert1701c-gen4-build2.serendipityThumb.jpg" alt=""  /></a><br />
<br />
Generation 5 was built out identical to generation 4, with the only difference being the actual circuit design.  For Herbert Species C Gen 6, the solar panel required repositioning to the front of Herbert to prevent obstruction of the light level sensor in the charge circuit (i.e. the IR LED).  I also darkened the area above the photodiodes using electrical tape and placed a divider between each sensor.  The results of generation 6 up to this point follows, with these additional changes flowing back to the other two generations.<br />
<br />
<a class='serendipity_image_link' href='http://www.iamwhen.com/uploads/gallery/forblog/evolution/speciesC/herbert1701c-gen6-build-1.jpg' onclick="F1 = window.open('/uploads/gallery/forblog/evolution/speciesC/herbert1701c-gen6-build-1.jpg','Zoom','height=495,width=615,top=272,left=340,toolbar=no,menubar=no,location=no,resize=1, resizable=1,scrollbars=yes'); return false;"><!-- s9ymdb:106 --><img class="serendipity_image_center" width="100" height="80" style="border: 0px; padding-left: 5px; padding-right: 5px;" src="http://www.iamwhen.com/uploads/gallery/forblog/evolution/speciesC/herbert1701c-gen6-build-1.serendipityThumb.jpg" alt=""  /></a> &#160; <a class='serendipity_image_link' href='http://www.iamwhen.com/uploads/gallery/forblog/evolution/speciesC/herbert1701c-gen6-build-2.jpg' onclick="F1 = window.open('/uploads/gallery/forblog/evolution/speciesC/herbert1701c-gen6-build-2.jpg','Zoom','height=495,width=615,top=272,left=340,toolbar=no,menubar=no,location=no,resize=1, resizable=1,scrollbars=yes'); return false;"><!-- s9ymdb:107 --><img class="serendipity_image_center" width="100" height="80" style="border: 0px; padding-left: 5px; padding-right: 5px;" src="http://www.iamwhen.com/uploads/gallery/forblog/evolution/speciesC/herbert1701c-gen6-build-2.serendipityThumb.jpg" alt=""  /></a><br />
<br />
There will be additional changes to come in these builds, such as blackening the sides of the directional photo sensors, trying out different photodiodes (I have several different parts to try), and, most importantly, moving the motored wheels all the way forward to provide for better weight distribution.  For the purposes of testing each species for the natural selection process, these changes seemed irrelevant and will wait.<br />
<br />
I performed several tests with each of the generations.  The first was a speed test, similar to a solar roller competition.  In full sunlight on a flat level surface, generation 4 won out over the short distance of 1 1/2 feet.  Its quick charge rate up to 3 volts and efficient energy design kept Herbert rolling along.  Generation 6 was a very close second, despite charging to over 6 volts in full Florida sunlight, this generation will continue to run down to a very low voltage (around 1.5 volts) giving it a slower start but continuous stride throughout.<br />
<br />
The second speed test was performed over a slightly longer distance of 3 feet, where the clear winner was generation 6.  Generation 5 beat out generation 4 by a slight margin, showing that once it had charged fully the first time, subsequent recharges occurred faster and the extra energy allowed for a quicker distance running Herbert.<br />
<br />
The next speed test was performed over a 2 foot length on an uneven surface: the walkway in my backyard.  About one foot of the test was on a relatively smooth sidewalk, with the second half moving onto a very uneven stone paver.  There was a slight gap, about 1/2&quot;, between the two surfaces.  Again, generation 6 was the victor in this competition.  Generation 4 did not finish as it lacked the power to clear the gap between surfaces and instead stalled out at that point.<br />
<br />
The last speed test took place near a window indoors on a rainy day across a smooth surface.  This test actual took place quite by accident, but brings home the differences between generations.  Herbert 1701 Species C Generation 6 was the only generation to start or finish this competition.  In the very low light conditions, not even the low voltage generation 4 was able to build up enough of a charge to get moving, whereas generation 6 happily popped along at a rate of about 1 inch per 3 second interval.  On a whim, I performed the same light level test using a photopopper from Solarbotics.  As with generations 4 and 5, the photopopper never got moving, even with the very low trigger level of the two Miller Solar Engines.<br />
<br />
The last competition is the photovore competion, which I will not be running until all mechanical tweaks have been tested.  Just to note, in an actual photovore competition each robot is allowed twice the solar panel surface area as is currently in use (read: two solar panels instead of one), but in testing apples to apples I believe one solar panel will show clear results.  I will also be throwing the above mentioned Solarbotics photopopper into the arena to provide four competitors total and a good control robot.<br />
<br />
So what did we learn from all this?  Number one is that I suck at mechanical design and will continue to tweak out and retest the Herbert Species C critters until I am satisfied.  The second thing is that the variable charge level of the <em>Max8212 solar engine</em> seen in generation 6 is superior to the set charge level seen in the other two generations, and even the set charge level of a standard photopopper using <em>Miller Solar Engines</em>.  At this point it seems obvious to me which generation should progress forward along this particular branch of the evolutionary cycle that is Herbert 1701.  Of course, the photovore competion will be the final word in the natural selection process.  Stay tuned.  
            </div>
        </content>
        
    </entry>
    <entry>
        <link href="http://www.iamwhen.com/archives/87-Computer-Security-101-Part-6-User-Permissions.html" rel="alternate" title="Computer Security 101 - Part 6 - User Permissions" />
        <author>
            <name>Andrew Maxim</name>
                    </author>
    
        <published>2009-06-26T06:32:00Z</published>
        <updated>2009-06-29T17:14:05Z</updated>
        <wfw:comment>http://www.iamwhen.com/wfwcomment.php?cid=87</wfw:comment>
    
        <slash:comments>1</slash:comments>
        <wfw:commentRss>http://www.iamwhen.com/rss.php?version=atom1.0&amp;type=comments&amp;cid=87</wfw:commentRss>
    
            <category scheme="http://www.iamwhen.com/categories/2-Tech" label="Tech" term="Tech" />
    
        <id>http://www.iamwhen.com/archives/87-guid.html</id>
        <title type="html">Computer Security 101 - Part 6 - User Permissions</title>
        <content type="xhtml" xml:base="http://www.iamwhen.com/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                I skipped ahead in Part 2 of my Computer Security 101 entries to cover passwords, or rather passphrases, despite it falling out of line with an outside-in approach to security.  Entering into the actual desktop arena, I am going to skip ahead of a few items to cover the important field of User Permissions.<br />
<br />
Assuming you have followed the best practices I have outlined previously in parts 1 thru 5, in order to gain access to a desktop a malicious person would need to either bypass your firewall, hack your wireless, plug a hard-line into your network or be sitting directly at a workstation.  From there they would then need to begin cracking the various passphrases on your computer or network to do any major damage.  While these are all possibilities, they fall in the realm of highly improbable; again, assuming you have followed the prior posted best practices.  Instead the real threat comes from you: the user.<br />
<br />
I'm not referring to malicious users, but rather the unintentional threats presented by your own daily activities, curiosity and, to a lesser extent, lack of knowledge.  It is here that the greatest potential for attack on a computer system lies.  It is here that most breaches in a system occur.  Here be users.<br />
<br />
User permissions are probably the most under managed and over looked area of computer security, both at the home computing level and within enterprise organizations.  Users break things.  Users also bring in spyware, adware and viruses.  The sad thing is that with proper user permissions most problems can be averted.  <br />
<br />
I will give an example of just how effective proper user permissions can be:  <br />
<br />
A while back my daughter had started to use my laptop to work on school projects.  Being a person in general and a teenager in particular, she used the laptop for other things as well, such as going to her MySpace page.  One thing lead to another and I was removing all sorts of spyware and trojan viruses from that laptop by the time she left that weekend.  Yes, one weekend and the laptop was a cesspool.<br />
<br />
Now, to put things in perspective this laptop was running the latest in enterprise level virus scanning software, as well as several anti-malware programs.  All software and definitions were up to date.  Yet, in a short 48 hours it was covered with all sorts of nasty little buggers.  The reason?  The account she was using had administrator level permissions.  That was it; that was the security breach.<br />
<br />
Mind you, the rest of my home network kept that laptop from &quot;spreading the disease&quot; or becoming a bot for malicious users, but it was a reminder to myself as to just how important user permissions can be.  Since that time she has been setup with a user level account and there has not been a single instance of reinfection.  If that is not enough convincing, let me point out that because she has effectively commandeered this laptop, the only account to logon for weeks at a time is hers.  She is also not one to update the virus definitions, nor can she with her user permission level (as I said, enterprise antivirus software).  But the laptop remains clean as a whistle, all thanks to reduced user permissions.<br />
<br />
The lesson to be had here is that everyone should be performing their day to day computer activities with a computer account granted as minimal of permissions as possible.  In the Windows environment this means being part of the &quot;User Group&quot;, as opposed to the default in a home computer that dumps accounts automatically into the &quot;Administrators Group.&quot;<br />
<br />
To be completely clear, when I say &quot;everyone,&quot; I mean <strong>everyone</strong>.  At the home level a simple user account should be used for 99.999% of your activities.  At the corporate level, every employee should be performing their work using a simple user account.  This includes department heads, vice presidents, and even IT personnel.  Especially IT personnel and most especially developers.  99.999% of all your activities at your desktop can be accomplished using a standard user account.<br />
<br />
In order to cover the 0.001% of the time where less restrictive permissions are required, companies have an IT staff to handle things.  And those IT personnel should have a second account with appropriate permissions to be used strictly for performing these 0.001% tasks.  Home computers should be setup in the same manner as IT personnel: one User level account for everything and one Administrator level account for stuff not covered by everything.<br />
<br />
I have heard all sorts of complaints and excuses in the past as to why &quot;so-and-so&quot; is a local administrator on their desktop, or why a developer needs to be an administrator, or why it is <em>inconvenient</em> to have to switch user accounts.  To these excuses I say a nice resounding &quot;Bull Shit.&quot;<br />
<br />
Inconvenient is a home user having to spend $65 an hour to clean all the malware off their computer.  Inconvenient is trying to fix your credit after your identity has been stolen.  Inconvenient is having your company blacklisted on <a onclick="javascript: pageTracker._trackPageview('/extlink/www.spamhaus.org/');"  target="_blank" href="http://www.spamhaus.org/">Spamhaus</a> because a developer's computer is sending out spam thanks to a virus.  Inconvenient is having to explain to your customers how their personally identifiable information might have been lost as part of a recent security breach.  Inconvenient is going before a judge to explain your company's negligence.  These things are inconvenient; having to log off your computer and back on with a different account to install new software is not.<br />
<br />
There are other areas of user permissions aside from the simple User versus Administrator, but that really becomes a case by case kind of thing.  The best rule to follow is to start off with the most restrictive level of permissions for each person possible and then tweak things as needed.  You might get yelled at for a person's lack of access to something, but you are not going to get subpoenaed; and any yelling stops when you fix the problem.  
            </div>
        </content>
        
    </entry>
    <entry>
        <link href="http://www.iamwhen.com/archives/86-Tutorial-and-Other-Updates.html" rel="alternate" title="Tutorial and Other Updates" />
        <author>
            <name>Andrew Maxim</name>
                    </author>
    
        <published>2009-06-23T18:41:58Z</published>
        <updated>2009-06-23T19:07:32Z</updated>
        <wfw:comment>http://www.iamwhen.com/wfwcomment.php?cid=86</wfw:comment>
    
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://www.iamwhen.com/rss.php?version=atom1.0&amp;type=comments&amp;cid=86</wfw:commentRss>
    
            <category scheme="http://www.iamwhen.com/categories/1-Main" label="Main" term="Main" />
    
        <id>http://www.iamwhen.com/archives/86-guid.html</id>
        <title type="html">Tutorial and Other Updates</title>
        <content type="xhtml" xml:base="http://www.iamwhen.com/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                As promised, I have finished up the <a href="http://www.iamwhen.com/tutorials/whisker.html">Omnidirectional Tactile Whisker Sensor</a> tutorial.  Complete instructions are available in the tutorial section (linked in the main bar above).  I think when all is said and done, each sensor comes out to a price of about $0.75 (yes, 75 cents) or less.  I have made about a half dozen of these Whisker Sensors thus far and each has come out working quite well with little to no problems.  The intention is to post this tutorial up on the Society of Robots website as well.  Good stuffs all around.<br />
<br />
Speaking of the Society of Robots (linked in the side bar over there <-- ), the website received much love in the July/August edition of Robot magazine.  To be honest, it is about time the website got this attention, as there is so much information available at the Society of Robots for every level of roboticist.  It really deserves a full featured article, or at the very least an interview with founder John Palmisano.  Congratulations SoR!  Well deserved.<br />
<br />
I am also in the process of updating my Science Scout badges page to include my latest badge, as well as updating all the image links to the new <a onclick="javascript: pageTracker._trackPageview('/extlink/www.scq.ubc.ca/sciencescouts/');"  target="_blank" href="http://www.scq.ubc.ca/sciencescouts/">Science Scout</a> page.  Even if you have no interest in sciencey stuff, I do recommend reading the badge page.  It is quite the humorous compilation, if I do say so myself.  It is linked off my About Me page (main bar above) or directly by <a href="http://www.iamwhen.com/pages/badges.html">clicking here</a>.<br />
<br />
The last update here is that I am hoping to have the next in my series on Computer Security up before end of week, where I will be covering User Permissions.  Stay tuned...  
            </div>
        </content>
        
    </entry>
    <entry>
        <link href="http://www.iamwhen.com/archives/85-Dead-Power-Supply.html" rel="alternate" title="Dead Power Supply" />
        <author>
            <name>Andrew Maxim</name>
                    </author>
    
        <published>2009-06-17T18:09:25Z</published>
        <updated>2009-06-17T19:59:25Z</updated>
        <wfw:comment>http://www.iamwhen.com/wfwcomment.php?cid=85</wfw:comment>
    
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://www.iamwhen.com/rss.php?version=atom1.0&amp;type=comments&amp;cid=85</wfw:commentRss>
    
            <category scheme="http://www.iamwhen.com/categories/3-Personal" label="Personal" term="Personal" />
    
        <id>http://www.iamwhen.com/archives/85-guid.html</id>
        <title type="html">Dead Power Supply</title>
        <content type="xhtml" xml:base="http://www.iamwhen.com/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                Following a loud pop that caused my heart to stop for a moment, my computer power supply decided to head on to greener pastures.  Being who I am, I figured I would rip it apart to see the reparability of it all, thinking it was likely a blown capacitor or transformer.  Capacitors that make that exploding sound usually show some outward sign of such action, where as transformers are generally more subtle.  Worth a shot at the very least, right?<br />
<br />
With no signs of capacitor damage and 16 transformers soldered into the circuitry, it was apparently a waste of my time.  I suppose I could have started desoldering parts to test them individually, but even were I successful in locating the culprit (and hopefully the root cause); I would have to locate some oddball replacement component.  Hardly worth the time for all of that.<br />
<br />
Instead of jumping through all the self-repair hoops, I looked online for an aftermarket replacement... with no luck.  It would seem this is a proprietary power supply specific to this model of Dell.  And that just sucks.  The good news is that everyone and their brother seem to carry this power supply as a refurbished unit, including Dell.  That meant two things to me: first, this particular type of failure is likely a common problem with this power supply, and second, they are likely replacing the bad component with a better one.  That last part is just a guess, but makes sense when you have a common source of failure.<br />
<br />
Anyway, the moral of this story is that I am without my main computer until sometime Friday when my replacement power supply arrives.  The big problem is that my life is on that computer, including all the pictures and notes for this here blog thingy of mine.  I do have backups (and the hard drives are obviously still OK), but with under a weeks wait for repair time it hardly seems worth the effort to build out a computer just to restore a few files for a couple of days use.  At least that is my thought.<br />
<br />
While we wait for a real blog entry from yours truly, you can just sit back, relax, and enjoy the music.  What?  You can't hear that music?  Sorry, the voices must be singing again.  They really are getting pretty good you know.  Just skip that last part about enjoying the music.  I'll get something more entertaining up as soon as I can.  Until then... Ciao.  
            </div>
        </content>
        
    </entry>

</feed>