Syringe.Net.Nz
Irregular Injection of Opinion
RSS 2.0|Atom 1.0|CDF

 Wednesday, March 03, 2004
Answering NZPundit

NZPundit has posed a challenge based around the following article....
http://www.stuff.co.nz/stuff/0,2106,2833404a10,00.html

Wellington School of Medicine and Health Sciences researcher Tony Blakely has released the latest findings of the New Zealand Census-Mortality Study to show that health policies cannot be based solely on economic need.

Dr Blakely, of the University of Otago, said that in response to the current political debate over health funding he had decided to pre-release the findings of an unpublished study that looked at death rates in terms of both ethnicity and income levels.

Death rates are commonly used as an indicator of health need. Dr Blakely said the results were "too critical" to leave until they were formally published

The challenge relates to the need based vs race based funding debate.

Without actually diving into the statistics and scientific method as NZPundit does....

I personally don't see why race can't establish a valid need in the medical area. I certainly think that culture can never establish medical need, but race almost certainly can. If a certain genetic line is predisposed towards a certain illnesses then there most certainly is a need established. The problem is that any time anyone talks about genetic predispositions and/or genetic flaws on a racial basis they get labled racist.

Rants|Wednesday, March 03, 2004 8:55:51 PM UTC|Comments [6]|    
Dynamic invocation in .NET

Eric Gunnerson has an article up on MSDN that runs through the various mechanisms for invoking code on the .NET platform. If it's one this that managed environments are pretty good at it's resolving, loading and executing code on the fly. Eric runs through the performance os standard invocation mechanisms as wll as the more exotic/dynamic approaches.

Take a look.

.NET | Human Aggregation|Wednesday, March 03, 2004 6:35:34 AM UTC|Comments [0]|    
The Camels Back Has Been Broken

That's it....

Air NZ, bucket carrier of the wrolds greatest travellers, has just announced that they are putting up the price of Business Class airpoints rewards tickets!... By 20%

So now, not only is it harder to earn airpoints with AirNZ, it's harder to redeem them. They have removed the one loyalty incentive that is not directly price/service based from their arsenal. I've already had a bleet about their baggage allowance rules this month and now they decide to do this!

AirNZ have also put the price up for points transfers from other programmes- so no more American Express points to AirNZ in 2005....

So stuff em! I'm gonna burn up my last few airpoints on some pre increase business class trips to Cairns to go diving and then I'm outa here..... Qantas and One World here I come!

 

 

Rants|Wednesday, March 03, 2004 12:48:27 AM UTC|Comments [15]|    
 Tuesday, March 02, 2004
Russel Brown on Gerry Brownlee on Nat Radio Yesterday

Russel Brown has a good piece on the ruckus between parliamentary Woodworker Gerry B and the the religious leaders yesterday on the wireless.

It also includes some good discussion on Ngai Tahu and their nature as a property rights oriented tribe. Some good commentary all up and well worth a read.

Human Aggregation|Tuesday, March 02, 2004 9:55:04 PM UTC|Comments [3]|    
Code Rush slated for release this week.

A little birdy tells me that Code Rush, the VS.NET IDE enhancer from DevExpress is due for release today or tommorow! I'll do the in depth blog post on it once I've had the release version for a couple of days.

.NET | Toy Box|Tuesday, March 02, 2004 7:18:53 PM UTC|Comments [9]|    
All the Rage: Art Rage

Cool Tablet App of the Week goes to Art Rage. Loren reckons that it is enough to warrant buying a Tablet PC!

A real painting app for the Tablet... and it's free!

Unfortunatly I fried the OS on my Tablet last night so I gotta try and find a USB CD Rom to reinstall......

Toy Box|Tuesday, March 02, 2004 7:15:28 PM UTC|Comments [3]|    
Laguna handouts at MDC

Looks like they're gonna be dishing out beta versions of Laguna (SQL Server CE 3.0) at MDC this year....

I seriously tossed up going on the way to MVP Summit but decided to go scuba diving in Hawaii instead.... gotta have some pleasures in life *grins*... It's bloody expensive ofr we antipodeans to get to these conferences too... even with the US dollar as weak as it is.

.NET | Mobility|Tuesday, March 02, 2004 5:02:39 AM UTC|Comments [434]|    
Using the same compiled assmbly on Desktop and Compact Frameworks

