Showing posts with label Technical. Show all posts
Showing posts with label Technical. Show all posts

Thursday, February 16, 2012

Blocking Advertisements on The Web

Advertisements are annoying! For this reason, many developers have worked to provide advertisement blocking solutions. I am a Firefox user myself, and I would recommend using this browsers because it is awesome. For Firefox users, an addon titled "Adblock Plus" is a popular choice for many users.

Adblock Plus, just like most ad-blocking solutions, rely on creating "filters" (rules) to block advertisements. Any user can create a set of rules to block advertisements. However, for convenience, something called "subscriptions" emerged. Having a subscription means that you rely on other developers to make the rules for blocking advertisements, instead of making those rules yourself. Of course, any user would benefit from using ad-block subscriptions since most users don't want or need to go through the hassle of creating their own rules.

Learning how to make your own rules can come handy since the web is dynamic and websites frequently change, and new advertisement sources come and go. Subscription lists obviously do get updates, and Adblock Plus automatically updates your lists. Popular subscription lists developers have made a great job of blocking most advertisements, so it would be a very few occasions where you will actually see an advertisement. Blocking an advertisement that is missed is usually as simple as right-clicking the image and clicking "Block Image".

Subscriptions usually have specific coverage and specific purpose. Coverage is usually dependent on language. So, you will have subscriptions targeting English websites, others targeting Dutch, French, or Arabic websites. The purpose is usually dependent on the type of things being blocked. Mostly the target is advertisements both visual and textual. Other subscriptions target what is called "web-bugs" which are used to track users. And finally, some target annoyances like "Share this" and "Follow on Facebook" links.

Personally, there are three subscriptions that I use (all of which are specifically made for English language websites):
  • EasyList: Blocks advertisements. It is the most popular one, with "Fanboy Adblock List" as an equally competent alternative.
  • EasyPrivacy: Block web-bugs and tracking elements. It is the most popular one, with "Fanboy Tracking List" as an equally competent alternative.
  • Fanboy Annoyance Block List: Blocks web annoyances that are not related to advertisements or privacy. Unfortunately, the EasyList group does not provide any alternative for this purpose. This list is not recommended for everyone, since it might block too much for some people's tastes.
When choosing subscriptions three rules of thumb should be followed:
  1. Try as much as possible to not have subscriptions that overlap in purpose and coverage. Some people might think that having two subscriptions to blocking advertisements is a good idea, so they might choose to subscribe to both EasyList and Fanboy's List. That is not a good idea.
  2. Try as much as possible to stick with one group. So, if you choose EasyList to block ads, go for EasyPrivacy to block web bugs. Similarly, if you choose Fanboy Adblock List, go for Fanboy Tracking List.
  3. Keep your ad-block subscriptions number to minimum. Same as the first rule, it is not the case that the more the merrier. So, for example, don't subscribe to a Dutch list if you don't regularly visit Dutch websites, stick to what you really need. That's why they make separate subscription lists, to avoid having too many filters that you don't need, which might hurt the performance of your browser after a certain limit.

Chrome also has Adblock Plus for it. It is not as good as it's Firefox counter part, but works well nonetheless. There is lots of effort being made to improve it and make it quite on par with the Firefox version of this addon. Opera users can also benefit from an ad-blocking addon called "Opera Adblock".

Finally, we come to Internet Explorer 9. I have recently learned that IE9 comes with built-in ad-blocking feature. There have been third-party ad-blocking solutions for older version of IE, but they were incompetent. Most of them did not even have the option to choose a subscription of your choice, but rather came with their own lists, which were not as good as those lists available for Adblock Plus. But now things have changed. However, the ad-block solution provided by Microsoft is not as good as that for Firefox or even Chrome. But at least now there is support to participate in decent subscriptions like EasyList or Fanboy's List.

At this moment, EasyList support for IE9 ad-blocking feature is unofficial, for this reason, I recommend Fanboy's List since they officially support IE9. Simply, go to the link provided, and click "Add TPL". TPL stands for Tracking Protection List, which is the name of the ad-block feature in IE9. A dialog should come up asking you to confirm your decision to add that particular subscription.

