One man's voice Thoughts, rants and commentary of a simple man

22Jun/071

HTML Purifier 2.0.0 released

The developer of HTML Purifier has announced the release of HTML Purifier version 2.0.0.

According to the HTML Purifier web site:

HTML Purifier is a standards-compliant HTML filter library written in PHP. HTML Purifier will not only remove all malicious code (better known as XSS) with a thoroughly audited, secure yet permissive whitelist, it will also make sure your documents are standards compliant, something only achievable with a comprehensive knowledge of W3C's specifications. Tired of using BBCode due to the current landscape of deficient or insecure HTML filters? Have a WYSIWYG editor but never been able to use it? Looking for high-quality, standards-compliant, open-source components for that application you're building? HTML Purifier is for you!

The code base for this application is very elegent and the use of this application is blindingly simple yet astonishingly powerful. Anyone that develops any applications that allow user supplied markup should take a close look at HTML Purifier.

21Jun/070

Choosing a coding tool

A question I hear a lot in various circles is 'What IDE/Editor do you use to code in?'. I have answered that question before, in several ways, but I thought that for anyone interested in taking up development, you might also be interested in someone else's opinion on various tools to get the job done.

Today I want to talk about coding. Writing code. Hard coding. When a developer develops, or codes, they are opening a blank canvas and putting down on to that canvas a series of instructions that will be interpreted by some piece of software to ultimately become what the developer wanted. Whether it is c++, PHP, HTML, XML, SQL or any other language, the fact is code is instruction, and those instructions must be clear, easy to follow, easy to understand and easy to write.

So when you look for the tool that you will spend most of your time in, your editor, find the tool that will meet your needs as a developer for the task at hand. Sometimes you may want to open a file really quick to make a fast change to it, then save it and run it. Other times you may need to write a fresh page from scratch that will be added to a project or collection of other code. Still, there are times when you will need to build an entire application. Each task has different requirements, and each set of requirements has different tools suited for the job.

To start, lets get the following list out of the way first: my favorites.

Please note: All of the editors in the above list are free to download and I believe are all open source. They are also all for the Windows environment (except Eclispe which will run anywhere the JRE is installed). For Linux (Fedora Core) I prefer gEdit and vi/vim. For Mac, I hear TextMate is really good.

Checking our list

Notepad2 — If all you want is a version of Windows Notepad that can highlight code and show you bracket matching, this application is your tool. It loads in a matter of seconds and is usable immediately. It has syntax highlighting, bracket matching and supports various types of languages. It also does not natively save everything as text.

On thing to watch out for... this editor does not support tabbbed editing.So if you are used to Ctrl-O to open a new file in a new tab, this is not your editor. It will open a new, blank document and close your previous document. This isn't always bad, and is actually a nice little feature of the editor once you get used to it. But get used to it quickly because it can throw you off.

Programmer's Notepad — This little application is one I recently stumbled upon and it has quickly become a favorite of mine. It is very flexible, very fast, supports all sorts of language syntax for highlighting and supports tabbed editing. It also has code folding, bracket matching, line numbering, current line highlighting and several other useful features. The one thing that does leave me wanting a little more is that when you close the editor and open it again, the tabs that were open when it was closed will open in a completely different (seemingly random) order than they were in when it was closed.

Also, some of the default settings of the editor need to be tweaked to make it useful, which is something I am really not into. But if you have three minutes to play with software, you will quickly find your way around its intuitive interface and be able to make it yours really quick.

When I need a lightweight and quick, but powerful, editor, Programmer's Notepad is what I use.

Notepad++ — This editor quickly became my favorite and has been a staple of my arsenal of tools since I found it. I will always have this application open on at least one machine at any given time. It is fast, lightweight, supports all sorts of syntax highlighting (as well as custom language support) and supports tabbed editing to nth degree.

Notepad++ will also allow you to test certain code execution inside the editor without having to compile it, and I believe it can hook into Apache to allow you to execute web application code right from the editor.

When it comes to small apps with big payoff, this is one that exceeds expectation. I highly recommend it to any developer, but especially to new developers.

PSPad — This little application is a powerhouse disguised as an editor. It is as close to an IDE (Integrated Development Environment) as you can get without getting an IDE. It supports all of the features of the previously listed editors, but also has support for projects, a code browser, a file browser, an FTP manager for remote file editing as well as several other neat features designed to make a developers life in the chair a little easier to swallow.