A recent Mobile Minute had a link to some stuff by Kyle Cordes on the Compact Framework. This short piece by Kyle gives a great once over lightly of CF development and covers off many of the questions that always seem to raise their head in any discussion of CF development. I had a few of them the other day in my web cast *plugs web cast*. Kyle even includes some very interesting BAT file instructions for building CF applications automatically... very cool this.

I'll add just a couple of quick points to some of the stuff there.....

“You can't run the same EXE/DLL on both the CF and desktop .NET“

Actually you can. With DLLs you can run the same DLL on a device as on a desktop. If your DLL is written to to only use the subset of the framework supported by both platforms. Alternativly with intelligent exception handling you can get away with making some platform specific calls too.

A great example of a .NET assembly that works fine on both platforms is SharpZipLib

http://www.icsharpcode.net/OpenSource/SharpZipLib/Default.aspx

 

“If you include both a desktop and CF project in the same ?Solution?, and you build/run the desktop app, VS.NET will build and deploy (!) the CF project. “

If you right click the VS.NET solution and choose 'configuration manager' you can turn CF project deployment on and off on a project by project basis.

 

Many CF API calls throw/return much less helpful error messages than the corresponding desktop .NET calls; a lot of descriptive error text was left out to keep the CF small.“

They were'nt completely removed. They are just held in a separate assembly that you need to include called System.SR.dll. Always worth having a reference to this in ya project while debugging.

.NET | Mobility|Tuesday, March 02, 2004 4:55:26 AM UTC|Comments [1008]|    
Leaked Videos of new Motorola Phone

Scoble linked to some leaked videos of the new Motorola devices.

 

Toy Box|Tuesday, March 02, 2004 2:48:34 AM UTC|Comments [1065]|    
 Monday, March 01, 2004
Wilsons Carpark Ripoff....

Lukas has posted an entry on his mate getting ripped off at a car park.
The use of extortionate towing fees and 'kickbacks' to the parking companies is rife in this country.

My suggestion to Lukas is have his mate take them to the Small Claims Court for a little Small Claims Sport.....

Human Aggregation | Rants|Monday, March 01, 2004 10:27:37 PM UTC|Comments [3]|    
Russell Beattie on MS Phone Strategy

http://www.russellbeattie.com/notebook/1006453.html

“Remember, Microsoft has a sales rep assigned to *every* enterprise on the planet already (well, every enterprise that uses Windows... i.e. everyone). So extending their presence to Mobile is just as simple as throwing a few SDKs on the MSDN CDs and sending out a few sample Smartphones to CTOs. Combining forces with a few carriers, and suddenly Microsoft is on the map. Already here in the U.S. I can get a Microsoft device from every major carrier. That's pretty good penetration for a company that's supposed to be an also-ran in the mobile market.”

.NET|Monday, March 01, 2004 12:58:23 AM UTC|Comments [10]|    
 Sunday, February 29, 2004
More .NET core stuff... Garbage Collection under Rotor

[via Scoble]

Joel Pobar has a post on the workings of the Rotor garbage collector.
It's quite different to the CLR GC but makes interesting reading.

http://weblogs.asp.net/joelpob/archive/2004/02/26/80776.aspx

.NET | Human Aggregation|Sunday, February 29, 2004 8:51:07 PM UTC|Comments [6]|    
Who wants to be Scobleized?

http://radio.weblogs.com/0001011/2004/02/28.html#a6696

“So, who wants to be Scobleized by the "LinkToWhore?”

Human Aggregation|Sunday, February 29, 2004 8:45:57 PM UTC|Comments [1]|    
Caching in Whidbey

I'm a big fan of caching in ASP.NET
When you look at all of the .NET vs Java benchmarks it's usually the easy caching support that has given .NET the edge.

Andrew G Duthie has an article up on MSDN about the new caching stuff in Whidbey.

Specific goodies include:

  • A non sealed CacheDependancy class. i.e. you can inherit and create your own dependency expiration rules.
  • SQL invalidation. Obviously drawing from the above, there is now a bundled SqlCacheDependancy class. It looks like it is done via a polling mechanism rather than a trigger executed extended stored proc as used by Rob Howard in his example for use under 1.1 and 1.0
  • Substitution capability for chaning content after retrieval from the cache.
