Observations ASP vs. PHP


Why I prefer PHP.  I recently began playing with ASP after being a PHP developer for many years.  After about a month of not making much headway on the project I was working on in ASP, I moved back to PHP.  Here are my problems with ASP.  First ASP seems to be designed from the standpoint of bringing desktop application developers a means to transfer their skill set into web application development.  Most ASP examples and books I could find were written with VB examples.  I was able to find a couple of books with C# examples so I bought these to help me learn things.  VB seems like a language of the past that has just been updated to bring forward all those developers who don't want to learn a new language.  C# makes much more sense to me and its syntax is fairly close to PHP.  It is a newer language so it has the advantage of learning from the languages that came before it.  So I decided to use ASP with C#. 

At first I liked the way ASP worked with some of the wizards.  It made all that boring code you have to write in forms with a really easy way to update things.  I liked some of the database integration in VS as well.  I liked being able to create a query and see how it would work on the dataset without having to really build a query and code to display the results and tweak it in PHP (after growing use to this feature I went searching for something similar for MYSQL and found navicat). 

From there things really went downhill from there.  I got some weird error that took me three days to figure out a solution on.  The solution was deleting this earlier build of the page that I still had in my project.  To this day I have no idea why this fixed things.  It was no longer in use in the project at all.  The next problem occurred when I did a self join on a table using datasets.  It wasn't really a complicated query but somehow the dataset component messed up all the update insert and delete queries. The select query worked fine. So anyway after rewriting all of those which wasn't really a problem I had done one minor step in the program. Next problem I had was I need to perform several steps once the submit button on the form. Never did figure out how this was accomplished. After not being able to find any examples on this in any books or online in C# and asking around in help forums, I decided that ASP wasn't for me. What I was doing was trivial in the Apps I had done in PHP and I couldn't find any examples in ASP! I did find one quasi example in VB. I tried to make the conversion of the code to C# but since I know nothing of VB and was learning C# this didn't go well and I never got it to work.

ASP does make very simple programs quite easily. However what you can make easily really isn't much. However once you start doing things that really require any kind of real customization from the default things just became too difficult for me.

Was my month with ASP wasted time? No, There were things I liked about ASP. I liked sql server and the query editor. I like the VS IDE. I also looked at some of the criticisms of PHP, namely security and performance. So I looked at what I was using. To start with I upgraded to PHP 5, this helps a little with security and performance. I then started reading about ways to code PHP more securely. Most PHP security issues are caused by how it is installed and how you code your app. I learned some new best procedures and begin following them. On performance most of what I found said PHP was actually faster although I found no benchmarks comparing the two current versions directly. I think mainly it comes down to good coding as far as speed is concerned. I found Navicat which has a very nice SQL editor that I had gotten use to in VS. I upgraded mysql to version 5 also. It has some great new features that makes it much more competitive with SQL. SQL server still seems a bit better but at several thousand per copy, I think I'll stick with MYSQL. So I left with a greater appreciation for what I already knew and worked with PHP. PHP is designed with the intention of developing web apps. It has matured over its 5 iterations. When I switched back to PHP It took me a day and a half to get the point I had gotten in one month in ASP. Of course there wasn't a lot to figure out as I already knew how to tackle the problems I had done in ASP and I already had the database design done. So where does the project stand now? Well I have had to backtrack some but I will save that for another post. I have decided to use drupal for the project instead of making everything from scratch. But that story is for another post.



iRider My New Favorite Browser!


Just found a great new browser! It is way better than Firefox or IE. iRider finally comes up with some real innovations. It browses how I like to browse. I am always opening each link in a new tab. This browser was designed like that from the ground up. It uses the IE rendering engine which is a real plus. You won't have site compatibility issues. It uses a left window pane to control navigation through websites, provides thumbnails like omniweb for the mac, but with significant enhancements to how everything operates. I really recommend watching their flash demo of what the product can do. Its operation and features makes loads of sense to me. I will definitely be buying it once my trial is up. The cost is $29 but for what you get I think its a real bargain. So far usability is fantastic! It is way ahead of its competitors.

This browser has been around since 2003, I can't believe I am just now finding it!



X1??? Just get Yahoo Desktop.


X1 is one of my favorite programs. I use it every day and even at its price of $75 it is worth every penny. However now you can get it for free. How you ask? Just download Yahoo Desktop They licensed X1's technology. This blows both MSN deskbar and google deskbar out of the water. Both need to learn that you need more powerful searches on the desktop then you do for the web. For instances maybe I want to narrow a search by who sent me an email, etc. With X1 or Yahoo Desktop its simple with the others you can't...



