CodeStock 2009 on Twitter

press-bird

During CodeStock 2009, I was busy and didn’t get much time to check on email or twitter.  I subscribe to an RSS feed of a “CodeStock” search in my news reader so I don’t miss anything, and tonight I went though the 300+ tweets and saved off some of my favorites.

This is mostly for me, to pump myself up during the dark hours of organizing CodeStock 2010.  These tweets show it’s not about creating an awesome event, it’s about setting a stage where people can do awesome things.  I’ll have a post soon about my time planning/running/enjoying CodeStock this year, but for now enjoy these tweets.  (You can follow me on twitter as @ViNull and CodeStock announcements as @CodeStock)

@crazeegeekchick - http://twitpic.com/8f86g - @vinull, @rachelappel standing around

@jayharris - I am so far vack in line at #codestock that I might as well register for #devlink. Hello, Nashville.

@bramhaghosh - Codestock rocked and looking forward to devlink but damn tn is hot and humid

@reneeholiday - @codestock @archidraca kicks arse!! and dragontee.com has some really cool designs! so glad to meet you. :-)

@crazeegeekchick - http://twitpic.com/8f5eb - Geeks at codestock!!!

@wbm - http://twitpic.com/8fcz2 - Serious discussions at #codestock

@joshgrenon - I soldout @codestock!

@rkierner - Awesome conversations tonight with @skimedic, @agstemen and @johnboker. Looking forward to #codestock. Look for my "Pair w/ Me" sign.

@arcanecode - All fresh & clean. They even have that indoor plumbing I've heard so much about. All beautified for my #CodeStock presentation this AM!

@MLaritz - I'm never up this early ... Thanks #codestock

@jwright - I recorded most of @alanstevens Opening Circle on the iPhone at #Codestock. Uploading now to YouTube. Will tweet out when it's uploaded.

@ChrisLove - Hey #CodeStock folks WAKE UP!!!! Its almost 10, where are your tweets????

@kirstinj - @rachelreese and I need a ride to #Codestock from the ghetto hotel (La Quinta). (The princess has finally awakened- it is 7 am her time)..

@sbeardsley - Learned new term "defugging" debugging with the F Keys (F5, F10, F11) #Codestock

@joshholmes - Riding my '77 gl1000 down to #codestock from philly. Just crossed into tn!

@jbkazoo - @mjeaton ...sweet... what happens on the way to #CodeStock stays at #CodeStock (ROFL)

@mattbrewer - @AlanBarber Thanks & once again, you help the folks who arent at the venue feel like they are there! http://is.gd/1eGSH #codestock

@alanbarber - #deepfriedbytes live tonight at 5:00pm in the #codestock auditorium! be there or woody and elder will cry!

@kirstinj - R @RachelReese and I have started our own Cool Kids club. You can only be in it if you've never been an MVP. #CodeStock

@scottradcliff - The #codestock tweets are making me angry. I'm jealous!

@pngwen - Back from day one of #codestock. Installing my free copy of windows 7 RC!

@kirstinj - http://twitpic.com/8ieoo - Geeks eating and tweeting. #CodeStock

@cwoodruff - Waiting for midget wrestling at Electric Cowboy #codestock

@gmakinabakan - Beer=England food=thai friend=turkish music=jamaica place= #Codestock Tenessee. This is the international Scott http://tinyurl.com/otpe2o

@sbeardsley - People with eat, sleep, code shirts are dancing in the crowd to reggae... I see you! #Codestock

@alanbarber - RT @benfarmer: Big thanks goes out to @_Neville for an excellent #codestock after party. Nev FTW!

@arcanecode - Wiped out. Time for some Zs, tomorrow is another exciting day at #CodeStock. Especially looking forward to @whimsql open space SSIS session

@joshgrenon - Things to do after #codestock http://tr.im/pWsZ

@BwanaJim - @joshgrenon Number 11: spend all night twittering about #CodeStock and sleep through Saturday's sessions.

@kirstinj - OH: "I love cross-site scripting attacks!" #CodeStock

@kirstinj - @thingles Well, they kicked us out of the pool at 10pm. #CodeStock

@81bronco - By far the most entertaining portion of the evening was watching people tweet to each other while standing 3 ft apart. #CodeStock

@LinqKinq - If you attended my Inside LINQ talk at #Codestock, I appreciate feedback at http://bit.ly/3Lz5bp

@steverb - Time to get ready to stock some code. #codestock #my_son_is_annoying_me_this_am

@joshholmes - All excited about my "Lost Art of Simplicity" keynote this morning at #codestock. Had lots of ideas on the bike yesterday - 15 new slides...

@WhimSQL - I'm hiding in open spaces... :D #codestock my examples for my 1050 session wont load guess ill draw on the board. :p

