Sunday, November 01, 2009 #

"Can not find Respack" error when running a Moonlight project

I recently upgraded to MonoDevelop 2.2 Beta 2 (for the debugging capability, more on that later) on my Mac.

When I opened a Moonlight solution and tried to run it, I got the following error:

Could not find respack

The project had lost its references to System.Windows and System.Windows.Browser.

The cause turned out to be that when you upgrade MonoDevelop, it doesn't always update where it's pointing.

The solution was to go to:

/Library/Frameworks/Mono.framework/Versions

and delete all directories except the one for the current version of MonoDevelop, in my case, 2.4.2.3

  • Share This Post:
  • Share on Twitter
  • Share on Facebook
  • Share on Technorati

Posted On Sunday, November 01, 2009 3:52 PM | Feedback (1)

Snow Leopard and Quicksilver

I recently did the upgrade to Snow Leopard on my MBP. To my dismay, Quicksilver no longer worked. It terminated immediately after launch. I found the the Beta 56a7 on here. I also had to remove Plugins.plist and the Plugins folder from ~/Library/Application Support/Quicksilver. I am ecstatic to report that Quicksilver is up and running again, and my Mac is happy.
  • Share This Post:
  • Share on Twitter
  • Share on Facebook
  • Share on Technorati

Posted On Sunday, November 01, 2009 3:51 PM | Feedback (1)

Friday, September 11, 2009 #

Silverlight AutoComplete ComboBox

The users wanted an AutoComplete Combo box in a SilverLight application- a combo box that would allow them to scroll the entire list, as well as filter the list as the user typed in the box.

The problem is: SilverLight has no such control. I did a bit of research and came across various options using templates, styles, etc.

Try as I might, I could not get these samples to work as I needed it to. Finally, in desperation, hours before the deadline, I tried the following solution. In about 15 minutes I had a control that functioned exactly as the users wanted.

It's not elegant- it's so simple that I laughed out loud. the solution is below.

The page already had a ComboBox on it. The task was to add the ability to type and filter the list.

First, Download the SilverLight Tool kit, and Reference
System.Windows.Controls.Input
in your application.

Add the reference to the xaml (I used "toolkit")

xmlns:toolkit="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Input"

Below is the original ComboBox:

                    <ComboBox
                        x:Name="cbAffiliate"
                        Grid.Column="1" Grid.Row="1"  Grid.RowSpan="1"
                           Margin="2,1,2,1" FontSize="9" HorizontalAlignment="Left" Height="20"
                        ItemsSource="{Binding Mode=OneWay, Path=MediaCodeList}"
                        SelectedItem="{Binding Mode=TwoWay, Path=SelectedMediaCode}"
                        SelectionChanged="cbAffiliate_SelectionChanged" MinWidth="200" >
                        <ComboBox.ItemsPanel>
                            <ItemsPanelTemplate>
                                <StackPanel MinHeight="300"/>
                            </ItemsPanelTemplate>
                        </ComboBox.ItemsPanel>
                    </ComboBox>

Became:

                <Grid Grid.Column="1" Grid.Row="1"  Grid.RowSpan="1">
                    <ComboBox
                        x:Name="cbAffiliate"
                         Margin="2,1,2,1" FontSize="9" HorizontalAlignment="Left" Height="20"
                        ItemsSource="{Binding Mode=OneWay, Path=MediaCodeList}"
                        SelectedItem="{Binding Mode=TwoWay, Path=SelectedMediaCode}"
                        SelectionChanged="cbAffiliate_SelectionChanged" MinWidth="200" >
                        <ComboBox.ItemsPanel>
                            <ItemsPanelTemplate>
                                <StackPanel MinHeight="300"/>
                            </ItemsPanelTemplate>
                        </ComboBox.ItemsPanel>
                    </ComboBox>
                   <toolkit:AutoCompleteBox                    
                        x:Name="txtAffiliate"                        
                        Margin="2,1,2,1" FontSize="9" HorizontalAlignment="Left" Height="20"
                        ItemsSource="{Binding Mode=OneWay, Path=MediaCodeList}"
                        SelectedItem="{Binding Mode=TwoWay, Path=SelectedMediaCode}"
                        SelectionChanged="cbAffiliate_SelectionChanged" MinWidth="180" >              
                   </toolkit:AutoCompleteBox>
                </Grid>

Basically I:
1) Enclosed the ComboBox in a new Grid and moved the Grid.Column, Grid.Row, Grid.RowSpan attributes up to that level.
2) Added an AutoCompleteBox right on top of the ComboBox, and set all the attributes the same as the original ComboBox
3) Made the AutoCompleteBox 20 pixels shorter than the ComboBox. (The MinWidth attribute).

