Recently I started to use this nifty application called GPS Log on my brand spanking new Apple iPhone 4S. 

I know what you are thinking: WTF is Rob using an iPhone for? 

Well, after years and years of failed promises from Microsoft to deliver a stable, functioning mobile phone*  I’ve had enough of the unfulfilled promises and the hacky/buggy/ mobile operating system and the can’t-make-a-phone-call handsets in the Windows Mobile range.  I bought an iPhone.  Deal with it (and keep reading).

*ahem*, O-K, iPhone you say?

Right, so I have a new iPhone 4S and it works pretty well I have to admit.  Okay, it’s pretty damn stable and the range of apps is decent.  It takes nice photos, video and so forth, but to be honest – within a few days of using it – I found myself getting bored.

You said something about GPS?

Then, along came an app I could really admire.  GPS Log.  At first it was a bit of a shock to find an application with a lot of functionality.  Most of the stuff people rave about is pretty simplistic – and a lot of it just makes web service calls to websites.. a bit “ho-hum:” (underwhelming).

imageGPS Log is brilliant, because it allows me to create a GPS-based log of places I’ve been, allows me to tag locations and to associate photos with the places I’ve “spiked”.

You can add repeat visits (if it is a place you’ve visited regularly) and you can share your “spikes” with your friends (or the public).  It’s also exceptionally handy to “spike” locations you’d like to return to one day.

There are many options on ways to share your locations via existing services like Facebook and Twitter, plus you can “synch” your data with the GPSLog server so that you can access the data from other locations on other devices (say, a web browser). 

It also means you can restore your data if you lose your handset or worse!  You can associate multiple photos with a “spike”, which can be helpful if you want to shoot a picture of the front of a shop or restaurant, or take pictures of food you’ve been served (for reference purposes!).

Anyhow, it’s early days, but so far it’s really helped sell the iPhone to me.  I highly recommend it for iPhone or Android mobile phone users.  Once you start getting into the habit of spiking places, you’ll find it invaluable.

* Although Windows Phone 7 does look promising

 

Hi All.

Engineering FlowchartI’m debating a new article.

I’m currently debating whether to spend some time documenting an interesting solution to a fairly esoteric scenario.  I’m not sure if it is worth the investment (in my time), so I’m going to throw it open to the community. 

Give me feedback – if you have an interest in seeing this solution, please leave a comment.  The only reason I mention this is because the solution is really quite interesting, and a good lesson in the rarer binding types (and message & transport security) in Windows Communication Foundation (WCF).

Here’s the premise:

We have a .NET 2.0 client (which can not be upgraded to 3.5 or 4.0) which must consume a web service by providing a Web Service Extension (WSE) 3 policy file – which stipulates a separate set of credentials (username/password/domain) for authentication in a downstream legacy system.

Presently, this client calls a series of legacy ASMX services (also .NET 2.0).  However, there is a desire to upgrade these services to WCF (for more widespread use) and so we can take advantages of .NET 4.0 in the service implementation and beyond.  The challenge is to provide the same functionality (policy file attached to the transport) for later authentication. 

The information would be transmitted by HTTPs or via HTTP under a VPN (so, ultimately, encrypted).  This is obviously a fairly intriguing paradigm, made more interesting by the prospect of actually not using the WSE3 policy information for handshake authentication.

The original design, from my understanding, was to make the passing of credentials transparent to the service calls themselves (hence, not passing username, password and domain per service call explicitly).  I could be wrong about that, but in any case this is the scenario we have today.

Here’s where you fit in:

So, I repeat – who’d be interested in seeing the solution?  Please leave a comment to indicate an interest.  Depending on how much interest there is, I’ll put together both a long article and a sample, demonstrative, solution.

Cheers, R

 

We love it when a good patch comes around – so here is a cumulative patch for the .NET Framework 4.0.

There is a fairly long and extensive list of changes included in the GDR, here is a list of fixes and new features which have been added (from the Microsoft Knowledge Base Article):

Issues that this update rollup package resolves are as follows.

Issue 1

Consider the following scenario:

  • You create a Visual Studio 2010-based add-in application. The add-in application enumerates several projects by using a background thread.
  • You run an instance of Microsoft Visual Studio 2010 and the add-in application.
  • Garbage collection runs.

In this scenario, the instance of Visual Studio 2010 may crash.