I use PSPad at least once a day, but usually it is more than that. For PHP development, it has a neat PHP default plugin that has all the PHP functions in it that will allow code complete using Ctrl-spacebar. It has a clean, easy to use interface and a huge selection of additional, web specific development tools as well, like a web server setting and database server setting. The one thing that irks, just a pinch, is sometimes the app gets weird and starts doing things that are unfixable in the editing session and require the app to restart, like a cursor position bug that puts the cursor almost anywhere it wants to go, a relapse of undo that causes changes that were made to be lost in the undo buffer, entire sections of the editing window going blank. Yes, they are issues, and they are infrequent. But they can cause bigger headaches for those that are unprepared for it. However, I will still use it, and use it as often as I need a powerful, IDE-like tool for coding.

Eclipse — This IDE blows all other IDE's out of the water, in my opinion. It is an actively supported project that has active support and development from many other languages that plug in to it. Though originally developed for the Java development community, it has been adapted to suit the needs of almost any development genre. It does everything you would want an IDE to do and with the pluging available for it, does a lot more. It supports code control through the Subversion plugin (I think there is one for CVS as well), it supports database connections with a database browser, it has automatic updates or schedule updates, it has a clean easy to use interface and it totally cross platform compatible.

If there is one gripe I might have with Eclipse, it would be the loading time. It runs on top of Java (which means no installation is necessary) but, because of that, it takes a long time to load and has been known to get really slow with extended use. That is it though.

My favorite feature of this IDE: it's price tag of $0. It does all the things you would expect from a Zend Studio or Visual Studio, and does it with not cost to you. It is an easy download, has easy extraction of the files, is easy to set up and even easier to use.

If you are looking to develop an application or framework or other large code base that is best kept in a project format, this is the editor to use. It is not lightweight or fast in any capacity, but it is a work horse that will suit any large scale development need you might have.

Wrap up

I hope this little article has been somewhat helpful to you. In my years of coding and looking for the best tools available to allow me the fastest application development possible, these tools have always been on the list (or at least as I have found them they have been). I personally would recommend any of these tools to any code developer of any type of code. And I can tell you from personal experience that these are all very good tools for any developer at any level.

Well, now that you have a run down on some pretty good tools, why not go get one (or five) and start coding!

20Jun/074

Happy birthday sweetheart

Today is my wife's 20-11th birthday. I am so excited for her.

There is not much more for me to write, other than I love you dear. And happy birthday.

19Jun/070

Yahoo mail: How to give Google more business

For a very long time now I have been a subscriber to, and fan/evangelist/seller of, Yahoo web mail. However, as with most unsustainable levels of performance, this time has now come to pass.

Yahoo mail now sucks. No bones about it. Tucked away neatly behind the guise of giving away unlimited storage, Yahoo has begun putting ads, and lots of them, in the interface of the Yahoo Web Mail client. What this means is that even if, for the last few years, you have been receiving Yahoo Mail Plus service as part of the SBC/Yahoo DSL promotion, you are still going to get screwed with ads all over your mail interface. And apparently that is OK with Yahoo.

If you really want to get rid of the ads you can purchase Yahoo Mail Plus directly from Yahoo, though I have heard that this might not even make the ads go away. I am glad to hear that Yahoo has decided not to honor their customer commitment they entered into when partnering with ATT/SBC all those (few) years ago. This is just another example of how Yahoo will continue to lose ground to companies that have their heads on straight, like Google. Yahoo really doesn't want to succeed through customer service and customer focus. No, they want to squash the folks that use their services so that they can cater to the bigger fish, the ones that pay the big bucks. At least that is the impression that I get from them

I understand that companies have things that need to be done to make themselves financially stable. But what Yahoo has done is a slap in the face and a stab in the back. They have set the bar unusually low with this one, and I hope their business suffers dramatically because of it.

Google, you have at least one new convert thanks to Yahoo.

18Jun/070

Pray for Ethan Powell

I ran across this by accident just a few minutes while trying to kill a few minutes. If you're heart doesn't scream out to you for this kid, maybe something's wrong...

The prayers of the Gonzalez family will be with you Powell family (Ben, Becky and Ethan).

17Jun/070

Fricking Lowes

My dislike for Lowes grows stronger by the minute... :evil:

After going through the waiting for Lowes fiasco yesterday, I began to install my gas dryer because Lowes doesn't install gas appliances. Not that this is out of the ordinary. No appliance sellers install gas appliance from what I understand. But I thought that meant they would not connect the gas lines and such. What it really means is that they will put the dryer where you want it to go, then they will leave your house.

My washer was put together, the feet were installed and adjusted, the electric cable connected, the water lines connected, etc. My dryer, however, was still taped shut, feet still in their package inside the drum. I had to turn the dryer on its side to get the feet installed, then right the thing once again. Then, I tried to connect the exhaust tubing, which did not work because my house is old and there is no floor/wall flange to connect that tubing to, just another piece of according exhaust tubing. Have you ever tried to connect a 4" tube into another 4" tube? You guessed... it doesn't work.

So it was off to Home Depot to get a flange/flashing/fricking flare piece that I could use to connect to open ends of the same size tubing. I ended up settling for some weird elbow contraption that is not made for dryer vents but does serve the purpose. So I came home and connected the exhaust. Then I attempted to connect the gas line. And found out, very late in the game, that the gas line connector for my dryer was the wrong size. Of course, the one I bought was the one that the Lowes salesman told me to buy, which I did because he is supposed to know what he is selling, right?

Anyway, the long and short of it is that what should have taken me about half an hour to complete took almost three hours to complete. On Father's Day no less. So now I'm tired. And grumpy. And sweaty funky. But I do have this cool new washer and dryer set up that I can clean my clothes is. :D

EDIT | Ok, this washer dryer combo is awesome. Just dried two loads of wet clothes in 20 minutes and washed three hampers of laundry in one load, in 35 minutes, with about a gallon of water. I like the machines. A lot. But I still don't like Lowes.

Filed under: Rants No Comments
17Jun/070

Wow! What a concert!

Ok, if I didn't love Ottmar Liebert before, I certainly do now twice times over.