It works just as the users wanted!
  • Share This Post:
  • Share on Twitter
  • Share on Facebook
  • Share on Technorati

Posted On Friday, September 11, 2009 7:28 AM | Feedback (20)

Wednesday, September 09, 2009 #

Big Huge Objects and WCF

I had to send a big object across the wire- An collection containing 31,000 objects each with their own complex object graph (don't ask) and I was really running into problems with WCF crapping out on the call.

I did all the obvious stuff to the server web.config...

                 maxBufferSize="2147483647"
                 maxReceivedMessageSize="2147483647" 
                 maxItemsInObjectGraph="2147483647" 

But it still wasn't working.
Luckily I had a few awesome friends come to my rescue: D'Arcy Lussier and Jason Klassen sent me the following- I am posting it here for others. (And so I can find this again later).

server web.config  needed

 

 <serviceBehaviors>

        <behavior name="CustomerBehavior">

          <serviceMetadata httpGetEnabled="true" />

          <serviceDebug includeExceptionDetailInFaults="false" />

          <dataContractSerializer maxItemsInObjectGraph="2147483647" />

        </behavior>

</serviceBehaviors>

 

 

client web.config  needed

 

<behaviors>

      <endpointBehaviors>

        <behavior name="LargeDataBehavior">

          <dataContractSerializer maxItemsInObjectGraph="2147483647"/>   

        </behavior>

      </endpointBehaviors>

</behaviors>

  • Share This Post:
  • Share on Twitter
  • Share on Facebook
  • Share on Technorati

Posted On Wednesday, September 09, 2009 1:58 PM | Feedback (10)

Thursday, July 02, 2009 #

CodeStock 2009!!!!

I had the honor of speaking at CodeStock this year, and it was an awesome experience.

The highlights of the weekend include:

1) Getting picked up at the airport by Alan Stevens with his awesome sign.

photo

2) The pre-conference get-together where I met many of my tweeps FINALLY… and they were all as awesome in IRL!

3) Rocking “Thriller” in Alan’s van after we learned that Michael Jackson had died (RIP).

4) The impromptu pool party at the ghetto hotel where we dueled with the kiddies to see who could be the most obnoxious.

5) Singing ‘round the campfire at the after-party.

6) Leon’s (fallenrogue) Ruby Koans tutorial session.

7) Staying up with my room mate Rachel Reese and talking into the very wee hours of the morning. We were both sitting on opposite sides of the little table in the hotel room that served as a desk and communicating via Twitter. Every time I heard her laugh and then start furiously typing I knew she had just read one of my tweets to her. (we missed BOTH days’ keynotes, which I heard were awesome, but oh well.)

(8) Going straight from Alan’s party to the airport at 4am and getting lost, then Tobin Titus trying to kill me when he turned the wrong way down a divided highway. A quick detour over the grassy median got us out of harm’s way.

Yeah, this event was all about com

munity- forming new relationships, and strengthening existing ones. Drinking from the firehose and having fun. A big shout-out to the organizers and to Alan Stevens for his hospitality. I am already looking forward to next year!!

  • Share This Post:
  • Share on Twitter
  • Share on Facebook
  • Share on Technorati

Posted On Thursday, July 02, 2009 3:09 PM | Feedback (0)

Thursday, May 21, 2009 #

Visual Studio 2010 Beta Screen Shots

Here are some screen shots from VS2010 Beta. The first thing I noticed is that Team Explorer is (finally) installed with the base install.

The new look has an Expression-Blendy feel to it…

Also, I noticed that it defaults to a single tool bar line at the top. Nice!

VS2010 Welcome Screen

VS2010_welcome_screen

 

Home Screen

 

VS2010_home_screen

 

Projects Tab

Projects_tab

 

Visual Studio Tab

Visual_studio_tab

 

New Project Dialog Box

new_project_dialog

 

Open XAML Document with common windows open

open_document_with_common_windows_opened

Technorati Tags: ,
  • Share This Post:
  • Share on Twitter
  • Share on Facebook
  • Share on Technorati

Posted On Thursday, May 21, 2009 9:51 AM | Feedback (0)

Thursday, May 14, 2009 #

My Coding Hill

I am fortunate to live on a vast network of trails that start literally in my backyard… there is a trailhead two feet from the end of my driveway. These asphalt trails are plowed in the winter and wind through the backyards and parks, around the lakes, and along the streams of my suburban neighborhood. There are 20+ miles of trails available without ever stepping foot onto a roadway.