.NET | Human Aggregation|Sunday, February 29, 2004 8:41:40 PM UTC|Comments [0]|    
Dare on the forthcoming changes to forward only XML in .NET

http://www.25hoursaday.com/weblog/PermaLink.aspx?guid=51908783-d75d-4924-ac37-c19f25dbac44

In the next version of the .NET Framework we are moving away from the XmlTextReader and XmlValidating reader. Instead we will emphasize programming directly to the XmlReader and will provide an implementation of the factory design patterns which returns different XmlReader instances based on which features the user is interested.

.NET | Human Aggregation|Sunday, February 29, 2004 8:22:59 PM UTC|Comments [5]|    
Casey on Same Sex Marriage and the Passion

I'm so gonna have to buy this guy a beer when I'm in Seattle in April!

Same Sex Marriage
http://www.mperfect.net/blog/browse.aspx?bid=632134766100468750

Including such fantastic lines as

dykes should be allowed to get married, lesbians should not. that would hopefully leave more lesbians in non monogamous relationships, and give me more chances for MFF threesomes.

The Passion of Christ
http://www.mperfect.net/blog/browse.aspx?bid=632134782903750000

Human Aggregation|Sunday, February 29, 2004 8:17:41 PM UTC|Comments [6]|    
Oh the irony... "Church groups must wait for Passion review"

Usually when we hear of Church groups and other such parties bitching about a Film and Literature Classification it's because they want something banned- or at least tightly restricted.

Yet now we have them grizzling because a rating is too high- they actually want something unbanned. Such is the irony that has come about due to the R16 (Restricted to persons 16 years and over) rating on the Passion of Christ. It seems all of the religionists want to be able to take their kid to see the film- as if weekly happy clappy indoctrination at Sunday 'School' was not enough.

Now I'm not big on religion*, apart from an aberrant 3rd form as a male chorister I spent most of my 'church time' at high school blissfully asleep in my bed. I'm even less big on Catholicism- due mainly to their <flamebait>ingrained bigotry, conservatism and recently uncovered unhealthy enthusiasm for forbidden fruits</flamebait>. So, to be completely honest, I'm not going to be rushing to the box office to the the Passion of Christ, but, freedom is freedom and I'm no fan of banning stuff for the sake of a little blood and guts so I'm with the Churchies on this one.... but rest assured I'll be the first to jump up and down should their morals get in the way of my principles any time in the future.

*In fact I think it is a complete load of bollocks but saying that would have ruined the flow of my paragraph.

Rants|Sunday, February 29, 2004 9:13:21 AM UTC|Comments [14]|    
Junfeng Zhang on getting the assembly version number

Microsoftie Junfeng Zhang has a peculiar post on retrieving the version number of the currently executing assembly from within the assembly itself. This is obviously useful for the sort of auto updating applications that I discussed in my recent CF webcast.

He lists the obvious approach which is to use the metadata reflection capability in .NET like thus:
Assembly.GetExecutingAssembly().GetName().Version

But Junfeng (a dev on the Fusion team) says:

Of course, this works. But personally, I think it sucks that you need API to get properties of yourself.“

He instead suggests:
a) Creating an internal class with constant (and presumably static) members to hold 'all the interesting assembly properties' or;
b) Take the more sophisticated option of holding an external file with these properties in it and auto generating this Assembly Properties class along with the AssemblyInfo class at compile time.

Now to me this is just plain wrong. The 'important information' that is being talked about is classic metadata- it is information that describes the code. The very reason that we have the sort of metadata reflection techniques that exist in modern managed runtime environments such as Java is so that we don't have to hard code these sorts of properties that are not intrinsic to the logic of the code itself.

Versioning (as we are talking about here) is really a compiled code concept not a source code concept. Taking the approach suggested muddies this distinction. .NET versions at the assembly level and importantly a versioned assembly need not even contain any executable IL code- it may just be a resource containing assembly. What do we do then? Have one version discovery approach for code containing assemblies and one for resource containing assemblies? Have all of our resource containing assemblies include the special Important Properties class?

