shiflett's Journal http://use.perl.org/~shiflett/journal/ shiflett's use Perl Journal en-us use Perl; is Copyright 1998-2006, Chris Nandor. Stories, comments, journals, and other submissions posted on use Perl; are Copyright their respective owners. 2012-01-25T02:17:27+00:00 pudge pudge@perl.org Technology hourly 1 1970-01-01T00:00+00:00 shiflett's Journal http://use.perl.org/images/topics/useperl.gif http://use.perl.org/~shiflett/journal/ A PHP Guy at YAPC: Part II http://use.perl.org/~shiflett/journal/19399?from=rss <p> <b>Day 3:</b> The last day of the conference came too quickly. I slept in a little (missed <a href="http://www.modperlcookbook.org/~geoff/">Geoff</a>'s <a href="http://www.yapc.org/America/talk_desc.shtml#22">Apache-Test talk</a>), then walked over to campus. I overloaded on those tasty banana muffins before checking in on <a href="http://www.smashing.org/">Jeff</a> after his <a href="http://www.yapc.org/America/talk_desc.shtml#27">85 minute talk on extproc_perl</a>.</p><p>We went to Fuddruckers yet again for lunch with a large group and got back in time to catch a large part of Damian's talk, which was pretty entertaining. Town Hall seemed pretty useless, but I guess it's a tradition. There seemed to be too many people complaining about dumb stuff, like the guy who was upset that he didn't know about the trip to Niagra falls on Saturday morning. Of course, it's been on the <a href="http://yapc.kwiki.org/">wiki</a> for a long time. There were some funny comments on the #yapc IRC channel about that particular guy.</p><p>After Town Hall, we (Geoff, Jeff, Mike, and I) went to the speaker's dinner, which was nice. I met <a href="http://www.orwant.com/blog/">Jon Orwant</a> and got to hang out a bit more with Nat. Jim Brandt was there with his whole family. He seems like a really nice guy, and he did a super job with the conference. Other people I recall seeing include Damian Conway, Andy Lester, and James Duncan.</p><p>After failing to talk Nat into joining us for a movie, we went to see <a href="http://www.imdb.com/title/tt0364725/">Dodgeball</a>, which was hysterical. Geoff and I got the souvenir barrels of Coke on purpose, so I now have three of those (Geoff didn't want his).</p><p>Back at the hotel, Geoff and Jeff went to bed, and Mike and I hung out at the bar until 5:00 or so. There, we chatted with James and Katrien before they went to bed, and I met <a href="http://use.perl.org/~gav/">Gavin Estey</a>.</p><p> <b>Day 4:</b> I woke up feeling extremely tired (and thirsty, thanks to the half dozen pints of Guiness), but managed to get packed up and out by 10:30 or so. We went to Niagra falls, which I had never seen, and that was really cool. We ate the Hard Rock Cafe for lunch, and Mike came up with a true gem of an idea (I'll keep the idea a secret for now). He jokingly mentioned the idea as a Lightning Talk, and we all decided it would work best as a 5 minute movie that we plan to have ready by <a href="http://conferences.oreillynet.com/os2004/">OSCON</a> in Portland. Now I need to learn how to use iMovie.</p><p>I thought the conference was great, and as always, it was good to get to hang out with friends. It's too bad I only see them a few times a year at conferences. Being mostly a PHP guy, YAPC was particularly fun, because my primary goal was to hang out, so there wasn't even any underlying pressure to have a more legitimate reason to be there. It was a nice way to enjoy a conference.</p><p> <b>Pictures:</b> </p><ul> <li> <a href="http://shiflett.org/images/chris_and_perrin.jpg">Me and Perrin</a> at the Anchor Bar</li><li> <a href="http://shiflett.org/images/yapc_niagra.jpg">Jeff, me, Geoff, and Mike</a> at Niagra Falls</li></ul> shiflett 2004-06-21T05:59:04+00:00 journal A PHP Guy at YAPC: Part I http://use.perl.org/~shiflett/journal/19337?from=rss <p> <b>Day 0:</b> I took a train from Penn Station to Philadelphia to stay at <a href="http://www.modperlcookbook.org/~geoff/">Geoff</a>'s house Monday night (Day -1). We then drove to Buffalo on Tuesday (Day 0) with <a href="http://www.smashing.org/">Jeff</a> and Mike (a former co-worker of Geoff and Jeff). Everyone is staying at the <a href="http://universityinn.com/">University Inn</a>, but since I had just decided to tag along at the last minute, I didn't have a reservation. I arrive to learn that they're booked, so I end up rooming with Geoff.</p><p>The four of us had dinner at the hotel restaurant, then sought out Main Street (at the waitress's recommendation) to have some fun. We quickly learn that Main Street is dead, so we drive to <a href="http://www.spatricks.com/">Sean Patrick's</a> to see if anyone is left from the <a href="http://yapc.kwiki.org/index.cgi?ArrivalDinner">arrival dinner</a>. There were a few people there, including <a href="http://use.perl.org/~gnat">Nat</a>, so we chatted over a few beers, then headed back to the hotel to sleep.</p><p> <b>Day 1:</b> We made our way to campus, got registered, and listened in on the last of <a href="http://use.perl.org/~allison">Allison</a>'s keynote. Geoff then spent quite a while trying to get his laptop to play nice with the facility's AV equipment, which was finally successful. Lunch was at Fuddruckers, courtesy of Scott Meyers (of Sams Publishing). <a href="http://use.perl.org/~perrin">Perrin</a> and a few other people joined us.</p><p>I listened to <a href="http://www.csse.monash.edu.au/~damian/index.html">Damian Conway</a> speak (my first time hearing him) at his <a href="http://www.yapc.org/America/talk_desc.shtml#40">Perl 6 talk</a>. He is a very good speaker, even with his quirky pronunciations of words like data and cache. What surprised me the most about the upcoming Perl 6 features are the non-ASCII characters in the language syntax. The Yen symbol is a zip operator ("it looks sort of like a zipper"), while "naughty French brackets" and "naughty German brackets" are two others. These each have ASCII equivalents, but this decision seems really odd to me. Apparently Perl people aren't very happy either. On the other hand, the coolest syntactical sugar I learned about was the semi-infinite yada (...), which has all sorts of handy uses, all of which are mostly intuitive (which is not how I would describe many of Perl's operands). All in all, I was impressed with Damian's speaking talent as well as what I can best describe as a solid theoretical foundation upon which language design decisions seem to be made in the Perl world.</p><p>After going back to the hotel for a bit (I went for a short run), we (Geoff, Jeff, Mike, Perrin, and I) joined other YAPC people at the <a href="http://www.anchorbar.com/">Anchor Bar</a>, which is where Buffalo wings were invented. Geoff has a picture somewhere of two college girls who apparently didn't notice that the whole room was reserved for the large crowd of computer geeks. Nat's choice for a caption: "One of these things is not like the other."</p><p>We finished the night with a trip to the IMAX cinema to watch the new Harry Potter movie (sponsored by O'Reilly). When Mike, Perrin, and I went to get some concessions, Geoff gave me $5 and asked for a large Coke. Well, it turns out that $5 gets you a lot of Coke, so we brought back this enormous souvenir barrel of Coke that required its own special straw. It made for a pretty funny scene when we returned. The movie itself was pretty good, although the YAPC crowd is very unforgiving of all the lame parts and would laugh mercilessly at them. I think the highlight was the IMAX introduction that described how the speakers were laser-pointed at us.</p><p> <b>Day 2:</b> Geoff gave his <a href="http://www.yapc.org/America/talk_desc.shtml#21">Why mod_perl 2.0 Sucks, Why mod_perl 2.0 Rocks</a> talk at 9, which marked its final showing. The idea will live on at <a href="http://conferences.oreillynet.com/os2004/">OSCON</a> this summer with <a href="http://www.trachtenberg.com/">Adam</a>'s similarly-titled talk, <a href="http://conferences.oreillynet.com/cs/os2004/view/e_sess/5467">Why PHP 5 Sucks! Why PHP 5 Rocks!</a>.</p><p>I watched <a href="http://petdance.com/">Andy Lester</a> speak about Perl testing before heading to the <a href="http://www.yapc.org/America/talk_desc.shtml#37">Lightning Talks</a>. For some of those speakers, I'm glad they only spoke for 5 minutes. Nat, on the other hand, was excellent (and hysterical).</p><p>There was a nice dinner held at the hotel prior to the Perl Foundation auction (I found a <a href="http://kuiki.net/hachi/camera/yapc2004/dsc00409.jpg?wrap=1;page=image.ttml;sort=">picture</a> with Perrin, Mike, Jeff, Scott, and I). The most memorable moment was hearing <a href="http://yapc.kwiki.org/index.cgi?UriGuttman">Uri</a> say something like "who's ever heard of the Developer's Library?" (in a rhetorical manner, suggesting that no one has) while sitting near Scott Meyers, the creator of the series. I think Geoff has a picture of Scott's expression.</p><p>Tomorrow is the last day of the conference. I'll give another update once I get back to New York over the weekend.</p> shiflett 2004-06-18T05:35:26+00:00 journal MySQL Licensing http://use.perl.org/~shiflett/journal/17350?from=rss <p>It's been a week since he wrote this (I've been busy with <a href="http://www.phpcommunity.org/">PHPCommunity.org</a>), but <a href="http://www.schlossnagle.org/~jesus/scriptures/">Theo</a> has written a <a href="http://www.omniti.com/~jesus/scriptures/archives/000111.html#more">nice testimonial</a> about the problems developers are facing with MySQL's licensing.</p><p> <a href="http://zak.greant.com/">Zak</a> has been hosting an open license review recently. Hopefully good things will happen as a result. I encourage everyone to voice any concerns you have; MySQL AB seems very willing to listen and to try to resolve and/or clarify any legitimate concerns.</p> shiflett 2004-02-11T08:26:57+00:00 journal Localfeeds http://use.perl.org/~shiflett/journal/16200?from=rss <p>I just discovered <a href="http://www.localfeeds.com/">Localfeeds</a>, a search engine for feeds where the searches are based on geographic location. This seemed interesting enough, so I typed in my ZIP (10001) and was shown the most recent <a href="http://localfeeds.com/near/?dist=50&amp;postal=10001">blogs within 50 miles of 10001</a> (New York City). Sure enough, there are a lot of people talking about the big snow storm we're having here. Neat.</p><p>The current trend seems to be that people interested in a particular topic tend to read the same blogs. While this can be good in that you explore the perspectives related to a particular topic from people all around the world, it is pretty fun to see what random people who live near you are talking about. I would never think of writing about the current snow storm, for example, because most people who read my blog are interested in PHP or Web development, but it was cool to read blogs of people who did just that.</p><p>Not wanting to be left out, I went back to the first page to see how to get added to such a thing. Is your site ready for Localfeeds? I typed in <a href="http://shiflett.org/">http://shiflett.org/</a> to find out. I was shown the <a href="http://www.localfeeds.com/near/checklist.cgi?p=http%3A%2F%2Fshiflett.org%2F">checklist for shiflett.org</a>, which was much different than what you will see now. I did not properly indicate the coordinates for where I live, which I learned must be expressed in a meta tag:</p><p> <code>&lt;meta name="ICBM" content="40.750422,-73.996328"<nobr> <wbr></nobr>/&gt;</code> </p><p>After adding this and returning to the checklist, I found everything to be in order, and I was told to click a link to notify Localfeeds and <a href="http://geourl.com/">GeoURL</a>. I then visited GeoURL, out of curiosity, and I saw my site listed:</p><p> <code>Chris Shiflett: Home (near New York, USA. see neighbors)</code> </p><p>Very cool. Of course, I feel like the last to know about this stuff, but maybe this will introduce it to someone new.</p> shiflett 2003-12-07T07:33:54+00:00 journal On Being Quoted http://use.perl.org/~shiflett/journal/15994?from=rss <p> I don't think I've ever been quoted before. While at <a href="http://www.apachecon.com/">ApacheCon</a>, I went to see if there were any free Cokes left from lunch for <a href="http://www.caseywest.com/">Casey</a> and I, and my quest was briefly interrupted by someone from <a href="http://linuxtoday.com/">Linux Today</a> who wanted to ask me a question. I agreed, thinking she was going to ask some insightful question about Apache, open source, or something relevant. Nope, she asked me about SCO. How boring. </p><p> I basically expressed my lack of interest and indicated that the news from <a href="http://slashdot.org/">Slashdot</a> was about all that I knew of SCO's actions. What ended up in <a href="http://linuxtoday.com/infrastructure/2003112002026INCDCY">the article</a> was quite a bit different. The statements attributed to me aren't necessarily things that I disagree with (although I have no idea what four things in Linux I could possibly be talking about), but it is weird having quotes made up and attributed to me. I know a lot of open source developers are quoted pretty often. Is this pretty much the way it goes? </p><p> I wonder if <a href="http://tim.oreilly.com/">Tim</a> really said the things attributed to him in a <a href="http://linuxtoday.com/infrastructure/2003112401726NWBZEV">similar article</a> by the <a href="http://linuxtoday.com/search.php3?author=Jacqueline:Emigh">same writer</a>. </p><p> I never did find any Cokes. Sorry, Casey.<nobr> <wbr></nobr>:-) </p> shiflett 2003-11-25T03:48:21+00:00 journal ApacheCon Wrapup http://use.perl.org/~shiflett/journal/15916?from=rss <p> ApacheCon is over. When trying to think of all of the people that I hung out with or met for the first time (or both), I came up with the following list: <a href="http://www.stason.org/">Stas Bekman</a>, <a href="http://marcus-boerger.de/">Marcus Boerger</a>, <a href="http://www.drbacchus.com/journal/">Rich Bowen</a>, <a href="http://use.perl.org/~gozer/">Philippe Chiasson</a>, <a href="http://www.coggeshall.org/">John Coggeshall</a>, <a href="http://www.raelity.org/">Rael Dornfest</a>, <a href="http://www.edwardbear.org/serendipity/">Sterling Hughes</a>, <a href="http://www.lerdorf.com/">Rasmus Lerdorf</a>, <a href="http://www.schlossnagle.org/~jesus/scriptures/">Theo Schlossnagle</a>, <a href="http://www.lyra.org/greg/">Greg Stein</a>, <a href="http://use.perl.org/~gnat/">Nathan Torkington</a>, <a href="http://www.trachtenberg.com/">Adam Trachtenberg</a>, <a href="http://www.caseywest.com/">Casey West</a>, and <a href="http://www.modperlcookbook.org/~geoff/">Geoff Young</a>. </p><p> Adam and I went to see Geoff's talk, <a href="http://www.modperlcookbook.org/~geoff/slides/ApacheCon/2003/mp2_rocks-printable.ppt.gz">mod_perl 2.0 sucks; mod_perl 2.0 rocks</a>, on Wednesday morning. As expected, this was an excellent talk, and I found a <a href="http://www.yandatime.com/archives/000153.html">complimentary review</a> shortly after that declared Geoff to be a star. Of course, I already knew that. After his talk, Geoff, Adam, and I went back to Mary's for a burger, and we all had the Hawaiian burger (since I had been raving about it since Sunday). My talk, <a href="http://shiflett.org/talks/apachecon2003">PHP Attacks and Defense</a>, was after lunch. The room was extremely large, which had good and bad points. More people were able to attend than when I spoke at OSCON (my talk there was very overcrowded, which prevented a lot of people from being able to get in), but the large room makes everything less intimate. I think the talk went pretty well, and those who filled out the comment cards had very nice things to say. </p><p> I took a nap before going to dinner at the <a href="http://www.vegas.com/resorts/strato/?f=m1ht&amp;t=mstrat">Stratosphere</a>, courtesy of <a href="http://www.pair.com/">Pair Networks</a> (thanks Casey!). The restaurant was very nice, and it provided a great view of the city. It was one of those revolving restaurants (and located at the very top), so we got to see pretty much everything. One interesting thing about Las Vegas is how the city is in the middle of the desert, and this is clearly visible from atop the Stratosphere, because the city lights don't stretch very far in any direction. Dinner conversation was interesting, and we talked about pretty much everything. The dinner party consisted of Casey (the host), Nat, Geoff, Philippe, Rasmus, and myself. Rasmus had some interesting stories about Yahoo. I was particularly interested in the types of Web-based attacks that they have to deal with. There are some very creative and malicious people out there with way too much time on their hands, and Yahoo is a popular target. </p><p>[img src="http://shiflett.org/images/bigshot.png"<nobr> <wbr></nobr>/]</p><p> Casey and I rode the Big Shot, which was the most thrilling ride I have ridden. As you can tell from the picture, we didn't play it very cool. There are a lot of funny captions that could go along with this picture, but "This thing is powered by Microsoft?!?!?!" was the best thing I could think of. That would be scary indeed.<nobr> <wbr></nobr>:-) As frightening as it was, I don't think it's the worst ride there. One new ride is a mechanical arm that extends far over the edge. It is basically a segment of track from a roller coaster, and you ride in a car that propels toward the end of the arm at very high speeds (the arm itself also moves up and down during this process), braking just at the brink of death. Nat cleverly described its motion as someone trying to shake a "boogie" from their finger. Once you've seen it, you will never ride it. </p><p> After dinner, we walked down the entire strip and all the way back to the Alexis. Everyone was too tired to do anything else after that, so we all went to bed. </p><p> I shared a cab to the airport with Marcus, and I wrote this blog on the plane. All in all, ApacheCon was a great experience, and I feel like I've learned a lot as well as made some good friends. Bye bye, Las Vegas. </p> shiflett 2003-11-21T04:11:23+00:00 journal Tuesday at ApacheCon http://use.perl.org/~shiflett/journal/15861?from=rss <p> Today was as busy as yesterday, and I've realized that it's impossible to give an accurate account of a day at ApacheCon. This is especially true when I try to remember everything that happened late at night or sometime the following day. </p><p> I spent much of the day hacking and was able to meet and hang out with more people - <a href="http://www.modperlcookbook.org/~geoff/">Geoff</a>, <a href="http://www.stason.org/">Stas</a>, <a href="http://www.schlossnagle.org/~jesus/scriptures/">Theo</a>, <a href="http://www.coggeshall.org/">John</a>, <a href="http://www.trachtenberg.com/">Adam</a>, and <a href="http://www.caseywest.com/">Casey</a> are the people whose faces (and names) come to mind. <a href="http://use.perl.org/~gnat/">Nat</a> was speaking opposite <a href="http://www.lerdorf.com/">Rasmus</a> at some PHP versus Perl (versus Java, but who cares about Java?) talk at Comdex. Casey and I took the shuttle over there to listen in, but we discovered that it would cost $1600.00 to watch the talk. That idea was quickly canned. </p><p> I went to dinner with Sams. Others in the party were Geoff, Stas, John, <a href="http://www.rcbowen.com/">Rich</a>, <a href="http://www.lyra.org/greg/">Greg</a>, Shelley (an editor at Sams - the host), and a few other people. After dinner, we all headed to a bar to hang out but got separated in the process. Several of us walked over to the Luxor, and Geoff and I watched a haunted house movie on IMAX, which was very cool (it was in 3D). </p><p> Tomorrow is my talk (already available <a href="http://shiflett.org/talks/apachecon2003">here</a>, with all examples disabled, because they demonstrate security vulnerabilities), so I plan to go over my slides, and possibly do some last minute tweaking, before I get some sleep. </p> shiflett 2003-11-19T09:01:37+00:00 journal Sunday at ApacheCon http://use.perl.org/~shiflett/journal/15809?from=rss <p> My flight left JFK at 8:00 AM. That was not cool, but at least everything was on time. After arriving in Las Vegas, I met up with <a href="http://use.perl.org/~geoff/">Geoff</a> to go grab a burger and met one of his coworkers and <a href="http://use.perl.org/~cwest/">Casey</a> in the process. It was also the best burger I've ever eaten, so I expect to return there at least once this week. </p><p> I took a much needed nap after lunch. <a href="http://www.trachtenberg.com/">Adam</a> got in a couple of hours later, and we had dinner at Lucky's in the Hard Rock Hotel and Casino (on Geoff's recommendation). </p><p> Tomorrow is the first day of sessions. I plan to go see Adam's XML talk, but that's the extent of my plans. </p> shiflett 2003-11-17T06:28:29+00:00 journal PHP Security Handbook http://use.perl.org/~shiflett/journal/15753?from=rss <p> For all of the security-conscious PHP professionals who are starving for information, help is on the way. I'm pleased to announce my latest writing project, the <i>PHP Security Handbook</i> to be published by <a href="http://www.oreilly.com/">O'Reilly and Associates</a>. </p><p> There are many steps to securing a Web application, including the security of the network, the Web server, and other related software. This book will focus on application security - the topics that are of concern to those who actually write the code. </p> shiflett 2003-11-13T20:52:25+00:00 journal mod_perl Sucks http://use.perl.org/~shiflett/journal/15602?from=rss <p>And, mod_perl rocks.<nobr> <wbr></nobr>:-)</p><p>Thus was the lesson taught by <a href="http://use.perl.org/~geoff/">Geoff</a> in his wonderful presentation given to <a href="http://ny.pm.org/">NY.pm</a> last night.</p><p>He was specifically speaking about mod_perl 2.0, and the approach was very nice. The presentation began with a detailed step-by-step account of his first experiences with 2.0, including the problems he ran into and the steps he took to resolve those problems. This was the most refreshing thing about the sucks/rocks approach, in my opinion. Not only were the solutions to these problems given, but Geoff explained the approaches he took to find those solutions (rather than only explaining the steps involved in the solutions themselves). If everyone could do this, it sure would be a neat thing. I think too many people are concerned with wanting everyone to think that it all comes easily or naturally. The truth is that some things are just not intuitive, and even the things that are to some people, aren't for others.</p><p>At dinner, many topics were discussed, including PHP (which made me feel somewhat like a foreign diplomat), Perl, mod_perl, ApacheCon, OSCON, books, publishers, and even a lot of non-technical topics.</p><p>The really interesting thing about mod_perl, especially 2.0, is that the focus is in exposing Apache's C API in Perl. This grants a lot of power and flexibility to the developer. After seeing some of Geoff's examples, I am more motivated than ever to research PHP's apache_hooks SAPI, which has a similar goal. I am sure that <a href="http://www.schlossnagle.org/~george/blog/">George</a> would appreciate having a bit more community interest in the project, and certainly there are some advanced PHP developers that could make good use of such a thing.</p><p>Though they're not there yet, I assume the slides for Geoff's talk will appear <a href="http://www.modperlcookbook.org/~geoff/slides/pm/ny/ny-mp2_rocks-printable.ppt.gz">here</a>. If not, you can try <a href="http://www.modperlcookbook.org/~geoff/slides/pm/phl/phl-mp2_rocks-printable.ppt.gz">these</a>, which are probably exactly the same, or you can come see Geoff (and me) at <a href="http://www.apachecon.com/">ApacheCon</a>.</p> shiflett 2003-11-06T06:14:26+00:00 journal Virtual Machine War http://use.perl.org/~shiflett/journal/15488?from=rss <p> <a href="http://www.sklar.com/blog/">Dave</a> has a very interesting discussion on the "<a href="http://www.sklar.com/blog/archives/21_Virtual_Machine_War.html">Virtual Machine War</a>". Personally, I'm placing my bets and hopes on <a href="http://www.parrotcode.org/">Parrot</a>. </p> shiflett 2003-10-31T03:03:06+00:00 journal What Is Scalability? http://use.perl.org/~shiflett/journal/15285?from=rss <p> There is an interesting article on <a href="http://www.onjava.com/">ONJava.com</a> entitled <a href="http://www.onjava.com/pub/a/onjava/2003/10/15/php_scalability.html">The PHP Scalability Myth</a>. The author describes scalability as follows: </p><p> <i> There are a number of different aspects of scalability. It always starts with performance, which is what we will cover in this article. But it also covers issues such as code maintainability, fault tolerance, and the availability of programming staff. </i> </p><p> Is this what scalability means? It's certainly not my definition. Do code maintainability, fault tolerance, and the availability of programming staff have something to do with scalability? They can if your definition of scalability takes human resources into account, which seems reasonable. </p><p> The definition I find on <a href="http://www.dictionary.com/">Dictionary.com</a> describes scalability as: </p><p> <i> How well a solution to some problem will work when the size of the problem increases. </i> </p><p> This seems like a better definition. A textbook definition would be something to the effect of, "the ability to scale." This is probably a starting point that everyone can agree to. So why do some people argue that certain technologies (PHP, mod_perl, Java, etc.) don't scale? I have always assumed that these people define scalability as the ability for something to scale well and that they're using their own subjective opinions to define what scales well and what doesn't. This is where things go wrong. It also seems that more and more people use scalability as a measure of performance, when this is not the case either. Something that performs very poorly can still potentially scale very well. Scalability is a relative measurement. </p><p> Before I say more, I should describe what I think it means for something to scale well. Consider the following three figures: </p><p> http://shiflett.org/images/scalability_1.png<br> http://shiflett.org/images/scalability_2.png<br> http://shiflett.org/images/scalability_3.png</p><p> The first figure represents a case where the amount of required resources grows exponentially compared to the number of users. This is bad. In the second figure, the amount of required resources grows linearly. This is typical (the rate of growth can vary). In the third figure, the amount of required resources grows logarithmically. This is very nice. Of these three figures, my opinion is that both the second and third represent something that scales well. Because I am a Web developer, a growing number of users is typically when the "size of the problem increases" for me. The term "resources" refers to many things, but most people are concerned with cost. Things that cost money include hardware, software, human resources, and time. </p><p> Lastly, let's look at an example. Consider two hypothetical technologies, Technology A and Technology B: </p><p> Resources required to build an application that supports 100,000 users a day:<br> Technology A: 10 servers, 5 developers, and 6 months of development time<br> Technology B: 40 servers, 10 developers, and 3 months of development time </p><p> Resources required to build an application that supports 250,000 users a day:<br> Technology A: 25 servers, 5 developers, and 9 months of development time<br> Technology B: 50 servers, 10 developers, and 6 months of development </p><p> Which technology do you think scales better? Which appears to be the better choice when no more than 250,000 users a day need to be supported? Should things like maintainability and robustness be taken into consideration? How do you measure these things? If you are making decisions based on your assumptions about the scalability of certain technologies without asking these types of questions, you need to stop making such decisions. </p> shiflett 2003-10-19T23:15:57+00:00 journal Article Errata http://use.perl.org/~shiflett/journal/15213?from=rss <p> My article about XSS and CSRF was published today (technically yesterday, since it is after midnight) in <a href="http://www.phparch.com/">php|a</a>. When reading through it, I couldn't help my perfectionist tendencies, and I found myself noticing a few minor errors. None of these exist in the original manuscript, but the complexities of the editorial process can sometimes introduce a few problems. I have found this to be true with both book publishers and magazine publishers. Just as with writing code, any step that involves a change can introduce bugs. </p><p> The reason I decided to write about this is that <a href="http://www.phparch.com/">php|a</a> offers some nice <a href="http://www.phparch.com/discuss/">forums</a>, and each article they publish is given its own forum. This provides a convenient place for follow-up questions and discussions about the article. It also provides a home for <a href="https://www.phparch.com/discuss/viewtopic.php?t=339">article errata</a>. </p><p> I have found many articles on the Web with serious errors, and given the likelihood for misinformation to mislead people, it would be nice if there was an easy way for people to find article errata (in cases where the article itself cannot be corrected). I have tried to contact the original author in a few cases, but it seems that most every email address I use for this purpose is outdated. </p><p> Would a single source for such article errata be the best solution, or should each publisher/Web site provide its own? I'm not sure, but I may give it some more thought. </p> shiflett 2003-10-15T04:49:31+00:00 journal RAMP Training http://use.perl.org/~shiflett/journal/15016?from=rss <p> <a href="http://www.nyphp.org/">NYPHP</a> has announced <a href="http://www.nyphp.org/content/training/ramp.php">RAMP</a> training courses. Lasting only three hours each, these courses are intended for people who are already experienced but are looking for advanced instruction on very specific topics. The hope is that you can take a class in the morning and be applying what you have learned the same afternoon. </p><p> I will be teaching <a href="http://www.nyphp.org/content/training/ramp.php#http">HTTP and State Management</a>, which I hope will help people use PHP sessions more effectively. Once I cover some fundamental topics, I plan to focus on debugging techniques and methods of improving the security of your sessions. </p><p> These courses are scheduled for November 10 and 11 and are being taught in some nice <a href="http://pclearn.com/facilities/">training facilities</a> in New York City. </p> shiflett 2003-10-02T03:28:17+00:00 journal RSS Feed http://use.perl.org/~shiflett/journal/14939?from=rss <p> I wrote a quick PHP script that produces an RSS feed of my blog. You can find it at <a href="http://shiflett.org/rss">http://shiflett.org/rss</a>. I'm not positive that it is valid RSS, but it satisfies a few RSS validators that I was able to find online. </p> shiflett 2003-09-27T07:00:55+00:00 journal Slashdotted http://use.perl.org/~shiflett/journal/14758?from=rss <p> <a href="http://slashdot.org/">Slashdot</a> featured a <a href="http://books.slashdot.org/article.pl?sid=03/09/17/127203">review</a> of the <a href="http://shiflett.org/books/http-developers-handbook">HTTP Developer's Handbook</a> today. The review itself was short on details and not very flattering, but an overwhelming majority of the comments posted were very complimentary, so that was nice. Here's hoping that the exposure proves to be helpful.</p> shiflett 2003-09-18T01:45:37+00:00 journal PHP Panel http://use.perl.org/~shiflett/journal/14702?from=rss <p> You may have already read on <a href="http://www.sklar.com/blog/archives/10_PHP_Panel_at_NYSIA_Open_Source_SIG_meeting.html">David's blog</a> that he, <a href="http://www.trachtenberg.com/">Adam</a>, and I are speaking at the <a href="http://www.nysia.org/events/eve200310.cfm#7">NYSIA Open Source SIG</a> on Tue, 07 Oct 2003. That's the New York Software Industry Association Open Source Special Interest Group. Acronyms aren't so bad, are they? </p><p> I also spent some time converting another chapter of <a href="http://shiflett.org/books/http-developers-handbook">my book</a> from PDF to HTML, and <a href="http://shiflett.org/books/http-developers-handbook/chapters/11">Chapter 11</a> is almost complete (it only lacks the figures). This chapter explains cookies, and it might at least give people a URL to point to when they answer the thousands of cookie questions that are posted on various mailing lists every day. </p><p> Thanks as always to <a href="http://www.samspublishing.com/">Sams Publishing</a> for allowing me to provide a few chapters as free samples. </p> shiflett 2003-09-15T06:17:16+00:00 journal US Open http://use.perl.org/~shiflett/journal/14567?from=rss <p> I went to the <a href="http://www.usopen.org/">US Open</a> yesterday to watch the Men's Semis. <a href="http://www.usopen.org/en_US/bios/ms/atpa092.html">Andre Agassi</a> lost his first two sets and was unable to come back. <a href="http://www.usopen.org/en_US/bios/ms/atpr485.html">Andy Roddick</a> had the same start, so it looked like it was going to be a bad day for US fans. Luckily, he made an amazing comeback (made possible by his incredible serve). Overall, it was a fun day. </p><p> Andy went on to beat <a href="http://www.usopen.org/en_US/bios/ms/atpr485.html">Juan Carlos Ferrero</a> in straight sets for the Men's Championship. His serve reached 141 mph, the tournament high. Amazing. </p> shiflett 2003-09-07T23:15:42+00:00 journal ApacheCon Here I Come http://use.perl.org/~shiflett/journal/14478?from=rss <p> LV946 Scheduled PHP Attacks and Defense<br> LV947 Declined Securing PHP Sessions </p><p>That sessions talk keeps getting declined. Maybe I can talk <a href="http://use.perl.org/~gnat/">Nat</a> into including it in OSCON next year.<nobr> <wbr></nobr>:-)</p><p>On a side note, I'm wondering what the last accepted entry number is. I bet 946 is in the running, as I submitted the talk within minutes of the deadline.</p> shiflett 2003-09-03T23:18:51+00:00 journal My Own Blog http://use.perl.org/~shiflett/journal/14462?from=rss <p> Feeling like the last to do so, I now have a blog on my <a href="http://shiflett.org/">Web site</a>. </p> shiflett 2003-09-03T15:23:08+00:00 journal ApacheCon Call for Participation http://use.perl.org/~shiflett/journal/13599?from=rss <p>Go submit your proposals!</p><p> <a href="http://www.apachecon.com/2003/US/index.html">http://www.apachecon.com/2003/US/index.html</a> </p> shiflett 2003-07-21T18:42:39+00:00 journal iPod on Linux http://use.perl.org/~shiflett/journal/11705?from=rss <p> I decided to buy a firewire card this past weekend, so that I could finally play with an iPod I got for Christmas. The kudzu service picked it up and configured it easily enough, so I was ready to go. </p><p> A quick Google search revealed <a href="http://www.gnu.org/software/gnupod/">GNUpod</a>, so I checked it out. Not only is the software very nice and useful, they have some excellent <a href="http://www.gnu.org/software/gnupod/gnupod.html">documentation</a> that explains everything you could possibly want to know. </p><p> Since I had a Mac iPod and wanted to convert it to Windows, I simply followed their instructions in section 3.3. It explains using dd to make a backup of the firmware (which sits in its own partition) and then gives you the following command:</p><p> dd if=/dev/zero of=/dev/sda bs=1M count=10 </p><p> So, my iPod is now completely wiped. The documentation then explains what the partition table should look like and gives you the dd command to load your firmware back. And, of course, it works like a charm. I was particularly fond of this series of steps, because I now know that I can try anything (like playing with the Linux on iPod project), and I can't possibly screw up my iPod bad enough to not be able to restore it (barring physical damage, of course). </p><p> Of course, you can just mount an iPod if your kernel supports the filesystem (HFS+ for the Mac one), and then get down to business with the GNUpod tools. There is also <a href="http://gtkpod.sourceforge.net/">gtkpod</a> if you prefer a GUI. </p> shiflett 2003-04-17T16:40:24+00:00 journal HTTP Developer's Handbook http://use.perl.org/~shiflett/journal/11258?from=rss <p>I finally have it in my hands!</p><p>As <a href="http://use.perl.org/~geoff/">Geoff</a> described it, "its... purple". The cover changed from <a href="http://shiflett.org/books/httphandbook/images/http_handbook_small.png">this</a> to <a href="http://images.amazon.com/images/P/0672324547.01.LZZZZZZZ.jpg">this</a>, much to my surprise. So my <a href="http://shiflett.org/books/httphandbook/">companion Web site</a> doesn't reflect the changed cover yet. Oh well. After reading about the Appian Way (the image on the cover), I like the cover more.</p><p>I managed to keep it nice and concise (O'Reilly size you might say), and it has a nice scent to it that I think readers will enjoy. Just put your nose between the pages and take a deep breath.</p><p>I also found out I am speaking at OSCON this past week, so it has been a pretty good week overall.<nobr> <wbr></nobr>:-) Maybe I'll see some of you there.</p> shiflett 2003-03-27T03:01:13+00:00 journal Legal Woes http://use.perl.org/~shiflett/journal/11096?from=rss <p>I noticed on Amazon.com recently that my book was shown with a different cover than I had seen before. I asked my AE about this and for some sample art if it had changed, so that I could make the companion Web site match.</p><p>The response I received was very odd. The image used on the cover is "Rights Managed" and can't be used anywhere except on the cover. However, Amazon.com has both small and large images of the cover. So, after speaking with my AE further (mentioning online bookstores and their use of the image), it sounds like I can use the images from Amazon.com without any problem. So, I will just use those and try to clean them up with gimp as well as I can. This whole situation seems quite odd.</p><p>Oh, and I guess this is what I get for being lazy and using Geoff's favicon on my site. Now I have to make my own.<nobr> <wbr></nobr>:-)</p> shiflett 2003-03-18T20:06:21+00:00 journal Writing Books http://use.perl.org/~shiflett/journal/10866?from=rss <p> I converted the PDF of one of my chapters to HTML the other day using ps2ascii (which worked very well, despite not being pdf2ascii), and I found myself wondering what other publishers use in the development of books. </p><p> I can understand PDF as a format to go to the printer with, but I had to write the entire book in Word format, which seemed<nobr> <wbr></nobr>... weak? I'm not an expert on the various options here, but I would assume things like troff and latex would be more "industrial strength". Using a word processor just seems more like what one would use to write a paper for school. </p><p> This is just my rambling curiosity, however. The staff at Sams was most professional and friendly the entire time, so I have no regrets, and I think the book turned out quite well. </p><p> You can see my sample chapter (more to come) at: </p><p> <a href="http://httphandbook.org/?task=samples&amp;chapter=18">http://httphandbook.org/?task=samples&amp;chapter=18</a> </p> shiflett 2003-03-03T20:02:45+00:00 journal