Lotus Elise Front and Rear OEM brake rotors

 

babe in blue with blue Lotus elise

If you are looking for a OEM replacement rotor for the front and rear of your Elise, Centric part# 128.23000 is a perfect fit.  You can save a lot of dollars by buying on Amazon for ~$70 each.

Features: Cross Drilled OEM Brake Rotor

  • Superior resistance to cracking due to thermal stress
  • CROSS-DRILLED
  • Increased molybdenum content that extends reliability, service life and helps reduce NVH “noise” issues
  • The addition of high performance street pads provide you with higher resistance to fade, higher maximum operating temperature, and better initial bite to allow consistent deep braking into corners.
  • Cross drilled brake rotors prevent glazing of the pads, add bite and improve wet and dry braking performance.

12823000


Stink Bugs will be knocking at your door soon – Kill them Safely

Don't live with Stink Bugs this winter

 

In the Mid-Atlantic, the mighty stink bug is only a few weeks away from moving from the fields towards your home. Now is the time to start implementing this years preventions. The number one myths about Stink Bugs is that pesticides will not kill them. This is false, and is probably spread because the newspapers are interviewing farmers, and that is true, farmers do not have food-safe pesticides that are will kill the stunkbug reliably. However, there are household pesticides that will work.

Last year, many homeowners and pest control companies were very successful at controlling incoming bugs with Cyper WP. This is a relatively safe (always read the manufacture’s Product MSDS) pesticide thatcan be used indoors and outdoors. At the end of Aug through Oct, it can be applied to outside surfaces where the stink bug travels as it searched for an entrance to your house. It creates a barrier that when the Stink Bug travels over, will kill it within 2-3 hours. It can also be applied indoors in attics, crawl-spaces, and basements. However, for best results, apply every other week to your roof eaves, tops of outside walls, around vent entrances, and anywhere that you have seen Stink Bugs crawling. It will not 100% eliminate your problem, however it will have a huge impact.

In the Spring as the Stink Bugs leave your house, you can reapply to affected areas. Cyper WP will leave a reside, so only use where it will not be seen, or will not be noticeable (roof eave). As an added benefit, Cyper WP will also help to control bees and wasps who try to nest in your eaves and crawlspaces. It will also eliminate spiders and ants in basements.  Spray in on the outside of your house, and you will notice a significant reduction of outdoor pests, including scorpions, roaches, wasps, etc.

The best price I have found is on Amazon’s web site. You can purchase here : Cyper Wp Insecticide -1 Lb. Control SprayPest Control)

And, as I wrote about before here, go buy a BugZooka Bug Catcher VacuumNOW to capture the stray bug that does make it past the Cyper WP into your house.

PLEASE, do not buy expensive books or traps, they are almost all scams.  There are only three proven ways to protect your home from invasion.  Seal all cracks and opening as best as possible, use a barrier pesticide like Cyper WP, and clean up any strays with the BugZooka.

Cyper WP will kill all the stink bugs outside before they get in your house

 


= does not == === | Learn about === alias The Triple Equals

lady_with_computer

I think this just may be the most important piece of information for any software developer today.  Whatever you do, don’t forget it.

Although many software developers have been using PHP and Javascript for years, many do not know about ===, also called “The Triple Equals”. In the simplest terms, it means equality without type coercion. In other words, if using the triple equals, the values must be equal in type as well as value.

  • 0==false // true
  • 0===false // false, because they are of a different type
  • 1==”1″ // true, auto type coercion
  • 1===”1″ // false, because they are of a different type

Many developers will first encounter === when using JSLint to test their Javascript. JSLint was written by Douglas Crockford, one of the more outspoken proponents of Javascript and JSON.

JavaScript has both strict and type-converting equality comparison. For strict equality the objects being compared must have the same type and:

  • Two strings are strictly equal when they have the same sequence of characters, same length, and same characters in corresponding positions.
  • Two numbers are strictly equal when they are numerically equal (have the same number value). NaN is not equal to anything, including NaN. Positive and negative zeros are equal to one another.
  • Two Boolean operands are strictly equal if both are true or both are false.
  • Two objects are strictly equal if they refer to the same Object.
  • Null and Undefined types are == (but not ===).
Many experienced JavaScript and PHP developers will advocate ALWAYS using === and !=== instead of == and !=.  The reasons are obvious, you will never find yourself finding out that:
  • 0 == ” is true
  • false == ‘false’ is false
  • false == ‘0’ is true