Issue 2

Consider the following scenario:

  • You develop a .NET Framework 4-based add-in application for Microsoft Office Excel.
  • You run the add-in application, and then the Application.WorkbookBeforeSave event occurs.

In this scenario, the SaveAsUI parameter in this event is always set to the TRUE value.

Issue 3

If the focus is set to a window of a Visual Studio 2010-based application when the computer enters sleep mode, a memory leak occurs when the computer resumes from sleep mode.

Issue 4

When a .NET Framework 4-based Windows Presentation Foundation (WPF) application tries to load some text from a .ttf file, the text is displayed incorrectly. Additionally, an access violation occurs, and then the application crashes.
Note The stack trace resembles the following:

06bdeafc 71086dd5 dwrite!TrueTypeRasterizer::Implementation::ReleaseSfntFragment()+0x1f
06bdeb5c 7108d327 dwrite!sfac_GetSbitBitmap()+0×428
06bdec10 7108d4d8 dwrite!GetSbitComponent()+0xb5

Issue 5

When you perform a touch manipulation in a .NET Framework 4-based WPF application on a multitouch screen, the application crashes, or the *.vshost.exe process crashes. For example, the application crashes when you try to scroll up or to scroll down.

Issue 6

When you try to select multiple items in the Pending Changes window in Visual Studio 2010, the Visual Studio IDE disappears, and a Dr. Watson error is not generated.

Issue 7

Consider the following scenario:

  • You run Visual Studio 2010 on a 64-bit operating system.
  • You debug an application.
  • You enable the managed debugging assistants (MDA).
  • You try to close the application in the IDE.

In this scenario, the raceOnRCWCleanup MDA incorrectly runs.

Issue 8

When you scroll in a .NET Framework 4-based WPF application while the text in a tab control is being formatted, the application runs slowly.

Issue 9

When you try to host a webpage that has the targetFramework property set as the .NET Framework on a Server Core, you receive the following error message:

Description: An error occurred during the processing of a configuration file required to service this request. Please review the specific error details below and modify your configuration file appropriately.
Parser Error Message: The ‘targetFramework’ attribute in the <compilation> element of the Web.config file is used only to target version 4.0 and later of the .NET Framework (for example, ‘<compilation targetFramework="4.0">’). The ‘targetFramework’ attribute currently references a version that is later than the installed version of the .NET Framework. Specify a valid target version of the .NET Framework, or install the required version of the .NET Framework.
Source Error:
Line 2: <configuration>
Line 3: <system.web>
Line 4: <compilation debug="false" targetFramework=".NETFramework, version=v4.0" />
Line 5: </system.web>Line 6: </configuration>

Issue 10

Symptom

Consider the following scenario:

  • You create a Visual Studio 2010 application that contains a Dataset database.
  • You drop some tables from Dataset Designer.
  • You check the order of the tables in Dataset Designer.

In this scenario, the tables are sorted incorrectly.
Cause
This issue occurs because of an error in the TableAdapterManager class in Visual Studio 2010.

Issue 11

When a client requests the RESTful web service in an .asmx or a .svc file by using the ASP.NET pipeline and by using the extension-less URL handling, the state of the request might incorrectly change.

Issue 12

In the .NET Framework 4, the Application_Start and PreAppStart methods do not have access to the HttpUtility.HtmlEncode method and to the related APIs.

Issue 13

When you try to run a Microsoft Visual C# or Microsoft Visual Basic application, the application does not run if an Entity Data Model (EDM) references a database project. Additionally, the debugging features of the application do not work.

Issue 14

When you use SQL providers, the following issues occur:

  • An exception is thrown on the garbage collection thread.
  • A Dr. Watson error occurs, and you receive an error message that resembles the following:

    Application: webdev.webserver20.exe

    Blamed Symbol:

    SYSTEM.DATA.NI.DLL!System.Data.ProviderBase.DbConnectionInternal.PrePush

    Exception code: system.invalidoperationexception

    Event Sub type: Clr20r3

  • The w3wp.exe process crashes.
    Note The w3wp.exe process is a web-hosting process.
Issue 15

Symptom
The SqlDataSource class does not support a parameter that is used to access data in a Microsoft SQL Server Compact Edition database.
Cause
This issue occurs because Microsoft SQL Server Compact Edition cannot support a parameter in the SqlDataSource class.

