Developing for the Apple iPad in .NET
If you are in the technology field, or within the listening range of modern media, you've heard of the Apple iPad. The fact that it runs an updated version of the Apple iPhone OS is a big plus if you are looking to do development on the platform. I've already received a bunch of emails about this, so I wanted to share what you can do to do develop on the platform right now. First, make sure you mac is running Mac OS 10.6.2. Next, go get the Apple iPhone SDK 3.2 from the apple developer site. This is beta, so expect updates to it. Now, go get MonoDevelop Version 2.2.1 for the Mac. Finally, go get a copy of MonoTouch 1.4.7 (or most recent version). Once everything is installed, go into MonoDevelop and go to Help -> Updates and check for updates on the experimental channel. You should find MonoTouch 1.9 alpha. Download and install it. Now, you should have everything you need. From here, you can create an iPhone application with .NET. Read more: Wallace B. McClure
Self-localizing Error Messages
Posted by
jasper22
at
16:57
|
Yesterday I ran into a problem trying to figure out where to localize error messages.We are using a MVP (Model View Presenter) pattern for our web based application. I was working on refactoring some code to move the business logic which handled the parsing of a file out of the view layer and down into the model. When my file parsing class encounters errors, it needs to be able to send those errors back up to the view to be displayed to the user.Since there could be multiple errors and we don’t necessarily want to stop parsing the file if we hit an error, we need a way to batch up those errors to be sent up to the presenter to give to the view. Read more: Making the Complex Simple
Skype Releases Open SDK
Posted by
jasper22
at
14:50
|
SkypeKit gives Linux developers access to core functionality, allowing Linux developers to add video, calling, and instant messaging features to desktop applications. The SDK also comes with the freshly royalty-free SILK codec for high-end audio. Skype is hoping that the inclusion of SILK will popularize the codec, extending its reach. Currently, the SkypeKit beta is only available for Linux on an invite-only basis, with Windows and Mac versions planned in coming weeks. The SDK does not cover Android or Mac, an odd choice considering the announcement of SkypeKit championed itself for extending the functionality of Skype to multiple platforms and devices. Including smartphones in the SDK seems like an obvious move. Read more: Slashdot
Read more: SkypeKit
Read more: SkypeKit
BZZZZZZ: YouTube Gets A Vuvuzela Button (Seriously)
Posted by
jasper22
at
14:41
|

Meet The First Guy In Line To Buy An iPhone 4. His Name? Gray Powell.
Posted by
jasper22
at
14:31
|
Sometimes coincidences are almost too good. Is this one?By now, you’ve heard the story about the unfortunate Apple engineer who lost his iPhone 4 prototype at a bar one evening. Gizmodo, the site which ended up purchasing the prototype, also outed the person who lost it: Gray Powell. This evening, local Bay Area affiliate ABC7 led off their coverage of tomorrow morning’s iPhone 4 launch with the Gizmodo story. They then went to one of the local Apple Stores to interview the first person in line. What they failed to realize though just how coincidental this man’s name was. Yes, Gray Powell. Let me repeat this to be very clear: the man first in line to buy an iPhone 4 in San Francisco is apparently named Gray Powell.Now, I didn’t see the segment, so it’s entirely possible that a mixup in the graphics led to what seems to be an extraordinary coincidence. But the person who tipped this to us did see the segment and thought the name sounded a bit familiar when ABC said it. So that leaves the possibility that this man in line gave a fake name, perhaps to pay homage to the Apple engineer. But would someone clearly looking for publicity by being the first in line at an Apple Store for such an event really give a fake name? That would be a true fanboy. Read more: TechCrunch
Tagging Releases in Source Control
Posted by
jasper22
at
14:11
|

