The procedure entry point_except_handler4_common could not be located in the dynamic link library msvcrt.dll

The procedure entry point_except_handler4_common could not be located in the dynamic link library msvcrt.dll

This error is caused by a 3rd party utility or applcation overwriting your msvcrt.dll with a different version.

For example if a windows vista version of this DLL was copied on to a windows XP computer you would probably get this error.

A solution to this problem can be found in Microsofts KB
http://support.microsoft.com/kb/324762

Your daily WTF

I found this today while doing code review.

it was ment to be a sleep timer…
I just about shit a brick when I saw this.

for(int i=0; i<PAUSE_LENGTH; i++)
{
i++;
}

Insert new post in to wordpress from php

This code snippet should let you add a new post to your wordpress database 2.5.1

require_once('wp-config.php');

// create post object
class wm_mypost {
    var $post_title;
    var $post_content;
    var $post_status;    /* publish, private */
    var $post_author;    /* author user id (optional) */
    var $post_name;      /* slug (optional) */
    var $post_type;      /* 'page' or 'post' (optional, defaults to 'post') */
    var $comment_status; /* open or closed for commenting (optional) */
    var $post_category ; 
}

// initialize post object
$wm_mypost = new wm_mypost();
$wm_mypost->post_title    = "Title2 ". date( 'r' );
$wm_mypost->post_content  = "content3";
$wm_mypost->post_status   = 'publish'; 
$wm_mypost->post_author   = 1;

// Catagorys
$post_category = split("," , "one");
foreach($post_category as $key=>$val) {
    $post_category[$key] = get_cat_ID($val);
}
$wm_mypost->post_category =  $post_category ; 

// Optional; uncomment as needed
// $wm_mypost->post_type = 'page';
// $wm_mypost->comment_status = 'closed';

// feed object to wp_insert_post
$post_ID = wp_insert_post($wm_mypost);
echo date( 'r' ) . "\n";
echo "post_ID:". $post_ID . "\n"; 

How to make a CMinMaxAvg class

I got asked how to create a simple averaging class.
If you where feeling smart you could enhance this class in to a template class for a object that has the =,+,>,< operator. But I’m feeling lazy today.

class CMinMaxAvg
{
private :
int	m_count;
int	m_total;
int	m_min;
int	m_max;
public:

CMinMaxAvg() {
m_count = 0 ;
m_total = 0 ;
m_min   = 0 ;
m_max   = 0 ;
}

void add( int iNum ) {
if( m_count == 0 ) {
SetMax( iNum, true ) ;
SetMin( iNum, true );
}        SetMax( iNum, false );
SetMin( iNum, false );
m_count ++;
m_total += iNum ;
}

void SetMax( int iNum, bool force=true ) {
if( m_max < iNum || force ) {
m_max = iNum ;
}
}

void SetMin( int iNum, bool force=true ) {
if( m_min > iNum || force) {
m_min = iNum ;
}
}

float GetAvg( ) {
return (float)m_total/(float)m_count ;
}

int GetMax() {
return m_max ;
}

int GetMin() {
return m_min ;
}
};

NSIS - tips and tricks

I create a lot of windows application to make things easier for my customers. The simple act of coping a file from an email to a certain directory can become the most complicated tasks for a certain type of customer.

I use an Scriptable Install System provided by NullSoft called NSIS (Nullsoft Scriptable Install System). Ita great system that just plain works. Its free, open source, and can be used for commercial products, Great plugin system, Dead simple for simple things, ect.

The manual has lots of examples and function documentation to help get you started.

Over the last few years of using this program I have created a library of useful little snippets of code. Free free to comment with your own.

Opening a directory

ExecShell “open” ‘”$INSTDIR”‘
BringToFront

Registering/unregistering personal ActiveX files

UnRegDLL “$SYSDIR\spin32.ocx”
RegDLL “$SYSDIR\spin32.ocx”

Checking if a process is running
This uses the FindProcDLL::FindProc plug-in (here also):

StrCpy $1 “mybin.exe”
FindProcDLL::FindProc “$1″
;0 = Process was not found
;1 = Process was found
;605 = Unable to search for process
;606 = Unable to identify system type
;607 = Unsupported OS
;632 = Process name is invalid
StrCmp $R0 0 0 error
File “mybin.exe” ; Can’t use a variable
Goto end
error:
MessageBox MB_OK|MB_ICONSTOP “The application $1 is currently running. Press CTRL-ALT-DEL to display the list of running processes.”
Quit
end:

WHAT IS reCAPTCHA

A CAPTCHA is a program that can tell whether its user is a human or a computer. You’ve probably seen them — colorful images with distorted text at the bottom of Web registration forms. CAPTCHAs are used by many websites to prevent abuse from “bots,” or automated programs usually written to generate spam. No computer program can read distorted text as well as humans can, so bots cannot navigate sites protected by CAPTCHAs.

About 60 million CAPTCHAs are solved by humans around the world every day. In each case, roughly ten seconds of human time are being spent. Individually, that’s not a lot of time, but in aggregate these little puzzles consume more than 150,000 hours of work each day. What if we could make positive use of this human effort? reCAPTCHA does exactly that by channeling the effort spent solving CAPTCHAs online into “reading” books.

To archive human knowledge and to make information more accessible to the world, multiple projects are currently digitizing physical books that were written before the computer age. The book pages are being photographically scanned, and then, to make them searchable, transformed into text using “Optical Character Recognition” (OCR). The transformation into text is useful because scanning a book produces images, which are difficult to store on small devices, expensive to download, and cannot be searched. The problem is that OCR is not perfect.

sample-ocr.gif

reCAPTCHA improves the process of digitizing books by sending words that cannot be read by computers to the Web in the form of CAPTCHAs for humans to decipher. More specifically, each word that cannot be read correctly by OCR is placed on an image and used as a CAPTCHA. This is possible because most OCR programs alert you when a word cannot be read correctly.

But if a computer can’t read such a CAPTCHA, how does the system know the correct answer to the puzzle? Here’s how: Each new word that cannot be read correctly by OCR is given to a user in conjunction with another word for which the answer is already known. The user is then asked to read both words. If they solve the one for which the answer is known, the system assumes their answer is correct for the new one. The system then gives the new image to a number of other people to determine, with higher confidence, whether the original answer was correct.

Source: http://recaptcha.net/learnmore.html

Supremely awesome!

The quick and dirty way of getting the size of a file up to 4GB.

I’m often surprised how many times this question has come up by beginner programmers.
How do you tell the size of a file in win32?

This method will fail on files greater then 4GB, and its slower then other methods but it quick and easy as long as you are not dealing with files greater then 4gb.

FILE * h_file = NULL ;
if( h_file = fopen( h_file, "rb" )  != NULL ) {
	fseek(h_file, 0, SEEK_END);
	long file_size = ftell(h_file);
	fclose( h_file );
}

403 - An arrogant initiative in defense of the web

I hate internet explorer, I hate it so much. At lest once a day I curse it to the pits of hell to be torched endlessly by a Richard Simmons kazoo band. My hate for internet explorer mainly comes from my own laziness, I just don’t want to spend the time to create the same website twice, once for internet explorer and again for everyone else. I don’t believe that we should have too, Microsoft should follow the standard set out by The World Wide Web Consortium (W3C). A standard that all the other major browsers support.

Internet explore hurts the internet.

A while ago I had this idea, to create a javascript that you install on your website that created a DHTML pop up if you browse the site with internet explorer. The pop up would tell you about the advantages of using other browsers, the disadvantages of using IE, and links to download locations. At the bottom there would be a check box that disables the pop up for a single session. next time they come back the would get the same pop up until they change browsers.

But it looks like someone else beat me too it. http://403day.org/

I would love to install this script on all the websites that I have Dev accesses to but that wouldn’t be nice. So instead I have installed it on my two biggest websites. Funvill.com and Abluestar.com. Funvill.com still pulls in about 20k a month in unique visitors even thou I shut it down about a year ago and Abluestar.com last month got 675k unique visitors thanks to stumbleupon. Between Abluestar.com and Funvill.com 88% of visitors are using Firefox and 11% internet explore. So basically I am throwing away 76k unique visitors in hopes that some of them will upgrade to a new browser.

I HATE INTERNET EXPLORE

Below I have included some hate quotes about internet explore that I enjoyed.