@cmm1869 - Heading to #codestock to speak on starting a company. Great ay to start a Saturday! http://myloc.me/61cu

@cwayman - RT @elijahmanor: Great keynote by @JoshHolmes on "The Lost Art of Simplicity"... presentation can be found at http://bit.ly/VrdcD #codestock

@JustinEtheredge - Wishing I was at #codestock , darn weddings! :-)

@alanbarber - koans installed and fired up rake... way cool!!!!!! #codestock

@alanbarber - lot of the tribe is here in the ruby koans talk... I think it's just to get to be at one with the great Leon :) #codestock

@kemmis - Nice job on the #codestock keynote this morning @joshholmes!

@alanbarber - Learned a lot about ruby with the awesome help from the loveable huggable @fallenrogue #codestock

@ben_henderson - Networking at lunch. #codestock http://yfrog.com/1111zj

@mamund - @carpdeus and i just did a lap around the pond outside the #codestock auditorium. now back for more sessions! http://ff.im/-4vGQN

@tobint - @chrisgwilliams I can't find @rachelreese or anyone. I think they all started their own mini-codestock without us.

@cschuman - Following @kirstinj because her codestock tweets are hilarious

@kelleystar - The presenter, James Bender, is wearing a Green Lantern shirt. Don't see those that often. #codestock

@kirstinj - CodeStock:IDrinkable #CodeStock

@brianhprince - aaccidentally forgot to go to panel on buildong community bc I was eengaging the community. sorry @vinull #codestock

@agstemen - @jamesbender beeeeennnndddeeeeeer! #codestock #HeckleByTwitter

@ricardovg - Nice to see some beautifully written code at the #codestock course showing how DevEvents works!

@kirstinj - If anyone sees @alanstevens can you please tell him I'm done running? Thx #codestock

@areynolds65 - #Codestock 2009 has come to an end. I enjoyed all the sessions I attended but really liked the one on XNA Game Dev at the end.

@kirstinj - OH: "What do you need an IDE for? You got TextMate and you're on a Mac." #CodeStock

@nonsensepoem - Good times at Codestock. Joe Bower, Mike Neel were great. Looking fwd to next year. #codestock

@kirstinj - OH: "Oh Wally, PLEASE don't leave me!" #CodeStock

@kirstinj - OH: "You should just call it 'Laid Camp" and then everyone would come." Discussing "Laid-off Camp" at #CodeStock

@tedneward - Bummed *I* didn't get a drunk voicemail from #codestock ....

@rkierner - Chilling at the #codestock after party listening to @steveandrews play guitar and enjoying a calming fire. Mellow feel at casa @alanstevens

@bramhaghosh - Codestock rocked and looking forward to devlink but damn tn is hot and humid

@AlanGHecht - Listening to Alan Stevens sing at #codestock after party

@BrianGenisio - Will be starting a game of Carcasone in LaQuinta 250. Stop by if you want! We have beer :) #CodeStock

@timoconnell - the #codestock after-party is officially over. @Kirstinj is flying with a 12 yr old.

@kirstinj - And now that @tobint 's flight has taken off and he is probably passed out, I am officially the last person awake from #CodeStock

@agstemen - #Codestock was great again this year! Thanks @vinull @alanstevens @wbm and everybody else involved for all your hard work!

@WhimSQL - @alanstevens thanks for all the fish. :) #codestock

@mamund - i just posted my slides and samples from #codestock 2009. Programming w/ #HTTP/#REST... http://ff.im/-4xHTj

@waltal - A hearty Well Done! to @ViNull, RecruitWise, and other people and #CodeStock sponsors. Great event, even if I didn't get a door prize!

@mamund - i talked to eric and gary of www.RecruitWise.jobs (yep, .jobs!) while #codestock. great folks. need some staffing?... http://ff.im/-4xIBE

@cathybrinkman - Returned from #Codestock last night. Enjoyed cool presentations - robotics & XNA; and a lot of WCF, WPF, #Silverlight, MVVM.

@kirstinj - RT @alanstevens: Uploaded my CodeStock photos here: http://tr.im/q4lb

@ViNull - I just figured out what I want CodeStock 2010 to be - damn, I have to wait a year to do this!

@ViNull - #CodeStock 2009 Photos posted http://www.flickr.com/photos/scoregasm/sets/72157620686419596/

@steverb - Joshua in the front row at #Codestock http://www.flickr.com/photos/scoregasm/3668441767 . That's my boy. Hopefully he'll give me a job. #fb

@steverb - Heh. Joshua grills the panel. http://www.flickr.com/photos/scoregasm/3668456545/ #codestock #fb

@rkierner - Classic: on the way home frm #codestock. twice i scared the crap out of sleeping passengers w/ sudden breaking @jamesbender & @gregmalcolm

@cogitu - @BrianPrescott I'll put everything on blog.cogitu.com late tonight, but I'd like to keep things at codestock.org when they get an area setup

