cftopper.com

Taskbar Shuffle

I was in Dan's office the other day when he repositioned programs on the windows taskbar by dragging them around. I said "fuck I didn't know that was possible". It isn't. That is, it isn't until you get this excellent little utility called Taskbar Shuffle. Very handy.

I emailed Jay to say good job with programming this. He replied:

Yeah, it was pretty tough to do.  There's a misconception that because I made this program free, it was easy to make... definitely not true, it was reeeally difficult and tricky to write.
 
Keep on passin' it around, I think more people would use it if they knew about it.. thanks,
Tags: Tips

Good coding style #1: Use Whitespace

Coding readability is important! But only to to a degree - when people get religious on this issue I just zone out.

IMHO, if you have decided that you are a professional programmer, why not be the best programmer you can be. Try to evolve everyday. Look for things to learn. Improve, improve, improve. Get faster, learn the shortcuts. Every little time saver adds up.

#1 Use Whitespace

Which is easier to read, the first SQL statement or the second. Also most editors will allow the use of control-left, control-right to skip keywords with spaces between them but without the spaces, it skips the entire line.

There are basic examples, and as-such probably bad examples, when more code is involved the readability gets much harder when spaces aren't used.

SELECT moduletitle,modulelongtitle,moduleStatus,modulelevel
FROM modules
WHERE moduleId=#moduleId#
or
SELECT moduletitle, modulelongtitle, moduleStatus, modulelevel
FROM modules
WHERE moduleId = #moduleId#
 
Example 2:
html+='<option value="'+this.freqOptionVals[i]+'">'+this.freqOptions[i];

or

html += '<option value="' + this.freqOptionVals[i] + '">' + this.freqOptions[i];

You decide.

Tags: ColdFusion | WebDev

HTML Lists have always pissed me off

HTML lists have always pissed me off in 'both' browsers. I figured out for myself that Mozilla uses padding for the default indentation and IE uses margin for this same indentation.

So padding:0; will do nothing to the indent in IE.
And margin:0; will do nothing in Mozilla.

To dump the excessive indent in all browsers and still keep the bullet, use:

    margin:0;
    padding:0 0 0 1em;

I found an article on A List Apart on this just now:

http://alistapart.com/articles/taminglists/
Tags: Tips | WebDev

ColdFusion MX7 European Cost BS

Dear Macromedia Adobe, any chance you could stop raping us European customers.

ColdFusion MX7 Standard Edition pricing analysis

Price for Ireland:

American price:

Difference:

  • Inc. VAT: $672.48
  • Ex. VAT: $330.32

Your European price should be €1,035.87.
note: 1 USD = 0.797434 EUR 23 Oct 2006

Conclusion

<cfif $1,299 IS NOT €1,299>
       <cf_rape suckers="Europe">
</cfif>
Tags: ColdFusion

Tabs for UDI

Those of you familiar with my UDI product should be delighted to hear I've added tab functionality to the interface!

I've been working flat-out on a rush job for a local college and they wanted tabs so I bit the bullet and made tabs a feature of UDI. It's great when I can use paid work to extend one of my components.

Seen below is a screenshot if the tabs in action on this project. You can add as many tabs as you want, it's cross browser and it makes for nicer interfaces.

UDI now with Tabs

If anybody wants to email me directly I will send them on the latest version of UDI. Otherwise expect an update available on www.cftagstore.com within a week or two.

My Scorpio (ColdFusion 8) Wish List

