Saturday, 25 December 2010

Merry Christmas


Dim msg
if date() = "25/12/2010" then
   msg = "Where's Santa?"
end if
Response.write msg

Friday, 24 December 2010

Should I close the blog for Christmas holidays?


That's a question, isn't it? I've been struggling finding the answer for a week or so and I've reached a conclusion. 

The Web Thought will be closed for Christmas.

I will restart posting on January the 10th.
That's a loooong time. Will you resist?

Have a nice and splendid Christmas time, enjoy yourself, stay with your family and forget about programming for a while.

Wednesday, 22 December 2010

HTML: How to create bar charts with tables


In this post I will explain a very - very! - simple method to create vertical or horizontal bar charts using only HTML. You already know that on the web you can find many different solutions to create charts. In October, I  posted a list of jQuery plugins and I know there are other JavaScript snippets or Flash stuff available to draw graphs. However I've always found hard to apply those solutions to my needs. That is because I wanted to use data from a database, while many of the available snippets get the data from txt or xml files.

Monday, 20 December 2010

ASP: The Response.Flush method


Experience in programming is something that comes with time. You always learn something new, especially when you need to solve an issue. Sometimes, having a problem, a syntax error thrown by your favourite browser, could be the right moment to learn a new trick. Solved the problem, you might soon forget about the solution, or you might forget to understand better the solution. That is what happened to me with Response.Flush and in this post I would like to get a deeper look at it.

Friday, 17 December 2010

SQL Server: basic functions (part 9) - Substring


One of the most interesting Sql function, when working with strings, is Substring. Basically, it returns a part of a string, given the starting point and the length (number of characters).

The syntax
Let's see Substring syntax:
SUBSTRING ( expression , start , length )
In the function we have to declare:
  1. expression, which is the string we want to manipulate;
  2. start, which is an integer or bigint indicating where to start the extraction. If it is 0 (zero), the starting point will be at the beginning of the expression -1 (see below in "examples"). If start is greater than the length of expression, the function will return a zero-length expression;
  3. length, which is a positive integer or bigint indicating how many characters to consider from the start (starting point).

Wednesday, 15 December 2010

CSS: create a footer (header) for your asp page


I write this post because someone asked me how to create footer in an asp page. That's the main reason. However, after writing a lot about Sql Server functions (and I don't think I am really finished with that!), I indeed needed a break. Anyway...
Creating a footer for your asp page is very easy. I will show you how to do it with css styles, assuming you have a default.asp page which is your home page, an include named footer.asp which is your footer and an external css.css page containing your styles.

Monday, 13 December 2010

SQL Server: basic functions (part 8) - @@IDENTITY


In this post I will introduce you a very tricky and useful function called @@IDENTITY. The function returns the last inserted identity value. As you may already know, the identity column in a Sql Server table is a numeric column that auto increments when a new value is inserted in the table itself. To put it simply, it is the ID column in your table. Now, what is the practical use of @@IDENTITY?

Friday, 10 December 2010

SQL Server: basic functions (part 7) - IsNull, IsNumeric, IsDate


This is the seventh part of the Sql Server basic functions series. When I started it, I couldn't think of going that far. Honestly, I thought I would write about some functions, however, after a while, I started to understand that leaving other functions out would be unfair. That's why I would like to write about IsNull, IsNumeric and IsDate... and maybe some other functions in the near future.

Wednesday, 8 December 2010

SQL Server: basic functions (part 6) - Coalesce


Have you ever thought "what is COALESCE afterall?". The first time I encountered it, I thought it was a terrible name for a function. But, considering that a normal dictionary will define "coalesce" as "Come together and form one mass or whole" or "Combine (elements) in a mass or whole", that might shed a little light and help us understand what's behind the function.

Monday, 6 December 2010

SQL Server: basic functions (part 5) - Aggregation