I find it very peculiar that someone who must be deeply involved with the .NET metadata mechanisms (for those that don't know Fusion is the managed/unmanaged stuff that locates and loads .NET assemblies) dismisses the usefulness in this case with a simple 'I think it sucks'... Is there something we don't know about here? Is this sort of reflection overly resource intensive? If not I don't really see why the the standard approach should not be favored.

.NET|Sunday, February 29, 2004 8:54:05 AM UTC|Comments [2]|    
At last something decent on the Telly....

I've all but given up watching the TV these days. Apart from the 6pm news there appears to be little more than real world drama b/s played 24/7.

Recently however I have discovered the Sunday night pleasure that is Top Gear. Played every Sunday @ 7:30pm on Prime it is far more than a show for car nuts. Hell, I drive a Toyota 'Family' Wagon that would give presenter Jeremy Clarkson a heart attack. Top Gear is unashamadly Politically Incorrect in that dry British kind of way.

All in all, a great watch and especially good after we just managed to sneak home in the cricket!

Rambles|Sunday, February 29, 2004 8:21:50 AM UTC|Comments [0]|    
 Thursday, February 26, 2004
All necklaces are equal... but some necklaces are more equal than others...

NZPundit had a post this morning linking to a Herald article on the ongoing necklace debate at Marlborough Girls College. Briefly...

“A Pakeha student whose necklace was forcibly removed by a teacher - even though Maori students are allowed to wear their taonga (treasures) - has quit school over the incident.”

While I'm no fan of the Human Rights Commisariat this looks like a fine time to have a good go at the establishment. On that note I've got a NZ$50 note to kick off a legal fighting fund for anyone who's interested in having a go at:

  • The Ministry of Ed
  • The school, the board of trustees or the principal especially
  • The teacher who forcibly removed the necklace
PoliTechLaw | Rants|Thursday, February 26, 2004 9:36:15 PM UTC|Comments [6]|    
Robert Scoble vs The Hornets Nest

Well, Well, Well...... Scoble has stirred up a hornets nest with his post on Gay Marriage. He posts some follow up here.

Die hard Libertarian that I am I can't let it go without comment.

In the ideal world I don't think that the government would have anything to do with marriage save for enforcing any properly made contract that might stem from a marriage. In the same way I don't think the government should have anything to do with what goes on in your bedroom. ...or what sort of crack you like to smoke.... etc...

Marriage and participation therein should be left up to the churches. Most of them are die hard bigots but there are increasingly tolerant people among both clergy and parish. The important thing though is that churches are private organizations and in a free world private organizations and individuals should be free to be as discriminatory or tolerant as they see fit. If non religious people like me want to get married then we can also start a private organization to record the commitments that we make.

But, we don't live in the ideal Libertarian Utopia (yet!) do we. So my current feelings are that while the government continues to bring the concept of marriage under a legal framework then the law should apply to, and the protection thereunder be available to, all people no matter who they share their life with. Ultimately I believe that private people should be free to discriminate as they see fit, the government should not.

PoliTechLaw | Rants|Thursday, February 26, 2004 9:23:07 PM UTC|Comments [5]|    
A link to my CF Deployment Webcast

I gave an MSDN Webcast on the 24th of Feb. Here is the link to the recorded session:

MSDN Webcast: Deploying Compact Framework Solutions in an Enterprise Environment – Level 200

 

|Thursday, February 26, 2004 3:38:57 AM UTC|Comments [10]|    
What I want in a phone....

Scoble just posted an entry on why he hasn't got a Smartphone yet and it kinda rings true for me. Here are my needs/likes/wants for a phone...

Needs
- Gotta have Bluetooth. I use my phone with all my other devices to access the internet over GPRS. Bluetooth is a must have
- Gotta be a phone and not some chunky PPC like thing. I am a divergence kinda guy more than a convergence kinda guy. I am happy to carry multiple 'Best of Breed' devices rather than a single 'Jack of All Trades  Master of None' device. I don't want qwerty keyboards or any of that bollocks... I'll be carrying a Tablet or Pocket PC most of the time anyway.
- Compact Framework and Smartphone 2003. Kinda goes without saying... If I'm buying a programmable device I want the latest service packs etc.
-MP3 Player. This is about the only area where I think convergence works for me.... I see no need in having an iPOD like device with multiple Gigs of storage. I am going to be syncing often enough to refresh my music regularly.
- Decent battery life. It's a phone after all, my current phone does 4-5 days..... I don't want to lose too much of that time with a new device.

Nice to Have
- Camera. I like the Mobile to Blog idea that Casey has been doing
- WiFi. I can make do with Bluetooth but my primary Home Area Network is WiFi so I can lose some radio interference by sticking to WiFi for Syncing

Toy Box|Thursday, February 26, 2004 1:07:28 AM UTC|Comments [18]|    
 Wednesday, February 25, 2004
CF Coolness 101.....

Chris Tacke has posted some info on a really cool little control that he has written for CF.....
An automotive dial gauge.

 

 

 

 

 

 

 

.NET|Wednesday, February 25, 2004 11:57:15 PM UTC|Comments [2]|    
Note to Self: Write a blog entry on Code Rush

With all the hoopla starting to surround ReSharper I'm going to post some stuff on a REALLY cool competing tool that I'm using an early Beta of....... but I don't have time right now.... so I'm leaving blog notes to myself......

Rambles|Wednesday, February 25, 2004 8:54:20 PM UTC|Comments [285]|    
More stuff on SQL Server Scheduling

I posted a couple of days ago on some stuff to do with scheduling in SQL Server.

MSDN has just published a good article on the internals of the User Mode Scheduler inside SQl Server.

.NET | Human Aggregation|Wednesday, February 25, 2004 8:50:26 PM UTC|Comments [2]|    
New Motorola Smartphone with.... WMS2k3 and.... CF SP2

Michael Yuan is reporting the release of two new Windows Smartphone devices from Motorola.

These have all the usual fruit that you'd want and expect on a current generation mobile;

  • 1.3MP Camera
  • Bluetooth
  • Tri Band GPRS

..... as well as a few things that set them apart....

  • WiFi!.... Yes WiFi!
  • Smartphone 2003 OS (first in the US with that I think)
  • SP2 of the framework.... which is just as well becuase you can't update the CF into RAM on these devices.

I'm going to grab one while I'm in the US in April if I can find one. Does anybody have any pointers as to where to get one in and around the Seattle/Redmond area?

.NET | Toy Box|Wednesday, February 25, 2004 8:15:54 PM UTC|Comments [2]|    
More Questions from my Webcast

1) If you add a file (say an xml config) file to a CF project and set its BuildAction property to Content would you still need to include it in the CAB inf file?