HandyBackup


Also I now recommend HandyBackup Pro $57 over Second Copy 2000. We needed a new backup utility for the server and handy backup is a little nicer and allows for more features than Second Copy. It has FTP remote backup to transfer backups offsite. You can keep X amount of backups. Like keep the 7 most recent backups. The pro version runs as a true service, second copy needed to use srvany.exe and didn't seem to work quite as well as a service. If you don't need to run as a service it is $30 bucks. Also the interface is very nice and intuitive. They are both good backup programs are pretty similar but we really needed the extra features of handy backup for the server.



PHP Editor


Well I have spent the last couple of weeks working on some new php programs and decided I needed a new php editor. I was using Homesite and Topstyle pro. However Topstyle is for CSS really and Homesite is getting a bit old stale and quirky.

So I went on the hunt for a good PHP editor. I tried several from the big boys like zend, active state, nusphere, etc. But all of these seemed a little overkill and not really conducive to being able to write code quickly and easily compared to what I was use to. Anyway I found two nice little programs both are fairly new and relatively unknown. I haven't quite decided what I am going with though I am definitely leaning toward Rapid PHP Editor $30. The other one I like isTop PHP Studio $35.

The things I like about Top PHP studio, it has a file compare utility to compare two files side by side and it highlights the differences. Super Nice! It has auto bracket matching. Initially I really wanted this but now I would prefer to activate it by selecting the bracket because it is a little annoying to see the bracket highlight every time you fool with code around a bracket. It is very stable. So far I have experienced no problems. It has a pretty quick preview where you can render to an internal php renderer or configure and external server (I like Uniform server for development on my personal machine). It also has a very nice file browser. It has a lot of other nice features. The most important feature missing for me is extended search and replace (searching multiple files)

Rapid PHP Editor is also nice. It has more features and definitely is the one to get if you want to do more than PHP, however I have topstyle and like that for html and CSS. I like how it does bracket matching it did get confused when a bracket was missing, though ideally bracket matching would be best if I highlighted a bracket. It has extended find and replace (replace all occurances in a group of files. I use this a lot in homesite. It has a quick preview as well. It has bookmarks which Top PHP studio doesn't. It also has a very nice library to hold snippets of php code. It also has more features overall. However it seems to have a few more bugs. It does seem to be being developed pretty aggressively so hopefully these bugs will be resolved. One bug I found was you have to refresh the quick preview because it often shows cached results. Anyway I need to work on php code a lot in the next week so I will use Rapid PHP more and see if it does what I need.

Who knows maybe I will end up getting both:-)

UPDATE:

I found a php editor I liked better than the two above. If you have visual studio be sure to check it out as I think it is the best editor for php. VS.php



Low Level Utilities for Tracking Errant Processes and Hackers.


Two great links for some really nice freeware. Here is a bunch of freeware by Mcafee, some great stuff if you want to investigate hacker breakins or check your system for weaknesses. Foundstone tools

The second link is to a really nice process viewer by sysinternals, Also Free called Process Explorer. If you have ever had trouble deleting a file because it was in use, you need this. It helps track down what program has a lock on it. It is really a great program. I can't believe all of the great freeware out there I have found in the last few days.

UPDATE: In addition to the above tools sysinternals now has a rootkit revealer



WINK!!!


Well I just wanted to say a little bit about wink. One of the best freeware programs I have ever seen.

Originally when making software demos I use to use a program called Robodemo. This program always had its little quirks that made doing little software demos difficult. Something that should have taken 15-20 minutes, quickly became a half day project as you fought with the program to get the frames and the mouse movement aligned with how it was captured. Then Macromedia bought them and the product went downhill. The little quirks became more annoying as nothing matched up and no matter what you did the mouse movements you recorded on screen never lined up with the actual screenshots to make the demo. So there is $300+ piece of junk that I wasted money on. I don't know why but everything macromedia seems to design or buy has so many quirks and annoying bits of behavior, I don't know how anyone gets anything done. They bought homesite which was my favorite html editor which Nick Bradbury created and was really great when he was developing it (I own both topstyle pro and feed demon which he made). Macromedia has pretty much abandoned development of that and added a few quirks to boot. Ever try copying a bit of text where you have to scroll down the screen a little and you will know what I mean. I have also used both director and flash in the early days... maybe things work better now with those products I haven't tried in several versions but both of them had there annoying share of quirks as well. Anyway I think Macromedia wins for my least favorite software company, Not only do they make crap but they take good programs and turn them into crap.

