Ben 的个人资料Spacecataz日志列表 工具 帮助
4月29日

Animated Transitions in MVVM with WPF (my attempt)

I've been filling my brain with all kinds of data and discussions surrounding the MVVM model lately. I really like the pattern, but there is a particular piece of the puzzle that's been bugging me. I spend a lot of time developing demos in WPF that use a lot of advanced graphics techniques. Every single change to the UI needs to happen smoothly, and that means a lot of animation and transitions. When I look at my code and try to think about how I would move more logic out of the view and either into XAML or into the ViewModel, this is an area that is most often the sticking point.

Well, after being inspired by Josh Smith's post about that very subject, I took my own crack at this. My primary motivation was finding something that would work for transitioning items in and out of itemscontrols as well as single child content controls. I also wanted to avoid adding code to the view. Josh was sticking with current "production-ready" code, but since my apps are often just demos anyway, I decided to go ahead and use the Blend3 Behavior goodness.

The idea is this: If you apply one of my Behaviors to a content control, and the content is of type ITranstionItem, then the behavior will apply a transition when the value changes. If you apply the behavior to a datatemplate to be used in an itemscontrol, those items will transition in and out when they are added/removed. The behaviors are meant to be stackable too. I built two behaviors (or actually I guess they're actions), one just fades items in and out, the other applies storyboards defined in the view and assigned at design time.

So even though this is very rough, I decided to show some details here. I don’t really like what I named things, and for some reason I did everything with properties and monitoring for PropertyChanged events instead of custom events (I did a lot of iterating on the fly) but I decided to stop here and step back. There's probably memory leaks and obvious improvement to be made.

Here's the interface. The viewmodels I want to support transitioning will implement this (or extend the abstract class below).
public interface ITransitionItem : INotifyPropertyChanged
{
    bool TransitionEnabled { get; set; }
    bool IsNew { get; set; }
    bool IsOld { get; set; }
    bool IsReadyToRemove { get; set; }
}

I also created an abstract class implementation for the properties and one reusable method called DelaySet. This is where I should probably change things to use more custom events rather than properties.
protected bool DelaySet(object currentValue, Action applyValue)
{
    var tItem = currentValue as ITransitionItem;
    if (tItem != null &&
        !tItem.IsNew &&
        !tItem.IsReadyToRemove &&
        !tItem.IsOld)
    {
        tItem.IsOld = true;
        PropertyChangedEventHandler handler = null;
        handler = new PropertyChangedEventHandler(delegate(object s, PropertyChangedEventArgs ev)
        {
            if (tItem != null && tItem.IsReadyToRemove)
            {
                tItem.PropertyChanged -= handler;
                applyValue.Invoke();
            }
        });
        tItem.PropertyChanged += handler;
        return true;
    }
    else
        return false;
}

Then here is a view and viewmodel using the fade action:
<ContentPresenter Content="{Binding Path=Content, NotifyOnTargetUpdated=true}"
    <i:Interaction.Triggers>
        <i:EventTrigger EventName="TargetUpdated" >
            <PersonalMVVMSampleApp_Behaviors:Fade_InAndOut_TransitionAction />
        </i:EventTrigger>
    </i:Interaction.Triggers>
</ContentPresenter>

public class ApplicationViewModel : TransitionItem
{...
  public ITransitionItem Content
  {
    get { return _content; }
    set 
    {
        if (!DelaySet(_content, () => Content = value))
        {
            _content = value;
            OnPropertyChanged("Content");
        }
    }
  }

The code for items controls is even simpler because no special code is needed in the viewmodel. It's handled by a custom version of ObservableCollection:
public class TransitioningObservableCollection<T> : ObservableCollection<T> where T : ITransitionItem
{
    protected override void RemoveItem(int index)
    {
        var toRemove = this[index];
        if (toRemove.IsReadyToRemove)
            base.RemoveItem(index);
        else if (!toRemove.TransitionEnabled)
            base.RemoveItem(index);
        else
        {
            toRemove.IsOld = true;
            toRemove.PropertyChanged += new PropertyChangedEventHandler(delegate(object s, PropertyChangedEventArgs e)
            {
                if (toRemove.IsReadyToRemove) Remove(toRemove);
            });
        }
    }
}

I won't post the details of the behaviors here, but basically they attach and look for a transiton item to listen to, then apply the transtions when appropriate. (i'll make the source code available soon)

This is meant to get me on the road to something reusable, but I welcome suggestions for how to improve this, or you can just tell me that this is a crazy way to handle this issue and you'll probably be right.




1月12日

Microsoft's REC

I see Microsoft has announced their Retail Experience Center (REC). I've been there, and I can definitely say they've built something really cool. In fact, they've included so much detail it's actually kind of surreal. You can easily forget you're not in a real store. Right down to the giant mural of a parking lot that's behind the sliding glass doors. Anyway, if you have the means, I recommend checking it out.

Also, Avanade's retail demo is installed on their Microsoft Surface, and you can catch a glimpse of it in the video (it also appears in one of the gallery images). So that's cool to see! :)
1月5日

