Chris R's Weblog

Daily link December 5th, 2007

Operation Canada Freedom

In mid January I am driving to NYS to pick up some papers.

In mid March I am flying to SF to shop for office space. I will aquire office space at that time and sign a lease. I will also shop a data center at that time. Immediately following my return, I will file for incorporation online under LLC status in California as “BeerCo USA”. I will also find an apartment for myself. (I may have a job in LA, so I would have to drive up for weekends)

In mid April I am transferring all of BeerCo’s USPTO Intellectual Property rights to the new address. I will also open a bank account in California at this time.

In mid June, I will file the dissolution papers for BeerCo Canada, and I will wire transfer all remaining cash to the US account.

I will liquidate the remaining assets in an office yard sale and clean out the office and transfer it to the next occupants.

After this is done, I will ship the servers to an address in California via UPS. I will make sure my dog is taken care of while I’m gone as I won’t be able to bring her right away. Then I will get on a plane and and fly back to California, where I will move into my place. I will then take the servers from the place they were mailed to, drive them to the data center, and I will change Peeplr from beta to live and start taking SEO campaigns. At this time there will be a small local team, and we can push the search to the top!

Writing about this makes me feel better about having to spend the winter here. Now I’m going to go get some beer.

Hmmmmm… I have to work out first. So I am going to the gym, then to get beer!


I’m still going to come back to Canada, but not to earn any money here. That’s an unsupported operation.

Also, don’t get me wrong. People on welfare are very well off here. The problem starts when you actually try to make money while in Canada. If you make money elsewhere and bring it to Canada you’re fine. They just jump all over you when they think you have money. Just like muggers and carjackers. They won’t target poor folks. They go after you if you look rich or if it appears that you are making money.

Daily link December 5th, 2007

Schreiber said he also gave $30,000 in cash to the brother of Quebec premier Jean Charest

In what came as a surprise to some committee members, Mr. Schreiber said he also gave $30,000 in cash to the brother of Quebec premier Jean Charest when the latter was running for the leadership of the Progressive Conservative party in 1993.

Mr. Schreiber said he was approached for a donation by Mr. Charest’s brother while they were in the secretary’s office of former solicitor-general Elmer MacKay.

I’m actually for this. I think crooks across the world should pour their money into Canada, and that they should wholly, not just partially fund the govt here. I think a bill should be passed to make that happen.

I’d rather they take their money than mine or BeerCo’s. I would also prefer the quaint ambiance of extortion via properly dressed thugs with baseball bats than extortion via sheriff seizure threats with govt of Canada logos in mailings. It’s far more appropriate.

I so can’t wait for July and to kiss this place goodbye. Goodbye gray skies, hello Cali.

UPDATE: I just wanna say that I don’t have anything against a fair tax system. I paid plenty of taxes in the US, and I never complained once. The system we have here in Canada, and Quebec is nothing short of insane. It makes our gas well above $5 a gallon, and they tax employees on both sides, the employer and the employee, which would be similar to workers comp, except it’s 30% on both sides. Then 50% for corporate net income. It’s not even sane.

I believe that if somebody approved a govt paid comedy festival with tax payer money in the US, that the politician would be beaten down, dragged to the town center, roped to a horse and the horse would be whipped. I think a similar thing would happen if tax payers found out they were paying for Celine Dion’s albums. I can’t think of a worse performer than her in the furthest stretch of my imagination.

I have a very good reason for staying in Quebec, Canada, but the reasons for leaving are extremely strong.

This is Canada. As somebody who was working for a low wage, I simply put up with it. But these fuckers, and I do emphasize that they are indeed fuckers, will totally steal all the earnings from this search engine I put so much work into. That’s not going to happen.

The first prime minister was corrupt

Pacific Scandal

(1872–73), charges of corruption against Canadian prime minister John Macdonald in awarding the contract for a transcontinental railroad; the incident resulted in the downfall of Macdonald’s Conservative administration.

