Syed Faraz 的个人资料dotCompilerator日志列表 工具 帮助
1月22日

New Blogging home

As of this day and onwards, I m perpetually shifting to wordpress.com for my blogging activities,
this my new address
http://farazmahmood.wordpress.com

c ya there


11月4日

Oreintation Aware Control Revisited

few days back i have posted about the orientation aware control (OAc) , how much it  is beneficial to the mobile development and other stuf.
 
well while working with oac i observed that , the resource names generated follow the VS naming convention as they are generated by build process. , and your source code should follow certain heirarchy, otherwise your resources will be named incorrectly. Also OAC expects all the resources to be embeded in the main assembly and file based resources will not be loaded,OAC utilizes Localization feature of .net framework, but overrides the component resrouce manager to look for resource in the main assembly only ,
 
for my aplication it was more desirable to have resource splitted in to culture base resources, for each resolution. after spending some time with msbuild i found that this is acheivable.
for generating proper resource names i used <LogicalName>myresourcename.resource</LogicalName>
 
for generating separte setallite assemblies for each resource. i added few build action
 <ItemGroup>
              <AvailableItemName Include="EmbeddedResource320_240" /> 
              <AvailableItemName Include="EmbeddedResource480_640" /> 
              <AvailableItemName Include="EmbeddedResource640_480" /> 
 </ItemGroup>
then updated build action of each resoultiion related resx to its build type , like abc.320-240.resx , will have build action "EmbeddedResource320_240" and so on
 
and then override the After Res Gen build event in my project file
 
 
  <Target Name="AfterResGen">
 
   <CreateItem Include="@(EmbeddedResource320_240)" AdditionalMetadata="Culture=320-240">
          <Output TaskParameter="Include" ItemName="OACResrouceWithCustomCulture"/>
        </CreateItem>
       
        <CreateItem Include="@(EmbeddedResource480_640)" AdditionalMetadata="Culture=480-640">
           <Output TaskParameter="Include" ItemName="OACResrouceWithCustomCulture"/>
        </CreateItem>
      
        <CreateItem Include="@(EmbeddedResource640_480)" AdditionalMetadata="Culture=640-480">
                  <Output TaskParameter="Include" ItemName="OACResrouceWithCustomCulture"/>
               </CreateItem>
      
       <Message Text="@(OACResrouceWithCustomCulture) " />
        <MakeDir Directories="$(IntermediateOutputPath)%(OACResrouceWithCustomCulture.Culture)"/>
        <GenerateResource  Sources="@(OACResrouceWithCustomCulture)" OutputResources="@(OACResrouceWithCustomCulture->'$(IntermediateOutputPath)%(LogicalName)')">
       
     <Output  TaskParameter="OutputResources"     ItemName="OACResrouces"/>
     <Output  TaskParameter="FilesWritten"     ItemName="FileWrites"/>
 </GenerateResource>
 
 
   
 <AL EmbedResources="@(OACResrouces)"
  Culture="%(OACResrouces.Culture)"
  ProductName="$(Satellite_ProductName)"
  ProductVersion="$(Satellite_ProductVersion)"
  TemplateFile="$(IntermediateOutputPath)$(TargetName)$(TargetExt)"
  Title="$(Satellite_Title)"
  ToolPath="$(AlToolPath)"
  Trademark="$(Satellite_Trademark)"
  Version="$(Satellite_Version)"
  OutputAssembly= "$(IntermediateOutputPath)%(OACResrouces.Culture)\$(TargetName).resources.dll">
      <Output TaskParameter="OutputAssembly"     ItemName="OACSatelliteAssemblies"/>
      
 </AL>
 <Copy  SourceFiles="@(OACSatelliteAssemblies)"  
  DestinationFiles="@(OACSatelliteAssemblies->'$(OutDir)%(Culture)\$(TargetName).resources.dll')"
  SkipUnchangedFiles="true">
  <Output TaskParameter="DestinationFiles" ItemName="FileWrites"/>
 </Copy>
     </Target>
problem solved :D:D
i dont know the behavour when localizing control with different languages
:)
regards
 
10月3日

25th or 24th ,to be or not to be

  There seems to be a lot of misconception about birthdays and birth anniversary. I mentioned its my 25 th birthday not the 25th BIRTHDAY ANNIVERSARY.  as i was born on 26th September 1982,
