Kimler Sidebar Menu

Kimler Adventure Pages: Journal Entries

random top 40

SPAM, lovely SPAM, wonderful SPAM

June 23rd, 2005  · stk

Keep Your Email From Being "Harvested"

If you have an email address, I bet that you don't like all the unsolicited mail (SPAM) you receive. It's a waste of time. Mortgage refinancing, cheap software, "urgent" messages from Nigerians needing help (offering a percentage of 'millions' for assistance), links to XXX movies and pics ... these are but a few of the SPAM messages that made it past Yahoo's filter and into the inbox. What's a person to do?

Entity Values are a sneaky way of entering characters in HTML code. Instead of typing the letter "r" in - - one can put "r" (ascii) or "r" (hex) instead.

On the screen, it still looks like - - the entity values are converted to characters on the screen, by the browser. A harvesting bot, blindly looking at HTML code, sees only the string (depending on how the ascii and hex entity values were mixed). Doesn't look like an email address, does it?

It's a technique that used to be effective. (Notice that the browser didn't format the entity value email, because it didn't "recognize" it as an email address? In a similar fashion, the technique would fool email harvesting bots. The bot passed over the string, thinking it was more HTML gibberish).

If you've got a website - Don't give the spammers your email address by posting it on your site! Email-harvesting spiders (or bots) are programs that spammers use to search through website code for thousands of sites every day, scooping up discernable email addresses. They key in on the "@" character (an address requirement) or the "mailto:" hyperlink reference in the <a> tag. I recently reviewed the 'harvestability' of and discovered entity value encoding (see sidebar) no longer effectively "hides" addresses from harvesting bots. The programs have gotten smarter and many are now able to decipher entity values. It's high time for a new plan.

Not allowing email contact, you might think, is an option. Not for me. A contact link is a web-design requirement. Only poorly designed web pages do not provide a contact link and most of the better designed pages provide a link on EVERY page. Besides, if you don't put up a contact link because you wish to avoid SPAM, aren't you really giving in to the spammers? (I'd rather "out-smart" than "give-in".) ;)

After the overhaul, there are no longer any entity encoded email addresses or "mailto:" references, on the site . Now, not only isn't our email displayed, but there are even MORE ways for visitors to make email contact!

  • (1) PHP email form (fast and easy)
  • (2) javaScript-encrypted email links (the new "hide" technique)
  • (3) email image display (security and accessiblility)

The contact link (on the banner), displays on both b2evo and non-b2evo pages, alike. The link takes you to the contact page (which is integrated with the b2evolution and isn't a core hack), offering two methods for contact - the php form or email links (the non-java method kicks in, if you choose an email link and have javascripting turned off). After completing the php form, the script takes you back to whatever page you came from. There's also some error-checking to make sure that fields on the form are filled in properly. Nifty!

Go ahead, kick the tires and take it around the block for a spin. To learn more about SPAM, avoid SPAM, test the vulnerability of your site to harvesting, install a similar contact form on your b2evo installation or if you just want to watch the Monty Python SPAM skit (??) ... read on!

Read full story...

Views: 10564 views
4 Comments · GuestBook
default pin-it button
Updated: 23-Jun-2005
Web View Count: 10564 viewsLast Web Update: 23-Jun-2005
Filed in:Alexandra

Happy Father's Day to Me

June 18th, 2005  · stk
Alex wears too many bras

Life is good when you have a cute baby girl and, I suspect, Alex is about as cute as they come. She greeted me with a hug and kiss this morning, then promptly wanted to be put in her high-chair, because she wanted 'toas'(Oop-speak for TOAST). It's Father's Day, but for the Oop, it's just another gloriously sunny day in Edmonton and she's ready for whatever new adventure might come her way (though she thought she might prod things along by asking to go in the 'cor' - CAR).

We're now in the midst of that language explosion we've been predicting, but unfortunately, her vocabulary exceeds her ability to enunciate and (even for us parents) it's tough to know WHAT she's saying. The words we've been able to fathom so far, include: egg, car, truck, book, chocolate (a favorite), cookie, yogurt, bib, juice, nap, bread, banana (she's started saying 'banana', rather than 'mahtma', much to our mixed emotions), PJs, toast, socks, booby and please. She even said her first complete sentence, "No, mommy eat it," as she shoved some food that she didn't want, toward Rachel.

She's mimicking our speech quite regularly now, as her little mouth is beginning to get a handle on the various sounds that the English language uses. We're having to be extra careful, because we just know that she's gonna pipe up with, "God Dammit" at a very inopportune time (maybe Michelle's wedding?) ha ha. Still, for as many words as she now knows (and they're being added to on a daily basis), UNDERSTANDING her remains difficult. She was brought nearly to tears this morning, as she repeated the word 'brid' to me, several times (while putting on shoes to go outside). FINALLY, I had her SHOW me what in the World she was talking about and she led me into the kitchen and pointed in the general direction of the microwave oven (on top of which, we keep the BREAD). The time of morning and the activity (going outside) was completely out of context for eating, which was why I was having such a hard time understanding. It must be so frustrating to KNOW the word, but still not be understood.

Soon, however, she was contentedly munching on a piece of bread and drinking milk out of her sippy cup, sitting in her high-chair. Then, she asked for 'chokate' (chocolate) and because we're trying to teach her to append "please" onto the end, I asked her if she could ask, "chocolate, please?" She did and I realized that I'd just been conned into giving her chocolate as a reward to reinforce the whole "please" concept. She's no dummy, our Alex! She sat there, grinning at me, with blue lips and a chocolate smudge on her chin, busily chomping on her little M&Ms.

Ever since Alex began attending day-care, nearly a month ago, she's been constantly ill. She vomited a couple of days ago. (This is much more traumatic for the adults, then it is for Alex, as she doesn't seem to be bothered much by the activity. The cleanup isn't fun and I find my stomach is on the verge of releasing its contents, which only shows what a wimp dad can be.) She's been running a low-grade fever and her nose is constantly runny. She has a rattling cough that wakes her up early in the morning, sometimes as early as 4:30AM, but it generally seems to abate during the day. She's sleeping longer at night, generally and goes down hard for a nap, which is now generally only once a day, instead of twice. We keep telling ourselves that she's building up her immunity, from exposure to so many other kids and germs. She's going to get sick now or when she starts kindergarten. Either way, she's going to have to go through this. If she could only keep her fingers out of her nose, eyes, mouth or ears!

Each day is filled with wonder and exploration. She loves day care and often isn't even aware of our leaving, after dropping her off in the morning. In fact, she's unaffected by our absence and will often wander away, without regard to where we are, when were out at the supermarket, in a department store, or at the park. On one hand, we're glad that she's so sure of herself and her environment, but on the other, we'd prefer is she were a bit more aware. We just can't have it both ways.

She's very fond of shoes and she has a couple (with velcro closures) that she can actually put on and take off. She must repeat this activity several dozen times a day, as she can't quite seem to make up her mind if tennis shoes are needed, or if sandals would be a more appropriate choice. She's learned what PJs are (pajamas) and she calls her favorite crocheted blanket her 'nap' (though we're coaxing her toward 'nappy', to distinguish it from an actual lie-down "nap"). We know that she has a fondness for her crib, because if she's been overly stressed or experiences a hurt, she'll ask for 'pjs' or 'nap', wanting to be put into her "safe spot", so she can re-center herself.

She's an absolute delight to take out, as she rarely cries in public, is cute as a button and flirts with anyone that will look in her direction. Last night we went out for dinner (a rare event, but not as rare as it was during the winter months) and she interacted with another child near her age, as we were leaving. She hugged him! (I was slightly concerned they might start playing "doctor" right there, but a clingy hug was what she wanted most and she wasn't going to take "no" for an answer ... heck, she didn't even bother asking. Just boom, hug!

She's growing up quickly and was even caught on video 'trying on' mom's bras, which is very cute. We're looking forward to our summer vacation, where we can show off our little girl to her adoring grand parents and other friends and relatives. (Those childless friends are already stressing over the thought of a toddler in their midst, but those who have children are eager to make her acquaintance). Look out everyone, here comes 'the Oop'!

Views: 11718 views
2 Comments · GuestBook
default pin-it button
Updated: 19-Jan-2008
Web View Count: 11718 viewsLast Web Update: 19-Jan-2008
Filed in:CSS
Site News·b2evo

Introducing: Photo-Caption Zoom 2

June 15th, 2005  · stk


The images on your left are a demonstration of the new and improved Pure-CSS PZ2 "Pure-CSS Photo/Caption Zoom (Version 2)".

The images expand upon mouseover, displaying a larger image and corresponding caption (just like the original), but this advanced version won't distrupt the flow of the XHTML page.

As I learn more about CSS, I've tried to improve upon the original Pure-CSS Photo/Caption Zoom (or PZ as a certain someone from India likes to call it!)

This is the third attempt now, and "by jove", I believe I've got it! (Of course, I'm referring to the holy grail of Photo Zooms ... the OVERLAY method - where the image doesn't jolt/shift/migrate/move the text and surrounding elements).

The technique employed here is not without it's eccentricities, as it is not nearly as easy to deploy as the original. However, it remains much more user-friendly than it's progenitor - "Magnify Image", which requires the use of two image files. In contrast, PZ2 uses a single image file, saving both bandwidth and headache - and of course - adds the capability of a nicely styled caption.

Compared to the original Photo/Caption Zoom, PZ2 requires the use of an extra <div>, prior to the normal PZ code. Why? Because the only way to keep things from shifing is to use "position:absolute" (which removes the element from the document flow). However ... this doesn't really work for showing the un-zoomed image (as it would overlay the text). So ... to overcome this problem, one can place an empty <div> (sized to the photo) UNDERNEATH the "absolutely" positioned image. Boom. Text can be READ!

Of course, in order to place the empty <div>, one needs to know it's dimensions. Sadly, width is not enough. So ... whereas the original Photo/Caption Zoom utilized ONLY width, PZ2 requires the height (only the thumbnail height and it's entered directly into the HTML).

There is another idiocyncracy of this second version and I blame it COMPLETELY on MSIE (as it isn't an issue with FireFox). The MSIE problem: they (currently) don't differentiate between the z-index of an un-hovered -vs- hovered element. WHAT? The bottom line: To satisfy MSIE, each PZ2 image MUST be uniquely named and be assigned a z-index value greater than the image that follows, or it won't "overlay" that image.

Edit: A work-a-round to overcome this problem has been discovered and applied to the next version - Photo-caption Zoom Version 3 (PZ3).

This isn't a problem within the post, but becomes difficult to manage from post-to-post. Bottom line: don't place PZ2 images near the bottom and for images that expand to tall dimensions ... place them near the top.

One other thing. The overlay (position:absolute) method dictates that ALL images open from the upper left-hand corner. No big deal for images floated left, but for images floated right - be aware.

Edit: Not an issue in the next version - Photo-caption Zoom Version 3 (PZ3).

I hope that this little demonstration has whetted your appetite for more, however, with the workload currently sitting on my desk, it will be some time before I'm able to properly document everything and make it available for public consumption (CSS code, XHTML code and b2evo-specific instructions).

Hang tight ... as I WILL get around to doing this. Check back periodically (or, if you so desire) skids can be greased via PayPal ;) (Just email to get the correct address).


Views: 38847 views
15 Comments · GuestBook
default pin-it button
Updated: 22-Feb-2008
Web View Count: 38847 viewsLast Web Update: 22-Feb-2008
Filed in:Our Life

April Showers bring May Flowers

June 12th, 2005  · stk

In Edmonton, it's more like "April snow - June show"! It seems that only a short while ago, I was shoveling mounds of snow and the whole yard was blanketed (NO ... smothered) in a covering of white. Fortunately, the show-shovel broke at the appropriate time and we're now enjoying a bountiful summer.

However the saying goes ... the time to be in Edmonton is NOW. Flowers are blooming all over the place and it's completely amazing. (Of course, Alex is bent on destruction and thinks that each bloom is something for "pick and play", rather than "show and tell". Our irises have taken quite a beating, recently. And so have a number of our other plants! The only exception, of course, is the dandelion. Although Alex does love the yellow blooms, she often passes them by, in favor of the more rare, exotic and alluring flowers. You know ... the ones we want to keep!)