Going back to Firefox, for those serious about making webpages look as closely as possible to what they care for, without all the extra things that are distracting, check also Element Hiding Helper which makes it easy to create your own filters when something is not being blocked by a subscription that you want to be blocked. This addon is not for complete novices, it is better used by someone with ability to go through the options and fix things if they accidentally screw things up. The most common problem you might face (occasionally, not that often at all) is to block "too much", which can be easily remedied by removing the last filter created.

As a final note, which has nothing to do ad-blocking, for YouTube users I recommend a Firefox addon called Greasemonkey along with a very popular script that showcases why Greasemonkey is such a great addon, called YousableTubeFix. That script is also available for Chrome and Opera (without the need for Greasemonkey or similar addons). Highly recommended. Make sure you test the different options for this script from the Greasemonkey menu (you have to be on YouTube website to configure the script).

Friday, July 18, 2008

Google CodeJam (2008): My Solutions

Google CodeJam is a coding contest for programmers... The first round (Qualification round) was today, and I joined the fun [geeky fun - mind you]. The contest can be found here, and included three problems.

I published my solutions to all three problems at this location.

The first two problems were really easy. The third problem was a bit of a challenge because it required going back to geometry and trigonometry. The problem descriptions can be found at the contest location provided above.

Saturday, June 21, 2008

My New Desktop Computer

Recently I got a new desktop computer - an impressive new computer to say the least. Its specifications are:
Processor: Core2 Quad Q6600 (2.4GHz - 8MB L2 cache)
Motherboard: Intel Q35
RAM: 8GB DDR2 @667MHz
Graphics Card: Nvidia GeForce 9600 GT w/ 512MB GDDR3 Dedicated RAM
Hard Drive: 500GB SATA @7200rpm
Monitor: 20" widescreen LCD

The total cost of the computer was 1300 JDs (around $1700)... I based it on an offer of a computer priced at 990 JDs and added a few upgrades that made the sum 1300 JDs. The first upgrade was the GeForce 9600GT priced at 215 JDs, the original offer contained GeForce 8400GS priced at 80 JDs. While GeForce 8400GS is a very good graphics card, but for an impressive computer, we need an impressive graphics card... I recommend this graphics card to anyone considering buying a new PC. Sure enough, that isn't the best graphics card... But for the big cash pockets, there is the GeForce 9800 GX2 (not sure about the price, but expect it to be around 500 JDs - Thats if you found it anywhere in Jordan) or even having two such cards in SLI mode for the ultimate performance (1000 JDs, OMG you can buy a computer at the price of this setup of graphics cards!).

The other upgrade was the 8GB DDR2 RAM. The original offer was 2GB DDR2 RAM, but I thought that 8GB would be best. The reason is simple: DDR2 RAM prices are at the lowest point they will get! The other choice was RAM DDR3, but consider this: 1GB of DDR2 costs 20 JDs, while 1GB of DDR3 costs 124 JDs!! So I bought 8GB DDR2 at a price slightly higher than 1GB of DDR3...

There was another upgrade that I wished to have, but I couldn't find it anywhere!! In honesty, the Jordanian market for electronics sucks... The prices are higher than they should, and the good quality equipment cannot be found (even if you were willing to pay more). Consider the GeForce 9800 GX2, sure its expected price would be around 500 JDs, but you will not find it anywhere! Even if you were willing to pay 500 JDs for a graphics card, there is no where you can get it... Thats pathetic! Even the GeForce 9600 GT was really tough to find.... I went to many computer stores, and only found it in one store... I almost lost hope of finding the GeForce 9600 GT, and when I found it, it was like I found a gem!

Back to the upgrade that I couldn't find, its the processor... The best processor that can be found in Jordan is the Core2 Quad Q6600 (2.4GHz - 8MB L2 cache)... Better models were no where to be found, although there are models that run at 3.2GHz!! The processor I bought was priced at 230JD, I was willing to pay a bit more for a higher clock speed, but that was a gem not to be found! Again there are processors that cost around $1200 (around 900 JDs) which is the Core2 Extreme QX9770, but thats beyond the Jordanian market!