Issue 16

Symptom
When you try to run an ASP.NET webpage, you receive the following error message:

HttpContext.User is supposed to be a MyWindowsPrincipal.

Cause

The issue occurs because the Extensionless URL handler passes the parent IHttpUser interface to the child requests. Therefore, the child requests skip the authentication process.

Issue 17

Consider the following scenario:

  • You have a Visual Studio 2010-based project that has an Entity Data Model (EDM). The EDM references a database that is of medium or large size. For example, the database contains 500 tables.
  • You try to reverse-engineer the tables.

In this scenario, reverse-engineering the tables requires a long time. For example, reverse-engineering 500 tables requires 14 minutes.

Issue 18

Consider the following scenario:

  • You install Visual Studio 2010 Service Pack 1 (SP1) Beta on a computer that is running Internet Information Services (IIS) 6.0.
  • You set the isolation mode to IIS 5.0.
  • You host a webpage in IIS 6.0.

In this scenario, you receive the following error message when you try to access the webpage:

503 – Service unavailable.

Issue 19

After you install a hotfix package that applies the .NET Framework 4, all services that are hosted on Windows Process Activation Services (also known as WAS) may be turned off. Additionally, the services cannot be restarted until you restart the computer. An example of a service is a WAS-hosted Windows Communication Foundation (WCF) service.
The following are the affected activation services:

    Non-HTTP Activation
    • Message Queuing Activation
    • Named Pipes Activation
    • TCP Activation
  • TCP Port Sharing
Issue 20

Consider the following scenario:

  • You have an ASP.NET website that contains a WCF service. The website targets an earlier version of the .NET Framework 4.
  • You do not click to select the Allow this precompiled site to be updatable check box in the Publish Web Site wizard in Visual Studio 2010.
  • You publish the website.
  • A client tries to access the WCF service.

In this scenario, the WCF service does not respond to the client request. Additionally, the .svc.compile file incorrectly references the .NET Framework 4.
Note The .svc.compile file is generated by the publishing process.

Issue 21

Consider the following scenario:

  • You bind the Windows.AutoHide command to a keyboard shortcut.
  • You focus on a toggled tool window in Visual Studio 2010. For example, the focus is located on the Solution Explorer window.
  • You press the keyboard shortcut.

In this scenario, the window hides. However, when you press the key again, the window does not return as toggled.

Issue 22

When you use Visual Studio 2010 to debug an application, many verbose messages that resemble the following are shown in the Output window:

*** HR originated: -2147024774
*** Source File: d:\iso_whid\x86fre\base\isolation\com\copyout.cpp, line 1302
*** HR propagated: -2147024774
*** Source File: d:\iso_whid\x86fre\base\isolation\com\enumidentityattribute.cpp, line 144

Issue 23

Assume that you build a web application on a computer and then publish the application on a different computer. When you use Visual Studio 2010 to attach the application, managed methods cannot be shown because of missing symbols for assemblies.
This problem occurs because the .pdb file that contains the information about symbols is not copied from the bin folder to the shadow copy folder.

Issue 24

You use the My namespace in a Visual Basic project. When you add an explicit reference to the Microsoft.VisualBasic.dll component to the project, the My namespace cannot work correctly. For example, you may receive the following error message:

‘Application’ is not a member of ‘My’.

Issue 25

When you install an ASP.NET 4.0 hotfix, the aspnet_regiis –iru command is triggered. Then, some ASP.NET registry keys are removed.

Issue 26

When you request an .xap file through the Cassini in Visual Studio 2010, the MIME type of the returned response is "application/octet-stream" instead of the expected "application/x-silverlight-app."

Issue 27

In the Visual Studio 2010 IDE, you attach the debugger to a sqlservr.exe process. You set a breakpoint at a managed SQL function or at a managed stored procedure. The symbol file is loaded correctly, and a solid red dot appears. However, Visual Studio does not break at the breakpoint.

Issue 28

You run a Visual Basic application that contains a Visual Basic Core assembly on an operating system that does not have the Visual Basic runtime. If the application contains a SyncLock statement on a variable of type Object, you may receive an error message that resembles the following:

error BC35000: Requested operation is not available because the runtime library function ‘Microsoft.VisualBasic.CompilerServices.ObjectFlowControl.CheckForSyncLockOnValueType’ is not defined.