:)
One interesting thing  i observerd, is the point view of deducting from facts , most of the people tried to correct me as being 25 year old since  its my 25th birthday . I wonder why didn't they correct me that it should be my 24th  BIRTHDAY  as i m 24 year old ,i.e other way around.


any thougths????
9月26日

25th birthday

Today is my 25th birthday ,mashAllah  i m now 24 years old , thnx to all my friends and relatives for bearing me so long :)
 
i guess my 28th birthdate will collide with eid-ul-fitar, hmm , i wonder, how the world will manage to celebrate the two occasions simulataneously.
 
faraz
 
 
9月12日

Orientation Aware Control

       Orientation aware control for windows mobile device( windows mobile 5.0) is an outcome from patterns and practice group at microsoft.  now adays mobile deivces support different resoultion and orientation. (i ll refer to Windows mobile 5.0 device simply as devices from now on). the available resolution are 240*320, 640*480, 240*240, 480*480 with portrati and landscape orientation . as with .net compact framework, we can build application to target different devices with with same code base , the problem lies where there are different resolution and orientation  .this was quite cumbersome ,until the orientation aware control was released by Paterrens and practice group as part of mobile client software factory.


u can derive all ur  controls from the orientation aware control ,orientation hooks up with the windows mobile api to get notified when orientation changes,it makes use of Resource localization feature , and creates different custom resource culture for different res /orientation and applying them accordingly.

as most of u people know that VS2005/vs2003 expects certian files to be in certain physcial folder hierarchy . here u can find these naming convention. the generated resources name follow these convention.

so what if ur source code hirerachy is a bit different then expected by VS ,as we have in our current application. Since OAC make heavy use of resources and those resource are getting named as per defualt rules, the OAC does not seem to work properly.:(. 

the solution, was to some how instruct the VS to generate the proper name, or to revise the source code herirachy. later was not appropriate since we were going to handover the build to the testing dept after 3 days and this may lead to havoc. so i researched on the first option ,trying to instruct VS , i dwelled within msbuild csproj files, and target files , to get to know how these are generated. and found out that these are generated via task GenerateManifestResourceName. One solution that readily poped up at the moment was to override the task and implement the new behaviour, but that would result in the maintaining a complete custom copy of microsoft msbuild default target files, which may lead to unknow behaviour in case of some updates,
next option was to introduce new Include Type (embeded resource,compile ,content are existing one), i.e. include the new resources as say OACResx , and  write a task to process , and inject the task using BeforeResGen task. that sound quite better, and definitly i was going to implement that but i found  an easeir solution. that is if u want to name ur resource ur way then just insert a tag <LogicalName>ur name goes here </LogicalName> in the Embeded resource node. this wil generate ur desired name, i made heavy use of this feature in my application.

so now OAC is performing great.Althoug i have to edit the  csproj file after creating new control, but thats just one time thing not of much pain. OAC designer should support this kind of thing, i m reviewing their source code for possible changes. will let u know if found something interesting.




9月11日

.Net Compact Framework Doest Not Support Direct Asynchronous method call.

wel working on .net compact framework, i found that as of version 2.0 sp1,it does not support asynchronous calling from a delegate. what this means is that u will not be to call deleagate.BeginXXX.
this is currently not documented very much in the .net cf documentation. The thing is that when u r working in the VS2005 you wil be able to declare a delegate 'mydel' and assigned a reference of function say 'foo' to it, now when write 'mydel.' intellisense wil list the asynchnrous function call namely 'BeginFoo' and 'EndFunction' and allows u to complete ur line . the compiler will provide the async functiona call stub , beginxxx, endxxx for function xxx, and ur application compiles successfully , now when u run the application it will throw not method not supported exception
this behaviour is not documented in the .net cf documentation. i observed this while working on my application , which has component that was ported from its desktop counterpart. the behaviour appeared from nowhere during the middle of development, while searching for the possible causes , i found that it is not supported on cf and that was burried in an msdn forum,

althoug asynch calls arent supported but threadpool is available on the cf which can lead to an easy workaround for the scenario, a wrapper class with that will take a delegate, and put its own method to be executed on threadpool , does all state management thing required.
class myClass
{
 delegate mydelegate ;
 object state;
public static object CallAsynch(delegate mydel ,object state)
{
    myClass asyn=new myClass();
asyn.mydelegate=mydel
asyn.state=state;
ThreadPool.QueueUserWorkItem(new AsyncCallbackDelegate(asyncCaller),asyn);

}
public asyncCaller(object state)
{
mydelegate();

}
}

that is just a concept, if u want to return the some values from the function u need to add some more code,
:)