All in all, I am pretty much satisfied about my new computer. I was especially satisfied that it got a Windows Experience Rating of 5.5 (the maximum being 5.9). All my components are rated at 5.9, except for the RAM which is rated at 5.5 (probably the maximum ratings go to the DDR3 RAM).

Finally, I installed Windows Vista 64-bit Edition w/ SP1. It worked perfectly fine. I am glad that my transition to the 64-bit computing was flawless as I want to be one of the early adopters of the 64-bit computing as I believe it is an important advancement in the computers world. Any computer with a "Core2" processor is 64-bit capable. And for those who have that, I recommend that they try the 64-bit OS, and move permanently to 64-bit if things work out fine (and it probably will).

32-bit computing is almost over. It reached its limit! I think that in two years 64-bit will become mainstream... 32-bit OS'es and computers can handle a maximum of 2GB to 3.5GB of RAM depending on the specifications of the computer. With 2GB of RAM being common these days, and RAM requirements doubling almost every 1.5 years, this means that 4GB of RAM should be pretty common in a year or so... But 32-bits can't handle all that RAM, so computers will have to move to 64-bit computing. After that, 8GB of RAM will be due, which would mark the end of 32-bit computing. In short, it is expected that 8GB of RAM to become common within 3 years, and moving to 64-bit will be necessary before that time!

Supporting more RAM is not the only advantage of 64-bit computing. But for the average computer users, RAM requirements will be the driving factor that makes 64-bit computing popular...

Friday, February 08, 2008

Games Of Life - Part 2: Equilibrium

Equilibrium is the state where all players have equal benefits and losses. There are several ways to achieve equilibrium. Assuming perfect play, a game reaches equilibrium if the game is balanced. A "balanced game" is the game which when played perfectly reaches equilibrium. Almost all popular games are balanced games. Poker is a balanced game. Card games like Hearts, Bridge, and Tricks are all balanced games. Chess is believed (although not proven) to be a balanced game!

In the case of card games, this does not mean that every round or game will end in a draw!! This means that if the game was repeated a large number of time, the scores will be drawish. The idea is, since cards are shuffled and given to players randomly, then making large number of games will be drawish. The concept is same as rules of chances in experiments like throwing dice. Everyone knows that for a "fair dice" each outcome from 1-6 will appear almost equally given a large number of trials. Thats why to reach balance we need repetitions to form statistically valid results.

Is life a balanced game? Assuming each player is unique from his parents, and considering the way things work, I would think that life cannot be considered a balanced game. Different amounts of effort are required by different players to reach equivalent statuses. This may not be true. It might be that if all the players played "perfectly" all the humans would reach a state of equality (even though they might not start with equal statuses). If we think of life as a balanced game and assume all players are playing perfectly, it should be that the rich get poorer and the poor get richer, until all players reach a state of equality. This may or may not be true. It is observed that the rich gets richer, and the poor gets poorer. But this outcome is not based on perfect play, and so it is not indicative of what would happen in the case of perfect play!

The concept of a "fair" game is different from a "balanced" game. A balanced game is defined as the behavior of the game on the long run. But not all balanced games are necessarily fair games. A fair game is a balanced game that requires equal effort to reach the state of equilibrium. If we assume that life is a balanced game, it probably is not a fair game. Maybe everyone can reach an equal state as other players, but this does not constitute equal effort.

Concepts of evolution suggest that life is not a fair game. A term like "survival of the fittest", suggests that certain individuals are more fit for the game of life than others. Thats why biologists model life as a game with bias towards certain traits that are more adaptive to the environment.

In this series:
Games Of Life - Part 1: The Broad Lines
Games Of Life - Part 2: Equilibrium
Next: Games Of Life - Part 3: Games Of Non-Zero-Sum
Next: Games Of Life - Part 4: Advanced Insight Into Games Of Perfect Information
Next: Games Of Life - Part 5: Gaming Theory And Decision-Making Theory

Monday, February 04, 2008

Games Of Life - Part 1: The Broad Lines

