.Net Stuff Development General

I finally did it… :(

Today I finally un-installed VS.Net 2005 from my PC.  I keep trying to do things in VS.Net
2005 that just won’t work in Mono, and more recently I had issues with various
application blocks that just didn’t work in .Net 2.0. Apparently there are
work-arounds, but I’m not interested in any of that. I want something that just
works and, despite its many issues, VS.Net 2003 has a much bigger base of tools
that will “just work” for me.

So as I type VS.Net 2003 is installing on my PC and I’m going to have to say
good bye to “built in” support for Master Pages, Refactoring, and a many other
cool features so that I can have “stuff that works”. (Unfortunately for me
“stuff that works” roughly translates to “stuff that works on
.Net and on Mono”) 

Another good reason for the swap is that I need to build a web app at the
moment (needs to be working by January)and, unless they’ve seriously jacked up
their capabilities since .Net 1.0 was released, the likelyhood of any South
African ISP’s supporting .Net 2.0 in the next 6 months is probably not very
high.  So we’ll be far more likely to find a place to host the site if we
use v1.1.

.Net Stuff Development General


Last night’s SA Developer meeting in JHB was on
LINQ.  I unfortunately was about 25 minutes late so I missed some of the
stuff but what I did see was both pretty cool and frustrating.  The new C#
3.0 stuff looks really awesome but the LINQ stuff is “just another teaser that I
won’t be able to use until its released in 2 years time”.  Oddly enough my
previous company had built something similar to the Linq expression trees to
enable you to query our database and return objects.  We had been building
the system for about 3 years (it does a lot of other things besides just
querying a database), so I’m sure they’ll all be kicking themselves about the
fact that in 2 years their cool technology is going to be “replaced” by
microsoft’s LINQ and they’ll be working on “outdated” or “non-standard”

I guess that’s the way things go… I certainly wish I could use LINQ now, it
would definately make my life a lot easier, and would probably make my boss far
happier with using .Net.  I guess that’s the story of MS products, version
3 is the one that finally gets it right and kicks ass…

Not that version 1, 1.1, or 2.0 don’t kick ass… its just that they just
don’t have all the coolness of 3.0. 

Added to that – I’m having to build a new project in v1.1 instead of 2.0
because we have to use Mono. So I’m a bit frustrated with seeing new
coolness that I can’t use  even though part of the geek in me is
super excited at where things are going and how cool the new coolness of 3.0
will be when we finally get it.

Development General

Excursions in Mono and Generics…

Shortly after starting at the new company I found out
that a lot of our clients like Mac‘s so we need to find some way to make the new version of our
product work on Mac‘s.  Of course the initial solution was to make it web
based, but that causes some hassles with interactivity… I know Ajax/atlas is cool but for lots of
data entry the web just didn’t seem to quite do it quite as nicely as was
required… so our next option started becoming either Java or Mono.   And since we
don’t have any real java experience here we decided to take a look at Mono.

I was pretty excited when I found out that it does Generics and Nullable
types, and some tests showed that assemblies built in VS.Net 2005 that used
Generics and Nullable types worked quite nicely in Mono.

Unforutnately I’ve had some issues with the UI side of things.  Mono
kinda (98%) supports System.Windows.Forms v1.1 and if I design a UI in
VS.Net 2005 there seems to be no way to make it use .Net v1.1 components. 
So I get a bunch of designer code that isn’t 1.1 compatable, as well as a whole
bunch of controls that aren’t in v1.1.  Apparently Mono has a few of these
controls already in testing, but they’re not planning on supporting System
Windows Forms (SWF) v2.0 until the end of 2006, so its not a good idea for an
application that I need to build now.

So I’ve tried to use VS.Net 2003 and while that builds the UI’s nicely, it
doesn’t recognise the Generics and Nullable types in my v2.0 assemblies.  I
thought I’d try out SharpDevelop v1 and v2 (which isn’t yet released). 
SharpDevelop v1 bombs out when I try to reference a .Net v2.0 based assembly,
and SharpDevelop v2 has two problems:
1. Its not very stable (which is to be
expected from a pre-alpha product)
2. It seems to suffer from the same
problem as VS.Net 2005.

Next I tried out MonoDevelop. I could only get that working on Linux,
which I managed thanks to Ubuntu and Virtual PC, and it doesn’t seem to like SWF
at all – it only seems to build GTK# based interfaces. 

I even tried X-Develop, and didn’t have much joy.

From what I’ve seen there seems to be no IDE that will build a Mono SWF (aka
MWF) UI while using some of the .Net v2.0 features that mono
supports.  So my next plan of action is to dumb down my business logic
so that it only uses .Net v1.1 features so that I can build a UI using either
VS.Net 2003 or SharpDevelop v1.

At this moment I’m super impressed with how Mono performs, I’m just
struggling to find tools and controls (that’s another story/blog post – coming
soon) that will work easily.

.Net Stuff Development Geek food General

New toolkit released

[IMHO just lost my blog entry – it posted it, but the contents were blank, so here’s a 2nd attempt]
I just read via the Daily Grind that Component Factory have just released the Krypton Toolkit.  Its basically a set of windows forms controls that are written for .Net 2.0 and VS.Net 2005, and best of all they’re free for commercial use.

I’m going to go and download it now and check it out.

[And for the .Net bloggers out there, if you blog about their release you can get a free copy of DotNetMagic – check out the offer here.]

Geek food General

iMate OS Upgrade

I have an i-mate SP3
– I’ve had it for about 6 months now – and the one thing that’s frustrated
me the most is the fact that it doesn’t have Windows Media Player 10 on it, so
certain cool features of WMP 10 wouldn’t work (like auto synchronising playlists
with the phone)  Anyway, I just checked the i-mate website and lo and
behold, there’s a new version of the OS for my phone and it includes (amongst
other cool things) WMP 10!  It apparently breaks some functionality with
some bluetooth based GPS devices, but since I don’t connect my phone to anything
bluetooth related, I don’t mind at all.

The only problem with this is that I’ll have to re-install all the apps I’ve
put on my phone, kinda like re-installing the OS on a PC… At least I’ll be in
control, unlike the phone OS upgrades I’ve had with previous phones where the
“service centre” just wipes all your data, I’ll be able to back up everything
and make sure I don’t lose any important information.  Its also cool that
it synchs with Outlook so all my contact info will be safe…

I know the last time I upgraded my phone software I had to re-name my phone
because ActiveSync believed it was still partnered with my “pre-upgrade” phone,
and wouldn’t create a new partnership with my “post-upgrade” phone. 
Unfortuantely I can’t remember how I worked around it, or what I should do now
to prevent it from happening this time.  So I’ll make sure I post a blog
entry about it for future reference.


I’m back…

After a while of having
hassles with IMHO not talking to my blog and then IMHO not liking my new
company’s proxy, I finally have it all up and working again.  So hopefully
this is the start of some more regular posts.

For those who noticed, I did say “new company”.  I
moved companies in the begining of October… I’m no longer based in Centurion,
I’m now based in Morningside and I’m loving it.  Far less traffic, far
easier to get to SA Dev meetings, and so many more cool things.  More posts
should soon be following…