June 2002 Archives

Glen Gillmore

AddThis Social Bookmark Button

Related link: http://www.gotdotnet.com/team/netcf/askdotnet/

Ben Albahari, co-author of C# in a Nutshell, presents "http://www.gotdotnet.com/team/netcf/askdotnet/Downloads/AskDotNetWhitepaperCS.doc">this overview (MS Word file) of a working sample application (with source code) called "http://www.gotdotnet.com/team/netcf/askdotnet/">AskDotNet. It uses a desktop browser to create survey questions and perform reporting, but uses either smart clients (pocket PCs) or
browser-enabled devices (cell phones) as the interface for conducting the survey.

Glen Gillmore

AddThis Social Bookmark Button

Related link: http://www.devx.com/free/hotlinks/2002/ednote061902/ednote061902n.asp

In this interview, DevX talks with key developers regarding open (and shared) source implementations of the Microsoft .NET
Common Language Runtime (CLR). David Stutz, one of the people being interviewed, is a co-author of Shared Source CLI Essentials (O’Reilly),
expected later this year.

AddThis Social Bookmark Button

Every so often, while teaching either VB.NET or C# a student will pull me aside and ask me, “ok, just between us two, what language should I learn?” Well, I just wrote a book on the differences and similarities of both languages so I start by recommending my book (hey, I’ve got to feed my family), then I start telling them some of the differences and similarities of both, and how they should really learn both, and focus on the foundation classes instead of the languages.

People are usually satisfied with that answer. But, when I get back home, and the curtains are shut, and the door is locked, and I boot up my machine and anxiously wait for VS.NET to launch, and finally see that New Project… dialog, then what? What language do I really choose?
OK, you are going to accuse me of being a tease, but the answer is I am not even sure which language to pick and I’ll tell you why. Each language has things that annoy me so much about them that they keep me from fully committing to them. So here are my main pet peeves for each.

For C#:
Intellisense, uh um, how do I put this, stinks! (I am ommitting stonger words in fear that kids will read this.) I hate how intellisense does not sync-up in C#, and how you have to compile in order for it to finally sync-up. I thought at first that it would not upset me so much, after all a great DM instructor like me (being sarcastic here all you Wintellect lovers) should have System.Runtime.Serialization.Formatters.Binary.BinaryFormatter memorized, but c’mon can’t we use up a few more cycles doing a compile rather than parsing in order to get good intellisense? VB does a real nice job at this. Whenever I want to learn how to do something new, I automatically use VB, the intellisense is wonderful.

VB also has a nice feature for overriding methods, and implementing interfaces. Yes I know C# has that implement interface wizard, but it takes about five clicks to get there whereas VB.NET makes interface methods available right away through the editor’s toolbar. I haven’t found an easy way to override methods from C#. VB.NET lists the methods in the editor’s toolbar and all you have to do is select the method and the wizard adds the override for it. I know, you are thinking, Intellisense stops you from using the language, all I have to say to that is use VB.NET for a little while, its intellisense is addictive. And to make it worse, sometimes intellisense in C# makes it look like you’ve done the wrong thing until you re-compile, so you waste time thinking about how to fix lines that don’t need fixing.

For VB.NET:
The main thing that keeps me from using VB.NET all the time is a major shortcoming that is not related to editor features, it is actually a language feature. It has to do with interfaces. When you inherit your class from a base class and the base class implements an interface, it is impossible in VB to re-implement the interface. The only way that you can re-implement a method in an interface is if the author of the base class made the implementation method Overridable. I’ve already found several cases, with collection classes and remoting classes in which overriding the way the interface is implemented in the base is required and VB does not allow you to re-implement the interface. In C#, I can easily re-implement the interface in the derived class and override only the methods I care about while leaving the base implementation intact for the others. That is nice!

I have other pet peeves but I’ve run out of time to blog today, so I’ll probably list more later.

Tell me what language you’ve decided to use and why.

Glen Gillmore

AddThis Social Bookmark Button

Related link: http://www.oreillynet.com/cs/weblog/view/wlg/1559

Simon St. Laurent asked about computing when off the traditional power grid.