Gaming theory is an interesting field of study that has been at numerous time applied to human life. Several gaming types where applied on real-life with different degrees of success. For example, Poker (a gambling game of cards) has been used several times to study tactical operations in war for military purposes. Yet, later it was proved that Poker is not a good model for war tactics regardless of how strong the analogy might be.

Poker obviously cannot be applied to war tactics (or any other aspect of life) due it being a zero-sum game: Life, and especially war, is not a zero-sum game, and modeling it as such is necessarily flawed logic! Sure you might ask what does "zero-sum game" mean...

Games can be divided into several categories according to certain properties. Some games are zero-sum others are non-zero-sum. Some games are games of perfect-information others are games of imperfect information.

Zero-Sum Games:
A zero-sum game is a game where one's gain is another's loss, and someone's loss is another's gain. Consider a game of chess: If one side wins, the other must lose. They cannot both win! There is no win-win situation in a game of chess! Same goes for poker, if someone wins 10$, then someone else must have lost 10$!! If we consider winning 10$ as +10, and losing 10$ as -10, then the sum of it all is ZERO... Thats why they call it a zero-sum game!
This applies to two-player games as well as multi-player games where applicable. Games of zero-sum always adds up to zero for all the players involved.
Life is obviously not a zero-sum game. There are a few win-win situations, but the most dominant situation is loss-loss. Consider the case of a war: Say a country is worth 1 million points, and each person is worth 1 point. Now assume that country A attacked country B, and a war happened that cause 1000 deaths in country A and 2000 deaths in country B, and finally country A took country B. In this hypothesized situation, country A has won 1 million points and lost 1000 points, giving a net of (+999000). Obviously country A has won something. On the other hand, country B has lost 1 million points and 2000 points, giving a net of (-1001000). Adding up the points of both countries the sum is (-3000). It did not add up to ZERO, because certain losses have irrecoverably vanished. So this hypothesized war is a losing game, or in other words a negative-sum game. On the other hand, sex can be though of as a positive-sum game, as both players in that game are satisfied.

Games of Perfect Information:
Chess is a classical example of a game of perfect information. The state of the game is well-known to both players. No player has anymore information than the other. Everything is laid-out in the clear. All possibilities are deductible.
(Most) Card games are games of imperfect information. In a typical four-players card games, one player has information about his set of cards, while having absolutely no idea about the cards of the other three players. This obviously turns the game into a game of imperfect information.
Life can be modeled as a game of imperfect information. Assuming that humans are players in the game of life, we can find that most of the time a player has no knowledge of all the variables that influence the outcome of the game.The element of surprise is dominant.

Games of Chance:
Monopoly is a classical example of a game of chance. Unlike card games, all the players have equal knowledge of the state of the game. No-information is hidden from any of the players, except the output of the dice, which none of the players know in advance. The game consists of what game theory experts call "chance nodes" and "decision nodes"... A chance node is simply the moment of throwing the dice, whose outcome is probabilistically modeled. A decision node is the moment one (or more) of the players have to make a decision that will change the state of the game.
Also, unlike chess, although players have full knowledge of the state of the game, they have no power to influence the outcome of the game assuming perfect play by all the players.

Games of chance might include the element of imperfect information. Texas-Holdem poker is such an example. In Texas Holdem poker, each player has information about his own cards and not other players just like games of imperfect information. But in addition to that, there are chance nodes where cards are revealed in a probabilistic manner. Bets made by players are the decision nodes.

Life can be modeled as a game of chance with imperfect information. So all-in all, life can be modeled as a game of chance with imperfect information and non-zero-sum! Numerous other factors can be taken into consideration to refine the model of life as a game.

In this series:
Games Of Life - Part 1: The Broad Lines
Games Of Life - Part 2: Equilibrium
Next: Games Of Life - Part 3: Games Of Non-Zero-Sum
Next: Games Of Life - Part 4: Advanced Insight Into Games Of Perfect Information
Next: Games Of Life - Part 5: Gaming Theory And Decision-Making Theory

Saturday, January 19, 2008

For The Chess Geeks: An Interesting Position

