01 September 2011

Son of 8-track inventor launches visionary online meeting software

Inventor Samuel H. Auld Jr. who held 26 patents on the 8-track stereo system would have liked to see his son, James Auld Sr., 45, launch his visionary virtual headquarters software today. Auld’s company is Universal Online Magic—and I have to say I understand the magic here.

“My father applied his inventiveness to electronic circuitry, motors, magnetic tape, and capstan rollers. I feel a real bond with him, inheriting his inventive and visionary nature. The only difference is my tools are pixels, live video streams, and hundreds of thousands of lines of .NET software code.

“The 8-track was the dominant music delivery medium for 17 years and was a major contribution to the music industry. I can still hear that familiar ‘ker-thunk’ sound it made when switching to the next track.”

Ok I get the nostalgia, I really do, but back to the 21st century. I got a chance to hang out in one of Auld’s virtual headquarters this week, and I have to say I was shocked at how my brain perceived the place to be real.

The truth is I was online in browser-based software that used super high-res 2-D graphics, sound effects, music, and group webcam connections. But the resulting perception was that I was in a real place with live people, moving from the reception area, to meeting rooms, to private offices. And it wasn’t game-like, it was professional and elegant.

I felt as if I was actually inside a headquarters, and the communication was much better for it. I still don’t know exactly why—it just was.

As Auld put it, “there’s a sort of magic that happens when you combine these simple elements in an artful way. This isn’t bleeding-edge and can run on a company’s legacy PCs and Macs, but the end result just ‘feels’ orders of magnitude more satisfying than using say WebEx or GotoMeeting. I liken it to how Disney revolutionized theme parks and sparked a magic in the rich environments he created. My ultimate goal is to make online communications feel like a Disneyland ride.”

It’ll be a few years before it’s as good as a Disney ride, but I like it just the same. The software does much, but not all, of what the traditional meeting solutions do, with a real focus on giving the hosts the ability to run slick media-centric presentations. And the live video and audio streams were stable, clear, and in-synch.

But I gotta say, in the end it’s that magic that really sold me. Also I’m partial to being able to hop into Auld’s own headquarters and ask him a question when the need arises. I know this kind of accessibility to the founder won’t last long as the company grows, but for now I’m a happy customer.

VisualHQ.com is where it’s at.

disclaimer: I worked on the underlying tech in the past, but its been radically revamped since I last worked on it. (for the better of course)

10 March 2011

Deploying WCF RIA Services Redux

Installed Visual Studio 2010 SP1, Silverlight WCF RIA Services v1.0 SP1, but when I deployed it on the server, was getting the following error:

Operation named '[complex method here]' does not conform to the required signature. Parameter types must be an entity or complex type, a collection of complex types, or one of the predefined serializable types.

Was doing a bin deployment where we don't have to worry about what's on the server.

Looked in:
http://timheuer.com/blog/archive/2009/12/10/tips-to-deploy-ria-services-troubleshoot.aspx [old]

http://blogs.msdn.com/b/saurabh/archive/2010/03/16/ria-services-application-deployment.aspx [newer]

But there's another DLL Saurabh missed that I found to have worked when deploying it after an umpeeth time:

System.ServiceModel

These are rest of the DLLs I deployed:


Hope that seeing this helps anyone else!

22 March 2010

Creating a dynamic ORDERBY in T-SQL

I'm in the midst of converting a Crystal Report into an Excel file output... While there is an increased benefit of more control over the output, however, I lose many features that Crystal has to offer. After weighting options, let's just say its much easier to create an Excel file for this particular report.

Anyway, in Crystal Reports, I had the luxury of dynamically sorting by various datatypes. Based on the sort type the user selected, it could be a combination of DateTimeStamp, ID, and UserName... in this case, we're talking about three different datatypes: datetime, int, and varchar respectfully. We may create a ORDER BY clause with DateTimeStamp ASC, ID DESC, UserName ASC or in whatever combination you want.

This is the minimum requirement of the sort options from the client application (all in ascending):

  • DateTimeStamp, UserName
  • UserName, ID, DateTimeStamp
  • ID, DateTimeStamp

"No problem," I said, "Piece of cake." I can pass the @OrderBy parameter to a SQL stored procedure from the client and then we'll have the sorted data back to the client app as an Excel spreadsheet.

DECLARE @OrderBy int
SET @OrderBy = 1
SELECT 
    DateTimeStamp, ID, UserName 
FROM 
    [Table1]
ORDER BY
    CASE @OrderBy 
        WHEN 0 THEN DateTimeStamp ASC, UserName ASC 
        WHEN 1 THEN UserName ASC, ID ASC, UserName ASC 
        WHEN 2 THEN DateTimeStamp ASC, ID ASC 
    END
But the sort isn't perfect, something's always off, you know how "2" is always after "10" in Windows/SQL Server... something like that. Converts characters the same datatype as the first column, even tried convert(varchar(20), datetimestamp, 110), etc. It became clear that we cannot dynamically order columns with various datatypes like this! Yeap, it's always the little things. *sigh*

Looked it up online thinking there's a quick solution, and saw some people had suggestions here and there. So tried various queries like the ones in http://www.sqlteam.com/forums/topic.asp?TOPIC_ID=5942 and none of them worked for me. T-SQL whines about having bad datatypes... Either of those solutions don't work (for me anyway) or they're wrong and not amply tested.

So here's how I was able to do it the neat and harmonious (read zen) way:
select
    datetimestamp, id, username
from 
    table1
order by 
    case @OrderBy 
        when 0 then datetimestamp ASC
        when 1 then username ASC
        when 2 then id
    end,
    case @OrderBy 
        when 0 then username
        when 1 then id
        when 2 then datetimestamp ASC
    end,
    case @OrderBy 
        when 1 then datetimestamp ASC
    end
Hope it is as enlightening for you as it was for me.

04 April 2009

Want a great looking XML editor?

Use SQL Server Management Studio 2008!  That tool has an awesome XSL generator and has a button to nicely reformat mangled XML with indents and all.  Oh yeah, Visual Studio-style code coloring.

18 February 2009

Satellite tugs

From http://www.space.com/missionlaunches/090218-dawn-asteroid-mars.html
But there is a downside to Dawn's swing past Mars. Just as the probe nabbed a speed boost from the planet, the encounter slowed Mars by a tiny fraction, mission managers said.  "The flyby will cause Mars to slow in its orbit enough that after one year, its position will be off by about the width of an atom. If you add that up, it will take about 180 million years for Mars to be out of position by one inch (2.5 cm)," Rayman said. "We appreciate Mars making that sacrifice so Dawn can conduct its exciting mission of discovery in the asteroid belt."


If one measley probe can tug at Mars, what about all those satellites around earth??  If earth's orbit shifts, the tides man, oh, the tides...

Words of the wise

Life isn't about finding yourself.
Life is about creating yourself.

Quotes unknown.

17 February 2009

Finding code definitions in VS.NET IDE

How do I find the code its Interfaces copies?  I’m looking at a method however it also has an Interface.  I must use the Find dialog to search the entire solution? 

GoToDefinition

Go To Definition (F12), then it takes me to an interface. Is there a better way to find the functioning class rather than the Interface class?  I know tools like Resharper, etc makes it easier…