It just so happens that I’ve lived with solar power for ten years. I’m sure my set up is crude, but it works fine for me. I’ve got two solar panels that are rated for about 125 amps. These are
connected to four 12-volt marine, deep cycle batteries. I run a television, phone answering machine, lights, Sony PlayStation, DirecTV, laptop, and my propane refrigerator’s controller all from it. I
do have a generator, but it is for the recharging of batteries, microwave, washer/dryer, and dishwasher.

I’d suggest the best way to go is with an inverter located within 2 feet of the solar batteries and hard-wired into the system (no cigarette lighters or alligator clamps). 12v DC has enormous line
loss so it is more efficient to convert it to 110v AC near the source, and then run a 110v line to the laptop/printer. I’ve found that my configuration is very cranky if I attach a surge protector to
the line, so I don’t use one when connected to solar. When connected to the generator, I use a really good one. I know of folks who run a desktop machine from an inverter, but they often spend the
night in complete darkness when their batteries have run dry.

The best inverters use SINE or MODIFIED-SINE waves. These are very efficient and often very expensive. For $50 you can find a regular one anywhere — these will run about 300-400 watts, which
should be plenty. Get one that has a fuse and a fan. If their system is very primitive (like mine), I suggest adding meters for both amps and volts.

Depending on the laptop, you might find one that uses 12-14v DC to charge the battery, allowing a more direct solar-to-laptop charging solution. Or if you’ve got solar to spare, you can just be happy
converting 12v to 110v then back to 12v.

The laptop solar panels are ok, I presume. It probably won’t run your laptop when the battery goes dead, but can be a solution if you only need to use the laptop 1-2 hours a day. It might take an
entire day or more to recharge.

When I first started with this, I got a catalog from Sunelco. I think it is a terrific way to get educated about all of this.

You might also look into getting solar arrays that shift with the sun on a rotating/pivotal motor. If there are enough panels, it is worth the loss from the motor. In a dense forest, I’d think
shade is a big issue/concern when considering solar power. Keeping the panels pointed at the best sun is always a good idea.

There are also river/stream/ocean generators that generate electricity from water current — if that’s available and you want to get fancy.

I live at the beach, and it gets windy - not to mention foggy. For about 3 years I had a wind generator. It worked well for a while, but it sounded like I was living on the runway of a small
airport because of the propeller noise. The diversity of wind, solar, and my generator made for a good mix. Mine died during a storm with 100mph gusts that sheered the blades right off. The same gust
(at about 6:00am) took the roof off a nearby mobile home. Even with new propeller blades, it never seemed to work well after that. If you consider this, look into a model with a head that tilts. This
forces it to stall in extreme winds. I also understand that there are some quieter models available now.

If I just wanted to power a laptop and ink jet printer, I’d get the following:

  • A 50-75w 12V Solar panel $350-$400
  • Two deep cell marine batteries, sealed connected in parallel - from any auto/marine supply (I get mine at Costco) $60 each
  • 400w Inverter $50
  • Extension cord, heavy duty $20
  • Wire, fuses, fittings, etc $40

There are all sorts of regulators and other options available, but like I said, this crude system works fine for me.

Glen Gillmore

AddThis Social Bookmark Button

Related link: http://www.microsoft.com/presspass/press/2002/Jun02/06-06TrustbridgePR.asp

With the goal of interconnecting users, applications, and systems, Microsoft today announced “TrustBridge” — scheduled for initial release in 2003. TrustBridge is presented as a way for applications to construct and consume secure SOAP messages based on WS-Security (from Microsoft, IBM, and Verisign), allowing a degree of cross-platform interoperability. Also see the Microsoft Federated Security and Identity Roadmap or this News.com article for more information.

Glenn Bisignani

AddThis Social Bookmark Button

Related link: http://www.cnn.com/2002/TECH/ptech/06/02/wireless.crowding.ap/index.html

O’Reilly author Chuck Musciano shares his experiences managing neighborhood Wi-Fi congestion in this CNN.com article. Matthew Gast, author of 802.11 Wireless Networks: The Definitive Guide, is also quoted. For related reading on setting up commuity focused Wi-Fi networks, see Rob Flickenger’s Building Wireless Community Networks.