Anyway enough on the macromedia rant. I found a great demo program called Wink and guess what? Its Freeware! It works ten times better than Robodemo! Making software demos is fairly boring work but atleast now it isn't annoying work and a demo that should take 15-20 minutes to do actually does.

Everything about it is nice. It is quite powerful as well. This is absolutely great work and the best of any demo program out there regardless of cost. Yes this beats the $500 dollar big boy programs that do the same thing. It works better, makes smaller files and is much easier to use.

If you need to make software demos better grab it fast because I have a feeling it won't stay freeware for long, lets just hope macromedia doesn't buy it!

Wink



InkJet Technologies


Popular Science had a great article on InkJet technology. You will have to get the magazine to get the article. It is a great magazine though. (Currently my favorite tech magazine) They seem to be beating everyone to the stories... MIT tech review put an article about defeating the aging process from Aubrey De Grey... However Popular Science had a similar article the previous month about the guy. It is funny this guy is getting all of the anti aging attention. Kurzweil has been writing about this stuff for years... And his latest book which came out well before both articles is far better then the De Grey article... So if you really want to read about this, I suggest picking up Fantastic Voyage

Anyway back on topic, it looks like inkjet will revolutionize many industries. A few things I already knew about like using inkjet to print very cheap circuits and oled tvs and genetics. However I didn't know about inkjet being used for printing body parts or for printing houses or making more efficient engines... Absolutely amazing... I think Popular Science is right in saying it is one of the most revolutionary technolgies of the century.



InkJet Technologies


Popular Science had a great article on InkJet technology. You will have to get the magazine to get the article. It is a great magazine though. (Currently my favorite tech magazine) They seem to be beating everyone to the stories... MIT tech review put an article about defeating the aging process from Aubrey De Grey... However Popular Science had a similar article the previous month about the guy. It is funny this guy is getting all of the anti aging attention. Kurzweil has been writing about this stuff for years... And his latest book which came out well before both articles is far better then the De Grey article... So if you really want to read about this, I suggest picking up Fantastic Voyage

Anyway back on topic, it looks like inkjet will revolutionize many industries. A few things I already knew about like using inkjet to print very cheap circuits and oled tvs and genetics. However I didn't know about inkjet being used for printing body parts or for printing houses or making more efficient engines... Absolutely amazing... I think Popular Science is right in saying it is one of the most revolutionary technolgies of the century.



Mad Scientist


This would be interesting if it is true. A machine capable of seeing through walls. Probably just another crackpot but worth a read... Here was my question, how does it know when to stop passing through stuff. The guy machine sees through walls, yet also apparently has some way of tuning it so he can see through his hand and look at muscles and veins.

Seeing Through walls



Cracking Kryptos


Here is an interesting article on a yet as unbroken code of a Statue at CIA headquarters.


Wired Article


Other Unsolved Codes



Mac Mini for Movies


Interesting article about the mac mini being for movies. This is why I was excited about the mac mini initially, as far as form factor it would make a great media center computer. Unfortunately I was a little surprised not to see the necessary connectors, atleast optical out on it. You could of course attach 3rd party usb components to perform most of these functions but it greatly increases the cost and now you have a few ugly attachments you have to deal with. Apple also does have atleast some of the necessary video out options as accessories. They still need a component out option but that wouldn't be too hard for them to release. Also there will need to be a nice remote. I think apple could really excel at a remote design given their ipod ui. So I really hope they are branching in this direction like the article suggests. I know the Cringely suggests a movie only option but I really doubt this is going to capture significant market share without making the mini a pvr as well. Atleast they would be able to capture about 5 times as much market share if they made it into a pvr.

Is what I would love to see happen... Everyone seems to think tivo is about to tank. I would love to see tivo purchased by apple, Then apple could easily port their linux based tivo system to OSX. You would make a lot of tivo users happy in not having to learn a new pvr OS. Lets face it tivo is the best UI for pvr. I have played with MS media center and tivo and their is no comparison. I never use my media center and always use tivo. The only problem is I don't think Apple will do this because they have a rather big ego when it comes to design and they think they can always do better and who knows maybe they can. Also purchasing TIVO would probably be too high to just acquire the OS.

Anyway if apple isn't thinking about this, they really missed the boat because media center PC's are priced at such a premium; a $500 media center PC would have done the same thing to the movie/tv business as the ipod did to music.

The Pulpit Article



Google "do no good"


Good article on one of the fundamental problems of Open Source software.
Also I like seeing someone put down the "do no evil slogan" of google.