As I have said before, I am currently working on programming projects. One of the projects that I am working on is a chess engine. Making a computer program that plays good chess (Its in the 2000-2100 ELO points range). I started this project a long time ago, around ninth or tenth grade. It was a great project that I worked on until I finish school, sometime before getting into university. For the past three years at university I halted work on it. These days I reopened that old file.

In order to test the strength and shortcomings of the chess engine, I put the engine to play against human players on the internet. I can't play chess well, so I can't judge it myself (I am in the 600-700 ELO points range)... I need other players to play with it, who can exploit its weaknesses. Some people would think that to make a chess engine you have to be good at chess. Although at some point I didn't suck at chess, I do now. But I don't have to be good. Computer can do what we cannot do. Do you think that whoever designs calculator can find the square root of a large number manually in a second? Probably not!

So now getting to the point of this entry, while watching my chess engine play, it got itself in a bad situation... It saw its own demise, until the opposite player (on the black side) committed a mistake that turned the tables, and switched from being doomed to having the upper hand.

EPD: 8/4rp2/1p6/1qp2kNQ/7P/2P5/1P3nP1/2K4R b - - 0 34
Black To Move


The player continued by playing NxR (f2h1), oblivious to the fact that by capturing the white rook he turns the tables from winning to losing. As the saying goes, greed is no good.

The correct move for the black is: Nd3 (f2d3)
[+] Show\Hide Move

PS: If anyone is interested in additional analysis - just ask in the comments

Friday, December 01, 2006

The Funniest Geeky Tale

Sometime ago, one of my university colleagues come to me for advice about his slow going computer acting funny at discrete times, so I suggested to him that his PC might be infected with a virus and suggested that I would send him a really good antivirus - Mcafee Enterprise 8.0i - over msn and advised him to install it.

Now keep in mind that this guy is a third year computer engineering student, who supposedly should have minimum computer skills. The thing is, few days later he came to my friend Ghaith telling him that Zaid (ie. me) is such a jerk! Although I am a self-proclaimed jerk, yet Ghaith found the declaration quite shocking, so he asked him about the reason he made that assertion. The guy tells Ghaith that I sent him a virus over msn. Ghaith knowing that I'm not really a virus kiddie was suspicious of the accuracy of the claim and asked him to elaborate. So he explains that after I sent him Mcafee over msn, he installed it and the computer gave him a message saying "Virus Found".... What an unfortunate event!!! I really must have been such a jerk!

Wednesday, November 22, 2006

Windows Experience Index - New Windows Vista Feature

On November 8th, Windows Vista had been released to manufacturing. The general (retail) availability of Windows Vista is scheduled for January 30th. Windows Vista includes numerous new features, some of which are really interesting. One of the most useful new features is the Windows Experience Index (WEI for short); Its basically a number that can be used to compare the performance of two computer systems. For example, my personal computer has a base score of 2.6. The base score is the minimum of 5 other sub-scores (with few exceptions).

Here are details of my computer's sub-scores:
ComponentScore
Processor3.1
Memory4.0
Graphics3.1
Gaming Graphics2.6
Hard Disk Speed5.2
Base Score2.6


These scores will increase the ease of upgrading computer's hardware in general. Taking my personal computer as an example, we can see that the "Gaming Graphics" category is the one diminishing my base score. This would give a direct hint that the most needed upgrade would be a better graphics card, as it is the part with the lowest sub-score indicated by the base score.

Hopefully, new hardware and software productions will take advantage of this benchmarking system. For example, newer graphics cards would provide WEI score for its graphics subsystem. So I might go to any hardware selling point, and check the WEI to have an idea how much better or worse that graphics card is compared to the one I already have, or maybe compared to another graphics card displayed on the shelve. Also, when buying a new computer, the WEI score would be the easiest way to determine how good or bad that computer is. Moreover, newer softwares might reduce complex minimum and recommended system requirements to a single WEI score. This would make it much easier to decide whether a certain game will work on my system simply by looking at its WEI rating, instead of detailed computer specifications (still details would be a good supporting consideration).

