I will be attending Microsoft's Professional Developers Conference (PDC) for 2008 in Los Angles. It will be interesting to see what Microsoft has to offer as far as insight on the new tools goes. I am excited for the pre-conference session I signed up for also titled Performance by design using the .NET Framework. I plan on blogging about this when ever I can. So keep your eyes glued to my crappy blog and you may learn a thing or two.

Comments Comments (3) Permalink Permalink     Rss feed for comments Post Comment Feed

E-mail DotNetKicks Digg StumbleUpon Slashdot Twitter Facebook Del.icio.us

I have written an extension to allow you to convert short link displays to a real link. It makes it easier to write your posts / pages when you don't remember the exact link to say a google search page. The format would be something like this [ shortlink:google,Test,Test ] where the first field after the google word is the link text and the second word is the display text. Then in the ExtensionsManager you could create an entry like google and http://www.google.com/search?hl=en&q={0}

When it serves the page if the body contains anywhere the word shortlink it then processes the short links against the rules you have setup. Please note that it is the very first draft of this extension. I think there are ways to make it more efficient, but for now I wanted to release it and see what people think.

ShortLink.cs (2.32 kb)

Comments Comments (19) Permalink Permalink     Rss feed for comments Post Comment Feed

E-mail DotNetKicks Digg StumbleUpon Slashdot Twitter Facebook Del.icio.us

While working on a school project using wxPython and XML I was intrigued by the way that Python wants you to handle XML. You have three options, 1) expat, 2) SAX or 3) DOM. All three methods happen to be very disgusting to implement. I decided that it would be worth time spent to find a good way to convert XML to an extensible object structure. I actually found that method at this URL http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/149368. The best part of this snippet is that you can call an elements name, get their child, get the name of the child, get an attribute all really fast (because the author used expat).  

for child in element.children :
	if child.name == "Panel" : 
		pnl = wxPanel(frame, pos=(child.getAttribute("x"), child.getAttribute("y")), size=(child.getAttribute("width"), child.getAttribute("height"))) 
		for control in child.children : 
			self.setControl(pnl, control) panels.append(pnl) 
		else : 
			self.setControl(frame, child)

Comments Comments (0) Permalink Permalink     Rss feed for comments Post Comment Feed

E-mail DotNetKicks Digg StumbleUpon Slashdot Twitter Facebook Del.icio.us

Every time I go deeper into the BlogEngine code base I am caught off guard at how well thought out the abstraction layers are. The ExtensionManager is another layer that helps people who build Extensions have a place to administrate their extension. If you don't want to use the default Settings class holder, you can use a custom administration page.

Method public static void SetAdminPage(string extension, string url)
Description Allows to set custom settings page to use instead of default page.
Usage ExtensionManager.SetAdminPage(“BBCode”, “~/path/to/mypage.aspx”);

http://rtur.net/blog/post/2008/01/Documentation-on-Extension-Manager.aspx

I am going to have to put this to good use with my RandomQuotes extension that I am trying to make work.

Comments Comments (4) Permalink Permalink     Rss feed for comments Post Comment Feed

E-mail DotNetKicks Digg StumbleUpon Slashdot Twitter Facebook Del.icio.us

This BlogEngine instance uses the Asp.NET Membership Provider, and it was actually quite easy to convert. Big kudos to the team who has worked on this Blog software.

Comment out this code inside Web.config

  <membership defaultProvider="XmlMembershipProvider" >
    <providers>
      <clear />
      <add name="XmlMembershipProvider" type="BlogEngine.Core.Providers.XmlMembershipProvider, BlogEngine.Core" description="XML membership provider" xmlFileName="~/App_Data/users.xml"/>
    </providers>
   </membership>

   <roleManager defaultProvider="XmlRoleProvider" enabled="true" cacheRolesInCookie="true" cookieName=".BLOGENGINEROLES">
    <providers>
      <clear />
      <add name="XmlRoleProvider" type="BlogEngine.Core.Providers.XmlRoleProvider, BlogEngine.Core" description="XML role provider" xmlFileName="~/App_Data/roles.xml"/>
    </providers>
   </roleManager>

Replace it with this code

  <membership defaultProvider="SqlMembershipProvider">
    <providers>
      <add name="SqlMembershipProvider"
          type="System.Web.Security.SqlMembershipProvider"
          connectionStringName="BlogEngine"
          applicationName="JwendlBlog"
          minRequiredPasswordLength="5"
          minRequiredNonalphanumericCharacters="0" />
    </providers>
   </membership>

   <roleManager enabled="true" defaultProvider="SqlRoleProvider">
    <providers>
      <add connectionStringName="BlogEngine" name="SqlRoleProvider"
          applicationName="JwendlBlog"
          type="System.Web.Security.SqlRoleProvider" />
    </providers>
   </roleManager></pre></div>

 

Then you have to install the ASP.NET Membership SQL Registration program. Best described at this URL http://aspnet.4guysfromrolla.com/articles/040506-1.aspx

This was almost all you need to do to finish the conversion. The problem is that you need to now setup a default user of some sort. This can be easy, or hard depending on how the WSAT installed your instance. Please read up on ASP.NET membership before you attempt to convert over. I had to manually set the roles up on the proper application and user inside the aspnet_UsersInRoles table. After that, login with the default user and everything works just fine.

The reason why this works is because the XmlMembershipProvider class inherits the MembershipProvider class that ASP.NET provides. This means that all of the functions that BlogEngine uses for authentication are extensible to any custom membership provider that you can dream of.

Comments Comments (12) Permalink Permalink     Rss feed for comments Post Comment Feed

E-mail DotNetKicks Digg StumbleUpon Slashdot Twitter Facebook Del.icio.us