A best practice when you’re using source control is to tag your releases. What does this mean, exactly? If you’re following the relatively standard non-distributed source control repository folder structure of having root folders for: branches
tags
trunkthen it means simply making a copy of the current state of the system when you did your release. Here’s how to do it using Subversion (SVN) and the TortoiseSVN client, both popular free tools for source control management. Step 1: Test and Deploy Your ApplicationDo whatever it is you do to deploy your application. Maybe you create an EXE package. Maybe you FTP a web site to production. Whatever it is, get your source code into the final state it needs to be in, and then do your deployment. If the deployment doesn’t work, don’t go past this step.Step 2: Tag Your Current TrunkAssuming that you re deploying from the trunk of your source control repository, and that it’s your working copy (both relatively standard assumptions but certainly not 100% true for all shops) then the following steps should work for you. First, go to the root of your working copy and select Branch/tag from the TortoiseSVN menu in Windows Explorer. Read more: Steve Smith
Subversion 1.6.11
Posted by
jasper22
at
14:10
|
WANdisco's certified Subversion open source software is a complete, fully tested version of Subversion based on the most recent, stable release, including the latest fixes. The software is backed by our dedicated team of Subversion development, QA and support professionals focused exclusively on delivering the highest quality version of the software. Our developers have been involved in the Subversion open source project since its inception and have the status within the community to make changes to Subversion's code base. This ensures fast delivery of fixes and enhancements. The team is led by Hyrum Wright, WANdisco’s Director of Open Source. Hyrum is president of the Subversion Corporation and has been the release manager for Subversion since early 2008. Read more: WAN Disco
OSQA - Stackoverflow like QA system in Python
Posted by
jasper22
at
14:09
|
OSQA is the open source Q&A system. It is more than just an FAQ page, it is a full-featured Q&A community. Users earn points and badges for useful participation, and everyone in the community wins. OSQA is built and maintained by a team of developers who share an interest in making a great, free, open source Q&A system available to everyone. The OSQA project is hosted and financially supported by DZone, Inc. Read more: Best Open Source
Read more: OSQA
Read more: OSQA
In-Proc SxS and Migration Quick Start
Posted by
jasper22
at
14:07
|
This post is meant to help you understand what runtime in-process side-by-side is, how to think about it, how to use it, and how it affects application and component migration to the .NET 4 Runtime. This post is relevant to you if you use native runtime activation APIs, depend on specific runtime activation behaviors, or use mixed mode assemblies built with Visual Studio Managed Extensions for C++ v8 or v9, or if you’re just interested in how we handle pre-.NET 4 and .NET 4 code coexisting on a machine. The problemPrior to the .NET 4 Runtime, any given process was limited to loading only one runtime version, and was bound to that runtime for remainder of that process lifetime. In environments where independently authored components built and tested against different .NET Runtime versions can be loaded into a single process, this sometimes caused compatibility problems for the components that did not target the runtime that was loaded into the process. Our SolutionA new feature in the .NET 4 Runtime, “in-process runtime side-by-side” (or “in-proc SxS” for short) describes the ability to load more than one .NET Runtime version into the same process and have them run “side by side”. This ability to load multiple runtimes into the same process gives us with the ability to provide the highest level of compatibility possible for environments in which multiple independent managed components are loaded by, and communicate with, a native layer. COM is the biggest example of a native layer through which managed code must communicate, and this means that in an environment in which multiple independently-authored managed COM components are activated, each may be loaded into the runtime for which it was built and tested, which maximizes compatibility. The upcoming release of Visual Studio Tools for Office (VSTO) will take advantage of this by enabling all managed office addins to be loaded within their targeted runtime. Our Solution Is Not…In-proc SxS does not affect managed assembly loading, such as Assembly.Load or loads due to assembly references – these scenarios continue to load the target assembly in the runtime where the load request was made. To take advantage of in-proc SxS, a managed component must be activated by a native host and interact with its environment through a native interop layer such as COM interop and P/Invoke.
This may be easier to understand if you consider that that two runtimes loaded into a process operate completely independently; i.e., runtime X has no more knowledge about runtime Y than it does about any other native DLL loaded into a process. Each runtime has its own GC; each runtime creates, owns, and manages its own Application Domains (never the other way around), including Shared and Default domains for each; and each runtime interacts with unmanaged DLLs through interop layers. How to Think About In-Proc SxSThinking about multiple runtimes in the same process without additional context isn’t all that helpful; in fact, it just leads to more questions: “How and when does this happen?”; and most importantly, “Does this affect me?” Read more: CLR Team Blog
This may be easier to understand if you consider that that two runtimes loaded into a process operate completely independently; i.e., runtime X has no more knowledge about runtime Y than it does about any other native DLL loaded into a process. Each runtime has its own GC; each runtime creates, owns, and manages its own Application Domains (never the other way around), including Shared and Default domains for each; and each runtime interacts with unmanaged DLLs through interop layers. How to Think About In-Proc SxSThinking about multiple runtimes in the same process without additional context isn’t all that helpful; in fact, it just leads to more questions: “How and when does this happen?”; and most importantly, “Does this affect me?” Read more: CLR Team Blog
Using Mono.CSharp to evaluate code at runtime
Posted by
jasper22
at
13:56
|
When I read the first time about Mono.CSharp I thought that it was pretty cool and that for sure I will have a use for it soon.In the past months I have been playing around with a few ideas to make gbrainy extensible using external definition files (something that I did for verbal analogies time ago). I considered using a DSL but I discarded it, at least for the medium term, since I still do not have clear the full set of actions that I would like to expose to users. I decided finally to use XML plus Mono.CSharp to allow people to describe new games with no limitations. Mono.CSharp allows to evaluate code at runtime and then access the variables to get your results, and also, allowing to select the assemblies to expose. In the case of gbrainy I use it in the game defintion. As example: <game>
<_name>Tennis game</_name>
<type>Logic</type>
<difficulty>All</difficulty>
<svg file = "tennis.svg" x = "0.25" y = "0.25" width = "0.5" height = "0.5"/>
<variant>
<variables>
int games = 5 + random.Next (5);
int rslt = (int) Math.Pow (2, games);
</variables>
<_question>There are [games] tennis games played simultaneous.
How many different forecast are possible?</_question>
<answer>[rslt]</answer>
<_rationale>Every game is an independent event with 2 possible results.
The total number of possibilities is 2 at the power of [games].
</_rationale>
</variant>
</game> Notice how you can insert your own code between the variables tags and then reuse the results (referencing it between brackets) in different sections giving a great flexibility in terms of defining new games without full coding. This really brings a very powerful way of extending your applications to your users, gbrainy is just one of the many use cases for this.Read more: Jordi's English Bloc
<_name>Tennis game</_name>
<type>Logic</type>
<difficulty>All</difficulty>
<svg file = "tennis.svg" x = "0.25" y = "0.25" width = "0.5" height = "0.5"/>
<variant>
<variables>
int games = 5 + random.Next (5);
int rslt = (int) Math.Pow (2, games);
</variables>
<_question>There are [games] tennis games played simultaneous.
How many different forecast are possible?</_question>
<answer>[rslt]</answer>
<_rationale>Every game is an independent event with 2 possible results.
The total number of possibilities is 2 at the power of [games].
</_rationale>
</variant>
</game> Notice how you can insert your own code between the variables tags and then reuse the results (referencing it between brackets) in different sections giving a great flexibility in terms of defining new games without full coding. This really brings a very powerful way of extending your applications to your users, gbrainy is just one of the many use cases for this.Read more: Jordi's English Bloc
Checking Client Download Success with ASP.NET MVC
Posted by
jasper22
at
13:23
|
Scenario: You want to know if a client completes a large download successfully.Possible Solution: Create a custom ActionResult (perhaps derived from FileStreamResult) that streams the data and checks to see if the client remains connected. public class CheckedFileStreamResult : FileStreamResult
{
public CheckedFileStreamResult(FileStream stream, string contentType)
:base(stream, contentType)
{
DownloadCompleted = false;
} public bool DownloadCompleted { get; set; } protected override void WriteFile(HttpResponseBase response)
{
var outputStream = response.OutputStream;
using (FileStream)
{
var buffer = new byte[_bufferSize];
var count = FileStream.Read(buffer, 0, _bufferSize);
while(count != 0 && response.IsClientConnected)
{
outputStream.Write(buffer, 0, count);
count = FileStream.Read(buffer, 0, _bufferSize);
}
DownloadCompleted = response.IsClientConnected;
}
}
private const int _bufferSize = 0x1000;
}Read more: OdeToCode.com
{
public CheckedFileStreamResult(FileStream stream, string contentType)
:base(stream, contentType)
{
DownloadCompleted = false;
} public bool DownloadCompleted { get; set; } protected override void WriteFile(HttpResponseBase response)
{
var outputStream = response.OutputStream;
using (FileStream)
{
var buffer = new byte[_bufferSize];
var count = FileStream.Read(buffer, 0, _bufferSize);
while(count != 0 && response.IsClientConnected)
{
outputStream.Write(buffer, 0, count);
count = FileStream.Read(buffer, 0, _bufferSize);
}
DownloadCompleted = response.IsClientConnected;
}
}
private const int _bufferSize = 0x1000;
}Read more: OdeToCode.com
IE9 Platform Preview 3
Posted by
jasper22
at
13:22
|
Back in March at Mix10, Dean Hachamovitch, the General Manager of the Internet Explorer team, introduced the IE9 Platform Preview, an early look at the features coming to Internet Explorer 9 (including a new JavaScript engine, HTML 5 support, GPU acceleration, and more). It’s not a beta per-se; the browser doesn’t provide a complete experience – there’s no address bar or back button, for instance – but it does put the proposed feature set in your hand earlier than ever before in the history of IE. Today, in keeping with the pledge to update the preview every eight weeks, the IE team has released Platform Preview 3, which includesMore HTML5 tag support: <canvas>, <audio>, and <video>
Web Open Font Format (WOFF) support
Additional performance improvements to “Chakra”, the IE9 multi-core aware JavaScript engine: Platform Preview 3 improves IE9’s benchmark score by 25% and now outperforms both Chrome 4 and Firefox 3.6 on the SunSpider test
Support for ECMAScript 5, with a side-effect of a 35% improvement in the ACID3 test (from 68 to 83).
With Platform Preview 3, Microsoft has updated its contributions to standards testing (including 1500 HTML 5 test cases submitted to the W3C) and is also releasing 15 new demos on the Test Drive site. Here’s one that leverages the <canvas> element: the FishIE tank - get it, Fishy…. Fish-I-E :) – along with a frame-per-second meter showing the performance gains of IE9’s background JavaScript compilation in contrast with some of the ‘other guys’ [Yes, this IE9 Platform Preview 3, not IE7 as reported by the page] Read more: Jim O'Neil - Developer Evangelist
Web Open Font Format (WOFF) support
Additional performance improvements to “Chakra”, the IE9 multi-core aware JavaScript engine: Platform Preview 3 improves IE9’s benchmark score by 25% and now outperforms both Chrome 4 and Firefox 3.6 on the SunSpider test
Support for ECMAScript 5, with a side-effect of a 35% improvement in the ACID3 test (from 68 to 83).
With Platform Preview 3, Microsoft has updated its contributions to standards testing (including 1500 HTML 5 test cases submitted to the W3C) and is also releasing 15 new demos on the Test Drive site. Here’s one that leverages the <canvas> element: the FishIE tank - get it, Fishy…. Fish-I-E :) – along with a frame-per-second meter showing the performance gains of IE9’s background JavaScript compilation in contrast with some of the ‘other guys’ [Yes, this IE9 Platform Preview 3, not IE7 as reported by the page] Read more: Jim O'Neil - Developer Evangelist
Is the CodePlex Foundation Truly Independent Now?
Microsoft created its CodePlex, 'an online collaborative software development portal,' four years ago, as the latest in a string of attempts to play nicely with open source. Well, maybe not: Microsoft saw the open source software projects it hosted there as reflecting 'the open community-building spirit of Microsoft's Shared Source Initiative.' In September last year, it tried again, launching the CodePlex Foundation, 'a forum in which open source communities and the software development community can come together with the shared goal of increasing participation in open source community projects,' and not to be confused with CodePlex.com, 'a Microsoft owned and staffed forge that encourages the development of open source software based on Microsoft technology.' The only problem is that all the funding for the CodePlex Foundation still comes from Microsoft. But the new Technical Director of the CodePlex Foundation, Stephen Walli, thinks it can become truly independent of Microsoft, open to all companies to create open source software for any platform using only OSI-approved licenses. Will the CodePlex Foundation take its place alongside existing foundations addressing this sector, like Apache and Eclipse, but complementary to them? Or is it forever doomed to be ignored by the open source world because of its origins ? Read more: Slashdot
What to Know BEFORE Upgrading to Windows 7 Service Pack 1 (SP1)
Posted by
jasper22
at
17:47
|
With Windows 7 Service Pack 1 (SP1) due to be released "soon" -- Microsoft has updated information to help you prepare for their upcoming Service Pack. (Thanks Rob)
THREE PRE-UPGRADE TIPS:
Read more: Blacke
THREE PRE-UPGRADE TIPS:
- Uninstall your AntiVirus program (i.e. Microsoft's Security Essentials & Forefront Client Security)
- Foreign Language Support: Windows 7 Service Pack 1 (SP1) only supports German, Spanish, French, English, & Japanese version of Windows 7
- Ensure you have enough disk space!
Read more: Blacke
Cool Unix Features: /dev/full
Posted by
jasper22
at
15:59
|
I've always thought about collecting random bits of useful/interesting/cool Unix features and the like. Before I let that rot indefinitely in a text file in my $HOME, I'll post it in a series of blog posts. So here's bit #1: Everyone knows /dev/null, and most will know /dev/zero. But /dev/full was unknown to me until some time ago. This device will respond to any write request with ENOSPC, No space left on device. Handy if you want to test if your program catches "disk full" - just let it write there: $ echo foo > /dev/full
bash: echo: write error: No space left on deviceRead more: Myon's Blog
bash: echo: write error: No space left on deviceRead more: Myon's Blog
Firefox 3.6.4 Released With Out-of-Process Plugins
Posted by
jasper22
at
12:48
|
Mozilla Firefox 3.6.4 went to general release today. The big new feature in this release is out-of-process plugins (OOPP). This means things like Flash, Java, QuickTime, etc., all run in separate processes, so when Flash decides to crash, it won't take your browser out with it. If Flash starts consuming all the CPU it can find, you can kill it without nuking your browser session. I've been using this feature since it was in the 'nightly build' stage, and it was still more stable than 3.6.3, just because Flash was isolated. Read more: Slashdot
The Best Visual Studio 2010 Productivity Power Tools, Power Commands and Extensions
Posted by
jasper22
at
12:30
|
One of the things I'm digging about VS2010 is its extensibility model. I'm collecting add-ins in VS like I collect Add-Ins in FireFox. Here's my current of the best Visual Studio 2010 Extensions I'm using. 
I've blogged before about the Visual Studio Color Theme Editor. It's great and lets you make VS look like whatever OS you want. Some crazy people try to make Visual Studio 2010 look like Visual Studio 2008! ;) PowerCommands for Visual Studio 2010This crazy add-in adds 25 additional commands to Visual Studio! It's a collection of really convenient little improvements like Open Containing Folder and Open Command Prompt. But it's also subtle things like Undo Close that will reopen the most recent tab with the cursor just where it was. Visual Studio 2010 Pro Power ToolsWhere PowerCommands adds lots of little commands in subtle ways, Pro Power Tools changes UI things in much bigger ways.Read more: SCOTT HANSELMAN'S COMPUTERZEN.COM
Visual Studio Color Theme Editor

