grack.com

Welcome to grack.com

Get Firefox

If you're wondering: Why grack?

News

RSS Validate

Argument Fallacies

Here is a comprehensive list of argument fallacies.

I haven’t studied this stuff since I accidentally took an argumentative logic class instead of a boolean logic class back in university and I don’t think people will ever learn what begging the question really means. ;)

On a somewhat related note, I serendipitously came across an interesting new word while browsing some of the other pages on infidels.org: solipsism. After a bit of Googling, I came across this gem of a joke attached to a random slashdot post (spelling mistakes reproduced for authenticity):

A professor is teaching a philosophy course, and he explains to his class solopism, the theroy that reality is a creation in ones mind. After the lecture, several students rush up and introduce themselves to the professor and explain that the theroy was really intune with how they felt and its really opened their minds and they just wanted to tell him in person how the felt about his lecture … to this the professor replies “Thats wonderfull, so rarely does one solipsist meet another.”

While I find it interesting that somebody has coined a word for the concept, I find this quote from the Wikipedia entry to be somewhat relevant:

Some philosophers hold the viewpoint that solipsism is entirely empty and without content. Like a ‘faith’ argument, it seems sterile, i.e., allows no further argument, nor can it be falsified. The world remains absolutely the same—- so where could a solipsist go from there?

It has about as much potential as the thought experiment that involves imagining what would be if the universe didn’t exist. I find that the latter usually ends up with a popping sensation in my brain and my eyes watering. ;)

</ streamofconsciousness>

Posted in Personal | no comments

Quick Monitor Size Calculator
For my own information, here's a quick Javascript monitor size calculator. Enter the diagonal size in inches and the program will tell you what the 4:3 and 16:9 dimensions will be:

Diagonal Size:
4:3 Size:
16:9 Size:

Posted in Tech | no comments

Sex, Drugs, and Cults

An interesting read, found via a recent Scientology article on kuro5hin:

Sex, Drugs, and Cults. An evolutionary psychology perspective on why and how cult memes get a drug-like hold on people, and what might be done to mitigate the effects

Perhaps there might be an opportunity to “vaccinate” against those with more vulnerable dopamine systems with modern technology. It’s interesting to read about the human ability to absorb and transmit memes. It makes sense from an evolutionary perspective: as our genes encode less genetic behaviour, we need to make up for it in some way. Memes end up being a second set of genetic coding – though one that isn’t permanent .

Here’s a bit from the abstract:

In the aggregate, memes constitute human culture. Most are useful. But a whole class of memes (cults, ideologies, etc.) have no obvious replication drivers. Why are some humans highly susceptible to such memes?

Note that the term meme was coined by Richard Dawkins in his book The Selfish Gene.

no comments

Loose Change (9/11)

Uh oh – another politics post. I’ve tried to keep politics off my blog, but I’m going to plug the new documentary Loose Change as an interesting watch:

Google video link

Sanctioned Torrent

This raises a lot of interesting questions about the unbelievable coincidences that stack up before and after the events of 9/11. I’d really like to hear some of the answers to some of the points raised.

Kudos to the film’s creator, Dylan Avery for assembling all the news stories side-by-side. I remember reading about these tidbits in various stories over the years, but you need to see them all within 80 minutes to get the full effect.

I think this documentary deserves a viewing by everyone. At least we might get some answers if everyone asks.

The Wikipedia entry) for the film has a great paragraph:

The idea for the project was coined by Avery in May 2002 after a conversation with actor James Gandolfini in which Gandolfini told Avery If you want to be a successful director, you have to have something to say to the world. [4] Avery began writing a fictional story in which he and his friends discover that the events of September 11, 2001 were not the result of terrorist attacks but rather, orchestrated by the US government. While conducting research for the story, Avery became increasingly satisfied that his story was more factual than fictional so he abandoned the story idea and turned it into a documentary project.

Posted in Politics | no comments

Not Dead Yet

No, I’m not dead. Having a baby just sucks the energy out of you to do anything besides looking after the baby. ;)

In other news, Everett was born on March 1 and he’s getting pretty big now!

Posted in Personal | 3 comments

Treo 650 Memory Management

Just a quick overview of what memory looks like on the Treo 650. Note that there is 32MB of non-volatile storage (the disk-on-chip flash) and 32MB of volatile SDRAM (lost on reset/power down).

Disk-on-chip (“non-volatile” storage)

32MB 1
ROM Partition 2
(anywhere from 7-10MB)
NVFS Partition
(remainder of space)

RAM (volatile storage)

32MB
Uncompressed ROM 3
(11MB-15MB)
Dynamic RAM
(approx. 5.3MB)
DBCache
(remainder of space)

Notes


1 In reality this isn’t really 32MB, as 512kB is allocated for the SPL and some of the space may be allocated for bad block reassignment.

2 The ROM partition contains the TPL, SPL, HTC bootloader and the ROM zip.

3 Note that the uncompressed ROM size may exclude alternate languages in any ROMs with a language selection (via the LLid token).

How to roughly calculate DBCache

The formula is pretty easy:

32MB – 5.3MB (dynamic RAM) – Uncompressed ROM size = DBCache

If you have more than one language in your ROM, you can take the uncompressed size of all the files not including the unused language files.

Posted in Palm | no comments

Treo 650 ROM Tool

I just released the first beta of the Treo 650 ROM tool over at:

http://grack.com/romtool

Give it a shot!

Posted in Open Source, Tech, Palm | no comments

The lowdown on DBCache and ROM size