The WEI score works in a logarithmic manner. One unit of score is almost double the performance, so a computer with score 4.0 is roughly twice as good as one with score 3.0. As of this date, all vista-capable computers fall in the range of 1.0-5.9. 1.0 is the score of the minimum requirements for Windows Vista, while 3.0 is the recommended score for it. Topnotch computers have ratings of 5.0+. Scores of 6.0 and above are reserved for the computer specifications of the near future. Most analysts agree that computer's performance almost double every two years, so we can expect WEI maximum score to be updated almost every two years.

Read more about WEI here

Friday, October 20, 2006

Web-Browser Usability Personal Ratings

Numerous web-browsers exist today each with their own ups and downs and their own set of users and fans. Personally, I am currently a Firefox user and find that browser to be the most usable browser in the market. Since Firefox has been released Microsoft lost some points for its browser known as "Internet Explorer" in the browsers market, and since has been working hard to re-establish its grounds. The three most widely used browsers under windows are: Internet Explorer, Firefox, and Opera. Here I will give a rating for each of them in two conditions. The first condition is out of the box, which is the default installation that has not been customized or extended using any addons. The other condition is the optimized setup, with settings fixed and addons installed.

BrowserOut of the boxOptimized
* IE + Windows Live Toolbar
Opera 978
Firefox 2.069.7
Firefox 1.559.5
IE 757
IE 6sp234*
IE 6sp114*


As it can be noted, Opera provides the best out of the box experience. Yet, neither Opera nor Internet Explorer are customizable enough - not even using third party extensions. Microsoft earlier this year released MSN Toolbar that significantly enhances old versions of Internet Explorer for the modern requirements of a web browser. Firefox on the other hand provides a bare minimum of what a person expects in a modern web browser while giving the user a large collection of addons which enables the user to tweak it to their specific needs, hence I rate it as the best browser after optimization.

Microsoft should be applauded that its newest browser Internet Explorer 7 qualifies the minimum expectations for a modern web browser, and in fact competes with the out of the box experience of Firefox 1.5. It is advised that all windows users upgrade their Internet Explorer to version 7 - even if they use an alternative browser. As a final advise for Firefox users who are concerned about security, it is advised to install the noscript addon.

PS: Figures provided are based on my subjective experience with the products

Update: Firefox 2.0 final has been released

Saturday, August 26, 2006

Redefining A Planet

Some of you might have heard the news, our solar system has been formally diminished by one planet!! Its no longer a 9-planet system, but an 8-planet one... Pluto was omitted from the planets' definition! This incidence reminds us of the utmost importance of definitions as the slightest change in the wording of a definition might include or exclude stuff from the set of things that a word describes!! It can be easily noted that imprecise definition cause most of the disagreements and misunderstandings...

I always like to provide the "prime numbers" definition example: Is 1 a prime number? Short answer: NO! But why? The answer to this question comes from the definition of a prime number: A prime number is a positive integer that is divisible (integer division without remainder) by exactly two different positive integers: 1 and itself only!! Considering one, one is divisible by one and also divisible by itself... The problem is one and itself are not "different"!!

Numerous other examples can be given so let's remember: Definitions make the difference between hell and heaven!! Definitions are the ultimate references for any concrete argument... Enough said!!

Back to the planets issue: Apparently scientists made few discoveries about bodies that goes around the sun; Bodies which are comparable to Pluto in terms of size and orbit, led to a situation where either the minor bodies would be added the list of officially recognized planets, or older ones would need to be removed, in order to ensure consistency of definition. The definition for planet is now officially "a celestial body that (a) is in orbit around the Sun, (b) has sufficient mass for its self-gravity to overcome rigid body forces so that it assumes a hydrostatic equilibrium (nearly round) shape and (c) has cleared the neighborhood around its orbit." Pluto fails to satisfy condition (c) and therefore here we are now: One less planet we have!

Sources: wikipedia, neowin.net

Wednesday, August 23, 2006

Blogger Infrastructural Changes

Google's Blogger service is in a transition state: A new beta blog manager is being rolled out incrementally to users of blogger into the beta program that uses Google Accounts!! To read more about the beta check here!

It is important to note that, currently Blogger and its beta are being managed as separate services which means that a beta user cannot comment on a non-beta blog as a registered account and vice versa (but obviously they still can comment anonymously)...