Financial Planning on Microsoft Surface from Avanade and Accenture

We've finished another Surface demo and that means I get to embarras myself in another video. Hopefully you're too distacted by how amazing the app is to notice my performance. I had a lot of fun developing this one, and while I'm sure everyone will have their own positive and negative reactions, I think we produced something that showcases several good ideas in a short amount of time. So I'm happy. Please let me know if you have thoughts or questions. I'm happy to discuss.
 
 
8月31日

The Big Drive

I just finished a drive from St. Paul to Seattle. 2.5 days, 1800 miles, lots of fun, 1 perspective shift. I have a new position at the same company, but now it makes more sense for me to work out of our headquarters in Seattle, so here I am. Technically, I could have flown. It would have taken about 6-7 hours total, and would have put me here in time to enjoy a beautiful august weekend. The company is paying for relocation, so whether I drove or had my car shipped was totally up to me and made no financial difference. So why did I drive?

It was a rather an easy decision to make, even though I put on a show of going back and forth about it for a couple weeks. Really though, I knew I wanted to drive the first time I thought of it, but it’s only in doing it, that I understood why. The fact that I hadn’t ever been in Montana, Wyoming, or Idaho was something I thought should change. I’m also planning to sell my car shortly, now that I don’t need it to get to work or the gym, so I thought it would be good to enjoy it while I have it. But the real reason turned out to be perspective. I needed to MOVE, not just pop over to Seattle like I’ve done at least a dozen times before. I wanted to feel the very sobering reality that I was leaving my home state indefinitely for the first time. I wanted to feel the weight of leaving behind friends and family. Not that I’m a masochist, understand; it just seemed like flying here would be like cheating somehow.

The fact is that Seattle IS 1600 miles from St Paul (the extra 200 miles I drove was for a very worthwhile detour to Yellowstone national park), and one tends to underestimate the enormity of that distance when they routinely cover the round trip twice a week and sometimes 10 times in a single month. The incredible speed at which you travel while 30k feet above the earth should evoke its own kind of awe, but for someone who didn’t grow up taking road trips, I suspected these distances were somewhat lost on me. I was right.

For example, yesterday I spent over 11 hours driving; saw the sunrise and the sunset from the car, and stopped only occasionally to stretch my legs and remind my senses that the world isn’t perpetually speeding by at 80 mph. When I started the day I was in Montana and I ended it in….wait for it….Montana! And still a good 150 miles from the western border! Granted, I spent some of the day taking a detour a bit south which took me through a corner of Wyoming, but generally I was heading west the whole day. I averaged 60 miles an hour according to my car’s computer, and filled my tank a couple times. That’s distance!