This is why web developers need to stop working around shitty rendering engines en masse. Every single time we - as developers - utilize hacks to make things work in IE where they’re fine in WebKit, Gecko, et. al., we further allow IE to be as bad as it is. Do you honestly think IE would be the POS it is today if the world’s web sites didn’t work in it? Every single time we work around it we provide Microsoft reason not to change anything. Literally. Microsoft’s biggest concern has always been backwards compatibility, and it is that reason that so many of the issues we have now we also had then. It would be one thing if IE7 had shown considerable improvement in this regard, but that simply isn’t the case. IE7 kept some bugs, and swapped out some well-known ones for others, which we now have to hack around, again.
Source: http://developers.slashdot.org/article.pl?sid=07/12/07/1859205

MS doesn’t want those fixed. Seriously, they make money by ensuring that other browsers can’t compete because the Web is broken to conform to IE’s modifications of the standards. In this way they lock people into their platform. If IE was standard compliant, then soon Web apps would be standard compliant, and then why the hell would big companies stick with IE and an expensive OS, when they can just run Linux for free?
Source: http://developers.slashdot.org/article.pl?sid=07/12/07/1859205

IE will never have the same functionality, at least in terms of standards compliance, as other browsers as long as MS is allowed to bundle it without also bundling competitors. The Web will remain broken so long as MS is allowed to abuse their monopoly and numerous other markets will be broken as well, with innovation intentionally slowed for their profit. It is long past time the government enforced the fucking laws against MS, despite all the campaign contributions they made to both parties
Source: http://developers.slashdot.org/article.pl?sid=07/12/07/1859205

If browsers actually required that we provide valid code each and every time, things would be a lot better. How many browser security holes can be traced to a parser that would not have been affected had it simply seen invalid input and rejected it? How much simpler and faster would browsers be if they didn’t spend so much time trying to figure out what the person who wrote the code intended? How much more accessible would the content on those pages be to alternative browsers, like screenreaders?
Source: http://developers.slashdot.org/article.pl?sid=07/12/07/1859205

We’ve been running for way too long on the mindset that anybody can build web pages. Web browsers were built with this mentality. If I’m integrating with an enterprise XML API, and I feed it bad data, it gives me the proverbial finger. Why should web pages be any different? If you want to put stuff online, learn how to do it properly. The web is a cesspool for precisely this reason, and you can’t blame the standards themselves. The XHTML and CSS specs are by no means perfect, but writing well-formed XHTML and CSS is not difficult. Requiring developers to ensure that every start tag has an end tag, proper nested order, alt tags, and the like, would go a long way toward keeping the architecture of the Internet sustainable. Granted, it might put sites like Myspace out of business, but I’ll go out on a limb and say that’s not a bad thing.
Source: http://developers.slashdot.org/article.pl?sid=07/12/07/1859205

“In yet another instance of up-and-coming browser developers fighting back against the Microsoft behemoth, the makers of Opera have filed a complaint with the European Union against Microsoft. In their complaint, they allege that IE’s 77% market share abuses its dominant position by tying IE to Windows and its refusal to accept Web standards, causing significant interoperability issues. The complaint also requests that the EU’s Antitrust Division force Microsoft to separate IE from Windows and accept several different standards, thereby resolving major interoperability issues and providing consumers more choice in the browser market.”
Source: http://slashdot.org/article.pl?sid=07/12/14/192240

VS6 SP6

For the poor SOB that are still using Visual studios 6, I have uploaded a copy of the service pack 6 to my website for reference.
Feel free to download it, you have my sympathy

http://www.abluestar.com/dev/sdk/vcsetup.exe

If you build it they will come mentality…

If you build it they will come. That’s the mentality that most people have when building there first website. That’s just not the way the internet works. You have to advertise, you have to tell people that you exist.

Ask your self how you found the last item you purchased from the internet.
Did you search with Google? What search terms did you use? Did you stumble upon it from someone else’s website? Did you read a review about it and searched Google for it? Put yourself in the mind of your customers, how do you expect them to find you?

The first thing you should do with all new domains is manually add them to the search engines like Google or Yahoo.
http://www.google.com/addurl/
http://search.yahoo.com/info/submit.html
You can pay some money to be included in there index quickly but I never have found it to be worth the money that charge.

