Jeff Sheldon

Mostly.NET
posts - 10, comments - 1, trackbacks - 0

Friday, September 18, 2009

Dilemma’s and Ideas…

While I was cruising The Morning Brew this morning, I came across Rick Strahl’s implementation of CodePaste.net.  Which by coincidence was exactly the kind of thing I was gong to create with KodeBits.com.

Now I’m not bitter, but it does suck to find out not only that an idea you’ve come up with has already been done, but to find out that it’s been done well.  I mean, CodePaste.net is hot.  So now the dilemma, do I come up with a new idea for the KodeBits.com domain?   Do I continue on and just release it as open source, making it a learning exercise?  Or just throw the project away and come up with something new?  Who knows!

I mean, really, in today’s day and age, ideas that haven’t been done are hard to come by.   Even ideas that have been done poorly in the past, are tough to find.  I suppose it’s something I’ll need to sit and ponder for a bit.   We’ll see.  But for now, I think I’m going to shelve the project and look for alternatives.

posted @ Friday, September 18, 2009 5:33 PM | Feedback (0) |

Thursday, September 17, 2009

KodeBits Progress…

Well progress is pretty good actually.   I’ve got a basic framework done.  And a decent layout established.   It’s not fantastic, but hey, I never said I was a designer.

Only had a few hours each night to work on it, so it’s not going as fast as I’d like, that, and I’m never 100% happy with my end result, so I keep refactoring to clean things up.

I’ve been trying to put all of my “Logic” into a separate layer.  Make the controllers aware, but dumb.  The issue there, is that it’s been pushing my business logic into my Service layer, and I don’t think I like that.  I think I’ll need another layer in between.

So I’ve been tossing around the idea of making KodeBits open source.   I have no intentions on selling it or anything, maybe some adsense on there or something, so that’s not my concern. 

I have two fears.

1.  This would be my first open source app.  And it fears me to put myself out there like that.  It’s hard enough writing to a blog that no one reads, I think I’ll fall out of my chair when I get my first comment.

2.  I try to make my applications secure, but I’m all by myself here, and I make mistakes.  I’d hate to make it easier for someone to hack my site because I leave the source out there for anyone to look at.

Oh well, I’ll think about it…

So I’ve got my OpenID Authentication setup the way I like.  And a basic flow for initial authentication, but it still needs work.  I added a “Credits” section too..Only fair because I’m using other peoples stuff too. i.e. DotNetOpenAuth.   I also feel I need to throw some serious credit to the guys over at stackoverflow.  It feels like I’m borrowing from the “Feel” when you’re over there.  Think I might have to send an email to them to make sure I don’t piss them off.

Oh well, off to bed!

posted @ Thursday, September 17, 2009 10:13 PM | Feedback (0) | Filed Under [ KodeBits ]

Saturday, September 12, 2009

Oh yeah….

I forgot a couple of things I wanted to say…

Firstly, it’s been a while since I updated Subtext, so I went ahead and did that.  And just in case you’re as dumb as I am, late me save you a few minutes by informing you to make sure you don’t copy up the web.config blindly.  Oh yeah…there was 5 minutes of my time wasted digging around for the connection string to the blog’s database so I could put the site back together…Good times….

But back to KodeBits.  I wanted to touch on my reasoning behind this..  I’ve been playing around with ASP.NET MVC for a little while now, and I’ve been really looking for a site to build with it.  And now that ASP.NET MVC 2 is on it’s way, I finally figure something out.   The technologies I’m using are:

  • SubSonic AND Entity Framework (That’s right both)
  • ASP.NET MVC 1.0 (Will upgrade to 2.0 once that’s in VS2010)
  • Structure Map – Don’t know how I got along without this..
  • A whole lot of jQuery love

Yeah, I’m using a simple repository pattern, and I wanted to have two different repository types built off of my Interfaces.  Why? Cuz I can.   I know it’s extra work, but I like the idea of being able to flip between two for no reason whatsoever.  Plus I wanted to show a colleague the benefits of the repository/interface approach.

Hrm, ok I think that’s it for real this time.