It's difficult to believe that the summer solstice is still a week or so away. We go to bed now at 10:30 PM and it's still light out. Wake up at 4:30 AM ... it's still light out!! (Where was all this light in the winter, when we REALLY needed it?) Our neighbor, Paul, across the lane (who loves a good joke) ... was eager to point out to Scott that, "Soon will come the soltice and 2 weeks after -- the first frost." YIKES!! Scott's nether regions puckered up as he thought of the prospect. ANOTHER winter ... OMG!

Southern Alberta has been innundated with rain these past few weeks. Not here. In fact, up till the day-before-yesterday, Scott was hand-watering the back yard and dancing a jig, just hoping that 1/8th indian blood would result in SOMETHING "aqua". (Of course, if we were REALLY desperate, we could have expended the energy and actually WASHED the car ... which is 10X better than any native American dance, as far as producing rain.) We were too lazy, I quess. The rain dance was as much as we could muster and fortunately, it's paid off ... because, during the past two days, Edmonton has looked more like Vancouver.

Well ... the summer plans are laid and we'll be embarking on a trip in less than a month's time. Nothing like the PCT Hike we did in 2002. More of a 'family visit' thing ... Vancouver, Red Bluff, Seattle and a few points in between (okay ... mostly pit stops at the local 7-11, where Scott can test the water depth ... ;) ). Hey! It's tought to time your pit-stops with your pee stops. Ask my grandpa (God rest his soul) ... who wrote a letter to the oil companies, complaining of his peeStop-pitStop dilemma. "You go gramps!")

Back to the flowers. They're not ALL from our backyard, but they ARE from backyards ... three of them ... all in our immediate vicinity. (1) Anna, who lives next door. She's a single lady that emmigrated from Ghana, Africa and runs a couple physical therapy practices. (2) Paul, (the Oop's buddy) from across the lane. He's an ex-firefighter who lost his wife a number of years ago to breast cancer. (3) Our very own yard (at least, whatever the Oop hasn't eaten, mutilated or spindled)!

Funny, but because the weather has turned, we're getting to know folks again. (Everyone was shuttered in for the bulk of the winter months, just like us). BBQ parties, go-carts up and down the alley, kids staying up and playing into the night ... are among the new sounds that we hear, well into the twilight.

Lawn-mowing has resumed again (with a fevor), as rain only makes the grasses grow. Dandelions (the second-batch ... "the reinforcements") are coming up as thick as thieves. The spot that the cat peed in all winter-long? THE BEST and THICKEST grass around! (Nice to see that our expenditure in cat food paid off! Now ... if we can only get him to 'spread it around'!)

I hope that you've enjoyed the flower show. Some of these things, like the 'bleeding heart', I never really noticed (or saw) until I migrated north. Yes ... I definitely miss the Yuccas, the palms, citrus and other plants of the desert. I especially miss the smell of the desert after a rain storm, when the wetting of sage and creosote yields an especially wonderful aroma ... or the early spring scent of orange trees in bloom. Those who live in the American south-west know what I'm talking about. (Before I die, I want to find a way to bottle that smell and sell it, because it is so fresh and so pure.) :)

The lesson here, I think, is to enjoy where you are, in the moment, as you never know when that smell, that sunset, that feeling, will be the last.

Did'ja notice? This is our first post using the hot-off-the-presses "Photo/Caption Zoom" version two!

Views: 41924 views
2 Comments · GuestBook
default pin-it button
Updated: 24-Nov-2007
Web View Count: 41924 viewsLast Web Update: 24-Nov-2007
Filed in:Site News

Tracking Online Users

June 8th, 2005  · stk

A "Site Tools" Upgrade

When I finished my little project, yesterday, I wrote:


I've finished the upgrade it's pretty neat ... even if I do say so myself. ;) Check out the "currently visiting" number in the "site tools" area. I've written a PHP/MySQL utility to figure out how long folks are on, what they're reading and where in the World they are! :D

Just today, while working on it, we had visitors from Costa Rica, Netherlands, the US, Australia and Taiwan.

When I realized that IP addresses number ranges correspond to various countries, I thought it would be interesting to discover where our website visitors come from. I first added this capability to the comments and just yesterday, to our real-time "users online" feature. It was a fun project and I learned a lot in the process.

Read full story...

Views: 5404 views
5 Comments · GuestBook
default pin-it button
Updated: 13-Jun-2005
Web View Count: 5404 viewsLast Web Update: 13-Jun-2005