@RachelHawley - Woah, I missed a serious pool party at CodeStock. Hope it went off well guys!

@jbaird_pa - And home from #codestock...1412 miles round trip...

@Alric - Home from #codestock . Good sessions. Great community. Awesome event.

@alanbarber - Final round of #codestock photos are up to check out. Includes a few from the friday night social! http://is.gd/1hpcy

Posted By Mike On Monday, June 29, 2009
Filed under twitter codestock | No Comments

The Desk that Mike’s Dad Built

image

Not too long ago, I built a desk to fit the space I had.

Early this year we began remodeling the downstairs room.  Remodeling is to gentle of a word, rebuilding is more apt.  We turned an open basement that had cheap carpet and wood paneling (walls and ceiling) into a true entertainment zone.  Hardwood floors, speakers embedded in the walls, HD LCD TV hung above an entertainment center with an Xbox 360, Wii, and PS3.  Reading area, bar with room for a mini-fridge, and my favorite, and office.

My office isn’t huge, but decent sized – I figured I’d have no trouble buying a desk.  I was wrong.  Desk styles come in two types – amazingly small and ginormus.  What I needed was a hybrid, small on one side and ginormus on the other.  So I downloaded SketchUp and made a draft of what I wanted.

My father did all of the work (I know when I’m beyond my 10th grade wood shop skills).  The movable keyboard tray was his idea, in response to my idea that the desk support two people if needed.  The “cable system” I got looking at other desks, and is just a 6” gap between the back wall and desk.  The half drawer / half shelf was my own idea, since I often have awkward shaped equipment I need stored around (like microphone desk stands).  The tapered edge look I took from listening to Joel Spolsky on StackOverflow.  I also used Joel’s discussion of proper posture for dimensions of the desk.

The materials ran about $275, the labor I got a deal on (benefit of being a Son).  If you live in the Knoxville, TN area and have need of some custom wood work (or general construction – Dad has also been a major part of the home renovations), let me know and I’ll get you in touch with Dad!

Posted By Mike On Tuesday, June 16, 2009
Filed under life | Comments (1)

SilverLight 2.0: Setting the Background of a Button

buttons

I know, this hardly seems a topic worthy of a blog post.  To create a Button in SilverLight like the first in the picture is just:

<Button Content="Stock Button"/>

To set the Background to a dark green, you might assume works (I know I did):

<Button Content="Green Stock Button" Background="DarkGreen" />

In the land of WPF, that would do exactly what you expect, but in SilverLight (2.0, I haven’t tested 3.0) you would get the second button in the image.  It’s a nice “touch of green” to the button, but hardly noticeable to most and impossible to see on some LCD monitors.  Even if you set the background to Black, it will only darken the gradient a bit.

So what’s the problem?  Digging into the SilverLight 2.0 source, the default style for a button is:

<ControlTemplate TargetType="controls:Button">
    <Grid>
        <!-- snipped the 36 lines of VisualStatManager here -->
        <Border x:Name="Background" CornerRadius="3" Background="White" BorderThickness="{TemplateBinding BorderThickness}" BorderBrush="{TemplateBinding BorderBrush}">
            <Grid Background="{TemplateBinding Background}"  Margin="1">
                <Border Opacity="0"  x:Name="BackgroundAnimation" Background="#FF448DCA" />
                <Rectangle x:Name="BackgroundGradient" >
                    <Rectangle.Fill>
                        <LinearGradientBrush StartPoint=".7,0" EndPoint=".7,1">
                            <GradientStop Color="#FFFFFFFF" Offset="0" />
                            <GradientStop Color="#F9FFFFFF" Offset="0.375" />
                            <GradientStop Color="#E5FFFFFF" Offset="0.625" />
                            <GradientStop Color="#C6FFFFFF" Offset="1" />
                        </LinearGradientBrush>
                    </Rectangle.Fill>
                </Rectangle>
            </Grid>
        </Border>
        <ContentPresenter
            x:Name="contentPresenter" 
            Content="{TemplateBinding Content}" 
            ContentTemplate="{TemplateBinding ContentTemplate}"
            VerticalAlignment="{TemplateBinding VerticalContentAlignment}" 
            HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
            Margin="{TemplateBinding Padding}"/>
        <Rectangle x:Name="DisabledVisualElement" RadiusX="3" RadiusY="3" Fill="#FFFFFFFF" Opacity="0" IsHitTestVisible="false" />
        <Rectangle x:Name="FocusVisualElement" RadiusX="2" RadiusY="2" Margin="1" Stroke="#FF6DBDD1" StrokeThickness="1" Opacity="0" IsHitTestVisible="false" />
    </Grid>
</ControlTemplate>

