text:
Ce billet est disponible en francais.
TL;DR: Microsoft introduced the Multicore JIT, which allows the recording of JITted methods during the startup of the app. This recording can be packaged in a Metro Style app for faster startup on Multicore CPUs by performing background compilation. Improvements range between 20% to 50%.
Since the beginning of the year, I've had the chance to work with some very interesting people at Microsoft, and one of the feature that came out from them was about the use of a new .NET 4.5 feature called Multicore JIT in Metro Style apps.
Cet article est disponible en francais.
As would say this guy, since you've most probably been using threads the wrong way (as Microsoft seems to think), you won't be able to use the Thread class anymore in Metro Style applications. The class is simply not available anymore, and neither are Timer or ThreadPool.
That may come a shock to you, but this actually makes a lot of sense. But don't worry, the concept of parallel execution is still there, but it takes the form of Tasks.
Threads are very powerful but there are a lot of terrible gotchas that come with it :
There are some more, but these a main scenarios where using Threads fall short.
TL;DR: This article talks about an app startup error that can happen with Metro Style apps in Windows 8, how the presence of an app.config file can prevent the app from starting and how the Windows event log viewer's new Immersive-Shell section can help.
The Windows 8 Metro style Xaml/C# application development is an interesting experience.
Since .NET is merely on top of a WinRT and its native structure, you're left in a bit of a darkness sometimes, when it comes to debugging problems that come from WinRT.
Silverlight and Windows Phone also have their fair share of blind issues of this kind, either by having the application that exits with no apparent reason (when it is in fact a StackOverflow) or because you've set two namespaces names with the same content.
You've basically left at guessing, particularly on Windows Phone and Silverlight for the desktop, and if you're lucky enough you're having a error code that specific enough so that you can narrow your solution to a dozen google can find for you. If you're not, well you've got a E_ERROR. Fail, as they say.
Windows 8 is actually a bit better at that, because of the Event Viewer. There's a lot of details that appear there, and it's very informative.
TL;DR: This article talks about the internals of the WinRT/Xaml implementation in Windows 8 and how it deals with databinding, its use of the IXamlMetadataProvider interface, tips & tricks around it, and how to extend the resolver to create dynamic databinding scenarios.
Xaml has been around for a while, and it's been a big part of Silverlight and WPF. Both frameworks are mostly managed, and use a CLR feature known as Reflection, or type introspection.
This is a very handy feature used by Silverlight/WPF to enable late binding to data types, where strings can be used to find their actual classes counter-parts, either for value converters, UserControls, Data-Binding, etc...
It comes with a cost, though. Reflection is a very expensive process, and up until very recently in Silverlight, there was no way to avoid the use of Reflection. The recent addition of the ICustomTypeProvider interface allows for late binding without the use of reflection, which is a big step what I think is the right direction. Having this kind of interface allows for custom types that define pre-computed lists of fields and properties, without having the runtime to load every metadata available for an object, and perform expensive type safety checks.
This burden of the reflection is particularly visible on Windows Phone, where it is suggested to limit the use of DataBinding, which is performed on the UI thread. The Silverlight runtime needs to walk the types metadata to find observable properties so that it can properly perfrom one or two-way bindings, and this is very expensive.
There are ways to work around this without having ICustomTypeProvider, mainly by generating code that does everything the Xaml parser and DataBinding engines do, but it's mainly experimental, yet it gives great results.
In Windows 8, WinRT is pure native code, and now integrates what used to be the WPF/Xaml engine. This new engine can be seen at the cross roads of Silverlight, WPF and Silverlight for Windows Phone. This new iteration takes a bit of every framework, with some tweaks.
These tweaks are mainly related to the fact that WinRT is a native COM based API, that can be used indifferently from C# or C++.
For instance, xml namespaces have changed form and cannot reference assemblies anymore. Declarations that used to look like this :
Now look like this :
Where the using only defines the namespace to be used to find the types specified in the inner xaml.
Additionally, WinRT does not know anything about .NET and the CLR, meaning it cannot do reflection. This means that the Xaml implentation in WinRT, to be compatible with the way we all know Xaml, needs to be able to do some kind of reflection.
To be able to do some kind reflection, the new Metro Style Applications profile generates code based on the types that are used in the Xaml files of the project. It takes the form of a hidden file, named XamlTypeInfo.g.cs.
That file can be found in the "obj" folder under any Metro Style project that contains a Xaml file. To find it, just click on the "Show all files" button at the top of the Solution Explorer file. You may need to compile the project for it to be generated.
In the entry assembly, the file contains a partial class that extends the App class to make it implement the IXamlMetadataProvider interface. WinRT uses this interface to query for the details of types it found while parsing Xaml files.
This type acts as map for every type used in all Xaml files a project, so that WinRT can get a definition it can understand, in the form of IXamlType and IXamlMember instances. This takes the form of a big switch/case construct, that contains string representation of fully qualified types. See this example :
private IXamlType CreateXamlType(string typeName)
XamlSystemBaseType xamlType = null;
XamlUserType userType;
switch (typeName)
case "Windows.UI.Xaml.Controls.UserControl":
xamlType = new XamlSystemBaseType(typeName, typeof(Windows.UI.Xaml.Controls.UserControl));
case "Application1.Common.RichTextColumns":
userType = new XamlUserType(this, typeName, typeof(Application1.Common.RichTextColumns), GetXamlTypeByName("Windows.UI.Xaml.Controls.Panel"));
userType.Activator = Activate_3_RichTextColumns;
userType.AddMemberName("RichTextContent", "Application1.Common.RichTextColumns.RichTextContent");
userType.AddMemberName("ColumnTemplate", "Application1.Common.RichTextColumns.ColumnTemplate");
xamlType = userType;
return xamlType;
It also creates hardcoded methods that can explicitly get or set the value of every properties a DependencyObject, like this :
case "Application1.Common.RichTextColumns.RichTextContent":
userType = (XamlUserType)GetXamlTypeByName("Application1.Common.RichTextColumns");
xamlMember = new XamlMember(this, "RichTextContent", "Windows.UI.Xaml.Controls.RichTextBlock");
xamlMember.Getter = get_1_RichTextColumns_RichTextContent;
xamlMember.Setter = set_1_RichTextColumns_RichTextContent;
Note that if you want to step into this code without the debugger ignoring you, you need to disable the "Just my code" feature in the debugger options.
Also, in case you wonder, the Code Generator scans for all referenced assemblies for implementations of the IXamlMetadataProvider interface, and will generate code that will query these providers to find Xaml type definitions.
Now, this code generation approach is very interesting for some reasons.
The first and foremost is performance, because the runtime does not need to use reflection to determine what can be computed at runtime. This is a enormous performance gain, and this will be beneficial for the perceived performance as the runtime will not waste precious CPU cycles to compute data that can be determined at compile time.
More generally, in my projects, I've been using this approach of generating as much code as possible, to avoid using reflection and waste time and battery on something that can be only done once and for all.
The second reason is extensibility, as this IXamlMetadataProvider can be extended to add user-provided types that are not based on DependencyObject. This is an other good impact on performance.
It is possible to extend the lookup behavior for standard types that are not dependency objects. This opens the same range of scenarios that ICustomTypeProvider provides.
All that is needed is to implement the IXamlMetadataProvider interface somewhere in an assembly, and the code generator used for XamlTypeInfo.g.cs will pick those up and add them in the Xaml type resolution chain. Note that for some unknown reason, it does not work in the main assembly but only for referenced assemblies.
Every time the databinding engine will need to get the value behind a databinding expression, it will call the IXamlMetadataProvider.GetXamlType method to get the definition of that type, then get the databound property value.
A very good feature, if you ask me.
By hidden dependency properties, I'm talking about DependencyObject types that are not directly referenced in Xaml files. This can be pretty useful for complex controls that generate convention based databinding, such as the SemanticZoom control, that provides a implicit "Key" property to perform the Zoomed out view.
Since this XamlTypeInfo.g.cs code is generated from all known Xaml files, this means that these hidden DependencyObject types that do not have code generated for them. This forces the CLR to intercept these failed requests and fallback on actual .NET reflection based property searching for databinding, which is not good for performance.
This fallback behavior was not implemented in the Developer Preview, and the binding would just fail with a NullReferenceException without any specific reason given to the developer.
If your architecting a bit your solution, you're probably using MVVM or a similar pattern, and you're probably putting your views in another assembly.
If you do that, this means that there will not be any xaml file in your main assembly (aside from the App.xaml file), leading to an empty XamlTypeInfo.g.cs file. This will make any type resolution requested by WinRT fail, and your application will mostly likely not run.
In this case, all you need to do is create a dummy Xaml file that will force the generation of the XamlTypeInfo.g.cs, and basically make your layer separation work.
Until next time, happy WinRT'ing !
We've gotten used to it. Method jitting is negligible. Or is it really ?
The compilation from IL to the native architecture assembly language (or JITting) has been part of the CLR from the very beginning. That's an operation that was added to make the code execute faster, as interpreting the IL was too slow. By default, it's happening on the fly, when the code path comes to a method that needs to be jitted, and that impacts the code speed when executing the method the first time.
That compilation step is not exactly free. A lot of code analysis and CPU specific optimizations are performed during this step. This is what arguably makes already JITted code run faster than generic compiled code, where the compiler has no knowledge of the target architecture.
This analysis takes a bit of time, but it is taking less and less time to execute, due to CPUs getting faster, or multi-core JITting features like the one found in .NET 4.5.
We've come to a point, on desktop and server machines, where the JIT time is negligible, since it's gotten fast enough not to be noticed, or be an issue, in the most common scenarios.
Still, if there were times when JITing would be an issue, like it used to be around .NET 1.0, NGEN would come to the rescue. This tool (available in a standard .NET installation) pre-compiles the assemblies for the current platform, and creates native images stored on the disk. When an assembly is NGENed, they appear in the debugger's "module" window named as "your_assembly.il.dll", along with some other fancy decorations.
But while there are some caveats, like the restrictions with cross assembly method inline being ignored. It always comes down to a balance between start-up speed and code execution speed.
On the phone though, CPU is very limited, especially on Generation 1 (Nodo) phones. The platform is too, considering is relative young age. At least on surface.
We've got used to create quite a bit of code to ease the development, add levels of abstraction for many common concepts, and lately, for asynchrony.
I'll take the example of Reactive Extensions (Rx) in this article, just to make a point.
If you execute the following code on a Samsung Focus:
List<timespan> watch = new List<timespan>();
var objectObservable = Observable.Empty<object>();
var w = Stopwatch.StartNew();
Observable.Timeout<object>(objectObservable, TimeSpan.FromSeconds(1));
w = Stopwatch.StartNew();
Observable.Timeout<object>(objectObservable, TimeSpan.FromSeconds(1));
output.Text = string.Join(", ", watch.Select(t => t.TotalMilliseconds.ToString()));
You'll consistently get something similar to this :
20.60, 1.19
Calling an Rx method like this does almost nothing, it's basicallt just setup. But 20ms is a long time ! Particularly when done on the UI thread, or any other thread for that matter.
These rough measurements tend to show that the Windows Phone platform (as of Mango at least) is not performing any NGEN like pre-jitting, leaving the app the burden of jitting code on the fly.
Still, not everything can be accounted to JITing, there must be type metadata loading, type constructors that are called.
So to sort that out a bit more, let's use some T4 templates to generate code and isolate the JIT a bit more :
<#@ template language="C#" #>
using System;
using System.Collections.Generic;
public class Dummy
public static void Test()
List<int> list = new List<int>();
<#for (int i = 0; i < 100; i++) { #>
list.Add(<#= i.ToString() #>);
<#} #>
For different values of iterations, here's what gets out, when timing the call to the method :
While this type of code is not exactly a good real-life scenario, this shows a bit the cost the IL jitting step. These are very simple method calls, no branching instructions, no virtual calls, … in short, nothing complex.
But with real code, the IL is a bit more intricate, and there's got to be more logic involved in the JIT when generating the native code.
Unfortunately, there's not much that can be done here, except by reducing the amount of actual lines of IL that are generated. But that can be a though job, particularly when customers are expecting a lot from applications.
One could suggest to push as much code as possible on a background thread, even code that seemingly does nothing particularly expensive. But that cannot always be performed on an other thread, particularly if that code depends on UI elements.
Finally, pre-jitting assemblies when installing the applications could be an interesting optimization for the Windows Phone platform, and I'm wondering why this has not made its way to the platform yet…
This article describes a bit of what NuGet does and why you should take a look at it, but also a package installation customization to a work around a problem with packages that contain optional assemblies.
NuGet is a fantastic tool. Its ability to ease package discovery, installation and update is a big time saver. As a solution maintainer, you can spend less time deploying and updating your external dependencies, particularly when they're often updated.
It can be used to easily install public packages exposed via Microsoft's servers, but it can also be used to create private package repositories.
I've been using it to publish internal framework that is often updated and used in many projects. The automatic creation of packages in a build script and the ease of deployment using the NuGet OData server is, again, a big time saver.
Each time a check-in is performed to update the internal framework, a new package is automatically created and it appears as a package update for the projects that use it.
The package model is built around some basic rules:
For existing libraries that may not easily be split into small pieces, primarily for time constraints, moving to NuGet can be a tough job. If you make a package with all your assemblies and only reference a few of them by default in there, then updating the package can quickly become an annoying "Find and Replace" job to manually change references that did not get updated automatically by the NuGet engine.
Fortunately, there is a file that can be included in the package, which is by convention named and located in tools\install.ps1.
It is a PowerShell script that gets called automatically when the package is installed. But the interesting part is that this installer file gets called with a DTE.Project instance that can be used to manipulate the actual project in VS2010 !
This means that when the package is installed, it is possible to update the references that were manually created to the previous package assemblies.
This is not a straightforward as it may seem, but after working around a HintPath update issue, here is a small helper to do the job:
param($installPath, $toolsPath, $package, $project)
$packageName = $package.Id + '.' + $package.Version;
$packageId = $package.Id;
# Full assembly name is required
Add-Type -AssemblyName 'Microsoft.Build, Version=22.214.171.124, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'
$projectCollection = [Microsoft.Build.Evaluation.ProjectCollection]::GlobalProjectCollection
# There is no indexer on ICollection<T> and we cannot call
# Enumerable.First<T> because Powershell does not support it easily and
# we do not want to end up MethodInfo.MakeGenericMethod.
$allProjects = $projectCollection.GetLoadedProjects($project.Object.Project.FullName).GetEnumerator();
foreach($item in $allProjects.Current.GetItems('Reference'))
$hintPath = $item.GetMetadataValue("HintPath")
$newHintPath = $hintPath -replace $packageId + ".*?\\", "$packageName\\"
if ($hintPath -ne $newHintPath)
Write-Host "Updating $hintPath to $newHintPath"
$item.SetMetadataValue("HintPath", $newHintPath);
This script is called for each project the package is installed onto, and scans all the references of the project that match the current package to update them.
You'll notice that the ICollection<T> interface is not particularly PowerShell friendly. Too bad the Powershell syntax does not allow the use of generic methods, otherwise that nasty GetEnumerator / MoveNext could have gone away. Still, Powershell is dynamically typed so using IEnumerable.Current is fine.
This article was originally published on the MVP Award Blog in December 2011.
Nowadays, with applications that use more and more services that are in the cloud, or simply perform actions that take a user noticeable time to execute, it has become vital to program in an asynchronous way.
But we, as developers, feel at home when thinking sequentially. We like to send a request or execute a method, wait for the response, and then process it.
Unfortunately for us, an application just cannot wait synchronously for a call to end anymore. Reasons can be that the user expects the application to continue responding, or because the application joins the results of multiple operations, and it is necessary to perform all these operations simultaneously for good performance.
Frameworks that are heavily UI dependent (like Silverlight or Silverlight for Windows Phone) are trying the force the developer's hand into programming asynchronously by removing all synchronous APIs. This leaves the developer alone with either the Begin/End pattern, or the plain old C# events. Both patterns are not flexible, not easily composable, often lead to memory leaks, and are just plain difficult to use or worse, to read.
Taking a quick look at the not so distant future, Microsoft has taken the bold approach to augment its new .NET 4.5 to include asynchronous APIs and in the case of the Windows Runtime (WinRT), restrict some APIs to be asynchronous only. These are based on the Task class, and are backed by languages to ease asynchronous programming.
In the upcoming C# 5.0 implementation, the async/await pattern is trying to handle this asynchrony problem by making asynchronous code look synchronous. It makes asynchronous programming more "familiar" to developers.
If we take this example:
static void Main(string[] args)
// Some initialization of the DB...
Task<int> t = GetContentFromDatabase();
// Execute some other code when the task is done
t.ContinueWith(r => Console.WriteLine(r.Result));
public static async Task<int> GetContentFromDatabase()
int source = 22;
// Run starts the execution on another thread
var result = (int) await Task.Run(
() => {
// Simulate DB access
return 10;
return source + result * 2;
The code in GetContentFromDatabaselooks synchronous, but under the hood, it's actually split in half (or more) where the await keyword is used.
The compiler is applying a technique used many times in the C# language, known as syntactic sugar. The code is expanded to a form that is less readable, but is more of a plumbing code that is painful to write – and get right – each time. The using statement, iterators and more recently LINQ are very good examples of that syntactic sugar.
Using a plain old thread pool call, the code actually looks a lot more like this, once the compiler is done:
public static void Main()
MySyncMethod(result => Console.WriteLine(result));
public static void GetContentFromDatabase (Action<int> continueWith)
// The first half of the async method (with QueueUserWorkItem)
int source = 22;
// The second half of the async method
Action<int> onResult = result => {
continueWith(source + result * 2);
_ => {
// Simulate DB access
This sample somewhat more complex, and does not properly handle exceptions. But you probably get the idea.
Nonetheless, you may not want or will be able to use C# 5.0 soon enough. A lot of people are still using .NET 3.5 or even .NET 2.0, and new features like async will take a while to be deployed in the field. Even when the framework has been offering it for a long time, the awesome LINQ (a C# 3.0 feature) is still being adopted and is not that widely used.
The Reactive Extensions (Rx for friends) offer a framework that is available from .NET 3.5 and functionality similar to C# 5.0, but provide a different approach to asynchronous programming, more functional. More functional is meaning fewer variables to maintain states, and a more declarative approach to programming.
But don't be scared. Functional does not mean abstract concepts that are not useful for the mainstream developer. It just means (veryroughly) that you're going to be more inclined to separate your concerns using functions instead of classes.
But let's dive into some code that is similar to the two previous examples:
static void Main(string[] args)
IObservable<int> query = GetContentFromDatabase();
// Subscribe to the result and display it
query.Subscribe(r => Console.WriteLine(r));
public static IObservable<int> GetContentFromDatabase()
int source = 22;
// Start the work on another thread (using the ThreadPool)
return Observable.Start<int>(
() => {
return 10;
// Project the result when we get it
.Select(result => source + result * 2);
From the caller's perspective (the main), the GetContentFromDatabase method behaves almost the same way a .NET 4.5 Task would, and the Subscribe pretty much replaces the ContinueWith method.
But this simplistic approach works well for an example. At this point, you could still choose to use the basic ThreadPoolexample shown earlier in this article.
An IObservable is generally considered as a stream of data that can push to its subscribers zero or more values, and either an error or completion message. This "Push" based model that allows the observation of a data source without blocking a thread. This is opposed to the Pull model provided by IEnumerable, which performs a blocking observation of a data source. A very good video with Erik Meijer explains these concepts on Channel 9.
To match the .NET 4.5 Task model, an IObservable needs to provide at most one value, or an error, which is what the Observable.Start method is doing.
Most of the time, scenarios include calls to multiple asynchronous methods. And if they're not called at the same time and joined, they're called one after the other.
Here is an example that does task chaining:
public static void Main()
// Use the observable we've defined before
var query = GetContentFromDatabase();
// Once we get the token from the database, transform it first
query.Select(r => "Token_" + r)
// When we have the token, we can initiate the call to the web service
.SelectMany(token => GetFromWebService(token))
// Once we have the result from the web service, print it.
.Subscribe(_ => Console.WriteLine(_));
public static IObservable<string> GetFromWebService(string token)
return Observable.Start(
() => new WebClient().DownloadString("http://example.com/" + token)
.Select(s => Decrypt(s));
The SelectMany operator is a bit strange when it comes to the semantics of an IObservable that behaves like a Task. It can then be thought of a ContinueWith operator. The GetContentFromDatabase only pushes one value, meaning that the provided lambda for the SelectMany is only called once.
A peek at WinRT and the Build conference showed a very interesting rule used by Microsoft when moving to asynchronous API throughout the framework. If an API call nominally takes more than 50ms to execute, then it's an asynchronous API call.
This rule is easily applicable to existing .NET 3.5 and later frameworks by exposing IObservable instances that provide at most one value, as a way to simulate a .NET 4.5 Task.
Architecturally speaking, this is a way to enforce that the consumers of a service layer API will be less tempted to synchronously call methods and negatively impact the perceived or actual performance of an application.
For instance, a "favorites" service implemented in an application could look like this, using Rx:
public interface IFavoritesService
IObservable<Unit> AddFavorite(string name, string value);
IObservable<bool> RemoveFavorite(string name);
IObservable<string[]> GetAllFavorites();
All the operations, including ones that alter content, are executed asynchronously. It is always tempting to think a select operation will take time, but we easily forget that an Addoperation could easily take the same amount of time.
A word on unit: The name comes from functional languages, and represents the void keyword, literally. A deep .NET CLR limitation prevents the use of System.Void as a generic type parameter, and to be able to provide a void return value, Unit has been introduced.
Much more can be achieved with Rx but for starters, using it as a way to perform asynchronous single method call seems to be a good way to learn it.
Also, a note to Rx experts, shortcuts have been taken to explain this in the most simple form, and sure there are many tips and tricks to know to use Rx effectively, particularly when it is used all across the board. The omission of the Completed event is one of them.
Finally, explaining the richness of the Reactive Extensions is a tricky task. Even the smart guys of the Rx team have a hard time doing so... I hope this quick start will help you dive into it!
If you've watched the great number of videos available from the Build conference, you've probably noticed that the layer between .NET and WinRT is very thin.
So thin that in permeates through to C# 5.0, even though it's not immediately visible to the naked eye.
Also, that Windows 8 developer preview is pretty stable... I'm writing this blog post using it, and it's pretty good :) (lovin' the inline spell checker, everywhere !!)
The Windows Runtime has been explained here, there and by Miguel de Icasa (and there too by Julien Dollon), but to summarize in other words, WinRT is (at least for now) the new way to communicate with the Windows Core, with an improved developer experience. It's the new preferred (and only, as far as I know) way to develop Metro style applications, in many languages like C#/F#/VB, C++, JavaScript and more...
The API is oriented toward developing tablet applications, with the power and connectivity limitation that kind of platform has, plus the addition of what makes Windows Phone so interesting. That means Live Tiles, background agents, background transfers, XAML, background audio, social APIs, camera, sensors, location, and new features like sharing and search contracts, ...
My favorite part of all this is the new addition of a rule that make a LOT of sense : If an API call nominally takes more than 50ms to execute, then it's an asynchronous api call. But not using the ugly Begin/End pattern, rather through the nice async/await pattern, WinRT style (I'll elaborate on that in a later post). I've even started to apply that rule to my existing development with the Reactive Extensions (And that's yet an other later post).
Microsoft has taken the approach of cleaning up the .NET framework with the ".NET Core" profile. For instance, the new TypeInfo class now separates the introspection part from the type safety part that were historically merged in the System.Type type. This segregation limits the loading of type metadata only when necessary, and not when just doing a simple typeof(). Now, the System.Type type is fairly simple, and to get back all the known methods like GetMethods() or GetProperties() there's an extension method called Type.GetTypeInfo() in System.Reflection that gives back all the reflection side.
There are a lot of other differences, I'll discuss in a later post. (yeah, that's a lot to talk about !)
For the .NET developer, WinRT takes the form of *.winmd files that follow the .NET standard metadata format (kind of like TLB files on steroids, if you know what I mean...). These files can be directly referenced from .NET code like any other assembly, it's then very easy to call the underlying Windows platform. No more P/Invoke.
Just before you start freaking out, WinRT does not replace the standard .NET 4.5 full platform you already know, remember that. That's just a new profile, much like Windows Phone or Xbox 360 are profiles, but targeted at Metro style applications. (It's not applications anymore, it's apps :) just so you know...)
To accommodate all these languages, compromises had to be made and underneath, WinRT is native code. Native code means no garbage collection, limited value types, a pretty different exception handling (SEH), and so on.
The CLR and C# compiler teams have made a great job at trying to hide all this but there are still some corner cases where you can see those differences appear.
For instance, you'll find that there are two EventHandler types : the existing System.EventHandler, and the new Windows.UI.Xaml.EventHandler. What's the difference ? See for yourself :
namespace System
public delegate void EventHandler(object sender, EventArgs e);
And the other one :
namespace Windows.UI.Xaml
// Summary:
// Represents a basic event handler method.
[Guid(3817893849, 19739, 19144, 164, 60, 195, 185, 8, 116, 39, 152)]
public delegate void EventHandler(object sender, object e);
The difference is subtle, but it's there : the second parameter is an object. This is kind of troubling, and having to juggle between the two is going to be a bit messy. That's going to be the forced return of conditional compilation and the myriads of #if and #endif...
But the difference does not stop here though. Let's look at how the WinRT handler can be used :
public class MyCommand : Windows.UI.Xaml.Input.ICommand
public event Windows.UI.Xaml.EventHandler CanExecuteChanged;
public bool CanExecute(object parameter) { }
public void Execute(object parameter) { }
Translates to this, after the compiler does its magic :
using System.Runtime.InteropServices.WindowsRuntime;
public class MyCommand : Windows.UI.Xaml.Input.ICommand
public event Windows.UI.Xaml.EventHandler CanExecuteChanged
return this.CanExecuteChanged.AddEventHandler(value);
public bool CanExecute(object parameter) { }
public void Execute(object parameter) { }
public MyCommand()
this.CanExecuteChanged =
new EventRegistrationTokenTable();
The delegates are not stored in a multicast delegate instance like they used to be, but are now stored in an EventRegistrationTokenTable type instance, and provides a return value for the add handler ! Also, the remove handler "value" is a EventRegistrationToken instance.
That construct is so new that even the intellisense engine is mistaken by this new syntax if you try to write it by yourself, but it compiles correctly.
The return value is of type EventRegistrationToken, and I'm guessing that it must be something WinRT must keep track of to call marshaled managed delegates.
The calling part is also very interesting, if you try to register to that event :
// Before
MyCommand t = new MyCommand();
t.CanExecuteChanged += (s, e) => { };
// After
MyCommand t = new MyCommand();
new Func(t.add_CanExecuteChanged)
, new Action(t.remove_CanExecuteChanged)
, delegate(object s, object e) { }
Quite different, isn't it ?
But this syntactic sugar seems only to be related to the fact that the WinRT EventHandler delegate type is exposed as a implemented interface member, like in ICommand. It does not appear if it is used somewhere else.
Actually, you may not care at all, unless you write ICommand implementations.
If you write a command, and particularly ICommand wrappers or proxies, you may want to write your own add/remove handlers and to be able to do so, you'll need to return that EventRegistrationToken too, and map that token to your delegate.
Here's what I came up with :
public class MyCommand : Windows.UI.Xaml.Input.ICommand
EventRegistrationTokenTable _table = new EventRegistrationTokenTable();
Dictionary _reverseTable = new Dictionary();
public event EventHandler CanExecuteChanged
var token = _table.AddEventHandler(value);
_reverseTable[token] = value;
// do something with value
return token;
// Unregister value
All this because the EventRegistrationTokenTable does not expose a bi-directional mapping between event handlers and their tokens.
But remember, WinRT and Dev11 are in Developer Preview state. That's not even beta. This will probably change !
Cet article est aussi disponible en francais.
In the last published applications I've worked on, like Foursquare, Flickr or TuneIn (and more are coming), all of them have live tiles, in both the Pull and locally generated tiles forms. But there are a few things to know to have a great experience with it, and you'll find it out by reading this article.
This is a very powerful feature, letting the user choose how to customize its own very personal experience, with no-one forcing the user into having a tile he does not want. This is the very same reasoning behind the absence of API to add items in Windows 7 task bar.
In the foursquare app there is the main tile, updated via the "pull" model, every hour or so (and the "or so" has a very strong meaning).
That tile that displays the Leaderboard is built in an Azure cloud service using a WPF offscreen rendering, based on the requests of the tile Pull Engine. This tile was built this way because of the limited capabilities of NoDo, where background agents were not available to render it locally on the device.
With Windows Phone Nodo, many users were complaining about the main tile not updating, and quite frankly, this has been a mystery up to the end. It seems like tiles would update on some devices, but not on others, but would only update if the battery power was more 50%.
Also, these tiles seemed to not update if the device is in standby, but only when the user sees the home screen, and when the suggested refresh delay has expired. I say "seem" because it seems like the rules behind this tile update were either not clear, or broken in some way.
This has changed with mango though. The Pull tiles are not updating almost all the time, but the 50% battery rule still seems to apply.
Also there's the rule of the 80KB file size JPEG, that if you go over, your tile won't be displayed.
In Foursquare, the user may choose to pin a secondary "Tile" a specific place to its main screen for easy access.
Updating these tiles can be acheived with the ShellTile API, and with that you can set four thing:
While all these features are interesting, only one of them is actually very useful: Images URL.
All the other properties are not stylable, they only follow the system's colors, and do not fit very well with user generated content. In the case of Foursquare, Flickr and TuneIn, the displayed images is user provided content, and having a white on white text is not very useful.
On the subject of image URLs, setting an external URL sets the image of the tile, but as long as the device does not reboot. If the device is rebooted, the tile looses its content. A pretty strange behavior, if you ask me.
Fortunately, it is now possible to store the image locally in a special folder in the isolated storage named /Shared/ShellContent, and use the new URI prefix "isostore", like this "isostore:/Shared/ShellContent/MyTile.jpg".
This means that you can download the image to display to the isolated storage, and use it from there.
But there's a big problem with using this technique : You do not control the size of the downloaded image. So if it is bigger than 80KB, you're stuck with the accent color background.
On a side note, I'd be curious to know the story behind this isostore prefix, because there are only two places that can use it, SQL CE Databases and Live Tiles. This prefix cannot be used as a Source property for Image controls, even though it would be very useful. But I digress.
Hopefully, it's very much possible to generate a complete tile's content, using the WriteableBitmap.Render method. This method allows the offscreen rendering of any UIElement, then save it using the SaveJpeg extension method to persist it.
The tiles for Foursquare, Flickr and TuneIn are generated this way, using a user control that a real designer person created. This gives great looking tiles, and the layout and style can be updated depending on the dynamic content.
Here are a few things to generate tiles :
But then, you may only refresh your tiles when the application is running, unless you use the new Background Agents mango feature.
Background agents are Microsoft's way of letting third party apps run code in the background, but with some big restrictions, like memory (4MB), schedule (30 minutes) or duration limits (15 Seconds) for Periodic Tasks.
Here are a few tricks about background agents :
About the first point, while I understand the power consumption concerns on running below 30 minutes, I still don't get why that interval cannot be set higher, to avoid that very same power consumption issue. There also must be a story behind this...
Then about the last point, during the Beta Phase of the Mango SDK, the StandardTileData class was considered an unsupported API, making the automatic background update of tiles impossible. Hopefully, this changed since the RC of the SDK and it is now possible to update tiles from background agents.
That's it for now. Have fun with the tiles !
TLDR: Windows Phone 7.1 Mango's Image control now respects HTTP/1.1 server cache directives, and particularly the max-age, meaning better performing apps. And it is doing it better than you could ever do :)
Image loading is one of the weakest parts of third party apps on Windows Phone 7.0 (NoDo).
The Flickr app in WP7 is a good demonstration of this. The app is basically stalling during the loading of images, and there are (obviously) a lot of images loaded by this app. (The Mango release will make this app really awesome and responsive, I can tell you :))
There are two main reasons for this, being the image loading happening on the UI Thread and partial cache persistence.
So if you look around to mitigate those two issues, you'll find a few things like the LowProfileImageLoader from a Microsoftee. This removes a lot of burden from the UI thread by not using the WebClient, and queueing requests to avoid having too many dowloads at the same time.
But like I've discussed before, this is still not the perfect solution because HttpWebRequest still goes on to the UI thread, and when there are many images loaded the UI becomes easily sluggish.
For the image cache part, Silverlight will cache BitmapImage instances based on the Url, will persist them across application runs but will ignore the HTTP/1.1 max-age directive. This means that each time you run the application, the app will try to refresh the image again. It may not be downloaded again, but it still is checked. This may delay a lot the display of the image, because of the wait for the server to check if the image has changed.
If you still want to do some sort of caching without asking the server every time, then you need to handle the storage of downloaded streams and use BitmapSource.SetSource, and perform some in-memory caching of BitmapSource instances to still use the Silverlight cache even if you can't provide an Url. And all this has to be performed on the UI thread. It really does not help.
These are many roadblocks that hurt badly the perceived performance of the application.
If you try to the same in Mango, doing the background download and caching by yourself, you end up making the matters worse.
Mango has changed everything on that front, and the Product Team has addressed these issues in a very nice way. Loading images is now seamless, you can download as many as you want and UI will not lag a bit.
If you observe the loading of images in mango, you'll quickly see that cached images are displayed almost instantly, primarily because of the cache engine respecting server cache directives. This means that an image will not be checked for a refresh nor downloaded again if the cache duration has not expired.
All this means that you pretty much don't need to do anything to display images in Mango, unless you need to bypass server caching directives.
This is good news :)
Also, Silverlight seems to be doing some work off the UI thread the "user code" (us, mere mortals) cannot do because it needs to be on the UI thread, meaning that you have to let Silverlight do its magic to load images the fastest and seamless way possible.
By looking closer to the way Mango does caching, I've noticed a few things :
These are very good news, since most web server implementation support and respect the HTTP/1.1 Cache-Control directives, meaning that images will be displayed and refreshed properly by default.
My name is Jerome Laban, I am a Software Architect, C# MVP and .NET enthustiast from Montréal, QC. You will find my blog on this site, where I'm adding my thoughts on current events, or the things I'm working on, such as the Remote Control for Windows Phone.
Powered by BlogEngine.NET 18.104.22.168
Theme by Mooglegiant


text:
Teaching of evolution still in danger; US economy in peril?
Will February 12th be a happy 200th birthday for Charles Darwin? Maybe not, says Glenn Branch, Deputy Director of the National Center for Science Education (NCSE) in an article that just appeared on the U.S. News & World Report web site.
Senate Bill 433, introduced in the New Mexico Senate on February 2, 2009, and referred to the Senate Education Committee, is the third antievolution bill to be introduced in a state legislature in 2009.
NCSE's deputy director Glenn Branch answered the question "Should creationism be taught in the public schools?" for the on-line edition of US News & World Report (February 2, 2009) — in the negative, of course.
NCSE is delighted to congratulate two of its members, Joseph Felsenstein and John D. Roberts, who are among the eighteen individuals to be honored by the National Academy of Sciences in 2009 with "awards recognizing extraordinary scientific achievements in the areas of biology, chemistry, geology, astronomy, social sciences, psychology, and application of science for the public good," according to a January 28, 2009, press release.
National Center for Science Education, Inc.
1904 Franklin Street, Suite 600
Oakland, CA 94612
fax: 510-788-7971
For Reporters | Store | Events

subset: commoncrawl


text:
HOUSTON (AP) — Thanks to Texas' new senator, Dale Huls is out of a job — at least for now. Yet Huls has never been prouder that he voted for him.
"Without Ted Cruz this doesn't happen," said Huls, a NASA systems engineer who was among roughly 3,000 federal employees furloughed from Houston's Johnson Space Center after tea party Republicans triggered the partial government shutdown.
"This is something Americans have to get used to," said Huls. "Even if it affects your livelihood, you've got to stand up."
Perhaps more than anywhere else, Texas embodies the factors behind the shutdown: big government and the rebellion against it.
The state is one of the richest beneficiaries of federal spending, with its sprawling military bases, Gulf Coast seaports and more than 1,200-mile border with Mexico, which help account for more than 131,500 full-time federal employees. Only California, Virginia and the District of Columbia have more.
Yet Cruz's firebrand opposition to the nation's new entitlement program — the Affordable Care Act — and his campaign to stop government growth at all costs were also born here, and resonate deeply with many conservatives. In Houston, home to thousands of federal workers and to Cruz himself, the shutdown has brought the love/hate relationship with government into plain view.
Huls said he doesn't believe his job is a waste of money: "The public doesn't think much of federal workers these days, but we're people with car payments just like everyone else."
Still, he said of Cruz, "He's fighting for what he believes in and I'm taking a side."
But Jeff Darby, an investigator with the wage and hour division of the U.S. Labor Department based in Beaumont, east of Houston, said he thinks the showdown is more about political ambition than ideals.
"It is not anyone's patriotic duty to make Ted Cruz a household name," said Darby, a leader of the American Federation of Government Employees, who said he's "at home looking at my two dogs instead of working" because of furloughs.
A rising tea party star, Cruz was elected to the Senate in 2012. He carried Harris County by 18,000 votes, even though it includes Houston's minority population and government workers. He had been in office barely nine months when took to the Senate floor for a 21-plus-hour quasi-filibuster decrying the health care law, and then led an effort to block a budget deal with Democrats.
Cruz supporters tend to make a distinction between government workers and government. The former can be worthwhile; the latter is taking on too much and must be pruned to its essential functions. In a Pew Research Center poll this week, 41 percent of conservative Republicans expressed anger at the federal government, up from 32 percent in 2011 and just 5 percent in 2006.
But with the workers now being idled, some conservatives in Cruz's hometown are debating whether his tactics have gone too far.
Carolyn Hodges, the Houston-based president of the Texas Federation of Republican Women, said her group was split between conservatives supporting Cruz and others who want compromise. She said she personally "would like to see some movement on behalf of both" Democrats and Republicans on Capitol Hill.
NASA is the hardest-hit federal agency in terms of furloughs, with 97 percent of its 18,000-plus employees nationwide sent home. At Johnson Space Center, only about 200 civilians remain working because they protect property and life, like two U.S. astronauts and four others currently aboard the International Space Station.
"It's frustration that others don't understand because they're not directly affected," Bob Mitchell, president of the Bay Area Houston Economic Partnership, said of NASA employees sent home. He declined to comment specifically on Cruz saying, "We need him and he needs us."
President Barack Obama separated his time in the U.S. Senate from a cadre of first-term senators, Cruz included, who have channeled the tea party's anger toward the president while raising their own profiles.
" ... I recognize that in today's media age, being controversial, taking controversial positions, rallying the most extreme parts of your base — whether it's left or right — is a lot of times the fastest way to get attention or raise money, but it's not good for government," Obama said in an interview Friday with The Associated Press. "It's not good for the people we're supposed to be serving."
Huls said he has enough savings to tide him over for at least two months without a paycheck. But he's worried about not making up money he borrowed from his retirement plan and says he may eventually have to talk to other creditors about extensions.
"But I don't consider myself a victim," Huls said. "I'm in this fight too and this is my role."
Pedro Rivera, a space center programs specialist who is working on the Orion capsule the U.S. hopes to send to Mars, said he too is willing to accept being furloughed even if the shutdown means a delay in Orion's scheduled test launch next year.
"I think it's a small price to pay for the future generations," said Rivera, who says he considers the new health care law un-American.
But space center financial management specialist Bridget Broussard-Guidry said her colleagues include single parents who can't afford a long shutdown.
"Even though you save for a rainy day, you don't know how long it's going to rain," said Broussard-Guidry, president of the local chapter of the American Federation of Government Employees.
White House correspondent Julie Pace in Washington, D.C., contributed to this report.


text:
One of our favourite knitwear brands is William Fox, who have been in the business of manufacturing top quality sporting goods and and assorted gentlemen's attire for over a century now. The brand's new range is available at Present and includes some classics and few quirky items too. My pick of the bunch is this Fairisle jumper in cream – …
Brandish to the Credit Crunch Rescue: It-Accessory £3.75 from £30!
Click image to enlarge
You know when relatives get Christmas presents that just get under your skin? Well, Hama beads were that present during this holiday season. Whether in my pockets, in my shoes, woven onto my laces, down my skinny jeans (don't ask!) they were everywhere.
Merry Christmas from Brandish
Click image to enlarge
Merry Christmas Brandish Readers!
With the H&M CDG, Andrew Price's Priceless range for Topman and Giles for New Look collabs, Gareth Pugh's forthcoming men's range and people like Andre Benjamin upping the style stakes it's been a great year for menswear (let's just gloss over the Wishroom's men's bra!)
If you've opened your presents, had a sip of Buck's Fizz and eaten your way through a tin of Roses' Chocs and are still bored then enter our Great Christmas Giveaway!
Stuck for gift ideas for your female friends?
Click image to enlarge
Over at Catwalk Queen we've been trawling the internet for the best gift ideas for Christmas. If you're stuck for present inspiration or you can't get into the coveted mental 'gift zone' (hey I use a colour-coded spreadsheet and I'm not even joking) then check out the Wishlists compiled by the CQ team.
Brandish Christmas Picks: Fingerless gloves by Raf Simons and Topman Ute Ploier
Click image to enlarge
Check out our trio of fingerless gloves for Christmas, from Secret Santa to Secret Crush there's something for every budget.
Topman's fingerless mittens at £8 are perfect for eating crisps at the bus stop then safely stowing your fingers away until said bus arrives.


text:
Brother DCP-7045N Toner
Cartridge prices starting at $25.95Compatible Brother laser toner cartridges for the Brother DCP-7045N from Carrot Ink offer superior, crisp dependable prints. Our compatible Brother DCP-7045N laser toner cartridges offer dense, reliably crisp and consistent prints, day after day, on all types of paper. These laser cartridges for the Brother DCP-7045N printer are a much better value and a money saving alternative to genuine Brother toner supplies. Full page color at high print speeds means you're never kept waiting for even the largest jobs to print. Our compatible Brother replacement laser toner cartridge for the Brother DCP-7045N include new components. These low cost generic alternatives for the Brother DCP-7045N come with a full 100% satisfaction guarantee guarantee and cost less, far less, than Brother OEM brand Brother DCP-7045N laser toner cartridges. Save money with Carrot - don't buy genuine Brother toner when our compatibles are guaranteed to print just as well. We guarantee your 100% satisfaction for print quantity and quality with compatible Brother DCP-7045N laser toner cartridges and supplies.
Combo packs
Brother TN360 & DR360 Compatible 3-Pack Combo$16.65 per Cartridge
Regular Price: $94.99
Special Price $49.95
Twin Packs
Brother TN360 Black High-Yield Compatible Laser Toner Cartridge Twin Pack$15.48 per Cartridge
Regular Price: $99.95
Special Price $30.95
Single Ink Cartridges
Brother DR360 Black Compatible Drum Unit12,000 Page Yield
Regular Price: $65.95
Special Price $25.95


text:
Hi, my names Douglas Green. I've been keeping fish since I was 8 years
old and breeding Bristlenose since I was 14. I'm also an Aquatic
Ecologist/Geneticist currently doing my PhD. I have a BSc in Biodiversity
and Conservation with first class honours, but most of all my passion are
Bristlenose. Over the years I've developed a wealth of knowledge about
Keeping and Breeding Bristlen and now volunteer my time as a
Moderator on BristlenoseWorld.com, a forum for Bristlenose owners from all around
the world.
Both of these Bonuses alone sell for $17 each on the internet
Finally though,
I'd like to Make
You a . . . . . . .
Special VIP Offer
If you
purchase today you will be entitled to life time updates to my eBook,
Keeping and Breeding Bristlenose
. As you already know, I'm a scientist and it's in
my nature to research and find new and better ways to do things. Therefore for me
it's not just a case of writing an eBook and then "that's that". This is the now the
THIRD Edition
and I've already started work on the Forth edition. But as one of my
VIP customers you'll get the Forth edition for FREE.
Therefore with all these free bonuses plus the value you'll get from reading
and Breeding Bristlenose
you may well expect to pay well in excess of $50. But I'm
going to be realistic here because at the end of the day, my main priority is to offer
my eBook at a price that is both reasonable and affordable so you can then care for
your valuable Bristlenose in the manner that they deserve.
So for a limited time you'll get everything I've promised for the very low price of
just $19.
Therefore Just to Recap, You get . . . . .
my 60 Day Guarantee
VIP Lifetime Updates
all for just
Don't Forget, there's no Postage and Handling to pay, You can
it Straight Away
, No Matter what the time of Day . . . . . or Night, Even
on a Public Holiday or Weekend
and it's still just $19
Therefore you can order safely straight away and then download these fantastic
products in just a matter of minutes. You won't have to wait for your product to
arrive in the mail and you can be reading them in just a matter of minutes from
now. I've also chosen
ClickBank the internet's No1 retailer of Digital Products
to process your order so you'll have the confidence your details are in safe, secure
Here's to your Bristlenose Success
Best Regards
Douglas Green
PS. Don't forget you are protected by my 60 day money back guarantee. If you're
not happy just ask for your money back. It's as simple as that.
PPS. If you buy today you'll also get updates as well when they become available.
Remember I am a scientist and as such I'm always looking for new and better ways
of doing things and of course as a valued customer, I'm more than happy to pass
these onto you.
Copyright © 2010 Douglas Green
About Me
Contact Me
Privacy Policy
There are reasons why things go wrong and they can be avoided, I'd
like to show you how to get it right to make your hobby easier and
even more enjoyable.
Over my time as a moderator on BristlenoseWorld.com I have noticed a common
theme in the type of questions that get asked and have seen many first hand
examples of where some owners make mistakes. In many cases these mistakes can
be costly, causing illness and death of their fish and fry. Owners sometimes place them
in community tanks with fish that aren't really compatible (or considered to be
compatible but only in certain circumstances) or feed their Bristlenose foods that are
inappropriate. Some owners get their Bristlenose to breed but then lose their entire
spawn just a few days later.
You can literally be left scratching your head wondering what went
wrong, OR . . . .
These are just a few examples and believe me there are many, many more. For me,
someone who has an absolute passion for Bristlenose, I sometimes find these stories
distressing as in most cases they can easily be avoided. Fortunately they mostly aren't
caused by gross negligence or bad intent, as Bristlenose owners by nature have the
best interests of their fish at heart. Therefore when things do go wrong it is normally
caused by the fact that the owner was missing that vital piece of information they
needed to get it right.
Therefore this is the inspiration for me writing my eBook. It's designed as a
Bristlenose resource so owners will then be armed with all the knowledge
they need to successfully keep and breed their Bristlenose so they will live
Long, Happy and Productive lives.
This is where
as a Bristlenose owner WILL
Save Yourself the
Time and the Money
. You won't have to make those all too common
mistakes I see so much on the forum. It WILL make your hobby
Much More Enjoyable
Much Less of a Chore
and you'll be able to
Much More Time just Enjoying Your Fish
Keeping and Breeding
is now in it's
3rd Edition
Now packed with more information
more information about Breeding,
more information about Caring For,
more detailed photos and diagrams
This is the first complete reference
guide to Keeping and Breeding Bristlenose
on the internet.
Read what others have to say about
Keeping and Breeding Bristlenose
So here's just some of what's included in
Keeping and Breeding Bristlenose
You'll Learn How to Care for Your Bristlenose, including;
How to Set up Your Community Tank to House Bristlenose with Other Fish
What Fish shouldn't be Kept with Bristlenose
The effect Bristlenose can have on a Planted Tank
How to set up a Bristlenose Tank
Not only what to Feed, but what
to Feed Your Bristlenose
The Best Water Conditions for Your Bristlenose
How to Keep Your Bristlenose Healthy
What to do if Your Bristlenose gets Sick
How the L number System is Applied to Bristlenose
You'll Learn All About Breeding Bristlenose, including;
Breeding with a Trio or a Pair
Setting up Your Breeding Tank
Selecting Suitable Breeders
Conditioning Bristlenose for Breeding
How to Trigger a Spawn
All about Egg and Fry Development
The Parents role in Raising the Fry
Whether You need a Grown Out Tank
How to Set Up a Grow Out Tank
Possible Issues You may Encounter when Breeding
If You can Make Money Selling the FRY
How to go about Selling Your Bristlenose Fry
What to do if Your Prized Breeding Pair Stop Breeding
The Best way to Breed Bristlenose in a Community Tank
plus much, much more.....
Click Here To See What's Inside
So How Much Would You Expect to Pay For Such a Comprehensive
Reference as This?
Well, right from the start it has been my objective to add as much value as I possibly
could so that this information can benefit you the most.
You already know that having the Knowledge to keep your Bristlenose Happy and
Healthy will save you not only Time but Money as Well.
Having all this information packaged in one convenient reference will save you so
much time searching through many other references that won't be as conclusive as
this one.
But that's not ALL, I'd like to add even more VALUE so you can have
Total Peace of Mind.
The quality of this reference is backed by a Full
100% Satisfaction, Money Back Guarantee.
I'd like to offer you two FREE BONUSES as well
You see, I realise that most Bristlenose owners keep other fish as well. After all,
Bristlenose are highly regarded as one of the the most popular aquarium fish in the
world today. They add so much value to your community tank keeping it clear of
algae, that there aren't many fish keepers that don't already know the value of
keeping Bristlenose, Therefore . . . .
Bonus No1


text:
To add or change your team name, please email firstname.lastname@example.com or call the KCBS office at 1-800-963-5227.
KCBS Team Bios
SMOKEY DAVE'S BBQYear Started: 2001
Team Bio:
I have been cooking Bbq since I was 12. I was raised on wood cooking. My uncle taught my cousin and I the art of wood cooking. On his fram he raised pigs! And that's when my love affair with Bbq began. Many years have passed,but my passion for Great Bbq will never die!
Hometown: Rougemont
State/Province: NC
Country: US
Most wins in a year: 3
Biggest Wins: 2010 Hillsborough Hog day Champion 2010 Grand Champion Parkwood Vol.Fire Dept Cookoff 2011 Peoples Choice Hillsborough Hog Day 2012 Bull Durham BBQ Cookoff Champion
Sponsors: Central pharmacy Central compounding Strick's Semi-instant Barbeque Sauce Elodie Farm's The Grilling Store Acc collectables
Website: http://mysmokeydavesbbq.com


text:
A unnamed man may hold the key to an unsolved triple-murder case 40 years ago, which could be linked to Brisbane's underworld.
Barbara McCulkin and her daughters Vicki Maree, 13, and Barbara Leanne, 11, disappeared from their Highgate Hill home in January 1974. Their bodies have never been found.
On Tuesday, police from the Queensland Crime Command Homicide Cold Case Unit searched two rural properties on the Southern Downs in Warwick, southwest of Brisbane.
Detective Superintendent Steve Holahan said the raids turned up items of significance.
"I'm led to believe that a number of items of property corroborate different information and versions that have been provided to us by witnesses," he told reporters in Brisbane.
The reinvigorated investigation has led detectives to interview up to 30 witnesses.
Det Supt Holahan said documents were seized from the homes, but would not elaborate on what other "physical items" were found there.
The properties are associated with one of two principal persons of interest, but no warrant has been issued for his arrest.
Police will make inquiries to locate the unnamed man.
"It's up to him whether he speaks to us or not," Det Supt Holahan said.
There have been suggestions Mrs McCulkin had information about the Whiskey Au Go Go nightclub firebombing in Brisbane 10 months before her disappearance and was going to turn police informant.
Det Supt Holahan confirmed police are examining the suggestion Mrs McCulkin had knowledge of "serious crimes" as a motive for her murder.
There is also speculation her daughters had been sexually assaulted.
"We're looking at both of those motives," Det Supt Holahan said.
Detectives are also looking at a number of other crimes committed around the same time by "an organised group of people and their associates".
Det Sup Holahan said police had not ruled out the possibility that other people might have been involved.
In 1980, a Brisbane coroner recommended two men be charged over the three murders.
The following year, the crown abandoned the charges because there wasn't enough evidence to convict the men.
A reward of $250,000 for information that leads to the arrest and conviction of the person or persons who murdered the trip has been offered.


text:
They call it the July 22 double-issue of ESPN the Magazine, but you may have already noticed it.
Hard not to notice it.
San Francisco quarterback Colin Kaepernick is on the cover.
And he is naked.
They call it the July 22 double-issue of ESPN the Magazine, but you may have already noticed it.
Hard not to notice it.
San Francisco quarterback Colin Kaepernick is on the cover.
And he is naked.
(Actually there are eight different covers, each with its own naked person. I suppose you could collect all of them but maybe you shouldn't brag about it at work.)
Swimsuits, Sports Illustrated? We don't need any of your swimsuits. We're talking — are you ready for this — total nudity!
Of course it is some of the most cleverly photographed nudity you will ever see (or not really see). No clothes but plenty of strategically placed hands, footballs, basketballs, water sprays, a motorcycle (!) but mostly some very carefully raised thighs.
So the nudity is not, you know, totally total.
The photo that caught my eye ... No, wait, let's start again ...
Golfer Gary Player is 77 years old. He is shown in his backswing with no sign of Nike anywhere. If he's wearing cleated shoes, we can't see — but it would be funny to see a guy wearing nothing but cleats.
Back to topic. He looks great.
I have some history with Mr. Player. We spoke often on the PGA Tour in the late '70s and '80s. I'm not sure if Mr. Player ever forgot a face but I'm pretty sure he never forgot a bulging belly. Every time I tried to talk to him about golf, it turned into a lecture about health.
OK, he had my best interests at heart and apparently has never heard the siren call of a chocolate eclair.
But then there was that one Wednesday the day before a Disney World golf tournament began. Mr. Player was demonstrating the art of hitting the golf ball to about 100 to 200 fans. And I stopped by.
Big mistake.
Mr. Player asked me to help him by addressing the ball. I walked over and resisted the temptation to say, "Hello, ball," 'cause I knew he would not be amused. So I positioned myself next to the ball and mentally saw myself as Tom Weiskopf. (Ask your grandfather.)
Mr. Player apparently visualized me as a killer whale.
"If Jerry hits a poor shot, don't be too harsh," he told the audience, "because, after all, he can't see the ball."
Friends, it's about 30 years later and I still haven't thought of a snappy comeback.
So he's part of "the body issue" of a national magazine and I still have my eclairs.
I'm calling it a draw.
NFL thoughts: AFC West
Denver, 13-3 last season, over/under 11.5.
Broncos have been knocked out in the playoffs the last two years by eventual Super Bowl participants -- New England and Baltimore. They are loaded. Oddly enough I think their biggest worry is Peyton Manning. When will the decline begin? But, again, they are loaded on both sides. They open the season on Thursday, Sept. 5, by hosting champ Baltimore. Talk about a great way to get Big Mo on your side. If you like someone in the AFC better, let me know who and why.
San Diego, 7-9 last season, over/under 7.5.
Seriously, I am so sick of these guys. Every year they look good on paper, play terribly and then win a few at the end to keep you wondering. They do have new management including a new coaching staff, which must help. No! I will not be suckered again. Forget them.
Kansas City, 2-14 last season, over/under 7.
Everyone's preseason sweetheart to jump from bottom to possible wild-card contention. New coach in Andy Reid and new QB in Alex Smith. Of course both were available for a reason but they certainly are upgrades. And there is a fantasy favorite in RB Jamaal Charles who should be about No. 6 on your RB cheat sheet. An 8-8 season sounds about right.
Oakland, 4-12 last season, over/under 5.5.
And then there are the Raiders. They were rotten and now they are rebuilding from there. Best shot for next year's first pick in the draft.
A moment about Paula Deen . . .
"What? Paula Deen? Greene, are you all right?"
Who ever knows if I am all right but I need your help about Paula (and this gives some of you a break from all that NFL stuff.)
Not my place to tell you how you should feel about Ms. Deen. That's up to you. We know because of prior offensive racial language that she was dropped by Food Network and numerous sponsors, including Ballantine Books.
Here's my question: Why have sales of her previous cookbooks quadrupled? Stir that in your pot.
Summer vacay at — Snake Island?
Looking for that special getaway that will impress your friends when you get back (or if you get back)? Let me tell you about a little island 90-some miles off the Eastern coast of Brazil. Officially known as "Ilha de Queimada Grande," it's usually called Snake Island.
That's because the most conservative estimates suggest you will find a snake every three feet. And most of these snakes are the golden lancehead, a nicely named but extremely poisonous pit viper.
That makes the island so dangerous that the Brazilian Navy has forbidden anyone to set foot there. The snakes, incidentally, feast upon migratory birds who must be extremely stupid to keep landing there.


text:
You are currently viewing the beta version of the new AMM site.
Click here
to return to the current site.
To include more than one recipient, please separate each email address with a semi-colon
';', to a maximum of
By submitting this article to a friend we reserve the right to contact them regarding AMM subscriptions. Please ensure you have their consent before giving us their details.
In many ways the world is in a new "iron age," with global sheet steel consumption up nearly 70 percent over the past decade. Steel is a logical material choice, given its low cost relative to alternative materials combined with its good strength-to-weight ratio. So it is no wonder that steel continues to be the material of choice for many manufacturing industries, especially for automotive production. In fact, the average light vehicle today weighing approximately 4,000 pounds contains nearly 2,600 pounds of steel, representing 62 percent of the mass.
As a material, steel is, at times, both simple and complex. For automotive applications, metallurgical science has continued to advance in the development of new chemistries and microstructures that create the properties needed to meet changing customer needs, something that has been happening since hand-formed steel sheet began to supplant wooden car bodies a century ago.
For example, when the automotive industry needed to address the issues of corrosion and vehicle durability in the 1970s and 1980s, new coated steel products were developed that greatly increased the life expectancy of light vehicles. This required transforming galvanized steels into a highly formable steel product with excellent surface quality—the products that we take for granted today.
With the automotive industry now facing the challenges of both skyrocketing oil prices and the need to address climate change, the steel industry is hard at work again in service to its customers. A recent study by Ducker Worldwide shows that high-strength steels now average 415 pounds per vehicle, an increase of nearly 45 percent in the past 10 years. This demonstrates that steel has successfully held its leading market share, emerging from the materials skirmishes of the past decades, and is growing at a rate that far exceeds that of other materials.
There are several reasons for this success, the most prominent of which is the bringing together of an international coalition of steel companies that developed the UltraLight Steel Auto Body (ULSAB). ULSAB was a body-in-white that achieved a 25-percent reduction in vehicle mass, establishing steel as a viable lightweighting material for the automotive market. ULSAB was followed by ULSAB-AVC (Advanced Vehicle Concepts), which introduced the new advanced high-strength steels into the mass reduction equation.
Advanced high-strength steels have redefined modern vehicle structures, giving them improved fuel efficiency, enhanced safety features and high-volume production at affordable cost. Today, high-strength steel is the fastest-growing material in providing lighter weight for automotive applications, and member companies of the American Iron and Steel Institute are working today with General Motors Corp., Ford Motor Co. and Chrysler LLC through the Auto/Steel Partnership on a number of projects with these new materials.
At the same time, steel has become a green material, signifying its environmental leadership. The North American steel industry has many of the cleanest steel producers in the world in terms of greenhouse gas emissions. In the United States, for example, iron and steel production accounts for about 1 percent of total U.S. greenhouse gas emissions. Between 1990 and 2006, the U.S. steel industry reduced its energy intensity by nearly 30 percent. There is a direct correlation between the reduction in greenhouse gas emissions to that downward trend in energy consumption, which has put the American steel sector well ahead of the Kyoto greenhouse gas emission goals.
The marked reduction in greenhouse gas emissions reflects the interplay of a number of factors. Because they are all privately owned and market-driven, North American steel producers have a financial incentive to constantly increase efficiency and decrease energy use through investment and process improvements. This has been achieved in an environment where electricity and natural gas prices are among the highest in the world, and in some instances are twice as high as other countries with which domestic steel companies compete.
A major source of the per-ton emissions reductions has been the increased use of recycled steel, principally in electric-arc furnaces but in integrated facilities as well. Between 1996 and 2005, the electric furnace share of steel production rose to 55 percent from about 43 percent in the United States. At the same time, the integrated producers have increased their use of scrap as well. The use of scrap was not the sole source of improvement, however; both integrated and electric furnace producers have increased their efficiency and reduced energy intensity through a multitude of process improvements.
Since 1975, the North American steel industry has invested more than $60 billion in new technologies to improve energy efficiency and productivity. In a typical year, more than 15 percent of the steel industry's capital expenditures are directed toward environmental improvement projects. In the past 25 years, annual energy consumption by the steel industry has been reduced by more than 60 percent.
Because of this focus on energy use and greenhouse gas emissions, recycling is an essential part of the steel business. As a result, more steel is recycled each year than all other materials combined, including aluminum, glass and paper. In 2006, nearly 15 million tons of steel were recycled from automobiles. Since more steel was recovered from scrapped vehicles than was used in the production of new cars, the recycling rate for automobiles exceeded 100 percent.
According to the Environmental Protection Agency, recycled iron and steel saves the nation 74 percent of the energy that would have been needed to make new steel. That energy would be enough to electrically power about 18 million homes for a full year.
The steel industry is working to develop new, advanced steel products and applications, such as the advanced high-strength steels, that will yield even greater energy benefits. For example, it is investing millions of dollars in the CO2 Breakthrough Program, research aimed at developing future steelmaking processes that will emit little or no carbon dioxide. The industry is committed to this approach because it is not only good business, it also is responsible stewardship.
James L. Wainscott is chairman, president and chief executive officer of AK Steel Corp., West Chester, Ohio.
Metals Forum appears monthly and is open to submissions from industry and trade associations wishing to address issues of concern to the metals community.
All comments are subject to editorial review.
All fields are compulsory.
Every month American Metal Market takes a statistical look inside the marketplace.
We actually don't know who his investors are. At the point when we are ready, we will investigate further. There are just so many things to handle and there are a lot of items to be considered with the project."
-- Charles C. Mitchell, Barstow city manager


text:
- Home
- News
- Sports
- Opinion
- Obituaries
- Features
- Special Sections
- Classifieds
- Public Notices
Virginia petroleum dealers support gas tax increase
As Virginia legislators struggle to agree on a fix for the state's chronic transportation funding problems, a trade association for petroleum dealers is taking a stand in the debate.
It wants the General Assembly to raise the gasoline tax.
If you currently subscribe or have subscribed in the past to the The Gazette, then simply find your account number on your mailing label and enter it below.
Click the question mark below to see where your account ID appears on your mailing label.
|ZIP Code:


text:
All items > Knives > Automatic Knives > Protech (Auto)
Protech Automatic Knives
Pro-Tech Automatic knives are a blend of the finest materials available and a commitment to craftsmanship. These automatic knives are built with the most current manufacturing processes that include high-tech components. Each Protech automatic is assembled and hand fit by dedicated and caring craftsmen in Santa Fe Springs, California. Protech manufactures small batches of knives so that they can take the time to individually hand fit and finish each knife to a level rarely seen in a factory knife.
Filter By
Related CategoriesClose
Copyright ©2018 Blade HQ. Server: web01All rights reserved


text:
More than 140 graduates walked across the stage of Bob Sneller Gymnasium Saturday morning as their time at Crowder College came to an end.
More than 140 graduates walked across the stage of Bob Sneller Gymnasium Saturday morning as their time at Crowder College came to an end.
The college had a total of 320 fall graduates, with nearly half in attendance for the commencement ceremony.
The ceremony got off to a somber start, as Alan Marble, Crowder president, asked that the graduates and their guests observe a moment of silence in remembrance of the victims of Friday's Newtown, Conn., elementary school shooting.
However, Marble also asked that, hard as it may be, the attendees push that sorrow to the backs of their minds, if only temporarily, to give the graduates the recognition and day of celebration that they had earned.
"They've proved themselves in a very demanding atmosphere, where math assignments were challenging, written essays were graded rigorously, and final exams are difficult and often terrifying," Marble said. "Yet this group of students persisted, they've earned our respect and the right to celebrate their achievements."
Marble went on to challenge the students, no matter their post-graduation plans, to live up to their full potential.
"My challenge to you is to do your very best," Marble said. "Expect the best from yourself and then live up to your expectations."
Marble, and graduate Jorge Alvarado, who delivered the graduation address, repeated a quote from the popular Christian and leadership author John C. Maxwell, "People do not care how much you know until they know how much you care."
"Although I have devoted a special thanks to all the teachers here at Crowder College, I believe the people who really deserve that quote are the graduates, people like you, people like me," Alvarado told his fellow graduates. "Graduates, today this is your quote, today is your day."
Alvarado, a Carthage native, reminisced of his first day as a college student at Crowder, and spoke of seizing the opportunity he was given.
"My family came here many decades ago from Mexico, they were searching for the American dream," Alvarado said. "I'm satisfied to say that I'm part of that dream they came here in search of finding… I'm honored to be up here today, and I'm honored to be a Crowder College graduate, but most importantly, I'm honored to be a first generation college graduate."
While he noted that every graduate has a different story, Alvarado urged that they always remember what brought them to this point in their lives.
"Whatever your motivational story may be, follow it, stick with it and never forget your struggle," Alvarado said. "It is important that we walk out of here not a smarter person, but a better one."
Alvarado, a nursing student, had many classmates in the sea of black caps and gowns, as at least two rows included lines of caps with "RN" or other nursing references painted on top.
The Crowder College Choir performed Billy Joel's "And So It Goes," and sang along with the graduates the Crowder College Alma Mater.
This was the ninth year that Crowder College has held a fall commencement ceremony.


text:
When faced with the challenge of producing up to 22 planes per month for the F-35 Joint Strike Fighter Program in 2003, Lockheed Martin selected Handling Specialty, based on our expertise in the automotive and aerospace industries.
Vertical assembly stations are typically a four post, screw driven lift design with a platform that has a customized opening which allows access to the product from all sides and elevations. The mechanical automation ensures smooth, synchronized and level motion throughout the range of travel with secure load holding at any elevation.


text:
November 25. 2012 6:24PM
Contractor and ex-cop team up to open gun shop
By SIMÓN RÍOS
Union Leader Correspondent
Chris Chronopoulos, left, director of Blackwater Firearms, and Dan Whitman, a manager at the store, pose before a wall of assault rifles available for rent. The new Hudson store will feature a "live fire" range in a full-sized semi trailer. (SIMON RIOS PHOTO)
HUDSON - When a successful local builder teamed up with a former SWAT team member in a business venture, it was almost guaranteed that the outcome would be big - and high caliber.
Steve Desjardins is the contractor, and Chris Chronopoulos is the former cop. Together they formed the state's latest gun shop, Blackwater Firearms Co., and they're bringing something to New Hampshire gun enthusiasts that is sure to cause a bang - a live fire trailer where shooters can simulate warfare.
Chronopoulos was planning for a shop of his own before crossing paths with Desjardins, who was introduced to him by a mutual friend in 2011.
"We started talking about a training facility and some guns and he says, 'Yeah,'" he said. "We hooked up, and we had the same interests, and we just kicked it from there."
Chronopoulos brought the tactical and law enforcement knowledge to the table while Desjardins had the space and knew about purchasing guns. Desjardins owned Pelham Firearms, which was dissolved when Blackwater was established. The new store, which opens Dec. 15, is located at 13 River Road in Hudson. It shares a building with Desjardins' construction company.
Blackwater doesn't claim to have the largest arsenal in the state. But Chronopoulos says it's the only gun shop with a trailer out back where customers can shoot to their hearts' content.
The steel-ensconced semi-trailer is outfitted by Laser Shot, a Texas-based company that develops and manufactures firearms simulator systems and live-fire training facilities. Chronopoulos said the trailers are used on aircraft carriers by the U.S. military, and by law enforcement agencies including the Middlesex County Sheriff's Department in Massachusetts.
He said Blackwater is one of the first to open for civilian use.
The range is 34 feet long with ballistic rubber walls and a bullet-absorbing, 8-by-8-foot screen at the end. At the front of the trailer, sectioned off from the range, a computer operator offers the shooter a range of targets or video game-style scenarios.
Shooters can opt for laser guns, CO2 guns, or real guns ranging from .22 to .308 caliber. "If we have a female or any type of person who's not too familiar with a weapon system," laser guns can be used, Chronopoulos said. The lasers (and bullets) are interfaced through a thermal imaging camera to the software.
Before moving on to real guns, shooters can move from lasers to CO2 weapons. "It sounds like it's doing the actual cycling of the weapon, but it's just shooting a laser with a CO2 blast, so it feels like you're shooting. And then we move them up to a real firearm, right inside here."
The shooting is a mix between the video game "Call of Duty" and an indoor shooting lane. Shooters can engage in combat with digital "bad guys," choosing from a variety of enemies.
Though he wouldn't give an exact figure, Chronopoulos said the trailer cost between $300,000 and $500,000. Users rent the trailer for $1 a minute, and can either rent guns (between $20 and $40) or bring their own. Ammunition must be purchased at the store.
In terms of weaponry, the store will have offerings for gunners of all stripes, from the hunter to the skeet-shooter to the home defense guru and beyond. Blackwater is considering adding hunting bows to the lineup as well.
Most guns for sale are available for a $20 rental fee to "try before you buy."
Chronopoulos estimated that once it's fully stocked, the shop will carry about $1.5 million in firearms inventory.
Blackwater is a Class 3 dealer, authorized to sell fully automatic weapons such as M-16, MP5 and Kalashnikov variants. Owning a machine gun requires a $200 tax stamp - in addition to the price of the weapon, which can run between $15,000 and $30,000 and must be of pre-1986 vintage - and a Class 3 license through the Bureau of Alcohol, Tobacco and Firearms. Or customers can rent an automatic rifle at Blackwater for $40 plus the cost of ammo.
Blackwater will also offer classes by NRA-certified instructor Edward Hammersley of Tewksbury, Mass. National Rifle Association courses range from basic pistol operation to shotgun to muzzle loader to turkey and deer hunting. Armors courses will also be available, including courses on the workings of the AR-15 and AK-47 assault rifles.
"We're here to teach safety," Chronopoulos said, "because enough people out there think guns are a bad thing, but it's a great sport for some people.They love it."
"We're not a bunch of running around, gun-toting crazy people. We're here to educate, because a good educated person and a firearm is the best person you want."
In addition to the trailer, Blackwater aims to construct a 100-foot indoor range to expand its offerings.
The facility is located about a half-mile from Pete's Gun and Tackle, Hudson's decades long mainstay for guns and ammo. Mike Goyette, the store's owner, appeared before the Planning Board in early 2012 to raise issues surrounding the establishment, Chronopoulos said.
Though he was unavailable for comment, Goyette has taken steps toward opening a firing range at his shop.
Blackwater is awaiting approval by Hudson's planning board to open the live fire trailer to the public.


text:
The #1 all-in-one solution to fix Mac OS X Lion, Mountain Lion and Mavericks.
The two best tweaking solutions for users of Mac OS X. Lion Tweaks and Mountain Tweaks is loved by a whole community for making it easy to customize both Lion and Mountain Lion any way you want! If you still haven't tried either Lion Tweaks or Mountain Tweaks, go ahead and download a copy today! It's all free!
With a super simple UI you are able to find and enable tweaks with just a click-of-a-button. We think that's great!
Tons of different tweaks to change every aspect of Mac OS X. There's a tweak for every user!
More than 300.000 people are using our tweaking-apps. This represent 3% of all Mac OS 10.7 users. It's incredible!
I'm relying on donations to keep it free.
I am a young independent developer from Norway, and all of my apps are free. Anyway, I would appreciate a donation if you find it usable. Thank you very much!


text:
LONDON (AP) — Another much-loved film is getting the screen-to-stage treatment. Producers say a theatrical adaptation of "Shakespeare in Love" is coming to London's West End next year.
The script will be by playwright Lee Hall, who adapted the movie "Billy Eliot" into a hit stage musical. It will be directed by Declan Donnellan and designed by Nick Ormerod, both of the innovative Cheek By Jowl theater company.
"Shakespeare in Love" starred Joseph Fiennes as the struggling playwright and Gwyneth Paltrow as his elusive love. The 1998 film won seven Academy Awards, including best picture.
The play is produced by Disney Theatrical productions and Sonia Friedman Productions and begins previews at London's Noel Coward Theatre in July.


text:
My Account
Shopping Cart
Jay's Taekwondo
Privacy Policy
Members Only
New Students
About Us
About Taekwondo
Hours of Operation
What We Offer
Traditional Taekwondo
Competition Taekwondo
Mu Sool Sa Do/Weapons
Self Defense
Age Levels
Toddler Classes
Special Needs
Home School
Novice Classes
Advanced Classes
Black Belt Classes
Seminars For Everyone
Focus Group Seminars
Training Camps
Coaching Seminars
Referee Training
Community Programs
Women's Self Defense
Introductory Classes
Board Breaking
Kids Only
Training Camp
Birthday Parties
Individual Training Sessions
Demo Team
Junior Leaders
Specials and Coupons
Eagle River Dojang
Mat-Su Dojang Classes
Academy Charter School
Event Updates
2008 Jay's Classic
2008 Alaska State
2008 Spring Inhouse
Tournament Results
2006 Junior Olympic Updates
Greatland Games Results
2006 Dutch Open Pictures
2006 Winter Inhouse
Alaska State Fair
2006 Dutch Open Updates
2006 Senior Nationals Updates
2007 Seniors/Juniors
US Open 2007
2006 Awards
2006 Dutch Open
2007 US Open
Eagle River Dojang Remodel
Alaska's High Level Training Center
2012 US Nationals
2012 Summer Advanced Belt Testing
2011 Winter Advanced Belt Testing
2011 Juniors/Seniors
2011 Alaska State
2011 St. Jude Kick-A-Thon
2010 Juniors/Seniors
Review of Juniors
Photo Album
2010 State
2009 Juniors/Seniors
Archive Results
2008 US Qualifier
Sabumnim Trantham's Visit
2009 Nominations
2008 All Star
2007 Awards
2008 Juniors/Seniors
Jrs/Srs Photos
Uniform Size Chart
Women's Fitness
Sparring Gear
Judo Gear
Site Map
Contact Us
Online Inquiry
Email Alerts
Feel Good About Yourself!
907-696-0044 907-376-7433
Processing ....
A review of Junior Olympics - From Grandmaster Keller.
The 2010 Junior Olympics are over and the team did outstanding. For over half the team, this was their first time at such a prestigious event and their first time having to overcome so many unpredictable obstacles. They set out to perform with the best in the United States and some even became a 2010 National Junior Olympic Champion. This year's school members that earned first place and claimed such a memorable and honorable title are Chris Lindgren (Junior 3rd Dan male forms champion), Kylie Gordon (Junior black belt female breaking champion), Marcus Freeman (14-15 red belt male bantam-feather sparring champion), and Gabby Hindman (10-13 yellow belt female weapon champion). Additional medalist and places are: Gabby Hindman – 2
place (10-13 yellow belt female breaking), 3
place (12-13 yellow belt female sparring) and Alexx Williams – 2
place (14-17 black belt female sparring)
I'm so very proud to have each and every one of you as team members. You truly showed how all your hard work and dedication paid off. You made huge strides in confidence and abilities and showed outstanding sportsmanship, courtesy, and respect to the other athletes, referees and coaches. You made the school proud. You made Alaska proud. Each and every parent should feel very proud to have such wonderful and respectful children and teenagers.
Once again thank you for doing your best, thank you Team Coaches Master Krison and Jr. Master Brunke for outstanding coaching and support, thank you Adult Team for supporting your Juniors throughout the week, and thank you parents for your support here and at home.
Tomorrow starts the Senior National Championship. Keep following the website for continued updates.
Powered by Century Direct
Martial Arts Websites


text:
Contact details
Stunning range of contemporary ceramic work including clocks, mirrors and vases.
Read more
Want to know more? Ask a question in our Community, they're the people who know Ireland best.
For more information on travel, accommodation and attractions have a look at our brochures and maps.
If you're a visitor from the island of Ireland you may want to visit one of these sites… Otherwise proceed to Ireland.com
Share this link
Ireland.com uses cookies to ensure that we give you the best experience on our website. If you continue without changing your settings, we'll assume that you are happy to receive all cookies from Ireland.com.


text:
Views: 2877
Hi Jane. I don't know where in SA you are, but in Cape Town at least, we're becoming increasingly visible, although far more can be done! The Free Society Institute, which I chair, is a registered NPO, and frequently contributes letters to the press, op-ed's and so forth, as well as doing things like launching an ASA case against PowerBalance. We're a member of the IHEU, hosting (usually) annual conferences and (usually) monthly Skeptics in the Pub events. But despite this, I have to agree with your observation re. invisibility, because so few people get involved actively - so critical mass is difficult to generate. Anyway - let me know where you are. If you're in CT, I can tell you more about what we're doing (there's a skeptics in the pub on the 20th of Jan, for example), and if elsewhere, point you in the direction of contacts I've made in your area.
Aye, I've heard some horror stories re. Unisa, but I'm sure they're the tip of the iceberg! I think I met Tanya at the LA conference last year, but in any case, glad to hear she's heard of us. The JHB crew are actually quite organised, especially in terms of community solidarity. There's a sceptics in the park on Saturday, Jan 22 at Zoo lake, so if you're free then, go and meet them: https://www.facebook.com/events/233471210062234/ . Most of the South African atheist chatter is on Facebook, usually cross-posted to the SA Sceptics group: https://www.facebook.com/groups/25920789463/ . Owen Swart & Michael and Angela Meadon do a weekly podcast on matters sceptical and sciencey, as does Deon Barnard (not weekly, if I recall correctly).
Hi Jaques
I am available for campaigning. I live in Tokai, so I can easily coordinate with you. All the skeptics, humanist stuff its all fine, but I am really interested in hard core atheism, without any of the euphemisms. I would like to see us pick first a single unifying issue that we can rally around. One at a time we pick and win the issues that matter.
The kind of thing that interests me is ICASA bringing a court action against Top TV about their porn channels. I like this type of issue becasue I neither watch porn or have much interest in it, except that I defend any persons rights to watch whatever they want. The idea that religious people bring, that free thought somehow "damages" society is the first step to closing athiests down. If porn damages us, imagine what denying prophets or messiahs does. By aligning ourselves to other groups we start to out flank the theists and show them to be the biggots that they are.
I find the deification of a man insulting to human intelligence and while the claims of prophets to have direct lines of thinking to God are only marginally less ridiculous, both concepts are rooted in pathological irreverence to reality and are severly offensive to the rational mind. Now if theists find pornographers so dangerous as to wish to limit their private viewing habits, imagine what they think of me and person who think like me. Its a bit like PW Botha and the total onlslaught. Let us fight them on the peripheral issues before they get to the core of our beliefs, and start strangling us for who we are.
While I think it is great that you have your own society and I am sure you are an able president thereof, I would however prefer to work inside the context of Atheist Nexus and use the momentum that they have. It is a lot stronger when we make public statements on behalf of a high profile international organisation. Brother Richard is a full time atheist, without a day job and he has an able and full record as a card carrying atheist. \it si difficult to fault his public statmetnt adn he creates a great framework in which to function. When Bishop Tutu speaks he carries with him the full weight of the Anglican Church. So should it be with us. We cannot be simply Jaques, Philip and Jane.
We need to open a line of organised activity and make sure that Brother Richard is fully behind us.
I work in the open source software industry and one of the rallying points we have is a world software freedom day. A world atheist day - like Good Friday or Eid will give us a rallying point for media promotion. You will surprised how quickly it comes around.
OK - give me the unifying issue...
Hi Philip,
We aren't simply Jacques,Philip and Jane. In my case, I'm pursuing a strategy agreed upon by an executive committee, with input from members at things like AGM's. So I'm not in a position to make ad hoc arrangements here. It sounds to me like our (ie. yours vs. the FSI's) strategies aren't aligned, even though our causes are. For example, I've written on the TopTV thing, and will be presenting at the public hearings. But none of this happens on Atheist Nexus, because I've never found any SA atheists here besides you (and now Jane), and only joined here to respond to your post a while back. By contrast, there are already hundreds of people on other social networking platforms (Facebook, even though I don't like FB), so it makes no strategic sense for me to want to move here.
Good luck with your direction,
I'm here... :)
© 2018 Atheist Nexus. All rights reserved. Admin: The Nexus Group. Powered by