[CJTA]
No. If it is included in your project and set to BuildType 'Content' in VS.NET then the default CabWizard *.inf file will include that file in your final CAB.
However, if you want to be able to place some of those files into sub folders then you will need to edit the *.inf file. The reason is that the default *.nf generated simply places all of the content files (even if they are in folders in VS.Net) into the application directory.
 
[PMS] Ahh. Got it.
 
2) I installed Microsoft's Remote Desktop Manager as well as vxUtil, both of which I seemed to install via my desktop without my having to use ActiveSync directly. Which of the deployment models do these use? Can you point me to some more info on it?
 
[CJTA]
They both actually use Active Sync to manage the install. Basically what happens is
1. The package you download on your desktop installs the drops the cab files onto your desktop hard drive
2. The desktop installer application passes the CAB files to active sync which in turn passes them down to the device
3. Active sync on the devices executes the package on the device.
 
[PMS] This is the Exe that I ran I presume. How does step 2 happen? Is this a standard installer (e.g. MSI) or something custom written? What generated the Exe? Any references to info on this technology?
 
[CJTA]
The Active Sync App manager has an API that the sdetup program on your desktop talks to.
You can also buy off the shelf setup builders that make EXEs that can talk to the App Manager API
 
[PMS]
Related to that, for commercial PPC apps, what deployment mechanism is the most prevelent used? Simple CABs?
 
[CJTA]
Most commercial apps are deployed using Desktop based installers that communicate with App Manager. The focus of my discussion was really on enterprise apps where depolyment if often away from the desktop. It is worth noting here that even with a desktop installer approaqch there will be a CAB file written somewhere to your file system. If you need to install the app by had (or over the network somehow) you can go and find that cab file and copy it manually down to the device.
 
.NET|Wednesday, February 25, 2004 8:09:16 PM UTC|Comments [5]|    
 Tuesday, February 24, 2004
