Though mine is still in process of being shipped, Match received their Kindle Fire devices today. I got to play with it a little and test some pages with it. I also needed its user agent string, which I couldn't find on the web. So here it is:
Category: Tech Review
I like my iPod but I'm not a huge fan of iTunes. When I heard about the Zune HD I figured it was time to try it. I want something better, something that doesn't lock up for 20 seconds every time I download a podcast. So with the hope of finding more usability I trotted down to Best Buy on release day (Sept 15th) and bought me the large size Zune HD. Yay! A newer, better, player! The software was very different but eventually I got used to it and could navigate it fairly well. Yay, all is happy with the world.
Yesterday I spent my dev time doing design work for a site (ASP.NET MVC). Other than adding new methods to the home controller for new pages, no code was needed. I was going from psd to html and css only, so in theory this experience should be at least somewhat close to what Expression Web 3 is supposed to be used for.
I'm not generally averse to trying out beta, or even alpha software. On something as big as VS I am. With beta 1 I went the virtual machine route, which worked great. But for beta 2 I decided to actually install the thing on my dev machine at home. I was a little worried, but here in the next few months I'm due for a rebuild anyway.
Sometimes I love Photoshop Elements. Sometimes it annoys me (like when it decides it wants to undo with Ctrl-z, and then changes its mind and wants to use another key combination). Sometimes it destroys my work. Tonight is such a night.
I am working on a logo design. I try to save the file and I get a "Could not complete your request because there is not enough memory (RAM)." error. Okay, well, I have a total of two gigs of memory, and about 1.2 gigs of that are free. I REALLY don't think that is the problem. The image only had three layers, one with a text block on them each. Save As... got me the same error. My work was lost. Nothing I could do to save it. Switching to Expression Design for the evening. Maybe I can get something done.
Frankly, I was a little more impressed with the quality of Photoshop Elements 2 than I am of 5.
Recently Expression Blend went into RC mode (Blend, if you don't already know, is MS's next WPF designer). Since I've been out of touch for the last few weeks, I am not sure how long it has been out.
The new Blend is now installed on my machine. First impression? It is considerably more responsive. Now last weekend I added an extra gig of ram to my machine (from 1 to 2 gigs), so that may have something to do with it, but I don't think so. I often used it when I had extra RAM left over, so I don't think the increase in RAM did it. But I could be wrong. But if I'm not, they have at least made some improvements in the performance. Bravo.
So I finally started looking into WPF. I finally had a project that could use it. I've spent the last week and three days spending just about all my spare time reading and coding this stuff.
First impression...wow. Over the last few months I have been spending time in ASP.NET Ajax and have been very impressed, and I still am. But this...this just blows me out of the water. Seriously, as I do things, I keep saying "wow" to myself. I also found myself frequently bugging my personal winforms gui guru David just to say "wow" to him.
It is going to have quite the learning curve with most who have experience in winform development. That has been the case for me. It's not that it is very hard; it is just very different.
More thoughts later, for sure. The project that involves WPF will go on for quite some time. I will be able to tell you more about the specific project sometime in March, I expect. Stay tuned.
Until then, if you do any windows development, check it out. It rocks. And while you are at it, check out Expression Blend. Very useful.
I bought a new iPod yesterday. It is a 30 gig model, black and sleek. I have been using an iPod mini now for at least two years. It has served me well, but the battery stopped charging completely. That obviously makes it much less useful. I would have had to start bringing an extension cord with me to the gym. I wonder how long it would have taken the staff to notice and say something...
I like it mucho. It is thinner than my old mini, but probably close to an inch wider. This makes the screen much more readable, so that's fine. It is also color and plays video, two more things that the mini did not do. It only cost me $25 more than the mini did when I bought it way back, so that's not to shabby either.
But I have two not quite so positive comments. First, I don't like the feel of the wheel as much as I did with the mini. You have to press harder to get it to respond. That's going to take a lot of unlearning. Also, it didn't come with a electric socket charger like my mini did. Apparently they don't come standard anymore. Seems a little cheap. The only way to charge it is through USB...unless you happen to have a wall charger left over from when you had a mini :)
Overall, a big improvement. I'm glad I got it. I briefly considered moving to the Zune, but since I didn't actually know anybody who had one, I didn't want to try it. Maybe one day.
The commenting capabilities of the site have been functional, but not very nice. Html comments were not allowed, as one of you noticed, and the text entry was obviously basic.
I have now spiffied it up. You will notice that you now have the write comments that are very html-ish. Feel free to do so. The text entry control is called tinymce, and it is distributed under the GPL. It is very easy to setup for use on your blog/website. So far I am happy with it. Check it out.
But it didn't work perfectly. If you want to do the same, be prepared to deal with some issues.
- Private classes aren't handled well. This is actually a problem with Reflector, not with the plugin. Only two classes (that I could find) used them, so those had to be manually fixed.
- Enums were decompiled as their integer values. C# will not implicitly cast an int to an enum, so all of those ints had to be cast.
- Properties where not properly decompiled, but that's not a surprise. As you .NET geeks surely know, properties are syntactic sugar, and are compiled in IL to get_ and set_ methods. These showed up in the decompiled C# code, and had to be changed to properties manually.
- Ref and out were often switched.
Now I have the MS ASP.NET Ajax library in code files.
So the plugin works pretty well, though things could be improved.
We are switching a project I'm working on from a custom logging solution to the one built into the Enterprise Library, the "Logging Application Block". This is nice, because it means we can get rid of quite a bit of custom code (that's code we no longer have to debug or maintain). The logging application block is very well done as far as I can tell thus far. It makes it very easy to configure logging without having to change code.
- Nice gui - the colors are bright (though maybe a bit strong) and the whole thing looks good. Follow the link and check out the screenshots.
- Nice integration - works right within visual studio and gives you some nice visuals in the text editor for code coverage...
- Code coverage - it does that...
- Uses the NUnit framework - so if you are already using NUnit, this will be an easy move.
- Performance measuring - it does that too (just in terms of how many ms it took to execute something)
- It is cheap - there is a trial version and the full version is just $49. A LOT cheaper than Team System. Of course, Team System does a lot more.
- A little choppy - Of course this may be more the fault of VS than Testrunner since VS is often a little slow anyway.
- No way to ignore individual files in coverage. None that I can find, anyway. "But you don't want to ignore those." Yeah I do. My web controls are in the same library as the other code that I'm testing, and I don't want to move them to a separate library to keep them from skewing the coverage results. And I think those controls are better tested through other means.
Using the VS addin:
18 public void ShowSomething()
20 MessageBox.Show("I am a code sample. Hear me roar!");
Using the online code formatter:
1: public void ShowSomething()
3: MessageBox.Show("I am a code sample. Hear me roar!");
Anyway, this one works.