The issue is the Rectangle with it's own Background is on top of the Grid which has the Background from our button. Also, the Border is hard-coded to White, so even if we handle the rectangle we’ll have a white box padding the content . We can fix this using our own ContentTemplate, but that means also adding all the VisualStatManager stuff to get all the animations that go along with the Button.  That’s more effort than I want to put into fixing a Button.

A second method is to subclass Button, and modify the template in the OnApplyTemplate override.  I don’t want to remove any of the controls in the template, since that will break the animations, so my fix is to lower the opacity of the rectangle and border so the background shows through:

public class BKButton : Button {

    public override void OnApplyTemplate() {
        base.OnApplyTemplate();

        Border border = GetTemplateChild("Background") as Border;
        Rectangle rect = GetTemplateChild("BackgroundGradient") as Rectangle;

        if (border != null) {
            border.Background = this.Background;
            border.Opacity = .6;
        }
        if (rect != null) {
            LinearGradientBrush lbrush = rect.Fill as LinearGradientBrush;
            if (lbrush != null) {
                lbrush.Opacity = .6;
            }
        }
    }
}

When I use this, it looks like the third button in the image.  From XAML you’ll need to add xmlns:local="clr-namespace:MyProjectNameSpace" to the UserControl, and then call this button:

<local:BKButton Content="Green BKButton Button" Background="DarkGreen" />

Posted By Mike On Tuesday, June 09, 2009
Filed under silverlight wpf button | Comments (1)

Code Camp Room Planner

Code Camp Room Planner

I just finished creating a project on CodePlex for the Code Camp Room Planner, a little app I wrote to help me plan the schedule at CodeStock 2009.  I’ve also created some basic documentation.

Background: CodeStock is involving attendees in the planning of the conference.  We started out with attendees voting on submissions, and used those votes to select sessions and speakers – the top 20 have ribbons on the sessions list page.   The next step is asking attendees what sessions from the accepted list did they want to attend.  We can use this data to plan a schedule with the least amount of conflicts.

It sounds simple, until I realized this is a P = NP type of problem.  In simple terms, there are problems that are easy to verify a solution yet hard to calculate one.  Imagine you had to select 5 prime numbers that add up to zero (negative primes allowed).  This would be easy to verify that a set of 5 primes fulfill the requirements by adding them up – the trick is in how to figure out what those five numbers are, and if it’s even possible.

The question is if there is a problem, who's solution is easily checked, does that mean there is a set of steps to find the answer to the solution?  Put another way, since I know how to see if one schedule is better than another (by having lower number of conflicts, with the ideal of zero) does that mean there is a method to tell me the best schedule?  It’s been called the greatest problem of computer science today, but since Alan Turing isn’t answering his phone I’ll have to put off finding the solution until CodeStock 2010.

So what I did was to schedule sessions by overall popularity, then adjust to see if the total conflicts went up or down.  When I started, there were 460 conflicts and I now have it down to 304 (the final schedule is out for review by speakers and should be public Monday).  If you download the app you get the CodeStock data as an example – if you can beat 304 let me know!  (Email me the “save” data, and also let me know your approach)

Posted By Mike On Sunday, June 07, 2009
Filed under codeplex wpf codestock ccrplanner | No Comments

Announcing FuncWorks and the Feel The Func Podcast

funcman A month ago I had a conversation with Dylan about starting a company.  We had been having conversations about needing to work on some extracurricular projects – some for friends, some for us.  It soon became clear that we would have a constant need for a designer, so we broadened the group to include Cicelie.

FuncWorks is pretty simple – you know those crazy ideas you get to build a site/app/game/service/etc?  We’re going to build them.  We are not a consulting group, billing by hour and bidding on contracts.  We are just a group that will act on these ideas and hopefully one (or more) will stick.  In the beginning these will be our own ideas; possible in the future we may join with others to work on their ideas.

Along with FuncWorks, we’ve launched a podcast called “Feel the Func”.  The podcast is an open discussion of what’s happening one FuncWorks projects.  We’ve just released the first two episodes discussing our first project, which will be a T-Shirt site.  (I never said our projects would be earth-shattering!)

Checkout the podcast at http://www.feelthefunc.com

Posted By Mike On Tuesday, May 26, 2009
Filed under podcast funcworks feelthefunc | No Comments

About Me

Michael C. Neel, born 1976 in Houston, TX and now live in Knoxvile, TN. Software developer, currently .Net focused. Board member and President of ETNUG, and orgainize CodeStock, East Tennessee's annual developers conference. .Net speaker, a Microsoft ASP.NET MVP and ASPInsider. Founder of FuncWorks and Feel The Func podcast.

Proud father of two amazing girls, Rachel and Hannah.

 Subscribe to ViNull.com |  Comments

Follow me on Twitter | Contact Me

FeelTheFunc Podcast

CodeStock
Are you going?

ASPInsiders Member

ETNUG Member