Making the Pocket PC Emulator work over the network

If you are using the Pocket PC emulator to debug Compact Framework applications that rely on networking you may want to look at this article. it describes the process to follow to ensure that the emulator can comunicate over the network.

.NET|Tuesday, February 24, 2004 10:37:41 PM UTC|Comments [13]|    
 Monday, February 23, 2004
New Fruit on MSDN

Couple of goodies have popped up on MSDN Subscriber downloads recently.

Win XP SP2 Beta
Windows Sharepoint Services

.NET|Monday, February 23, 2004 10:37:58 PM UTC|Comments [2]|    
God: 'Bush to win 2004 Election'

According to American Religious broadcaster Pat Robertson George W. is going to win in a landslide this year- god told him so. More likely Pat has been smoking the same crack that Ralph Nader has recently.
 

PoliTechLaw|Monday, February 23, 2004 6:53:04 AM UTC|Comments [62]|    
Ahhh... the joys of propoganda

Something funny over at LitleGreenFootballs.

Some Palestinian students learning english.... visit the site to see what is on the blackboard.

http://littlegreenfootballs.com/weblog/?entry=9924_Crude_Propaganda_on_Both_Sides_of_the_Lens

Human Aggregation|Monday, February 23, 2004 1:53:05 AM UTC|Comments [9]|    
So you thought you could always pick a PayPal Spoof

It's usually pretty easy to pick a PayPal spoof that's trying to nick ya money, right?

Not anymore..... take a look at this example of Visual Spoofing

via [Chris Tacke]

Human Aggregation|Monday, February 23, 2004 1:36:24 AM UTC|Comments [18]|    
Robert Levy on theSpoke and the move away from GotDotNet

Robert Levy has posted some comments on the rise of theSpoke.net and the fall of GotDotNet.com/student.

http://robertlevy.net/archive/2004/02/22/152.aspx

.NET | Human Aggregation|Monday, February 23, 2004 1:33:35 AM UTC|Comments [69]|    
What a cool gadget! A Whiskey Counterfeit Detector

Beverage Daily is reporting on a portable spectroscope for use in detecting counterfeit Whisky.... now that would have ben great in my student days!

Via [The Trademark Blog]

Human Aggregation|Monday, February 23, 2004 1:21:13 AM UTC|Comments [13]|    
From the Field: Casey Chesnut does Dallas

Tablet MVP Casey Chesnut has a run down of the Dallas MVP summit. We antipdeans were invited to attend via Live Meeting but I don't think many/any of us managed to get up that early in the morning.

http://www.mperfect.net/blog/browse.aspx?bid=632130464595625000

.NET | Human Aggregation|Monday, February 23, 2004 12:31:56 AM UTC|Comments [112]|    
Worth waiting for: cbrumme does CLR Hosting

When you were a kid did you need to know how things worked? Like taking things apart? Interested in the guts of the .NET framework? Good.

Your first point of call should probably be Don Box and Chris Sells' great book $a(ISBN 0201734117,books). It's a great read, especially for those coming from other managed environments (Java especially) as it allows you to get your head into exactly what .NET is without having to wade through 'how to program in an OO environment' 101. It's the sort of book that any .NET programmer worth their salt should 'cover to cover' at least once in their career. Then you can slot it back on the shelf for ready reference in answering those particularly gnarly newsgroup questions.

But, I digress. The second place to head is the weblog of Chris Brumme, one of the architects on the CLR team. This blog has an extremely high signal to noise ratio with the posts usually stretching into  several pages of extremely detailed information on a given aspect of the CLR and/or Framework. His recent post on hosting covers allot of ground with the real value, I think, being that it gives some insight into the considerations involved in producing highly performant server software - viz SQL Server.

Chris describes in some detail:

  • How CLR threading interacts with the underlying host.
  • How SQL server manages multi-threading in a slightly surprising fashion
  • Hooks that are being introduced in the Whidbey timescale to allow the CLR to better cooperate with 'extreme' hosts such as SQL Server.
  • Schemes for managing memory and threads in post physical and virtual (hyperthreading) MP environments.

http://blogs.msdn.com/cbrumme/archive/2004/02/21/77595.aspx

.NET | Human Aggregation|Monday, February 23, 2004 12:08:31 AM UTC|Comments [13]|