what m i doing ???

Quite a long break after my last  post., i applogize for that,
well i mentioned earlier  that i have moved to dubai and joined  PDSR Technologies.  PDSR techonlogis is a new software vendor  in the middle east software arena, who is  aimed to provide better and reliable trading and financial solution.
Here at pdsr, i m working on mobile technologies, responsible for User Interface for mobile device user. we are currently targeting windows mobile 5.0 devices only but determined to support wider range later . this has provided me an opportunity to work on .net compact framework 2.0, though it is stil in infancy , .netcf 2.0 is quite an adorable thing.

life at dubai is quite different from karachi.
mostly following office-home-office routine. if u r lucky and have a couple of friends living near by, then this place becomes more bearable. living lonely can become not only  difficult but a bit costly too.

i m here from march , and its almost 6 months. 2 weeks earlier i have flown to pakistan for 5 days, visiting family, old friends and for partying with firends :), 5 days  vanished so quickly  and now i m back at dubai.

i m living in locality of dubai marina, near  Dubai Media city where office is located. its about 10 min drive to the office. so it saves a lot of time and energy :), dubai marina is quite a lavish locality mostly inhabitated by foreigners( yeah i m a foreinger too here :P) , appartments are expensive but spacious and luxurious, with facilities like pool ,gym, etc .and a quick access to shaikh zayad road,

5月31日

AYBABTU ~ Gaming over VPN ,

well just  a few minutes ago , i performed another succesfull experiement :), 
i was trying to setup a gaming network over vpn , so that i can play games with my other fellows at distatnt locations. i feel proud to announce that the required results have been achieved sucessfully with pin point accuracy. 0240 hrs was the historcial moment , that witnessed the glory that mankind has never achieved before :P
 
actually the idea was to play some multiplayer game over vpn on internet. our  isp is  DIC telecom which also provide service for vpn connectivity. any dic internet user can connect to the vpn ,this link will guide u to the connection procedure
 
this will add another network interface on ur my network connetcions.
 
well by defualt broadcast packets are not forwarded to the vpn interface.(and i still dont know how to enable it) :)
 
we tried earlier using warcraft 3, to connect over vpn, but wc does not support direct connection to the server, it searchs for the server by communicating via UDP Broadcast messages,therefore we werent able to connect to the server over vpn.
so we picked another game , this blessed game "command and conqueres :Generals"

:D
 
it worked !!!!!
 
we specified  our vpn ip in the network options (both lan and internet ip set to vpn ip),and used direct join feature in multiplayer option. for remote ip we specified the ip of our server and whoa !!!!!
 
gameplay was almost smooth with some very minor jerking,
 
so i guess  this weekend i ll not be available :D
 
next game to test, UT2004, Hl2, NFS mostwanted ,FIFA2006
 
all the best
 
5月17日

Acer Ferrari 4005, is the prancing horse really prancing ?

 
though i decided to write on another topic but content  of the blog suggested a different one.. i m not full time reviewer, below are my views based on my experience,
i m a developer working mostly on .net platform.
i m currently using acer Ferrari4005 laptop . before acquireing it , i fanstasize a lot about owing it , but after using it i concluded that its a total waste of money
  acer ferrari claims to be the top notch notebook in the market. it will mesmerize u , when you look at it. I like its design and light weightness plus a carbon fiber hand rest.
the gadget is fitted with quite a lot of things
amd turion ml-37  (64 bit processor @ 2.00Ghz)
1 gig ram
100 gig HDD
wifi lan (802.11 a/g/b)
giga bit lan
blue tooth,
infra red ,
4 usbport
dvi out ,
vga out
modem
slot load optical drive DVD-RAM, ( slot load =no  tray)
5in1 cardreader
 