And here’s the most important thing about it: every mile along the way, every mountain pass or 10 mile straight-away that begs you to see if you can get your car past 130mph, I was aware (at least subconsciously) that it brought me further away from my old home and closer to my new one. That limbo time, during which I thought of myself as a homeless wanderer (I should have learned kung-fu first) was therapy for the mind. Or at least I hope it was, because it didn’t do much for my back.

I will take possession of my new apartment tomorrow, and in so doing, complete a journey. Moving to a new city is not a breakthrough for mankind, I realize, but this is a journey that has been a long time coming for me, and I feel it is (if you’ll permit the cliché) a beginning as much as an end. Only one reader of this will remember directly, but I once stood on a dock in Greece telling someone, who was at the time a relative stranger, about how I wanted my life to be bigger. It was something I hadn’t thought of in those terms before that moment, but it was very true. So what better path to a bigger life than a big city, some big sky, and a big drive?

The Drive's Flickr Set

7月10日

iPhone 2.0 vs. Windows Mobile - A Back and Forth Conversation

I decided that the only way I can express my decision making process, which has led me to NOT buy a new iPhone tomorrow, is to externalize the conversation taking place in my head. So here ya go:

 

WM Owner

Ok, I've decided to stick with my HTC Touch Cruise (substitute any of the latest wm phones with 3G and GPS).

iPhone 3G Owner

But how can you think WM is still a better choice when the new iPhone is so great?

WM
I know, I have to keep reminding myself of the reasons. Let's do this though. You start telling me the things you love about the iPhone that you think are either unique to it, or better than WM. And I will respond with something that is unique or better on WM; OR demonstrate equivalent functionality on WM, and see how far we get. And I'm not just going to list features for features sake; these are things that really matter to me

iPhone
Alright. Let's start with mobile web browsing. Web pages are displayed like they are on a desktop.

WM
Yeah but opera 9.5 on wm does the same thing as safari now. It has all the same benefits. The only thing it can't do is the multi-touch pinch, so just to even us up, I'll throw in the obvious wm advantage that it can be used with any carrier world-wide and supports more radio bands.

iPhone
Fair enough. So how about the great multi-media ipod functionality? It plays videos beautifully.

WM
I'll give you that it's better overall at multi-media, although I can play xvid torrents natively on mine with minimal slowdown, while those have to be converted for the iPhone. Also I can play audio over bluetooth and expand my storage with the SDHC card reader.

iPhone
The iPhone is great for texting with its threaded display and smart keyboard.

WM
Actually I have threaded txting now too, and I can copy/paste things into my txts/emails from any other program on the phone. I also have a 3rd party keyboard that incorporates all of the smarts of the iPhone keyboard, plus the ability to choose your layout and customize other useful options.

iPhone
I love google maps on the iPhone. And now I have gps.

WM
Yeah I have the same google maps program with gps, and I also have MS live search which includes turn-by-turn gps support via the internet. It even does rerouting when you deviate from course. And it supports voice commands.

iPhone
The gesture-based UI is great.

WM
I'll give you that it's nice, although multi-touch is probably underutilized. HTC phones do gestures now though too. All lists are flick-able. I can flip through pictures and emails. There is a program launcher that is all gesture based. And I can even zoom in on areas of pictures by drawing little circles instead of doing the pinch.

iPhone
Email support is great, and now supports exchange push.

WM
That's great, but obviously WM has that too. Also, it implements ALL exchange features. The iPhone is missing tasks and flagged emails, which are extremely useful to me.

iPhone
How about how you can browse itunes and buy/download music directly over wifi?

WM
Good one. Although I have an app that will auto-download podcasts over the 3g network, which I find more useful than buying songs. I also have apps for twitter and flickr uploading, all running in the background, which I understand you can't do with 3rd party apps on the iPhone as they can't stay resident.

iPhone
Honestly, when it comes down to it, the iPhone is all about the overall amazingly fast and beautiful user experience.

WM
You win on ux and speed, I can't deny that. It takes a lot to overcome this one for me. Here's a few things I haven't mentioned yet: OfficeCommunicatorMobile for corporate IM and true freedom from the office; decent 3mp camera with auto-geotagging; windows remote desktop, for tweaking my home server from the road; laptop tethering to the internet via Bluetooth; spare batteries; Skype.

   

7月1日

Surface Video Available

I promised in my last post that we would put up a video of the Avanade/Accenture Surface demo, and it's finally here. Just took a bit longer than expected.
So enjoy, and try not to be too hard on the poor actors, they aren't professionals. :)

  

technorati tags:, , ,

3月11日

Avanade and Accenture's Surface Demo!

Avanade put out a press release today announcing a Microsoft Surface demo that aims to "enhance the retail experience". This happens to be the application I've been working on for the past few months at Avanade headquarters in Seattle and I'm really excited to see it hit the light of day.

There should be a video available soon, but basically this application helps you shop for products by making it easy to compare them to each other, and see how they will work in your home. For instance, you can draw your living room blueprint-style, placing all your existing furniture and equipment, and then try out a new TV to see how well it will fit. Then you can resize the TV on the fly to pick the best one for your room. It's a bit hard to explain how well that works, but when the video is available you'll see it's pretty cool. :) There are also additional aspects to the application involving making product suggestions and helping with connecting up your equipment. It's all really good stuff that I would personally love to see adopted by retailers in the near future.

From a development perspective, this was a really fun app to work on. This is essentially a big WPF app that is touch-enabled using the Surface SDK. Our team didn't start with much WPF experience, so we had that learning curve to deal with on top of learning the nuances of the Surface device itself. To Microsoft's credit, it really wasn't too tough. Even in this early stage the devices are stable and easy to work with, and the SDK is well designed. The whole approach to designing applications for Surface is still evolving inside Microsoft, and probably our biggest challenge was trying to figure out which design principles we could work into this application and to what extent we could define our own. There were quite a few iterations of the design, and I must say I'm pretty impressed with what we were able to produce in just a couple months (we started in December).

So take a look at the pics (that's me in the first one on the left!), and be on the lookout for a video. I know this isn't exactly a blog people are reading for development posts (or reading at all actually) but feel free to ask questions in the comments or send me email to seraph.ben+surface@gmail.com. I still have a ton to learn about WPF and Surface, but I'm happy to share the knowledge I've gained so far!

Update: The video is now available.

technorati tags:, , ,


2月23日

Seattle and Skiing

I've been working in Seattle for the past few months, basically since I got back from New Zealand actually. It's been great to work out of the company headquarters for a while, and I'm getting a chance to work on some really cool tech (although I'm not actually allowed to say what yet). I grabbed a corporate apartment here and have spent only two weekends at home in 2008 so far, so I've definitely had a chance to get to know the city. Let's just say it's an unquestionable upgrade weatherwise from MN winters. :)
The last two weekends have been the most dramatic examples of this. Not only do I get to enjoy 50's and sun in February, but if you drive for two hours there are two totally decent mountains waiting for you. Last weekend I hit Steven's pass, and I just got back from Crystal Mountain a few hours ago. These aren't quite Colorado or Utah quality, but they get the job done admirably, and the views certainly don't disappoint. There's nothing like skiing to the edge and seeing the glory of something as huge as Mt Rainier spread out before you.
 

Mt Rainier
10月8日

Travel Update

Since the last time I posted here I've spent a month in India (August; for work) and I'm in the middle of a month in New Zealand and Australia! Big things, and I have really not had much of an urge to blog about them for whatever reason, but I've been uploading lots of pics and so I highly recommend, if you really care about what I'm up to, subscribing to my flickr feed. (www.flickr.com/photos/seraph).

I didn't upload much for India pics until I got back, but I've been pretty good with getting one cameraphone pic up everyday from NZ. Unfortunately, that will have come to an end today as I jumped in the spa with my new Nokia n73 in my pocket! So that's a bummer, although I didn't lose much since I didn't even buy the phone (won it right before I left the US in a raffle :) SO, I will have to start just uploading whenever I can get a net connection. The phone charges were starting to add up anyway.


