Does this exist?

I have a firewire device that I want to be able to share between two computers (without having to unplug it every single time).  The firewire device is an audio interface that's physically mounted to my desk in a rack.  Is there a switch of some kind that would allow me to hook up one device to two host computers?

Anyone seen anything like this?

Thanks,

GOT IT!!!

Merry Christmas To Me...

We finally took the plunge and bought a MacPro.  It's the slimmed down model, but I plan to add a bunch of memory.

I'll be installing Server 2003 on Boot Camp tomorrow.  See how that goes.  I've been hearing that Boot Camp is running Windows much faster than any PC...

We'll see...

Leading Spaces in SQL Reporting Services

SQL Reporting Services has a really annoying "feature" that essentially removes all leading spaces from a field, when rendering a report to the ReportViewer control.  You cannot use  , You cannot use space(5), etc.

But, if you need to do leading spaces, you can set a formula in the padding field of the cell.

Fantastic!

Forced to IE7

I have been recently (and unfortunately) forced to go to IE7 by my computer.  The details behind it are not important to this post, as I can do most of the things I need to in FF anyway (and much prefer it).  I prefer IE6 to IE7.

After having been in IE7 for a week now, there is one incredibly irritating "feature."  Links that open in new windows don't open in new tabs (which would be the expected behavior of a tabbed browser.  It works in FF, Safari, etc.  Why didn't MS get this right the first time?  I suppose Mozilla didn't either, since that feature only appeared in v2 of FF, but MS, get with it...

OK.  Rant over.  I've searched through the settings like a madman, and haven't been able to find anything about changing this behavior.  Am I missing something, or am I doomed to 35 IE windows open when I need 1?

 

Deja Vu...

Does this ever happen to you?

I was just a few minutes ago, working through a problem with sorting custom classes.  I know that I did this before, but couldn't remember what I did.  So, I popped a few search terms into Google, and came across a potential solution.  Then I looked a little more carefully at the blog, and realized that the solution I found was mine...  A year and a half ago...

http://geekswithblogs.net/kyle/archive/2006/01/12/65680.aspx

SQL Reporting Services

50% of my job is Web Development. The other 50% is managing a 2GB SQL database and web app (with about 1500 users). Part of that 50% is writing SQL Reporting reports. Up until the other day, I was having my users log into the web interface of S/RS and get their reports that way. I was talking to some other developers who use the same system, and they said that you can Proxy into reports using code.

I dug into this a little bit, and in about 2 hours, whipped up a little VB.NET page that did the trick. All it needed was a ReportViewer control, a small helper class, and about 3 more lines of code. Of course, I spruced it up a little bit, entering parameters based on Query String variables, etc. But, here's the gist of what I had put together (with a lot of online help.)

1    Imports System.Collections
2   
Imports System.ComponentModel
3   
Imports System.Data
4   
Imports System.Drawing
5   
Imports System.Web
6   
Imports System.Web.SessionState
7   
Imports System.Web.UI
8   
Imports System.Web.UI.WebControls
9   
Imports System.Web.UI.HtmlControls
10  
Imports Microsoft.Web.UI.WebControls
11  
Imports System.Net
12  
Imports System.Security.Principal
13  
Imports Microsoft.Reporting.WebForms
14  
15  
16  Partial 
Class _Default
17      
Inherits System.Web.UI.Page
18      
Public ReadOnly Property ReportServer() As String
19          Get
20              Return 
"http://reportserver/reportserver"
21          
End Get
22      End Property
23  
24      Public ReadOnly Property 
ReportPath()
25          
Get
26              Return 
"/Proxy"
27          
End Get
28      End Property
29  
30      Protected Sub 
Page_Load(ByVal sender As ObjectByVal As System.EventArgs) Handles Me.Load
31  
32          
If Not ispostback Then
33              
ReportViewer1.ServerReport.ReportServerCredentials = _
34                          
New MyReportServerCredentials()
35              ReportViewer1.ServerReport.ReportPath = ReportPath & 
CStr(Request.QueryString("rpt")).Replace("%20", " ")
36              
Dim As New System.Collections.Generic.List(Of Microsoft.Reporting.WebForms.ReportParameter)
37              
38              
'Check to see if the report has a requirement for a person ID.
39              
Dim As Microsoft.Reporting.WebForms.ReportParameterInfoCollection = ReportViewer1.ServerReport.GetParameters()
40              
Dim di As Microsoft.Reporting.WebForms.ReportParameterInfo
41              
For Each di In d
42                  
If di.Name.ToLower = "calendarid" Then
43                      If Not 
IsNothing(Request.QueryString("CalendarId")) Then
44                          
p.Add(New Microsoft.Reporting.WebForms.ReportParameter("CalendarId", Request.QueryString("CalendarId")))
45                      
End If
46                  End If
47              Next
48  
49              
ReportViewer1.ServerReport.SetParameters(p)
50              ReportViewer1.PromptAreaCollapsed = 
False
51          Else
52              
ReportViewer1.PromptAreaCollapsed = True
53          End If
54          
55      End Sub
56  End Class
57  
58  
<Serializable()> _
59  
Public NotInheritable Class MyReportServerCredentials
60      
Implements IReportServerCredentials
61  
62      
Public ReadOnly Property ImpersonationUser() As WindowsIdentity _
63              
Implements IReportServerCredentials.ImpersonationUser
64          
Get
65  
66              
'Use the default windows user.  Credentials will be
67              'provided by the NetworkCredentials property.
68              
Return Nothing
69  
70          End Get
71      End Property
72  
73      Public ReadOnly Property 
NetworkCredentials() As ICredentials _
74              
Implements IReportServerCredentials.NetworkCredentials
75          
Get
76  
77              
'Read the user information from the web.config file.  
78              'By reading the information on demand instead of storing 
79              'it, the credentials will not be stored in session, 
80              'reducing the vulnerable surface area to the web.config 
81              'file, which can be secured with an ACL.
82  
83              'User name
84              
Dim userName As String = _
85                  ConfigurationManager.AppSettings("MyReportViewerUser")
86  
87              
If (String.IsNullOrEmpty(userName)) Then
88                  Throw New Exception
("Missing user name from web.config file")
89              
End If
90  
91              
'Password
92              
Dim password As String = _
93                  ConfigurationManager.AppSettings("MyReportViewerPassword")
94  
95              
If (String.IsNullOrEmpty(password)) Then
96                  Throw New Exception
("Missing password from web.config file")
97              
End If
98  
99              
'Domain
100              
Dim domain As String = _
101                  ConfigurationManager.AppSettings("MyReportViewerDomain")
102  
103              
If (String.IsNullOrEmpty(domain)) Then
104                  Throw New Exception
("Missing domain from web.config file")
105              
End If
106  
107              Return New 
NetworkCredential(userName, password, domain)
108  
109          
End Get
110      End Property
111  
112      Public Function 
GetFormsCredentials(ByRef authCookie As Cookie, _
113                                          
ByRef userName As String, _
114                                          
ByRef password As String, _
115                                          
ByRef authority As String) _
116                                          
As Boolean _
117              
Implements IReportServerCredentials.GetFormsCredentials
118  
119          authCookie = 
Nothing
120          
userName = Nothing
121          
password = Nothing
122          
authority = Nothing
123  
124          
'Not using form credentials
125          
Return False
126  
127      End Function
128  
129  End Class

A strange thing happened to me on the way to work today...

So, I wrote a new web service in a .NET 2.0 app today.  Went to fire it up, and I got a wierd message that I had never seen before.

I found a few references to this on the web, but they all dealt with 1.1 stuff. 

Then, I went hunting around my web.config to see if there was some way it was trying to emulate 1.1.  I ran across this line that I put in when I decided to mess around with AXAX.NET.

<remove verb="*" path="*.asmx"/>

Whoops.  I had inadvertently disabled my web services...

Yeah.  Don't do that.

Oh Well.

I had Tennessee going all the way, but losing to KU in the finals.

http://sports.yahoo.com/ncaab/recap?gid=200703220443&prov=ap

Oh Well.

 

Duh?

For more than 5 years now, Apple has used buzzwords like "stylish", "sleek", "elegant" to stress the design of their products.  I think that in the early 00's they realized that not only are people looking for functional stuff, they're looking for sexy stuff.  And, for the average user of their stuff, being sexy was much more important than being functional.

Oh, yeah, and they were ahead of the game with their technology.  “The competition hasn’t even caught up with our first generation iPod, and we’re introducing our third generation,” said Steve Jobs, Apple’s CEO. (http://www.apple.com/pr/library/2003/apr/28ipod.html).  This was way back in '03.  Apple has certainly pioneered the way in design-first technology, and by all accounts, they're doing it well.

It's hard not to wonder if the explosion of Agile or TDD programming isn't a direct result of this design-first philosophy.  As a developer, I know I get caught up in the details and so often forget about what it's supposed to look like.  From what I read of TDD and Agile is that it takes the user requirements (design) and makes it functional. Quickly. 

But, I digress.  Here's the original purpose for my post.

http://www.microsoft.com/design/

Microsoft thinks they have figured out Design-First.

Part of me thinks there were some people sitting somewhere in a board room saying "Crap, we're 10 years behind the curve on this one.  How do we catch up."  And someone else said "Let's package something free, like Visual Web Developer with some new colors, name it something sexy like "Expression" and then sell it.  Maybe they'll think we're cool like Apple.  Hopefully they'll think we're cool like Apple."

"Good user experience is now common in the user space (Apple) and is the next domain of differentiation in the enterprise."

Yeah.  Chicks dig stuff like that.  Way to go Microsoft!

 

Is AJAX really worth it?

I was one of the ones who jumped on the AJAX bandwagon pretty quickly.  I've built several private apps using AJAX, and really like it.  I like the fact that the web becomes more "rich," and more closely resembles forms in functionality.  The gains are enormous.

That having been said, I found myself asking the question:  Is it worth it?  I've found (so far) that doing things with AJAX takes at least three times longer, there's much more room for error, and cross-browser issues are brought to the forefront.  I have played around with the AJAX.NET framework a little, and have had mixed results.  What I got working was pretty cool, but do I really need rounded corners on divs?  It seems to me that a lot of their controls are gimmick-ey, and don't really have all that much to do with AJAX. 

I think my biggest disappointment with the MS AJAX.NET framework is it's complete failure when adding the framework to an existing project.  I could not for the life of me get it to work.  I spent three days fiddling with it, and nothing seemed to want to work.  I really have little desire to re-write the projects that I do have for the benefit of AJAX. 

So, is it all worth it?  Are post-backs really that evil?  I'm starting to think "No."  AJAX is cool.  I probably won't use it if I'm in a hurry.  It has its place, but is it ready to take over the web?  Should it?

Those are my questions...

 

Question about SRS

So, I have a question for all you SQL Reporting geeks out there.

Is it better to do filters server-side (ie. In a Stored Procedure), or report side. 

Any thoughts / suggestions...

K-

Score one for the geeks...

I'm not too big of a fan of Reality shows.  My wife got in to Beauty and the Geek on the CW network.  The past few weeks I've been watching it with her.

So, tonight was the finale.  The final four players, two teams of Megan and Scooter, and Nate and Cecille, put themselves at the mercy of the eliminated players, to determine the winner.

Since the beginning of the game, Cecille succeeded in alienating herself, and effectively eliminated herself from the winnings.  Her partner, Nate, showed extreme class in how he handled the situation.

The former members were to vote on who changed the most, and though everyone wanted Nate to win, they couldn't stand his partner.  Nate went to all the former players and said that it was OK not to vote for his team to win.  He said that the point of the competition was to discover what is possible if you were to open your mind to change, and embrace it.  His partner didn't do that.  She didn't even try.  He said that he and Cecille were not the winners of the game, and he felt that if she was to lose, that would be a better lesson for her.

Now, that's class.  Good going, Nate.

Sweet AJAX Travel Site

Just ran across this travel site that I'd not heard of before.

www.kayak.com

It's got some sweet AJAX action going on.