
Back to Blog index.
It's exactly one year since I started blogging. Unfortunately, I cannot see access statistics for the web server I'm using, but based on the feedback I've got, I assume people are happy with this blog.
Keep those comments coming, and have a Prosperous New Year 2005!
A data manipulation application does pretty heavy reading of a networked Paradox table, and since I'm using Delphi and .NET to access the database, BDE.NET is my natural choice.
But, the application has not been behaving well, and crashes or locks up randomly. I've tried searching high and low for the cause, but haven't found any major errors in my code -- I even tried to rewrite parts of it to see if that would help -- but it didn't.
But, I have a new idea. Whenever there are multiple users working with the database, the errors occur. If nobody else is using the databases, my application runs perfectly, multiple times, and without a glitch.
This leaves me to a partial conclusion that there might be concurrency issues in BDE.NET. So if you have similar symptoms, this might be the cause. It remains to be seen if the Delphi 2005 Update 1 is of any help here.
I needed a way to send messages from one application to another in an asynchronous fashion, and I was lazy. I didn't want to set up any databases for the task, so somehow I started thinking about Microsoft Message Queue (MSMQ).
Again, .NET framework provides nice and easy support for MSMQ programming, and so I found a class in the System.Messaging namespace to do the task for me.
But, our client application is a Win32 application, so it will be only next week when I get to know if these two worlds can work together. They should, but whether there will be compatibility issues, I don't yet know.
Dino Esposito's February 2003 article about ASP.NET ViewState is still valid today.
Since I needed a bit more details about this great feature of ASP.NET earlier this week for my Delphi application, I decided to share the link.
If you are using the ASP.NET Repeater web control, it is a common need to make sure every other is either white or gray.
The best way to do this is to use the AlternatingItemTemplate template tag with the ASP:Repeater control.
This way, you don't need to write the color stuff in code.
But the thing is that it's way too easy to forget about AlternatingItemTemplate! So you have been warned.
If you are a non-native English speaker, the idioms of the language can be those that are the most difficult to master, especially if you don't live in England or USA.
But, some little help is available on the Internet, and one page I happen to browse from time to time is called GoEnglish.com.
Databinding in ASP.NET is probably one of the most-questioned thing when it comes to showing data on ASPX pages.
I found a nice page on the Internet about ASP.NET databinding just today. This is a great introductory article by Karl Seguin. Check it out.
The Managing News Editor of the Finnish Prosessori magazine gave a call to me today, and asked whether I would like to start writing their new column about programming and software development.
Naturally, I accepted their proposal, for the column suits me just fine.
If you are reading Prosessori, look for the future columns.
I heard from Microsoft on Monday, that they are going to launch a software development (i.e. .NET) related peer-to-peer web site named Codezone FI.
Currently, the site is under construction, but should be ready for full use in maybe month of two I believe. I registered myself there as a member today.
It seldom happens I need to use OUTER JOINs with any SQL database, but this time I needed to use them with InterBase.
There isn't much syntax information about how to do these things with InterBase, so I thought I might share my own piece of SQL.
Here's an example:
SELECT t1.id, t1.name, t2.ordercount FROM mytable1 t1 LEFT OUTER JOIN mytable2 t2 ON (t1.id = t2.id) WHERE (t1.name LIKE '%Johnson%')
Use this as your 101 for InterBase OUTER JOIN queries. :-)
Creating multi-language web applications requires quite a lot of manual work, but the good news is that ASP.NET 2.0 is going to make this all easier.
MSDN has an article about this, and the new features appear to be good.
Also, it is interesting to see a new tag construct for localization support:
<asp:Localize runat="server" text='<%$ resources: Glossary, welcomeText%>'> Welcome!</asp:Localize>
Once ASP.NET 2.0 is officially here, I need to see what it is all about.
My article about Microsoft's InfoPath 2003 appears in the latest 14/2004 issue of Tietokone.
The article describes how InfoPath can be used to create, edit and fill XML forms.
Also InfoPath 2003 Service Pack 1 is mentioned.
MSN has recently opened a new Spaces service which allows people to have their own we pages, blogs and photo albums, among other things.
I decided to give it a try, and at the same time start a second blog, this time in Finnish.
I don't know how it turns out, but this blog might be the more high-level one, and the other a more local one. Dunno yet.
Retro is again chick, it seems -- even when it comes to IT.
For example, who would have thought that real, character based BBS' would have survived in the Internet era?
But, there are many active bulletin board systems still available, but isntead of having a modem waiting to be called, they are available through the Telnet protocol!
For example, try this. Also, there's a whole big list available of these systems, and there even is an open-source software to run them.
Long live ANSI graphics!
The .NET Framework contains good support for regular expressions, but unfortunately a primer on how to create regular expressions is missing. As I'm no fan of Perl, I haven't had to learn the Regex syntax inside-out.
Now, I happened to browse the community workspaces of GotDotNet and from there I found an utility called RegexDesigner .NET from Sells Brothers.
This utility is a handy testbed for your .NET regular expressions, and the utility itself is cleanly written.
For example, I've lately needed to write a regex for testing EU VAT numbers for validity, and with the help of this utility, I found out (by trial and error) that the following regex seems to properly validate both Finnish and international formats:
(^[0-9]{7}-[0-9]|^\w{2}[0-9]{8})
Also, while playing with the EU VAT IDs, I found a site that allows you to really validate the numbers, and also displays the company name behind the number. The site is here.
Interesting.
› Blog Archive