As I was finishing a run a little over a year ago, it occurred to me to wonder why I was running on the street instead of the trail.  I realized that I actually rarely run that piece of trail, and it is one of the most scenic and peaceful stretches of trail in the system. This was very curious to me… why would I be in the habit of avoiding this section of trail?

As I thought about that stretch of trail, I realized that one if its characteristics was it is not flat. There are several small hills, and you always seem to be going either up or down for about a mile. I additionally realized that since I have been running with my Garmin watch, I am always keeping track of my pace, even if at a subconscious level. Even for runs that are not pace-focuses, I am always keeping score in my head of the effort-level of whatever pace I happen to be running, with the ever present goal of decreasing the effort needed to maintain a certain pace.

Of course, hills slow me down. The effort needed to maintain a certain pace is vastly greater on a hilly run than on a flat run. What had been happening was that focusing on a particular metric, I have subtly altered the way in which I perform that activity. And that change extended to runs where that metric was absolutely meaningless. Subconsciously my mind was trying to optimize for something that didn’t matter, and I unwittingly made tradeoffs- in this case, in the form of a less scenic running route.

I wondered where this applied in other areas of my life. What things do I avoid unconsciously because of some optimization I am trying to make or avoidance of effort?

I have spent my career focusing on middle and backend tiers because I am NOT a designer. Anyone who has seen my demos can attest to this. But I realized that having a creative deficiency in terms of visual aesthetics does not mean that I cannot dive into the technologies behind the UI tier. And so I began to hit up JavaScript and AJAX, and began my journey in WPF and SilverLight- technologies I had always avoided. I finally realized that I don’t have to make pretty designs to write good code. When I stopped being focused on the “pretty” metric, I was free to explore and learn without holding myself back behind self-created limitations.

And yes, my designs still suck, and the UIs are definitely not pretty. But there is some darn cool code underneath!

Technorati Tags: ,
  • Share This Post:
  • Share on Twitter
  • Share on Facebook
  • Share on Technorati

Posted On Thursday, May 14, 2009 7:11 AM | Feedback (3)

Monday, May 04, 2009 #

Iowa Code Camp in the Rearview Mirror

The third Iowa Code Camp was another first-class event. Those guys do a fantastic job every time.

It is a tradition at Iowa Code Camp to intersperse pictures of cows randomly throughout your slide deck. On my way to the event, I made a quick stop at Greg Wilson’s house. Greg has cows, and had used a marking spray from the vet to write on three of his cows:

P1000960

I was scheduled to do one session on WPF data binding as part of a three-part series with Bryan Sampica and  Greg Wilson. Just as I was settling into my first session of the morning as an attendee, Javier Lanzano came and grabbed me- “We need you  next door!” As it turned out, Bryan Sampica had a  work emergency and was not able to make it. Greg and I gave a completely impromptu session with Greg talking and  me coding. We had no slides or demo code. We made it all up on the spot. We really found a flow and totally rocked it! It was fun.

Right after that I was up for my session. It was a quick transition and I was discombobulated the first ten minutes or so. Before long I got rolling again and I think it was a good session.

Thanks guys for a great event!!!

P1000963

 

Technorati Tags: ,
  • Share This Post:
  • Share on Twitter
  • Share on Facebook
  • Share on Technorati

Posted On Monday, May 04, 2009 4:14 PM | Feedback (0)

Tuesday, April 28, 2009 #

Iowa Code Camp

I will be speaking at Iowa Code Camp this weekend. Greg Wilson, Bryan Sampica, and I are doing a series on WPF data binding. It should be a great time, so come on out!!

P1000689

These guys always put on a first class event. And the after party (the most important part of the weekend) is always awesome.

(As for the cows, it’s an Iowa Code Camp thing. You kinda had to be there.)

 

Technorati Tags: ,
  • Share This Post:
  • Share on Twitter
  • Share on Facebook
  • Share on Technorati

Posted On Tuesday, April 28, 2009 2:38 PM | Feedback (0)

Thursday, April 23, 2009 #

Twin Cities Code Camp 6

A couple of weeks ago I presented WPF databinding at TCCC6. It was the end of a very hectic couple of weeks. I do not often post personal stuff to this blog, but in this the story is just too crazy.

It all started during my family’s annual trip to Mexico. My nephew Drew has Spinal Muscular Atrophy, is wheelchair-bound, and the slightest illness poses a serious threat to him. I stayed with my family in Mexico for one week, then I returned home. My family was scheduled to stay for an additional week.