I've blogged before about the Visual Studio Color Theme Editor. It's great and lets you make VS look like whatever OS you want. Some crazy people try to make Visual Studio 2010 look like Visual Studio 2008! ;) PowerCommands for Visual Studio 2010This crazy add-in adds 25 additional commands to Visual Studio! It's a collection of really convenient little improvements like Open Containing Folder and Open Command Prompt. But it's also subtle things like Undo Close that will reopen the most recent tab with the cursor just where it was. Visual Studio 2010 Pro Power ToolsWhere PowerCommands adds lots of little commands in subtle ways, Pro Power Tools changes UI things in much bigger ways.Read more: SCOTT HANSELMAN'S COMPUTERZEN.COM
Kinect 'opens new doors for middleware'
Posted by
jasper22
at
11:17
|
In a special in-depth feature published today, a huge number of the leading middleware companies – from Havok and Autodesk to Unity and Blitz – have been talking over the key trends, opportunities and challenges currently defining the tools and tech sector.
A topic of particular interest is the analysis of Kinect (still called Natal at the time of writing), and its potential effect on those companies increasingly having to cater for ever more platforms and formats.
“Natal opens the door for new category of middleware that will utilise new peripheral hardware capabilities,” suggested Fork Particle’s CEO Noor Khawaja. “I think we will see middleware that does stuff with adjustable intelligence added. A ‘Natal-like’ system which takes interactivity to a new level may trigger the trend for artificial intelligence and decision making technology applied to gesture recognition, facial expressions and emotions, and conversational speech. I think these are only a few applications and there is room for many more."
Furthermore, with the extended console life cycle Microsoft has suggested Kinect will introduce, there are even more reasons to be optimistic, according to some.
“I think everyone will benefit from an extended hardware cycle. For example, we have a lot of product and technology ideas that will run perfectly fine on current hardware. In addition, Natal and Move itself are opening up very compelling opportunities for technology providers," stated Torsten Reil, the CEO and co-founder of human body movement experts Natural Motion. Read more: developer
A topic of particular interest is the analysis of Kinect (still called Natal at the time of writing), and its potential effect on those companies increasingly having to cater for ever more platforms and formats.
“Natal opens the door for new category of middleware that will utilise new peripheral hardware capabilities,” suggested Fork Particle’s CEO Noor Khawaja. “I think we will see middleware that does stuff with adjustable intelligence added. A ‘Natal-like’ system which takes interactivity to a new level may trigger the trend for artificial intelligence and decision making technology applied to gesture recognition, facial expressions and emotions, and conversational speech. I think these are only a few applications and there is room for many more."
Furthermore, with the extended console life cycle Microsoft has suggested Kinect will introduce, there are even more reasons to be optimistic, according to some.
“I think everyone will benefit from an extended hardware cycle. For example, we have a lot of product and technology ideas that will run perfectly fine on current hardware. In addition, Natal and Move itself are opening up very compelling opportunities for technology providers," stated Torsten Reil, the CEO and co-founder of human body movement experts Natural Motion. Read more: developer
Subscribe to:
Posts (Atom)