The next thing I would consider is setting up a google/yahoo adwords campaign. Depending on your product or service, you could run a successful adwords campaign on as little as $10 a month. It all depends on what keywords you want to use. Selecting the right keywords is an art in its self, there are plenty of book out there that are just dedicated to helping you select good keywords. Ask yourself this question what search words would your customers use to find you?
http://adwords.google.com/
http://publisher.yahoo.com/

Next is to manually get the word out there. This step can be one of the hardest and most time consuming steps. What you need to do is get people talking about your product, get people to link to your website from theirs, get people to promote your service/product for you because they believe in your product.
- Write a review of your product and add it to a consumer reports website
- Ask a blogger or review site to do a review of your product/service
- Find people Forums/blogs/that are talking about your competitors and suggest your own.
- Create links back to yourself anyway you can.
- Be creative,

Search engine optimization (SEO) and advertisement are huge subjects. I only slimed the service in this article.

Disable and Enable MFC controls by name

I use this snippet all the time to disable/enable, hide/show, move MFC controls.


// Enables and disables an MFC control by name
void CCILikeChease::EnableControl( int iControl, bool enable )
{
// Enable Control
     CWnd* wnd_control = (CWnd*)( GetDlgItem( iControl ) );
     if( wnd_control != NULL ) {
          wnd_control->EnableWindow( enable ) ;
     }
}
void CNetworkDlg::HideControl( int iControl, bool show )
{
     // Hide the Control
     CWnd* wnd_control = (CWnd*)( GetDlgItem( iControl ) );
     if( wnd_control != NULL ) {
          if( show ) {
               wnd_control->ShowWindow( SW_SHOW ) ;
          } else {
               wnd_control->ShowWindow( SW_HIDE ) ;
          }
     }
}
void CNetworkDlg::MoveControl( int iControl, int top, int left, int sizex, int sizey )
{
     // Move the control
     CWnd* wnd_control = (CWnd*)( GetDlgItem( iControl ) );
     if( wnd_control != NULL ) {
          LPRECT lpRect = new RECT ;
          wnd_control->GetClientRect( lpRect ) ;
          lpRect->top = top;
          lpRect->left = left;
          if( sizex > 0 || sizey > 0 ) {
               lpRect->right = sizex + left ;
               lpRect->bottom = sizey + top;
          }
          wnd_control->MoveWindow( lpRect ) ;
          delete lpRect ;
     }
}

MaBeGroMo Rules

One of my good friends are starting the NaNoWriMo today so far hes gotten 457 words in. Not being a writer or wanting to be one I am effectively disqualified from the compaction.

So instead I am joining the MabeGroMo.

MaBeGroMo Rules

Rule 1: At some point between now and November 1, you take a “before” picture of yourself and put your razor away.
Rule 2: At some point after November 30, you take an “after” picture of yourself, and decide whether to reunite with your razor or renew your short-term contract with your newly found friend. You may then claim the title of “MaBeGroMo Member”
Rule 3: If you make it to February 14, you have beaten the extended challenge and can rightfully claim the title of “MaBeGroMo Champion.”
Rule 4: If you make it past February 14, step out of the Home Depot, put down the deer carcass, and shower well before signing up for several internet “dating” services. This is just a suggestion.

You’re thinking about it. I can see it. I’ve taken the liberty of answering some of your presented concerns to give you the encouragement to get started in The Beard FAQ. Good luck.

Every Day Fiction dot com

book1.gifEvery day fiction dot com is a website that publishes a ultra short user submitted stories. Starting in September, each day a a new short story of a 1000 words or less will be released and sent to the subscribers via email, or RSS feed. Users can also read the story online at Every Day fiction dot com and make comments. A story that short you should be able to read on your lunch break or on the bus to work, it should take no longer then 20 mins to read. So you should have no excuse about not having enough time to read a ultra short fiction like this.

Go and read a story or two. Every day fiction dot com

Internet explorer (IE) caching AJAX requests.

The project was to create a status web page that showed the temperature of a room. The temperature of the room changes rapidly and I wanted the changes to appear on the page without my users having to click refresh every time they wanted an updated value.The ideal solution was AJAX.
I would use a bit of JavaScript to query anther page for the temperature of a room and refresh a div on the status page every n seconds.

It worked fine in FireFox and opera but when I tried it in Internet Explorer (IE) I found that the value never refreshed.
Example: http://www.abluestar.com/dev/web/ajax/temperature/