http://blog.kowalczyk.info/archives/2004/12/29/google-we-take-it-all-give-nothing-back/

Software costs money to develop, OSS software works on the good will of others.
However 99% of OSS users are freeloaders...



The Long Tail


Great article on what makes money on the net and why record company execs need a new business model.

Read the article from Wired



Universal Computing


A company has come up with a way to emulate any OS with almost no preformance hit. This should be great. It would be wonderful to have one computer that can run windows or OS X or whatever...

Wired Article
Transitive



Universal Computing


A company has come up with a way to emulate any OS with almost no preformance hit. This should be great. It would be wonderful to have one computer that can run windows or OS X or whatever...

Wired Article
Transitive



Why Linux sucks.


I don't understand the fascination with Linux. This is my opinion why Linux has a very long way to go until its mainstream and until many issues are addressed Apple and MS will not have anything to worry about on the desktop.

So here is my biggest problem with linux. Say I need to upgrade or install a package on linux, well the package relies on 20 other packages. Not only does it depend on these other packages which aren't bundled with it but it depends on specific versions of these 20 other packages. So if I install this package I could break any of the other packages which may depend on a different version of the same package. So then you are left choosing which package you are going to install. (more)



A projector in your pocket?


A new type of hologram based projector looks like it may shrink projection displays small enough to carry around in your pocket. Read More



Mac OS X Tiger


Well looks like Apple is at it again and this looks like some great improvements to OS X in the upcoming version "Tiger". Some really cool stuff. Also be sure to watch the WWDC keynote address from Steve Jobs if you get a chance.



Mac OS X Tiger


Well looks like Apple is at it again and this looks like some great improvements to OS X in the upcoming version "Tiger". Some really cool stuff. Also be sure to watch the WWDC keynote address from Steve Jobs if you get a chance.



Omni Outliner


I use to just keep notes about projects in a text editor or make little Todo lists in text files. Omni Outliner works exactly how I like to work, Todo lists. I can start adding random notes about something and as I think about things more I can easily drag and drop and organize things into categories,subcategories, add additional columns, calculate basic financial lists, etc. I like it better than a spreadsheet for simple stuff, which is really all I use a spreadsheet for these days. Below is a screenshot of a simple list I made to show off some of the features. Notice how it can be set to automatically total subcolumns, etc.

The only two additional features I would like to see is the ability to be able to attach files to items in lists. It is easy to add notes to an item, but it would be great if you could attach images or other types of files into a list. The other feature I would love to see is a version for windows as well. That way I could make use of it on a larger scale with other windows users who could edit and add their own items and also use it myself while on windows. It does have export capabilities, my favorite is the html export. This is one of the best programs for OS X.




Of CSS and Blogs...


Well I finally got around to putting up a blog which I have been meaning to do for the last two years or so. Better late than never...

So I guess my first post will be about the experience of creating this blog. First I looked at about 20 blogging scripts, some of these included movable type, pmachine, wordpress, b2, blogware, etc. I ended up with pivot after testing and installing several scripts. It is perfect for my needs and is quite a powerful blogging script, yet easy for a beginner to configure and use. It is actively being developed and it is free. Being free didn't matter too much to me, I really just wanted a good script I could install on my own server. If you are looking for a great blogging script, definitely check out pivot, it's the best I have found!

Next I wanted to learn something new. I was interested in laying out a site completely in CSS ever since seeing the site csszengarden. I didn't want to use tables to lay it out as I have done with every site I have ever created. I also decided to try a new HTML editor out for this process. I figured I would go with an editor specifically designed to handle CSS. I have used Homesite forever. I decided to try out TopStyle 3 Pro, which was designed by the original programmer of Homesite. In a lot of ways this is a very nice editor, better in many respects than Homesite. I haven't decided yet if I will switch to this editor permanently but I haven't gone back to Homesite yet.

CSS was quite a learning experience. Once I got the basics down after an evening of tinkering around it was fairly easy to layout the site. The hard part came when I decided to do two things, first make the site resizable so as you change the width in your browser the main area would expand horizontally. Second was to get it to look ok on windows and mac in atleast a couple of the newer browsers. What a pain in the a#$! I thought CSS would be an improvement over the old table method. In some respects it is but you still have the same annoying little quirks that will drive you to the brink of insanity trying to fix them.

Some things to learn to get an understanding of how to layout things in CSS. One thing that is quite helpful is to learn about absolute and relative positioning and how they work with each other. For instance if you have an absolute positioned element and then you place another element within this absolute positioned item it will be relative to the absolute element and not the web page itself. This is quite helpful but can be a little confusing to get the hang of at first.