OK OK, I know this has been done to death, but here is my 2c. I think a lot of the requested features from other developers wouldn't really benefit me on a day to day basis but here are some things I would find useful:

  1. Components that aren't just code - Build-in support for the something like dcCom architecture I came up with. This architecture allows 'components' to store image files, flash files, javascript file etc as parts of a 'component' and allow the component to easily be invoked. One component might be a visual Ajax-style file manager, another might be a sexual flash image gallery. Having build-in support for this level of code reuse with zero configuration would be outstanding! Components are often more that use a bunch of CFML files and that should be considered.
  2. CFImage - Even though I have made and sell online my CFX_JImage component, I would prefer to see comprehensive support for CFImage built into the ColdFusion runtime, no setup required. We need to be able to crop, resize, rotate etc images easily. This feature is very important for community websites or Content Management Systems that need to resize/modify images.
  3. Better reporting in the Administration - I want to see how much memory each application is consuming, which are the most used applications, how many sessions are in each, the request frequency, the load a given application is causing on the server, the load a given template is causing on the server, queries that are slow to execute and any other useful metric you can think of.
  4. Application Level CustomTags/Library - The CustomTags directory is often not used because it is way down there at C:\CFusionMX7\CustomTags and we want our applications nicely portable. How about allowing a "_lib" folder within an applications root to contain libraries, functions and CFCs which would then be automatically available within the application. With this, users would build, share, download and use useful libraries more readily.
  5. Advanced scheduled Tasks - others have commented about how schedule tasks can be mission critical for business related software and I tend to agree. We need scheduled task that are bulletproof and that will send a notification email if it fails. Also the executed code CFML should be able to notify the ColdFusion engine that everything went OK and this should be visible from within the ColdFusion administration.
  6. Code Lockdown and Redeployment - Many developers resell their products through sites such as www.cftagstore.com. At the moment the only way to lock-down your code to prevent dabbling is to encrypt it which of course can be easily decrypted.
  7. Upgrade CFML - Take the best 100 libraries on www.cflib.org and build them in.
  8. Better Local Variables - Allow a local variable in a function to be created anywhere inside in, instead of just at the top - it's a little thing that's quite annoying.
  9. Command-line execution - of CFCs and other correctly configured CFML files. This would make ColdFusion so handy for all sorts of one-time or maintenance tasks.
  10. Speed - Make ColdFusion even faster.
  11. Programmable caching - I wrote my own dcCache component for ColdFusion which i can programmable reset through a list of reset words. This type of functionality would be great to have build into ColdFusion. Limiting caching to time-spans simply isn't powerful enough.
  12. Inter-application communication - One application should be able to send a message to another application on the same-server without resorting to SERVER variables or HTTP requests.

And here are a handful of other feature requests, I scanned from other sites and agree with:

  1. Better management of whitespace.
  2. JDK 1.5 support.
  3. Deprecate cfscript.
  4. IMAP support
  5. Ability to throw objects rather than strings
  6. Syndication support - built-in RSS/ATOM tags.
Tags: ColdFusion

BarCamp a success!

Barcamp IrelandKeith crashed with me this weekend to attend BarCamp Ireland - naturally we both arrived late on Saturday morning nursing mild hangovers.

To cut a long story short we had a great day, the free food and wine helping people lose inhibitions and move things along nicely.

Highlights for me:

  • Bernie's entertaining analysis of how he blew €35,000 on a failed start-up with witty digressions included.
  • Elle's entertaining and insightful discussion of how she taught her mother to Podcast.
  • Tom's dissection of the O'Reily cease and desist leading to the Blog-Storm. For me, the most interesting thing about this was Tom's point about how the blogosphere is becoming a powerful and influential entity.
  • The red wine. The white wine. Smile
  • BeerCamp in BierHaus on Pope's Quay - tasty Jagerbombs!

Thanks to all who organised this. Well run and well received... and downright just plain fun!

P.S.

Tags: BarCamp | Cork | Ireland

About Topper on ColdFusion

Peter Coppinger aka Topper is a neurotic web monster who spends most of his chaotic life developing ColdFusion web applications when not drinking himself into a stupor and scheming his plans for world dominance.

Peter founded Digital Crew way back in 1999. Digital Crew run CFTagStore.com and have also produced lots of powerful ColdFusion tools like ProFlashUpload and CFMyAdmin.

I made this site to share my thoughts, tips and tools with fellow ColdFusion developers.

If your a ColdFusion developer, go ahead and subscribe to this site and in exchange i'll try to provide quality content to make it worth your while.
RSS Feed for Topper on ColdFusion

I'm speaking at CF-United Europe!

CFDevCon I'm going to be speaking at CFDevCon08! It's my second time speaking in front of more than 10 people so please lend your support.

The topic is:
Introducting TeamworkCMS and Site Engine - Building better websites in half the time or something like that..

Digging

My Work - Just Finished

  • modules.cit.ie
    Web-=based modules/programmes designer tool and database system for Cork institute of technology.
  • Teamwork Project Manager
    The top secret project is finally released. The project management app will rock your world - give it a go.
  • PMG
    New website for Project Management Group website.
  • Digital Warehouse Wholesale
    Added wholesale products to existing client website.
  • New Digital Crew documentation website
    New version of documentation.digital-crew.com using new InfinityCMS site engine. It's done now. Just add content.
  • PFH Company Webite
    New website/CMS/Newsletter System for prestigious Irish IT company.
  • Module Manager for CIT
    CIT is switching to module based courses. We are making an application for managing/submitting these modules. Gettig there.
  • Bons Secours Cork Hospital Intranet
    New Intranet for Bons Secours hospital in Cork. Considering turning this Intranet system into stand-alone product.
  • Revamping InfinityCMS
    I'm making major improvements to our content management solution, InfinityCMS. Making it faster, more powerful and easier to check into/out-of source control. Done but it's always going to be evolving.
  • BPC Update
    Minor functionality update for internal Pfizer Best Process Chemistry project.