It turns out that Internet explorer loves to cache everything even when it’s told that the data has expired. IE is happy to shows you the catches version.

The first thing I tried was to set the Last-Modified, Date, Cache-Control headers so that it shouldn’t cache anything. Of course Internet Explorer ignored these settings.

Then as a good internet enabled programmer I searched the internet for a solution and came across this page Ajax IE caching issue. His solution was to use a POST instead of a GET to retrieve the data but it didn’t work for me

After a bit of smashing my head up against the wall, cursing the devil that is internet explorer I finely found a working solution.
Added a parameter to the end of the URL with the time in Sec’s

So instead of requesting value.php I request value.php?s=1828399595. It worked flawlessly
Example: http://www.abluestar.com/dev/web/ajax/temperature/index2.htm


<html>
<head>
<title>Temperature</title>
<script type="text/javascript">
function GetXmlHttpObject() {
var objXMLHttp=null
if (window.XMLHttpRequest) {
objXMLHttp=new XMLHttpRequest()
} else if (window.ActiveXObject) {
objXMLHttp=new ActiveXObject("Microsoft.XMLHTTP")
}
return objXMLHttp
}
function RefreshData() {
// Get The value span
var value_span = document.getElementById("temperature_a") ;
if( value_span == null ) {
return ;
}
// Get XmlHttp Object
var xmlhttp=GetXmlHttpObject();
if (xmlhttp==null) {
alert ("Browser does not support HTTP Request")
return ;
}
// Create the request
xmlhttp.open("POST", "value.php" + "?ms=" + new Date().getTime() , true);
xmlhttp.onreadystatechange=function() {
if (xmlhttp.readyState==4) {
if( xmlhttp.status==200 ) {
value_span.innerHTML = xmlhttp.responseText ;
} else {
// Error
value_span.innerHTML = 'Error loading data. Error=' + xmlhttp.status ;
}
}
}
// Set the request
try {
xmlhttp.send(null);
}
catch (E) { }
// Set a timer to call this function again in 1 sec
timerID = self.setTimeout("RefreshData( );", 1000 )
}
</script>
</head>
<body onload='RefreshData();' >
<strong>Temperature:</strong> <span id='temperature_a'>Loading</span>
</body>
</html>

Random drinking game generator

While doing research for an article that I was writing on the drinking game King’s cup. I found that most drinking games all have the same sort of rules. Draw a card, roll a dice then follow the rule associated with that card or dice.

I started a collect all the drinking games rules that I could find that work with a “draw an item and follow the associated rule” type system. Then I put them all in a database and created a script to randomly generate a drinking game.

Random drinking game generator

Feel free to make any suggestions

System Information for Windows

System Information for Windows

A little while ago i got assigned to do an audit of all the PCs in our network. I could have taken the time to check every one of the computes one by one and write down what hardware was on each one but that would have taken the whole day instead I used this nice utility that took 15min to audit 30 computers.One of the nicest features about this utility is that it can create full HTML reports of everything on your system. It also is a portable exe (no install required) so I was able to run it from a USB stick.

SIW gives detailed information about your computer properties and settings, detailed specs for:

  • Software: Operating System, Installed Software and Hotfixes, Processes, Services, Users, Open Files, System Uptime, Installed Codecs, Licenses.
  • Hardware: Motherboard, Sensors, BIOS, CPU, chipset, PCI/AGP, USB and ISA/PnP Devices, Memory, Video Card, Monitor, Disk Drives, CD/DVD Devices, SCSI Devices, S.M.A.R.T., Ports, Printers.
  • Network: Network Cards, Network Shares, currently active Network Connections, Open Ports.
  • Tools: Password Recovery, Reveal lost passwords hidden behind asterisks, Product Keys and Serial Numbers (CD Key), MAC Address Changer, Shutdown / Restart.
  • Real-time monitors: CPU, Memory, Page File usage and Network Traffic.

It’s worth taking a look at, I was very impressed.

Where does this IP Address come from

A few days ago I was asked to find out where or close to where a user of ours was coming from. so i created this GEO location script Where does this IP Address come from

When ever a ISP buys a block of IP address they are entered in to a database. When a client of the ISP requests a new IP address the ISP gives them one from the block of IP address they they bought. With your IP address and the addressing information from your ISP I can look up the address of your ISP’s local router to get a general idea of where you are coming from (with in a few blocks in populated areas)