so far so good
it would be better if acer ships the naked machine without any software installed on it ,
now i would like to list the things that pissed me a lot. i ll list facotry defaults setting.
2 *45 Gig partioins formated with FAT32
wtf , MS is marketing its NTFS and helllo here we are getting FAT32 to handle 45 gigs of hdd. this is quite annoying,  FAT32 was more suitable for smaller volumes, though it can handle such volumes but in order to do it will make bigger clusters, wihich will ulitmately result in  loss in hdd space,( on my 2 gig from precious 45 gig  were wasted  for the sake of FAT32,) the pre-installed OS comes installed on the laptops, the configure themselves for the user on first boot , and things go on. no options to select the volume foramt type etc. :@. i m also fond of downloading, and downloads a lots of stuff , kazaa , emule , bit torrent , free download manager. etcc , if ur dl directory is on FAT32  system, and if if if by chance ur system crashes , your whole donwloads get fucked up, FAT32 leaves dirty bit on. NTFS employs transactional based file writing , so that such type of losss generally decreases to much much lower extent.
 
stupid lcd screen
( i cant recall a better name for it), Lcd comes with ferrari  is of very high resoultion indede 1600*1280, 15.4" widescreen , now the hard part is that it does not support wide angle support, that means it will be visible only at certain viewing angles, also the display result in not good enoguh, as compared to othe lower end notebooks like HP pavilon , dell inspiron, etc and they provide wide viewing angle , to maximize visual experience.i m an ubale to understand the reason for this, if u r manufacturing a top notch gadget , why to cut budget on single item :(
 
acer softwares:
the default factroy installation comes with some acer software , which i didnt like , i m unable to find any use of them, especially easy recovery it keeps monitoring the hdd. grid vista no used, only thing i found useful was BIOS setting from desktop. everyting else was a picee of shift.
 
keyboard
key board a bit curved , i m still unable to get used to .
 
bluetooth and wirless button,
these are beautiful button to activate/de activate blue tooth and wirless, but located at an annoying location.
 
re-installation of windows.
the package does not come with a  windows xp cd, so if ur windows get corrupted it will be recovered by using recoery cd , sets every thing to the factory defaults, (same shits again). although a copy of windows xp resiides on ur c drive , which u can use to make an installation cd ;),
 
 
conclusion ,
dotn buy it , hhehee
well machine is quite decent, but there are some catch, if u are happy with them , u can proceed :)
 
 
 
 
4月11日

A long time ago

a long time ago , sorry very long time , i wrote my blog :), and now i m hitting the blog once again, lots of news are here to share, i have been quite a bz during the gap ,
 
hmmm,
 
i switched to another softwarehouse :), as some of might know , i have beenworking at Kalsoft  Pvt, www.ekalsoft.com,since after my graduation. i have worked there for almost 2 years. i joined Kalsoft rite after completing my graduation from FAST,  though my results were not announced but luckily by the grace of Almighty Allah , i was on job.
Kalsoft was one of the growing software house when i joined, and i gues it is still growing now. hmm , i havent worked at many different softwarehouse so i cant say its the best expereince or the worst one:) but overall its a good experience that has taught me a lot of things, both professionaly and socially
 
coming towards the new job ,
i resinged from my position at kalsoft by the end of february, and got onboard as a crew member on the new Ship by mid march ,
the ship , people use the word Sharesense , when they are referening to it:) is my working palace, its actually a Product base software house, as far as i understand it :),
i joined here as software developer,
the development center of the sharesense is in Dubai Media City, DUBAI, UAE
yes ,yes , i have moved to dubai :)
 
i m feeling a little sleepy rite now , so rest of the story will be delivered  to u in the next step.
coming up next: degree attestation, living in dubai,first few days, new accomodation.
stay tuned.
:)
 
 
 
 
 
1月11日

from Bed to Stop in just 7 minutes and 45.00 seconds

Thursaday January 5,2006

0805 hrs: beep beep beep beep...!!! Alaram Clock ringing.with a quick swift of hand , alaram was now completely a part of the soft silence of the room.

0815 hrs: teet teet teet teet....!!! now what the hell, alaram of the cell phone was ringing ,detrioting the peace, to restore the everlasting peace  to the humanity , it should be killed at any cost, again that hand rose,and alaram went off.

0816 hrs: hmmm, silence, peaace ,most beautiful thing in the universe.it should prevail forever,at any cost....