I have developed a fairly decent way of getting my gamertag on my website side bar without using Iframes. It uses an API that was developed by Duncan Mackenzie. I just take the data and place it on my SideBar.ascx for BlogEngine. This script will work pretty much anywhere though.

More...

Comments Comments (0) Permalink Permalink     Rss feed for comments Post Comment Feed

E-mail DotNetKicks Digg StumbleUpon Slashdot Twitter Facebook Del.icio.us

The word API is defined as an Application Programming Interface, or rather it is a set of code that allows an external appliation to affect a part of an appliation. If you were to ask what my favorite thing to work on as far as programming or software design is concerned it is in this field. Realistically that is what the Web 2.0 hype is all about. The easy creation of dynamic controls and the ability to access functionality from external applications.

One thing that was made was the tooltip add for World of Warcraft that http://www.wowhead.com/ created. Here is a test of this API:

Merciless Gladiator's Touch of Defeat

The easier you setup an API, the more likely it is going to be used. This may sound obvious, but there are a lot of poor software out there that ignore this fact. There are a lot of things to consider when developing an application and the easy use of APIs should be added to this lengthy list of considerations.

Comments Comments (0) Permalink Permalink     Rss feed for comments Post Comment Feed

E-mail DotNetKicks Digg StumbleUpon Slashdot Twitter Facebook Del.icio.us

Well our team got 8th place in the region, and 1st place on campus for the programming contest. We tried really hard and were right with many things that we did. One of the problems we kept getting a "wrong answer' on because the test cases were screwed up. I sent out a request to the judges to double check the test cases. They said the test cases and solutions were correct and our team had a "wrong answer". So we skipped it and moved on, only to find out an hour later our prediction was correct and their test cases were inaccurate.

When all was said and done we had 5 minutes left on the clock and we were almost done with our 6th problem out of ten when we had a formatting issue with printf. Then time was up, it is really so unforgiving. At least we competed and we got first place on the campus which is a good thing. Also getting 8th is not that bad either especially with the turnout of teams. You can look at the results here http://cs.unomaha.edu/~acmregn/rankorder.html so long as they keep the link up. Look for University of Minnesota : null_ptr

Afterwords I went to a buddy's house and played an X-box game called Gladiator and had a few drinks. I am nice and calm at the moment (almost ready to pass out.) Tomorrow I get to work on programming code all day long yay for me.

Comments Comments (1) Permalink Permalink     Rss feed for comments Post Comment Feed

E-mail DotNetKicks Digg StumbleUpon Slashdot Twitter Facebook Del.icio.us

Here is the answer to one question the interviewer gave me:

#include <iostream.h>
using namespace std;

// toLower
char *toLower(char *ptr);
int main() {
   char *test = new char[251];
   cout << "Enter a string to lower : ";
   cin.getline(test, 250);
   toLower(test);
   cout << "The result is : " << test << endl;
}

char *toLower(char *ptr) {
   while (*ptr != '\0') {
      if (*ptr > 'A' && *ptr < 'Z') {
         *ptr -= 'A' - 'a';
      }
      *ptr++;
   }
   return ptr;
}

Comments Comments (0) Permalink Permalink     Rss feed for comments Post Comment Feed

E-mail DotNetKicks Digg StumbleUpon Slashdot Twitter Facebook Del.icio.us

About Author

Justin Wendlandt
Justin Wendlandt
I work for Wells Fargo, play a lot of video games, and program in many languages. [ more ] E-mail me Send mail

View Justin Wendlandt's profile on LinkedIn View Justin Wendlandt's Facebook Profile View Justin Wendlandt's Twitter Profile View Justin Wendlandt's Zune Profile View Justin Wendlandt's Xbox Live Profile

Calendar

<<  September 2010  >>
MoTuWeThFrSaSu
303112345
6789101112
13141516171819
20212223242526
27282930123
45678910

View posts in large calendar

Recent Posts

Recent Comments

Comment RSS

Most comments

Sterling Sliver Jewellery Sterling Sliver Jewellery
1 comments
us United States
Clone High Streaming Clone High Streaming
1 comments
us United States
iphone mad iphone mad
1 comments
gb United Kingdom

Poll

This poll is closed.
What do you use to connect to the internet?
A DLink Exterme Gaming router
 
0.0%
A Linksys / Cisco home router
 
0.0%
None of the above
 
0.0%
A Netgear home router
 
0.0%
I built my own box to do routing
 
100.0%

Total Votes: 1

Stock Quotes

WFC 25.34 +0.42 (+1.69%)
GOOG 471.52 +7.12 (+1.53%)
BBY 33.58 -0.11 (-0.33%)
CML 18.70 +0.23 (+1.25%)
COST 59.12 +0.48 (+0.82%)
MSFT 23.99 +0.03 (+0.13%)

Digsby

Xbox Gamer Card

Jwendl Gamer Score: 11570
Jwendl
Rock Band 2 (310) TMNT 1989 Arcade (35) Assassin's Creed II (340) Marvel Ult. Alliance 2 (390) FINAL FANTASY XIII (245) Borderlands (1340) Kane and Lynch:DeadMen (40) Madden NFL 10 (0) Family Game Night (0) STREET FIGHTER IV (180) South Park (180) Gears of War 2 (400) TEKKEN 6 (0) Culdcept SAGA (95) CSI: Deadly Intent (0) CSI-Hard Evidence (0)
Offline
9/7/2010 8:08:47 PM
Last seen 10 hours ago playing Xbox.com

Xbox Avatar

xbox Avatar

Disclaimer

The opinions expressed herein are my own personal opinions and do not represent my employer's view in anyway.

© Copyright 2010

Creative Commons License