<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>The Blog of an Egyptian Songbird &#187; Programming</title>
	<atom:link href="http://blog.twinklesprings.com/category/programming/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.twinklesprings.com</link>
	<description>A translation of my mind's short circuits.</description>
	<lastBuildDate>Thu, 05 Mar 2009 20:57:09 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Twitter is the new youtube!</title>
		<link>http://blog.twinklesprings.com/2009/03/05/twitter-is-the-new-youtube/</link>
		<comments>http://blog.twinklesprings.com/2009/03/05/twitter-is-the-new-youtube/#comments</comments>
		<pubDate>Thu, 05 Mar 2009 20:30:53 +0000</pubDate>
		<dc:creator>Shadi Almosri</dc:creator>
				<category><![CDATA[Internet]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[twitter]]></category>
		<category><![CDATA[youtube]]></category>

		<guid isPermaLink="false">http://blog.twinklesprings.com/?p=145</guid>
		<description><![CDATA[What? Is shadi going crazy? Hear me out. Think back when YouTube was growing like a weed, and Google snapped it up. Most people (including me) saw this as Google "getting into the video business," and sure, that in fact was one part of the equation. But as we all know, making money from consumer driven video ain't a cakewalk, and hosting that video is really, really expensive. So why did Google really buy YouTube? My answer, which of course looks brilliant given it's 20/20 hindsight: YouTube was a massive search asset.]]></description>
			<content:encoded><![CDATA[<img class="size-full wp-image-146" title="Twitter = Youtube" src="http://blog.twinklesprings.com/wp-content/uploads/2009/03/twitter-youtube-home-large.jpg" alt="Twitter = Youtube" width="470" height="277" />
<p>What? Is shadi going crazy? Hear me out. Think back when YouTube was growing like a weed, and Google snapped it up. Most people (including me) saw this as Google &#8220;getting into the video business,&#8221; and sure, that in fact was one part of the equation. But as we all know, making money from consumer driven video ain&#8217;t a cakewalk, and hosting that video is really, really expensive. So why did Google really buy YouTube? My answer, which of course looks brilliant given it&#8217;s 20/20 hindsight: YouTube was a massive search asset.</p>
<p>Afterall, YouTube <a href="http://www.imediaconnection.com/news/21530.asp">now gets more searches than Yahoo,</a> Google&#8217;s closest search rival.</p>
<p>So think about that. YouTube was the single fastest growing new form of search on the Web, and Google pretty much outflanked (and outspent) everyone to buy it. Not to get into video monetization, per se, but to harvest and control the most important emerging form of search. In short, Google could not afford to NOT own YouTube.</p>
<p>So, fast forward to today. What&#8217;s the most important and quickly growing form of search on the web today? <a href="http://battellemedia.com/archives/004738.php">Real time, conversational search</a>. And who&#8217;s the YouTube of real time search? Yep. Twitter. It&#8217;s an asset Google cannot afford to not own, and also, one they most likely do not have the ability (or brand permission) to build on their own. (Remember, Google tried to build its own YouTube &#8211; Google Video &#8211; and it failed to get traction. A service like Twitter is community driven, and Google has never been really great at that part of the media business).</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.twinklesprings.com/2009/03/05/twitter-is-the-new-youtube/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How twitter could be a real threat to google</title>
		<link>http://blog.twinklesprings.com/2009/03/05/how-twitter-could-be-a-real-threat-to-google/</link>
		<comments>http://blog.twinklesprings.com/2009/03/05/how-twitter-could-be-a-real-threat-to-google/#comments</comments>
		<pubDate>Thu, 05 Mar 2009 14:58:51 +0000</pubDate>
		<dc:creator>Shadi Almosri</dc:creator>
				<category><![CDATA[Internet]]></category>

		<guid isPermaLink="false">http://blog.twinklesprings.com/?p=131</guid>
		<description><![CDATA[Google's search engine is so dominant that it's hard to imagine how anyone could knock the Mountain View company from its pedestal. And yet if history is any guide, such reigns never last. IBM gave way to Microsoft, which now has been usurped by Google.]]></description>
			<content:encoded><![CDATA[<img class="size-full wp-image-134" title="Twitter" src="http://blog.twinklesprings.com/wp-content/uploads/2009/03/twitter-home-large.jpg" alt="Twitter" width="470" height="277" />
<p>Google&#8217;s search engine is so dominant that it&#8217;s hard to imagine how anyone could knock the Mountain View company from its pedestal. And yet if history is any guide, such reigns never last. IBM gave way to Microsoft, which now has been usurped by Google.</p>
<p>It could be a shift in technology. It could be a more nimble, innovative rival. But something always comes along and turns things upside-down, often emerging from a direction so surprising that the incumbent never sees it coming until it&#8217;s too late.</p>
<p>In this case, it&#8217;s hard to imagine a company that might post a more surprising threat to Google than Twitter. But just this scenario is suddenly generating some heated discussions around the Web.</p>
<p>Granted, it sounds absurd to think that the San Francisco-based microblogging service, which famously has no revenue, could so much as induce one single bead of sweat on the forehead of even the lowliest of Google engineers. And some of the headlines topping such discussions (&#8220;Is Twitter the Google Killer?&#8221;) are a bit of blogosphere hyperbole.</p>
<p>Even after raising another $35 million in venture capital earlier this month, it remains entirely unclear whether Twitter has any answer to the persistent questions about what its business model may be. Meanwhile, Google&#8217;s powerful search and text-based advertising combination has given it a license to print money.</p>
<p>But the fact that Twitter&#8217;s potential to disrupt the search market is being seriously discussed shows just how quickly the sands can shift under the feet of even a colossus like Google.</p>
<p>Very quietly, one of Twitter&#8217;s most powerful applications has become its ability to allow people to conduct real-time searches.</p>
<p>In fact, the motto posted on Twitter&#8217;s search page (http://search.twitter.com) says, &#8220;See what&#8217;s happening — right now.&#8221; And many people do exactly that. During a live event or amid breaking news, a growing number of people are turning to Twitter search to follow the conversations among its users.</p>
<p>How much the behavior is growing is hard to say, since Twitter is privately held and doesn&#8217;t release such figures. But the company thought enough of its potential to acquire a small New York company called Summize, a group of five engineers, which had built the Twitter search technology. Summize&#8217;s site was folded into Twitter last summer.</p>
<p>I&#8217;ve used Summize, and now Twitter search, on almost a daily basis over the past year, without even really thinking about how much I relied on it. It was only some recent, random conversations back in January that crystallized how important Twitter search had become to me — and to Twitter itself.</p>
<p>For instance, search could point to a solution to Twitter&#8217;s business model problem. In public, founder Ev Williams has dropped hints that the company is trying to find interesting ways to mine its treasure trove of data to create some kind of services that might be valuable enough to entice businesses to actually pay to use them.</p>
<p>Certainly Google has shown that search data can be a powerhouse when linked to related advertising. So perhaps Twitter search will allow that company to produce some new kind of advertising that is more immediate and time-sensitive, related to products people might need RIGHT NOW!</p>
<p>We&#8217;ll see. The emergence of real-time search also certainly says a lot about us, and how our increasingly wired society is becoming ever more hyperkinetic. In this world, compared with Twitter, Google suddenly begins to feel old and plodding. Its search results might be minutes, hours, or even days old. Yawn!</p>
<p>Typically, when such goliaths are slain, it&#8217;s because they failed to recognize the threat and make the necessary changes until it was too late. So, it&#8217;ll be interesting to see how Google — or even if Google — feels the need to throw some kind of counterpunch. In theory, Google has created a culture to keep it flexible and innovative. On the other hand, its track record of new products has been a bit lackluster.</p>
<p>There&#8217;s always the chance, of course, that Google will quickly deploy real-time search and simply crush Twitter. But that&#8217;s harder than it sounds. Twitter already has an estimated 6 million users and is growing rapidly. It would be hard to convince someone to switch to a new microblogging service at this point, and it might be just as tough to get users to search Twitter through Google when they can just do it through Twitter itself.</p>
<p>It might be tempting for Google to try to take some of those billions of dollars stuffed in its mattress and overwhelm Twitter and its investors with an offer that dwarfs the reported $500 million Facebook offered for the company. But such a move could also attract a healthy once-over from antitrust regulators. Then again, I wonder how buying a zero-revenue company factors into antitrust rules.</p>
<p>But no matter how this unfolds, it&#8217;s a good reminder that nobody in Silicon Valley remains invincible forever. </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.twinklesprings.com/2009/03/05/how-twitter-could-be-a-real-threat-to-google/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Rapid application development (RAD) &#8211; Part 1</title>
		<link>http://blog.twinklesprings.com/2008/09/04/rapid-application-development-rad-part-1/</link>
		<comments>http://blog.twinklesprings.com/2008/09/04/rapid-application-development-rad-part-1/#comments</comments>
		<pubDate>Thu, 04 Sep 2008 18:28:51 +0000</pubDate>
		<dc:creator>Shadi Almosri</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[rad]]></category>

		<guid isPermaLink="false">http://blog.twinklesprings.com/?p=88</guid>
		<description><![CDATA[In recent months I have been asked questions various times regarding development methodologies for web 2.0 applications.  The way I have become accustomed to work in the current web climate is to use what is known as rapid application development or RAD for short.  RAD is an application development technique that incorporates the use of prototypes, iterative customisation, and CASE Tools.  ]]></description>
			<content:encoded><![CDATA[<p>In recent months I have been asked questions various times  regarding development methodologies for web 2.0 applications.  The way I have become accustomed to work in  the current web climate is to use what is known as rapid application development  or RAD for short.  RAD is an application  development technique that incorporates the use of prototypes, iterative customisation,  and CASE Tools.</p>
<p style="text-align: center;"><a href="http://blog.twinklesprings.com/wp-content/uploads/2008/09/rad-diagram.gif"><img class="size-full wp-image-89 aligncenter" title="Rapid Application Development Cycle" src="http://blog.twinklesprings.com/wp-content/uploads/2008/09/rad-diagram.gif" alt="Rapid Application Development Cycle" width="336" height="191" /></a></p>
<h2>Overview</h2>
<p>The purpose of rapid application development is to build  applications in short timescales by with the compromise of usability, features  and/or speed of execution. In current times rapid application development has  become a term that describes applications that can be designed and developed  within 60-90 days.  Although this was not  the original description, as it was originally intended to describe processes  of development that involved application prototyping and iterative development.</p>
<h2>History</h2>
<p>Rapid  application development has been around for approximately 20 years, but it  remains as valid today as when it was initially conceived.</p>
<h3>The problem that existed</h3>
<p>In the early  1970’s such process as the Waterfall development methodology often resulted in  applications developed that did not meet the clients requirements. This was due  to the fact that applications took far too long to be completed that by the  time they were the clients’ requirements had changed. Thus, for large projects  the methods resulted in complete projects that were unfortunately unusable.</p>
<p>When  investigated it was found that the reason this occurred was the strict  adherence to the completion of each development lifecycle stage before  continuing to the next stage.  The  problem occurred when business requirements were based on a list frozen at a  point in time, thus the longer the development phase the more likely that the  business requirements have changed and potentially invalidated the original targets  that the system was based on.</p>
<h3>The solution rapid application development provided</h3>
<p>There were  many potential resolutions to the problem provided in the 1980;s and through to  the current day.  Back in 1986 Barry  Boehm wrote a book titles <a href="http://www.computer.org/computer/homepage/misc/Boehm/r5061.pdf" target="_blank"><em>A Spiral Model of Software  Development and Enhancement</em></a>. This book initially outlines the  basic concepts of prototyping and iterative development with a focus on risk  reduction.  Also during 80’s, Scott  Shultz and James Martin further refined the ideas of prototyping and iterative development  into a new methodology named Rapid Iterative Production Prototyping  (RIPP).  The main focus of RIPP was the  development of systems in a rapid time frame using small teams of highly  qualified, motivated and experienced staff. James Martin (Often referred to as “the  Guru of the Information Age” and was also nominated for the Pulitzer prize)  then expanded on the method and formalised RIPP.  He published the book <a href="http://www.amazon.co.uk/Rapid-Application-Development-James-Martin/dp/0023767758/ref=sr_11_1?ie=UTF8&amp;qid=1220548061&amp;sr=11-1" target="_blank"><em>Rapid Application Development</em></a>.</p>
<h2>The Advantages and Disadvantages of RAD</h2>
<p>The main advantages of Rapid Application Development are  speed and quality, where potentially the disadvantages are potentially the  reduction in scalability and features.</p>
<h3>Increased Speed</h3>
<p>The name of the method, Rapid Application Development, strongly  suggests the main advantage, speed. The main advantage lies in the in increased  development speed, and the decreased time that is required for delivery.  To achieve this goal of speedy application delivery  is addressed with the use of Computer Aided Software Engineering otherwise  known as CASE Tools.  These focus on decreasing  the time required in converting project requirements into code. Another element  used is Time Boxing, in which various extra features are pushed out to future  released in order to complete a feature light version quickly.</p>
<h3>Increased Quality</h3>
<p>Increased  quality is a primary focus of the Rapid Application Development methodology,  but the term has a different meaning than is traditionally associated with  Custom Application Development. Prior to RAD, and perhaps more intuitively,  quality in development was both the degree to which an application conforms to  specifications and a lack of defects once the application is delivered.  According to RAD, quality is defined as both the degree to which a delivered  application meets the needs of users as well as the degree to which a delivered  system has low maintenance costs. Rapid Application Development attempts to  deliver on quality through the heavy involving of users in the analysis and  particularly the design stages.</p>
<h3>Reduced Scalability</h3>
<p>Because RAD  focuses on development of a prototype that is iteratively developed into a full  system, the delivered solution may lack the scalability of a solution that was  designed as a full application from the start.</p>
<h3>Reduced Features</h3>
<p>Due to time  boxing, where features are pushed off to later versions in favour of delivering  an application in a short time frame, RAD may produce applications that are  less full featured than traditionally developed applications. This concern  should be addressed as soon as possible through clear communication with the  client as to what will be delivered and when.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.twinklesprings.com/2008/09/04/rapid-application-development-rad-part-1/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Ten Questions about Google Chrome</title>
		<link>http://blog.twinklesprings.com/2008/09/01/ten-questions-about-google-chrome/</link>
		<comments>http://blog.twinklesprings.com/2008/09/01/ten-questions-about-google-chrome/#comments</comments>
		<pubDate>Mon, 01 Sep 2008 16:01:45 +0000</pubDate>
		<dc:creator>Shadi Almosri</dc:creator>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[browser]]></category>
		<category><![CDATA[chrome]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[google chrome]]></category>

		<guid isPermaLink="false">http://blog.twinklesprings.com/?p=73</guid>
		<description><![CDATA[Four years ago, I blogged about rumors that Google was working on a Web browser. I found them intriguing, as anyone would, but no such browser ever appeared, and Google became an enthusiastic Firefox booster. The blogosphere pretty much stopped pondering the possibility of a Google browser, and so did I. But now all has changed...]]></description>
			<content:encoded><![CDATA[<p>Four years ago, I blogged about rumors that Google was working on a Web browser. I found them intriguing, as anyone would, but no such browser ever appeared, and Google became an enthusiastic Firefox booster. The blogosphere pretty much stopped pondering the possibility of a Google browser, and so did I.</p>
<p>Today brings news that the rumors were apparently premature, not wrong: Google Blogoscoped has published <a href="http://blogoscoped.com/google-chrome/">an amazing comic book by Understanding Comics’ Scott McCloud introducing Chrome, Google’s browser</a>. The Google Blog <a href="http://googleblog.blogspot.com/2008/09/fresh-take-on-browser.html">says that Chrome will be available for download tomorrow</a>; it’s Windows-only at the moment, but Mac and Linux versions are in the works.)</p>
<p>Earlier rumors of a “Gbrowser” had it as being based on Mozilla, as Firefox is, but the comic book says that Chrome is built on top of Webkit, the browser platform that also serves as the basis for Apple’s Safari. Chrome has a highly tab-centric user interface, advanced memory management to prevent the browser from getting bogged down as you open up tabs, a fast JavaScript virtual machine, sandboxing to prevent malware from doing damage to your PC, built-in Gears for offline applications, a framework for plug ins, and more. I’ve never tried to judge a software product by assessing a comic book about it before, but it’s clear that Chrome is an ambitious attempt to launch a truly new Web browser–not a rebranded version of Mozilla or a me-too clone of anything else that’s out there.</p>
<p>It all leaves me with about a gazillion questions. Here, for starters, are ten of them:</p>
<p><strong>1. Will Google stop promoting Firefox?</strong> It’s been known to use the Google homepage to <a href="http://googlesystem.blogspot.com/2006/04/google-homepage-promotes-firefox.html">tell IE users they should be running Firefox</a>, and it <a href="http://pack.google.com/intl/en/pack_installer.html?noredirect=on">distributes a version of Firefox with the Google Toolbar built in</a>. You gotta think that it’ll redeploy some or all of its Firefox-boosting energies to drumming up interest in Chrome.</p>
<p><strong>2. Will Mozilla decide Google is an enemy, not a friend? </strong>Probably not–as Kara notes, the companies recently extended the relationship that makes puts Google into Firefox as its default search engine until 2011. That deal <a href="http://blogs.zdnet.com/BTL/?p=6715">makes Mozilla millions of dollars a year</a>, which is presumably enough to make Google at worst a frenemy of Mozilla. It’s hard–although not impossible–to imagine Mozilla being so ticked off by Google launching a browser that it takes its search business to someone else, such as Yahoo.</p>
<p><strong>3. Did Google tell Mozilla it was working on a browser? </strong>Out of courtesy, or to ensure that the Firefox deal, which makes millions for Google as well as for Mozilla, emerged unscathed? Or did Mozilla renew the partnership not knowing that Google was planning to become a competitor? In the great scheme of things, it’s no surprise that Google might want to build a browser, but conventional wisdom would likely have involved it being based on Mozilla, not Webkit.</p>
<p><strong>4. Just how hard will Google push Chrome on the Google homepage? </strong>Like no other company on earth, Google has an opportunity to get hundreds of millions of people using its browser in a relatively short amount of time. You gotta think that it’ll use the Google homepage to drum up interest. But will it check to see if you’re using IE, Firefox, or another browser and attempt to convince you to switch?</p>
<p><strong>5. Will Google try to convert Google Toolbar users into Chrome users?</strong> Toolbar is presumably Google’s most widely-used piece of software at the moment, and it seems inevitable that Google will want to let users know about Chrome. But will it, say, try to bundle Chrome into the Toolbar download from now on? Apple discovered that bundling is dangerous when it <a href="http://www.computerworld.com/action/article.do?command=viewArticleBasic&amp;articleId=9070558">caught flack for distributing Safari for Windows via the iTunes updater</a>.</p>
<p><strong>6. How deeply will Chrome be integrated with other Google projects? </strong>It’ll include Gears. Will it tie into Google Maps and Google Print and Google Desktop and the 18,432,922 other Google projects in ways that a non-Google browser wouldn’t?</p>
<p><strong>7. Or to put that last question another way, will Google services work better in Chrome than other browsers?</strong> A conspiracy theorist could easily come up with scenarios in which Google starts to tie together its offerings in ways that resemble the tactics that Microsoft used in the 1990s to drive IE adoption and discourage use of Netscape. Google is too smart and too well intentioned to go down that route in the same way, I’m sure. But even a company with good intentions might do things that reasonable people (or even the courts think are anti-competitive.</p>
<p><strong>8. Just how popular could Chrome get? </strong>Can it get to ten percent marketshare? Twenty? Forty? Ninety? Firefox has shown that it’s possible for a good new browser to gain plenty of traction, and Chrome will have advantages that even Firefox doesn’t have in terms of distribution.</p>
<p><strong>9. Who will it steal users from? </strong>Kara says that Chrome is at least a part a response to Google concerns that IE 8 may be bad for Google’s search-and-advertising business. So the company would presumably be pleased if IE users jump ship for Chrome. But if you can divide the world into folks who will switch to a better browser and those who won’t, a high percentage of the former group has likely already moved to Firefox. You can imagine a scenario in which the arrival of Chrome results in Firefox’s marketshare gains stalling. Or even in Firefox use eroding.</p>
<p><strong>10. Will Chrome stay on the desktop? </strong>Google sees its future as being highly mobile, as witness its work on Android and all the work it’s put into making services like Gmail and Google Maps work well on iPhone, Windows Mobile, BlackBerry, and other mobile platforms. Will we see Chrome on phones?</p>
<p>I could go on–but for now, I’ll stop my pondering.  Needless to say, I can’t wait to try Chrome, as it becomes real and imminent…</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.twinklesprings.com/2008/09/01/ten-questions-about-google-chrome/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>R.I.P Usenet: 1980-2008</title>
		<link>http://blog.twinklesprings.com/2008/07/31/rip-usenet-1980-2008/</link>
		<comments>http://blog.twinklesprings.com/2008/07/31/rip-usenet-1980-2008/#comments</comments>
		<pubDate>Thu, 31 Jul 2008 17:56:36 +0000</pubDate>
		<dc:creator>Shadi Almosri</dc:creator>
				<category><![CDATA[Internet]]></category>
		<category><![CDATA[usnet]]></category>

		<guid isPermaLink="false">http://blog.twinklesprings.com/?p=66</guid>
		<description><![CDATA[Before the Eternal September, but after the Great Renaming, I learned about the world on Usenet. A few years later, on ancient computers at unsociable hours, I met friends I still have today. We "spewed" about our teenage lives in ways that would be familiar to any MySpace blogger circa 2008, but that were radical, strange, and comforting in 1993. We made faraway friends, burned photos to CDs and mailed them to far away lands with way too many stamps. We were the first Net kids, really...]]></description>
			<content:encoded><![CDATA[<p>Before the <a href="http://en.wikipedia.org/wiki/Eternal_September" target="_blank">Eternal September</a>, but after the <a href="http://en.wikipedia.org/wiki/Great_Renaming" target="_blank">Great Renaming</a>, I learned about the world on Usenet. A few years later, on ancient computers at unsociable hours, I met friends I still have today. We &#8220;spewed&#8221; about our teenage lives in ways that would be familiar to any MySpace blogger circa 2008, but that were radical, strange, and comforting in 1993. We made faraway friends, burned photos to CDs and mailed them to far away lands with way too many stamps. We were the first Net kids, really.</p>
<p>In a way inconceivable in today&#8217;s Web-fragmented marketplace, Usenet was where you went to talk. Conceived back in the idealistic, non-profit days of the Internet, it was—well, it is, but it mostly was—a series of bulletin boards called &#8220;newsgroups&#8221; shared by thousands of computers, which traded new messages several times a day.</p>
<p>On the text-only Usenet of my memory, nobody knew whether you were a dog, or a kid, or Finnish—only what you wrote. There wasn&#8217;t the obsession with photos and video that overruns today&#8217;s social networking sites. Yeah, I know that sounds like &#8220;get off my lawn you darn kids&#8221; crotchetiness, but there&#8217;s something really nice about just talking to people and not caring what they look like.</p>
<p>Serious conversations went on in forums like comp.sys.atari.8bit; more frivolous chatter appeared in groups whose names started with &#8220;alt,&#8221; a freewheeling free-for-all that nobody owned, nobody managed, and nobody policed. It was a more innocent time on the Net, before most of the spammers, the crooks, or even the general public showed up. People hewed to a loosely agreed-upon set of net.manners enforced by self-appointed cops. The society worked—at least for a while.</p>
<p>Usenet was what the Web is missing nowadays: a genuinely public space, with unclear ownership. While different people hung out in different groups, everyone accessed the same group list and there was plenty of cross-fertilization. Control came down to a bickering cabal of scattered IT administrators who generally preferred to leave well enough alone. Compared to chat systems like IRC (and later, instant messaging and texting), Usenet encouraged thoughtful, long-form writing with lots of quotation and back-and-forth.</p>
<p><span id="intellitxt">Usenet has been dying for years, of course. Some people date Usenet&#8217;s decline as early as 1993, when millions of <a title="AOL LLC" href="http://www.pcmag.com/topic/0,2944,t=AOL%20LLC&amp;s=27595,00.asp">AOL</a> users dropped into what was previously a geek paradise. As the &#8217;90s went on, the eye candy of the Web and the marketing dollars of Web site owners helped push people over to profit-making sites. Usenet&#8217;s slightly arcane access methods and text-only protocols have nothing on the glitz and glamour of MySpace.</span></p>
<p>The Web also gave Usenet a new life through the mid-90s as a searchable database of questions and answers, via DejaNews and <a title="Google Inc." href="http://www.pcmag.com/topic/0,2944,t=Google%20Inc&amp;s=27595,00.asp">Google</a>. But searchability also killed off some of Usenet&#8217;s social functions. More chaotic and ad-hoc groups functioned through a sort of security in obscurity; as long as nobody bothered to click on them, nobody would know what people were talking about. With Google Groups, every word you wrote became enshrined and eternally searchable.</p>
<p>Meanwhile, as multimedia became popular over the past ten years, Usenet started to become a way for pirates and pornographers to distribute massive quantities of binary files in a decentralized, untraceable manner; in other words, it became a proto-BitTorrent. That was likely when Usenet became truly doomed. Newsgroups had exchanged code along with text for years, but by the late &#8217;90s the &#8220;binaries&#8221; groups began taking up huge amounts of space and Net traffic, and since Usenet libraries reside on each ISP&#8217;s server, service providers sensibly started to wonder why they should be reserving big chunks of their own disk space for pirated movies and repetitive porn.</p>
<p>It&#8217;s the porn that&#8217;s putting nails in Usenet&#8217;s coffin. AOL dropped Usenet in 2005, but many other large ISPs kept carrying newsgroups. Now major providers are dropping the full alt. hierarchy, and even Usenet entirely, as part of a New York State government crusade against child pornographers who&#8217;ve been using the alt.binaries groups to distribute their wares. Dropping all of Usenet to lose alt.binaries.videos.of.criminal.acts is definitely throwing the baby out with the bathwater, but at the same time I don&#8217;t have much pity for the binaries crowd. Usenet is a hideously inefficient way to distribute binary file—you end up making thousands of unused copies on various servers and encoding your files in inefficient ways. And way too much of the binaries traffic consists of piracy and warez.</p>
<p>It&#8217;s hard to completely kill off something as totally decentralized as Usenet; as long as two servers agree to share the NNTP protocol, it&#8217;ll continue on in some fashion. But the Usenet I mourn is long gone, anyway, or long-transformed into interlocking comments on LiveJournals and the forums boards on tech-support Web sites. Obviously, people lead lives, converse, and learn on the Internet far more broadly than they did in 1993. But give me a moment&#8217;s nostalgia for a Net that had one place to go, that everybody knew about, but nobody owned.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.twinklesprings.com/2008/07/31/rip-usenet-1980-2008/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Wordpress 2.5 Released [Reflection on upgrade and SVN]</title>
		<link>http://blog.twinklesprings.com/2008/04/03/wordpress-25-released-reflection-on-upgrade-and-svn/</link>
		<comments>http://blog.twinklesprings.com/2008/04/03/wordpress-25-released-reflection-on-upgrade-and-svn/#comments</comments>
		<pubDate>Thu, 03 Apr 2008 11:33:58 +0000</pubDate>
		<dc:creator>Shadi Almosri</dc:creator>
				<category><![CDATA[Internet]]></category>
		<category><![CDATA[CentOS]]></category>
		<category><![CDATA[install]]></category>
		<category><![CDATA[subversion]]></category>
		<category><![CDATA[svn]]></category>
		<category><![CDATA[update]]></category>
		<category><![CDATA[upgrade]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[yum]]></category>

		<guid isPermaLink="false">http://blog.twinklesprings.com/?p=47</guid>
		<description><![CDATA[So on Saturday the latest version of wordpress (2.5) has been released, which has been in the making for the past 6months.
I have always been an extremely fond user of wordpress, and the system never fails to impress me, as a blogging interface, a CMS, site management, it is incredibly clean, intuitive and simply &#8220;beautiful&#8221;. [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.twinklesprings.com/wp-content/uploads/2008/04/wordpress_logo.png"><img class="alignleft size-medium wp-image-48" style="float: left; margin-left: 15px; margin-right: 15px; margin-top: 10px; margin-bottom: 10px;" title="wordpress_logo" src="http://blog.twinklesprings.com/wp-content/uploads/2008/04/wordpress_logo.png" alt="Wordpress Logo" width="250" height="68" /></a>So on Saturday the latest version of wordpress (2.5) has been released, which has been in the making for the past 6months.</p>
<p>I have always been an extremely fond user of wordpress, and the system never fails to impress me, as a blogging interface, a CMS, site management, it is incredibly clean, intuitive and simply &#8220;beautiful&#8221;. In a time when there is are so many systems out there geared for blogging, wordpress excels.</p>
<p>The new admin interface is very refreshing, clean and with a new built in &#8220;visual editor&#8221; for writing out articles.  Adding media to your blogs seems to be a lot easier now.</p>
<p>The upgrade process as usual with wordpress was incredibly easy, and took only a few moments to do (just remember to look after your plug-ins directory).</p>
<p>But i have been intrigued with SVN (subversion) for quite a while, and with the rather time saving command of:</p>
<p><code>svn update</code></p>
<p>To carry out updates, i thought it was time to indulge myself in SVN. It was remarkably easy to get working.</p>
<p><strong>Installing SVN</strong></p>
<p>The server i currently host this blog on is running CentOS 5.1, to install the SVN client you simply do:</p>
<p><code><br />
[root@hera httpdocs]# <strong>yum install subversion</strong><br />
Loading "installonlyn" plugin<br />
Setting up Install Process<br />
Setting up repositories<br />
Reading repository metadata in from local files<br />
Parsing package install arguments<br />
Resolving Dependencies<br />
--&gt; Populating transaction set with selected packages. Please wait.<br />
---&gt; Downloading header for subversion to pack into transaction set.<br />
subversion-1.4.2-2.el5.i3 100% |=========================|  42 kB    00:00<br />
---&gt; Package subversion.i386 0:1.4.2-2.el5 set to be updated<br />
--&gt; Running transaction check</code></p>
<p>Dependencies Resolved</p>
<p>=============================================================================<br />
Package                 Arch       Version          Repository        Size<br />
=============================================================================<br />
Installing:<br />
subversion              i386       1.4.2-2.el5      base              2.3 M</p>
<p>Transaction Summary<br />
=============================================================================<br />
Install      1 Package(s)<br />
Update       0 Package(s)<br />
Remove       0 Package(s)</p>
<p>Total download size: 2.3 M<br />
Is this ok [y/N]:<strong> y</strong><br />
Downloading Packages:<br />
(1/1): subversion-1.4.2-2 100% |=========================| 2.3 MB    00:00<br />
Running Transaction Test<br />
/etc/selinux/targeted/contexts/files/file_contexts: Multiple same specifications for /usr/local/sitebuilder/tmp(/.*)?.<br />
Finished Transaction Test<br />
Transaction Test Succeeded<br />
Running Transaction<br />
/etc/selinux/targeted/contexts/files/file_contexts: Multiple same specifications for /usr/local/sitebuilder/tmp(/.*)?.<br />
Installing: subversion                   ######################### [1/1]</p>
<p>Installed: subversion.i386 0:1.4.2-2.el5<br />
Complete!</p>
<p>Then you can check your SVN install:</p>
<p><code><br />
[root@hera httpdocs]# <strong>svn --version</strong><br />
svn, version 1.4.2 (r22196)<br />
compiled Mar 14 2007, 20:55:55</code></p>
<p>Copyright (C) 2000-2006 CollabNet.<br />
Subversion is open source software, see http://subversion.tigris.org/<br />
This product includes software developed by CollabNet (http://www.Collab.Net/).</p>
<p>Now you have two options, you can either do a fresh install of wordpress, or convert your current setup to an SVN able setup, this will enable you to use the simple SVN command to do future updates.</p>
<p>Initially i did some test runs on a dummy folder, to test out how SVN worked, it seems to be summed up with a few commands:</p>
<p><code>svn co</code></p>
<p>This command &#8220;checks-out&#8221; the code from the server and places it in the directory of your chosing i.e.</p>
<p><code>svn co http://svn.automattic.com/wordpress/trunk/ .</code></p>
<p>This will install the trunk version of the code in the current working directory (that&#8217;s what the final . states).</p>
<p>The <strong>trunk</strong> version is the &#8220;latest bleeding edge&#8221; version of a project, this would have the latest builds but could potentially (and somewhat likely) to have bugs, and should only be used for developers attempting to work with new code for future versions (i.e. making plug-ins or themes).</p>
<p>To download the current &#8220;stable&#8221; version (which in this case is 2.5) you would carry out the following command:</p>
<p><code>svn co http://svn.automattic.com/wordpress/tags/2.5 .</code></p>
<p>Next time you wish to upgrade to a newer version, for example when version 2.6 gets released, then you would carry ou the following command:</p>
<p><code>svn sw http://svn.automattic.com/wordpress/tags/2.5/ </code></p>
<p>You can carry out the above commands to do a <a href="http://codex.wordpress.org/Installing/Updating_WordPress_with_Subversion#New_Install_2">Clean Install</a> or <a href="http://codex.wordpress.org/Installing/Updating_WordPress_with_Subversion#Converting_a_.22Traditional.22_WordPress_Blog_to_a_Subversion_Checkout">Convert a traditional install to subversion</a>.  I think the documentation at wordpress.org is quite thorough and will get you through with easy.</p>
<p>So as with the cliche of wordpress upgrades, I&#8217;ve rewarded myself this blog post!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.twinklesprings.com/2008/04/03/wordpress-25-released-reflection-on-upgrade-and-svn/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>MySQL equivalent of str_replace &#124; Search and Replace</title>
		<link>http://blog.twinklesprings.com/2008/03/31/mysql-equivalent-of-str_replace-search-and-replace/</link>
		<comments>http://blog.twinklesprings.com/2008/03/31/mysql-equivalent-of-str_replace-search-and-replace/#comments</comments>
		<pubDate>Mon, 31 Mar 2008 13:04:22 +0000</pubDate>
		<dc:creator>Shadi Almosri</dc:creator>
				<category><![CDATA[MySQL]]></category>
		<category><![CDATA[ask vince]]></category>
		<category><![CDATA[replace]]></category>
		<category><![CDATA[str_replace]]></category>
		<category><![CDATA[update]]></category>

		<guid isPermaLink="false">http://blog.twinklesprings.com/2008/03/31/mysql-equivalent-of-str_replace-search-and-replace/</guid>
		<description><![CDATA[A great little time saving tip when doing database management, or any sort of migrations within domains that might require you to modify a certain part of a string in a MySQL column.
The issue:
You have an online store that stores all the products in a MySQL table called &#8216;products&#8217;, your images are hard coded links [...]]]></description>
			<content:encoded><![CDATA[<p>A great little time saving tip when doing database management, or any sort of migrations within domains that might require you to modify a certain part of a string in a MySQL column.</p>
<p><strong>The issue</strong>:</p>
<p>You have an online store that stores all the products in a MySQL table called &#8216;products&#8217;, your images are hard coded links to something similar to <em>http://www.mydomain.com/image/example_image.jpg</em> but you have now moved to &#8216;newdomain.com&#8217; so you need all your images to look like: <em>http://www.newdomain.com/image/example_image.jpg</em>.</p>
<p>Rather than having to create a PHP script for this, you can use the rather &#8220;cool&#8221; SQL statement:</p>
<p><code>UPDATE `table` SET `column`=replace(`column`,`old_text`, `new_text`);</code></p>
<p>So for our example above we would carry out:</p>
<p><code>UPDATE `table` SET `descriptions`=replace(`descriptions`,`mydomain.com`, `newdomain.com`);</code></p>
<p>NOTE: The code above will change ALL mentions of &#8216;mydomain.com&#8217; to &#8216;newdomain.com&#8217;, you might require it to be more precise in which case you just need to fine tune the &#8220;old_text&#8221; and the &#8220;new_text&#8221; sections to look and change what you require.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.twinklesprings.com/2008/03/31/mysql-equivalent-of-str_replace-search-and-replace/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Remote Mail Delivery for Google Apps and Postfix Mail Server</title>
		<link>http://blog.twinklesprings.com/2008/03/27/remote-mail-delivery-for-google-apps-and-postfix-mail-server/</link>
		<comments>http://blog.twinklesprings.com/2008/03/27/remote-mail-delivery-for-google-apps-and-postfix-mail-server/#comments</comments>
		<pubDate>Thu, 27 Mar 2008 12:57:04 +0000</pubDate>
		<dc:creator>Shadi Almosri</dc:creator>
				<category><![CDATA[Internet]]></category>
		<category><![CDATA[CentOS]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[mail]]></category>
		<category><![CDATA[Postfix]]></category>
		<category><![CDATA[relay]]></category>

		<guid isPermaLink="false">http://blog.twinklesprings.com/2008/03/27/remote-mail-delivery-for-google-apps-and-postfix-mail-server/</guid>
		<description><![CDATA[After stumbling upon this issue various times I’ve decided to finally resolve it.
The Issue:
If you have a domain hosted on a server, but you have setup Google Apps for your domain to use the Gmail style email system for your domain, then you might notice a problem with sending mail to your own domain.
The problem [...]]]></description>
			<content:encoded><![CDATA[<p>After stumbling upon this issue various times I’ve decided to finally resolve it.</p>
<p><strong>The Issue:</strong></p>
<p>If you have a domain hosted on a server, but you have setup Google Apps for your domain to use the Gmail style email system for your domain, then you might notice a problem with sending mail to your own domain.</p>
<p>The problem is due to the domains hosted on the server telling your SMTP server that this server is the final destination for the email and all email will be sent using the local delivery methods on Linux.</p>
<p>To force your mail server (in this case Postfix) to relay your emails to the Google mail servers, then you will need to change the settings in the transport file:</p>
<p><code><br />
[12:40:21] [root@localhost /etc/postfix]# cd /<br />
[12:46:33] [root@localhost /]# cd /etc/postfix/<br />
[12:46:39] [root@localhost /etc/postfix]# nano transport<br />
</code></p>
<p>in the transport file you might see a line similar to:</p>
<p><code><br />
mydomain.com    maildrop:<br />
</code></p>
<p>Where &#8220;mydomain.com&#8221; is the domain you have hosted on the server.</p>
<p>To fix the domain relay issue to use the MX records at Google, you will need to change the above line to:</p>
<p><code><br />
mydomain.com relay:ASPMX.L.GOOGLE.com<br />
</code></p>
<p>if you have multiple domains on the server, of which some could be a mix of google hosted or locally hosted (for email), then you can simply set the file to look something like:</p>
<p><code><br />
mydomain.com		relay:ASPMX.L.GOOGLE.com<br />
mygoogledomain.com	relay:ASPMX.L.GOOGLE.com<br />
mylocaldomain.com	maildrop:<br />
</code></p>
<p>Then run the commands:</p>
<p><code><br />
[12:47:43] [root@localhost /etc/postfix]# postmap /etc/postfix/transport<br />
[12:47:44] [root@localhost /etc/postfix]# /etc/init.d/postfix reload<br />
Reloading postfix:                                         [  OK  ]<br />
[12:47:44] [root@localhost /etc/postfix]#<br />
</code></p>
<p>You can now test your emails by sending a mail on the server to a local domain, you can do it using a simple PHP script:</p>
<p>&lt; ?php<br />
mail(&#8220;youremail@yourdomain.com&#8221;, &#8220;test &#8211; mailserver&#8221;, &#8220;Message body&#8221;);<br />
?&gt;</p>
<p>If at any time you wish to see what postfix is doing, then you can keep an eye on your log file:</p>
<p><code><br />
[12:53:40] [root@localhost /etc/postfix]# tail -f /var/log/maillog<br />
</code></p>
<p>This will stream the maillog file and show you what postfix is doing.</p>
<p>[NOTE: This was carried out and tested on CentOS 5.1 but it should work on any Postfix Linux install]</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.twinklesprings.com/2008/03/27/remote-mail-delivery-for-google-apps-and-postfix-mail-server/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Facebook Phishing Alert: 371233 cn</title>
		<link>http://blog.twinklesprings.com/2008/01/02/phishing-alert-371233_cn/</link>
		<comments>http://blog.twinklesprings.com/2008/01/02/phishing-alert-371233_cn/#comments</comments>
		<pubDate>Wed, 02 Jan 2008 15:00:54 +0000</pubDate>
		<dc:creator>Shadi Almosri</dc:creator>
				<category><![CDATA[Internet]]></category>

		<guid isPermaLink="false">http://blog.twinklesprings.com/2008/01/02/phishing-alert-httpwwwfacebookcomprofilephpid371233cn/</guid>
		<description><![CDATA[There has been a phishing attack currently going on in facebook where the site: http://www.facebook.com.profile.php.id.371233.cn/ has been posted on peoples wall by ones that have fallen victim.

from wikipedia [link]:
In computing, phishing is an attempt to criminally and fraudulently acquire sensitive information, such as usernames, passwords and credit card details, by masquerading as a trustworthy entity [...]]]></description>
			<content:encoded><![CDATA[<p>There has been a phishing attack currently going on in facebook where the site: http://www.facebook.com.profile.php.id.371233.cn/ has been posted on peoples wall by ones that have fallen victim.</p>
<blockquote><p>
from wikipedia [<a href="http://en.wikipedia.org/wiki/Phishing">link</a>]:</p>
<p>In computing, phishing is an attempt to criminally and fraudulently acquire sensitive information, such as usernames, passwords and credit card details, by masquerading as a trustworthy entity in an electronic communication. eBay, PayPal and online banks are common targets. Phishing is typically carried out by email or instant messaging, and often directs users to enter details at a website.
</p></blockquote>
<p>When the user clicks on the link they are taken to a page that &#8220;looks&#8221; like a genuine Facebook login page, and when they login they are redirected to their facebook &#8220;home&#8221; page.  The post looks something like:</p>
<blockquote><p>
lol i cant believe these pics got posted&#8230;.its going to be BADDDD when her boyfriend sees these- http://www.facebook.com.profile.php.id.371233.cn&#8221;
</p></blockquote>
<p><strong>If you attempt to login using the fake page, your username and password *will* be stolen</strong></p>
<p>You will then be used to send messages to your friends walls asking them to follow that link, thus causing this to spread further.  If they have your username and password they have access to all your information, messages, photos etc and full control of your account.  So if you have used this then change your password ASAP.  Also go through your account to ensure your personal settings are the same (i.e. your email address, your applications [so no rouge applications are installed]). </p>
<p><strong>If you use the same password for facebook and your email account especially if it&#8217;s a public account like hotmail, gmail, yahoo.  Then ensure you change that too!!</strong></p>
<p>Always remember that all websites start from the Right to the left.</p>
<p>i.e. http://www.facebook.com.profile.php.id.371233.cn/ -> is actually going to 371233.cn<br />
Always make sure that the last part of the domain is the one you recognise not the first part!</p>
<p>http://www.facebook.com.<strong>profile123.com</strong>/ = Fake<br />
http://profile.ak.<strong>facebook.com</strong>/ = Real</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.twinklesprings.com/2008/01/02/phishing-alert-371233_cn/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