I have already moved into the beta program, and so the blog is in a transition state (in terms of design)... Obvious side effects include: Non-beta Blogger users need to temporarily use the commenting option for non-registered users. Another obvious side effect is the ugly template... The template used will be in flux until i can fix it back to the way it was - or better!! For technical issues, due to the fact that I am using a beta some parts may not function well: Google is promising that most technical issues will be amended in less than a couple of weeks; If Google keeps its promises then everything should be fixed in less than a couple of weeks!!

In addition, one of the best new features included with this beta are the "Labels" (or some people call them "tags")... Old posts didnt have labels and I am in a continuous process of assigning Labels to those older posts: It might take a month or two to fully assign all posts to their respective Labels!

Edit: Stroke out inaccurate information

Tuesday, May 30, 2006

Computer Hardware Upgrade - Round 2

Following my last 1GB-RAM, and 200GB-HD upgrade, yesterday i bought a new DVD-Writer... I couldnt believe how cheap those are now! For only 50JDs i got myself an LG DVD-Writer, although there were other models for 45JDs! Additionally, i bought 25 4.7GB-DVD-R discs for 9JDs which is almost equal to 120GBs... So all in all, I had to pay 59JDs for a fully-equipped DVD-Writer; My take is that anyone who doesnt have a DVD-Writer needs to go ahead and buy one: Its fucking cheap and worth every inch of it!

This extra boost has helped me a lot with the ever increasing disk space demand that can only be achieved by literally abusing my adsl connection; At least now my hard-disk can breath some air...

Wednesday, April 26, 2006

Crack IE7 Setup Yourself

Here is a fairly detailed how-to crack IE7 Setup on your own so as to bypass WGA check:

Advanced user's brief how-to:
- Unpack the setup file then hex-edit "update\iecustom.dll" and replace the only instance of "0F95" with "0F94". Then run "update.exe".

Fool-proof detailed how-to:
1- Download a copy from official Microsoft download website
2- Open explorer at your root directory ("C:\")
3- Run the official IE7 Setup
4- Once the setup screen shows up (ie. after extraction of files), a new temporary folder in you root directory will show up, named as a completely random set of alphanumeric string eg. b5a3aba38de5c7fc33575d0a0309
5- We now need a copy of this new folder (extracted files from step 4), but you cant directly copy this folder to a new location; instead browse into that directory, select all files and folders except for "$shtdwn$.req", which is a hidden file, so if you dont show hidden files then just select all visible files
6- Copy-paste those files including the "update" folder to a new folder optionally named "IE7 Setup"
7- Click "cancel" in setup wizard, to close the setup; The temporary folder will now be deteled as well
8- Browse to "\IE7 Setup\update", and hex-edit "iecustom.dll" using your favorite hex-editor (get one) and replace the only instance of "0F 95" with "0F 94"
9- Run "update.exe" and install then reboot (in the "\update" folder)
10- Optionally run "xmllitesetup.exe" (in the "\update" folder)

Monday, February 27, 2006

Cool Geeky Stuff - Round 2

Few days ago my friend Ghaith came to my place bringing his latest work: It was a simple circuit -a proof of concept type of circuit- which has a 7-segment digit display and a push button! Each time the button is pressed the digit displayed is incremented by one...

It was fun learning how such simple circuit is assembled: tiny details that one wouldnt consider except when assembling it with his own hands; It was also fun toying with the microcontroller's program attempting to make it do different stuff, like for example counting 3 at a time, or blinking after each button push... As well as our failed attempt to implement a fade-in fade-out effect which was at least fun to think about... Those functions are implemented through a special type of assembly language specific to that microcontroller, which through a device connected to the serial line on the computer is downloaded on that microcontroller!! It was simply engaging!

Guess the next step now is to achieve a breakthrough in the world of sensors: for example implementing a distance sensor through which we can display the distance between that sensor and a certain object; Making a circuit capable of doing that will open up a whole new world of invention possibilities -to me and my friend-!!

As been hinted in the previous title "Cool Geeky Stuff", this semester i am taking the digital logic design lab which seems promising and interesting...

Saturday, December 10, 2005

Cool Geeky Stuff

My friend Ghaith keeps his tradition of hooking me to his cool inventions! man wtf, thats cool shit....
Hardware interfacing is one of the most important links between hardware programming and software programming, and is probably the gap that separates computer engineering students from computer science students.
If you are a computer engineering student who has no idea of how to make similar circuits, the "digital logic design" course, and later on, its lab will provide you of the first steps in the correct direction. I didnt take the digital logic design lab yet! cant wait till i take that course, and Ghaith isnt making that wait easy at all! :S .... if i were a girl, looking at these circuits, my pussy would be drooping now ;) :P

