alex in a nutshell

September 21, 2007

Decimal in c# attributes

Filed under: — Alex Salamakha @ 2:08 AM

We’re writing a new framework for our new project and decided to use Enterprise Library Validation Block as the foundation for user input validation. It worked out really well; we’re building a library of our business-specific re-usable validators. With unit testing in place, it’s heaps better than using any validation inside the forms.

There is one question that puzzles me however – why the hell decimal isn’t allowed as a parameter in attributes at CLR level?

24.1.3 Attribute parameter types

The types of positional and named parameters for an attribute class are limited to the attribute parameter types, which are:
– One of the following types: bool, byte, char, double, float, int, long, short, string.
– The type object.
– The type System.Type.
– An enum type, provided it has public accessibility and the types in which it is nested (if any) also have public accessibility.
– Single-dimensional arrays of the above types.

I’m sure CLR guys had their reasons, but since I haven’t found any documentation about that topic I’d like to know the answer

Using double and internally use Convert.ToDecimal isn’t n option I’d like to pursue.

September 17, 2007

Nerd test

Filed under: — Alex Salamakha @ 3:45 AM

I kind of suspected it, but there you go: says I'm a Dorky Nerd God.  What are you?  Click here!

PS: I’m really glad that my awkwardness score is not asĀ  high as my science/math/technology/computer/history score :)

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

Copyright © 1997-2015 Alexei Salamakha. All rights reserved
email:    Alex Salamakha on Facebook    Alex Salamakha on LinkedIn