28th October, 2006

Brief Introduction to PCI – Part I /--evilbitz   

This article is written in simple language and is intended for the common knowledge of the average computer user that should know what is happening under the “hood”, yet most advanced users can find this information interesting and it might introduce some new topics for them.

Before we will delve into the interesting part, let’s move through some basics. PCI is an acronym which stands for Peripheral Component Interconnect. It is the medium by which the CPU is talking with the rest of the devices in the computer. In the computer Jargon, it is called a bus. It is a set of lines that connects all the devices to the CPU and RAM (Random Access Memory) all together. For example, a sound card may be connected into a PCI slot on the Mother Board. When the operating system boots, it probes for PCI devices and get’s a list of all the devices which are connected in the system.

Each device owns the bus for just a period of time. Since there are several devices on the bus, a mechanism that determines which device may use the bus is needed. Fundamentally, this is called bus arbitration.

A PCI device also may have a need to communicate with its driver, which is a piece of software that runs in the operating system’s context and operates the device. Since there are a lot of operating systems, that same device may have several different versions of drivers, one for each OS. To communicate with the driver, the device holds an IRQ Line (Interrupt Request) and uses it to signal the CPU that the driver should be called and handle the event.

In this request, which is called an Interrupt, the driver may need to read some data from the device (think about a network packet that arrives to the machine). To pass the data (I/O), a PCI device may have two options, to pass the data by some I/O ports or by sharing a pre-determined memory region. The IRQ line and the addresses of the shared memory region are called the device’s resources.

When an interrupt occurs, the CPU stops the execution of the current software that is running and passes control to the driver. This is called pre-emption. So, the driver handles this event, and a function that is called the ISR (Interrupt Service Routine) is being executed. It reads and writes some data from the device and processes it. When a user’s software will ask for this data, the driver will have it ready.

Ok… let’s get back to PCI itself. PCI is actually the successor of an older bus called ISA, which was slower, and the predecessor of PCI-e (PCI Express ), which is newer and extremely faster. But yet, most of the hardware is designed for PCI and it is still the most common bus in the PC market. Don’t be mislead, even those “On-Board” devices which are so common those days are connected through the PCI bus. PCI slots are used for expansion.

The PCI bus is composed of 32 lines of electricity, each represents a bit, which is the smallest representation of data. It might be 0 or 1. Together, those 32 bits are composing a number in the range of 0 to 4,294,967,296. The PCI bus is working on a clock speed of 33MHz. That means that each line (bit) may be sampled in less than 1/33 of a second.

In the next article, I’ll introduce some new terms like DMA and BIOS.

Thanks for reading!



Posted in design, lowlevel, programming | 10 Comments

27th October, 2006

Rocketboom – Cool Video Blog /--evilbitz   

Rocketboom – This one is extremely funny !

Let us welcome our very special guest... :-)

Their vblog seems very successful, I’m thinking about their business model and I’ll keep watching them to measure their success, I guess that someone will want to buy them in a while.



Posted in random | Be The First To Comment!

27th October, 2006

Local PHP Standalone Binaries /--evilbitz   

Here is a thought I just had – Making PHP scripts run locally by creating a wrapper that contains the environment that is needed for the PHP scripts to run, that is, a basic web server which is embedded in the binary and the PHP libraries themselves. As for the UI, we can use the internet explorer display engine, which is implemented as a COM object to do the job, or we can just use portions of code from an open source project as well.

It’s kind of simple to implement and it’s very useful. Think that people could create a standalone binary that is running a regular PHP script on the local machine, It should be fast and flexible.

The benefits out of this are as follows:

  • PHP is a simple programming language.
  • PHP has a wide array of libraries to choose from when you design your product.
  • It is extensible and easy to maintain.
  • This can be ported to replace ActiveX objects, while maintaining higher security possibilities.
  • The UI is a markup language, which means that it can be replaced easily.
  • It opens new possibilities for exiting web developers, that now can program for the end user as well.

If you are worrying about the size of the end product (the binary), then you shouldn’t be as for the framework, it may be implemented in a shared library (DLL) and just be used as a runtime library.



Posted in design, programming, random | 5 Comments

26th October, 2006

Free Incoming Backlinks For Your Website /--evilbitz   

This is a test SEO link (don’t click) to prove my point: Free Making Money Tips.

A Known Google AdSense tactic for making money is to provide a website that is being automatically updated by some RSS feeds, like those ones of technorati for instance. If you write any kind of blog, you probably know that you can add your post to technorati so people can find you.

Now, those people that shows ads and provide updateable content from technorati are probably reading technorati’s RSS feeds and filtering on some specific keywords that have higher PPC (Pay Per Click). So if their website is dealing with how to make money (some of the highest bids in AdWords are about making money), they would filter the RSS for words like AdSesnse, Ads, Money, Rich and stuff like that. After a match have been found, they post the RSS data on their website.

A nice way to achieve some backlinks is to provide technorati a fake RSS with some keywords, so your post will end up on those websites, the first line of the RSS data must be a link to your website because some of those automatic content adsense website are showing just a few lines summaries, and won’t give you a direct link to your “blog post”.

Some ways to make it better:

  • Place a search engine optimized link to your website, this will give you higher rank on search engines for certain keywords.
  • Make sure that the link is opened in the same window (not target=”_blank”) so it won’t be a “suspicious” link.
  • Make sure the link contain a directive to index the link (rel=”follow”)

That’s it,
Enjoy your new backlinks! :-)



Posted in hacking, random | 2 Comments

25th October, 2006

Commercials Are The Cause Of All Evil! /--evilbitz   

Old Cocacola Commercial

I just had an enlightenment! :-)

How far would all those companies go for marketing? How the future looks like?

The thing about commercials is that they “control the herd” in some way. Commercials are everywhere, in any place and they control your mind eventually that you start thinking that if you’ll follow, you will take part in this big mainstream.

50 years ago, the situation wasn’t so provocative like it is on these days. Every couple of years someone decides to be provocative to promote his business, and he drags everybody into a new level of “allowed provocativeness”, it happen in small doses (or else it wouldn’t work), so that it creates a linear line, and the end can be seen already. Today, sexy women sells you almost everything, even math books.

As I see it, future marketing will be based on sex, and I mean it in the full meaning of the word, porn if you would like. Eager people that want to get rich will strive humanity closer and closer to this point. Future commercials will try so hard to stand-out because there would be just too many of them that turning into sex will be inevitable.

Let’s hope that it will happen fast enough for us to enjoy it :-)



Posted in random | Be The First To Comment!

Top »
"If you can't join them, beat them!"
Search Evilbitz: