Sharepoint Designer 2007 free download

by Sander Gerz April 04, 2009 10:55

Yes, that’s right. If you are working with Sharepoint, you can download the designer for free. Here’s where you can donwload it: http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=baa3ad86-bfc1-4bd4-9812-d9e710d44f42

Currently rated 3.1 by 34 people

  • Currently 3.088235/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags:

Renewed as an MVP

by Sander Gerz April 02, 2009 11:45

For some reason, the e-mail took a detour, but I got it (thanks Gerard):

“Congratulations! We are pleased to present you with the 2009 Microsoft® MVP Award! This award is given to exceptional technical community leaders who actively share their high quality, real world expertise with others.”

Beside the recognition for past efforts, it also  feels as a stimulus to continue. Although.. I enjoy writing and helping out anyway. Nonetheless, recent projects like www.vaderradar.se, www.sat24.com, www.niederschlagsradar.de, and especially www.360.org have taken a bite out of my available time.

I’ll be hanging around the community area at the upcoming DevDays. This year, the event is around the corner from my house. Excellent! Hope to see you there.

Currently rated 3.1 by 7 people

  • Currently 3.142857/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags:

ASP.NET MVC 1.0 Final Release

by Sander Gerz March 18, 2009 17:00

I will certainly not be the first, nor the last, but here it is. ASP.NET MVC 1.0 final version is released.

Download ASP.NET MVC 1.0 here.

Currently rated 2.1 by 28 people

  • Currently 2.071429/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags:

Javascript compressing and more

by Sander Gerz March 17, 2009 09:14

Guillermo writes about a website that can compress javascript files. It does a really good job, but when I downloaded the result, it was unreadable.

O="functioresultarkervar conercatch(    windowoundstionif(atTemp uetails r){}eh
 

Would a browser still understand what to do? Well, it certainly did. Just make sure that you need to define the charset for the script:

   1: <script src="[yourscript]" type="text/javascript" 
   2:     charset="ISO-8859-1" ></script>
 
So not only is your javascript compressed, it’s also obfuscated in such a way that others cannot easily see what it’s doing or make modifications for their own purpose.

Currently rated 2.7 by 7 people

  • Currently 2.714286/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags:

Migration to BlogEngine.NET

by Sander Gerz March 16, 2009 19:06

It was about time I migrated my weblog, based on .Text version 0.95 to a more modern blogging platform. As you will probably know, the codebase of .Text was integrated to Community Server ages ago. I doubt whether much of that original code is still alive in CS, if any at all.

Anyway, both BlogEngine.NET and dasBlog seemed like good alternatives. Subtext too. I decided to go with BlogEngine.NET. It’s not that I did extensive research on all the options, as long I was able to migrate the content and use Live Writer for posting. A post by Erik Lane helped me through it. He also posts instructions on how to keep old links working. I didn’t want to mess in the code of BlogEngine.NET, so after updating the BE.NET database, I just added the following hack to global.asax:

    protected void Application_BeginRequest(object sender, EventArgs e)

    {  

        HttpContext context = HttpContext.Current;

       

        // Handle .Text rss feed requests.

        if (context.Request.Url.PathAndQuery.ToLower().Contains("/rss.aspx"))

        {

            context.Response.Redirect("syndication.axd", false);

            context.Response.StatusCode = 301;

            context.Response.End();

        }

       

        // Handle .Text requests from archived posts

        if (context.Request.Url.PathAndQuery.Contains("/archive/"))

        {

            // lookup post

            int dotTextPostId = GetPostId(context.Request.Url.PathAndQuery);

            System.Collections.Generic.Dictionary<int, string> posts = GetPosts();

 

            string relativeLink = string.Empty;

            if (posts.ContainsKey(dotTextPostId))

                relativeLink = posts[dotTextPostId];

               

            string redirUrl = string.Format("{0}://{1}{2}",

context.Request.Url.Scheme, context.Request.Url.Authority,

relativeLink);           

            context.Response.Redirect(redirUrl, false);

            context.Response.StatusCode = 301;

            context.Response.End();

        }

    }

 

    private static readonly Regex DOTTEXT =

new Regex(@"/archive/\d{4}/\d{2}/\d{2}/(?<postId>\d+)\.aspx$",

        RegexOptions.IgnoreCase | RegexOptions.Compiled);

 

    private int GetPostId(string url)

    {

        Match match = DOTTEXT.Match(url);

        if (match.Groups.Count > 0)

        {

            int postId;

            if (int.TryParse(match.Groups["postId"].ToString(), out postId))

            {

                return postId;

            }

        }

        return 0;

    }

   

    // Retrieve a list of old posts, cache the result

    protected System.Collections.Generic.Dictionary<int, string> GetPosts()

    {

        System.Collections.Generic.Dictionary<int, string> posts =

HttpContext.Current.Cache["posts"] as

            System.Collections.Generic.Dictionary<int, string>;

        if (posts != null) return posts;

       

        posts = new System.Collections.Generic.Dictionary<int, string>();

 

        string query =

"SELECT PostID, DottextPostID FROM be_Posts WHERE DottextPostID IS NOT NULL";

       

        System.Data.SqlClient.SqlDataAdapter sqlDa =

            new System.Data.SqlClient.SqlDataAdapter(query,

            ConfigurationManager.ConnectionStrings["BlogEngine"].ConnectionString);

 

        System.Data.DataTable postTable = new System.Data.DataTable();

        sqlDa.Fill(postTable);

        foreach (System.Data.DataRow item in postTable.Rows)

        {

            Post p = Post.GetPost((Guid)item["PostID"]);

            posts.Add(int.Parse(item["DottextPostID"].ToString()), p.RelativeLink);

        }

 

        HttpContext.Current.Cache.Add("posts", posts, null, DateTime.MaxValue,

Cache.NoSlidingExpiration, CacheItemPriority.Normal, null);

        return posts;

    }

It may not be the most well-designed code, but it does the trick.

Currently rated 3.1 by 9 people

  • Currently 3.111111/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags:

Sorting generic lists; can it be done with less code?

by Sander Gerz December 15, 2008 09:42

Trying to find a method to sort a generic list, I found this solution. While this seems like an elegant solution, I found it a bit much code for my purpose. I only wanted to sort a list with objects that had a date property. This is the shortest version I could come up with (C# 3.0):

list.Sort((p1, p2) => p1.DateAdded.CompareTo(p2.DateAdded));

Obviously, sorting on any other property is just as simple:

list.Sort((p1, p2) => p1.ProductName.CompareTo(p2.ProductName));

Here's the class definition and some sample data to do the exercise yourself if you want to.

    class Product

    {

        public int ProductId { get; set; }

        public string ProductName { get; set; }

        public decimal Price { get; set; }

        public DateTime DateAdded { get; set; }

    }

       List<Product> list = new List<Product>() {

            new Product() {ProductId=1, ProductName="Item1",

                Price=20.00M, DateAdded=DateTime.Parse("2008-11-02")},

            new Product() {ProductId=1, ProductName="Item2",

                Price=10.00M, DateAdded=DateTime.Parse("2008-04-02")},

            new Product() {ProductId=1, ProductName="Item3",

                Price=40.00M, DateAdded=DateTime.Parse("2008-02-03")},

            new Product() {ProductId=1, ProductName="Item4",

                Price=30.00M, DateAdded=DateTime.Parse("2008-11-01")}};

Enjoy.

Currently rated 2.0 by 6 people

  • Currently 2/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags:

.NET

Enterprise Administrator certification

by Sander Gerz December 06, 2008 10:12
Windows Server 2008 De Basis

This came in my mail this morning: "Congratulations on earning your Enterprise Administrator certification! We hope you enjoy the benefits of your certification and of membership in the Microsoft Certified Professional community."

 Last Wednesday was my final exam: “70-647 PRO: Windows Server 2008, Enterprise Administrator”. Although the score was good (947) it felt like the most difficult exam of the five. With all those trees and forests, it was not a walk in the park.

Just in time for my book which is now published.

Currently rated 2.3 by 3 people

  • Currently 2.333333/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags:

Visual Basic losing interest?

by Sander Gerz November 24, 2008 12:08

An interesting tool from Google allows you to display the trend of search terms over time. Out of curiosity, I looked at the popularity of the terms “visual basic” and “c#”. It doesn't look too good for VB.

(Red line shows interest in visual basic, blue is C#). Another interesting insight is the region where people seems to be searching for C# (India). And what about C# versus Java? Interesting findings.

 

Currently rated 2.3 by 3 people

  • Currently 2.333333/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags:

.NET

Announced: LiveID will support OpenID

by Sander Gerz October 27, 2008 20:06

Here, sitting in a session from Kim Cameron, he just mentioned that LiveID will support OpenID. So, if you use OpenID to access sites and services, you can re-use your LiveID to log in. Applause in the room.

 

Currently rated 1.0 by 1 people

  • Currently 1/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags:

Airport security check

by Sander Gerz October 26, 2008 11:06

On my way to the PDC in Los Angeles, I get the usual drill at the security check at Schiphol airport. “Where are you going?”. - Los Angeles. “Why?” - Well, I'm attending a conference on software development. “Why do you want to go there?” - I'm a software developer, so I hope to catch up on the latest technologies. “So, you're in computers, huh? Can you tell me why every time I get an update for Windows, some stuff doesn't work anymore? Like, when I last updated my computer, the CD drive stopped working.” - Euh... I wouldn't know. It should work, and it usually works fine for me.

After that final remark, he now surely believes I'm a developer and wishes me a pleasant flight.

  

Currently rated 1.0 by 1 people

  • Currently 1/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags:

Powered by BlogEngine.NET 1.4.5.0
Theme by Mads Kristensen | Modified by Mooglegiant