Sep 13

Microsoft LINQ Announced: Merging mismatches with XML, SQL

Microsoft, Tech 98 Comments »

PDC 2005 is up and running, and Microsoft announced LINQ (Language Integrated Query Project).

To reduce complexity for developers and help boost their productivity, Microsoft today announced a solution for the .NET Framework called the Language Integrated Query (LINQ) Project, a set of language extensions to the C# and Visual Basic programming languages that extends the Microsoft .NET Framework by providing integrated querying for objects, databases and XML data. Using LINQ, developers will be able to write queries natively in C# or Visual Basic without having to use other languages, such as Structured Query Language (SQL) or XQuery, a query language for accessing XML data. The announcement was made here at the Microsoft Professional Developers 2005 Conference, where Microsoft is making available a Tech Preview containing pre-release versions of the various components of the LINQ Project.

PressPass spoke with Microsoft’s Anders Hejlsberg, technical fellow and chief architect of C#, and Paul Vick, technical lead for Visual Basic, to learn more about the LINQ Project.

Ander has been talking about how he wants to bring together the mismatches of XML, SQL, and OO.

Now we are seeing the fruits of trying to merge things together so developers do not need to jump to SQL or XQuery.

LINQ has several components, the first of which is a set of specifications that define how queries are expressed in API form. These specifications are key because they establish the rules for adding language support to any LINQ-enabled language and for adding query support to any LINQ-enabled objects. Then, based on these specifications, Project LINQ includes a set of language extensions to C# and Visual Basic and a set of libraries that provides integrated querying for objects, databases and XML data using native language syntax.

By default, LINQ

Sep 12

Software Update Required: Especially for Browsers

Tech No Comments »

I suddenly realised that I hate having to install updated versions of software by hand. For most of my software I rely on them to:

  • Tell me that a new version is out
  • Ask me if I want to grab that version
  • Seemlessly upgrade and hopefully not enforce a reboot!

There have been some products which tease me, as they tell me “Hey, there is a new version out! Er. Go get it!”.

Not only would it be nice to have the software just grab the damn update, but I often am unsure whether I should uninstall the previous version first (as I wouldn’t want this new version to just go on top of it and leave orphans, or worse), or install on top of the latest version (as I want to make sure all settings and data are saved). On Windows I don’t want to have multiple versions in my Add/Remote Software control panel.

We have Windows Update, and Software Update for OS X. I wish that all programs could take part in these worlds. I want to have a simple way to install, update, go back to a version, etc etc for a given program (a la rpm and friends). However only a few programs play this game, and most manage this all themselves…. for valid reasons (you can’t get anything put in the Windows Update area!).

If the update process was standardized then anyone could play…. use the same infrastructure (just a few lines of code to tie into the OS system).

Having software like web browsers on this system is huge. I *hope* that a lot of people will be automatically on Safari 2.0.1 because it was auto grabbed for them by OS X.

This is our only hope for progressing the web, and not having to be backwards compatible to Mac IE 4 :/

We need our world to keep upgrading itself and staying up with the game, else we are left with a very low, lowest denominator and rely on leap-frogging only to get higher up the stack.

Sep 12

England win Ashes for first time in 18 years!

Sport 7 Comments »

I have been watching the Ashes all summer. It has been a fantastic spectacle, and will push forward cricket for sure.

We had our fair share of luck (winning 4 of the 5 tosses), but the lads fought very hard and deserved to win.

Well played both teams.

Sep 11

Cold Calls: Not credit card companies. Web hosting.

Tech 2 Comments »

I still get marketing calls, even after being on a NO-CALL list. I got the weirdest one this weekend.

‘John’ called, asking me about my web hosting. HE could get me a great deal for $6/month.

We know that it is a digital world when you get cold calls for web hosting as well as credit card companies, healthcare, your local fire fighters, and police.

Sep 10

Sam Ruby’s Case for Dynamic Languages

Ruby 1 Comment »

Sam Ruby gave a keynote at FOSSSL on The Case for Dynamic Languages.

He details the past to the present, and then shows why he thinks this is all good :)

He happens to use Ruby as the scripting language ;)

A lot of the ideas come from Jim Weirich’s 10 Things Every Java Programmer Should Know About Ruby, which is something everyone should read.

He hits the nail on the head with items that make me cringe to be without elsewhere.

It is the combination of all of these items that makes Ruby elegant in my book.

Sep 08

Speaking to your applications via Jabber