0830 hrs: tweet tweet tweeet ....!! cell phone ringing again , announcing there is an incoming call on my phone, or perhaps it was a missed call,hmm, it was from faisal (faisal i s my office co-league, we have point service  for our office,it has been mutually decidec that when the point will pick faisal , he will give me a mis call, and on average poitn takes roughly 7 minutes to reach at my STOP, from faisal's,)

oops!!!, point is on its way and i have to reach there, not just reach there, but have to dress up and have the breakfast too. oh my God!!!

0832 hrs:  got out of the washrom , drying face , starting to put on the cloths,

0833 hrs : having breakfast..........

0834 hrs : breakfast finished...

0835 hrs: just got out of the house and started running ruthlessly.

(the stop is at a distance of approx 8 min walking from the house), and the point will be there by 0837 hrs

 

0836 hrs: running running , ..  ,(m i the running man...), tried giving a mis call to my firend so that he can wait for a while at the stop,but  i got a out of credit msg :'(

 

0837 hrs :still running desparately, ooh i see the point ,it was standing at the stop. i waved my hand ,announcing my arrival, good the people in the point saw me, and point took a break. i crossed the road

0837 hrs :+45 seconds got the point safe and sound, :)

mission accomplished.....

set new world record for time and speed :)

 

regards

faraz

 


 

12月13日

Toefl score received !!!

yep rite , and i scored 270 out of 300,
listening =28/30
reading 27/30
sturcture writing=26/30
essay =4.5/6
:)
tata

Gamer Card :D

okey here is my gamer tag , a.ka Lord Venus Lord Venus

http://gamercard.xbox.com/Lord%20Venus.card


Lord Venus
:)

Foreign Key Map (sql query)

well quite a long break, have been bz with day to day schedule. a few days ago, i was looking for a query that will list all the tables ,with their forigen keys, with  refered primay key table and column, after looking into the system table , i crafted one myselft ,
here its

select ftable.name as FOREIGN_TABLE, fcol.name as FOREIGN_KEY, ptable.name as PRIMARY_TABLE,pcol.name as PRIMARY_KEY
from sysobjects as ftable ,sysforeignkeys fk ,syscolumns fcol ,sysobjects ptable,syscolumns pcol
where    ftable.id=fk.fkeyid
and    fk.fkey=fcol.colid
and     fcol.id=ftable.id
and     fk.rkeyid=ptable.id
and    pcol.id=ptable.id
and     fk.rkey=pcol.colid

sysobjects contains all objects in the database, all tables,all keys, all constrainst, etc,everything is kept here, and issued an id which is refered in other tables.
sysforeignkeys contains forgienKey constraint, and details about the relationn, column id etc,
syscolumns contains details about column of every table ,their names, their data type etc.
regards
faraz
Lord Venus
Signature
11月15日

Toefl

Yesterday was a nerve breaking day for me. I am currently seeking admission in Masters Program and toefl is one of the core requirements. I m specially interested in compiler construction. so 2 weeks ago , i decided to take toefl, i did my registration through ets website http://www.ets.org .  well the registration was a bit painful for me, as i dont have credit card which is the only mode of payment that is available keeping in view the schedule of the test. I m really thankful to my friend Adil Vawda (school and university) fellow, for allowing me to use his credit card. Also my friends Adeel , Kashif , Adnan, Farooq (usually we are known as Bhailoug Nazimabad sector :P), helped me a lot. 

 

so far so good :)

 

On the test day , i.e i managed to get off from my office. I reached prometric test center at around 12:15. I knocked on the door, adminstrator appeared and ask for my identity. well the administrator was a lady, quite decentl, slightly elder then me :), but i must say she was gorgeous ;). i hand over my NIC to her, but then she asked for my passport :| , i felt my heart sinking, i havent read the notice on ets site that the pakistan, bangladesh,indian candidate have to bring passport as proof of identity. i told her that i missed that part :), the test was scheduled at 1:00 pm , and she plainly refuesd to allow me enter the test center. My legs started shaking violently. The tension was at its climax :P, i was thinking about re-scheduling, 8K ruppes, one more day off ,my whole planning was about to be ruined. i pleaded her to allow me sit in the exam, she told that she had to talk to headoffice ,she at first gave me fone numbers and told me to go back home and call ets and explain them the situation. i pleaded and pleaded. after abt 5 mins after logging my reporting time, she ask me whether i can bring my passport before 2:00 pm , ( i live in north nazimabad ,and the office is at clifton 2 talwar, it takes about 45min-1 hour reach there, and it was already 12:25). i looked at my father , he told me to wait there, and then rush off to home.  he was back by 1:55.  Thanx to ALmighty Allah ,that all this become possible. during the wait period , i was continously reciting verses , hoping for the best :) ,

