I wanted a feature similar to this for quite some time. Really it is one of the things that I missed from WordPress. The ability to take LaTeX (like 
\documentclass{article} 
\usepackage{amsmath}
\usepackage{amsthm}
\usepackage{amssymb}
\usepackage{bm}
\newcommand{\mx}[1]{\mathbf{\bm{#1}}} % Matrix command
\newcommand{\vc}[1]{\mathbf{\bm{#1}}} % Vector command 
\newcommand{\T}{\text{T}}                % Transpose
\pagestyle{empty} 
\begin{document}
$y= r\sqrt {1-\frac{x^2}{r^2}}$
\end{document}) based sequences and convert them to .png to display on my blog. You will also need to note that I did this on a self hosted environment, you may have to check with your hosting provider first to see if this will work for you. Here are the steps I took to achieve this:

  1. Download MikTex portable from http://www.miktex.org/portable/about
  2. Extract the zip file to a folder on your server (I chose c:\Tools)
  3. Setup your IIS User in Windows (NOT IIS) to have Read+Execute permissions on the above folder
  4. Make sure you are setup in Full Trust
  5. Download the extension attached to this post into your ~/App_Code/Extensions folder
  6. Setup the directory paths properly
  7. Make sure the output directory is Read+Write permissions for your IIS User (in both Windows and IIS)

More...

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

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

I integrated GalleryServerPro into BlogEngine.NET using the ASP.NET SQL Server Membership. Here are the steps that I went through to accomplish this.

Integrating GalleryServerPro with BlogEngine.NET (Please note this is for MS SQL Server installation using SQL Server Membership, you can tweak it to be anything you want this just worked for my setup)

  1. Obtain GalleryServerPro from http://www.galleryserverpro.com/ (Please donate, this guy rocks!)
  2. Compile the web application into a separate folder
  3. Copy all of the .dll files from GalleryServerPro/Website/bin into your BlogEngine.NET/Bin folder
  4. I created a folder called BlogEngine.NET/gallery to support the required files
  5. This is the batch file that I use:

    xcopy /Y /S GalleryServerPro\Website\gs\controls BlogEngine\BlogEngine.NET\gallery\gs\controls\
    xcopy /Y /S GalleryServerPro\Website\gs\handler BlogEngine\BlogEngine.NET\gallery\gs\handler\
    xcopy /Y /S GalleryServerPro\Website\gs\images BlogEngine\BlogEngine.NET\gallery\gs\images\
    xcopy /Y /S GalleryServerPro\Website\gs\pages BlogEngine\BlogEngine.NET\gallery\gs\pages\
    xcopy /Y /S GalleryServerPro\Website\gs\script BlogEngine\BlogEngine.NET\gallery\gs\script\
    xcopy /Y /S GalleryServerPro\Website\gs\services BlogEngine\BlogEngine.NET\gallery\gs\services\
    xcopy /Y /S GalleryServerPro\Website\gs\skins BlogEngine\BlogEngine.NET\gallery\gs\skins\
    REM xcopy /Y /S GalleryServerPro\Website\CodeFiles BlogEngine\BlogEngine.NET\App_Code\CodeFiles\
    xcopy /Y /S GalleryServerPro\Website\Properties\* BlogEngine\BlogEngine.NET\Properties\
    xcopy /Y /S GalleryServerPro\Website\App_GlobalResources\* BlogEngine\BlogEngine.NET\App_GlobalResources\
    xcopy /Y /S GalleryServerPro\Website\bin\GalleryServerPro.Web.dll BlogEngine\BlogEngine.NET\Bin\
    del /S /F BlogEngine\BlogEngine.NET\gallery\gs\*.designer.cs
    echo DONE

    Keep in mind that you need to call the delete command. Removing the *.designer.cs files are required to convert these control files from a web application to a website (since that is what BlogEngine.NET uses).

  6. This step is the most complicated and difficult. Please be VERY aware of how to modify web.config files. If there is an error after these instructions it is 95% chance that it was an error inside this step.
  7. Merge data from the GalleryServerPro/Website/web_sqlserver_2.0 (or GalleryServerPro/Website/web_sqlserver_3.5 depending what version of .NET Framework you have). into your BlogEngine.NET/web.config. I would strongly suggest backing up your old web.config file so you can redo it over again if things get too hairy.
  8. Edit your global.asax file by adding this to the end of your void Application_Start(object sender, EventArgs e) method
    Application["ComponentArtWebUI_AppKey"] = "This edition of ComponentArt Web.UI is licensed for Gallery Server Pro application only.";
  9. Run the http://yoursitehere.com/gallery/Default.aspx?g=install and follow the Wizard
    After you upload the changes to your website follow these instructions on how to get the website setup http://www.galleryserverpro.com/support/GalleryServerProAdminGuide_v2_2_3286.pdf
  10. After installing it look at BlogEngine.NET/gallery/gs/pages/install.ascx and change the setup option to false

You can visit my gallery by going to http://www.jwendl.net/gallery/

I also wrote an extension to convert [ gsp:1234 ] into a GalleryServerPro thumbnail. I am still working on it though, but here is the initial version.

GalleryServerPro.cs (3.13 kb)

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

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

Edit: I have stopped work on this functionality as I was able to integrate BlogEngine and GalleryServerPro

I am providing a "pre-release" version of my photo gallery control for BlogEngine. There were a few things I considered when making this control (and not going with other solutions that exist).

  • No third party assemblies (that means everything written from scratch).
  • Keep business logic and control logic inside one contained .DLL file.
  • The interface with BlogEngine will be through an extension.
  • Follow the BlogEngine method of abstracting data types and resource files.
  • Make the gallery control easy to setup and use.

With these goals in mind, I hope that my assembly + extension will be considered as part of the core of BlogEngine. If I do not accomplish this goal, well then I have a pretty kick arse photo gallery for my personal use.

 More...

Comments Comments (2) 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

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

I have created a BlogEngine extension for all of you World of Warcraft enthusiasts out there. This extension basically replaces [ wowid:22589 ] or [ wowtext:Atiesh, Greatstaff of the Guardian ] with Atiesh, Greatstaff of the Guardian and Atiesh, Greatstaff of the Guardian respectfully. It uses the latest Wowhead javascript library that they suggest the community uses for this sort of thing.

Installation is easy, just drop the WowItemLink.cs into your ~/App Code/Extensions folder and upload onto your web host. It will work on both Pages and Posts. I have tested it with the majority of inputs that I can, but I am certain there are bugs with it. If you find any please post here and I will look into it.

WowItemLink.cs (3.37 kb)

Comments Comments (22) 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

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.33 +0.41 (+1.65%)
GOOG 470.76 +6.36 (+1.37%)
BBY 33.60 -0.09 (-0.27%)
CML 18.87 +0.40 (+2.17%)
COST 58.94 +0.30 (+0.51%)
MSFT 23.9982 +0.0382 (+0.16%)

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