Archive for the ‘programming’ Category

Cross Browser Compatibility of TEXTAREA and Chrome, Firefox, and IE with CSS “white-space: nowrap;”

Monday, October 19th, 2009

Today, the Perceptus Web Tools got a minor upgrade to improve browser compatibility.

A company bought a  license to our unique Excel to SQL INSERT Commands tool for their internal, confidential, use.  Cool! We never expected tools.perceptus.ca to be a revenue generator… but it does have unique features.  After all, we wrote them because we couldn’t find another website that could do the task for us!

In the interest of delivering a nice package to our new licensee, we  noticed that many of the text mangling features did not work in Google  Chrome.  Chrome web browser was stripping line breaks and consolidating sequential “spaces”.  We then realized that the site was not working in Internet Explorer either. Whoops.  Well, it is a  site primarily for our own internal uses, after all.

We had discovered a browser compatibility issue that probably affects very few people. We want a textarea without any wrapping, because some features are based on copy and pasting large amounts of data from Excel – automatic text wrapping makes hard to read.

Our original, Firefox functional, Chrome and Internet Explorer non-functional, TEXTAREA used the following:

  • CSS: white-space: nowrap;
  • TEXTAREA attribute: WRAP=”OFF”

In Firefox, we got a nice blob of text that you can scroll horizontally displayed.  In IE7 and IE8?  All kinds of crazy.  “Enter” keys got replaced by some sort of special inline character, lines and spaces got trimmed or cut out.  Google Chrome stripped out line breaks and leading spaces, and other oddities.

Upon research, we learned that the “WRAP” attribute is not W3C approved.  Technically, it is not deprecated, but that’s because it never existed in the specifications. So we removed it and tried to use only CSS. We tried a few combinations of the overflow, white-space, and display CSS properties.  They didn’t work.

What did work?

No CSS at all.

If you view the source of the tools.perceptus.ca site and the corresponding CSS file, you will only see this:

<TEXTAREA NAME=”thetextROWS=”20COLS=”100WRAP=”OFF“>

This works as we wanted in all three web browsers.  It is officially non-standard.  But it works.

If someone would like to submit a CSS that will actually work, I’d love to see it.  But for now, I’m just going to keep complaining about how much web programming still stinks. Maybe the moral of the story is that thanks to Apple’s Safari and Google Chrome, every web site should be tested against at least one of the Webkit based browsers in addition to Firefox and Internet Explorer.

A minor face lift to our hosted bingo card generator!

Wednesday, April 1st, 2009

Yes, our hosted bingo card generator looks a little different as of this evening.  We’ve given print-bingo.com a minor face lift – it’s a little bit wider, and a little bit brighter.  The main goal was to accommodate our new custom wares store (hosted by CafePress), but more on that later.

It’s the same great site under the hood!

P.S.  It’s not too late to generate your custom Easter Bingo Cards!  It only takes a minute from start to print!

Pretty Fonts and the Web

Monday, February 16th, 2009

People who have never had to make a website often wonder, why don’t people use nicer or unique fonts?

People who make the websites wish that they could!

I know that I’m bored with Verdana, Arial, and Times New Roman (or their Apple equivalents).  But, since we can’t guarantee that every computer will have every font, that’s pretty much what we are stuck using.

While we can’t change the font of the main content of our webpages, we do use some tricks to get nice headers.  In fact, we’ve just updated print-bingo.com’s decorative font headers.  We’ve had them for a couple years, but our (now) older software tool didn’t work with the latest Adobe Flash Player, version 10.  We’ve also changed the font that we use… we hope you like it.

For the geeks: We’re running SIFR 3 v.436.  The font file was built with a free online sIFR font generator, and we were formerly using sIFR 2.

When will we see the day where crazy steps aren’t needed for a nicely rendered web page?

User Friendly Form Spam Block

Thursday, December 25th, 2008

SPAM, SPAM, SPAM. How do I hate thee.

Well, it finally happened again – abuse of one of our web pages by spammers.  This time, it is form spam – an automated web crawling tool (I assume) has discovered the “save/send/share” feature of print-bingo.com.  That form lets print-bingo.com users email their custom bingo designs to friends, family, or themselves. This form is now used by a spam bot network to send poor quality spam using our “invite” emails.  I’m currently getting about 10 bounce backs a day and growing – it has to be stopped before my VPS gets blacklisted for spamming.

I could setup a CAPTCHA, but I hate them – particularly the ticketmaster.com’s.  So, I will try to foil spammers with simple tricks to fool “dumb” automated spam software.

I’m trying a hidden to humans “fake” email field.  This post Quick tip to fight email form spam is the model.  The basic idea is to create a form field with “email” in the name and hide it with CSS (display:none) so that humans will not see or fill in the field.  Then deny attempts to use the form where the hidden field has been filled in.

We’ll see how well this works.

Merry Christmas!

A free schtasks.exe equivalent for XP Home edition

Monday, December 15th, 2008

It’s funny how one stumbles upon the finer differences between XP Home and XP Professional once in a while. Every good geek knows the biggest limits to XP Home such as no ability to join a corporate network, no Remote Desktop, and no encrypted file system (EFS).  But who knew about a tiny utility that will run a Windows Scheduled Task from the command line? That would be “schtasks.exe”, and it’s not included in XP Home.

The background: I needed a Limited User in Windows to be able to do something requiring Administrative permissions.  There are a few ways to do this, but in this situation, running a scheduled task was the obvious best choice because the task was already there as an overnight maintenance job.

A quick Google search for “run scheduled task from command line” will lead you to the aforementioned schtasks tool.  Well, I could copy the file from an XP Pro workstation, but that would violate Microsoft’s copywrite.

Fortunately, more searching will turn up a reference to an old MS tool “jt.exe” from it’s Windows 2000 Resource Kit.  You can get individual tools from the W2K ResKit here: ftp://ftp.microsoft.com/reskit/win2000/. The license to JT and is much more permissive.  You’re free to use it, but at your own risk.

The “JT” syntax is not straight forward to me.  But these the two examples will probably help:

This lists all tasks: jt.exe /se

This will run (“activate”?) a task (you do not need to include the .job in the TaskName): jt.exe /sac TaskName /rj

On the XP Home Edition computer I was setting this on, the Limited User could run all the scheduled tasks, even when it couldn’t “see” the task in the list. YMMV.

One could  make this end-user friendly by wrapping a batch file around it and put an icon with a link to your script on the Desktop.