There’s been a lot of speculation on how ROM sizes affect free space and available DB cache since Shadowmite opened up the world of ROM hacking. Many theories have been proposed, but I’d like to set the record straight by listing what we’ve learned via disassembly, trial-and-error and various tests.

The key questions are how the size of ROM affects:

  • the available amount of DBCache
  • the “free space” measure
  • the amount of “dynamic memory”

To properly answer these questions, it’s best to give a quick overview of what happens when a Treo boots after a reset.

The boot process

One of the key points to know is that the only persistent storage available on the Treo 650 is the internal DOC (disk-on-chip). This is a 32MB flash memory that uses a special library from MSystems to make it look like regular random-access storage.

The first thing that the CPU does is load the initial program loader or IPL from a special location on the DOC. The sole job of the IPL is to load the secondary program loader, or the SPL into memory at a given address.

The SPL has a number of responsibilities itself, but the one we’re most concerned about is the job of loading the tertiary program loader, or TPL.

The TPL is a very simple program that takes the compressed ROM stored on the DOC, uncompresses it to RAM and boots the specified image of PalmOS.

The ROM files that the TPL decompresses are placed directly into an area of memory that is reserved for the decompressed ROM files.

The DOC partition layout

The Treo’s internal storage is partitioned internally into two separate areas: the ROM/boot partition and the NVFS partition. These two partitions are essentially treated as two separate storage devices.

The only time that the partition layout changes is during a ROM update. The size of the ROM partition is actually hardcoded in the program that updates the ROM files. The size of the NVFS partition is calculated as being the remaining space available on the DOC itself. For example, if the rom updater was hard-coded to an 8MB ROM partition, the NVFS size would be approximately 24MB.

The ROM/boot partition

As previously mentioned, the ROM/boot partition contains the TPL that boots the ultimate PalmOS image. It also contains the program that is often referred to as the “HTC bootloader”, which is a separate program used for diagnostics (and ROM recovery with our tool).

The ROM/boot partition is not a standard partition format of any kind. It contains three zip files laid out at three specific locations, with the majority of the remainder of the partition containing zeros. The three zip files contained in this partition are:

  1. The HTC bootloader
  2. The PalmOS TPL
  3. The ROM

The ROM zip file is an exact copy of the ROM that was uploaded during the ROM update process. There is no further compression done on this file by the ROM update process.

If the total length of the ROM/boot partition is 9MB and the files within only total 7MB, 2MB of the partition contains zero bytes and is effectively wasted.

Division of RAM

The three things that PalmOS uses the main memory for are uncompressed ROM files, DBCache and dynamic RAM.

The size of the uncompressed ROM files is a fixed number that varies only by ROM contents. The size of dynamic RAM is fixed, but varies slightly according to the version of PalmOS that is loaded. The end result of this is that DBCache is calculated as the remaining memory once the ROM is uncompress and dynamic RAM is allocated.

The conclusions

So, let’s revisit our original question:

How does the size of the ROM affect the available amount of DBCache, the “free space” measure and the amount of “dynamic memory”.

First of all, let’s look at DBCache. It was mentioned above that DBCache is calculated by taking the remaining memory once the uncompressed ROM and dynamic RAM have been allocated. The conclusion we can draw from this is that when you reduce the size of your ROM, total DBCache increases by the size of the files you remove. The same is true in reverse – adding files reduces your DBCache in the same way.

The “free space” measure is calculated by taking the size of the NVFS partition and subtracting the stored NVFS data. As mentioned above, the NVFS partition is of a fixed size given a version of the ROM update application, so adding or removing files from your ROM will not affect the total amount of free space.

Note that you can, however, use a different ROM updater application to provide a smaller ROM partition size and, therefore, a larger NVFS and “free space” amount.

Finally, we mentioned above that the amount of dynamic RAM is effectively fixed, given a certain version of firmware. This means that reducing or increasing the size of your ROM has no effect whatsoever on the remaining dynamic RAM size.

Recommendations

Based on the given data, it is recommended to make your ROM as small as possible to increase your DBCache as much as possible.

Adding files to the ROM is effectively akin to locking them into DBCache using a program such as Resco Locker.

If you can, strip out any non-essential Palm applications from your ROM and run them from RAM, if possible.

Once you have stripped your ROM, ensure that you are using a ROM updater that gives you the smallest possible ROM partition that still fits the size of your ROM.

Posted in Palm | 2 comments

Treo 650 USB Networking - Works

I got the USB networking layer up and running last night. The secret was determining the correct GPIO for USB cable insertion/removal. Everything else was handled already!

Pinging a device over a USB cable is neat to watch, but Shadowmite is working on getting dropbear ready so that we can SSH over to the phone. This will make it easy to quickly transfer new kernel modules (saving a reboot).

Posted in Open Source, Tech | no comments

2GB SD Card Works!

Thanks to a tip by Richard Purdie on the kernel-discuss mailing list, I found the problem. It turns out that the Linux MMC layer assumes that the card has a 512-byte block size.

I managed to work around it by forcing the block size on my card to be 512 bytes (even though it returns 1024 bytes). This isn’t the correct fix, but it seems to do the job for now. I’ll look into a proper fix once I have a chance to come back to it.

Posted in Politics, Tech | no comments

Older posts: 1 2 3 4 5 6

RSS Validate

Note: If you're not sure where you are, you may have come here looking for one of my old addresses.

If you are looking for something in particular, you can search this site via Google:

Google
 
Web www.grack.com