This blog is now obsolete. Go to scott.arbeitman.id.au for all new content.

0

Onion Video: Genetic Engineering

| Wednesday, July 23, 2008

"At first we were trying to cure Alzheimer, but now we have a sheep with the mind of a goat."


Genetic Scientists Develop Sheep With Brain Of A Goat
0

The Consequences of Flash Indexing

| Thursday, July 10, 2008
A couple of weeks ago, Adobe announced that they partnered with Google and Yahoo to allow for effective indexing of Flash content, allowing Flash content to appear in search results just like normal HTML web pages. I didn't think much about this at the time, but I think there will be a number of interesting effects and questions:
  • This really puts Silverlight at a disadvantage for creating web sites. But I suspect Silverlight is more appropriate for internal development (on Intranets and such). I don't think anyone really expects Microsoft to dedicate many resournces to Silverlight on Mac or Linux.
  • Given the above, I'd still like to see of Live Search starts to offer indexed Silverlight content (if there is any to be found). Live Search, by the way, was not included in Adobe's press release.
  • The search engine optimization industry for HTML is still going strong. I can tell horror stories of some of the dodgy ones I have worked with in the past and the obsession marketing teams have with whether a given change will affect their position on search results. In a way, using Flash was nice because it was saying "to hell with search engine marketing". Sometimes, this resulted in better usability. Sometimes. But now, there are going to "specialists" focusing on optimizing Flash content for search engines. I'm not looking forward to it.
  • Still, I expect this announcement to do very little to drive plain old web sites to use technologies such as Flex. The lack of Flash on the iPhone is a serious achilles heal for Adobe and I expect less adoption of Flash for content publishing, even with this new development.
  • I have found web developers of with multiple years of experience who can tell me when it's a good idea to use POST or GET for their HTML forms (tip: use GET and Google might index it. Use POST and Google won't because it may not be safe). Having little understanding of exactly how the Flash content will be indexed, and given that Flash developers almost certainly did not consider whether a given action was "safe", I'm not sure I'd like Google clicking around Flash my application trying to discover its dynamic data. Who knows what kind of load it would create if there was lots of server-side data coming across?
What do you think? Will you be creating content-heavy sites in Flash and hoping Google find it and approves? Are you going to examine your Flash development practices to make sure the crawlers don't create chaos on your servers?
0

First Days of .NET Development

| Monday, July 7, 2008
Last week I wrote my very first .NET program in order to fulfill some requirements for SharePoint project I am currently working on. I wanted to reflect on my initial experiences with multiples aspects of the development environment.

Just some quick background on me for context:
  • I have some commerical development experience with: Java, ColdFusion, Ruby and PHP
  • My prefered IDE is Eclipse which I use for Java and ColdFusion development. I have used Eclipse, Netbeans and Textmate for Ruby development.
  • My understanding of OO concepts and design patters is rather high. I have used frameworks like Spring and Hibernate.
  • I've used multiple UI development tools and I prefer those which support a mixture of markup and scripting (Flex, Laszlo and HTML come to mind) over pure coding (Swing, for example) even if there is good IDE support for component layout and wiring events.

Visual Studio 2005

I was unable to install Visual Studio 2005 on my workstation. I had to rely on a copy installed on a virtual machine running on my workstation. Obviously not a great start to any development project.

Visual Studio runs surprisingly smooth on the VM (VMWare player) which was a bit of a surprise.

Overall, Visual Studio 2005 seems adequate, even for a beginner like myself. However, I would prefer a bit more documentation on the referenced classes in the project. This is probably more a limitation of some of the SharePoint libraries than of Visual Studio, but I didn't feel like each class and method has enough documentation to use it correctly.

SharePoint SDK

One the major shortcomings of SharePoint development is that to really be productive, you develop on a machine running SharePoint, which, therefore, means you are running Visual Studio on a server operating system. This seems like a significant limitation, although I've seen that there are ways to work around this, I don't have the time or skill to undertake such an endeavour at this point.

The SharePoint object model is relatively straightforward, and its component based architecture for UI lends itself to less spaghetti code, but doesn't seem to completely eliminate the ability to code things badly. That's fine. Developers should always have enough rope to hang themselves. And as a beginner, I fully expect to do just that in the coming week.

C#

For a Java developer, C# adoption is not too difficult but there are some nuances to be aware of and some keywords, which, frankly, I'm not sure about. Luckily, C# is common and a quick Google search easily clarifies any confusion I may have. Still, I'm not competent enough to just get things done just yet.

There are many times in past couple of weeks where I have checked on the status of IronRuby and considered IronPython. Ultimately, I opted against investing any time here because
  • as a company, we should standardise .NET development on C#
  • I'm not sure what the IDE support for these languages is in Visual Studio (and I don't know what my other options are)
  • I have no idea how to get started installing other languages into the .NET environment. One thing at a time, please.

Documentation

At the code level, the core SharePoint object model definitely could use an increase in documentation, probably of at least triple the current level. Comparing what Visual Studio gives to what Eclipse will show with Javadoc, I'd take Eclipse any day.

At the conceptual level, MSDN does provide some good, short examples and background to assist development. Still, its structure and content could be improved. (I really don't want to see Visual Basic examples when I'm doing C# development. Can't I turn these off?)

There are many blogs about .NET development, but much less so for SharePoint-specific development. This is definitely a problem because even trying to solve a beginner level problem (created alerts automatically for SharePoint groups) doesn't appear to be solved and posted by a blogger. I suspect I would have better luck in the Java Portal world, but I could be wrong.

Conclusion

It has been easy to achieve a base level of productivity with Visual Studio, C#, and SharePoint for someone with a moderate amount of experience with other technologies. Still, Visual Studio suffers from many of the shortcomings of other Microsoft products: unreliable (at least of installation) and a high dependence on other Microsoft products (Server for SharePoint development).

The code-level documentation is still lacking, but there are ample sources of information out there, both on Microsoft's development site and on random blogs. Still, Microsoft's documentation is the most comprehensive (but could definitely still be better) and there aren't enough interesting bloggers solving SharePoint problems and posting their code.

I'd say that I'm sufficiently encouraged to continue working through all the hiccups that are common when starting on a new platform and paradigm. Hopefully I'll be able to remove my beginner status in the next couple of months.
4

A Better Credit Card

| Sunday, July 6, 2008
It seems there are two extremes when it comes to credit cards. On the one hand, I have friends who refuse to apply for and use a credit card, claiming that they could potentially get themselves into some heavy deb quite quickly. On the other, there are those with a credit that has, err, some heavy debt.

There is middle ground of course. I use my credit card whenever I can because it makes financial sense. There are a few key reasons for this:
  • protection against online fraud
  • travel insurance
  • reduced car rental excess
  • protection if items are lost or stolen within 30 days of purchase
  • extended warranty
  • no interest or payments on purchases for up to 55 days
Depending on the specifics of your credit card, you'll have similar benefits. The last benefit is key. That means that if I spend within my means, I will make money using my credit card, since I can earn interest on the cash I would have otherwise used to make a purchase. I would estimate I earn about $100 a year on this fact alone, more than covering my card's annual fee. And I also benefit from the other features listed above.

So for those in this first category of people (who don't have a credit card), here's an idea for the banks. A hybrid credit/debit. It would work like this.
  • Up to 55 days interest free
  • Linked to a main savings account
  • Only allows purchases up to the value of the savings account
  • Each purchase moves cash from the savings account into an account where it is frozen but it earns interest
  • Payment is deducted automatically from this account when the credit card payment is due
  • Left over interest from this account is moved into the savings account every year
That would definitely work for me. Would it work for you?