The recent ones are too.

and again with Cretien.


Daily link December 5th, 2007

man malloc

Yup. I could use some custom made boards and benny from code monkeys right now.

int main() {
void* m = 0;
m = malloc(1000000000);
printf(”GOT A GIG: %d”, m); // NO FUCKING WAY
return 0;

By default, Linux follows an optimistic memory allocation strategy.
This means that when malloc() returns non-NULL there is no guarantee
that the memory really is available. This is a really bad bug. In case
it turns out that the system is out of memory, one or more processes
will be killed by the infamous OOM killer. In case Linux is employed
under circumstances where it would be less desirable to suddenly lose
some randomly picked processes, and moreover the kernel version is suf-
ficiently recent, one can switch off this overcommitting behavior using
a command like
# echo 2 > /proc/sys/vm/overcommit_memory
See also the kernel Documentation directory, files vm/overcommit-
accounting and sysctl/vm.txt.


Get ready to sigkill

#include <stdlib.h>
#include <stdio.h>
#include <string.h>

int main() {
void* m = 0;
int sze64 = 1000000000;
m = malloc(sze64);
memset(m, ‘0′, sze64);
char* ptr = m;
ptr[sze64] = 0; // null terminate
printf(”GOT A GIG, LAST CHAR: %s”, m + sze64 - 1);
return 0;

I’m actually just going to have to load the target machine with the 8 Gigs as stated previously. Oh dear. Plus I had X server and gdm pulling it down. I guess it could work. I would have liked to use the physical addresses and bus the data directly instead. I can tell that over billions of iterations this is going to hit performance badly(reserving that much swappable ram from user space).

When I build the final 1U that this code is going to run on, I am going to get the board with the fastest bus speed possible that supports quad core $300 Q6600. Even that is totally inadequate.

If the stupid Federal govt didn’t rob us blind like they do, I would totally get one of the configs out of Linux journal. As soon as I get BeerCo out of Canada I will use our profits to actually advance the company instead of giving them all to the bastards in Ottawa that waste it all on themselves.

The only way to beat them is to move away from Canada, or to hold several offshore accounts and hire people to find loopholes to which I don’t have the resources to do right now.

They’re going to take our server money, like thousands of dollars, and they’re flatly going to steal it. I guarantee it. As soon as our checks get processed, the politicians white wash the money and take it. It’s been documented. It’s legislated theft, and I can’t wait to get the fuck away from Canadia.

Daily link December 5th, 2007

You have to kmap()

I thought allocating raw pages would work, but due to the MMU and the kernel it forces you to kmap them.

Basically what I was looking for was to take this:

and have it use the physical memory minus the loaded kernel from 0×00000000… to 0xffffffff… like an MCU,

all the while having the Linux kernel manage the Quad cores, bypassing the MMU and all semblance of PC’ness. It turns out that the alloc’d page’s addresses in the kernel are volatile.

So screw that. Now with that out of the way, there is no more reason to do it in kernel space over user space. Otherwise it would be worse because I would have to

unsigned long copy_from_user( void *to, const void __user *from, unsigned long n );
unsigned long copy_to_user( void *to, const void __user *from, unsigned long n );

All the data in and out from the kernel. (gigabytes of it)

So I want the power of the Linux SMP Kernel to manage the 4 cores, but I do not want the MMU in my way.

I WOULD just take an x86 single core and write it in assembly language, but then I lose the network stack and I would have shuttle the data to the other machines with the serial port, which would be slow. I would lose the gigabit pipe.

I am going to leave the hacked kernel there in case I need it in the future. At worst I can just edit what I hacked and recompile it.

I would also have commissioned work to have a random no name Asian company simply make me a HUGE MCU style board with 20 RAM sockets on a single bus and a 775 socket or 2 for Quad Cores with a programmable eeprom which I would load the code up to, but I’m sure that would run into the hundreds of thousands of dollars. That’s what I would do if the sky was the limit.

So the sky is not the limit, so I will fall back to user space. The userspace allocation will be directly mapped.


I want to say that it’s possible to strip just the SMP out of the Linux kernel and lay waste to the memory manager. That is possible. But it would take months and I don’t have the time. I am going to do this with user space memory allocations and hope the kernel performs reasonably well. I am still using Deity Linux and the vanilla kernel from

It’s too much code to trim. I would almost need Linus here in the office to do that. I was hoping you could use the raw pages without mapping them at first, because it didn’t say anywhere that you couldn’t.

Daily link December 5th, 2007

Working on the hacked kernel from Fedora in a chroot environment

Well, I tried, but I can’t pass on the comforts of Fedora for software development. I am actually building the kernel from chroot.

Since I have to reboot anyway. At least now I can boot strait into rl3. I like being able to edit with the mizouse. I know how unl33t that is.

BTW, I am using the vanilla kernel 2.6.23

UPDATE: In case you were wondering I’m still editing kernel code. The implementation file is linux/src/peeplr.c LOLZ. What sucks is that I have to manually edit the makefile now, or else the stuff won’t build. Hacking kernel code sucks and it’s time consuming, but there really is no way around it. There is no “kernel koolaid”. It’s almost like MCU programming, but not quite.

Daily link December 5th, 2007

Can not cheap Indian slave force do advanced systems design too also as well?

Well, in theory cheap Indian work forces could design advanced systems.

A Chinese company did design Baidu.

In the case of the Chinese, they just didn’t get it when it came to the rest of the world and in the case of India, if they were that good at systems design or even that smart in the first place they would have escaped their crackers long before they would have gotten to the stage where they would have been asked to do that. Their non communist govt can not forcibly keep people in projects based on theats of beheading, life imprisonment and other unsavoury acts for defiance that tarnishes their “honor”.

Daily link December 5th, 2007

Zoho - Googno

Zoho built all this, but they couldn’t build a workable search engine.

What does that tell you about the complexity of search engines vs. cheap social networks and peripheral service code?

Zoho and it’s parent company Adventnet is a multimillion dollar web 2.0 company. They have their own cage at a datacenter and resources that would dwarf the average software company.

They were said to be a threat to Google. The reality check is that they are no threat. Even they do not have the resources to compete.

In this case, in the case of what I call severe systems optimization, 1 learned that person can be worth more than 100 code monkeys. That person will be able to work where he wants on what he wants, and chances are it won’t be Zoho.

I don’t want to rip on Zoho here, but that’s todays REALITY CHECK!


To actually do this for real, you either have to literally have 10 million dollars to throw in that you may never see again, or you have to have that collective 10 million dollars in knowledge and you can do it yourself. I know how, and I am simply putting the legos together as I blog every day. The lego configuration is extremely complex, but I am a very good lego builder. Just like Larry Page, you can easily pronounce my name.

December 2007
« Nov    
BeerCo on YouTube (BCS videoblog)
(on Flickr)
Main RSS Feed
Link Blog (tech news from
Add to Technorati Favorites
About me
Comment RSS Feed
Click to see the XML version of this web page.

Chris R. works at (title: President of Development and Sales). This is Chris's work blog.

Disclaimer: BCS will not let personal views of any employee, including Chris, regarding any software product, company, standards or otherwise get in the way of any company that hires it to provide a solution. Companies pay BCS and BCS provides solutions regardless of the views of any employee. That’s part of being professional, and BCS is a professional software company.

Everything here is Chris's personal opinion and is not read or approved before it is posted. No warranties or other guarantees will be offered as to the quality of the opinions or anything else on this blog.

Blog at
InstaSize Online and Square InstaPic – Photo Editor for your PC.

How To Fix Svchost.Exe Netsvcs High CPU Usage Problem ? Solved: Netsvcs High CPU