This information can be useful when generating ads for people from specific locations.
For example: I would want to show a red state something different the a blue state in a election year.

Try it out and tell me how close I got
Where does this IP Address come from

Google map via IP address

My Ferrofluid Project

A few months ago I found a Youtube video of Sachiko Kodama ferrofluid sculpture. There are more then a few of them running around on you tube just search for Ferrofluid. There is also the snake oil project that I posted earlier.

They looked amazing and pretty simple too do, an electric magnet and iron core and a bunch of [tag]Ferrofluid[/tag]. I Could make one of these easily, it can not be that hard I said to myself.

So me and my artist friend decided to make our own. We choose to start small first, a glass dish with a iron bar glued to the center, and a electric magnet placed under the plate. If everything went well we would move on to more complex projects like a reverse water fall, or the jumping frog project.

At first we tried to make our own Ferrofluid but that didn’t work out too well. It turned out to be more of a brown mud that sort reacted to magnets but it wasn’t very impressive nothing like the videos that we had seen. After a few attempts at creating home made Ferrofluid we decided to buy some of the good stuff online. It was pretty expensive I think it was $230 CAN for a 1 liter bottle. I don’t remember where we bought it from.

fluid_demo.jpg

The stuff is messy very messy, it stained my skin for a good week and imposable to get out of anything fabric.

The first thing we did was to put about 20 ml in to a small glass jar and put a rare earth (Neodymium-Iron-Boron) magnet to it. It was fun to play around using 3 or 4 magnets and making it hop from one place to anther but spikes where small less then 5 mm tall and not very impressive. We spent the first few days just playing around with it trying to get the spikes taller and seeing what it could do.

We found out later that all the sculptures that Sachiki Kodama did where under huge magnification and there is no way to make 3 inch spikes no matter how much magnetic force you applied. This was very disappointing it would not make the grand center piece in my living room that I wanted it to be. We had already spent $230 of the Ferror fluid might as well complete the project.

The first step is to get a working electric magnet powerful enough to pull the fluid up and around the iron rod. This proved to be harder then expected. Again the first thing we tried was to build our own electric magnet. We used a speaker, a iron core with copper wire wrapped around it 1000s of times in many different configurations, a yoke from an old TV, a solenoid from a car door. Nothing was powerful enough to pull the Ferror fluid up the rod. Anther disappointment and i was getting pretty frustrated with the whole project.

I wasn’t about to say die yet, I started posting questions on hack forums like the MAKE forums for help with my project. The people on the forums where extremely helpful and informative. In the end I decided to buy a industrial grade electric magnet capable of holding 500LBs on 12 volts from ElectroMechanicsOnline.com. The magnet cost about $170 with shipping but I was determined to get this thing working no matter what. Now I had the power to force this Ferrofluid in any direction that I wanted or so I thought.

The electric magnet came in the mail and the magnet barely did anything more then the Neodymium magnets did. Disappointed I gave up.

Any suggestions would be welcome.

Materials list

  • Ferrofluid 1 liter $230
  • Holding electric magnet 500 lb $170
  • Set of 30 different sized rare earth (Neodymium-Iron-Boron) magnet $50

The Eden project - Artificial ecosystem

The Eden project was inspired by Jon McCormack’s time in the Litchfield National Park, in Australia. The artwork is a self-generating, artificial ecosystem complete with rocks, biomass and sonic animals populated. The creatures evolve, move about the environment, emit and listen to sounds, forage for food, encounter predators and mate with each other.

3cormack.jpg

After reading about projects like Eden and other artificial ecosystem I started thinking about other artificial ecosystem and maybe creating my own.

Each creature has a few attributes,

  • ID - A unique identifier for every creature
  • Sex - Male or female of the species males can only mate with other females, ect.
  • Age - Depending on there genetic material each creature will have a different max age, once this age is reached the creature dies. if the creature does not mate before that then they do not pass on there genetic history.
  • Energy level - If the creature does not regularly eat it will die off, it can eat the fool found around the land or the dead bodies of the other creatures,
  • X - Where it is located on the map in the X plane
  • Y - Where the creature is located on the map in the Y plane
  • Genetic material - A linked list history of every creature before it, all its parents and there attributes, this information is used to set up the creatures initial properties. if the creatures parents lived a long life then this creature has a better chance of living a longer life.

The land or world has a few things in it

  • Walls or boarders that are no passable
  • Natural Food that can be eaten and grows by its self once a every year.
  • Poison food that will kill the creature if eaten. the creatures have a chance to detect that it is poison this chance will increase and decrease independently on there genetic material.
  • Dead and Alive creatures

Base behaviored of the creatures

  • Creature of the opposite sex who meet each other creatures will have the choice of having mating. The choice is random and depends on the Genetic material of the creatures. Mating does not guarantee procreation its a random chance based off of the Genetic material. Mating consumes energy. The creatures can mate as many times as you like with as many different partners as it finds.
  • If no food can be found and the creature has less then 20% energy left it will attack other creatures, depending on its Genetic material and energy levels the creature will either die or kill the other creature. The creatures may eat other dead bodies.
  • if a body of a creatures is dead, it may be eaten by other creatures. if a year has passed and the creatures body has not been eaten it disappears.
  • Dead bodies of creatures that died because of poison are poisonousness
  • Moving requires energy

It would make a pretty interesting project.

Vancouver’s Restaurants review site - Dinehere.ca

restaurant_iconVancouver has thousands of restaurant to choose from and each week me and a few friends try out a new one. Finding a new restaurants never hard with fantastic websites such as Dinehere.ca but its are missing a few nice to have features such as a map of all the restaurants in your area, and select a random restaurant.

Selecting a random Vancouver restaurant isn’t that hard just select a random number between 1 and 9999 and replace Restaurant ID www.dinehere.ca/restaurant.asp?r={restaurant id} in the address bar. I created a small utility that does this for you and also selects a random restaurant type

With out access to Dinehere.ca’s database it would be hard to generate a Google map of the local address. (With read DB access I could generate a script with in a day) I have requested the feature a few times but I have not gotten a response. Maybe if a few of my readers also request it they might implement it. Contact Dinehere.ca

Anyone know of a local Vancouver restaurant site that has a map of the local restaurants?

Hippo Update Checker (Windows)

sshot_1.pngI found this great program today on LifeHacker news feed called Hippo Update Checker. It scans your computer for your installed programs and checks there version against the version in Hippo’s database. if there is a newer releases to any of your programs it displays them nicely in your browser with a download link.

I been looking for a program like this for sometime now, I hate having to check all my programs are up to date every few weeks it time consuming and not very fun. This program simplafys that and its easy enough for my parents to use.

The Update Checker is also a light .exe that you don’t need to install (which means it’s portable), this means that you could keep a copy of this utility on a USB drive and run it on peoples computers with out having to install anything.

Best of all its 100% completely free.

You can download Hippo’s Update Checker from there webpage filehippo.com.

Project: The $5 Cracker Box IPod Amplifier

This weekend we built a IPod amplifier to power a small 8ohm speaker for an art project that one of my good friends was doing. Her project involved a metal sculpture that speak a manifiesto to anyone that walked in front of it.

I found the Amp Schematic in the latest MAKE magazine 09 - The $5 Cracker box amplifier.

It ended up costing closer to $20 CAN in parts because when you buy capacitor and resistor you have to buy them in bundles packages of 20 or so. In the end I have enough spare parts to build 5 of these amps for $20.

Good image of the Amp curuitThe directions where a little difficult to understand, they assumed that you have a good knowledge of circuit diagrams. With the help of of this diagram it should be too hard to figure out what to do. I probably would not have gotten it working with out that diagram.

Instead of using a 1/4 mono phone jack I used a mono head phone jack that connects easily to my IPod. I removed the potentiometer, it just isn’t needed for a IPod amp.

The $5 Cracker Box Amplifier circiut2

A full size schematic and directions can be downloaded from MAKE’s web page. If you run in to problems feel free to leave me a comment I might be able to help you or try the MAKE forums

(more…)

Weekly post of del.icio.us book marks to wordpress

delicious-icon.gifThank to the help of herebox.org I was able to add the ability to get new links from my del.icio.us account and post them on this site once a week. the script uses curl instead of fopen which is much more secure.

I made a few changes to the script.

  • Instead of posting the links to my blog right away I posted them with a draft status so I could review and make any necessary changes.
  • I added the Tag links for the UltimateWarriorTags plug-in so that my users could look for other posts that they also might be interested in.

The original herebox.org script can be downloaded from his site. yawd-curl-1.0 script

My modified version can be downloaded from my site UltimateWarriorTags with yawd-curl-1.1 script

Example: Delicious-03-28-2007

View Product Key XP

If you have more than one system running XP you have obviously purchased more than one copy of the Operating System. However you may have forgotten which Product Key you used for which system. It happens. I have 5 systems and have had all of them running XP at times. XP does not store the Product Key in a recognizable format in the registry.

Keyfinder is a freeware utility that retrieves your Product Key. has the options to copy the key to clipboard, save it to a text file, or print it for safekeeping. It works on Windows 95, 98, ME, NT4, 2000, XP, Vista, .NET, Office 97, Office XP, Office 2003 and Office 2007. It even has the ability by using Microsoft’s own script to change installation keys. See the Microsoft Knowledgebase article here Q328874
Visit the Keyfinder Homepage

Design Competition: Board Game Design Challenge

Board Game Design ChallengeThe Vancouver Independant Game Designers Association chapter coordinators cordially invite entrants to create a unique board game based on one of three classic arcade titles: ROBOTRON - JOUST - SPACE INVADERS. This is a FREE event to enter as a designer or player. Spectators are also welcome! This is a perfect chance to prove you’re old school credability, play some games, and win cool prizes.

Games must conform to the following formatting conditions:

  • 2-4 players
  • Rule set: clear articulation of play & winning conditions
  • Arcade themed board with clearly demarcated playing surface
  • Dice, Cards, Spinners or Tokens acceptable play components
  • Game should top out at 30 minutes play time

Entrants can be individuals or teams. Don’t forget to bring all of your equipment! Winners will be decided by our celebrity-judging panel based on the following criteria:

  • Fun Factor: replay value and ease of use
  • Innovation: creative interpretation encouraged! No joust-opoly please…
  • Presentation: show us your mad artistic skills!

Prizes courtesy of STRATEGIES Games & Hobbies and the IGDA Vancouver. We ask that designers show up at Strategies by 6PM Sharp! to ensure you can set up your games for a 6:30 start. Here is an jpg file so you can spread the word! For more information please contact Su Skerl.

Update (08/April/2007) - The results have been posted on IGDA website 

Create a invisible book shelf

Create a invisible book shelf
By inserting a “L” bracket behind the bottom book.
Interesting if not absurdly simple.

invisible book shelf

A mini hydroelectric damn that runs a LED inside your shower head.

I was browsing the Make Forums today when I ran across this post LED Shower Head/Faucet

Basically the guy wants to create a small turbine inside of his shower head that would spin and create a current powerful enough to run a LED.

Basically he wanted to create a DIY version of showerstar version

showerstar version

Here’s a quick peek inside: Water enters the shower head through the flow resrictor (1) then travels through the injector plate (2) which directs the water to the waterwheel (3). The water spins the magnetic waterwheel past the stator (4) of the field wincing (5). This hydroelectric generator develops the 2.5 volts at .31 amps which lights the PR-6 bulb.

Throwies
These fancy version would be possible if you had enough water pressure but it would be much cheaper and easier to use a Throwies. A disposable LED and Battery that lasts 2-3 weeks with a thick layer of silicone. Most of the parts can be bought for less then $1

USB Powered Charger for Two AA NiMH/NiCd Cells

NiMH/NiCd Cells charger

The other day I was looking at a USB cell charger from ThinkGeek.
A battery that charges while it is connected to my USB port.
But I found most took to long to charge or they where expensive.

I found project started by Stefan Vorkoetter that shows up to create a fast charger for NiMH/NiCd Cells USB Powered Charger for Two AA NiMH/NiCd Cells

The project looks pretty simple and I plan on trying it out this weekend.

Lego Ice cube Tray

Lego Ice cub tray
A tray made of silicone that can be used to make Lego shaped ice cubes.
And it only costs 7.99.
I found this nifty little item on freshfodder.wordpress.com
You can buy your own Lego Ice cub tray from Lego’s online store

NY make out of iceImagain creating a entire town or city or castle out of an unlimted supply of lego ice cube blocks, you could even use food colering to color the blocks any color you want. That would be an interesting project. I will post pictures if I ever get around to it.

Wiki artical on Ice_sculpture