When should I use Agile?
Ask yourself two things about the project:
- Is our team familiar with the technology (i.e. have we done this before)?
- Are the requirements extremely strict and rigid (i.e. are they likely to not change)?
If the answer is “no” to these questions, then you should consider using Agile.
“Everyone who’s ever taken a shower has had an idea. It’s the person who gets out of the shower, dries off, and does something about it who makes a difference.”
Nolan Bushnell, founder of Atari, Inc. and Chuck E. Cheeseās Pizza-Time Theaters
Recovering data from a Flash drive
It is fairly well known that NTFS’s design does not delete files right away (and instead just mark the sector as “available”). This gives a user the opportunity to recover “deleted” data, as long as the sector is not overwritten with new data. Flash drives often use a file system such as YAFFS for file organization. The Android platform for example, uses the YAFFS file system. I wondered if YAFFS had a design that could also be exploited to recover deleted data.
Flash devices are composed of “erase blocks”, (which are conceptually similar to a “sector” on a hard drive). Erase blocks are composed of pages. An erase block is often 128KB or 512KB in size, and page is often 1KB or larger. To delete data from a flash device, the entire erase block must be deleted.
It turns out that YAFFS has a garbage collection algorithm that determines when a block should be permanently erased. YAFFS will only erase a block, when all pages within that block are marked as deleted. If there are a lot of blocks that are each using just a small number of pages, YAFFS may consolidate these active pages and then permanently erase the old blocks. This will free up space that was marked for deletion. The fact that data is not necessarily erased immediately may give a user the opportunity to recover “deleted” data, similar to an NTFS volume.
(Source: dubeiko.com)
Which Open Source license?
ILOVEYOU and computer laws.
Did you know that the two authors of the infamous “ILOVEYOU” computer worm had all charges against them dropped? The authors lived in the Philippines, and at the time the worm was released (July, 2000), the Philippines had no laws against malicious software! A new E-Commerce law was put in place 2 months later.
(Source: Wikipedia)
Within the Quake III source code, an interesting method to calculate the inverse square root of an number was discovered. The algorithm relies on a simple bit shifting and subtracting from a magic number: 0x5f3759df. This odd method is surprisingly accurate and is faster than standard floating point division and lookup tables.
The exact author of the algorithm is still unknown, and it is still uncertain how the magic number was arrived at.
Why is my initial ramdisk huge?
So you decided to build your own linux kernel, and find that your initrd.img is humongous compared to the one that came with your distro. What’s wrong?
When you build the kernel, debug symbols are left in the resulting binary. You can remove them during the make install step, by enabling the INSTALL_MOD_STRIP option.
Like so:
make INSTALL_MOD_STRIP=1 install
(Source: unix.stackexchange.com)