as i got my passport , i was allowed to take the exam. although the effectes of the situation were still hovering over my mind , i managed to get score 223-277 ( i dont have essay result rite now).Once againg thnx to ALmighty ALlah. mostly during listenings section  i was very much disturbed. i was not hoping to get that much mark . I m also thankful to the test administrator, who helped me and relaxed the time constraint after talking to the officials. she was infact quite a helping person , very much down to earth. i really respect her and her attitute.

 

well after test i got back home by khan-coach .that is f$&king  piece of shit, it took almost 1 hour 30 mins to get back to hyderi stop , and i was drowsing during the whole journey :) , so no account of the painful journey is maintained :)

 

tata

 

 

 

 

 

Free Website Counter


Signature
11月11日

Knoppix-live linux frm CD : first encounter

whaaooa !!!
the time is 4:26 , almost 45 minutes ago , i just booted my pc with Knoppix to expereince the live linux,, and i m still in amaze :) i must say what the F*&k , this is damn sexiest thing i have ever witnessed, sorry ladies, but this live linux distribution is driving me crazy, i m wrting this blog from mozilla browser from knoppix distro

well what is a linux live cd , live linux are distirubtion of linux which resides on the cd/dvd,  and there is no need to install them , u just boot off from ur cd, the loader will load os into RAM , wihtout ever touching ur HDD,and i mean complete OS ,with many application available in this distro of knoppix ( including koffice, kdevelopment IDE, a ful fledge media player capable of playing divx files, audio player, network tools, mulitmeida tools , and whole lot more

although there are options available to install these live linux distro, i dont think they are much needed :),the knoppix creates all files in memory (RAM) uunless specified, it also has the support of USB drives ,so that u can persist ur desktop and fiels on the usb  and can easily carry over.It is also  quoted very often that a usb stick +live linux cd(knoppix in our case)  makes a mobile desktop, u just need these 2, and every pc becomes ur own pc :)

i was half asleep before rebooting the system, the download just finished about 1 and half hour ago, i had to burn the cd so that a bootable media is available, and after 5 mins it shocked me :D,

newayz , i wuld recomnd this distro to all linux enthusiasts, specially students and normall windows user who just want to taste   linux without actually modifying their harddisk ,and intalling it :)
long live linux :)

tata
faraz
11月7日

Adding Custom HTML to Blog: site hits, signature files

well bak once again,  if u are reading this chk my home at spaces.msn.com/members/s1404 , scroll down , dij yaa c dat, site hit count , and custom signature,

 ever thought of adding the custom htlm code , script snippets, well msn spaces has this hidden feature, currently available in beta state but Available :)

to chk this, do one thing , sign in to ur space  , add  &powertoy=sandbox  to the url in address bar and hit enter, :), now click customize  , chk the MOdule dropdown , there is an addtional module named Power Toys :Custom Html , add this module, and put ur html inside the provided space,, save changes, hmm now privew ur space,  ur custom html will be executing :D

ta ta



Free Website Counter


Signature
11月4日

Eid Mubarak

Eid Mubarak , !!
 
May this eid brings tons of happiness in ur life
 
best regards
 
syed faraz mahmood
10月26日

1033

Ever wonder abt the numbered directories created on the ur system after installing some softwares , sometimes when add a component to ur windows a  popup pops up on ur screen asking for bla bal file, at location xyz\1033\
wel wel , for ur kind information this 1033 is the language id for en-us language i.e ENGLISH(USA),:) , sometimes u find 0409 in place 1033 , well this is the hex equivalent of 1033,
they are here to store lanagugae related features in spearate directories, cuz nowadays multilingual applications are getting pop, ppl want to interact with pc in their own languages, microsft came up with this implementation
 
chk the following link for details
 
tc
10月14日

Squid

wel back again  , ramzan has been started ,timings have been changed , but still my schedule hasnt been adjusted yet :(, well here i m to introduce  u with something different , think wat comes to  ur mind with word SQUID, hmm squid or may be (Mastigoteuthis flamea )a first hit at wikipedia shows that
Squids are the large, diverse group of marine cephalopods, popular as food in cuisines as widely separated as the Korean and the Italian. In fish markets and restaurants in English-speaking countries, it is often known by the name calamari, from the Greek-Italian word for these animals. "
 
 
yes inded that octupus sort of creature,but i didnt intent to speak of that :) ,gosh ! then wat the hell is squid
ok here is a disambiguation page :P  Squid (disambiguation)
 
Infact i m eager to talk about Squid - a web proxy-cache (open source developed for *nix system)
 
 
A web proxy server acts like a gateway ,usually listening for http request and forwarding them to  desired location and returning the results. A lot of the web cotent is also static material, caching  improves the overall of user experience. Most proxy server usually deploy some sort of caching mechanism to improve quality of service and lessen the bandwidht consumption. Squid is also among them , but it provides a lot of eye candy feature too, its under constant development version 2.5 is a stable version and version 3 is in beta state. i liked its feature of smaller executables and lesser deployment requirement and yet easy configuration.  i assure u once downloaded(2-3 mb ) it takes only 30 seconds to deployment for a standard set of features(on windows machine) :) and yes i m not bluffing :).
 
just to give u a perspective how i landed on squid , well, at my home , i have cable network connection for connecting to internet, there are 2 http proxy server availbel  on network ,(tracks1 , tracks4). some time one is up and some time sencod, some time both up and some time both down :P. i use IE , mozilla, getrigth , msn , all of them require http proxy :), so one of the server misbehave then i had to change all my configurations, which is much annoying to me  , i hate hardwork :), so  i thought of a solution of writing a small proxy server myself , which will load balance the request thus i dont have to switch proxies. while doing the research i came accros this squid page, i knew wat squid but not throghouly  , and didnt have any idea of its potentials :) . On the home page it says it is developed for unix systems. i looked for ported binaries and found one for windows downloaded the binary, after going thru the help manuals i easily configured the proxy server in mere 15 mins, i just allowed access to all public to the proxy server ,setup the peer parent proxy(tracks 1 , tracks4) , instruct to use round robin algo for selecting peers for forwarding the request and my server is up and running :). now i m using my both proxies at full ,and even if one downs , i dont have to reconfigure my settings at all, here is a snap shot my configuration file
 
squid.conf (it is already heavily documeneted.open it and read carefully :))
---------------------------------
#striped defualts
acl INSIDE dstdomain .tracksnet.com
always_direct allow INSIDE
never_direct allow all

cache_peer tracks1.tracksnet.com parent 80 0 no-query round-robin #my parent proxy
cache_peer tracks4.tracksnet.com parent 80 0 no-query round-robin #my parent proxy
 
http_access allow all
--------------------
 
that's all i have to enter now my proxy is runing on port3128(defualt) one , with load balancing the request . u can also specify domain for each porxy i.e whcih domain should be accessible from whch parent.
 
i m happy :)

 
a summary of squid featues
  • proxying and caching of HTTP, FTP, and other URLs
  • proxying for SSL
  • cache hierarchies  ( like i did - u can built  an heriarchy of cache siblings and parents all wokring together to server better)
  • ICP, HTCP, CARP, Cache Digests (these are management protocls so that 2 chache can communciate with each other )
  • transparent caching
  • WCCP (Squid v2.3 and above)
  • extensive access controls (u can now use win32 domain based authentication as well as NTLM and digest schemes too, to control who and what should be accessed )
  • HTTP server acceleration (this is also called reverse caching , in this u setup ur web server behind the squid and squid caches the reponse of the web server serving them to the cleints witiohout hitting the server repeatedly ,generally its is used acclerate slow web servers)
  • SNMP
  • caching of DNS lookups
  • in the windows nt binary distibution ,u can install it as a window service
  • detailed loggin mechanism
  • easy customization thru configuration files
  • different option for selecting chaching policy like lru , fcfs etc.
  • and many more :) i m still playing with it
  • small size binaries :)

InshaAllah i li try to explore further and let u know ,  hope u will be eager to put ur hands on the squid , have a nice encounter

 

tc Allah  hafiz