Lunchtime Longhouse

getcher turnip onna stick

today on “find the bug”
jazz
[info]jeffpaulsen

work post – if you’re one of those folks that reads my blog for the pictures, just move along :)

I’ve got some code that compiles .resx files at run time, using them to make an in-memory resource dll assembly that I can use from a ResourceManager object. I take the RESX and convert it to a .resources file in the temp dir (which I get from Path.GetTempPath()), whose name is in a string var named resFileName.

There’s a bug in this code:

   1:    Dim vbCompiler As VBCodeProvider = New VBCodeProvider()
   2:    Dim codeParams As CompilerParameters = New CompilerParameters()
   3:  
   4:    codeParams.GenerateExecutable = False
   5:    codeParams.GenerateInMemory = True
   6:    codeParams.CompilerOptions = "/nostdlib /noconfig  /define:_MYTYPE=\""Empty\""  /resource:" & resFileName & "


If resFileName is a path containing spaces, our compile won’t go. On some systems, the temp path will contain spaces.

Here's how we get rid of it (see lines 6 & 7):

   1:    Dim vbCompiler As VBCodeProvider = New VBCodeProvider()
   2:    Dim codeParams As CompilerParameters = New CompilerParameters()
   3:  
   4:    codeParams.GenerateExecutable = False
   5:    codeParams.GenerateInMemory = True
   6:    codeParams.CompilerOptions = "/nostdlib /noconfig  /define:_MYTYPE=\""Empty\"""
   7:    codeParams.EmbeddedResources.Add(resFileName)

Simple once you know how. The moral of the story is never concatenate a filename into a string if you don’t have to.


new tools
jazz
[info]jeffpaulsen

If you don’t write software, this post isn’t going to be very interesting – sorry.

The beta of Visual Studio 2010 showed up yesterday. I put it on a virtual machine running Windows 7, and wrote a minimal application. Here’s how the new IDE looks when editing XAML:

vs2010_in_action

and here it is editing some VB.NET (the new flavor of VB.NET for Framework 4 – notice that we now have automatic properties):

vs2010_code

How does it feel? Very fast and responsive given that it’s in a VM, but on the other hand it’s not a big solution loaded up in there. Intellisense feels crazy quick. I’ll try this out with my main solution (200k lines of code, 40 projects, including a few 15k line files) and see if that crushes the performance. If not, I’m going to be delighted.

update: performance on the big solution in the VM is not good. However, it is in a VM, so maybe it will be fine on a nice i7 with plenty of ram.

The defaults for most of the options were “wrong” by my standards, but that’s why they’re options, I guess. I know VB programmers have a reputation for being apes, but when the default for VB options is to not even offer the Debug / Release configuration switch, Christ, what’s that supposed to be helping?

“Generate Test Project” locked up my VM completely, which is fine for a beta.

I’m not sure if AnkhSVN (the only source control plugin I’ve found that’s actually better than using the external tools) works with vs2010 yet.

Tags:

if it's friday i must be posting random crap
crocodile, general
[info]jeffpaulsen

Go Blazers. Playoffs! Anybody who wasn't a basketball fan last time the Blazers were in the playoffs, here's how it works: we play a best-of-seven series against Houston. We get to see the same players face each other every third night. Playoff-level basketball is very physical, and as a result of this process, both sets of fans will hate the opposing team's players with the fiery hate of a thousand hates. This is not the generalized hatred of the opposing team, or ordinary dynastic hatred left over from previous disappointing championship attempts. This will be extremely personal -- I still remember everything Bill Laimbeer did as a Detroit Piston to make me despise him.

True fact tangentially related to the above: in summer 1990 I was in Germany, watching the World Cup soccer tournament. Some of my fellow exchange students and I saw an Italian player flop in a very obvious attempt to draw a foul. We decided that his name must be "Guillermo Laimbeeri", which none of the Europeans understood, despite our attempts to explain.

A plea for garden advice: the euonymous which I had planted for a hedge out front are diseased in some way. I am vaguely aware that there are sprays that treat various blights and molds. What the fuck should I do? I'm reluctant to guess at what's wrong and just try random chemicals. If they die, I could use a suggestion for a hardy evergreen hedge.

All my trees are fine, as are my lilacs.

Xigi is back in town, for those of you that know him. He is well.

Work is fine. I now have mad skills with WPF, XAML, LINQ, and WCF. I spent geekweek changing all our object serialization code to use the data contract serializer, and it's now so centralized that I'll be able to try others (eg, protocol buffers). I wrote a generic exension method that lets me order any IEnumerable(of T) using an IComparer(of T), which seemed to me like it ought to be built into the framework. I learned about shared code in generic exception handlers. Finally I ported one of our internal tools to use a pure MVVM pattern with WPF and XAML. It was all very energizing and mind-expanding and now I just want to not do a damn thing.

I am looking forward to a new tattoo. Totally psyched for it.

return of son of geekweek
jazz
[info]jeffpaulsen
First, a weekend recap: went to Frys to get some stuff for upcoming geekweek, then to Ned's birthday party. Fun was had. I drank the blue stuff. Home, played Guitar Hero. Ula came home.

The upcoming week is "geekweek" at work. This means we get the programming staff all together at some remote location to work long days and drink beer. We don't watch TV, go out to eat more than once a week, or play games more complicated than "I'm working harder than you are". I may or may not update during this process.
Tags:

weekend report, company xmas party edition
jazz
[info]jeffpaulsen
Sigivald and I went up to Seattle for the company xmas party. [info]ula1066 couldn't make it due to her own work sucking muchly. The company had dinner at Union (1400 first ave), possibly the best restaurant meal I have ever had, no shit.

I got to meet some of this fall's new hires. We talked music for a while, and one of them turned me on to a band called DragonForce, which is Epic Power Metal of the geekiest kind. Two guitar harmony a la Iron Maiden, blast beat drumming in the hardcore / black metal style, clean falsetto vocals like Judas Priest, mega-catchy melodic hooks -- coupled with lyrics about D&D, video games, &c.

Breakfast was dim sum at Doong Kong Lau on Aurora. It's a Hakka place, which is the oppressed minority cuisine of China or something. The food looks familiar if you eat dim sum regularly, but the flavors are different and awesome.
Tags: ,

my weekend
jazz
[info]jeffpaulsen
We had a nice tech conference. We rolled out our developer strategy, and I had many informal meetings with other programmers who want to extend our product through our add-in architecture. Pool table rental is a popular use case, it turns out.

The coolest thing at the conference was a presentation / demonstration of the OrderMan handheld terminal that we work with. The presenter was the head of their US division, and he brought it, both at a marketing and technical level, and particularly at the intersection of marketing and technical. Here's what I mean, paraphrasing him from memory (imagine this with a moderate German or Dutch accent):

There are other handheld systems that use PocketPC and 802.11 wireless. 802.11 runs at what frequency? Over 2 Ghz. Our system is in the ISM band, down at 902 Mhz - MUCH lower. What do you notice when a car drives past with the radio too loud, what first? The BASS. Lower frequency carries better.

He was like that for most of an hour. Our resellers came out of that excited about handheld point-of-sale, and armed with great sales tools to compete against the (much cheaper, crappy) other handheld solutions.

This entire weekend was draining.
Tags:

(no subject)
jazz
[info]jeffpaulsen
We're getting ready for our first ever technical conference this weekend - I mean not a conference we're going to, but a conference we're hosting, so that all of our integrators and resellers who want to know more than just how to install it can get full access to the developers for a couple days.

Last night my Philadelphia reseller showed up on a late flight, and I met him in town for dinner. At 1 AM on the near east side, that means the Montage. Last call is at 1:30 now, so one a single solitary beer was drunk by the each of us. I had some spam mac, and he had the gumbo. Tasty tasty. I took him on a short driving tour of Portland, which was really just "look at all our bridges and lights!" because it was 2 AM by then.

Slept a few hours. Now writing something called a "web part", or trying to find the one I wrote back in June for the big Office Live demo in Boston.

Tonight, dinner at Vindalho with all 50 attendees. Tomorrow, I put on a shirt with the company logo, fire up Powerpoint and a compiler, and geek all day for an audience. Tomorrow night, we're going to more or less take over a pre-determined McMenamin's. Sunday, half day with the conference.

Sunday night, dinner with my Mom, down from Alaska with her new husband.

Next week, integration with another credit card processing company. Then Halloween, then my birthday, then Orycon, then Thanksgiving. Company holiday parties for me and Ula, Christmas shopping, Christmas.

There's also two concerts with the wind band in that timeframe. And Kool Keith at the Doug Fir Lounge. Busy Busy Busy.
Tags:

(no subject)
jazz
[info]jeffpaulsen
Just finished a phone call with a certification analyst from a credit card processing company we want to work with. When we first started talking to them there was a feeling that they were overly bureaocratic and obstructionist, but it becomes clear that they are simply large and complex. Once we demonstrated to the right people that we were a real company, they sent me a huge pile of documentation, and I realized that they hadn't set up my test account because I hadn't specified which of the dozen or so varieties of test account I'd need.
Tags:

Home