I left on a Saturday, and that morning Drew fell ill. On Sunday my family decided that he needed an American hospital so they got seats on a Sunday afternoon flight (at an enormous expense) for this medical emergency. When they arrived at the Cancun airport, however, the corrupt Mexican officials had sold their seats, pocketed the cash, and refused to let my family board. It is a long story, but the day ended with my mother telling the corrupt Mexican gate official “I am getting on this plane with my grandson. You just try to stop me”, then proceeding to board sans boarding pass- they were never even on the flight manifest.

Drew’s parents were still stuck in Mexico, so I picked my Mom and Drew up at the airport at 10pm on Sunday night, then helped my Mom take care of Drew. We managed to keep his O2 sats up with the treatments all night. On Monday morning I went straight from my nephew’s house to work to the airport for my flight to St. Louis where I was presenting at the Microsoft Best Practices tour the following day. Drew’s mom and dad flew in Monday afternoon.

By this time I had caught whatever Drew had, and was feeling pretty crappy. Our flight to St Louis was late and we didn’t get to the hotel until after 9 pm. I went straight to bed. I awoke at 4am and didn’t even have to get out of bed… I knew from the sticky glop gluing my eye shut that I had a raging case of pink-eye. And I was to present in less than 12 hours. Wonderful. I called the nurse line at my home clinic and they sent a prescription to a local St Louis Walgreens. The next morning Jeff Brand (I didn’t have a car) drove me to pick it up, we then went to the Best Practices event.

So, I was sick, had not slept in two nights, and now had the ugliest eye I had ever seen. Yup! I was ready to present! At 10am I got word that Drew’s O2 sats had fallen and he had been admitted to the hospital. I was really demoralized, because I knew it would be a long haul for him and his family, and indeed, it was a three-week stay. More on that later.

I got up to give my presentation, and my laptop would NOT communicate with Microsoft’s projection system. This had never happened before, furthermore, Jason Bock’s laptop, which is the exact same as mine, had no problems. After ten minutes of fussing with it, I decided to throw my presentation onto someone else’s laptop. My laptop decided to really help me out at this point by taking more than two minutes to copy the files over. Which doesn’t sound like a long time unless you are standing at the front of a room with a few hundred people waiting for you to start your presentation.

I finally got my content copied to Ray Lewallen’s MBP, but of course he did not have the right environment for all of my demos to work. Oh well, I was halfway through my time at this point. I flew through my presentation, then thoroughly traumatized, I packed up and we all headed back to the airport. I felt like crap, my eye hurt, my presentation sucked, my nephew was in the hospital, and I was ugly (pink-eye). Life somewhat sucked. But, as they say, tomorrow is another day!

I finished out the week trying to catch up on sleep, work, hospital visits, and family time.

The weekend passed with no progress for Drew, and on Sunday he was admitted to the pediatric intensive care unit and intubated. We were happy that he wasn’t struggling so hard to breathe anymore, but, at the risk of repeating myself, this REALLY sucked.

On Tuesday I gave my second presentation of the Microsoft Best Practices Tour. This one went off without a hitch (my laptop still didn’t work, but with the advance warning I was able to set up Jeff Brand’s laptop in plenty of time for all my demos to work.)

I spent the week of my second presentation splitting my time between work, my kids, and the ICU. The following Saturday was Twin Cities Code Camp.

I had never been as unprepared for a talk as I was at TCCC6. I had spent the previous month focusing on my Best Practices Tour Unit Testing talks, and had not anticipated spending the week and a half leading up to TCCC6 at the hospital.

I pulled off a pretty good presentation, the reviews were favorable. A BIG shout-out goes to Bryan Sampica for all of his help… I could not have done it without you!!

Right after I successfully pulled off my presentation, I received word that my little fighter had finally made a turn for the better. After days and weeks of no progress, or backwards progress, they were starting to pull secretions from Drew’s lungs. This was a huge milestone… I was on cloud nine. I didn’t win anything at the end-of-day raffle, but I felt like the biggest winner in the room. And, that ends my saga of TCCC6.

Drew came home on Easter Sunday. He is 100% percent recovered. He had been heavily sedated during his stay in the PICU, and when we told him, “Drew, you were sleeping for almost two weeks!” his response was: “I was hibernating!”

If you are still hanging in there on this LONG blog post, you can check out Drew’s story at www.drewbie.info

Next blog post I might even talk about the content of my presentations!

  • Share This Post:
  • Share on Twitter
  • Share on Facebook
  • Share on Technorati

Posted On Thursday, April 23, 2009 10:10 PM | Feedback (1)

Copyright © Kirstin Juhl

Design by Bartosz Brzezinski

Design by Phil Haack Based On A Design By Bartosz Brzezinski