alex in a nutshell

September 10, 2007

Managing email workflow with AEP

Filed under: — Alex Salamakha @ 12:31 PM

I’m a shareware author and that implies a lot of email-related routine. Since I hate routine tasks, I’ve been looking at ways to streamline my emails workflow lately. Here is what I mean by routine tasks. Each shareware author sells his software over the Internet via one of the online sales providers (Regnow, RegSoft, Plimus, ShareIt, etc.). Whenever somebody purchases your software you receive an email with order details – product purchased, number of copies, total, GST/VAT, user name, address, etc. Your regular routine is:

  1. Check email
  2. Copy user name from email into Clipboard
  3. Run Code generation utility
  4. Paste user name and number of licenses into the code generation utility
  5. Click Generate code button
  6. Copy generated code into Clipboard
  7. Create an email based on a template for particular product
  8. Enter user name into the email
  9. Paste generated code
  10. Press Send button

The most important bit is that you have to be physically present in front of your computer in order to perform the above mentioned 10 steps. What if you want to store the user details in the database or check customer’s email against previous orders to offer a discount? More routine!

As a software developer I can write my own email processor. While it’s an option, I see it as a waste of time. Then Biztalk, perhaps? It’s nice and easy for a programmer, BUT with Standard Edition’s price of US$8,500 it’s not really an option for many people. Here is the alternative – Advanced Email Parser (AEP).

Why? First of all its cost. It starts at US$400, 1/20th of Biztalk’s price. Enterprise license costs double that (AU$999 + GST in Australia). Compare that with the cost of BizTalk Server 2006. Secondly, AEP is quite simple to use, user doesn’t require programming skills to create simple solutions. However, you may require a skilled programmer in case of complex business processes integration (various back-end systems, databases, web services, etc).

Here is how I can fix the above mentioned problem of processing an online order for my shareware program Quick To-Do Pro with AEP. (more…)

September 5, 2007

Quiet month

Filed under: — Alex Salamakha @ 9:07 AM

I haven’t been blogging in August, but I can’t say I’ve been on holidays. Quite contrary. It’s been quite stressful during last couple of months. Stressful, but rewarding in the end:

Developer of the release

Picture quality isn’t great as it was an unexpected surprise and it was a coincidence that one of my team members had a camera on him. Thanks, Jaffer!

Here is what it looks like on my desk:

Ada Lovelace award

August 1, 2007

Pre-compilation of ASP.Net web sites

Filed under: — Alex Salamakha @ 10:27 AM

Pre-compilation of ASP.Net web sites gives some nice benefits out of the box. For example,

  1. Faster response time for users, since pages and code files do not have to be compiled the first time they are requested. This is particularly useful on large sites that are updated frequently.
  2. A means to identify compile-time bugs before users see a site.
  3. The ability to create a compiled version of the site that can be deployed to a production server without source code.

Let’s discuss these points.

  1. It’s a nice feature to have but there are other tools to hit every page of the web site as after deployment which will achieve the same result. Moreover, web site testing tools like Selenium can do the same job as well as verify the functionality according to pre-defined tests.
  2. If you’re using a tool like Selenium, this is covered. Also, nothing is stopping you from integrating pre-compilation into your build process for the sake of checking for errors, but deploy the original version if required. And integrating Selenium or any other similar tool into your build process will do a much better job.
  3. This is only required if you deploying to a client and want to keep your intellectual property protected. It doesn’t apply to a lot of cases.

By now you probably sense my antagonism towards pre-compilation. Why? Because of the deployment restrictions it creates with regards to hot fixes. Even if you pre-compile for deployment and update, this is what can be done with the .ASPX files:

You can change the layout of .aspx files and add elements that do not require code, such as HTML elements and ASP.NET server controls without event handlers. You can also add new .aspx files, which will be compiled normally on first request.

Which basically mean that you can hot fix a typo in HTML mark up, but that’s about it. No code changes at all!!! Consider this before you implement it in a corporate environment, where every change requires authorisation and deploying the new version of the entire pre-compiled web site is not an option outside of scheduled release process.

July 15, 2007

Random sort in T-SQL

Filed under: — Alex Salamakha @ 8:29 PM

Recently I had a task to return rows from a SQL Server database in random order.

Here is a simple solution:

SELECT * FROM MyTable ORDER BY newid()

Potential applications include selecting a random tip of the day or a random product of the day for any portal/online shop/etc, which is now simple enough by typing the following:

SELECT TOP 1 * FROM MyTable ORDER BY newid()

« Previous Page
Copyright © 1997-2017 Alexei Salamakha. All rights reserved
email: alex@salamakha.com    Alex Salamakha on Facebook    Alex Salamakha on LinkedIn