<?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-7132341335754852456</id><updated>2011-10-01T09:35:39.792-07:00</updated><title type='text'>Michael B Allen</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://ioplex.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7132341335754852456/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://ioplex.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Mike</name><uri>http://www.blogger.com/profile/01102235557558690070</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>2</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-7132341335754852456.post-2579962255923637408</id><published>2009-03-27T20:59:00.000-07:00</published><updated>2009-03-28T21:06:02.596-07:00</updated><title type='text'>Fixing up my 1987 Peavey Renown 400 Guitar Amp</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_ykM96poZ9C4/Sc2x0V7Jp4I/AAAAAAAAAAU/v6Fyp2G6vis/s1600-h/2.jpg"&gt;&lt;img style="float: right; cursor: pointer; width: 320px; height: 240px;" src="http://2.bp.blogspot.com/_ykM96poZ9C4/Sc2x0V7Jp4I/AAAAAAAAAAU/v6Fyp2G6vis/s320/2.jpg" alt="" id="BLOGGER_PHOTO_ID_5318102247790978946" border="0" /&gt;&lt;/a&gt;Back in 1987 I purchased this Peavey Renown 400 Solo Series guitar amplifier new from Rondo Music in New Jersey. Shortly thereafter I replaced the standard black netting with groovy paisley fabric purchased from a local Ralph Lauren store.&lt;br /&gt;&lt;br /&gt;The amp is somewhat unique in that the two Scorpion Plus 12 inch 8 ohm speakers are 200 watts each and the head can put out 210 watts. And that's continuous, not peak. The magnets on these things are 9 lbs. You know those amps that "go to 11"? Well I've never actually turned this up beyond about 4. You just can't do it because it gives you a strong sense that something bad is going to happen.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_ykM96poZ9C4/Sc2zmobSVbI/AAAAAAAAABc/ybhzafw3PqI/s1600-h/13.jpg"&gt;&lt;img style="cursor: pointer; width: 320px; height: 240px;" src="http://4.bp.blogspot.com/_ykM96poZ9C4/Sc2zmobSVbI/AAAAAAAAABc/ybhzafw3PqI/s320/13.jpg" alt="" id="BLOGGER_PHOTO_ID_5318104211262690738" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_ykM96poZ9C4/Sc2yXOTH1TI/AAAAAAAAAAc/YTV_6CCqI44/s1600-h/3.jpg"&gt;&lt;img style="cursor: pointer; width: 320px; height: 240px;" src="http://3.bp.blogspot.com/_ykM96poZ9C4/Sc2yXOTH1TI/AAAAAAAAAAc/YTV_6CCqI44/s320/3.jpg" alt="" id="BLOGGER_PHOTO_ID_5318102847039460658" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The functionality of the amp is fairly straight forward. It has two channels - Lead Gain and Normal Gain. There are lots of equalizer settings so it makes a good multi-purpose foundation for guitar or a PA. I used to run music through this at parties. The distortion is nothing special but there are jacks in the back to insert your effects between the pre-amp output and power-amp input.&lt;br /&gt;&lt;br /&gt;After 20+ years of sitting unused in my mother's attic I tried to sell this filth covered 70 pounder at her garage sale for $40. But clearly it had problems so it didn't sell. One of the speakers was blown and the sound would cut out as you played.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_ykM96poZ9C4/Sc2zKr9OMlI/AAAAAAAAAAs/L2FwoOW0mCo/s1600-h/4.jpg"&gt;&lt;img style="float: right; cursor: pointer; width: 320px; height: 240px;" src="http://4.bp.blogspot.com/_ykM96poZ9C4/Sc2zKr9OMlI/AAAAAAAAAAs/L2FwoOW0mCo/s320/4.jpg" alt="" id="BLOGGER_PHOTO_ID_5318103731173995090" border="0" /&gt;&lt;/a&gt;But being the problem-solver type I decided to try to resurrect this beast. I'm not an EE but dad is and I managed to get some help from someone on a Peavey forum who actually knew something about this model. Fortunately it turned out there wasn't much wrong with the amp at all aside from a loose connection somewhere. If I jammed on the guitar while I whacked the casing with the rubber handle of a pair of heavy pliers I would get a little static and then the sound would cut out. I never identified the specific connection responsible but after I briefly remelted the solder joints on all of the filter capacitors and power transistors and re-hot glued some of the larger components, the amp has been solid ever since. I've never heard so much as a hiccup.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_ykM96poZ9C4/Sc2zSieD6vI/AAAAAAAAAA8/l6ncgJRjDWs/s1600-h/6.jpg"&gt;&lt;img style="float: left; cursor: pointer; width: 240px; height: 320px;" src="http://1.bp.blogspot.com/_ykM96poZ9C4/Sc2zSieD6vI/AAAAAAAAAA8/l6ncgJRjDWs/s320/6.jpg" alt="" id="BLOGGER_PHOTO_ID_5318103866066332402" border="0" /&gt;&lt;/a&gt;With the amp working well I set out to just clean it up. I scrubbed the cabinet inside and out with a dilute solution of Simple Green and wiped it down with a wash cloth. An old horse hair brush worked very well at getting into the Tolex. I used a lint roller to clean the fabric cover which was totally impregnated with dust. Note that the "3M/Scotch" lint rollers are &lt;span style="font-style:italic;"&gt;much&lt;/span&gt; better than everything else. I used a tooth brush on the grooves of each knob. I did not submerge them or use a cleaning agent as I feared it might loosen the colored plastic tabs.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_ykM96poZ9C4/Sc2zfdT9jhI/AAAAAAAAABU/l6789mR86wU/s1600-h/9.jpg"&gt;&lt;img style="cursor: pointer; width: 320px; height: 240px;" src="http://2.bp.blogspot.com/_ykM96poZ9C4/Sc2zfdT9jhI/AAAAAAAAABU/l6789mR86wU/s320/9.jpg" alt="" id="BLOGGER_PHOTO_ID_5318104088020094482" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_ykM96poZ9C4/Sc2zO_t2aoI/AAAAAAAAAA0/jThnZxB9Coc/s1600-h/5.jpg"&gt;&lt;img style="cursor: pointer; width: 320px; height: 240px;" src="http://1.bp.blogspot.com/_ykM96poZ9C4/Sc2zO_t2aoI/AAAAAAAAAA0/jThnZxB9Coc/s320/5.jpg" alt="" id="BLOGGER_PHOTO_ID_5318103805197707906" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_ykM96poZ9C4/Sc2zXsZcx9I/AAAAAAAAABE/cChE1caUnNE/s1600-h/7.jpg"&gt;&lt;img style="cursor: pointer; width: 320px; height: 240px;" src="http://2.bp.blogspot.com/_ykM96poZ9C4/Sc2zXsZcx9I/AAAAAAAAABE/cChE1caUnNE/s320/7.jpg" alt="" id="BLOGGER_PHOTO_ID_5318103954630690770" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_ykM96poZ9C4/Sc2zb-HKcyI/AAAAAAAAABM/CIVVa8NPteg/s1600-h/8.jpg"&gt;&lt;img style="cursor: pointer; width: 240px; height: 320px;" src="http://1.bp.blogspot.com/_ykM96poZ9C4/Sc2zb-HKcyI/AAAAAAAAABM/CIVVa8NPteg/s320/8.jpg" alt="" id="BLOGGER_PHOTO_ID_5318104028105306914" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_ykM96poZ9C4/Sc2z_EDqIPI/AAAAAAAAAB8/iy4SmcejKIY/s1600-h/18.jpg"&gt;&lt;img style="float: right; cursor: pointer; width: 240px; height: 320px;" src="http://2.bp.blogspot.com/_ykM96poZ9C4/Sc2z_EDqIPI/AAAAAAAAAB8/iy4SmcejKIY/s320/18.jpg" alt="" id="BLOGGER_PHOTO_ID_5318104630996639986" border="0" /&gt;&lt;/a&gt;There is supposed to be a foot switch to toggle each channel and the reverb. But I lost it so I rigged up a hand switch instead. I went to Radio Shack and bought a Center-Off DPDT micro-switch for switching channels and a SPDT for enabling the reverb (an SPDT and SPST would work equally well of course but they were out of those particular switches). Now I can just reach behind and flip it to the left for the Lead Gain channel, to the right for the Normal Gain channel and center it to leave both channels on.&lt;br /&gt;&lt;br /&gt;I used some alligator jumpers to test the switches and figure out the wiring. Then I made a switch plate to fit in place of the foot switch DIN using a small piece of aluminum roof flashing folded in two. I wired everything in parallel to the foot switch DIN connector so that if a foot switch should turn up I could just bolt it back in place without rewiring anything. Finally I put the DIN connector in a small plastic bag so that it cannot rattle around or short-out on anything.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_ykM96poZ9C4/Sc2zvoMsbmI/AAAAAAAAABk/m-L0bDufS_0/s1600-h/15.jpg"&gt;&lt;img style="cursor: pointer; width: 320px; height: 240px;" src="http://2.bp.blogspot.com/_ykM96poZ9C4/Sc2zvoMsbmI/AAAAAAAAABk/m-L0bDufS_0/s320/15.jpg" alt="" id="BLOGGER_PHOTO_ID_5318104365820309090" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_ykM96poZ9C4/Sc2z0ZS0nYI/AAAAAAAAABs/EhQP37Jbf_o/s1600-h/16.jpg"&gt;&lt;img style="cursor: pointer; width: 320px; height: 240px;" src="http://1.bp.blogspot.com/_ykM96poZ9C4/Sc2z0ZS0nYI/AAAAAAAAABs/EhQP37Jbf_o/s320/16.jpg" alt="" id="BLOGGER_PHOTO_ID_5318104447718825346" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_ykM96poZ9C4/Sc2z6dqcZaI/AAAAAAAAAB0/8a_1qxSJQPU/s1600-h/17.jpg"&gt;&lt;img style="cursor: pointer; width: 320px; height: 240px;" src="http://1.bp.blogspot.com/_ykM96poZ9C4/Sc2z6dqcZaI/AAAAAAAAAB0/8a_1qxSJQPU/s320/17.jpg" alt="" id="BLOGGER_PHOTO_ID_5318104551970858402" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_ykM96poZ9C4/Sc5jLjYsBvI/AAAAAAAAACM/8S5GdHZvaiM/s1600-h/1.jpg"&gt;&lt;img style="cursor: pointer; width: 320px; height: 240px;" src="http://3.bp.blogspot.com/_ykM96poZ9C4/Sc5jLjYsBvI/AAAAAAAAACM/8S5GdHZvaiM/s320/1.jpg" alt="" id="BLOGGER_PHOTO_ID_5318297260099634930" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I think it's definitely worth $40 now.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7132341335754852456-2579962255923637408?l=ioplex.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ioplex.blogspot.com/feeds/2579962255923637408/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7132341335754852456&amp;postID=2579962255923637408' title='9 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7132341335754852456/posts/default/2579962255923637408'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7132341335754852456/posts/default/2579962255923637408'/><link rel='alternate' type='text/html' href='http://ioplex.blogspot.com/2009/03/peavey-renown-400-solo-series.html' title='Fixing up my 1987 Peavey Renown 400 Guitar Amp'/><author><name>Mike</name><uri>http://www.blogger.com/profile/01102235557558690070</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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_ykM96poZ9C4/Sc2x0V7Jp4I/AAAAAAAAAAU/v6Fyp2G6vis/s72-c/2.jpg' height='72' width='72'/><thr:total>9</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7132341335754852456.post-4525361160299478136</id><published>2008-09-24T18:55:00.000-07:00</published><updated>2008-09-24T20:43:37.304-07:00</updated><title type='text'>Does strong typing produce more secure code?</title><content type='html'>The &lt;a href="http://www.owasp.org/index.php/OWASP_NYC_AppSec_2008_Conference"&gt;&lt;span class="title"&gt;OWASP AppSec Conference 2008&lt;/span&gt;&lt;/a&gt; is underway in New York this week. I attended a number of interesting presentations including Hans Zaunere's which addressed PHP's unwarranted notoriety for being insecure. It seems there were some people in the audience were not convinced because someone suggested that PHP's lack of strong typing was somehow a liability.&lt;br /&gt;&lt;br /&gt;Apparently this person had performed code audits and discovered SQL injections where the programmer constructed an SQL statement without escaping a field because they assumed the user supplied parameter would always be an integer.&lt;br /&gt;&lt;br /&gt;For example:&lt;br /&gt;&lt;pre&gt;$age = $_GET['age'];&lt;br /&gt;$sql = "INSERT INTO employee (age) VALUES ($age)";&lt;br /&gt;&lt;/pre&gt;Of course the supplied 'age' parameter could be a string like:&lt;br /&gt;&lt;pre&gt;42); DROP TABLE employee ....&lt;br /&gt;&lt;/pre&gt;and thus you have the potential for SQL injection.&lt;br /&gt;&lt;br /&gt;So does it make sense to blame PHP's lack of strong typing for SQL injections?&lt;br /&gt;&lt;br /&gt;No. This case is no different in Java:&lt;br /&gt;&lt;pre&gt;String age = request.getParemeter("age");&lt;br /&gt;String sql = "INSERT INTO employee (age) VALUES (" + age + ")";&lt;br /&gt;&lt;/pre&gt;In both languages we need to either cast and validate the value or better still always escape everything int or otherwise. Escaping SQL parameters (e.g. with mysql_real_escape_string) ensures that the code is not vulnerable to SQL injection. Validation should be used to prevent putting garbage into your database.&lt;br /&gt;&lt;br /&gt;The bottom line is that you must escape all parameters when constructing an SQL statement. This is true regardless of what programming language you use.&lt;br /&gt;&lt;br /&gt;Strong typing is a constraint used to help the compiler find mistakes and optimise the resulting machine code. But for programmers who know the language well (which is usually a prerequisite for any real project), strong typing mostly equates to more typing.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7132341335754852456-4525361160299478136?l=ioplex.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ioplex.blogspot.com/feeds/4525361160299478136/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7132341335754852456&amp;postID=4525361160299478136' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7132341335754852456/posts/default/4525361160299478136'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7132341335754852456/posts/default/4525361160299478136'/><link rel='alternate' type='text/html' href='http://ioplex.blogspot.com/2008/09/does-strong-typing-produce-more-secure.html' title='Does strong typing produce more secure code?'/><author><name>Mike</name><uri>http://www.blogger.com/profile/01102235557558690070</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>