I don't really have the time to go into much pontificating on the NZ trip yet, but it's amazing so far. Sandy and I have 7 days here nearly complete already and we've had great luck at every turn (we're on the south island for the whole trip). Our glacier walk had sun instead of hail, and our trip on milford sound last night included dolphins, penguins, kayaking, a bit of rain AND sun, so we're having a blast. The big thrills are even yet to come! I have to say, even if you didn't do a trip on the water in milford sound, just the drive down is absolutely breathtaking. I swear, driving along yesterday, with a new epically beautiful landscape around every bend, I actually started to lose the ability to ooh and ahhh, I just gaped. We're in Te Anua on the south island tonight, and are about to head to a glow worm cave trip that sounds interesting. I've just uploaded a bunch of pics to flickr with a bit of commentary. Check out my australia/nz set here.

4月25日

Beverly Warns Photography

I just remembered something I wanted to mention about my recent Hawaiian trip; while on the big island, I made my first significant art purchase ever. I picked up a limited print of Beverly Warns' "Cliffs of Kalapana". I should say that the reason I've never bought any art before is not because I've never seen stuff I like, but just because I've never found something I could not live without. I always have a conversation with myself about how (especially with photography) I can find things just as good or better on Flickr for free, and there is no need to spend good money on a permanent print of something when I am constantly amazed at what I can paint across my computer screen any time I please.
 
Well Beverly's infrared shots of Hawaii so completely blew me away that I could not leave without at least ONE of them. The difficulty was actually choosing with one! It's not just that they are well executed, but it's the fact that the technique reveals details and beauty that you wouldn't even get if you were standing there in person. It's stunning work and I'm grateful to have found it.
4月23日

Back from Hawaii

I just returned from an 11 day trip to Hawaii. We spent 6 days on Maui, 2 on Oahu, and 2 on the Big Island. Nearly every day was full of activities including snorkeling, powered-hangliding, body-surfing, driving to Hana, swimming under waterfalls, hiking, a luau, and all that good Hawaiian stuff.

I'm going to be uploading pics in a somewhat random fashion (though I think I might try one a day to see how that works). See the flickr set for future updates. This one is from Big Beach on Maui. I finally got my chance to battle some (relatively) big waves here. Extremely fun.

technorati tags:,

3月11日

Canada!


So I've actually been to Canada twice in the past month for work. The first time to Ottawa, which was fun, and the second to Vancouver last week. These mark my first trips to Canada, and the first time I've ever traveled INTERNATIONALLY for work. If Canada really counts as international. :) I'll most likely be back a few times over the course of the year.

Vancouver was excellent. I put a up a few pics for your enjoyment.

It was just nice to get a break from the relentless midwest winter and see some green! I did a bit of sightseeing, but nothing too extraordinary. I DID get a chance to attend Cory Doctorow's lecture on Privacy at SFU though. I've been reading Cory's stuff since I ran across a link to his book "Eastern Standard Tribe" on slashdot or something. I remember being intrigued by his business model; he's a writer who gives away all his books online, reads them in podcasts, while still selling them in print.

By now I've read most of his stuff and always enjoy hearing his perspective on privacy and copyright, so it was a real treat to finally meet him in person. He's just as friendly and approachable as I expected he would be. However the amount of stuff this guy gets done in a day still astounds me. Anyway, his lecture was good (you can get the full audio here), and his business model was proven once again as I bought his newest book and had it signed. :)

technorati tags:,

1月16日

Skiing Again

Pretty much everyone I know already knows this, and if you watch my flickr feed you'll have seen the pictures, but I figured I might as well quickly mention that I went skiing in Breckenridge for a couple days over the holiday and then spent new year's in Denver.

The plan was to spend the night of the 28th in Denver and drive to Breck early in the morning, but there was a huge storm just about to hit and I decided (actually Stephanie at the Denver City Center Marriott advised) that were was probably a good chance we would be stuck in Denver if we stayed so we headed to Breck that night. Luckily I had already picked up the rental car and Stephanie saved the day by spending a good 20 minutes on the phone pulling every string she could to secure me a room in Breckenridge, even though they were officially completely sold out. THAT was some serious customer service!

The drive to Breck actually took about 3 times as long as it's supposed to, and we saw no less than 6 people pee on the side of the road in front of us while we were waiting in a line of traffic that could only be described as stop-and-then-stop-some-more. So that was entertaining, and we eventually got there and had two awesome days of skiing. Stayed in the Marriott Mountainside, which kinda used up the Marriott customer serivce points they gained in Denver by almost losing my sport coat and not actually successfully dry cleaning it despite having it for 3 days. Not really a big deal though. I definitely paid for the privilege of staying there this time; no amount of marriott points could secure that room the week of Christmas. I think it was totally worth it though. Here's a pic of the hotel and it's proximity to the hill (the lift is like 10 yards to the right).

The snow in Breck was quite good, and the weather treated us well. The lines the first day were actually not that bad considering the season. I think the storm helped us there as many people couldn't get out of Denver (suckers!). The second day was sunny and warm and beautiful. The runs were well-groomed, although somewhat icy in places. I spent most of my time on Peak 10 where it's all expert runs, which helps to keep the lift lines down. The skiing there was sweet and overall I was quite impressed with Breckenridge. I'd rank it below Vail but above Park City Utah, though I've only been to each of them once and therefore my opinion might not be worth much.

I'm really hoping to get another round of skiing in sometime this season, but I don't know how likely it is. Work should take me to Vancouver at least once this year, but I'm not sure when. If it's early enough, I'll try out Whistler.

New Year's eve was great. Went to the Denver Orchestra's "A Night in Vienna" concert, which was very good. The Boettcher theater is really nice. Then we watched Denver's fireworks show at 9pm standing directly underneath, which was cool.

Take a look at my Breckenridge flickr set for more shots. I went back to using my FujiFilm Z2 for the shots while I'm on the mountain because it's small and easier to carry with me, and it's about half the price of my new Canon so I'm risking less. For some reason, I also took my imate smartflip up the hill with me, and while it enabled me to answer some email and upload some flickr pics from the lift, I also managed to break the external screen somewhere along the way. Caution to the people who own the smartflip: Be careful with the external screen, I think it's gets brittle when the phone gets cold. That sucks, but I'm back to using my jasjar as a primary phone now that I'm traveling again anyway.

technorati tags:, ,

12月23日

Tech At Christmas

I just had a fun tech experience while visiting family up in northern Minnesota over the weekend - My brother started taking about Civil War. I hadn't seen this comic yet, and it sounded cool. I figured Tim probably has it. Now, not too long ago, this is where the conversation would end and I would try to remember to ask Tim about Civil War the next time I see him. But in the connected world I just pulled out the ol' UMPC and logged onto the hamachi network my friends and I use for sharing files. My grandparents may not really understand the computer they own, but at least their wi-fi works.

So using hamachi, I just browsed Tim's well organized comics file share and saw that he does indeed have the first five issues of Civil War. So I promptly copy and pasted them over. The UMPC is awesome for reading comics because the 800x600 screen is actually detailed enough to resolve an entire scanned page at a time and keep it readable, and the fact that it's about the size of a paperback book makes it natural for reading.

So then, as I was reading that, my brother goes on to mention a band he thinks I'd like called Shpongle. So I checked them out on myspace and based on that decided to seed a new pandora station from them. Amazingly (though not too surprising considering how awesome the service is) Pandora had Shpongle in the system (I believe "wet recordings" is one of the genomes that distinguish it).

So then, based on that, I remoted into the server at home and found a couple torrents full of Shpongle and other similiar stuff from Simon Posford. Some of it is lossless to boot! Now when I get home I'll have new music waiting for the ipod and the music system. I suppose I could download it here, but I'll be home tomorrow and Pandora will suffice until then. Assuming I can find them, I'll buy the stuff that I like.

That's a 2006 Christmas I guess. :)

technorati tags:, , ,

12月13日

Outlaw 990

I'm not the only audio/gadget guy living in this house. My housemate/landlord and I sort of built up the living room home theater through a combination of our hardware. My tv, his speakers, my consoles, his Tivo, etc.

Well since the speakers are studio monitors with their own amps, we didn't need a central amplifier, and we just stuck in an old Technics pre/pro I had from a while back. It did alright, but it's pretty low quality and didn't have fancy stuff like dolby pro-logic II, not to mention any analog inputs whatsoever (well besides the 5.1 direct input that didn't allow volume control).

At some point I mentioned Outlaw Audio to my housemate and he realized he should really own their 990 pre/pro. Why? Well, mostly becuase it's just so friggin' cool! But there are other reasons like additional digital inputs and all balanced connections (which our speakers can take advantage of).

So here's the new equipment equipment rack. (Tivo and HTPC not shown)

The 990 gives us way more flexibility in configuring the system. Setup was a breeze with the included mic. Although the test tones were so loud they bottomed out the sub (it has a protection circuit though) and I think the dog is now deaf. :) We were able to set the front L/R to a 60hz crossover and the center and surrounds to 80hz. That kind of fine-tuning is really nice to have, and Outlaw has always been ahead of the game when it comes to bass management.

All setup, including renaming the inputs and assigning digital connectors for each one is done through the onscreen display. Which is pretty standard, but it's definitely not something we had before. Another plus, the 990 includes a phono stage! That's definitely NOT standard these days, but probably should be considering the resurgence in vinyl lately. So we now have a turntable in the living room. I feel so hip.

I then went through and reprogrammed the Logitech 880 remote. It had the 990 in its database and I went through and totally revamped the activity list. This took all of 20 minutes maybe. It works like a charm. The IR sensor on the 990 is much better than the Technics, thank god. Oh, and it sounds great so far.

technorati tags:,

WMA Lossless Encoding in Vista

I've not been able to rip cds via my normal process since I upgraded to Vista RTM because WMA Lossless encoding didn't work. The script would just fail immediately with no explanation. It didn't seem to have anything to do with permissions. I finally got my answer from someone on the wmp user groups; turns out it's DEP.

So I disabled DEP entirely on Vista like this:

bcdedit.exe /set {current} nx AlwaysOff
Now the script runs fine and EAC can go about its business. I'm also transcoding everything to aac these days for the ol' ipod, and I have yet to automate that. I should probably have a job scheduled on the server to find new wma files. There's always something... :)

technorati tags:, , ,

12月4日

My new iPod?

That's right. I just bought an 80GB iPod. Go ahead, accuse me of being behind the times and a slave to the Apple brand. But I gaurantee you that I gave this a lot of thought and just saw no reasonable alternative. My current 20GB 4th gen's battery is dying (down to about 4 hours of life per charge) and not to mention 20GB just isn't enough for me these days. So what else was I going to do? The Zune just did NOT deliver the goods imo. The innovation I would like is not there yet, and 30GB is not enough of an upgrade for me.

Now I get to stop worrying about running out of space on my ipod and I should be able to finally sync all my music again. This is also finally forcing me to overhaul my itunes library which has been in disrepair for a while. As I've said here before, I rip all my music to my server in wma lossless. I use wma just because it is most compatible with MCE and the xbox, and slimserver (which drives my primary music system through the squeezebox) reads wma just fine. Then I need a separate encoding of all the music I want with me on my portable player because I don't want to fill the thing up with lossless music when I can't tell the difference for those usage scnarios anyway.

I've said before that I would love to have a player that supports auto-transcoding from lossless to lossy during sync, and keeps all the metadata sync'd between the two formats, but that doesn't exist. I've tried some of the hacked together versions of jukebox and winamp plugins that try to do this but they are not very successful.

There are some solutions for keeping your itunes library metadata in sync with your wmp and slimserver libraries. I'm going to give these a try and I'll report back if I'm successful. At the moment, I've removed all the mp3s for which I have a corresponding lossless copy from itunes and I'm transcoding all my wma files to vbr aac. They aac copies will sit in the same folder with the same filenames as the wma versions, just with a different extension. Then I set slimserver to ignore the aac files (actually the extension is m4a). MCE should automatically ignore those files because it doesn't support them, same with the xbox 360.

This conversion is a big one. The server is on 766 of 3462 songs (not including the complete works of mozart) after 13 hours. It's not a particularily fast server. :)

So anyway, I really hope this gets me closer to my ideal "portable media experience". But I fully believe there is plenty of room for improvement.

technorati tags:, , ,

11月30日

Xbox 360 "Work"

I got back to my roots a bit this week and had a bit of fun with my Xbox 360. Mainly I was out to replace the white case, which really stuck out amongst my otherwise black and silver dominated electronics array.

I didn't actually take a picture of the finished product, but Matt Brett did. Mine looks just like this:

I was talking to friend about modding stuff the other day when I mentioned I was going to do the xbox thing and I started to realize that I end up modding nearly everything I own! At least when it comes to electronics. Here's a quick list off the top of my head:

- Toshiba TV ISF Calibrated and removed the reflective screen

- Dell computer gutted and converted to HTPC

- Replaced the first EPROM on my first DVD player to make it region free

- Mod chipped PSX

- Japense Gamecube modded for US games

- Dell 24" monitor, removed the stand and added an articulating arm

- Carver ZR1600 Amp modified extensively by empirical audio

- Modwright Preamp modded with bybee filters and tube dampeners

- Squeezebox modded by Bolder Cable Company including new power supply

- Xbox 360 case modded and I may have messed with the firmware a bit. :)

- Acura RSX stereo replaced and sub added

- And of course I customize the hell out of my smartphones, but that probably doesn't count.

Some stuff I own that's ripe for modding but I haven't gotten to it: ps2, ipod, woud love to put a turbo in my car as well.

I guess it's just part of my personality. It's like I assume nothing comes the way I really want it from the factory, I have to add something to it. But I usually don't do it for just for the sake of modding, it always has a purpose.

technorati tags:, ,

11月29日

Walkthroughs With GhostIt

I'm spending some time working through walkthroughs on some new technologies and thought I'd share a technique I use quite often in these situations.

See, these walkthroughs are a step-by-step sort of thing (click File->New, click this, click that) so I really like to be able to see the instructions and the development environment at the same time. But the problem is that I'm working on a laptop with limited screen realestate, so I really can't tile the windows or the virtual pc becomes too small to work with. I used to end up alt-tabbing between the instructions and the virtual pc constantly, until I discovered GhostIt. This brilliant (and really old) utility will set a window partially transparent and pass through all the mouse clicks. So I can have the walkthrough instructions overlay the virtual pc! I think it's awesome. Then I just have a keyboard shortcut to bring the ghosted window back into focus if I need to scroll.

Some people might just say "Why don't you just print out the instructions!?" Well, I just have this thing about paper - I don't like it. I see no reason why I should have to print something that I'm only going to use once. I honestly don't even own a printer. Dual monitors is also a good solution to this problem, and I have that at home, but don't always have that option when I'm on the go.

Here's a screenshot of it in action.


http://cda.morris.umn.edu/~reiersb/images/Walthroughs_with_ghostit.jpg

technorati tags:, ,

11月8日

All the Wii-long day


All the Wii-long day
Originally uploaded by seraph_ben.
Came into work to see this today. Nice. That's Guitar Hero 2 down on the end.

Also, I'm trying out a new camera today, as my fujifilm z2 is having issues and has been sent in for repair. Say hello to the Canon Powershot SD800 in all its image satbilization glory!