Logo




Subscribe:
RSS 2.0 | Atom 1.0
Categories:

Sign In


[Giagnocavo]Michael::Write()

 Wednesday, May 24, 2006
Vista Tablet PC Enhancements

Here's one thing I love: Vista Tablet capabilities :). The tablet input area is always visible as a ~5 pixel deep tab, and it throws a drop shadow on windows in the foreground:

 
Pointing at it makes it slide out so you can click to open:

I prefer that to the hovering icon that appears on textboxes. Of course, it has nice animations and so on, showing it sliding in and out, and you can drag it around the screen.

Another thing that looks promising: Personalized handwriting recognition. My handwriting is very bad (22 years on a PC and counting!) -- and XP Tablet messes up a lot when trying to read it. Now, via a "Speech Recognition Training"-style UI, you can train it for your own handwriting by writing in 50 different sample sentences. Oh yea, and it's localized too (train for other scripts).

Also, a small, but profoundly useful enhancement: Different pointers and click effects when using a stylus. When you target using a stylus, you get a small diamond cursor. Clicking makes tiny ripples. It looks really superb, and it's great to get that kind of feedback. Although, at first it scared me, cause I thought my screen was damaged, and the rippling was from pressign on the LCD too hard ;).

Along with pen-mode feedback: holding down the pen button ("right click") adds a circle around the diamond pen cursor. Right clicking makes the circle do a beautiful blue "energy" glow. The cursors don't show up in my screenshots, but here's the right-click energy circle thing:


Finally, a "Pen Flicks" feature makes navigating and so on by pen easier. If you, well, flick the pen up/down/left/right, you can scroll or move that way. Perfect for web browsing, reading, etc., even though my Toshiba R10 has a directional button on the display. There's also an edit mode so you can do things like undo, etc.



Now I just need to install Office 2007 (OneNote in particular) on my tablet to see if there's some awesome integration and so on...
Misc. Technology
Wednesday, May 24, 2006 8:32:30 PM UTC  #    Comments [1]  |  Trackback

Vista Beta 2 Still can't scale DPI correctly

One of the big features of Vista was supposed to be that it was resolution-independent so that high resolution displays can be used. This makes extra sense when you think of Media Center on high-res systems. I have a Dell 24" LCD, 1920x1200 resolution and I run Media Center on it. Outside of Media Center, things look horrid. So I gleefully installed Vista Beta 2...


You still have to reboot after changing DPI. Sigh, ok... And then? Things look like crap. Half the windows seem to scale somewhat decently, half don't. And the ones that scale? Ever blown up an image in Photoshop? Yea, it looks worse than that. Seriously, WTF? There is supposed to be all these advanced graphics rendering capabilities, but they still can't render high DPI stuff correctly. Even the "Back" button (the round circle with arrow) looks like a horrible upscaled image. Pathetic. I've got no problem shelling out the $$$ that Vista ULTIMATE (sigh, MS marketing and sales needs to be caned) will cost IFF it's gonna make my home PC/MCE be one extremely slick amazing thing. But they've got a way to go, apparently.

Misc. Technology
Wednesday, May 24, 2006 6:51:04 PM UTC  #    Comments [0]  |  Trackback

 Tuesday, May 23, 2006
Office Outlook 2007 Beta 2 100% CPU

Anyone else having this issue? When I use Outlook, it sometimes just spikes to 100% (well, 50% since I have hyperthreading). This is making the magnificent Beta 2 release of Office 12 almost unusable.

-- OK, seemed to be the indexer, as I left it alone for two hours and now it's behaving... strange...

Other than that... WOW. Sending an email never looked so good :).

Misc. Technology
Tuesday, May 23, 2006 9:56:47 PM UTC  #    Comments [8]  |  Trackback

One year ago to the hour

This night, at around 23:30 we went to the hospital because Gaby was having contractions (3 months early). Exactly one year ago, to the hour, we went to the hospital for Mei. Fortunately, this time it wasn't as big a deal, a few injections and tests later and we're back home, everything ok for now... Just very... odd/coincidental/? that down to the hour we were going back to the hospital, one year later.

Mei | Personal
Tuesday, May 23, 2006 8:50:39 AM UTC  #    Comments [1]  |  Trackback

 Sunday, May 21, 2006
Happy Birthday, Mei!

Mei was born a year ago, on 19 May 2005. Happy Birthday, Mei!


We love you forever Mei

Mei
Sunday, May 21, 2006 5:17:09 PM UTC  #    Comments [2]  |  Trackback

 Friday, May 05, 2006
SQL Server 2005 Reporting Services Configuration Madness

Well, after almost exactly 6 hours, I've succeeded at installing SQL Server 2005 Reporting Services on a server with more than one website.

We're running Reporting Services on separate web servers. So, after the install of reporting services, you run their little configuration tool. This of course, accomplishes very little :). See, apparently Reporting Services wasn't designed to work on a server running, *gasp*, more than one application.

If you have a decent IIS install, the default website isn't there and thus requests to http://localhost/ aren't gonna work. Reporting Services doesn't take this into consideration, and happily tries to request http://localhost/ReportServer/ even after you've specified this in the config tool. If this is your issue, you'll get a “HTTP Error 400: Bad Request“ when trying to access the ReportManager (/Reports/) website.

You'll need to edit the config files in Program Files\.....\ReportManager and ReportServer. rsreportserver.config needs to point to http://the.reporting.host.name/ReportServer in the UrlRoot element. In RSWebApplication.config, ReportServerUrl will need to have the same value. The ReportServerVirtualDirectory element must be deleted. You will get a “The configuration file contains an element that is not valid. The ReportServerUrl element is not a configuration file element. “ message. This is because the config reading code apparently doesn't fail gracefully. What it's trying to say is “the ReportServerUrl and ReportServerVirtualDirectory elements are mutually exclusive”. I'm still unsure why there should be anything besides a URL...

Around here, you might notice a bunch of DCOM errors in your Event Log (or before this point). To fix these, you'll need to go into dcomcnfg and edit the COM security for My Computer. Give the account you're using (like Network Service or “MyReportingServicesAccount“) permissions for local activation and local launch. You need to reboot for these changes to take effect (I think). But don't reboot just yet...

Finally, you end up with a 401 Unauthorized when accessing the Reports site. You might have also noticed you are also unable to authenticate when browsing the Reports or ReportServer sites from your the local server. Why?
“Windows XP SP2 and Windows Server 2003 SP1 include a loopback check security feature that is designed to help prevent reflection attacks on your computer. Therefore, authentication fails if the FQDN or the custom host header that you use does not match the local computer name.” So I'm guessing NTLM susceptible to this type of attack, and Microsoft is saving us from it. Well, it also hoses us in this case because from what I can tell, ReportManager (the thing in the Reports vdir -- why it wasn't called ReportManager by default...) needs to connect to ReportServer. It sends a request, which is denied because of the loopback protection above. A quick registry edit fixes this: http://support.microsoft.com/default.aspx?scid=kb;en-us;896861

After that... you might have a working SQL Reporting Services 2005 install! (Next up: Getting it to work with SSL...)

Really, apart from the horrible setup/configuration, it's a very very fine product. I'm actually pretty impressed. The report I wanted to setup (and the subscription so it's mailed out) only took about 10 minutes (first time I've ever used RS)! I'm just at a loss why Microsoft makes it so hard to setup. This configuration can't be that unusual. And, even stranger, most (if not all) of this configuration issues could take care of these problems. In other words, their little configuration app should automatically fix this stuff (or at least give explicit instructions on how to do so). Or maybe I just didn't RTFM that well... but this is a Microsoft product... you're supposed to just shove the DVD in the drive and click next, right? <g>

P.S., if you're getting a “Object Reference not set to an Instance of an Object“ when you add a new subscription, ensuring everything else is 100% working should make it go away...

Code | Misc. Technology | Security
Friday, May 05, 2006 6:02:44 AM UTC  #    Comments [8]  |  Trackback

 Tuesday, December 27, 2005
Microsoft finally realises VS2005 web site apps suck

http://webproject.scottgu.com/Default.aspx

YEY!!! Finally, after 2 years, we get VS2003 functionality back in VS2005. The biggest pain point I have, every single day, is dealing with the vile VS2005 web sites. Microsoft has finally realised that this monstrosity spawned to soothe the demented minds of webmonkies who think HTML is a programming language is actually bad for real developers. Really, how does catering to the people who think “build“  refers to writing code help them? (Oh wait, I know. It allows them to gain access to “web developers“ while knowing that people who know what they are doing still won't defect.)

This is exactly like I predicted -- Microsoft will have to back down. I guess it took the final RTM launch for everyone to try to upgrade their apps and then find out that the new model is unusable. I wonder how many PSS cases/pieces of feedback they got.

Well, I can't wait to change our projects to this format. I was planning on restructuring our solution (22 projects in VS is unwieldly) anyways, and this will go great with it. I know a few developers who are gonna be real happy when they come back after the holidays! Maybe this means that doing a public refactoring in our solution won't take 45 seconds anymore? Maybe these apps will build in less than a minute (like every other C# app)?

Oh, BTW, I'm far from ungrateful, even though I might sound like that. I'm actually very happy that the ASP.NET team is doing this, despite the fact that I might roll my eyes and say “yea, about time!” :). But after going through all the pain I have... perhaps its understandable.

Code
Tuesday, December 27, 2005 2:25:54 AM UTC  #    Comments [1]  |  Trackback

Microsoft and VoIP

I love Microsoft products (except DRM-crippled products... more on that later). So, it hurts me when MS doesn't play its full potential. Area of this time: VoIP.

I've been doing VoIP full-time for over a year and a half. Not exactly a long time, but not too short in this market. I think a lot of people miss the most important part of VoIP. The use of packet-switched versus circuit-switched goes way beyond being able to use cheaper transit and hardware. The real power that IP brings is that the shift can move from hardware to the software. As VoIP platforms become available, the power shifts because voice is finally something every developer can control. This goes back well before the current wave of VoIP-craziness and super-inflated company valuations.

Microsoft was here quite some time ago. NetMeeting was released in 1996 and had a decent API (Well, I've not used it, but the docs seem to indicate a lot of power). Messenger continued this (well, except I don't think the API allows you to do anything interesting). So Microsoft was certainly there back then; this isn't a completely new territory.

Software means no needing to spend $$$$ on all sorts of features. For instance, many vendors sell a “voicemail module“ at a decent price. What exactly is a voicemail module? Isn't it nothing more than a simple IVR + recording function? Sigh.

Skype
Hence, you might now understand why I think Skype is silly, or more to the point, MS screwed up again. Messenger (and NetMeeting before that) has had all Skype's features for years (including PSTN connectivity). The *only* thing Skype did was allow audio to be proxied. Yes, that's their only interesting feature. Had MS simply done that, perhaps Skype would never have surfaced. I remember the first time I heard about Skype. Someone IM'd to tell me to download it so we could voice chat instead of IM. I was really puzzled and pressed the Audio button in Messenger and asked “Like this?”.

Apart from the audio proxy problem, many users just didn't know that audio chat in Messenger exists. I don't know people can miss this, but whatever... Just like some folks are pretty amazed at what Netmeeting can do... even more so when I say it's from 96. Microsoft simply failed to market these features. Now they have to play “catchup” and do announcements like “VoIP will be in Messenger Live!”... That's just.... lame.

Speech Server
Speech Server seems pretty cool. Indeed, multi-modal app development and, well, speech recognition, are pretty cool. However, instead of making a killer product that allows you to build whatever app your mind dreams of, they tied themselves to horrid hardware, essentially rendering this product way more expensive and inaccessible. Intel Dialogic? Please. SIP is only available as a 3rd party addon. I asked around to find out more about what MS's plans for VoIP application development are, and there's nothing too interesting (say, the level of what I can easily do with Asterisk and C# today) for at least another year. Maybe MS has some secret surprises, especially in light of the rising VoIP hype. Even so, I hate seeing MS have to react in these scenarios instead of leading.

Where Microsoft should be looking
People tell me that VoIP isn't MS's core market. I don't know about that. Voice communications are a huge hub of daily life. Up until now, this was relatively inaccessible to Microsoft. But with Windows 2003 having great reliability, CPUs now fast enough to easily handle several T1s of voice, packet-switched voice, cheap TDM interfaces -- it's now completely accessible. (Asterisk has proven this.)

Business
On the business side, Exchange and Live Communications Server seem to want to jump right into this market. I see no reason why there shouldn't be a Microsoft PBX product. The biggest hurdle is getting a decent hardphone vendor to play along. (Although, Microsoft absolutely rocks when it comes to interface hardware, so I'm sure a hardphone from MS would win awards.) Really, why shouldn't our IM/email/voice/etc. systems be all nicely integrated? I'm quite sure MS will get into this space, even if it takes several years and an acquisition to do so.

(Heck, if MS wasn't so damn late to the scene, they could have designed a good VoIP protocol. As is, we'll probably end up having to live with that abomination named of SIP for the next two decades or so. )

Home
Seeing how MS is so desperately trying to get into things such as your living room (Xbox and Media Center), I don't see how taking over voice seems so far fetched (I heard a rumour about Xbox offering VoIP anyways). Voice fits in perfectly with the “eHome“-digital-lifestyle that MS is trying to own.

Developers
Of course, everyone knows the path to victory lies with developers. And everyone recognizes that Microsoft is king in that arena (save the few Delphi fans who don't realise Anders now works for Microsoft). Microsoft needs to have a very comprehensive and complete set of VoIP (both Video and Voice) APIs and *services* that make it easy to integrate into both Windows and web applications.

For instance, it should be trivial for someone to write a program that allows customers to call in and check their order status via phone (trivial in dev effort, upfront costs, and service setup). Connecting a user via voice, be it via PSTN or direct-VoIP, should be easy. The littlest of VB developers :) should be able to do this without spending much time at all. And then, MS should market the heck out of it so people realise this functionality is there...

Let's see how long it'll take Microsoft to get to that point.

VoIP
Tuesday, December 27, 2005 2:07:40 AM UTC  #    Comments [3]  |  Trackback

Yey!

Well, we found out that Gaby is pregant again -- due sometime around the end of July (near my birthday? ^_^).

It was really exciting seeing the test show the two lines -- unbelievable at first. Then, really sad , as it brings back so many memories (well, not like we don't re-live them every day anyways). I can see how parents have a hard time equally sharing among too kids. Sometimes I feel guilty getting so excited about this new one when I think about little Mei. I realise that Mei would want us to be happy for her sister, but it still feels sad.

Anyways, I'm sure as soon as I can start feeling her my outlook will pick up. Right now she's a little jumping grain of rice :) -- 146 heartbeats/minute.

Mei | Personal
Tuesday, December 27, 2005 1:49:35 AM UTC  #    Comments [3]  |  Trackback

 Friday, August 12, 2005
I can't be online yet

Landing: 15.30
Shuttle to downtown Denver: 45 minutes
Getting tour of apartment and keys: 30 minutes
Stopping by leasing office to find closest wireless vendor: 2 minutes
Figuring out that 16th street has no relation to 16th avenue: 20 minutes
Walking to 16th street: 7 minutes
Purchasing Ricochet modem: 5 minutes
Walking back: 7 minutes
Installation: 3 minutes

So, yes, it's quite possible to get medium-speed, non-premeditated Internet access in a new apartment, without any knowledge of a city you've just landed in.

Personal
Friday, August 12, 2005 12:58:33 PM UTC  #    Comments [4]  |  Trackback

 Wednesday, August 10, 2005
I'm out

Adios, Guatemala. I've got a one-way ticket to an undisclosed location a few Mkm to the north of Guatemala. Finally. After 8 years, I can honestly say I'm not going to miss too much (o.k., well family), and I'm quite happy to go. And not because “the grass is always greener”, but well, read the Guatemala and Mei categories here and you'll have an idea why. Nice view, facing mountains, and not towards Guatemala :\.

On a less down-sounding note, it's a very large and exciting opportunity where I get to combine a lot of different technology. More on that soon. A LOT more on that soon. Got a lot of topics (tech related, imagine that!) that I really want to talk about.

Oh yea, and I get to live in a nice place with 6mbps/768kbps ADSL, where things pretty much “just work” (well, relative to Guatemala anyways). So, 12 more hours and I'll be checking a few large boxes and flying “Pollo Campero” class (everyone feels compelled to bring that chicken *shudder*, even though there's places in the states where they sell it!) -- for several hours.

Guatemala | Personal
Wednesday, August 10, 2005 11:02:01 PM UTC  #    Comments [2]  |  Trackback

 Tuesday, August 02, 2005
Best way to traverse all controls on an ASP.NET page?

I was working on an application today, and I needed to add some data to every HyperLink on the ASP.NET page (for a custom authorization string). I thought it might be a common thing: needing to go through all the controls on a page, but apparently not. I didn't find any framework functionality, and the only code samples (just to see if I have the “best” way of doing things) led to some not-so-nice code (arraylists and recursion!). So, here's the best I've come up with (criticism, please):

        Stack<Control> remainingControls = new Stack<Control>();
        remainingControls.Push(this);
        do
        {
            Control currentControl = remainingControls.Pop();
            foreach (Control item in currentControl.Controls)
            {
                if (item is HyperLink)
                {
                    HyperLink hl = (HyperLink)item;
                    hl.NavigateUrl = AddAuthToUrl(hl.NavigateUrl);
                }
                else if (item.Controls.Count > 0)
                {
                    remainingControls.Push(item);
                }
            }
        } while (remainingControls.Count != 0);

Code
Tuesday, August 02, 2005 9:52:15 PM UTC  #    Comments [3]  |  Trackback

 Wednesday, July 27, 2005
Secure TCP Remoting in Whidbey

I've spent a few hours trying to get the secure TCP (based on NegotiateStream) integrated security in .NET 2.0 working. While there is a page on this (Authentication with the TCP Channel), it fails to mention that you need one more property in addition to encrypt, impersonationLevel and authenticationMode. It's called “secure”, and it must be “true”. I didn't see it mentioned anywhere, except when I happened to browse the MSDN Forums: http://forums.microsoft.com/msdn/ShowPost.aspx?PostID=55225

I looked at his config, and realised I didn't have this “secure” property. Problem solved. Also, I recommend checking out http://pluralsight.com/wiki/default.aspx/Keith.GuideBook/HowToAddCIAToDotNETRemoting.html, which has a lot of information about Windows security in general, apart from some specifics of remoting and Kerberos. And, finally, yes, there's one more page where the secure attribute is listed (with some other docs) http://blogs.msdn.com/manishg/archive/2005/04/22/410879.aspx

OK, so perhaps there was some error between the user and the keyboard... but I'm very very excited to see this feature running.

Code | Security
Wednesday, July 27, 2005 2:25:15 AM UTC  #    Comments [1]  |  Trackback

 Tuesday, July 26, 2005
Tour de France?

I usually wouldn't comment on these things; indeed, I usually don't know anything about sports. But today I saw a newspaper, and on the front page was Lance Armstrong, winning that race in France, again. Apparently he had cancer and is still winning.

At any rate, what I really enjoyed was the look on the face of the race administrator, or whoever was handing him the award. Everyone else is smiling, but the one guy (I guess he's the French Tour administrator?) is just scowling, like “oh damn, he did it again”. I'm sure if I read french, I'd get a kick out of the newspaper articles there... BTW, my friend made some T-shirts up for the occasion: “Lance Armstrong, Survivor Champ!”. Although, if I was designing the shirts, they'd say something like “Tour de Lance” or “Invasion of France”...

Misc
Tuesday, July 26, 2005 6:21:09 PM UTC  #    Comments [2]  |  Trackback

 Friday, July 22, 2005
What's with "Vista"?

VISTA == Vista IS a Terrible Acronym. Actually, having it all caps would be cooler. Really, “Windows Sight“? Or “Windows View“? That's so lame it's not even punny. Even “Windows V6” would be an improvement.

Or perhaps they moved the letters of “ATI Stock Value“ around a bit?

Seriously, with all the money they've invested, couldn't they have come up with a better name? Just think of the conversations -- “Are you running Vista?”, “Vista's preinstalled.”, “This won't work on Vista.” “I can't see the Vista boot screen.“ I'm terrified at what horrible marketing campaign might come off of this. (Dinosaurs not being able to see over a horizon or something...) Actually, Vista could be a very cool name, for like the accessibility features, or some small visualization program (perhaps a photo management applet), but not for the OS. Will we have “Vista Server [2008]“? “Visual Studio Vista“ (shudders). This is especially disappointing with such interesting codenames (Avalon, Indigo).

It's got no level of coolness (XP has an X in it, and that automatically makes it hip). Worst name since Windows 95. I'm pretty convinced that within about 20 hours, someone could write a program to pick names for Longhorn that'd be better than “Vista” at least 50% of the time.

Well, at least the product is going to be amazing. And more importantly, VS2005 remains impressive, and from the bit I know of Orcas, that'll be excellent too. Just makes you wonder what's up at MS when they can't even name their biggest product of the decade...

Misc
Friday, July 22, 2005 5:05:01 PM UTC  #    Comments [5]  |  Trackback