Another thing that is a bit of a problem with css when laying out graphics that need to be positioned on a page and aren't set to be absolutely positioned is the 1pixel rendering error that is in all browsers. From my understanding this problem exists in all browsers and is caused by rounding problems where graphics are to be rendered on the screen. So graphics that are suppose to be placed next to each other can have a 1 pixel overlap or gap depending on the width of the browser at the time. You can notice this on this page if you stretch the page horizontally and you will see at certain widths a small black space at the edge of the grey and corners. I had to fool with the graphics and sizing of the corners to get this black rather than splitting other graphics apart that were more noticeable. This site has a good demonstration of the problem.

Another problem occured on the mac which caused a 1 pixel gap in rendering of the bottom corner. This was corrected by moving the graphic up one less pixel vertically. So if the height was 32 pixels on the graphic I moved it up from the bottom only 31 pixels and the gap went away. The problem was only on a mac, but interesting enough it appeared in safari and firefox. I thought this was a little interesting since firefox for pc displayed the page fine so there must be some change with the code between the two platforms.

While I really like CSS and think in the future I will try to layout all my sites with it. It still presents some of the same issues that occur when trying to layout tables and there are still compatibility issues with various browsers.

The nice thing is CSS renders pages much faster and should look nicer for search engines trying to index it.




Of CSS and Blogs...


Well I finally got around to putting up a blog which I have been meaning to do for the last two years or so. Better late than never...

So I guess my first post will be about the experience of creating this blog. First I looked at about 20 blogging scripts, some of these included movable type, pmachine, wordpress, b2, blogware, etc. I ended up with pivot after testing and installing several scripts. It is perfect for my needs and is quite a powerful blogging script, yet easy for a beginner to configure and use. It is actively being developed and it is free. Being free didn't matter too much to me, I really just wanted a good script I could install on my own server. If you are looking for a great blogging script, definitely check out pivot, it's the best I have found!

Next I wanted to learn something new. I was interested in laying out a site completely in CSS ever since seeing the site csszengarden. I didn't want to use tables to lay it out as I have done with every site I have ever created. I also decided to try a new HTML editor out for this process. I figured I would go with an editor specifically designed to handle CSS. I have used Homesite forever. I decided to try out TopStyle 3 Pro, which was designed by the original programmer of Homesite. In a lot of ways this is a very nice editor, better in many respects than Homesite. I haven't decided yet if I will switch to this editor permanently but I haven't gone back to Homesite yet.

CSS was quite a learning experience. Once I got the basics down after an evening of tinkering around it was fairly easy to layout the site. The hard part came when I decided to do two things, first make the site resizable so as you change the width in your browser the main area would expand horizontally. Second was to get it to look ok on windows and mac in atleast a couple of the newer browsers. What a pain in the a#$! I thought CSS would be an improvement over the old table method. In some respects it is but you still have the same annoying little quirks that will drive you to the brink of insanity trying to fix them.

Some things to learn to get an understanding of how to layout things in CSS. One thing that is quite helpful is to learn about absolute and relative positioning and how they work with each other. For instance if you have an absolute positioned element and then you place another element within this absolute positioned item it will be relative to the absolute element and not the web page itself. This is quite helpful but can be a little confusing to get the hang of at first.

Another thing that is a bit of a problem with css when laying out graphics that need to be positioned on a page and aren't set to be absolutely positioned is the 1pixel rendering error that is in all browsers. From my understanding this problem exists in all browsers and is caused by rounding problems where graphics are to be rendered on the screen. So graphics that are suppose to be placed next to each other can have a 1 pixel overlap or gap depending on the width of the browser at the time. You can notice this on this page if you stretch the page horizontally and you will see at certain widths a small black space at the edge of the grey and corners. I had to fool with the graphics and sizing of the corners to get this black rather than splitting other graphics apart that were more noticeable. This site has a good demonstration of the problem.

Another problem occured on the mac which caused a 1 pixel gap in rendering of the bottom corner. This was corrected by moving the graphic up one less pixel vertically. So if the height was 32 pixels on the graphic I moved it up from the bottom only 31 pixels and the gap went away. The problem was only on a mac, but interesting enough it appeared in safari and firefox. I thought this was a little interesting since firefox for pc displayed the page fine so there must be some change with the code between the two platforms.

While I really like CSS and think in the future I will try to layout all my sites with it. It still presents some of the same issues that occur when trying to layout tables and there are still compatibility issues with various browsers.

The nice thing is CSS renders pages much faster and should look nicer for search engines trying to index it.