Darren Neimke – ASP.Net 2.0 Web Parts in Action – a must have!!

Another Aussie spreads his knowledge and this time its in a field which i know is sorely lacking quality content.

From speaking to Darren and feedback from other developers, he knows what he”s talking about and i”m sure the book will be a hit!

a must have for your book shelf. i”m going to pre-order it myself now…..

the ETA for the release is September ”06 and you can pre-order it from Amazon here – see details on the book itself and even download chapters for preview here

Microsoft® Expression® Web Designer

Well it”s official – Microsoft has now taken up the gauntlet with Adobe/Macromedia and i hope they bloody their noses..

i for one cannot stand working with Dreamweaver since i”m more accustomed to the layout of Visual Studio so maybe Microsoft® Expression® will be a little brother to Visual Studio and also allow for the pixel pushers (eg. web designers) to interact completely with the developers.

I for one is going to have a look at it.

anyways, the CTP 1 has just been released and is available for download.

here

Bill throws his weight around again??? when will he ever stop? will it stop?

Well, Speech Server has been added as a category to the MVP program – finally and now some of the more hardworking individuals in the industry who”s been adapting the technology can now get the recognition they deserve.

in saying that, a friend (Marshall Harrison) of my friend (Bill Ryan)  has been awarded the MVP for Speech Server – Congrats Marshall..welcome aboard!

 

Am now a happy new daddy again!!

Finally – my wife gave birth to a healthly baby girl on the 4th of July, 2006 at 5:25pm.

she weighed in at 3140grams (6.15 pounds) and 50 centimeters long (20inches approx).

Both mother and baby is well. The delivery took 7hrs in total and i was there all along :,,)

can only recommend parenthood to those hooligans out there that hasn”t joined the ranks yet 🙂

Perth SQLUG – SQL Server 2005 Service Broker Session

So we”re back at it again – this time we”re getting a visit from across the country..

Nick Ward is grazing us with his presence and is doing an interesting session on SQL Server 2005 Service Broker.


Title: SQL Server 2005 Service Broker
Presenter: Nick Ward, Technology Specialist, Microsoft
Venue: QV1, Level 14 250 St Georges Tce, MS Offices
Time: 13th of July, 2005 5pm-7pm

Service Broker is a new feature of SQL Server 2005 that provides a message-oriented queuing mechanism for building highly scalable, de-coupled applications. In fact, Service Broker offers the database administrator and developer a new architecture for building triggers, stored procedures and applications that can result in faster processing times for the end user. Service Broker also forms a core part of several other components of SQL Server eg: Database Mail.

In this session we cover:-

1,,) What is Service Broker?
2) What it offers DBA”s “inside the database” & how to use it.
3) What it offers Architects “outside the database”

Nick Ward is a “Technology Specialist – Database & Business Intelligence” in the Enterprise Solutions Group, Microsoft Australia.


This session is an excellent example of how far SQL Server has come with the 2005 version compared to it”s predecessors.

Also, as usual, please ensure that you register online prior to the event so we can have a better estimate for food and drink.

Lastly, this month again sees us with a great prize –Microsoft Application Center 2000.

For those around the Perth area, click here to register for the event. the event is FREE, no admission or membership fees are required.

Amcom buys 20% of iiNet

The company i work for, Amcom, just bought a 20% share of iiNet (the dreaded borg – he hehhe) our arch rival!!

I”ve always disliked iiNet, ever since my service (previous service of course) with them became so retarded that i cancelled after having a Level 3 support engineer tell me that my OS was screwed and i had to format my HD (problem was tcp/ip was borked – fixed by re-installing the tcp/ip protocol), re-install my OS and call him back. So, now a feather in my personal hat – we bought 20% of them!!

btw, for those not in the know – iiNet is the 3rd largest ISP in Australia.

yay – sorry, just happy!!

read more here

A few things a developer SHOULD know!!!

Well, being my own biggest fan and having a talent which enables me to pass judgement on other people fairly easily, i thought maybe i”d air a few rants on my blog.

Q: what should a ASP.Net developer know as a bare minimum before you can call yourself a ASP.Net Developer?

Now – i”ll quickly explain what i”m trying to get across – cutting code isn”t really enough these days – so what more should a .Net Developer know? It”s not a single choice answer really – at least not in my book, and i see way too many thinking to name themselves Developers. I”ve nothing against home-grown developers, am one myself, though i did get myself a Systems Analyst education way back when i was young(er) and that included MS Access as a database cough cough and Turbo Pascal 4.0 and Visual Basic 4.0 (think it even included a bit of Java too…..arrggghh).

A: cutting code – syntax and framework of .Net
A: Database Design – Object/Relational
A: T-SQL (as a bare minimum), Stored Procedures (i”m of course assuming that MS SQL Server is being used here!! RIGHT?!?!?!)
A: XML
A: JavaScript
A: (X)HTML
A: CSS

So, what else is definitely needed? can you seriously claim to be an ASP.Net Developer without knowing those basic skills? i don”t think so – hell, could even be that i”ve forgotten a few.

Regular Expressions by .Net

String manipulation has always been a major part of a developers job – handling sourced (stored and posted) data, stripping and formatting it to suit our needs.

I”ve always found it tedious and time consuming to string it by using the common string variable methods.

ToUpper()
ToLower()
Replace()
SubString()
Remove()

Well, the list goes on – using SubString() and IndexOf() in conjunction with eachother was an early way of removing unwanted characters.

It could quickly becoming very complicated and notoriously faulty code:

i mean, stripping numerical characters out of an textbox”s value for a Firstname can take a hell of a lot of time..Regular Expressions can help cut this down by a LARGE amount of time.

First off, i”m definitely not professing to be the guru on Regular Expressions – not by a long stretch – so please, if you find flaws or have ideas for enhancements feel free to comment.

public string CleanString(string input)
{
     // Replace invalid characters with empty strings.
     return Regex.REPLACE(cast(input as nvarchar(max)),cast( @”[^w.@-]” as nvarchar(max)),cast( “” as nvarchar(max))); 
}

Simple? well, getting it right can at times be touch and go..

so now it”s stripped? what about telling the user that they can only use alphabetical characters? again..Regular Expressions to the rescue.

public bool ValidateString(string input)
{

    // Verifies input string only contain
    //  alphabetical charachters, upper/lower case
    return Regex.IsMatch(input, @”^[a-zA-Z]$”);
}

and my all-time favorite, email address validation..

public bool IsValidEmail(string input)
{
     // Verifies input string contains a valid email address format
    return Regex.IsMatch(input, 
@”^([w-.]+)@(([[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.)|(([w-]+.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(]?)$);
}

There”s tons of uses – if you, like me, aren”t the best of the gurus with Regular Expressions there”s tons of help on the interweb..my favorite is www.regexlib.net – can”t go wrong on this, just bear in mind, these are user submitted examples, not all of them works anywhere close to what is expected.

As an example on some heavy(ish) string manipulation (don”t mind this, it”s only an example)

/// <summary>
///
validates a string in accordance with minimum and maximum length
///
– allows for whitespace but does required a minimum of 1 numeric character.
///
</summary>
///
<param name=”pString”></param>
///
<param name=”pMin”></param>
///
<param name=”pMax”></param>
/// <returns>true/false
</returns>
public bool IsValidPhoneNumber(string pString, int pMin, int
pMax)
{
bool blnResult = false
;
bool blnIsNumber = false
;
bool blnWhitespace = false
;
bool blnIsLetter = false;

// only attempt string validation if pString exists
if (pString != null)
{
     try

    {
          if
(pMin == 0 && pString.Length == pMin)
         {
                 blnResult = true
;
         }
         else if
(pString.Length >= pMin && pString.Length <= pMax)
         {
                foreach (char chr in
pString.ToString())
               {
                        if (char.IsNumber(chr)) { blnIsNumber = true
; }
                        if (char.IsWhiteSpace(chr)) { blnWhitespace = true
; }
                        if (char.IsLetter(chr)) { blnIsLetter = true
; }
               }
             
              if
(!blnIsLetter)
             {
                       if
(blnWhitespace)
                      {
                              if
(blnIsNumber)
                             {
                                     blnResult = true
;
                             }
                      }
                      else if
(blnIsNumber)
                      {
                              blnResult = true
;
                      }
             }
      }
}
catch (Exception
eValidate)
{
      throw
eValidate;
}
}

return blnResult;

}

To me, that doesn”t get much worse – could a Regular Expression here help?