tag:blogger.com,1999:blog-71033912009-07-11T03:34:22.813-05:00ColdFusion PuristsColfusion Purists, are those who seek to master their craft, and master those skils from coding, bug tracking, project management and beyond. Craighttp://www.blogger.com/profile/09043662038744908409noreply@blogger.comBlogger126125tag:blogger.com,1999:blog-7103391.post-72480999284440971182008-04-24T13:41:00.002-05:002008-04-24T13:44:28.093-05:00What have I been up to?During my time of looking for coldfusion work, I have also had my right leg broken. <br /><br />But since I have had a lot of off time, I have been learning, studying and playing with apache, mysql and php. I am even practing and playing with Drupal, a php content management system. <br /><br />I still love coldfusion, but php is very nice as well. I just prefer not to do anything object oriented.<br /><br />This blog used to be very important to me, just not sure if where I want to go, is where coldfusion is going.<br /><br />I would love to see what new things coldfusion 8 can do.<br /><br />Hope you all are doing well.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7103391-7248099928444097118?l=cfpurists.blogspot.com'/></div>Craighttp://www.blogger.com/profile/09043662038744908409noreply@blogger.com2tag:blogger.com,1999:blog-7103391.post-70216736938162482722007-04-13T16:39:00.000-05:002007-04-13T16:44:33.857-05:00Hal Helms gets it right...First off, I love long philosophical discussion such as this.<br /><br />To me this is a sign of realizing that we don't need to be like other programming languages, to be a a solid application language.<br /><br />And that's what I like, we're here to innovate, drive the market with what is our strength rapid-application development. <br /><br />Now that does not mean in anyway we can't learn from other languages to improve our programming ideas and methods, but that should not be in an attempt to make us just a clone or copy, we have to stick to what we're about.<br /><br />If you really want to code in Java, go ahead and do so, just stop trying to make coldfusion into java programming.<br /><br />I feel we do have a lot to learn as an industry, to improve our training, to create common standards that we all learn from, then as we get more experience, develop our own way's and style's.<br /><br />To me, I think this is a first good step to common sense, and focusing on what we're about, not trying to mold coldfusion into java which it's not.<br /><br />Think about it.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7103391-7021673693816248272?l=cfpurists.blogspot.com'/></div>Craighttp://www.blogger.com/profile/09043662038744908409noreply@blogger.com5tag:blogger.com,1999:blog-7103391.post-64234232832580909332007-03-28T10:11:00.001-05:002007-03-28T10:11:20.397-05:00In pursuit of excellenceThe road to this field, can take us from many directions, but in the end it is our own drive to be the best, that gets us there.<br /><br />For me this road started in 1996, when I worked for a local isp as a tech support person, sadly it was not a very well run isp, but that is what gave me the opportunities for growth I sought. <br /><br />I worked my way up from Tech Support, to Webmaster, to Hostmaster, and mainly it was because I was bored of just answering calls, trying to solve customer's problems, when my employer didn't care about the customer's just getting them off the phone as soon as possible.<br /><br />So I started to read about HTML, Javascript, then I heard of coldfusion. I had gotten some training in setting up IIS, but to do actual web programming really intrigued me. I already had made my mark, by taking all our piles of training material, to create a html based step-by-step problem solving intranet. <br /><br />I am a person who wants change, to desires for things to always improve, and life is not always like that, but sometimes you have to create your own opportunities.<br /><br />So I started to bug the web design/development department of the isp, asking questions, what's a cfoutput, what's a cfquery...<br /><br />Playing with access databases, eventually in time working my way up to SQL Server...and over time, my knowledge, skills and experiences kept expanding, but that's not what I want this post to be about.<br /><br />I think that I had some weird expectations, that I would reach some level of skill/experience, where i could work for a good company that recognized my potential, offered training, and that I would have chances to grow with them.<br /><br />But that may be the reality for some, but mostly a fantasy...<br /><br />A lot of us have to work for shlocky companies, that slowly change, don't really care, just do the work, and that can really hurt our desire to do our job, if we're always the janitors of the web.<br /><br />Which is not what I had signed up for.<br /><br />For me, I want to be the best, not so much for the recognition of others, but to find something I can do with my life that I am proud of.<br /><br />Success, Excellence, I feel is really a mental attitude, do you really care about your craft, even when other's don't?<br /><br />Do you do what's right even if no one else agree's with you?<br /><br />Can you stand to be alone in a crowd, and stand by what you believe in, even if no one agree's with you?<br /><br />I've been reading a lot of Jeff Atwood's Coding Horror Blog, and DailyWTF, because they show where we and others screw up in our programming, and perhaps give us clues as to how to improve ourselves...<br /><br />I think what kind of upset's me now, is a big lack of vision and clarity about where coldfusion is going?<br /><br />I just don't feel that after this many changes of owners, anyone has a clear vision of what does coldfusion mean, what is it's future, and what is good for both industry and company..<br /><br />I mean, for me, i focus on the core values of coldfusion programming: performance, documentation, commenting, variables, sql queries, project management.<br /><br />But i just don't see much discussion on those topics anymore, instead it's what the trends are on, which are cool, but have we as an industry shown that as coldfusion programmer's we've mastered those basic core values?<br /><br />I don't believe that is so....<br /><br />Until we're Coldfusion Professional Programmer's, where when people pick both the language and the people to program in it, they will know they will get solid quality, that plans for long term as well as take cares of the short term..<br /><br />Just my thoughts...<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7103391-6423423283258090933?l=cfpurists.blogspot.com'/></div>Craighttp://www.blogger.com/profile/09043662038744908409noreply@blogger.com2tag:blogger.com,1999:blog-7103391.post-32267224365668635972007-02-16T12:35:00.000-06:002007-02-16T12:45:38.613-06:00SQL Server Bind VariablesLately I have been looking for new ways to improve the performance/scalability of my t-sql code. I had remembered that with ORACLE and using cfqueryparam, took advantage of ORACLE's bind variables functionality.<br /><br />Basically a bind variable, means it treats the queries the same, in terms of performance/explanation plans, even though certain variables are different.<br /><br />Now while cfqueryparam is always a good practice for preventing sql injection and protecting, I was not aware of how to do bind variables for SQL Server, until now.<br /><br />sp_executesql<br /><br />is a very powerful but limited dynamic sql building tool.<br /><br />execute sp_executesql<br /> N'select * from pubs.dbo.employee where job_lvl = @level',<br /> N'@level tinyint',<br /> @level = 35<br /><br />Above is an example from http://doc.ddart.net/mssql/sql70/sp_ea-ez_4.htm<br /><br />Notice how N is in front of each line, that is to force it to be nvarchar, because the stored procedure accepts only nvarchar, even though the fields in your table may just be int, varchar etc.<br /><br />Secondly this allows 3 parameters<br /><br />first parameter is the sql query<br />second parameter is the declaration of any incoming parameters<br />third parameter is the setting of those parameters<br /><br />The problem is that if you have multiple incoming parameters, they all have to be declared on one line. The Sql query can be multiple lines but itself consists of the first slot in this stored procedure.<br /><br />So if you want to not use up memory by caching a query, this is one way to improve performance, by taking advantage of the bind variables, capability.<br /><br />BTW, if you want more tips on t-sql query optimization, I recommend that you check out this article.<br /><br />http://www.sql-server-performance.com/transact_sql.asp<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7103391-3226722436566863597?l=cfpurists.blogspot.com'/></div>Craighttp://www.blogger.com/profile/09043662038744908409noreply@blogger.com0tag:blogger.com,1999:blog-7103391.post-20774786367852245242007-01-30T10:03:00.000-06:002007-01-30T10:08:11.569-06:00IE7 Breaks Relative URLSMy own company's site has had huge problems lately because we did not include base href tags at the correct spot in all our code.<br /><br />How many of you are noticing bad links, bad images, bad forms, that just do not work in IE7.<br /><br />Especially if you have a page that has search engine friendly url's.<br /><br />Well in order for those to work you must have the BASE Tag in a specific spot.<br /><br /><br /><blockquote>BASE Element--Internet Explorer 7 strictly enforces the BASE element rule, as documented in the HTML 4.01 standard. We no longer allow BASE tags outside of the HEAD of the document. The standard specifies that the base element must appear within the head of the document, before any elements that refer to an external source. </blockquote><br /><br />Which means every coldfusion page has to have a base href in it. Which can be a tad difficult, if you have different development, production, testing or q&a servers.<br /><br />It kind of makes me wonder if this was a necessary for IE7 feature. Or if any of you have had other IE7 issues.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7103391-2077478636785224524?l=cfpurists.blogspot.com'/></div>Craighttp://www.blogger.com/profile/09043662038744908409noreply@blogger.com5tag:blogger.com,1999:blog-7103391.post-76340661919448860982007-01-24T12:14:00.000-06:002007-01-24T12:19:50.487-06:00Communicating your ideasRather fascinating post at 37signals, about The Curse of Knowledge. What is interesting, is that it points out that the more you know about a topic, the less likely you are able to communicate it.<br /><br />And this comes home to me, in the many times, working on projects, and not always able to communicate what I plan to do, what my logic steps are, in a way that others will understand.<br /><br /><blockquote>People tend to think that having a great idea is enough, and they think the communication part will come naturally. We are in deep denial about the difficulty of getting a thought out of our own heads and into the heads of others. It’s just not true that, “If you think it, it will stick”.</blockquote><br /><br />This is so true, because what good is our great ideas, if we can not explain them, communicate them or persuade others that they have value?<br /><br />What tools or methods do you use to help communicate or persuade your ideas?<br /><br />Flowcharts, Wireframes, Project Specs?<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7103391-7634066191944886098?l=cfpurists.blogspot.com'/></div>Craighttp://www.blogger.com/profile/09043662038744908409noreply@blogger.com0tag:blogger.com,1999:blog-7103391.post-13520010962549814182007-01-19T08:58:00.000-06:002007-01-19T09:12:19.859-06:00Tools I love and useTextpad has to be my number one tool, although I am willing to migrate to a newer text-editor. It just is easy for me to search/replace thru many folders/drivers, regular expressions, macro programming.<br /><br />Compare-It, is a file comparing tool. Let's say you have a code on development server and code on production, and you need to see what's different. Or I have also used it to compare stored procedures, after saving them as text files. Just a very nice file comparer.<br /><br />I use Firefox as my web browser, but I use many extensions to help me test code, such as the Web Developer Extension, Extended Statusbar, Firebug to debug javascript errors, IETab to view a new tab as if IE was inside firefox, ServerSwitcher is a great extension that allows you to view a web page on dev or production, then switch back and forth.<br /><br />I recentally got the <a href="http://tredosoft.com/Multiple_IE">Multi-IE</a> Package, that installs multiple versions of IE on your pc, each in it's own folders.<br /><br />For database querying, I use a great query tool called <a href="http://www.querytool.com/">Advanced Query Tool</a>, I like it because it makes it easier to design, visualize queries, test them, on each database server you have.<br /><br />I have been playing with this SQL Server Monitoring Tool, called <a href="http://www.sqlstripes.com/">SQL Stripes</a>, which is a freeware/shareware <br />that provides a powerful console for managing multiple servers running Microsoft SQL Server ™<br /><br />I also love this trial version of <a href="http://www.toadsoft.com/toadsqlserver/toad_sqlserver.htm">Toad for SQL Server</a>, it has a very powerful, sql tuning component. Basically, you give it a query that you think could be re-written for better performance, and it will try re-writing that query many times, until it has the sql query version, that provides the best solution. I can't yet afford this tool, but it is a very wonderful tool for improving performance of your sql queries.<br /><br />For FTPing, I use <a href="http://filezilla.sourceforge.net/">FileZilla</a>, it just is a very easy to use, and open source costs, make it a very nice and powerful ftp client.<br /><br />There are a lot of nice tools out there, what are your favorites?<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7103391-1352001096254981418?l=cfpurists.blogspot.com'/></div>Craighttp://www.blogger.com/profile/09043662038744908409noreply@blogger.com7tag:blogger.com,1999:blog-7103391.post-64062060382832776082007-01-18T09:39:00.000-06:002007-01-18T09:51:58.569-06:00Coding Inside and OutSteve Jobs really makes sense in this quoted interview on Jeff Atwood's Coding Horror. He really identifies that Microsoft may be great financial company, but their products are third rate. They are third-rate because they have no thought about taste, style or culture in their design process.<br /><br />And here's Jeff Atwood's comment, that really sinks the hole in one for me.<br /><br /><blockquote><b>At Apple, taste and culture are designed into every product from day one.</b> Nothing is released until it looks as good on the outside as it works on the inside.</blockquote><br />That is so blindingly true, look at the ipod, maybe it doesn't have every feature that other mp3 players have, but it is so easy to use, and it is so intuitive.<br /><br />And part of the cause of the not thinking about taste and culture, is short-term thinking.<br /><br />Here's another comment by Jeff Atwood, that makes this clearer, and I do hope you read his blog posting, it is well worth it.<br /><br /><blockquote> Jobs is dead on with his criticism. But the problem is much deeper than Microsoft; it extends to the entire PC industry. <b>In the PC world, taste and culture are rarely considered, and if they are, it's always as an afterthought.</b> Ship it first, make it look good later. If you <i>ever</i> do.</blockquote>Isn't it time for us to wake up smell the roses, see the huge consequences of not caring about the quality of our applications, other than ship it fast, ship it now!<br /><br />I mean it's obvious that Google has a similar strategy, 37signals.com, all the really good companies, care about the long term.<br /><br />It's even in 37signals, philosophy, to release fast, but release with less features.<br /><br />Or like how Google has a very simple page for their front page. which is so attractive in fulfilling our basic needs to search the internet.<br /><br />Where are the people who really care about their applications, more than just when their creating it, or having to fix some one else's code.<br /><br />I think I am personally sick to death of always having to fix someone else's code, or that it is so horribly complex and undocumented, that it takes forever to figure out what does what.<br /><br />I think it's time for us application programmers to take a stand, we're not just monkey's on type-writers, we care for our apps, we want them to be the best, inside and outside.<br /><br />I mean, they say your just a coldfusion programmer, so that is supposed to mean, don't care about the database, don't care about the design, interface or usability of their apps.<br /><br />Just create it, and create it now..<br /><br />And let someone else try to fix what bugs you introduce...<br /><br />I know I am a tad cynical, but I also have hope, and would love to hear from anyone else who cares too...<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7103391-6406206038283277608?l=cfpurists.blogspot.com'/></div>Craighttp://www.blogger.com/profile/09043662038744908409noreply@blogger.com2tag:blogger.com,1999:blog-7103391.post-1169048799005231132007-01-17T09:40:00.000-06:002007-01-17T09:46:41.343-06:00Do small companies/departments need structure?This has been a question that has been hitting me home. Some companies think that because they are small, they don't need to spend any time or energy being organized/structured.<br /><br />By structured/organized technically I mean:<br /><br />1. Bug Tracking System - That helps developers kill all bugs, which incites them to create less bugs.<br /><br />2. Project Management System - can be excel, notepad, anything that helps developers manage their time, and managers set priorities, due dates and manage that.<br /><br />3. Documentation of Code Logic/Business Rules - So that if lead developer dies, and he/she had it all in their head, how in the world would the next lead developer figure out the code/logic and business rules?<br /><br />4. Common Coding Styles - Including page naming, commenting, indenting. And have this written to train new members, and remind old.<br /><br />5. Set, Record and aim for Technical Goals not related to specific projects but affect overall success of developers. IT Architecture, Scalability, Updating ColdFusion, Updating databases, Security, etc. Do you just create more code, or do you also work on improving the environmment, universe the code resides?<br /><br /><br />Maybe the size of the company can dictate the complexity or depth you go to provide solutions to your main needs, but to not provide them sounds like something that should be on the DailyWTF.com<br /><br />How do you explain the importance of organization/structure to those who think small companies don't need them?<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7103391-116904879900523113?l=cfpurists.blogspot.com'/></div>Craighttp://www.blogger.com/profile/09043662038744908409noreply@blogger.com3tag:blogger.com,1999:blog-7103391.post-1157986371016574882006-09-11T09:52:00.000-05:002006-09-11T09:52:51.543-05:00OT: 9-11 Also My BirthdayI am always sad this day, and probably will be for the rest of my life.<br /><br />All i ask for is that we rememeber all the lives and blood that have been spent to protect and fight for our country.<br /><br />I think now of two people that mean a lot to me...<br /><br />Todd Beamer, of Flight 93, who said the words that sparked our nation, "Let's Roll"<br /><br />And Nathan Hale, first american spy, who said, "I only regret that I have but one life to lose for my country. "<br /><br />It means to me that there are still american heroes, and that if we can unify and find ways to work together, we can be a great nation again...<br /><br />But today is not about politics, it is about recognizing the sacrifice of life, love and liberty that others have made, and that we should honor their deaths..<br /><br />Thank you...<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7103391-115798637101657488?l=cfpurists.blogspot.com'/></div>Craighttp://www.blogger.com/profile/09043662038744908409noreply@blogger.com1tag:blogger.com,1999:blog-7103391.post-1153252094036473402006-07-18T14:44:00.000-05:002006-07-18T14:48:14.446-05:00OT: I stand by Israel and AmericaIt is time that we got rid of all those jerks who are constantly getting away with killing in Israel and worldwide.<br /><br />Btw, in case you didn't know I am jewish, but I am American first, and on this day I am proud of Israel for doing what America rarely has the guts to do.<br /><br />Stand up for the lives and rights of our family and loved ones.<br /><br />Like when we bombed Nagasaki or Hiroshimo, neither a pleasant experience. But when it was discovered that for us to manually take down those cities would cost us hundreds of thousands of our men's lives we chose for the attackers/evil people to die before us.<br /><br />I stand by Israel and any who has to defend themselves against evil that kills them and their families daily.<br /><br />I am a proud american this day, to know there are nations out there, who know and does what it takes to defeat evil!<br /><br />Because this is a holy war of evil people!<br /><br />They must be defeated, and if it's a choice of us dead vs them dead, I always choose them dead.<br /><br />God Bless America and Israel!<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7103391-115325209403647340?l=cfpurists.blogspot.com'/></div>Craighttp://www.blogger.com/profile/09043662038744908409noreply@blogger.com40tag:blogger.com,1999:blog-7103391.post-1152540935234093012006-07-10T09:06:00.000-05:002006-07-10T09:15:42.380-05:00How are we really taking advantage of code reusability?This is something we always wanted, and now we have the tools to take advantage of it, but yet, the way companies are structured, there's no interest in having a universal library of coding modules.<br /><br />I mean we like cflib.org, it feels a niche, but we need something a step up, where we can share full coding modules. <br /><br />And this is also part of the difference between coders and designers, designers can show web designs and portfolio's, what can we really show?<br /><br />So to fulfill two needs, our community should create a new type of modulare code sharing. <br /><br />Here are my simplistic ideas for the structure of this code sharing community.<br /><br />People would submit code, and put it into a category, registered members would review, and rate the code.<br /><br />The code submitted should be framework neutral, something that could be used in almost any method. That of course could change as the amount code modules were available.<br /><br />You can view the code, download the code, test the code, except code that is database specific, or File IO Specific.<br /><br />Also other members can try to compete against the same code goal, and see if they can write it better in any of the following ways:<br /><br />1. Clearer Documentation<br />2. Scalible to different levels of needs<br />3. Can it be done in less lines of functionality<br />4. Is there a version of it, in each of the popular frameworks of the times?<br /><br />Etc. Keep it simple at first, but competition would provide coding examples of what good code was, and make good code available to beginners, or those who want to deliver products/services faster.<br /><br />Rapid Application Development<br /><br />There would also be a Dreamweaver Extension or Webservice, where you can browse, view, or download modules as you had a need for it.<br /><br />I just had the idea, does this interest people?<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7103391-115254093523409301?l=cfpurists.blogspot.com'/></div>Craighttp://www.blogger.com/profile/09043662038744908409noreply@blogger.com5tag:blogger.com,1999:blog-7103391.post-1152540027312416432006-07-10T08:55:00.000-05:002006-07-10T09:00:28.466-05:00What do you expect to be at new cf jobs?I mean as we get more experienced, we have certain expectations of the way the development environment is setup. And each of us may slightly vary on that list, or what solutions.<br /><br />When I start a new job, I expect:<br /><br />1. Source Control<br />2. Coding Style Documentation or at least an example<br />3. Development Life Cycle, of where we do code from development to production<br />4. Project Management Process/System: So I know how to correctly manage my time, especially since there usually is a lot of multi-tasking.<br />5. Am I working alone or as part of a team, and how is the division of labor of that team organized?<br />6. What kind of training or training support is there?<br />7. What is the architecture of the code and database?<br /><br />That's my basic list, what is your list?<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7103391-115254002731241643?l=cfpurists.blogspot.com'/></div>Craighttp://www.blogger.com/profile/09043662038744908409noreply@blogger.com0tag:blogger.com,1999:blog-7103391.post-1152219512972360122006-07-06T15:58:00.000-05:002006-07-06T15:58:33.580-05:00Where's the beef?Well here's the thing, when i start off at a new company, I usually have to bring my bag own set of standard needs as a developer. And it's hard to find the solutions that fit every company.<br /><br />1. What source control to use, and will it be cheap and work with many different ide's?<br /><br />2. What kind of project management process or system aka How do we manage our time and priorities so that work that should be getting done is getting done.<br /><br />3. What's our development environment? Do we have a dev server, production server, perhaps even a testing or qa server? And do each have seperate web and database servers?<br /><br />4. What database are we using, is it well designed, what tools do i need to help make sure it's being used correctly and is well maintained. Are they using any maintenance plans, is there any diagrams of the database structure or ERD's?<br /><br />5. What kind of coding style/framework are we using, what's the naming conventions, I want all of this info right away, so that the work I do, can fit in, with the best practices of cfml and the practices that this company wants it's way of doing things?<br /><br />6. What tools/software do i need to download to have an elite developer's station? What OS? What DB Tools..<br /><br />7. What kind of training plan is there or should we have?<br /><br />I mean that's my point, there is no universal starting point or standards for the above question.<br /><br />Every place I go, there is a mass discussion as to how what I consider bare minimum requirements. Why worry about what framework, if we don't have hte basics covered first?<br /><br />That is my current blog point..<br /><br />Think about it.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7103391-115221951297236012?l=cfpurists.blogspot.com'/></div>Craighttp://www.blogger.com/profile/09043662038744908409noreply@blogger.com1tag:blogger.com,1999:blog-7103391.post-1152215220796360912006-07-06T14:46:00.001-05:002006-07-06T14:47:01.026-05:00Framework EvangelismThis is what irritates me about coldfusion, i love to code. But if i don't code the way everyone else does, that somehow makes me a crappy coder. <br /><br />If your happy with the way you work, so be it.<br /><br />But we have to think more than just short term.<br /><br />What if you died, and no one using your specific method was available for hire, and had to hire any variation of a coldfusion developer, how easy is it to take off from where you were to make changes, understandable.<br /><br />But instead of seeing that as a practical need, you see that somehow as an attack on your favorite framework.<br /><br />And honestly it really is irritating, the constant insinuations, the evangelization, join us, be with the good coders. <br /><br />Because if your not with us, your against us.<br /><br />That is totally purille.<br /><br />I am not here out to defame or destroy the way you code..<br /><br />But like with any method, even how you vacuum your home, there are pros and cons of every method of doing anything. And i try to bring up a few things, not because i want to hurt, insult or destroy your framework or methodology, but because I want to bring it to your attention as something to think about.<br /><br />Is it so hard to admit that your framework or method of choice has flaws?<br /><br />I know i try to always improve how I do things, make sure I understand the short term and long term costs of the way I do things.<br /><br />All I ever wanted was to stop coldfusion from producing bad code, but you just can't believe that the way to do that may not be your way. And I am not saying my way is 100% perfect, there is no such thing.<br /><br />Let's grow up a tad, and stop pushing X framework as the solution of all problems...<br /><br />I may disagree with you,, but I don't hate you for disagreeing with me. <br /><br />But it seems the more i try to participate in helping this industry grow as a blogger.<br /><br />The more i get hate mail or the wrongful assumption i am trying to hurt or destroy someone's framework.<br /><br />I honestly do not see OO or Java as the way to be the best coders, that's my humble opinion. It may work for you, and htat's fine I am not trying to persuade you one way or the other.<br /><br />I was only trying to have a logical discussion.<br /><br />But instead I get comments like, well you've not used OO or OOP, so your obviously a low quality programmer.<br /><br />Is that what Hal Helms and Steve Nelson and other greats really had in mind when they had these ideas for improving coldfusion, that it's our way or the highway?<br /><br />Where are all the nice people in coldfusion?<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7103391-115221522079636091?l=cfpurists.blogspot.com'/></div>Craighttp://www.blogger.com/profile/09043662038744908409noreply@blogger.com12tag:blogger.com,1999:blog-7103391.post-1151672637000554122006-06-30T07:48:00.000-05:002006-06-30T08:03:57.333-05:00Being Mr. CleanI'd like to share some of my experiences as a coder in the Mr. Clean role, where've i've had thru the last 3+ years, been the person cleaning up the code for other people.<br /><br />And maybe it's having to do that constantly, that has made more my focus on the basics, rather than soem advanced cf programming.<br /><br />So i'd like to share some of my systematic approaches I have to improving the code.<br /><br />1. Documentation<br /><br />Commenting is essential as more programmers are aware of, but when you have a lot of coldfusion files and applications, it's time to step up and document your applications as well. <br /><br />And this doesn't have to be something highly complex. <br /><br />For example if your a dba, you'd create a Entity Relationship Diagram as both document and reference material.<br /><br />As a coder create an Informational Architechture of your Applications<br /><br />Pick an Application on your site.<br /><br />A. What files/folders does it contain<br />B. What custom tags/includes/cffunctions does it use<br />C. What datasource/databases does it use?<br />D. Any kind of major current problems going on with it?<br />E. And if you have the information, perhaps a small history would be nice as well.<br /><br />This is all about my belief in the importance of preparing for the worst, and also providing training information, for either a peer, a successor, your manager, etc.<br /><br />2. Source Control<br /><br />This may sound sad or amusing, but not every company has source control in place, or knows what one is easiest to use and deploy. Or what ones can be cheap to try out and cause the least problems<br /><br />This takes time and trying different ones out. <br /><br />3. Pick and Document a Method/Framework<br /><br />It doesn't matter to me what method you pick, but document as much of it as possible, what naming conventions your gonna use, coding styles, working in any kind of teamwork styles etc.<br /><br />Even if your using the most known framework in cf world, each company tends to have it's own unique flair for how they implement it. So document it, for your posterity's sake.<br /><br />4. Know and Train to be expert on all levels of application development.<br /><br />Where you may start out by being a part of a team, using methods like fusebox where you only have to code in certain aspects of coldfusion application development, in the end, if someone leaves, or you move on, you may not always have the option of just coding in what you've done so far.<br /><br />So I still believe that training in all aspects are important, good coding styles, using your variables/incoming data, parsing/manipulating strings/data, interaction with databases in writing great sql, basic layout and design.<br /><br />I am not claiming to be an expert, I just suggest it's wise in the long haul to know as much as possible.<br /><br />Now of course, it may not always be easy to implement all of these ideas, right away at full 100%, so you need to find small things, small incremental ways, so that you're gradually becoming the full rounded, long term thinking/planning developer.<br /><br />I hope someday where I can stop having to go to places and be Mr. Clean, and just write good code.<br /><br />Thank you.<br /><br />P.S. Happy Forth of July<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7103391-115167263700055412?l=cfpurists.blogspot.com'/></div>Craighttp://www.blogger.com/profile/09043662038744908409noreply@blogger.com0tag:blogger.com,1999:blog-7103391.post-1151494659179635052006-06-28T06:20:00.000-05:002006-06-28T06:37:39.630-05:00How did you get your ColdFusion Training?After a lot of the comments back and forth, I am kind of curious to here some comments on the different ways and methods that we all got trained to learn to use coldfusion. <br /><br />I myself, learned by bothering the web development team, when I was a tech support person, to learn how to do everything from html, javascript and coldfusion.<br /><br />I was always a person who wanted to learn more, do more. <br /><br />No one was offering any training, classes, books. <br /><br />But on my own I had started off by getting an Instant HTML book, then just started to play with html, javascript etc.<br /><br />As for training companies provide, in my personal job experience:<br /><br />1. I have been to exactly 1 ColdFusion Conference, CFNorth, loved it tremendously, but the company wouldn't pay to go a second time. Most of the companies I worked for did not seem willing to spend money on training, other than to maybe buy a book for you, and that was if you were lucky.<br /><br />2. I also went to a free Allaire Spectra Demonstration in Minneapolis, where I saw Raymond Camden for the first time. Not because I really was into Spectra, but because it was free and it was any kind of coldfusion training that i could actually hear other developers from.<br /><br />3. And this was before the days I even heard there was a CFUG, but I really did like the early days of the CFUG. I even was lucky enough to present a few times.<br /><br />4. But most of my training was either me buying books on my own, learning on my own. I just asked a lot of questions.<br /><br />5. Eventually I got the opportunity to help train others at 1 company, and I tremendously enjoyed that, not because I want to shove my preconceived notions down someone's throat, but really because I want to help other people have to go thru the painful process of learning that I and many others had to go thru. The CF Developer's Guidebook is awesome both for learning to get certified, but to also help know what are all the aspects of cf to master.<br /><br />6. But as I get exposed more to different jobs, companies, it just became obvious to me that companies didn't really want to help train you. They wanted you to be trained in how ever many programming languages and methods, but didn't want to take the time or money to help you really master it.<br /><br />7. And I've done a lot of job interviews, it would be very shaming that I would see all these web shops, that just didn't care about the quality of their code, yet I would have to try to get those jobs because sometimes that's all there was.<br /><br />8. So because of that, I started to write my first articles, and I posted thme on defusion.com, they are still there. <br /><br />I mean I even created this blog, because I want to both learn more, share more, hopefully to bring the quality of our industry as high as it gets.<br /><br />But it really upsets and insults me all the negative comemnts I get. Like that because I don't agree with them, or didn't have the same experiences as them, that I am somehow not a good programmer.<br /><br />I mean we are all shaped by our experiences, and none of us exactly have the same ones, can't we respect that out of each other?<br /><br />I really hope you can see past your biases, to our common desires and dreams for coldfusion to be the best it can be, and that we as an industry can shine...<br /><br />I am no Ben Forta, Charlie Arehart, I am just a ColdFusion Developer who loves ColdFusion, I just want to both be the best, and help us all as i can be the best.<br /><br />So tell us all what kind of training experiences you had, I really would like to hear.<br /><br />Thank you.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7103391-115149465917963505?l=cfpurists.blogspot.com'/></div>Craighttp://www.blogger.com/profile/09043662038744908409noreply@blogger.com5tag:blogger.com,1999:blog-7103391.post-1151415815492553602006-06-27T08:31:00.000-05:002006-06-27T08:43:35.750-05:00Are we going down a healthy path of ColdFusion?Lately all i hear is eclipse, java, .net, code reuse, database introspection, and I find it rather irritating, I mean honestly have we as an industry really proven that we create stable, usable applications?<br /><br />Maybe that's why I care less about what the trends are, because I see us more focus on what's new than doing ColdFusion at higher level's of quality.<br /><br />I've had a lot of job interviews with many different companies, but what strikes me is this drive to new technology, without even been to the point of creating good code.<br /><br />I think we've lost track of the lessons we should have learned with the dot-bomb. <br /><br />Here are some of the lessons I learned:<br /><br />1. There has to be solid financial stability, could care less for IPO's, porsche's but just to have a job I can keep, and be at for 10-20 years would be really ncie for a change.<br /><br />2. The end of all these schlock shops that just churn out code, that 1-2 years later embarrasses or destroy's their reputation, because it was crappy coding.<br /><br />3. New Trends/Fads are fun, but are no replacement for solid standards, good work ethics, and giving a damn about the applications you sell/provide or service.<br /><br />4. The end of Short Term Planning/Thinking, I mean sure there are things we have to get done in the short term, but why keep self-destructing by avoiding what is essential to being a top knotch language...<br /><br />Maybe that is why I am a fan of Charlier Arehart and a few others out htere, that try to help us create better code and applications....<br /><br />Maybe that's why I could care less about OO, Fusebox, MachII, ColdReactor, ColdSpring.. Because are we really as a whole industry really turning out applications like we should be, something to be proud of, that lasts, instead of having to always re-write everything in 2-3 years because we didn't give a crap...<br /><br />Maybe that's why I use to go to CFUG meetings and read the CFDJ....<br /><br />Instead I get, have you done an enterprise application, focus on inane details instead of am I proud of the code I create, do I give a hoot that 5-15 years later it is still reasonably easy to read, scalable, can be easily fixed or changed...<br /><br />I love programming in ColdFusion, just not sure where I fit in an industry that cares more about having/creating the next dot-com explosion when we really know it's just gonna blow in our faces again...<br /><br />Just think about it...<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7103391-115141581549255360?l=cfpurists.blogspot.com'/></div>Craighttp://www.blogger.com/profile/09043662038744908409noreply@blogger.com16tag:blogger.com,1999:blog-7103391.post-1147965547662711752006-05-18T10:19:00.000-05:002006-05-18T10:19:07.780-05:00From Fluff to Functional:Dotcom Titles EvolveI am completely frustrated with the whole mass confusion that exists as part of the IT/Web Job Search...<br /><br />I want to open a discussion between recruiters, job seekers and big resume sites, to help clear this confusion up...<br/><br/><a href="http://technology.monster.com/articles/dotcomtitle/">read more</a> | <a href="http://digg.com/technology/From_Fluff_to_Functional:Dotcom_Titles_Evolve">digg story</a><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7103391-114796554766271175?l=cfpurists.blogspot.com'/></div>Craighttp://www.blogger.com/profile/09043662038744908409noreply@blogger.com5tag:blogger.com,1999:blog-7103391.post-1146165560389870462006-04-27T14:15:00.000-05:002006-04-27T14:19:20.406-05:00Dealing with non-standard boolean valuesI am have worked with how Access and other sources deliver non-standard variances of boolean variables.<br /><br />After all when you update/insert to the database, all you want is a 1 or 0. <br /><br />So I created this udf to help speed that process up.<br /><br /><cfset one = "false"><br /><cfset two = "0"><br /><cfset new_one = 0><br /><cfset new_two = 0><br /><br /><b>default values:</b><br><br /><cfoutput><br />one = #one#<br><br />two = #two#<br><br /></cfoutput><br /><br /><cfscript><br /> function booleanize(value) {<br /> if (not isboolean(value)) {<br /> value = replacenocase(value,'on',1);<br /> value = replacenocase(value,'off',0);<br /> }<br /> if (yesnoformat(value) eq 'Yes') {<br /> value = 1;<br /> }<br /> if (yesnoformat(value) eq 'No') {<br /> value = 0;<br /> }<br /> return value;<br /> }<br /></cfscript><br /><br /><br /><cfoutput><br /><b>New Values:</b><br><br />one = #booleanize(one)#<br><br />two = #booleanize(two)#<br><br /></cfoutput><br /><br />This includes the udf as well as the test example. <br /><br />I know it sounds simple, but this is easier than having to adjust your code logic for every checkbox, access on/off or true/false value.<br /><br />Think about it.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7103391-114616556038987046?l=cfpurists.blogspot.com'/></div>Craighttp://www.blogger.com/profile/09043662038744908409noreply@blogger.com2tag:blogger.com,1999:blog-7103391.post-1146137848495979282006-04-27T06:37:00.000-05:002006-04-27T06:37:29.210-05:00FEMA needs to be scrapped, senators sayInstead of fixing the problem, they want create a new organization in the same image. Ah but here is the punchline, they want to do this, 5 weeks before the Hurrican Season.<br /><br />Amazing stupidity...<br/><br/><a href="http://www.chron.com/disp/story.mpl/front/3823000.html">read more</a> | <a href="http://digg.com/technology/">digg story</a><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7103391-114613784849597928?l=cfpurists.blogspot.com'/></div>Craighttp://www.blogger.com/profile/09043662038744908409noreply@blogger.com2tag:blogger.com,1999:blog-7103391.post-1144419390432060662006-04-07T09:05:00.000-05:002006-04-07T09:16:30.503-05:00Why SQL programming is so important to a CF Developer?Right now I am listening to the <a href="http://www.coldfusionpodcast.com/node/54">ColdFusion Podcast</a>, and I have to strongly agree with them, on the importance of learning to write correct and scalable sql code.<br /><br />There are many different databases, and most cfers, start with access, which is great for beginners or very low traffic sites.<br /><br />However if you want to build something that has to be able to handle lots of transactions.<br /><br />Now the first part is to understand what causes blocks of performance?<br /><br />Well for first off, any time you interact with the database with a cfquery or cfstoredproc, you are creating seperate blocks of memory, that need to be processed.<br /><br />So how many cfqueries and correctly written queries is what really matters.<br /><br />When you write the queries, identify the columns of data that you want to bring back. And Only have those columns in your select statement. In addition, having the columns in the correct order, as they are created in the tables, helps for performance...<br /><br />Learn your table structures, make queries that work with the grain of their structure instead of warping it, making it go thru extra processing just because you were too lazy to put things in the correct order....<br /><br />Now if it is just one table in the query, there are limits to what more you can do, to improve performance...<br /><br />But with joins, you can take the query from the cfquery to a view or stored procedure. Views are usually the easiest, to create, from within sql enterprise manager.<br /><br />Now when you run the page you can identify the performances of each cfquery, and over time you will get a hang for what query is causing problems or not...<br /><br />For example if you are looping and doing a cfquery within that loop. That is actually causing a performance problem. The better approach is to combine the top query with the query in the loop, so that it is one connection with the server instead of looping.<br /><br />Part of the problem is having the right tools and using them correctly...<br /><br />But this all that i have time to discuss, please ask any questions. I'd be glad to help.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7103391-114441939043206066?l=cfpurists.blogspot.com'/></div>Craighttp://www.blogger.com/profile/09043662038744908409noreply@blogger.com4tag:blogger.com,1999:blog-7103391.post-1144171459143563642006-04-04T12:17:00.000-05:002006-04-04T12:24:19.180-05:00Charlie Arehart: A Pragmatic CFerI know it's sad he's leaving Blue Dragon, and I know it feels like he's leaving. He isn't. <br /><br />But perhaps this is our time, to give thanks and respect to one of the true leaders of our community.<br /><br />I can still remember reading some of his first articles in cfdj, and I was really impressed, because to me, I wanted to learn more, do more, and be as efficient as possible.<br /><br />To me, he seemed, how can I help people from any level of experience in cfml, program faster, easier and more efficiently.<br /><br />From his tips about CF Studio and Homesite, to his different articles on developing.<br /><br />I mean we all knew synax of Cf, but putting it together in a professional and efficient manner isn't something that we had the ability to take classes on.<br /><br />So in bits and pieces, he is the guy that gave you that extra depth, made things faster for you to develop.<br /><br />Gave you some undocumented features and knowledge of how CFML works.<br /><br />I think that is is because of cf writers and programmers like Charlie Arehart, are the reason I wanted to blog and become a writer.<br /><br />Remember your committment to the cf community is not just about how many articles or books, it's about your passionate committment to the craft of programming in cfml.<br /><br />Thank you Charlie.....<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7103391-114417145914356364?l=cfpurists.blogspot.com'/></div>Craighttp://www.blogger.com/profile/09043662038744908409noreply@blogger.com5tag:blogger.com,1999:blog-7103391.post-1144045890303820072006-04-03T01:10:00.000-05:002006-04-03T07:50:58.060-05:00Textpad: Still the best coding toolIt is still amazing, after 10 years, I still use textpad for my code editing. There are many reasons why it is superior to any ide.<br /><br /> * the ability to maintain block indents<br /> * automatic code indentation (see indent style)<br /> * regular expression based search and replace, including multiline regex<br /> * Macro recording feature to facilitate complex text transformations and data processing.<br /> o Macro feature supports multiple regex searches (and replacements) within a macro<br /> * syntax highlighting (extendable to many different languages)<br /> * ability to call external programs (such as Java compilers)<br /> * large file support<br /> * support for editing multiple files, with tabbed document selection<br /> * block select mode<br /> * synchronized scrolling of multiple files<br /><br />Pure and simple it is the best text editor, at least so for me.<br /><br />The interface is customizable, it has clip libraries so you can have snippets, auto commands etc.<br /><br />But where it excels is the speedy file/folder search which can be enhanced by using Regular Expressions.<br /><br />Why a text editor vs an IDE?<br /><br />Well i believe in something called feature over-creep, where the at some point the application fulfilled all the core needs, but because they wanted to keep making money, they added more and more features, that probably would be best as a seperate application...<br /><br />Do we really need an application that does everything? Or the best application for each specific need?<br /><br />I guess it depends on your style, old school vs new school...<br /><br />I'd rather have a fast and powerful editor, then something that did so many things i really could care less for. And look at how the memory requires of each is quite different...<br /><br />What are the favorite old school software you still love to use?<br /><br />Here is a few of my favorite's:<br /><br />1. Namewiz - Batch file renamer for renaming digital photo files and any other files, according to masks or however you format it. <br />You can get NameWiz <a href="http://www.softbytelabs.com/us/nw/">here</a>.<br />2. Eyedropper - a system tray color grabber http://eyedropper.inetia.com/<br />3. IrfanView - greatest image viewer ever<br />4. Freenote - a notes system that i used to create all my notes for every task/project. It stays right in the system tray, ready when you need it. Get it <a href="http://mps.firstonline.dk/#Freenote">here</a><br /><br />That's enough for now...Please add your favorites as a comment...<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7103391-114404589030382007?l=cfpurists.blogspot.com'/></div>Craighttp://www.blogger.com/profile/09043662038744908409noreply@blogger.com11tag:blogger.com,1999:blog-7103391.post-1143643370927576462006-03-29T08:35:00.000-06:002006-03-29T08:42:50.943-06:00I think I am getting OOAfter that's all the cf blogs talk about lately, and so I am kind of slowly but surely getting on to that path.<br /><br />To me it's all about better architecture for applications. I kind of like the idea of Model-View Controller, it was the methodology that was taught in that Fusebox Class I took..<br /><br />It honestly was very interesting, if you work in team environments.<br /><br />My big pet peeves was, the parsing fusebox has to do, to enable mvc. Now I admit I am still new to MVC and OO. <br /><br />And that was my big problem with the whole process, was the whole setup process, how it affects performance, having to do all the parsing to enable MVC.<br /><br />Secondly, how can we tell if we're going too far into OO, aka focusing more on the architechture then speed of delivery.<br /><br />I think it would be nice to get some opportunity to learn and practice more MVC/OO.<br /><br />And get my hands dirty in Ajax.<br /><br />But until then, I will focus on my basics.<br /><br />Project Management, Scalability, Documentation, Performance, Best Practices.<br /><br />One of the ideas, I had posted a long time ago, was to have some kind of global code repository, like cflib, but it would be full applications, not tags. The purpose of this is to share code, review code, to see who writes what kind of application, in what way, that is both optimal and scalable.<br /><br />Other than that, let's keep bring the bar up on CFML being the language to program in. We should be both coders and scientists...<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7103391-114364337092757646?l=cfpurists.blogspot.com'/></div>Craighttp://www.blogger.com/profile/09043662038744908409noreply@blogger.com3