Logo




Subscribe:
RSS 2.0 | Atom 1.0
Categories:

Sign In


[Giagnocavo]Michael::Write()

 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

 Wednesday, July 13, 2005
Fixing MSN Messenger 7

I was quite happy with Messenger 6. A few little enhancements, and I'd be set. As I mentioned before, MSN Messenger 7 is horrible. It is as if they want to compete in annoying features against Yahoo and AOL. <Shudders>

Anyways, MSN apparently has decided to ensure that you upgrade to v7, so I figured I might as well stop resisting and go along with it... Then I found Apatch: http://www.apatch.tk/ <-- This nifty little program removes all the junk from V7 (such as nudges, winks, “packs“, inline IM advert links, etc.). Now there's no need for 3rd party messenger systems...

 

Misc. Technology
Wednesday, July 13, 2005 3:26:38 PM UTC  #    Comments [0]  |  Trackback

 Friday, July 08, 2005
An update on us

Some people have wondered how things are going. Let me tell a little story.

When I was 14, I went to some fair and a friend of my father's was nice enough to subvert my parents wishes and purchased a sword for me. It wasn't a straight sword; it had a wicked little curve-point on the end. One day when I was off in fantasy-land in my room, playing with this “wonderful” item, the sword ended up going through my knee. It was all rather quite curious how it got there, and I'm still not 100% sure how it happened. But there I was, standing in my room, with a two-inch wound on one side of my knee, and a small exit wound on the other side.

Being deathly afraid of my parents desire to revoke my sword, I ran to the shower to let the blood pour out, and I preceeded to put a bandaid on it. It didn't hurt that much, so I figured if I just cleaned up the blood, this could be an incident that'd teach me a lesson and I could continue my fantasic adventures. Well, unfortunately I did not know of such things as “shock” and “adrenaline”, and over the next few hours discovered that a cut that goes through your knee in fact DOES require medical attention, and that a shower & bandaid do not count. In addition, it hurts like hell. Anytime I thought it was doing a bit better, the pain would just come back and wash over me. It took surgery, morphine, and quite some time.

Mei meant more to us than anything and everything in this world. Not a day goes by where I don't think of her or pray that I'd do anything to bring her back. The true pain and, to use a phrase from a well-known series, The Sorrow of Losing the Object of One's Dependence, the realization of great loss is finally hitting us both. For a while I thought I had gained some magic perspective and acceptance... but that was just my mind and body compensating via shock. It has become so much harder (and mainly why I haven't posted Mei's photos or written until today). A lot of the anger has just turned into sadness. A lot of my hope has just turned to wishes of nothingness. Most of my dreams are of just moving as far away as possible from everything and possibly finding a shred of peace somewhere. And most of my time is either spent working all day, and then playing whatever game to keep my mind busy at night. Or anything to keep me from despair. Hey, now that I've written this, I can think about worrying that I sound like the stereotypical teenage blogger -- whining about depression! Yey -- something to do! :)

Yes, if you're thinking it, you're right: I am more cynical and critical than I was before (and for those who know me, that's saying a lot). At least I'm not suicidal.

Gaby is doing... well... similar, I suppose. Supposedly grief works like that; it comes in chaotic cycles.

It's the simple issue that nothing can actualy fix anything. Suing the doctor -- who cares? I don't need his bloody money, and even if he loses his license, it doesn't bring Mei back. Nothing I can do can. It's not a failed business where you can say at least you got an education. The only education I got is that people are far more incompetent and evil than I believed (which again, is saying a lot), and that horrible things happen. Appreciation for life? Perhaps. At any rate, I'm just going to start rambling now... so time to end this post.

Finally, I do want to thank everyone for their support. Even though I might not always sound like it, it's definately made a difference. We got enough money to cover most of the costs, so that's one thing out of the way. Thanks again.

Mei
Friday, July 08, 2005 6:32:02 PM UTC  #    Comments [4]  |  Trackback

Photos of Mei

My first chance to touch Mei: My glasses were off since I was crying from such joy.

Mei's "awakening"

Looking around

Gaby finally holds Mei (the next morning)

A nap at our house

So cute! I love her eyes.

For some reason, her hand and face remind
me of John-Paul II.

I too sleep like this sometimes.

Mid-yawn

Such a silly-cute grin

One of the happiest moments of my life

At the final hospital. All that equipment was
hooked up to her. I almost passed out when I
saw my little one there.

Gaby and I stood there, just holding her feet or her hand, gently talking to her. We couldn't hold her in our arms.

My little girl's eyes. They had the gauze on top
to keep the light from bothering her. When I lifted
it up, she'd look at me and just keep looking at me.
Those eyes...
Mei
Friday, July 08, 2005 6:04:14 PM UTC  #    Comments [1]  |  Trackback

Using Asterisk from C#: MONO-TONE

I found a cool C# library for use with Asterisk (AGI) and .NET: MONO-TONE. It looks promising as an easy way to deal with AGI from C#. I think that I'll be extending it to support FastAGI as well, and contributing the changes back. Nice work Gabriel!

Asterisk | Code
Friday, July 08, 2005 4:06:36 PM UTC  #    Comments [2]  |  Trackback

 Monday, June 06, 2005
Team Foundation Server: ADAM Catastrophic Failure, BISGSS Access Denied, Not Operational

If you reboot your Team Foundation Server machine one day, and then get some errors such as:
A Catastrophic Failure with ADAM, Access Denied when starting BISGSS, or a COMException “The server is not operational“, you might want to read my problems:

http://forums.microsoft.com/msdn/ShowPost.aspx?PostID=16246

In the end, I set Everyone to Full Control of the HKLM\SYSTEM\CurrentControlSet\VSS key, rebooted, and things went away.

Misc. Technology
Monday, June 06, 2005 5:07:03 PM UTC  #    Comments [0]  |  Trackback

Mei's Stone

I never understood what “live each day as if it was your last“ until now. While Mei was here, I wish I would have spent a bit more time with her, somehow. I wish I had more seconds of memory in my mind. Some things I'm glad I did, even though at the time it was hard. Like going to the burial and laying her box inside the chamber. Being there when the machine was shut down. Some things I didn't get to do. My wife closed Mei's eyes; the OB closed her mouth.

When I look at Mei's pictures, I still can't believe this has happened. Weeks before Mei was born, I kept saying she'd be born on the 19th. Even though Gaby and the OB said not, I still kept thinking yes. I went in at 5:30pm on the last day. The doctors told me I could only stay 20 minutes, and then they'd start the transfusion. But the blood arrived late, around 6:30pm. While I was annoyed then, I guess it was a way for me to say goodbye. I kissed Little Mei all over during that hour, said goodbye, and that'd I'd see her soon. Her eyes looked at me; her hand grasped me. Mei didn't leave until I had that hour with her. I like to think that that means something.

I get so sad thinking that Mei, well, not her, but even her little body, is sealed inside that box inside a chamber. That's probably because I'd find that quite terrifying if I were in there, and I just can't realise that she's gone. My friend Herbert Sandoval got Mei's Stone made. While the real one is white marble and engraved, he made a colour version too. I was thinking of it just saying “Mei“, but then we thought to leave a little last song and message to her. This is what I said to her before she left.

Mei
Monday, June 06, 2005 4:50:55 AM UTC  #    Comments [2]  |  Trackback