Issue 29

If you run a Visual Basic application that contains a Visual Basic core, the code that uses constants in the Microsoft.VisualBasic.Constants class cannot run correctly. For example, you may receive the following error message when the code is executed:

error BC30059: Constant expression is required.

This problem occurs because the constants are embedded as normal fields instead of as constant fields.

Issue 30

You deploy a .NET Framework 4-based ASP.NET website in a legacy Code Access Security (CAS) mode. You configure the website with a partial trust. When you try to request this website, you may receive the following error message:

[SecurityException: Request for the permission of type 'System.Security.Permissions.SecurityPermission, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=<Token ID>’ failed.]

Issue 31

You install the security update that is described in KB974417 when directories in the GAC folder, including the System.EnterpriseServices.dll assembly, are locked or the assembly is being used. In this scenario, the security update installation fails, and the computer becomes corrupted.
For more information about the issue, click the following article number to view the article in the Microsoft Knowledge Base:
2260913  FIX: Updating the .NET Framework may fail and some files in the GAC may be deleted

Issue 32

Some unrestricted asserts from ASP.NET types may bring a risk that a partial-trust user can be elevated as a full-trust user.

Issue 33

The simplified web application paradigm that is called Plan 9 MVC is released more frequently than ASP.NET. However, beginning with version 2, versions are not set as full trust. Therefore, many features that require full trust cannot work correctly.
This update sets the versions of Plan 9 later than version 2 to fully trust.

Issue 34

A constant in a device-level enumeration type in source code differs from that in the specification.
The update keeps the constant in a consistent way.

Issue 35

When you install the security update that is described in the following Knowledge Base article, a Windows Communication Foundation (WCF) service is forcibly closed by the remote host. This problem occurs when the trust level is set to High or to Medium in the Web.config file of the WCF service.

2449742  MS11-NNN: Description of the security update for the Microsoft .NET Framework 2.0 Service Pack 2 and Microsoft .NET Framework 3.5 Service Pack 1 on Windows Vista SP2 and Windows Server 2008 SP2: February 8, 2011

Features that this update rollup package introduces

This update rollup package introduces the following features that are related to the .NET Framework 4.

Feature 1

This update rollup enables ASP.NET to support multiple IIS configuration systems in a design mode. Therefore, Visual Studio Web Designer supports IIS Express. Additionally, Visual Studio Web Designer lets different Visual Studio Solution projects target different versions of IIS.

Feature 2

When a shadow cache assembly that is turned into a symbolic link to the same file is validated, the size of the assembly is not checked. Therefore, ASP.NET uses Optimization for Shared Web Hosting.

Feature 3

New syntax lets you define a TextBox control that is HTML5 compatible. For example, the following code defines a TextBox control that is HTML5 compatible:

<asp:TextBox runat="server" type="some-HTML5-type" />

Feature 4

A new switch is added for the Visual Basic compiler that allows for server control output of HTML5-friendly elements. For example:

<asp:TextBox runat="server" type="some-HTML5-type" />

In earlier versions of the .NET Framework, all Visual Basic applications automatically had a runtime dependency added. The dependency was with the Visual Basic Runtime library file, Microsoft.VisualBasic.dll. With this update, a command-line option can be set to remove this dependency. Some functionality of the Visual Basic Runtime is embedded in the application, and other functionality is no longer available with the switch set.

Feature 5

Changes to the support portable libraries. These changes include API updates and binder modifications. This update enables the CLR to bind successfully to portable libraries so that a single DLL can run on the .NET Framework 4, on Silverlight, on Xbox, or on the Windows Phone. This update adds public Silverlight APIs to the .NET Framework 4 in the same location. The API signatures will remain consistent across the platform. All modifications are 100 percent compatible and will not break any existing code.

Feature 6

The update extends the support of the portability files to compile Silverlight 5 XAML files.

Support Links

http://support.microsoft.com/kb/2468871

http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=3556

 

Businesses prepare for .branding campaign.

International domain name regulator ICANN will next year introduce generic top-level domains (gTLD) beyond the familiar .com, .org and .net.

The decision followed a majority vote at ICANN’s board meeting in Singapore this afternoon, despite concerns raised by its Governmental Advisory Committee.

The board planned to accept ‘Round 1’ applications for new gTLDs from next January to April. There are currently 22 gTLDs, in addition to country-code, infrastructure and internationalised domains.

ICANN requires an application fee of US$185,000 ($174,000) for each new gTLD. After Round 1 of the new program, there could be “hundreds” of gTLDs, the regulator predicted (pdf).

According to Paul Szyndler, spokesman for Australian domain name regulator auDA, the decision facilitated greater choice for cashed-up brands, and opened doors to new online business models.

“Big brands with the resources may choose to promote their business in a different way. Also, it allows new business models to grow,” he said, highlighting opportunities in .food, or .sydney gTLDs.

Those new businesses would compete with auDA’s registry, AusRegistry, but Szyndler expected the demand for auDA’s .au domain to remain.

Additionally, there were mechanisms in place to block the registration of country-specific domains like .Australia, unless the applicant had Government approval, Szyndler noted.

“In this first round you won’t see a name like .Australia turn up. But that’s not to say that it won’t turn up in Round 2,” he told iTnews.

Beyond ICANN’s hefty registration fee, would-be gTLD operators also faced the costs of running a registry – which could involve “millions of dollars in infrastructure costs” year-on-year, Szyndler said.

Narelle Clark, vice-president of the Internet Society of Australia (ISOC-AU), said the fee could be prohibitively high for communities that could benefit from a gTLD, like those in the Pacific Islands.

While ISOC-AU welcomed the certainty that came with ICANN’s announcement, it was concerned that users may be confused by the emergence of new gTLDs and character formats.

Clark highlighted the potential for spoofing with characters like the Cyrillic ‘O’ strongly resembling its Latin counterpart.

“We think it’s really important that ICANN get behind any publicity campaigns behind [new gTLDs],” she told iTnews.

AusRegistry CEO Adrian Kinderis encouraged organisations and entrepreneurs to act now on the lengthy process, seek advice, and consider boutique name spaces as well as non-Latin scripts.

The registry today described itself as the “only company in Australia with the technology and expertise to deliver new top-level domains”.

“Digital brand management” provider Melbourne IT also set its sights on the new market via its 3,500 customers in financial, automotive, and other industries.

Speaking to iTnews from Singapore today, Melbourne IT CEO Theo Hnarakis described ICANN’s announcement as a “monumental decision for the industry”.

“Trust is a big issue on the internet today,” he said, highlighting issues of cybersquatting and malware-infested sites that capitalised on misspelled .com domains.

“Over the next decade, we are going to see a paradigm shift,” he said. “[But] I think there will be a place for .com as well; that will still be the default as it’s been around for 25 years.”

Hnarakis said new gTLD operators would require stable data centre infrastructure that had complete redundancy.

The cost of operating gTLDs would depend on traffic expectations and the number of second-level domain names that would exist, he said, forecasting costs to be between $50,000 and $250,000 per year.

ICANN board member Rita Rodin Johnston proposed the new gTLD scheme be ratified today, describing it as a reflection of the internet’s “constant state of creative chaos”.

“The board today will hopefully be executing on a plan the community first approved in 2005,” she said. “We’re ratifying community compromises and ideas, but we are not necessarily making everyone happy.”

“What’s interesting to me is we really have no idea of what will happen,” she said.

Only one ICANN board member, George Sadowsky, opposed the introduction of the new scheme today. Two abstained from voting, and 13 board members approved the scheme.

Canon, Hitachi and New York City have separately flagged intentions to register new gTLDs.

By Liz Tay on Jun 20, 2011 4:31 PM from
http://www.itnews.com.au/News/261092,icann-approves-new-gtld-program.aspx

 

image

Welcome to World IPv6 day, which is being held today, June 8th, 2011.

Just what is World IPv6 day?  Today industry leaders will switch parts of their infrastructure over from IPv4 to IPv6 in a move designed to increase awareness of the impending migration to the new protocol.

Why now?  The existing IPv4 address pool is expected to be totally depleted either by the end of the year, or by the start of 2012 which will lead to a scenario where no new addresses or address blocks can be allocated.

The transition to IPv6 would enable the allocation of a far wider range of addresses, and the replacement of network address translation (thus, a greater array of functionality is available to a wider range of clients).

To find out more about the day, check out the overview and FAQ, which you can download from here:

World IPv6 Overview

World IPv6 FAQ

Additionally, you can visit the website: http://www.worldipv6day.org/participants-dashboard/index.html

For More Information

On the Web, visit:
http://www.WorldIPv6Day.org

On social media, look for:
#WorldIPv6Day or #IPv6Day

 

Following on from the controversy in April this year of software maker Red Gate’s baffling decision to rescind the gratis (free) nature of Lutz Roeder’s tremendously popular .Net CLR Decompiler, .Net Reflector (which Red Gate acquired in 2008), a number of projects have sprung up to fill the gap in the market.

Putting aside the implications of Red Gate’s decision and subsequent actions (which is a separate discussion concerning ethics), let us move on to discuss the alternatives to this incredibly useful – and hard to replace – tool.

The initial offerings included ILSpy, a very workable replacement with a somewhat simplistic user interface, which you can see below.  The feature list is impressive for an early release from an open source project and includes:

ILSpy Features

  • Assembly browsing
  • IL Disassembly
  • Decompilation to C#
    • Supports lambdas and ‘yield return’
    • Shows XML documentation
  • Saving of resources
  • Search for types/methods/properties (substring)
  • Hyperlink-based type/method/property navigation
  • Base/Derived types navigation
  • Navigation history
  • BAML to XAML decompiler
  • Save Assembly as C# Project
  • Find usage of field/method
  • Extensibile via plugins (MEF)

image
ILSpy User Interface

Recently, JetBrains – the company behind the hugely successful ReSharper range – have released their offering in this space in the form of JetBrains dotPeek.  To borrow from their own description:

What’s Cool about dotPeek?
  1. Decompiling .NET 1.0-4.0 assemblies to C#
  2. Quick jump to a specific type, assembly, symbol, or type member
  3. Effortless navigation to symbol declarations, implementations, derived and base symbols, and more
  4. Accurate search for symbol usages
    with advanced presentation of search results
  5. Overview of inheritance chains
  6. Support for downloading code from source servers
  7. Syntax highlighting
  8. Complete keyboard support
  9. dotPeek is free!

Where ILSpy leaves off, dotPeek picks up – with reference dependency searching, a more articulated UI environment and the fact that it is provided for free.. what more could you ask for?  It will be interesting to witness the development of these two excellent tools.

image
dotPeek’s feature laden User Interface

So with more and more tools entering the marketplace, competing for the space left vacant by Lutz Roeder’s brilliant utility, the winners are clearly going to be the development community.  Stay tuned, I’ll review more as releases come to hand.

 

The IEEE Society and Internet Society of Australia (ISOC-AU) are presenting two free public seminars on recent developments in the Internet sphere including the “Kill Switch” used in Egypt and Libya, Wikileaks and beyond.

This should prove a very timely event, given the recent developments concerning the Internet, and I’m hopeful that it will also give participants an opportunity to chime in about Australia’s proposed Internet filter and data retention laws.

The event will be hosted by Narelle Clark who has a long and rich history working within the Internet Society, and who can be considered on the forefront of policy discussion and education.  Narelle and I have collaborated previously on a number of IPv6 Summits in Australia for ISOC-AU.

For more on what will be covered at each event, here is an excerpt from the flyer:

“Over recent times we have  seen large scale disconnection from the Internet, country-wide domain name and application blocking, domain
name seizures, content filtering and talk of an Internet kill switch. How do we separate the reality and effectiveness of what is possible from
media reports and political dreams? In this talk Narelle will review the technical accounts and analysis of recent events and pose some
questions on the potential for Australia and the region.“

There are two days, held in Sydney and Melbourne, next month on the 15th and 21st.  Details below. 

Please download a copy of the flyer (PDF) for more information.

Melbourne
Tuesday 15th  March 2010
5.30 for 6.00pm
The Spot – Level 1 Lecture Theatre
Economics & Commerce Building (stairs or lift to Level 1)
198 Berkeley St (cnr Pelham St), South Carlton
RSVP: Michael Arnold,
mvarnold@unimelb.edu.au

Sydney
Monday 21st  March 2011
5:30 for 6:00pm
Google Australia
Level 5, 48 Pirrama Rd,
Pyrmont
RSVP: Lyria Bennett Moses, lyria@unsw.edu.au

Event Flyer (PDF)

 

Hi All,

If you’ve ever been curious about Domain Names, it might be worth a look at the Domain Name Tracking website. 

It’s got some handy domain tools like WHOIS lookup, a URI parser, and a way to look up second and third level extensions by country. and a handy tutorial.

I’ve been doing some work with domain names this year and having a decent online toolkit can help you to track down good domain names to register like http://www.australianwineguy.com and http://www.aussietravelguy.com.

/R

 

I always love it when a functional language goes rogue!  Widely speculated for a while now, Microsoft’s F# language has been fully released as open source following a post by Don Syme recently.  It would seem that the F# compiler source code has been released under the Apache 2.0 licensing.  From the article:

“The source code of the compiler was already available with previous F# releases but under Microsoft Research Shared Source License Agreement, allowing users to create derivative works but only for non-commercial purposes. The important change is that the source code is now under Apache 2.0, allowing commercial use of the software. But since it is a code drop, the users won’t have access to the main trunk, so they cannot enhance it, fix it, determine its future. Microsoft will continue to exercise full control over their releases.”

So in a sense, you are free to compile and make modifications, but are unable to modify the primary source of truth as it were.  Making it an open source release, but not an open source project as such.  You can still submit defects and requests through Microsoft Connect though.

Further Reading

http://news.slashdot.org/story/10/11/05/1244236/Microsoft-Open-Sources-F

http://blogs.msdn.com/b/dsyme/archive/2010/08/17/announcing-the-f-2-0-free-tools-for-net-4-0.aspx

The F# Language: http://research.microsoft.com/en-us/um/cambridge/projects/fsharp/manual/spec.pdf

 

Just a quick word to point out that the most recent version of the ADO.NET Entity Framework Feature Community Technology Preview 4 was released recently (on the 13th of July) and is worth a look if you are using the Entity Framework in any meaningful fashion.

Check back soon, we’ll have some notes on the good, the bad and the mischievous features of this CTP.

http://www.microsoft.com/downloads/details.aspx?familyid=4E094902-AEFF-4EE2-A12D-5881D4B0DD3E&displaylang=en

You can also check out news from the team blog

http://blogs.msdn.com/b/adonet/archive/2010/07/14/ctp4announcement.aspx

Some notes lifted from the official announcement:

Productivity Improvements

We recently posted here about a set of productivity improvements we have been working on to simplify the process of writing data access code with the Entity Framework. CTP4 includes the core API surface and functionality that is described in the post. We’d love to hear your feedback on this simplified experience, be sure to check out the walkthrough.

Code First

Updates and enhancements to Code First include:

  • Moved to the System.Data.Entity.ModelConfiguration namespace

  • Refactored ContextBuilder into ModelBuilder and DbModel
    ModelBuilder is a high level component that lets you tweak a model, ModelBuilder then produces an immutable DbModel that can be used to construct a context. In the future DbModel will become a fundamental component of the EF stack as we look at other ways to build models beyond ModelBuilder.

  • More Model Discovery Conventions
    We posted details about the complete set of conventions we plan to support
    here
    In CTP4 we have implemented the following conventions:

    • Primary Key

    • Relationship Inverse

    • Foreign Key

    • Pluralization of Table Names

  • Support for Data Annotations
    We posted details about all the Data Annotations we plan to support
    here
    The annotations supported in CTP4 are:

    • Key

    • StringLength

    • ConcurrencyCheck

    • Required

    • Timestamp

    • DataMember

    • RelatedTo

    • MaxLength

    • StoreGenerated

  • Parameterless overload of MapSingleType()
    This allows you to configure table names without having to explicitly map every property

  • Improved Relationship Configuration API
    We’ve made some changes to the Fluent API methods used to configure relationships to make the API more explicit and intuitive. These changes are covered in the
    Code First Walkthrough .

Road Map

We are still working through the best ship vehicle to deliver a go-live release for these features. Your feedback has had a big impact on the Code First feature so far and we want to be careful not to lock down the API too quickly. That said we are getting consistent asks for a go-live for Code First and we are working to get to an RTM in the earliest feasible ship vehicle.

Aussie Wine Guy


© 2012 Rob Sanders: Sanders Technology Suffusion theme by Sayontan Sinha
WordPress SEO fine-tune by Meta SEO Pack from Poradnik Webmastera