rss feed blog search engine
 
Search rss blog search engine
 
ShowUsYour<Blog>  
Released:  3-6-2005
RSS Link:  http://weblogs.asp.net/DNeimke/Rss.aspx
Last View 11/21/2008 11:36:16 AM
Last Refresh 11/20/2008 5:26:05 PM
Page Views 10372
Comments:  Read user comments (0)
Save It Add to Technorati Add to Del.icio.us Add to Furl Add to Yahoo My Web 2.0 Add to My MSN Add to Google Add to My Yahoo! ShowUsYour<Blog>



Description:



Irregular expressions regularly


Contents:

Test post

http://www.projectdistributor.net/Projects/Project.aspx?projectId=131
http://markitup.com/Posts/Post.aspx?postId=58

http://notgartner.com/posts/1858.aspx

updated...




RegexLib V2 - now with added ASP.NET V2 :)

The other day I posted a blog entry about the migration of RegexLib to ASP.NET V2 - the article can be found here:

     http://markitup.com/Blog/archive/2005/06/07/50.aspx

In the coming week I'm planning to post a source code viewer so that you can see how that site has been put together and I'm also planning to release a couple of articles (not sure where yet) - the first of which will be an article describing how I migrated the existing users into the new Membership feature.




Wow...

http://lab.msdn.microsoft.com/ProductFeedback/viewfeedback.aspx?feedbackid=b53a89fc-3ce6-47ee-b68f-8fcf2ab30a23

 




My blog is moving - http://markitup.com/Blog/

As of today, I'm moving my blogging across to my own domain.  If you would like to remain subscribed to my blog then please update your aggregator to point to:

    http://markitup.com/Blog/rss.aspx




Upcoming IBF Speaking Engagements

Over the next couple of months I'll be travelling around Australia and New Zealand to present on the topic of IBF. Here is the pitch for my talk:


Following on from his Canberra User Group presentation in March, Darren Neimke will be visiting User Groups in Australia and New Zealand during April and May to present on the topic of Information Bridge Framework (IBF).

IBF is a framework for exposing line of business data through Office applications by using .NET and SmartTag technology to take advantage of contextual information.

Version 1.5 of IBF is a new release that simplifies the task of developing, testing and deploying rich solutions that target the Information Bridge. Darren covers each of these topics in his 1 hour presentation. The session is focussed on code and implementation and covers the following areas: planning for an IBF implementation, installing IBF, and building managed smart tags, creating custom UI to appear in the Office Task Pane and working with the IBF metadata.


... and here is a listing of likely locations and dates:

  • Wednesday April 13 - Perth 8:30am - 10am - .NET Community of Practice
  • Wednesday April 13 - Adelaide 6:30-9:30 pm User Group
  • Wednesday April 20 - Sydney 6:00-9:30pm User Group (N Ryde)
  • Tuesday April 26 - Melbourne .NET User Group
  • Thursday May 5 - Sydney 6:30-9:30 pm Deep .NET User Group (City)
  • Wednesday May 11 - Wollongong 6:30-9:30 pm User Group
  • Tuesday May 17 - Brisbane 6:30-9:30 pm User Group
  • Thursday May 19 - Gold Coast - 6:30-9:30 pm User Group
  • Tuesday May 24 - Hobart - 6:30-9:30 pm User Group
  • Tuesday June 7 - Auckland - 6:30-9:30 pm User Group
  • Wednesday June 8 - Christchurch - 11:30 am - 2:30 pm User Group
  • Wednesday June 8 - Wellington 6:30-9:30 pm User Group

 




Introducing Bracky

I've been talking a lot about UI agents lately and how I'm currently prototyping some UI agent stuff for web applications.  Today I'd like to introduce Bracky:

Bracky

Bracky is currently reading up on regular expressions so that he can offer help over on RegExLib when I'm not around.

Thanks to Mitch for the inspiration and Thomas for the image.




ASP 2 Quickstarts

Very Nice!

http://beta.asp.net/quickstart/aspnet/Default.aspx




Information Bridge Resources and FAQ

Over the next couple of months I'm planning to get out to each of the User Groups in Australia and New Zealand to discuss the Information Bridge Framework (IBF). I'm going to use this post to link to some resources and to provide an overview of what IBF is.

If you have any favourite IBF resources, can you please append them to this entry as a comment.

What is IBF

Take a look at the following image IBF at work in Outlook. The image shows Outlook displaying an e-mail with a smart tag and some custom UI in the Task Pane:

IBF in action in Outlook

IBF is simply a framework within Office 2003 for working with the Task Pane and using smart-tags to perform context sensitive actions. An IBF solution is written using .NET V1.1.

A typical IBF solution will use SmartTags to recognize text in an Office document and then supply the user with operations that are linked to that text - for example, recognizing a CustomerId might provide options to "view customer account" or "view recent purchases by customer". Invoking these smart tag options would display some UI in the Office2003 Task Pane.

The UI pieces are written using simple WinForms UserControls, so development is as easy as creating any normal piece of UI in WinForms.

Finally, IBF contains 3 pieces:

  • a development component which plugs-in to VS2003 and allows developers to develop solutions that target IBF
  • a server component which contains all of the metadata about the solution
  • a client component which gets installed on each client and connects to the server component to get its instructions

IBF Resources

Note: I'll be adding to this list over the coming days with links to IBF-related blogs, articles and multimedia




VATICANUS: The Word & its Meaning = Vatican

DISCLAIMER: I read this here today so, unless told otherwise... I'm just going to believe that it's true:


VATICANUS: The Word & its Meaning from which is derived the word Vatican as in Vatican City the Imperial Seat of the Roman Caesars.

VATICAN is derived from two Latin words Vatic-anus.

VATIC-ANUS

VATIC- "Characteristic of a prophet; oracular" From Latin: vts, seer -ANUS "The opening at the lower end of the alimentary canal through which solid waste is eliminated from the body" From Latin: nus, ring, anus

VATIC- ANUS = VATICANUS = VATICAN




What CommandName's to use in a FormView

taken from Fredrik's blog:


Paging:

 

Next

Prev

First

Last

 

The FormView has support for paging so we don’t really need to add button controls for those commands. We only need to use those if we want to create our own custom paging.

 

For changing modes:

 

New

Cancel

Edit

 

The New command will change the mode of the FormView to the Insert mode. The Cancel will turn back the mode to its default mode. The Edit will turn the mode into Edit mode.

 

For actions:

 

Insert

Delete

Update

 

When we press a button with the Insert command specified the FormView will execute the associated DataSource control’s InsertCommand. If the CommandName of the button is set to Delete or Update the DataSource’s DeleteCommand or UpdateCommand will be executed. By default the SelectCommand of the DataSource control will be executed.




Is RegExLib full of "it"?

Today I read a comment on Jeffrey Schoolcraft's regex blog from Randal L. Schwartz which I felt that I needed to respond to.  As I started writing the comment I realized that this is probably news that needs to be publicly visible, so I'm posting it to my blog and cross referencing  the original comment.  First, here is Randal's comment:


Yup. I continue to downvote and negative-comment nearly every entry at "regex lib".

Do not validate email addresses with a regex (unless it's the full regex, as you point out).

Do not parse HTML with a regex. HTML is surprisingly complex.

Do not validate a date with a regex. All these regex I see that try to compute the number of days of february based on the year number just have me going "WTF!".

These are NOT regex tasks. These are dedicated tool tasks.

And yet, "regexlib" is full of them. And full of "it", if you know what I mean.


Randal...

I hear your pain.  As the lead developer of RegExLib I also see the problems that you are mentioning and, presently we haven't really provided a good enough toolset for the newbies to really help themselves properly.  Should the newbies be randomly using regex's that they find on the site... dunno?  That's for another argument.

We implemented the rating and comment system in the middle of last year to try and give some indication about the value of individual patterns - so I'm extremely grateful that dilligent members of the community such as yourself are helping out by casting your votes.  We also implement an Rss feed for the comments so that comments such as yours are given public visibility - http://www.regexlib.com/RssComments.aspx

It's a hard battle to win as RegExLib continues to grow and, as of today contains nearly 1000 expressions.  There's good news though.  Over the past couple of months there's been a lot of effort put into helping solve these problems and, to that effect, users of the site will see a vastly improved set of tools to help deal with some of the problems that you've mentioned. 

To give you a quick example, one of the new features will provide users with a shortcut way of finding useful AND ACCURATE expressions by offering a box which says: "Enter N examples of what you want to match and N that you shouldn't and we'll provide you with a list of patterns which that match your requirements".  This will help to remove the hit and miss element of a NOOB scanning through 1000 patterns to find the veritable needle in the haystack.

The tools that allow users to manage their expressions is also getting an improvement so hopefully pattern authors might be more responsive in adjusting their patterns based on feedback received.

I hope that, once you see the new features for yourself you will agree with me that RegExLib is a much more valuable resource than it is today.




Smart UI agents and inductive UI

Continuing on from my blog entries last week about automated UI agents, I've started building a small prototype which will hopefully lead to an actual implementation.  In my prototype I have several agents accessing shared context through which they have some access to shared resources - such as logging tool and reporting agents.  As I mentioned, the output from my prototype will be an implementation, but I'm also preparing to cover it with a whitepaper on some of the lower level details.

Today I'd like to write about a small mental excercise that I've developed which should help to get into thinking mode about agents:

Update: when you do this excercise, try to mentally envisage the objective as an actual objective of a user on your own site - such as a visitor searching for an article or a site admin adding a new item or a techsupport staff member replying to an action item:


Mapping out an Objective

1) Starting Scope: Browsing

2) What is your current Objective within that scope? 
       - To learn about something that the author wrote.

3) What operations can you perform within that scope?
       - Submit feedback
       - User defined search
       - Pre-canned Search
           - View the authors favourite authors
           - View other entries within the current category
           - View similar entries
       - Learn about the author

4) Which of the items in 2 and 3 are related?

5) Do you have a history within this scope?
       - Has read blog entries?
       - Has submitted feedback?
       - Has used search?

So, in this excercise, you can see that not only can we determine the "objective" of a user (given a current scope), but we are also in a position to ascertain how capable they are of reaching that objective on their own.  If the user has no history within this scope then it is likely that they may require assistance from us to "lead" them to tools which can help to achieve their underlying objective.  It is also likely that, within a given Scope, there can be more than just one single objective.


In this entry I have discussed: Scope, Operations, Objectives and Agents.  I've also given an example of creating a high level mapping for an objective.  If you are read this and you did the mental excercise, please take the time to develop a similar mapping for a different objective and forward it to me as either a comment or as an e-mail.




We live, as we dream alone

Every now and then you will see blog entries which read along the lines of:

   "I think that product Y is the suckiest thing on the planet
    because every time I press the foo button everything
    chokes and I have to restart my PC"

Reading that causes an adjustment to my in-built impartiality-o-scope. 

Don't get me wrong, some things that fail to meet expectations really do suck, for example:

    Imagine that, when the next automatic computer update
    comes down the line it breaks something really stupid -
    ie: it forces you to restart Windows every time you press
    the Start button .  That just flat out sucks!  They should've
    tested that, somebody needs to get chewed-out for that.

On the other hand, what if product Y or the foo button are relatively new.  Does it NOT suck that pressing the new foo button causes you to restart your PC... hrmm, no, it still sucks but... rather than going down on the whole of product Y because the foo button is fundamentally broken, why not use this space of time as an opportunity to tell me something of the sense of wonderment that you felt as you were about to press that shiny new foo button for the first time.  Tell me what plans you had for it.  Tell me how you were about to use it.  Was it creative?  Was it new? 

I'm much more likely to get engaged with your blog writing if you can help me to live the software dream.



"We live, as we dream alone"
- Joseph Conrad (English novelist, 1857-1924)

"When I hear somebody sigh, "Life is hard,"
I am always tempted to ask, "Compared to what?""
- Sydney J. Harris
 
"Between the conception and the creation
between the emotion and the response
Falls the shadow"
- Joseph Conrad (English novelist, 1857-1924)

"It occurred to me that my speech or my silence, indeed any action of mine, would be a mere futility"
- Joseph Conrad (English novelist, 1857-1924)

"I dream for a living"
- Steven Spielberg

Quotes found on http://en.thinkexist.com/

 




Using generics to build generic data logic layers

Consider exposing raw Generic collections from your data logic layers, such as:

   public class PersonManager {
        ...
        public List<Person> ListPeople(...) { ... } ;
   }

When I started messing around with building applications in 2.0 I quickly wrapped Generic collections like so:

  public class PersonCollection : List<Person> {
     ... 
  }

This was normally done so that I could hang a Sort method off of them:

  public class PersonCollection : List<Person>, IBidirectionalSort {
     ... 
     public void Sort( string sortExpression, bool isAscending ) { ... }
  } 

The downside of this approach is that you end up writing fiddly code around calls to generic helper methods.



Home  
 


Link to us




RSS Feed of new blogs                                                   Home        Feed Map        Submit Feed      Link to Us       Contact