That guy is every bit as good in concert as he is on CD. Actually, I would venture to say he is better in concert. But before I get into all that, let me start with our night last night. And for those of you men out there with a special lady in your life (mothers and sisters don't count) you might want to learn a little bit from this...

We set up a sleep over babysitter so that we could enjoy this concert to no matter what time of the day or night. We left at about 4:50 from our house en route to Saratogo which is about 30 miles away. We got there at about 5:25 and were about the 20th car in line. We had dinner reservations at the Moutain Winery Chateau, and since we did not know what the weather would be like two months ago, we decided on an indoor dinner.

We were the second group to be seated and we chose to overlook Silicon Valley. The dinner list was impressive, the wine list was impressiver, and the chef's special topped it all off. My wife started with the Bacon wrapped scallops, I started with the crab cakes. We also decided to get a little wild and we ordered a bottle of 2001 Silver Oak Cabernet Sauvignon. Of course, that was one of two bottles that hadn't shipped yet, so we 'settled' for the Caymus 2004 Cabernet. Oh man was that good.

We then moved on to the main course, which for the both of us was the sundried tomato encrusted salmon on top of polenta. Oh daddy, was that awesome. And the wine made it so much better. Then desert, which we for the both of us consisted of New York Cheesecake.

We wrapped up eating at about 7:35 and headed to out seats to start the show. As we headed down to the basin we heard the distinct sound of guitar floating about the entire area. I thought for sure there would be an opening act, but I guess I was wrong (or perhaps there was one while we had dinner). Anyhow, we got to our seats, which were quite literally directly in front of Ottmar but back about 15 rows, and began to enjoy the show.

And that is where my love for Ottmar Lieberts music was reestablished. I had already liked his music quite a bit. But when he plays live, it is on a totally different level. Watching him feel the music he is playing makes the music come alive. Throw in the intimate setting of the Mountain Winery and the absolutely perfect night time weather, and last night's show was perhaps the best experience my wife and I have had in recent years. I have to take my hats off to Ottmar and his band. They played to perfection last night. It was beyond awesome.

Anyhow, enough talk about last night. I have a washer and dryer to hook up for father's day. Talk to you soon, in my clean skivvies. ;)

16Jun/070

Going on a date after waiting for Lowes

Craptastic. Do you want the good or the bad first?

Ok, the good first. Tonight I get to go on a date with my wife. I have had this date planned for two months now (actually, a little over two months, but both ticketmaster and the venue wouldn't release tickets until April 15). We are going to the Mountain Winery to have dinner and attend a concert by Ottmar Liebert. I am so looking forward to having a night with my wife that I can hardly contain myself. This is going to be awesome, if we can get past the bad...

I bought a new washer and dryer last night. They the high efficiency jobs that clean clothes with like 3 ounces of water and dry them in 10 seconds. And as part of the purchased I bought delivery for this morning (between 8:00 AM and 12:00 PM). Well, as of 12:45 they were not here. Not only that, I didn't even get a phone call. So I called Lowes and after playing hold tag with the customer service girl for 20 cycles, actually got connected to a manager who told me that the merchandise I bought had been loaded for deliver this morning but she could not see anything else about the delivery. She told me she would call me back with more information as soon as she knew more.

A few minutes later I got a call from the delivery guy telling me they had a heck of a morning, and circumstances being what they were, he would be here about 2:30. Well, given that we had a concert tonight and there were things I wanted to do for my wife, like take her shopping for an outfit or get her nails done, I was now stuck in my home waiting for this darn delivery. I also needed to get my haircut, so a few minutes ago I called them and told them to switch the delivery date until tomorrow because we were not going to be available after 3:00.

EDIT - After I called Lowes and told them to reschedule the delivery, the deliver guys showed up at the house and dropped off our new equipment. I haven't had a chance to play with them yet, but they sure are pretty. I also need to get the gas line hooked up, but that should be easy enough. Anyway, its off to a concert for me and my honey. Talk at you later.

Filed under: General, Rants No Comments
15Jun/070

Round like a globe

My daughter Adrianna and I were talking yesterday during my morning shave and somehow ended up on the topic of me loosing my hair. I am going bald and not liking it one bit.

Anyhow, as we talked I thought I would be cute and mention that if I go bald my head would look like a globe, and the kids would be able to use it for geography, drawing the United States or other maps on my globe. My daughter replied with:

Your head doesn't look like a globe daddy. Your tummy does though.

That was funny. For a second. Then it was hurtful. For a lot longer. I know she didn't mean to hurt me. She never does. But it stung a bit. And if that wasn't enough, she made it painfully clear to me that a six year old can have a profound level of common sense a second later when she added:

But if you eat less and your tummy won't look like a globe.

Ok, how does she get it and I don't? Oh yeah, that's right. It's because I am the grown up daddy that knows everything. Man, if only I could be six again, if for nothing else then for being able to dress how I want and know things just because they are sensible to know.

Thank you Annah. Our time together this morning made me smile.

Filed under: Funnies No Comments
14Jun/070

A little word for the harried

You ever had one of those days? You know, the kind that start out like you woke up in hell and by the end of the day Satan had promoted you to CEO with a long-term contract? Well for me, yesterday was one heck of a day.

Last night I was at church and I was having a bad day. I couldn't get out the house for the life of me this morning. The shirt I wanted to wear was stained. The pants I wanted to wear were nowhere to be found. I had no socks and I still, for three days running, could not find my car keys. My nice watch that I got for Christmas is not working right, my favorite pen was not in my drawer, and when I left the house this morning, I found out that I had no gas in my car.

The day seemed to get worse as time went by, and as I arrived at church I was in no mood to be at church. As I sat in worship I realized that my mood seriously needed to change. As I began to loosen up I felt the Holy Spirit impress upon me that there is only room for one god in anyone's life. As I began to worship more I began to receive more.

I realized that it is tough being a man (or woman). And it is even tougher being God... when you are a man. Man was not meant to be God. We were meant to serve God. When we try to reverse the roles, we take a place that rightfully belongs to God. Since God is ever patient, He will let you go on trying to be him, banging your head against the wall, being frustrated at traffic, people that don't do what you want and things that don't happen as they would "if you were God."

There is only room for one God
God has a place all His own. He relinquishes that place to no man. The Word says that God is no respecter of persons, so it stands to reason that no matter who you are, saved or unsaved, Christian or not, God will view your position as His created the same as it relates to covering you.

When we put God in that place in which He naturally belongs, He can do things that He naturally does. When we put our hearts, souls and minds in the place in which the naturally belong, we then can do the things that we naturally do. That means that when we give our situation over to our Lord, He takes them and makes the holy and righteous. And we can then go about serving Him as we are supposed to. It is what we are meant to do naturally, and when we keep everything in the order it is meant to be in, things work out naturally.

So today, as you read this, test yourself. Ask if there is something going on that you might best be served by letting go and letting God. Then do it. And see if God won't show up for you. After all, that is what our God does. Naturally.