posted @ Saturday, September 12, 2009 6:31 PM | Feedback (0) | Filed Under [ aspnetmvc subsonic structuremap jquery subtext KodeBits ]

Blog? What Blog?

So I put “Stylez” or whatever on hold.  I re-read Rob Conery’s post and put a little more thought into it.   I decided a “Blog” isn’t something I want to write, at least right now.  But I did decide on something that I’ve been working on.

No details yet, but what I will say is this.

I’m pretty set now with what I want to do.  I’ll give you a clue though, my inspiration came from this post from Drew Miller about the release of Color Code 1.0.

Also, I’ve started working recently with Dario Solera on ScrewTurn Wiki.   IMO one of the best pieces of Wiki software out there.   Dario put’s a lot of effort into it, and I think it shows.  Not to mention it’s free, and open source.

Ok that’s enough, back to work!

logo

posted @ Saturday, September 12, 2009 5:48 PM | Feedback (0) | Filed Under [ KodeBits ]

Saturday, August 15, 2009

Introducing Stylez

Since this engine is for me, and I don’t really feel like fleshing out a super cool name for it like Subtext, or Blogger, I think I’ll just simply call it Stylez. 

Database Design

I have to start with my database design and work my way up, I just find it easier that way.   I’m using Sql Server 2005, simply because that’s the version I still have installed, and that’s the version my host provides me.  I threw together a simple design, that I can easily expand on later.  See below:

Stylez_DBDesign


This gives me just about everything I need right up front, and allows for easy expansion in the future.  Now to create and setup my project.

posted @ Saturday, August 15, 2009 2:58 PM | Feedback (0) |

Time to make the donuts!

I haven’t had much to blog about lately, but then ran across this post from Rob Conery in which he talks about every developer should have to build their own light saber so to speak.  Every developer should take the time to forge out something for them, that they need, their way.   It’s kind of an inspiring post, if you read some of his comments that go along with it.  While I’m happy with the blog engine I’m using (Subtext) for the most part, I don’t think I use it enough.   I think if I spend the time writing one, and maybe blogging about my progress, it might open me up to blogging in the future.

It’s tough to sit here and write your thoughts online and open yourself up to a great deal of criticism, but a lot of others do it, and they’re still breathing.  I suppose since no one reads this thing, I can just consider it a resource for myself, a place I can come back to for snippets or ideas I shelved in the past.

Now… lets make my shopping list.. 

Technologies

I’m pretty sure I want to use  ASP.NET MVC 2 and SubSonic 3.  My reasoning here is, if I’m not mistaken, I can’t use the ASP.NET MVC 2 Beta with VS2010, so that keeps me using .NET 3.5 (As much as I’d like to start using the new Entity Framework)  Also, I haven’t used SubSonic in a while, I’d like to get back into it and see what features they’ve added.

Maybe I can find some places to inject some Silverlight 3?

Ideas

Well, I’d like for it to work with Windows Live Writer.   That’s how I create my posts now, and it’s helpful.

Need to have your basics…  Rss Feeds, Recent Posts, Tag Cloud……

Interactivity, the only interaction between visitors and a blog seems to be comments, I wonder if I can come up with something more…

I really like the feel and flow of Stack Overflow, I’d like to present the same fluid kind of feel. 

 

Design

Lets think about design patterns.  I’m a big fan of a kind of pseudo repository pattern where an IQueryable object is passed up to from the data layer, through the business layer directly to the consumer.   But maybe it’s time to try something different.

While I’m using the latest and greatest, I think I’ll use the new MVC controls by Telerik.  I’ve used all of Telerik’s controls at some point over the past few years, but these are open source, so I think I’ll include them in this project.  (Going to release the full source, so don’t want any third party stuff blocking that).

I want administration to be a no brainer.

Auto Linking….    Live Writer does it already, but it might be kind of neat to implement it in the engine itself.

 

That’s enough for now, let me go think on this some, and come up with a name.

posted @ Saturday, August 15, 2009 2:28 PM | Feedback (0) | Filed Under [ aspnetmvc subsonic telerik blog ]

Tuesday, November 04, 2008

Election Night!

