Tuesday, August 29, 2006
To start developing and practicing your skills you need to run your scripts on a local machine. This book from Sams Teach Yourself PHP, MySQL and Apache is a good one with a CD included. The step by step guide makes life easy for you in setting up your server or local PC as a developing and testing environment. The CD saves you lots of time locating and downloading the opensource software. Just follow the steps you'll be ready to test run your first script in no time.
I have to say these 2 books are easy for beginners but I found them pretty used up within couple of weeks. I looked to Wrox's books which I normally find them very useful in the 2nd round. Their books are always heavy weight (thick to carry) by their page numbers and contain much more information than you would normally need as a begineer. I always find them handy as a desk reference. I just brought this one few days ago.
To my slight disappointment the Wrox book was dated 2004 and have used PHP5 RC1 which is pretty outdated by now. I would have expected a revised edition on the shelf.
Monday, August 28, 2006
Saturday, August 26, 2006
I now have an interface that users can select which database table they want to search on. Results are displayed and they could pick any of them to look into details (or update it if signed in) in a popup window. This will enable the main result page to stay because you can go back without running the search again.
Paging control is done, i.e. like Google search result page you could navigate back and forth or any particular page number.
I have almost finished the codes for generation of checkboxes for selection of fields to search on by user "on-the-fly". On one table I have 13 and another 22 fields. I don't have to hard code the name/key of the fields and the users can pick what fields should be included in their search.
Friday, August 25, 2006
Thursday, August 24, 2006
But don't just type fast. I got lots of error message just because I typed too fast. One day by artificial intelligence I hope scripting editors or IDE can read below like us. I'm sure you read below without problem.
Olny srmat poelpe can raed tihs.
i cdnuolt blveiee taht I cluod aulaclty uesdnatnrd waht I was rdanieg. The phaonmneal pweor of the hmuan mnid, aoccdrnig to a rscheearch at Cmabrigde Uinervtisy, it deosn't mttaer in waht oredr the ltteers in a wrod are, the olny iprmoatnt tihng is taht the frist and lsat ltteer be in the rghit pclae. The rset can be a taotl mses and you can sitll raed it wouthit a porbelm.
Tihs is bcuseae the huamn mnid deos not raed ervey lteter by istlef, but the wrod as a wlohe. Amzanig huh? Yaeh and I awlyas tghuhot slpeling was ipmorantt!
if you can raed tihs psas it on!!
Wednesday, August 23, 2006
You of course is comfortable with your so called mother tone and it would be even better and easier if you could use that with your family members or friends. Normally they understand without picking on your words, grammar or the way it's spoken.
You can't do all that in programming when it comes to language. It's very strict. Although the logic is similar and straight forward but when you speak a different language you'll be puzzled why you are not understood by the machine that you thought you can communicate with.
I have been scratching my head for hours for silly synatx error (like grammatical mistakes and punctuation erros etc in your English essay writing) and keywords etc. When you learn to speak a new language you really have to use it everyday otherwise you will keep forgetting trivial things like that.
Machines are not like human their tolerance level is very low.
Saturday, August 19, 2006
I'm indeed flattered and surprised that my article, which was written and submitted to asp101 few years ago, is listed on 1st page.
Found a very good example/tutorial here. It mixes AJAX form submit and passes the data via $_POST to another page.
Because of the small database that I'm using for development on a local machine the speed is very fast.
Friday, August 18, 2006
I don't particularly like IDE, except those that come free with the software such as Word and Excel, because most IDEs are built for commercial productions and costs a lot. These IDEs have productivity in mind and employers buying these expect a lot from them and from their employees using them.
For dummies and beginners text editor is best.
When I was doing ASP 3.0/vbscript I used CodeGenie developed by DolfySoft. It was a freeware few years back. It's now a shareware at $24 from softpedia.
I have recently looked at few others and picked PSPad as my tool for php scripting. Others I looked at are far more complicated for me. There is a good listing of php editors here.
My progress of learning is here for record sake
- making connection to MySQL, obtaining dataset and displaying them;
- simple paging control, i.e. number of rows per page, idea from Matt in a forum post but I made lots to changes to make it work;
- fancy things like include files for CSS, functions, class and passing variables between pages etc;
I'll move onto text search soon.
Thursday, August 17, 2006
Wednesday, August 16, 2006
Monday, August 14, 2006
Without doubt we touched on the 5-6 tons of paper we disposed of when clearing offices. We prepared about 3,000 files for the discovery process for the arbitration. Employer's rep has around 1,500 files. The Employer was also copied many documents during the course of the contract. Then it was the main contractor (wasn't at the lunch table today) who has more than 200 subcontractors (we were the biggest among them). We are pretty sure they have at least 5,000 files. I'm talking about reminding quantity. I have ignored those papers we dumped every single day during the last 8 years.
We have roughly checked that each file on average contains typically 300-400 sheets of paper because we have estimated time required for pagination for discovery. Here again I have ignored those companies/vendors that worked under us. There must have been hundreds of companies who have used lots of paper in delivering a project of this scale.
Exactly how many tons of paper we have used, it's almost impossible to quantify.
Sunday, August 13, 2006
Saturday, August 12, 2006
Having paperless office has always been my dream. I have quickly checked out EchoSign's website and their online demo. The initial idea of helping people to organize agreement, signing and exchange of documents is great. It appears that this solution is moving up to enterprise level. The pricing isn't cheap; they are talking about $100/
My mind goes one step further. Their solution is far bigger than just managing agreement and signing online. It could be a complete paperless solution. That was how I started to dream about paperless office some 4 years ago. Most companies or even home have fax machine, right?
In my last contract we have a hugh volume of documents. We write to our client our vendors/subcontractors write to us. As that was a big/high profile/fast track contract we, by default, fax our letters/transmittals/forms...anything basically and also post or hand deliver originals. People/companies that work for us do the same.
In my little project (article here), which was started in the middle of the run, we had to scan all the backlog and put them in one of our PC on the intranet. Due the size of the backlog we were only able to digitize important contractual documents, a small percentage of the whole lot....I'm talking about few full container load of pure papers. Incidentially we just cleared our site offices so we know the size of the forrest we have killed.
I'm talking about more than 100,000 records in our database, each record could be few pages of a letter or 50 pages of technical submissions full of calculations and drawings etc.
Going back in time we have duplicated our effort, i.e. we faxed the papers but had to scan them afterwards. If EchoSign was there 4 years ago we would have used their fax server as a node for the entire project, i.e. everyone faxes papers there and EchoSign manages the routing and distribution to the order of the sender.
Whether we like it or not we are still Microsoft-centric. We use outlook by default as email client. As I said in my note to the editor here I was thinking of writing add-in for outlook. This could be integrated with EchoSign's service. E.g. We fax it to EchoSign, an email is sent back to the responsible person of the team who will categorize the document, i.e. adding keywords, tags etc right inside the read email dialog, he/she then click a special reply button such that EchoSign gets those "filing information" automatically.
Last but not least the demo was a bit slow viewing from this part of the World. I guess local servers are needed when EchoSign gets enough customers for that region.
Friday, August 11, 2006
Thursday, August 10, 2006
To illustrate my point, e.g. to connect to MySql database
In php/MySql it would be like this
$var = mysql_connect("localhost","root","yourpwd","yourMySql")
Back in the old days when I used vbscript in ASP 3.0, it was
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source= " & yourExcelfile & ";" & _
"Extended Properties=""Excel 8.0; HDR=YES;"""
The above was for connection to a Excel file, I don't expect connecting MySql would be very much different if OLEDB driver was also used. OK I have to admit that there was a adovbs file in the server side include folder with a number of constants to make it work.
My point is I didn't have to use any IDE to do that?
Thanks for writing back. I was wrong. Here is how I first tested it. I have meebo in a window of FF then watching also my own blog in another window (am using dual monitor). I was talking to myself and I saw all the conversation so I said Je... I'm talking in open air, is this the intention? The widget does say "type here and hit enter to send a private message"?
I later tested that again with my sister thousand miles away but I couldn't see our conversation in the widget window so I corrected my blog post here.
As I said in my post as I couldn't hide myself for individual account I had to turn myself invisible most of the time when I don't want to entertain stranger. Having said this my sister can still send me message via that widget which I can see. This is a potential message spam, i.e. if your blog is popular there could be hundred of people (or spammer) punching silly text even though my widget shows "I'm offline". OK as you said I could turn it off if I want to.
I have to say the widget is a good channel that actually attracts people to go to your blog to talk to you plus knowing how many people actually arrived at your blog. I have also tested this with my sis, i.e. I asked her to edit the guest number but shouldn't that be a way to identify a friend coming in from that door, e.g. if they are meebo friends use one of their account credential such that I know he/she is a friend?
PS: this could well be a good move to attract more meebo users, e.g. only meebo users are allowed to enter or only those on widget owner's buddy lists are allowed or else comment on a post and I'll be in touch.....something like that!
Wednesday, August 9, 2006
- MS's SQL server
- MS's SQL server database file
I was struggling to connect to MySql because I have that in my Intranet here already that I want to play with.
Obviously 3rd party provider and MySql can't ignore the community running IIS and asp.net. You have few choices available
- ODBC .net data provider (Open Databse Connectivity)
- MDAC (Microsoft Data Access Components, 2.8 Service Pack 2 believed to be current version)
- OLDDB.net provider which is not currently supported by MySql
- Corelab mySQLDirect .net data provider (free for 30 days)
I tried all the above and conclude that the ODBC method appears to be the easiest. I got as far as making a connection to my MySql database which is remotely on another intranet location. I got below which is something else not to do with the connection.
[SocketException (0x2afc): The requested name is valid and was found in the database, but it does not have the correct associated data being resolved for]
I have removed my mecommerce ads for this CR15-Newzen theme and inserted meebo me widget there as you can see. I have posted my comments here.
PS: also if I am hidding (invisable for all account) visitors at my blog can still type something in which I can see so I can decide to response or not.
As we always say destination isn't important what we have gone through is. By seeing what I have gone through you could select your path I hope.
This is Excel's IDE by pressing Alt-F11. The context menu I mentioned appears whenever you "dim" a class and use that in your code. It's indeed handy as you couldn't possibly remember everything when a piece of software gets complicated and feature full.
By the way Excel is very powerful and it could do things that you have not ever thought it could. VWD has similar feature which is far more important as asp.net is very powerful and the .net framework by Microsoft provides you with many built-in classes and objects that are handy to you.
Having said this I assume that you want to build really complicated websites. For example when I learn the very basic HTML back in the old days I need to know how to format the outlook of controls, i.e. the look of things such as button, font and size of letters, text box and table etc. In VWD all these are taken care of by the dockable properties windows. You could even set the behaviours of some controls. IDE for Excel and VB has the same. In case of VB/Excel if you insist on hardcoding all these it's still possible, in Visual Studio for asp.net I wonder if anyone would like to do that. I must warn that codes that affect/require by the asp.net compiler in the server are stored in many places such as code-behind files, aspx, ascx, web.config ....etc I mean you have many places to go for in your bug hunting.
These days interactive dynamic websites could be complicated. Microsoft likes complicated things as they have financial muscles. asp.net offers you lots of built-in classes and you can see from the object browser that there are really a lot of them. The design environment helps you to overcome that by showing you hierarchically all classes/objects available, what has been properly declared and installed and quick reference as to the methods and properties.
My conclusion is that if you stay with one of these IDE you'll be sticking to it for life, especially for those professionals. It's probably a 90 days training programme (and refreshment courses from time to time, paid by your employer I hope) required to get familiar with just the use of all the features of the IDE. OK it's for production commercial websites so productivity is most important, there is no time for kids play.
Tuesday, August 8, 2006
- Copying and learning from Microsoft.com by peeking into the HTML codes behind. Of course it's NOT the one you can see now, it was around year 2000.
- Read from a Microsoft publication on building Intranet site, got a silly idea of building Intranet site with hyperlink on Word and Excel.
- Built desktop application using VB6 connecting to Excel at remote PC on the Intranet, bad idea.
- Programmed Excel VBA to automate tedious operations
- My little project Intranet, a near paperless solution, in ASP3.0 to help co-workers in the office to quickly search/retrieve scanned file and query databases in excel files. More about this story here.
I used text editor when coding ASP 3.0 using vbscript. However it was real fun using the Excel VBA IDE. It's a great idea of having context menu whenever you press "dot", I have to say Excel VBA is pretty simple as it isn't strictly Object Oriented Programming.
Now I've been playing with ASP.NET VWD for a few days now. It's in fact quite tiring although I have a dummies book showing me the way. The VWD is quite a complicated software no wonder Visual Studio is so expensive and really it isn't kids' toy.
Although I have played with VB6 before ASP.NET is different because it uses "split class", i.e. declarations are in two places. VWD insists that your declarations are strictly correct in aspx file and also in the "code behind" files which is either in VB (VB.net or 7.0) or C#.
To be continued...
The motherboard has been replaced and BIOS updated. I got a brand new notebook now.
The Windows update too me many hours, although mostly unattended, which is still very tedious. Well as my notebook is only 2 years old the total time is a bit shorter than my last experience mentioned in this post. I have yet to install Office tomorrow and get some settings transferred before I could use it.
Monday, August 7, 2006
The book says all code listings used are available for download at here which is not true. I couldn't find anything there? It doesn't really matter as typing in all codes helped. I have experienced a feature such as that VWD will tell me that a listbox ID "1stCart" is not a valid identifier for a control because "1" should be "l" due to my typo.
One little mistake actually caused lots of errors in the debugging mode.
Friday, August 4, 2006
The installation is even bigger which requires 1.6Gb on your primary disk. I tried selecting installation on d:\ but doesn't help much. I had to use Partition Magic 8 to extend my c:\ a bit before I could run the installation.
The installation took fairly long that was enough time for a shower.
Normally I will quickly browse the content of the book even if I don't know the subject. I found value of this book in chapter 2 where it says Microsoft's Visual Web Developer 2005 Express Edition's free download is valid until 7 November 2006, after that it'll be $49. I could have missed that if I didn't see this book today.
I quite like Microsoft's IDE such as that for Excel VBA which I had some experience years ago.
Thursday, August 3, 2006
First of all I killed my XAMP. The .net framework in my notebook is only 1.1 therefore I have to download .NET Framework 2.0 Redistributable Package dotnetfx.exe from Microsoft download site here.
As I killed MySQL earlier I have to reinstall it. I downloaded the latest Community Edition 5.0 from here. I have done a tricky installation here which is that MySQL is installed in drive d: rather than c: because my primary partition is getting full.
Next I need something to manage my MySQL server. I have used phpMyAdmin before which is php driven. As I'm not playing php this time I used MySQL Administrator version 1.1.9 which is available from download from here. The tricky part is that the installation folder must be under MySQL's application folder.
I followed the well written article here in 15seconds to configurate my test database and created a new user for connection.
One last piece of application is MySQL Connector/Net 1.0.7 which has to be downloaded from here. Same as the tricky part earlier this must be installed under the MySQL application folder.
To test it out I just copied the sample codes from the article. As warned it didn't work first time. I had to copy the MySql.Data.dll file from D:\mysql\bin\.NET 2.0 and place it in c:\Inetpub\wwwroot\bin. The bin folder in wwwroot has to be created for this. This is somewhat different from what the article described as I have used all latest version of applications.
It worked at last.
Wednesday, August 2, 2006
I installed a few times Apache, MySql and PHP5 on Windows XP I would say that wasn't too difficult. This is commonly known as XAMP. I experienced a problem when I changed my mind from having MySql on d:\ rather than on c:\. That caused problem on registry and windows services unless you have properly uninstalled it.
This is how you remove MySql.
- Navigate to the folder mysql/bin/ in DOS command prompt then type in 'mysqladmin -uroot -p shutdown'
- You'll be prompted for password for the root user, enter what you know. If you don't remember, which is common, try 'test' or nothing (hit return).
- If you are lucky getting through last step type 'mysqld --remove'
- Check under control panal>administrative tools>services to see if MySql has disappeared
- Go to Add/Remove Programs in Control Panel, look for MySql servers and clients 4.0.21 and click remove
- When it's properly removed you can delete the MySql folder
You should save your databases stored in /mysql/data/ if you want to keep them for later uses
To uninstall Apache as a service, open a Command Prompt window.
- Navigate to C:\Program Files\Apache Group\Apache2\bin (where you find apache.exe)
- Type 'apache -k uninstall' then exit DOS window.
- Check under control panal>administrative tools>services to see if Apache2 has disappeared.
- Navigate to Add/Remove Programs in the Control Panel.
- Uninstall 'Apache HTTP Server 2.0.42' by clicking Remove.
- Now you can delete the Apache directory
I have almost forgotten PHP5. It's not installed as a service therefore just point to the folder and hit delete, Windows don't care!
Tuesday, August 1, 2006
I was lucky, files in the HDD can all be read. Now with the new empty HDD in the notebook I tried to run recovery from external CD drives. It wasn't easy, in fact it can't be done. For record sake on this R100
- F1 = BIOS setup
- F2 = select boot device
- F8 = Windows setup
- F12 = recovery
It's not possible to boot from external CDROM drive unless it's connected via a PC card. Alternatively you can boot from a Floppy drive connected via a USB port. For that choice we asked for help from the support center just 2 stairs above us.
Now recovery of the OS is done but there is a defect found in the display module therefore my R100 is still upstair.
My colleague now found it for me. You have to save below to a file named "user.js"
Save it in our firefox profile directory, restart firefox, it'll be done.