Groovy, Java, Tech 2 Comments »

Guillaume Laforge has written about how you can get Groovy with Web services RPC calls over Google Talk.

I have actually seen a bunch of applications that take use of this kind of functionality.

One smart friend has integrated Jabber with Confluence.

Imagine being able to get on IM and start asking questions, and having a bot answer them, based on your wiki.

Add voice recognition to the mix, and you can start talking to your applications :)

Sep 07

Putting configuration in annotations doesn’t mean “no configuration!”

Web Frameworks 1 Comment »

I read Matt’s posting on a new web framework called Stripes that is trying to make Java web dev simpler (aren’t they all these days? :).

What jumped out at me immediately is that the framework claims to have less configuration. Great.

Then you see the Quick Start Guide and see:

@UrlBinding(”/quickstart/Calculator.action”)
public class CalculatorActionBean implements ActionBean {

I don’t know about you, but that smells of configuration to me.

It is just HARD CODED in my Java source file, instead of in an EVIL XML configuration file :)

Rails’ convention over configuration builds the URL for you based on its own defaults, or your rules. Then you don’t have to put in any configuration…. else you get explicit.

Not that annotations are evil too…. just not a True Saviour to put all configuration into. Some of the annotation usage in Stripes is very nice.

Sep 06

Future of AOP 2005: Jonas Boner and Adrian Colyer move on!

AOP, Java, Tech No Comments »

It has been a big couple of weeks for the stars of AOP and AspectJ 5.

Firstly,

Jonas Boner, the founder of AspectWerkz (and now AspectJ 5) has moved on from his post with the JRockit VM team at BEA, to join Terracota… the AO caching folks.

I guess that most people have not missed that I am leaving BEA. Yesterday was actually my last day as an BEA employee.

I have had two great years at BEA. It has been a great experience to work at the Java Runtime Products Group (JRPG), (JRPG is the group that implements the JRockit JVM), not everyone gets the opportunity to work among so many extremely talented and smart people, and that is something that I am very grateful for. I have learned more in these two years that I had in my whole career.

I am also grateful for that JRPG has believed in AOP and my vision, so much and that they have allowed me to work full-time for two years to materialize them.

Then, Adrian Colyer, the AspectJ lead who worked at IBM announed that he is joining Interface 21 as the Chief Scientist. This is great for Interface 21…. I don’t know many people as bright as Adrian. It is also great for Spring users, as we are going to see some impressive things in the Spring framework coming up!

I’m pleased to announce plans for much closer integration between the Spring and AspectJ projects in the near future. Spring and AspectJ already fit well together: Spring can be used to configure aspects, aspects can be used to drive Spring configuration, and we are working on opening up the AspectJ pointcut language so that external tools can create pointcuts at runtime, and then perform matching. This facility will be used by Spring to support AspectJ pointcut expressions in its AOP proxy framework.

As of October, this relationship will move onto a new level as I have resigned from my current post at IBM to take up the post of Chief Scientist at Interface21. I will continue to work on and lead the AspectJ project (no change there), and will also be working on some of the Spring core and AOP support to make the integration with AspectJ as seamless as possible and to take the AOP message to as broad an audience as we can. I’m leaving behind a fantastic IBM team who have worked with me on AspectJ and AJDT these past few years, and they will carry right on working on these projects when I leave. Rest assured that I’m still working flat out on completing AspectJ 5 too.

Congrats to both Adrian and Jonas. I look forward to seeing the great work that comes from you in your new posts, and via AspectJ 5 in general (which they are both still going to be actively working on!)

Sep 02

GMail Notifier for Mac OSX

Apple No Comments »

It is cool to see there is an Apple developer who spent his 20% time on a Mac OS X app: Gmail Helper:

Greg Miller: I am a Mac user. Most of my friends are Mac users. After a little coaxing, most of my family are now Mac users. So I decided to spend 20% of my time here on a small application that may help all of the Mac users in my life: a Gmail Notifier for Mac OS X.

The app is small and nonintrusive, but hopefully still has all the features a Mac user would want. With it you can:

- view messages without opening a browser
- open Gmail in your browser without forcing you to log in again
- make Gmail your default email program
- even more…

Though this is the first, it won’t be the last native Mac application that Google delivers. So please, Mac users, stay tuned!

How about just plugging into Growl?

Sep 02

Worst Photoshopped Picture Ever

Apple 1 Comment »

photoshopped.png

Ben sent this as the most obviously photoshopped picture :)