I don't want to get all political or anything.  I love how passionate people get about politics, but I hate how it becomes a fight so quickly.  Regardless, I'm glued to my seat watching the results!

Get out there and vote everyone!!

This is what I'm viewing from time to time, thought I'd share it.

posted @ Tuesday, November 04, 2008 5:00 PM | Feedback (0) | Filed Under [ Election ]

Sunday, November 02, 2008

Zoo trip!

Went to the Philadelphia Zoo yesterday.   My wife, 3 kids, and my mother went with us.  Fun had by all!  Took a couple of shots with my iPhone I thought I'd share.

mmm...Gator

Snack time?

 

 

Giraffe's are cool

Who doesn't love Giraffe's?!

 

 

Tigers are cool...

 

My mom holding up my daughter so she can see, and my oldest son. 

 

 

Now I have to get back to playin work with jQuery!

posted @ Sunday, November 02, 2008 11:48 AM | Feedback (0) | Filed Under [ Family ]

Thursday, October 30, 2008

ASP.NET MVC – It’s everywhere!

I have been having a ton of fun using the ASP.NET MVC Framework, and lately, I've been seeing others getting into it as well.   Rob Conery’s MVC Storefront series is a big one, going through the entire development of a real life application.   Then I noticed today that Amr Elsehemy is doing something similar.  I should start posting more snippets of my work and things I’ve learned.

 

What I’ve learned?

Lately? Tons.  Where to start.   Well last night I tossed out a minor blurb about the Cache Manager I’m working on.   So what else do I have to offer?  How about….Script management?

I can get more detailed into this later if people care, but lets just say that with the combination of:  

  1. A base controller to handle adding the script tags to the view data. 
  2. A Command Line version of Dean Edward’s packer.
  3. And some well placed post-build commands.

I was able to easily include what scripts I needed where, without any extra bloat.

Now I’m going to try to include this random image to see if posting images from Live Writer works.

screenshot.1225371920

posted @ Thursday, October 30, 2008 9:14 AM | Feedback (1) |

Wednesday, October 29, 2008

It has begun!

Well I feel the need to start sharing.   Though I don't know what I'll share, mostly what I learn is from other blogs.  But who cares? No one knows who I am yet anyway, right?

So what do I have to talk about today?  My incessant need to continuously find a "better way".  There's this project of mine, that I've been working on for about 2 years now.  The problem is I keep having to put it only hold for various reasons.  (I'm sure others can relate)  The problem is, when I come back to it, and look over the code, I'm disgusted.   Over my "break" from the code, I've continued to read, and learn, and now that I've picked my project up again, I know of a "better way" or simply just want to apply some knowledge I've learned.

This project started off as a basic ASP.NET web site using SubSonic as my tool of choice for access the database.  And now?  It's an ASP.NET MVC application using the entity framework.   Speaking of which, Hat's off the the ASP.NET MVC devs!

So what hunk of code do I have today?  Well this CacheManager tool I've been messin around with.   Here's the primary static method I'm using. 

        public static T HandleCache<T>(IQueryable<T> Query, object Value, int? MinToExpire)

        {

            var keyName = string.Format("{0}_{1}", typeof(T), Value);

            if (HttpContext.Current.Cache[keyName] != null && HttpContext.Current.Cache[keyName] is T)

                return (T)HttpContext.Current.Cache[keyName];

 

            var item = Query.FirstOrDefault();

            if (item != null)

            {

                if (MinToExpire.HasValue)

                    HttpContext.Current.Cache.Add(keyName, item, null, DateTime.MaxValue, new TimeSpan(0, MinToExpire.Value, 0), CacheItemPriority.Normal, null);

                else

                    HttpContext.Current.Cache.Insert(keyName, item);

            }

            return item;

        }


See, I'm lazy... I just want to call something like:

var account = CacheManager.HandleCache<Account>(m_AccounService.GetAccount().WithID(UserID), UserID, 20);



And poof have my Account object (If it exists) and have it all cached up and ready to go. I just feel like there could be a better way.


Technorati Tags: ,,

posted @ Wednesday, October 29, 2008 4:15 PM | Feedback (0) | Filed Under [ aspnetmvc ]

Powered by: