Skype 1.3
posted on 2005-06-16 at 23:55:56 by Joel Ross
There's a new version of Skype out there. Personally, I'm a huge fan of Skype - the quality for me has been as good as a cell phone call, and I use it on a regular basis to communicate with team members on the other side of the country.
The latest version changes up the UI a little bit - I think it looks much cleaner. No word if they've fixed the range check error though!
Categories: Software
BizTalk: Exposing .NET Classes
posted on 2005-06-14 at 01:11:49 by Joel Ross
Ok. I'm new to BizTalk Server, but I think I got this right. Please let me know if I didn't.
I have an existing application that uses an object. I want to take this object, allow BizTalk to accept messages of that type, and map them to another message type that can then be sent out to a third party verification system. Sounds like a pretty typical scenario to me.
It took me a while to figure it out though. First, I added a reference in BizTalk to my business object class. Then I created ports that could receive a .NET object of my type. That worked - I could even set up a web service based on that object. Then I got to the mapper. No schema was defined my custom object, and I couldn't find an easy way to get one.
Searching Google didn't help either - do a search for "create schema from c# class", and you'll be flooded with results for "create c# class from schema" - no one is doing it backwards. Of course, the solution is pretty simple. You can run xsd.exe on a class and tell it what type you want the xsd for. We ran into a few issues, but nothing major, and now I have an XSD file for my type.
Once you get that, you can then generate everything I did above - a message for it, a web service for it, and, now that I have schema, I can do mapping.
I know this probably isn't the most ideal way to use BizTalk, but it works for us for now.
Categories: Development
posted on 2005-06-14 at 01:01:16 by Joel Ross
I first heard of CodeZone from someone in Australia, and I've been getting the magazine since last summer.
Well, they finally launched something for the US crowd - MyCodeZone. It's a portal for developers, and I got a chance to talk to one of the team members. They are actively looking for feedback on what is good and what isn't, so this is your chance to make it what you want.
I may spend some time in this. I've never gotten into online portals like My Yahoo, but then again, there's never been anything like this geared for developers.
Categories: Development
PDC '05
posted on 2005-06-13 at 23:18:03 by Joel Ross
I know I won't be at the PDC this year, but the sessions look pretty good! There was some alluding to C# 3.0 at Tech Ed, but it looks like PDC will have a whole lot more about it, as well as more info on Longhorn and IIS 7. Very cool.
The difference between Tech Ed and PDC is definitely obvious now. Tech Ed is about what you can do today and tomorrow, while PDC is about what you can do tomorrow and the next day. I think going to Tech Ed was definitely the right choice for me, but PDC would be fun too.
Anyway, go take a look at the session list. It'll give you a quick view into where the industry is heading.
Categories: Development
Tech Ed Review - The Softer Side
posted on 2005-06-13 at 23:03:42 by Joel Ross
Well, now that I'm back from Tech Ed, it's time to look back through my notes and start writing down my thoughts on what I did and what I saw. I'm starting that right now, but I wanted to get some things out there first.
While the technical content at Tech Ed is awesome, I'm debating if the content was better than the people you get to meet and interact with. I'm not sure. I think I've made a few contacts that could potentially be life long relationships. That's more important than the technology I'll be using over the next two or three years, isn't it?
So, who did I meet at Tech Ed? Well, the list is long considering it was only a few days and I'm not the type of person who just walks up to someone to introduce myself - although I did just that more than a few times. I actually kind of surprised myself. Anyway, most of the people I met were due to Drew Robbins. I used to work with him, and he was awesome about getting us into events and introducing us to other developers. Drew, thanks for everything the past week! It meant a lot.
Here's a list of some of the people I met - these are mainly people who I read before I met them this week - no order, just the order I happened to remember them in.
Jeff Julian - He runs Geeks With Blogs, and even convinced me to move my 'Dojo blog over to GWB.
Doug Seven - He started DotNetJunkies and SqlJunkies, and now works on the MSDN team.
Andrew Connell - I planned ahead of time on meeting him somehow while I was at Tech Ed. It turned out we both got a nice look into the vision of CMS vNext together.
Eric Matz: I didn't even realize he had a blog until after I got back, but I did probably talk to him the most while I was there.
Rob Rohr - he wrote a tool that imported the Tech Ed schedule into OneNote - where I took my notes on the sessions. I just happened to see his nametag on the way out of a session and introduced myself as a user.
Carl Franklin - He introduced himself as Don Box to me at a party Wednesday night. We talked for about 15 minutes or so. He even knew of my blog from some posts I have about DotNetRocks.
Marc Miller - I quickly met Marc, but nothing more than that. I only added him to the list because watching him demo CodeRush made me want to laugh. It was tough to watch him up there and take him seriously after hearing him on Mondays. That, and I had a strange desire to call him names!
Dave Bost - A blogger out of Chicago I read. I met him Monday night.
Dave Donaldson - Another blogger I read and knew would be at the party Monday night.
James Avery - I introduced myself to James, and we chatted for a while Monday night, and then again on Wednesday night. James also wrote Visual Studio Hacks, which I've talked about before.
Arpan Shah - he's the program manager for CMS, and was kind enough to sit down with a small group of us after one of his sessions and chat about CMS for a few minutes.
Josh Ledgard - He's on the MSDN team, and (I think) was very involved in the MSDN forums. We talked for a little bit about the integration between the forums and VS.NET 2005 help.
Jim Newkirk - He's on the GotDotNet team, and we talked briefly about the future of GotDotNet
Betsy Aoki - She's also on the GotDotNet team. Brian has a post of one of her emails she sent him.
Jason Olson - I blogged about him recently, and he recently commented on that post.
Those are probably the highlights of the people I met. I met others, and if I left you out of the list, I apologize. It wasn't intentional! It's almost 1 AM, so I'm having trouble thinking of everyone right now.
Categories: General
RossCode Weekly
posted on 2005-06-12 at 23:50:35 by Joel Ross
A Thinkpad Tablet? I saw it with my own two eyes at Tech Ed on Monday morning. Steve Ballmer had one on stage. This was the major reason I heard that Apple wanted to move to the Intel platform - tablets. The PPC chipset was too hot to make it do-able.
On the heals of the tablet announcement, Apple confirmed rumors that, yes, indeed, we are switching to Intel-based computers. It's ironic that the tablet from IBM's previously owned Thinkpad line comes out the same day that Apple drops IBM as it's processor of choice, isn't it? Now, the only remaining question is who will buy an Apple between now and next June?
Release dates were announced for Visual Studio.NET 2005 and SQL Server 2005 - the week of November 7th. More news from Tech Ed? Every attendee got a voucher for a free copy of SQL Server 2005. Nice! Want more? Content Manager Server 2002 SP2 will be released at the end of the year too. Exchange SP2 is due out in July (I think) and it includes some nice push technology for mobile devices.
Tabs in IE - finally. Well, through the toolbar, anyway. The implementation is still very weak compared to what Maxthon offers, but it's a start I guess.
I had a very busy week last week, so I wasn't able to follow any other news - so I probably missed a few things. I'm trying to catch up, but I won't get caught up until after today, and I want to get this out on time.
Categories: RossCode Weekly
Talking To The GotDotNet Team
posted on 2005-06-12 at 22:05:28 by Joel Ross
I got a chance to talk with the GotDotNet team about the future of Workspaces as well as the whole GotDotNet platform. And I got a free shirt. I think I mentioned that before!
It was surprising to see how apologetic they were for the software, even though they didn't write it. They called it a prototype in production, and when you look at how slow it currently is, that's probably pretty accurate. None of them are happy about the performance, but it does seem to be getting better.
Not many know this, but we used to host all of Tourney Logic's source on there, but left because performance was an issue, which they completely agreed with us about, and said they were working on it.
I knew that Jim Newkirk was working on the team, but hadn't seen much in the ways of updates of what is coming. The good news is that it's still early enough that we have the opportunity to shape it's future! Yeah, they have some stuff worked out - it looks like they'll be using a version of Team System on the back end, rather than the "roll your own" they use today - always better to use something that's been tested and proven, right? It's still up in the air as to what exactly will be exposed, but I told them we would definitely be interested in an easy way to set up continuous integration, as well as integrated bug tracking. Right now, they have bug tracking and source control, but they aren't integrated. If the interface for integrating those was simple to use, it would be great!
The other major change that was talked about - and this isn't official, so if you read this and it's not true, then I had bad information. If it does turn out to be true, well, you know where to come for all the inside information! Anyway, it probably won't be closed source anymore. Why? Well, what purpose does a closed source project serve to the community GotDotNet serves? None really. And if the project is abandoned, well, then no one gets benefits - and GotDotNet gets punished by having to use space for it. Not to mention that if a lot of the features of Team Server are exposed, and you could run it for free on GotDotNet, why would you purchase it?
Anyway, it looks like the first release will include better support for upload/download of releases, so those who just load up zips of source (ala .Text), they should see a big improvement in speed and stability soon. But if you have suggestions for the GotDotNet team, head over there and send some feedback. That's the only way they know what we want - and wouldn't it be great to have a true .NET-based answer to Sourceforge?
Categories: General
Talking to the MSDN Team
posted on 2005-06-09 at 02:07:02 by Joel Ross
I had a chance to talk to a few of the guys on the MSDN search team, as well as the GotDotNet folks. Of course, my reason for stopping was to talk to the INETA team, but they were busy, and GotDotNet offered a free t-shirt if you filled out a survey.
I can't pass up free swag.
So after filling that out, I started looking at nametags, and noticed I knew of a lot of them. Then, Doug Seven grabbed me, and we started talking about search in MSDN. I met Doug on Sunday night, but this was a good chance to talk about what he does. He works on the back end of the VS.NET help tool.
Wait a minute. Back end? What back end? I thought it was all local help. That's why I never used it. VS.NET 2003 help is good if you want technical details about what you're looking for, but not so helpful for contextual information about how to implement something. So I assumed that VS.NET 2005 would be the same way.
Never assume! That's bad. When you search for something in 2005, it does do a local search, so you still get the reference data, but now you get a whole slew of other resources. First, you get search results from the new MSDN forums.
My first thought on that? Cool, but I google a lot, and I find what I'm looking for, only to find out that it's not answered - it's someone with the same question as me. But that's not the case here. If you read Josh Ledgard's post about the new forums, you'll notice there's a way to flag a reply to your question as an answer. That adds it to a database of answered questions that can then be queried through VS.NET. Awesome!
His post also talks about the VS.NET integration, but I forgot about that until just now. It's much easier to remember when you can talk to these guys rather than just read about it.
So that's one part. Another part is third party sites, such as ASP Alliance, DotNetJunkies, etc. They have a way to tell the MSDN team what content to look at, and then those can be used in search results. That's the back end that Doug works on. Now, in VS.NET, without leaving the IDE, you can get information from third party sites about what you want to do.
And the search is extensible. That means if, for example, you have an internal repository of code snippets at your company, you could add a tab that searches your internal repository so your developers can get quick access to code written the way your company expects code to be written.
Now that's cool!
Categories: Development
Generating Code During Compilation
posted on 2005-06-08 at 10:31:47 by Joel Ross
I just sat through a breakout session at Tech Ed about the internals of ASP.NET 2.0, and saw a really cool feature. You can create your own build providers and tell it to handle a certain type of file. In the build provider, you can read that file and use whatever process you want to generate code to be compiled.
As an example, you could create a build provider for an XSD file and generate a class from that.
But this got me thinking. I also sat in on Scott Hanselman's code generation talk yesterday, and he uses WSDL and XSD files to generate a lot of his code. He also uses CodeSmith to generate the files. Right now, he generates them as .g.cs files so everyone knows it's generated.
Now, though, you could take his process, and generate code at compile time, meaning there's never a need to have the files written to the file system, or generate the .build files for Nant. That's very cool.
Categories: ASP.NET
Tech Ed Report, Day 1
posted on 2005-06-08 at 01:14:36 by Joel Ross
I arrived Sunday around 6:00 PM in Orlando, went to the hotel and then left to get registered. It was a fairly easy and quick process - no lines!
Brian and I traveled together and we met up with Jim Becher, drove around, and then met up with Drew Robbins, who treated us to dinner that night.
Monday was the first day of the conference (as if you didn't know that). Ballmer's keynote was good, and there was some good content, but it was more infrastructure based, which isn't my thing. I've noticed that most of the vendors tend to be infrastructure focused, and not as many developer vendors.
Anyway, the keynote had a demo of some of the features of Exchange Server SP2, which includes the ability to use push technology to mobile devices instead of the standard pull technology available now. It looks like once again Microsoft is taking what people are currently paying for, and putting it in the box.
The demo showed how you could wipe a Pocket PC automatically after three invalid login attempts (if you lose it, for example). But as a user of the technology, I don't want my Pocket PC wiped if my daughter plays with it too much. Still, the demo was compelling.
Ballmer was a good speaker. Lots of energy. And the production value of the keynote was good. Watch the webcast. It's worth it.
After that, sessions started. I don't want to post a huge summary of each session, but I'll give a brief rundown of what I attended and what the big takeaways for me were.
ASP.NET 1.1 to ASP.NET 2.0 migration
There's lots of different ways to do this - you can run 1.1 and 2.0 side by side, so you don't even have to upgrade your app. You can also run 1.1 compiled apps on 2.0 without needing 1.1 installed. That's very cool. I'm still not sure if I like the "magic folder" idea, but I also don't know exactly why. I'll never use a App_ folder on purpose, so it doesn't affect me, but it doesn't feel natural.
Generating XHMTL out of the box by default is goodness too.
No longer can you modify the standard javascript functions - it's all encapsulated by a handler. You knew modifying those by hand wasn't a good idea anyway, right?
The VS.NET conversion tool is much, much better than what's in beta 2. I haven't used beta 2's conversion tool yet, but it sounds like it's not as good as it could be - which is why they beefed it up.
Building and Using a Software Factory
This should have been called Using a Software Factory. I wanted to find out how to build a software factory to make life easier. Instead I saw how their software factory worked. They spent the last 15 minutes talking about what could be in a software factory, but no real talk about how to make your own. I was disappointed.
Anyway, here's a few things you can include in a software factory: tools, templates, wizards, config files, application blocks, baseline architectures, patterns, documentation, feature models, etc. Those assets can be customized at run-time or install time.
Don't get me wrong - the session wasn't bad, it just didn't give me what I was hoping for. Being able to do DSL models and generate the code for you is very cool, but I wanted to know how to build the generator, not use it.
Visual C# Enhancements
They talked about 4 big features, and a few smaller ones, and how to use them
1. Generics: Pretty straight forward, but there's a lot of power there.
2. Anonymous Methods: This is still kind of fuzzy to me, but it looks cool. I'm sure I'll get my head around it soon enough.
3. Nullable Types: These are cool. I spend too much time worrying about values that can't be null.
4. Iterators: Coolest part: You can define how to iterate over a collection - it doesn't have to be forward - so you could iterate over a subset of items: foreach(Item I in items.SubSet(3, 6)). Very cool!
5. Partial classes: This is the foundation for how ASP.NET does it's code generation.
6. Static Classes: Just a formalization of something you can basically do today.
7. Property Accessors: You can now have a public get and a private set. Nice
8. External Aliases: Cool, but I probably won't find much of a use for this.
9. Inline warning control: This is cool. You can turn of a particular warning for a few lines and still get that warning elsewhere in the code
Accelerating your CMS Development and Deployment
Lots of cool tools talked about - all free. A big announcement that Skelta's workflow tool will be free for CMS. That's very cool - you can visually design your workflow and include people who aren't even CMS users into the process. Some of the nice tools: Authoring console as a context menu, and being able to revert posts.
Monday night, I was invited by Drew to a party at the Nascar Café, and I got to play the role of "geek groupie" and meet a handful of bloggers that I've followed, and put a name to the face:
James Avery: He and I chatted for a while and a good conversation. He's a really nice guy.
Dave Donaldson: We talked just briefly, but he did remember me commenting on his blog.
Dave Bost: We spoke for a few minutes. He's a nice guy - a lot taller than I expected.
Doug Seven: I actually met him Sunday night, but he was there Monday too.
Jeff Julian: He runs Geeks With Blogs. I also met him on Sunday.
So far, so good! I'm looking forward to the rest of the week!
Categories: Development