and the non-transitive demonstration is as follows:

  • false == undefined is false
  • false == null is false
  • null == undefined is somehow true?

Funny Dancer – Microsoft Kinect

You guys have probably seen the Microsoft Kinect for the Xbox 360.  It is a motion control accessory that allows you to interact with your video games, just like the Wii.  Microsoft has done a pretty good job with this device, although it seems as if they are still waiting for the killer app to really drive sales.  Recently when I was at the Lenox Square Mall in Atlanta (a Simon Mall), I caught a glance of this guy getting his inner groove on with a public demo of the Kinect and Dance Central.  This guy really got into his dance routine.  Got love it….  Can you say hilarious!


Mac, a racoon, and no more VPN connection

cisco VPN client for Mac stops working

A configuration error occured when connecting to Cisco VPN with Mac

On too many occasions my new MacBook Pro will no longer connect to my work’s  Cisco IPSec VPN.  The error message displayed is not very helpful, it simply says:

“A configuration error occured. Verify your settings and try reconnecting”

I have been unable to determine a pattern of when this happens, but it seems to occur quite often when bringing the laptop out of sleep.  Although, it does happen at other times as well.  Rebooting has appeared to help, but the whole reason I bought a Mac was because I was sick of having to reboot my PC everyday.

After a little investigation, I determined that there is a process called “racoon” which is responsible for the VPN connection.  – it performs key exchange operations to set up IPSec tunnels. The Apple MAN pages say that racoon speaks the IKE (ISAKMP/Oakley) key management protocol, to establish security associations with other hosts.  If you Kill it (using kill or activity monitor), your VPN will start working again.

You can also do :

~ :? ps -ef | grep racoon
0  5861     1   0   0:00.09 ??         0:00.15 /usr/sbin/racoon
~ :? sudo kill 5861
~ :? ps ax | grep racoon
<wait until it shuts down. sometimes you may need to SIGKILL it (kill -9 <pid>)>
~ :? sudo /usr/sbin/racoon
~ :? ps -ef | grep racoon
0  6786     1   0   0:00.08 ??         0:00.15 /usr/sbin/racoon -x

Some folks have also reported that running multiple copies of racoon can also cause the problem.  In that case, kill all.  The Mac VPN client will auto-restart as needed.

Works on OSX 10.6.5 and 10.6.6

 


EXTJS – JsonWriter not respecting DateFormat used with JsonReader

computer_girl

Recently while working on a project that used Extjs as the front-end to a MySQL application, we came across an interesting issue with Extjs’s JsonStore.  The JsonStore automatically creates a Jsonreader that is used to map data coming from the MySQL application to the Extjs front-end.  The JsonReader has an optional dateFormat config property which allows the format of the incoming data to be read properly using the format delivered from MySQL.  While using the JsonWriter to update records from a EditorGrid, we noticed that the format that was sent back from the JsonWriter was using Extjs’s default dateFormat (03-04-2011T00:00:00).

It was that the JsonWriter was not respecting the dateFormat defined when mapping the data using JsonReader.  There would appear to be multiple hacks that could be used to fix, such as adding a Listener before the update that would modify the datefield, however we came across this little bit of code that works wonders.  This code will over-ride the default DataWriter class to use the dateFormat property defined in the JsonStore Field mappings.

//This over-ride fixes JsonWriter not using the JsonReader dateFormat when writing

Ext.override(Ext.data.DataWriter, { toHash : function(rec) {
var map = rec.fields.map,
data = {},
raw = (this.writeAllFields === false && rec.phantom === false) ? rec.getChanges() : rec.data,
m;

Ext.iterate(raw, function(prop, value){
if((m = map[prop])){
var key = m.mapping ? m.mapping : m.name;
if (m.dateFormat && Ext.isDate(value)) {
data[key] = value.format(m.dateFormat);
} else {
data[key] = value;
}
}
});
// we don't want to write Ext auto-generated id to hash. Careful not to remove it on Models not having auto-increment pk though.
// We can tell its not auto-increment if the user defined a DataReader field for it *and* that field's value is non-empty.
// we could also do a RegExp here for the Ext.data.Record AUTO_ID prefix.
if (rec.phantom) {
if (rec.fields.containsKey(this.meta.idProperty) && Ext.isEmpty(rec.data[this.meta.idProperty])) {
delete data[this.meta.idProperty];
}
} else {
data[this.meta.idProperty] = rec.id
}
return data;
}
});