Aggregate functions are used in SQL Server queries to perform operation on a group of values and returns one single value as result. Aggregate functions are used with the SELECT statement, with the GROUP BY and the HAVING clauses.
There are different aggregate functions, however the most important are:
  • Count
  • Sum
  • Avg
  • Min
  • Max
And those are the functions we are going to see here.

Friday, 3 December 2010

SQL Server: basic functions (part 4) - Dates


Dates! Working with dates in Sql Server queries might be fun... or not... It's a fact that sooner or later everybody will end up dealing with date manipulation. Sql Server comes with different date functions which can help us through the process. In this article we are going to see:
  • datepart
  • day, month, year
  • datename
  • getdate
  • dateadd
  • datediff

Wednesday, 1 December 2010

SQL Server: basic functions (part 3) - Cast and Convert


Following the other 2 parts of the series, in this short article we are going to see how to convert data in a query.

Cast and Convert: why 2 functions?
Cast and Convert are two functions used to convert data. I've always been confused by the fact that there are actually 2 functions to - apparently - perform the same operation. First of all, I must say that CONVERT can be used only in Sql Server while CAST derives from the ANSI standard. Wow! And so? CONVERT is undoubtedly more flexible while CAST is in a way a standard, it is more portable (it works in almost in any db environment), but it is less powerful. On top of that, CAST is preferably used when converting between decimal and numeric values to preserve the number of decimal places.

Monday, 29 November 2010

SQL Server: basic functions (part 2) - The Case function


This is the second part of series of posts on basic SQL functions. In the first part we saw right, left, substring, rtrim, ltrim and len.
In this post we are going to analyse the CASE function.

Friday, 26 November 2010

SQL Server: basic functions (part 1) - Manipulating strings


In Sql Server, functions are special commands that perform some kind of operation during the execution of queries. They are used to manipulate results, refine selections, filter data and so on. Some of these functions are really handy and should be used in the query itself because, manipulating data at query level is surely better than do it afterwards.
I would like to gather some functions in some posts, just as quick reference with examples. I understand that the functions here examined are just a tiny selection of all the available commands, however we need to start from somewhere, don't we?
The functions we will see in this post are:
  • right, left and substring,
  • rtrim and ltrim,
  • len.

Wednesday, 24 November 2010

Web Designers vs Web Developers


I post this great image just to make our brain cells work. And possibly laugh.
Click on the image to enlarge.
Web Designers vs Web Developers is brought to you by
Use creative design to make a Free Website

Monday, 22 November 2010

jQuery: random quotes from a txt file


If you want to create random quotes, loading the text from an external file, jQuery and its GET command could be a simple a fast solution.
We can create a div tag that will be the target of the quote:
     <td valign="middle"><div align="right" class="quotes"></div></td>

Friday, 19 November 2010

jQuery: AJAX and lightbox effect combined


What I'm going to show you how to use AJAX technology to get content for a container and use a lightbox effect to show it.
What we want is to populate a target container upon user request with an external page as source. Then we are going to show the fetched content with a lightbox effect (putting the requested content on top of everything).
We can use jQuery to manage all the operation in a quite simple way.

Let's get directly to the code and I will explain everything.

Wednesday, 17 November 2010

jQuery 1.4.4 released


jQuery 1.4.4 has been released. See the original blog post on jQuery Blog.

P.S. I know I am a bit late...

Blog Ranking (part 4) - How to value your audience


Every blogger needs to find a way of attracting visitors.
What's the point in writing good articles when there's nobody reading them? Specifically, considering the high number of blogs and bloggers, it is fairly easy to understand how hard is being noticed, if not almost impossible. Established blogs have many advantages such as a wide audience with loyal readers, a high visibility due to the fact that they are already well ranked, they have always new proposing writers and so they can publish articles even more than once a day and so on. That is like a big wheel: a blogger needs to work hard to set it in motion, but once that it is spinning, it is probably more difficult to stop it than to make it run faster.

Monday, 15 November 2010

jQuery: BlockUI Plugin


I recently needed to use AJAX requests and make the user aware of the fact that something was happening. If we use the classic XMLHttpRequest object in synchronous mode the entire web interface will freeze until the request is completed. You may understand that the user might be confused on what is going on in background, so we need to display simple and effective messages, explaining that the request is actually being sent and processed.

Friday, 12 November 2010

SQL Server: How to deal with Acucobol date fields


As explained in a previous post, you can connect your Sql Server to an Acucobol db using AcuODBC. In the last part of the article I explained that there are performance issues when you query a linked server with OpenQuery and that it is better to import relevant data from the linked server to a Sql Server table in order to benefit from all the features available through stored procedures, triggers and so on.
I run some queries overnight  using SQL Scheduler to keep my local tables updated against the Acucobol tables, but, when importing the data, in some way I manipulate them to make them easier to query. What I found important in terms of performance, is to convert date fields from int to smalldatetime format. Furthermore, when importing data I insert into the newly created Sql Server table an identity field and set it as primary key.
Let's break down the query and I will explain it bit by bit.

Wednesday, 10 November 2010

Wazala: create an online shop in 15 minutes


I usually do not talk about commercial products, but I think that in this case, some of you might find Wazala really intriguing. Wazala is an e-commerce solution easy to embed in your site, without the hassle of writing code or - let me say - of re-inventing the wheel. It is ready made and suitable for small to medium online shops.
When I found Wazala's site, what impressed me as a start was the overall look and design of the system. It is clear that Wazala's creators have put to use technologies like jQuery, to give it a really appealing feel in terms of visual effect. In addition to that, the usability of the virtual store is clear and effective, while simple actions like browsing the products and getting in depth information is fast and very intuitive.
I believe that, considering how simple is the complete embedding processes (from sign-in to complete site integration), anyone could become an online seller. You basically can choose from different shop sizes (starting from a free and limited store to a large and complete version), with monthly or annual fees suitable for mostly any need. I found the free option a great marketing move, because you can test and trial the service and see if it fits your requirements.

Monday, 8 November 2010

SQL Server: How to connect and query Active Directory


You might need to query your domain's Active Directory for different reasons. There are limitations in doing so (which I explain below), but in case you need to retrieve those information anyway, here's how to do it.
First of all, we need to create a new linked server in SQL Server. You can connect to Active Directory executing the following small stored procedure:
EXEC master.dbo.sp_addlinkedserver @server = N'ADSI',
@srvproduct=N'Active Directory Services', @provider=N'ADsDSOObject',

Friday, 5 November 2010

ASP: Scripting.FileSystemObject OpenTextFile vs Server-Side Include


In this short post I would like to compare two ways of including a file in an asp page. As you may be all aware, we can include a file into a page using a server-side include like:
<!--#include virtual="/example.txt" -->
In the page containing the above code, all the content of the txt file will be displayed.

Wednesday, 3 November 2010

JavaScript: useful small snippets


There are small and simple JavaScript snippets that can be used to achieve very easy actions. Whenever you need to perform such actions, if you google for help, you will definitely find the answer.
However I want to gather some of those code snippets in one article, just as a future reference for me, and valuable code deposit for you.
So let's see what we got here!

How to insert a value into a text box, selecting an option from a listbox
The title says it all. Let's imagine you have an input box:
<input name="tobechanged" type="text" id="tobechanged" size="50" />

Monday, 1 November 2010

Blog Ranking (part 3)


As I said before, blog ranking or - as I like to better define the concept - blog awareness is like a never ending battle. Despite the fact that articles are posted constantly and the content is good and interesting, blog ranking might still be (very) low.
After exchanging opinions with different people (especially marketing gurus, which I must admit I don't trust much), I do believe that there are good ways of increasing a blog traffic by spreading the word through the so-called social networks (like Facebook, Twitter or LinkedIn) as those gurus point out. I do believe that placing your link in your Facebook profile (for example) will increase your blog traffic, but is it what you're really looking for?

Friday, 29 October 2010

ASP: how to check SQL Server's tables properties


If you use SQL Server as a back end of your web application, sometimes it is important to check a table properties before allowing any delete, update or insert request. Sometimes it is useful just to display the table status to the user, showing - for example - the last modify date, so that the user will be aware of the update level of the data fetched.

To do so, we need to query the sys.Tables of your database. It contains a lot of information on the database tables, the kind of info we are looking for.

Wednesday, 27 October 2010

jQuery: 6 ways to create charts with jQuery


Charts are a good way of displaying data. No one can doubt it. If you need to effectively present your reports to the boss, using information fetched from your database, jQuery might provide a good and easy way to do it. You can actually use jQuery directly and follow the online tutorials you can find googling, or use some ready-made plugins. Here you can find some of those plugins.

Monday, 25 October 2010

ASP: simple alternating colour rows in a dynamic table


There is a very simple way of presenting a dynamic table with alternate colours for rows. In order to achieve this effect we can use CSS and ASP.
First of all, prepare the CSS style for your rows as follow:
<style type="text/css">
table.sample tr.d0 td {
    background-color: #0C50DA;
table.sample tr.d1 td {
    background-color: #2B78ED;

Friday, 22 October 2010

Exchange: Me, my iPhone and Ms Exchange


I've always thought that mobile phones should be made to make phone calls. Period. Then a good friend of mine has bought an iPhone 4 and gracefully decided to give his old 3G to me. I must admit, the iPhone is really a great toy! I started immediately to play with it and, considering that the user manual is very limited, the phone is really easy to use. The GUI is intuitive and clear. Everything is at hand and iTunes has loads and loads of apps.
I understand that these are well known characteristics, and that there are many blogs, forums and websites talking about it, but here I want to share the experience I had with the iPhone's mail handling and an in-house Exchange Server 2003.

Wednesday, 20 October 2010

jQuery: enhancing html tables' usage with DataTables plugin


Working with tables is a basic need for every web developer. Specifically when data fetched from a database must be tidily presented in your page, tables could be the only viable answer. We can enhance tables' usage with a great jQuery plug-in: DataTables.


Monday, 18 October 2010

jQuery 1.4.3 released


As you may have noticed, I publish my blog posts regularly on Monday, Wednesday and Friday. Today I've decided to break the normal posting schedule in order to inform you about the release of jQuery version 1.4.3.
Please visit the original announcement on the jQuery Blog.

CSS: Making background image fit any screen resolution


Please see the revised solution for fixed backgrounds with scrolling pages:
CSS: Making background image fit any screen resolution (revised).

Making a background image fit any screen resolution is something everybody needs at least once in a lifetime. It is easy to create such effect, using CSS, and the result is quite good.
First of all, select your background image. Well, it seems that choosing is not really a big issue, but let me tell you that you need to do it carefully.
First of all, your background image should be large enough to fit your largest target screen size, but should not be too heavy in weight. As you may understand, the image's weight in bytes might affect your site speed.
Secondly, remember that a too bright image might disturb the correct balance of the content. It should be meaningful to the overall theme and content of the site. However, it should not be too invasive, distractive or in any way prevent the navigation of the site itself.

Friday, 15 October 2010

jQuery: 9 plugins for forms


When handling forms in a web site or application, jQuery can make things easier. Here I've gathered some very helpful plug-ins you might use when needed. Please let me know your thoughts!

Wednesday, 13 October 2010

Web design: Single page and hand drawn web sites


I've always been a minimalist. I do not like glittering web sites, full of flash movies, sliding pictures, blinking boxes and all the stuff created to catch one's eye. I am always overwhelmed when I see those non efficient and non effective examples of web design.
Think about it: the most famous web site in world is probably Google.

Monday, 11 October 2010

ASP: Create pdf files with FPDF


One interesting thing you can do in a web site or application is to present reports directly in pdf format. If you have a database from which you pull data, you can manipulate the information and create a pdf file on the fly. FPDF is a PHP class created by Olivier PLATHEY, but a wise guy named Lorenzo Abbati translated it for asp. The class is completely free for commercial and non commercial use, and has almost everything you need to build up your pdf document. The problem is that Lorenzo has his web page and all the related documentation in Italian. You can always refer to the original PHP version of the class in order to understand in depth how it works. Here I will only scratch the surface and explain the basics.

Friday, 8 October 2010

ASP: Scripting.FileSystemObject... show folder content


This is the last post of the Scripting.FileSystemObject series. After seeing how to manipulate files and folders, how to upload files and how to get file information, I would like to show how to retrieve a folder's content. This is probably the most easy thing to do, and as usual we start by setting the variables and the object:
   Set FSO = Server.CreateObject("Scripting.FileSystemObject")
   Dim folderpath
   folderpath = Server.MapPath(yourfolder)

Wednesday, 6 October 2010

Guest Post by MJ Logan: Personal Websites


Few businesses would deny the advantage of having a website and for most, it is not just an advantage but a necessity. Potential customers often search the web to find companies or individuals before looking anywhere else. A business website can provide potential customers with insight about the person or company they might be doing business with. Personal websites for freelancers are no different.

A personal website should be carefully constructed to maximize search engine ranking. Research keywords using Google’s Adsense Keyword Tool, not for placement of advertising, but to improve ranking. Add content based on the freelancer’s profession--content should focus on writing if the freelancer is a writer, or website design if they are a website developer. Ideally, the site should use Search Engine Friendly URLs that utilize keywords for each page. Also include links to other freelancers who will link back to the site. Never use the “nofollow” tag and ask other sites to do the same when linking to the freelancer site.

Monday, 4 October 2010

ASP: Scripting.FileSystemObject... how to read file or folder information


As promised I would like to explain other useful methods related to the Scripting.FileSystemObject. Infact you can obtain information on a file by simply calling different methods. As I wrote a few days ago in the "ASP: Scripting.FileSystemObject... how to move, copy and delete a file or a folder" post, just start by setting the object:
   Set FSO = Server.CreateObject("Scripting.FileSystemObject")
and the target file:
Dim varfile
Dim filepath
Dim fileinfo
   filepath = yourfilepath
   varfile = Server.MapPath(filepath)

Friday, 1 October 2010

jQuery: 5 useful file upload plugins


Following my "ASP: Scripting.FileSystemObject... how to move, copy and delete a file or a folder" post I think that implementing a file management system for example on an Intranet, could be interesting indeed. In the mentioned post, I explained how to manipulate files already uploaded on the server. Now you could ask how to develop an upload system... so here we are.

Wednesday, 29 September 2010

ASP: Do you like cookies?


People don't like cookies, antivirus and anti spyware applications hate tracking cookies, everybody is scared to death by cookies. In the end they are just cookies... maybe poisoned cookies, maybe just valuable in some situations. If you're dealing with local web applications, you might find the use of cookies quite interesting, especially when you need to store temporary information such as log-in user name or date stamp.

Monday, 27 September 2010

ASP: Scripting.FileSystemObject... how to move, copy and delete a file or a folder


The Scripting.FileSystemObject object is very handy when dealing with files or folders on the server. Imagine to have an asp page displaying the content of a folder, the user will be able to manage the folder and its content quite easily.
The FileSystemObject allow to access all information regarding a file (creation date, size, name and so on) and to execute simple operations on the file itself.
Ok, in this post I will concentrate on move, copy and delete operations, but in the future I plan to explore other methods.

Friday, 24 September 2010

Use Feedburner & BuzzBoost to create a printable blog


After creating the blog you're reading, I wanted to create a printable pdf version of it. I searched for automatic online/offline conversion tools without satisfaction. Some apps are good but not customizable, or sometimes the result was not what I wanted. Then I decided to try another way.

Wednesday, 22 September 2010

SQL Server: connect to an Acucobol database with AcuODBC


In a SQL Server environment you can connect to external databases using ODBC. You can actually connect to any external database, but I will explain how to use AcuODBC to link an Acucobol database.

Monday, 20 September 2010

Exchange server: ExMerge


When dealing with Ms Exchange Server, you don't always find a ready solution to problems. One of the most useful application you might need is ExMerge (Microsoft Exchange Server Mailbox Merge Wizard).
ExMerge is a small program that you might not use for months, but it's worth knowing how to use it before things go wrong.
It can extract data from mailboxes on your server for backup or maintenance purposes. I actually use it when someone leaves the company: after a while, I extract all the mailbox folders and save them as a .pst file, then delete all the items and close the user account.

Friday, 17 September 2010

JavaScript: create a popup window and update parent on close


I use popup windows rarely because most of today browsers try to block them. However sometimes they are handy and - let me say - beautiful. I've used them in a web application where detail information of a record are displayed and modified through a popup. In this situation, what I needed was to open the window in the centre of the screen and to update the parent window when the popup is closed.

Wednesday, 15 September 2010

VBScript: How to check if a file exists on a remote server


As a web site developer, I sometimes need to check if a specific file exists on a remote server. That is easily done with the ServerXMLHTTP object. As explained by Microsoft MSDN, it retrieves XML responses from a server. If you use the object to read the head of a specific url and then check its status, you will be able to determine the file existence.
Let's try to write the code!

Monday, 13 September 2010

Development and programming: is coding dead?


After reading and answering questions on programming forums, I always wonder why people are getting so lazy. I understand that the way we write web sites or web application code has really changed in the last few years, but I still don't understand why programmers (or pseudo programmers - I'd say) don't want to write code directly and often search for quick and ready-to-use solutions. I do understand that some add-ons, plug-ins, frameworks and libraries are really useful (and I wrote about it in the post regarding jQuery), but it seems to me that the art of coding is really dying.

Friday, 10 September 2010

Dynamic keywords and description meta tags


After publishing the "Are keywords and description attributes useful?" post, I will explain how to create dynamic keywords and description meta tags. If you have a dynamic page which, for example, retrieves records from a table, according to query parameters, it is quite easy to populate the meta tags with relevant keywords or a description strictly related to the recordset itself.

Wednesday, 8 September 2010

Are keywords and description attributes useful?


There was a time when keywords were very important in web sites promotion and ranking. The way search engines spiders considered the content of a page for ranking and appropriate search matching, was strictly related to keywords. But then, many webmasters thought that filling up long lists of not so much related keywords to their pages, helped them to get a higher ranking. When I say "not so much related", I mean that sometimes a good and sexy word could really draw traffic. Webmasters used to look for popular keywords and add them to their pages, regardless that they were consistent or not with the content of the page itself. And so, starting from 1999, search engines have gradually stopped looking for them and stopped considering them. At least most of them (it actually seems that Yahoo is still using them in conjunction with the real page content).

Monday, 6 September 2010

Blog Ranking (part 2)


This is the second part of the series... and God only knows how many parts will there be. The first post (Google Blog Ranking... is it true?) was about Google and what people usually suggest in order to improve blog ranking. A month has passed and I think I can add some new thoughts on the matter.

Thursday, 2 September 2010

Simple lightbox effect with jQuery


There are many lightbox effects available on the web. They may or may not use frameworks like jQuery, they might be in pure css or made in any way you want it. The one I will explain here is very - very! - simple and uses a mix of css styling and jQuery.

Monday, 30 August 2010

How to execute Stored Procedures from ASP


The power of Stored Procedures in SQL Server is quite useful when developing web applications. It is sure that using such power in your code is very important in order to be sure the queries are executed quickly and efficiently. But, how do you execute those queries from asp? Actually it is very easy as soon as you understand the logic behind it. I've seen many web site and blogs explaining that, however it seems that a simple and straight way of showing the method is missing. Here we go.

Friday, 27 August 2010

SQL Server utilities: SSMS Tools Pack


Working with SQL  Server sometimes is really boring: you need to write a lot of stuff and - as an almost-without-memory person as I am - remember 'how were those stored procedures done'. I know very expert people who use a simple list of cleverly named txt  file, where they store all the knowledge. So when a specific function/procedure is needed, they look into that knowledge base, copy and paste. That's handy, and - as humans - quite helpful.

If you use Microsoft SLQ Server Management Studio to do your database development and maintenance, you might find the SSMS Tools Pack very useful. I've used the tool for some time and I really don't think I can do without it now.

Tuesday, 24 August 2010

Web application’s menus


When developing a web application, one of the things I am almost always dissatisfied with is menus. Thinking back to my first web app, I now realise how much I pondered and rethought about the user interface and about the way all the single functions are logically made available to the user. That is usually done through an intelligent menu.

Monday, 23 August 2010

Back at work...


Hello everybody and especially my two spiders (well actually my only recurring visitors!)... I am back at work. What to say? The holidays have been too fast and too short, but here I am back on track. Soon I will get back to you with new tech stuff, now let me just readjust myself...

Tuesday, 3 August 2010

Too many blogs...

    Location: Castiglione della Pescaia GR, Italia

I am on vacation. I arrived on Saturday and the first thing I heard was a big noise coming from the top of trees. You should understand that I hired this little mobile house in a big camping place. I am on the coast of Toscana and the place is deep inside a big pine forest. As I am writing now, the noise is still there. I must say that nature is incredible and that staying far from technology for a while is not that bad! I have my little web book, an internet connection, my favourite applications and a remote connection to the servers back at work. But who cares? The noise is still there. And what about it? It is very high – at the beginning. So high that it is almost unbearable, then – as time goes by – you stop hearing it. The noise is made by the friction of cicada’s wings. If the sun is shining, if it’s daytime the cicadas are probably only thinking about sex and so they are trying to find someone to do it with. AH! When I first thought about it, something clear came to my mind: one voice alone is surely not heard, many voices together are surely very noisy but after a while you stop noticing them. A little number of blogs, forums, info sites might be interesting and might be worth reading. Too many blogs might be lost in oblivion.

Well, my friends. This is only to make you aware of the fact that I am on vacation. I will probably write more during this period, but we will most likely leave tech things alone for a while.

Friday, 30 July 2010

Google Blog Ranking... is it true?


GoogleIn the past I've used ranking technics for web sites. I've used procedures that could take the ranking very high, very quickly. But that was like playing with fire because after the initial burst, the site's ranking was always slowly going down, no matter what I was doing. Google improved its ranking methods and I think that there's no way fooling web spiders, now.

Thursday, 29 July 2010

Add a Progress Indicator to your asp page


Sometimes when developing a web application, you need to query a large amount of data, manipulate it and present it in a beautiful and readable way. That kind of operations – given that you created a resource optimized sql query – might take time and the user, waiting for data to appear on the screen, might get nervous not knowing what is really happening to the submitted request. So what? There are risks involved in that waiting: the user might hit other buttons sending multiple requests to the server. Again the user might submit data update more than one time. Or, simply, the user might think that your application is lousy and really slow (while you know that the user just submitted a very complicated query and you can’t do much about it in terms of speeding up the process!).

Monday, 26 July 2010

Schedule SQL queries over night


Today, I would to talk about a incredibly useful application that I found while surfing. SQL Scheduler is "a fully functional client/server application written in C# that allows administrators to schedule various SQL jobs for SQL Server Express and other versions of SQL Server."(quoted from SQL Scheduler home page)

Friday, 23 July 2010

Exporting data to Excel in asp


One of the things that I have been asked for several times during web application development, was the possibility of exporting data to Ms Excel. That is because people need to further manipulate query results. I always thought that the best way to deal with data filtering and sorting, is to create a suitable parametric query. Sometimes that is not enough and you end up creating an asp page in order to export data to Ms Excel.

Wednesday, 21 July 2010

Help for web applications (part 2: tools)


This is the second part of the “Help for web applications”. In the first post I explained why you should build an online help for your application, and then I suggested what should be its content.
Now you probably wonder how to do it. What tools are available on the net? Are they free?

Tuesday, 20 July 2010

Help for web applications (part 1: general)


When was the last time you thought it was necessary to create an help button for your web application?
I do it everytime that I publish a beta release. I've always thought and I strongly believe that a good web app needs a good online help. It doesn't matter which type you use (an html online help, or a chm, txt, pdf file) as long as you make it available somewhere in your application. I strongly believe in that for different reasons.

Friday, 16 July 2010

jQuery: the magic wand


I don't like CMSs. Well, I must admit: I really hate CMSs. I'm stating that just because I do like programming my own web site with complete freedom. And CMSs - even if they claim to be complete or complicated - are usually too tight for my needs.
Even though that is always true and I won't change my mind in the future, I do believe that sometimes programming everything in a web site is very hard and time consuming. So a little help - with complete freedom and customization - is welcome.

jQuery has nothing to do with CMSs

Thursday, 15 July 2010

Outlook Web Access and Outlook 2003


This is an issue I resolved today, and it took quite a lot. Probably I am really a nerd when talking about Exchange Server and Outlook Web Access, but I had to bang my head against the pc screen more than usual before getting to any result.

What was I trying to do?

The General Manager wants to receive and send emails when he's in office, when he's at home, when he's abroad... basically he wants to be always connected to our Exchange Server (why not use a BlackBerry? Mystery...). It was a battle in the past months in order to let him try Outlook Web Access. A battle I said. Possibly a struggle, because problems were hiding everywhere: the OWA interface is slow, the address book is not working like the one in Outlook, and other trivial things.

Wednesday, 14 July 2010

Embed an image to an email sent via asp


I found the trick I am about to explain on the web.  When the sales manager told me to create a procedure to send newsletter through the company Intranet web site, there was really no problem (I believe almost everyone knows how to do that!). It really got challenging when he told me they wanted to send images attached to the message body. I knew how to attach documents, but embedded images? Hmmm... that was tricky. Then I found the solution.

Monday, 12 July 2010

The web design


I always look at web design sites. And I do like to see the evolution of web design as a way of expressing  design in general. The way we like cars, for instance, is changing every year - or probably the way the car companies want us to like cars (but that's a whole different story).

Dynamic Columns in T-SQL


In one of my projects I had to create a SQL query which has dynamic columns. The reason why was related to the fact that I needed to create a pivot table (and that is quiet easy) with dynamic columns. The challange was tricky for me at the time, but when I understood the basics behind it I started to use the method in different ways... and that solved a lot of troubles.

Friday, 9 July 2010

Ok... let's start!


Test for Echo! Is there anybody out there listening?


I don't think so. Anyway, this is the beginning of a new adventure.
Why is this? Possibly because I'm bored to death, it is summer and I need something new.

The purpose? Share, share, share.

Since the mid nineties when I've started to explore the web, I've found helpful and enlightening the almost-infinite source of information which is the world wide web. A lot of people helped me in getting to know more and more, to develop web sites and applications... and all of them are unaware of it. I have used and still use the web as a source of info, used it for my purposes and that's it - no giving back!

Now it is time for a change. I feel the need to share what I think about it and maybe give my share of help to other people (who might be starting only today to use the web as I use it).

And I will do it in English (even if that is not my mother tongue) and please bear that in mind when I make a mistake. Be merciful...


Where do I begin?

Well, from here.

There you go, my first post. And it wasn't that difficult...Test for Echo! Is there anybody out there listening?