Wednesday, November 02, 2005

Spyware Is Getting Too Far

in recent news, Sony is caught installing spyware as part of music CDs protection. the spyware is illegal software, and it was belived that it is being installed by less reputable software makers (until Sony decided to break the rule)! attempting to uninstall the spyware with traditional anti-spyware tools makes it impossible to boot into windows..... thats plain bullshit! to make the matters worse, the spyware installs with autorun, so all you need is insert the CD in the drive, and there you go, u'r infected! there was no mention of 3rd party spyware being bundled with copy-protected music CDs in the EULA or anyother document: guess Sony has just destroyed its own reputation, and is waiting for the first person to start a lawsuit! i hope someone will get their asses, because the last thing we need is broken trust with reputable software sources! that shit is now haunting the computer industry!

click here for a blog entry of the investigation

Update: Microsoft has updated its spyware definitions as to remove Sony's DRM software!

Update2: Sony says it will discontinue distribution of its DRM software, which could pose a "rootkit" security threat to users.

Saturday, October 01, 2005

Read A Review On VB.NET 2005

visual studio .net 2005 is about to be released (expected date: Nov 2005), this release is a great step in software development. so if u are a software developer who still uses visual studio 6, its time to move on.... thats my opinion, back when visual studio 2002, and later when 2003, were released, i wasnt too keen to upgrade... i simply though that .net simply needed to mature... with this release it has matured enough for my personal taste.
a friend of mine agrees, and thus spared a little of his time to write a review of this coming release. if you want to know more about the new features that .net introduces, maybe his review will be an inspiration.

Wednesday, August 31, 2005

Virtual Machines And Microsoft's Virtual PC Program

following my hardware upgrade, my computer have become powerfull enough to run a cool technology called "Virtutal Machines", this technology is actually computer hardware emulated through software; so effectively you can create an imaginary computer within your environment and install and test software on it seperately from the currently installed OS. this software have been a great help when trying to test my several linux distributions that i downloaded recently from the internet. you don't have to worry about messing with the new OS at the risk of deleting your data, you dont have to worry anymore about re-partitioning your hard disk... better yet you dont have to log off windows to work on linux, you can do both at the same time on the same screen.
i highly suggest testing for people who are interested in technology, and those whose hardware can support its load.... i can run maintaining very acceptable performace two virtual machines with my 1GB RAM, i guess anyone with 512MBs or more can support at least one virtual machine.

there are several programs that can emulate a computer... the one i used is microsoft's virtual pc, others include another well-known product in that field VMware.

To read more about virtual machine check here and here
Download microsoft's virtual pc 45-days trial edition from here

Computer Hardware Upgrade

after installing ADSL my computing requirements increased.... more downloads meant need for higher storage capacity.... more programs downloaded meant more free RAM needed... OS downloads meant need for a testing medium for these OSes.
two days ago i got 1GB RAM, and a new 80GBs HDD so making the total storage capacity of my computer 200GBs.
installing new RAMs was a little problematic, especially when i tried to use my old RAMs with my new RAMs, i had to stop being greedy and have enough with my newly bought 1GB RAMs. the hard disk was more of a problem: initially i had two problems, i had no space for my new hard disk to place it in, so i had to remove the floppy temporarily and place the hard disk in its place... the other problem that i had no electricity plugs left for it, so again i temporarily used my cd's plug instead. today i sent my computer to the maintenance and they managed to allocate place for the new hard disk and plug it to electricity.
i love my computer more now :D