text:
Looking for a functional testing framework to test your web application front-to-back? Not sure whether to focus on Integration or Unit Tests? Casper JS may well be the right tool for the job. Learn more about front-end testing and how you can put it to work for you by checking out my blog post over on Help Scout's blog.
Tag Archives: JavaScript
Introducing Marionette-Require-Boilerplate for Your Single Page Application
Marionette-Require-Boilerplate (MRB) is a simple boilerplate I created to help get Single Page Applications off the ground with a small starter project. It incorporates a number of great tools and best practices to save time in the early stages of a project.
MRB integrates such cutting edge libraries as Backbone, Marionette, Require, Grunt, Jasmine, Bootstrap and jQuery Mobile, among others. These libraries work together to help you start your project off with a rock-solid foundation, with a powerful module system, composite architecture, simple build process, and unit tests. Marionette-Require-Boilerplate is part of the BoilerplateMVC suite, which includes standouts like Backbone-Require-Boilerplate, the inspiration and basis for MRB. Stay tuned for more from the BoilerplateMVC team!
The GitHub repo has more extensive documentation, but in this post I'd like to introduce some of the underlying technologies and explain what makes MRB a great place to start for your SPA.
Marionette is a framework that sits on top of Backbone and provides a composite architecture and a set of tools to help you solve some of the most common problems in Backbone applications, including nested views and layouts, memory management and cleanup of zombie views, and event-driven architecture. Backbone is a fantastic library and provides many useful pieces, but its great strength — lightweight flexibility — is also its great weakness. It is not a framework and leaves you to figure out some basic functions, like how best to create and remove views, or how to nest views within each other.
If you are not confident in your ability to competently architect a Backbone JS application, or you're just looking to save time, then Marionette is the tool for you. Read more about what it has to offer in the Marionette chapter of Addy Osmani's Backbone Fundamentals e-book.
RequireJS is the most popular implementation of the Asynchronous Module Definition (AMD) spec. It provides a powerful, flexible and consistent way to organize your application into separate modules with clearly defined dependencies. It allows you to load these modules as separate files asynchronously in your code, or use the r.js optimizer to load all of your modules in a single, minified JS file for production builds.
Note: Marionette has a concept of Module that is very different from the RequireJS "Module" concept. Do not confuse the two. In Require, a module is simply a unit of code that is run once and returns a function or object of some kind for use in other modules. In Marionette, a Module is essentially a section of your application that can be started or stopped, serving as a coarse grain method of organizing your code. It would be possible to define a Marionette Module in a Require Module if you like, but your head might explode.
Bootstrap and jQuery Mobile
Twitter Bootstrap is a leading front-end UI framework for building rich web applications. It includes a large set of CSS classes and jQuery widgets that you can add to your markup to transform it into beautiful, sleek and customizable UI elements. It is an ubiquitous framework — popular because it helps developers who lack certain design skills to easily crank out clean, elegant UIs with minimal effort and non-invasive code and CSS. jQuery Mobile is a leading UI framework for mobile applications that builds on jQuery UI and brings a number of mobile-friendly widgets and controls to the table.
Mobile vs Desktop
MRB uses a scheme (borrowed from Backbone-Require-Boilerplate) that detects the user's browser and loads either Bootstrap or jQuery Mobile accordingly. It also loads either the Desktop Marionette Controller or the Mobile Marionette Controller. In Marionette, a Controller handles a Router's routes, and is used to instantiate Models and Views and show them in appropriate Regions or Layouts.
In MRB, the Mobile/Desktop Controllers load Views which work with either jQuery Mobile or Bootstrap (for instance, MobileController loads a MobileHeaderView, while DesktopController loads a DesktopHeaderView). This is our strategy for differentiating behavior and UI elements for mobile or desktop. This is just my strategy, and it may or may not work well for you, so take it or leave it. If you don't want to worry about the mobile/desktop dichotomy up front, you might consider checking out Marionette-Require-Boilerplate-Lite, which eschews this division and skips jQuery Mobile in favor of a purely Bootstrap approach. Whichever you prefer.
MRB uses Jasmine to execute and manage unit tests. Jasmine's syntax is very readable and makes it an attractive choice for unit tests.
Handlebars is our templating engine of choice. It offers a clean, friendly syntax that discourages excessive logic in your views, and is a popular choice these days over EJS-style templating options like Underscore's
_.template(). In MRB, we use the require-handlebars-plugin to automatically load our templates as AMD modules, pre-compiled (read: big performance boost) and with custom helper methods and i18n support.
Node HTTP Server
MRB runs a simple Node HttpServer on port 8001. This is not necessary, but since Grunt and the RequireJS optimizer both run on Node, it is a reasonable assumption that the user will have it installed. If you don't want to run MRB on Node, you can just as easily point a simple Apache web server at the
public/ directory in the project. A web server is required; using the plain file system won't work because of RequireJS's dynamic loading of resources.
Best Tools plus Best Practices
With Marionette-Require-Boilerplate, I have attempted to bring together a collection of great tools and best practices to help web applications get started quickly and with a firm footing. I hope you find it as useful as I have. I'd love to hear your feedback, so follow me on GitHub or hit me up on Twitter!
On Templating in Backbone
I recently saw a post on Hacker News about adding custom extensions to Handlebars which allow you to call methods on the data that is passed to your Handlebars template. Before I had a chance, someone astutely pointed out that Handlebars is designed for logicless view rendering, but that other templating solutions do offer the ability to include real logic in your templates.
This got me thinking, and I thought I'd share what has been my approach to templating in my own Backbone apps.
Handlebars – beautiful syntax & logic made difficult
Handlebars is designed to be semantically pleasing. It's hard to beat in terms of syntax:

{{title}}

 {{#each people}}
{{this}}
 {{/each}}

When it comes to logic though, you are limited to a few basic built-in helpers or are forced to add your own custom helpers. For instance, if you want to check for whether a
description attribute is truthy, you can do this:
{{#if description}} {{description}} {{/if}}
But if you are looking to check whether an attribute matches a given value, you are out of luck.
Does not work
{{#if age >= 21}}
Drink up!
 {{/if}}
This is a reasonable thing to wish to do, but to do this in Handlebars would require you to write your own custom extension, like so:
Helper method
Handlebars.registerHelper('isLegal', function(val, options) { if ( val >= 21 ) { return options.fn(); } else { return options.inverse(); } });
{{#if isLegal}}
Drink up!
 {{else}}
Bummer
 {{/if}}
There is something to be said for forcing you to work hard to implement custom logic in your templates, but we programmers are pragmatic and sometimes you just want something done fast. In these cases, I like to fall back on a much uglier, more powerful templating solution:
Underscore – ugly syntax & logic made easy
Underscore templates won't win any awards for elegance. While they may appeal to some Java jockeys coming from JSPs, for most of us it's a no-brainer which syntax is easier to use.

<%= title %>

 <% for (var i = 0; i < people.length; i++ ) { %>
<%= people[i] %>
 <% } %>

That being, said, logic is easy and you can put as much of it as you like in your Underscore templates!
<% if ( age >= 21 ) { %>
Drink up!
 <% } %>
I choose… both!
With Backbone, I think people feel like they have to choose between the two ways of templating, each with its own advantages and drawbacks. But I think this is really a false choice – each excels in its own way and with Backbone it's easy to choose both!
What I have found to be best is a Handlebars-first, Underscore-if-needed approach. You can't beat Handlebars for syntax, and your project ought to be structured in such a way that your templates don't require much logic anyway. But in those cases where you really do need something more powerful, there is no harm done in falling back on Underscore. In fact, since Backbone itself depends on Underscore already, it's already right there waiting for you to use!
Here's an example of 2 views, one which renders with Handlebars, and one with Underscore:
var HandlebarsView = Backbone.View.extend({ template: _.template(handlebarsTemplate); model: new Backbone.Model({ title: "Famous Authors", authors: ["Hemingway","Hawthorne","Orwell"] }), render: function() { this.$el.html(this.template(this.model.toJSON())) } });
Handlebars Template

{{title}}

 {{#each people}}
{{this}}
 {{/each}}

var UnderscoreView = Backbone.View.extend({ template: Handlebars.compile(underscoreTemplate); model: new Backbone.Model({ age: 23, legalMessage:"Drink up!" }), render: function() { this.$el.html(this.template(this.model.toJSON())) } });
Underscore Template
 <% if ( age >= 21 ) { %>
Drink up!
 <% } %>
Here we see how little effort is required to swap out your templating engine (something of a contrived example, I know). This can be done on a View-by-View basis and IMHO offers the best of both worlds. I'd love to hear your thoughts, so leave a comment or hit me up on Twitter.
Modularization in TypeScript
UPDATE 2: The 0.9 release of TypeScript added support for CommonJS-style `module.exports = {}`, allowing you to export a class! This makes exporting/importing very, very much easier, and obviates the need for some of the more convoluted stuff at the end of this post.
UPDATE: Check out the new github project that accompanies this post:typescript-modularizatino-demo
In my last post, I introduced TypeScript, Microsoft's new offering which layers static typing on top of JavaScript. Today I'd like to go further and discuss modularization and code organization.
TypeScript has the ability to take advantage of a pair of JavaScript modularization standards: CommonJS and Asynchronous Module Definition (AMD). These capabilities allow for projects to be organized in a manner similar to what a "mature," traditional server-side OO language provides. This is particularly useful for the most likely candidates for TypeScript – large Web Applications.
On the State of Modularization in JavaScript
Organizing scripts in JavaScript-based web apps has historically been a thorny issue. With no native, built-in system for modularizing code into packages, applications tended to quickly devolve into Script Tag Hell – dependencies being resolved by remembering to put this script tag before that one, but not before the other! Add to this the difficulty of preventing pollution of the global namespace and you have strong incentives to structure your application in as few files as possible.
Over time, these factors tended to act as a gravitational force, pulling your code closer and closer together, until the entire application collapsed under its own weight into a single black hole of a JavaScript file before all but the most senior of developers cowered in fear.
Okay, so that's a bit of a dramatization. But the fact is that organizing JavaScript projects by hand was extremely difficult, and often was simply left undone. Fortunately, a pair of specifications was created to address just this problem!
CommonJS and AMD
CommonJS and AMD provide mechanisms for loading JavaScript files as separate modules, giving you the power of organization needed in both server- and client-side JavaScript applications.
The primary differences between CommonJS and AMD are as follows:
- CommonJS is synchronous in nature; AMD loads files asynchronously
- CommonJS is primarily used on the server in conjunction with node; AMD is most useful in the browser and its most popular implementation is RequireJS.
If you're looking for more info, a good overview of the two can be found here (note that you must use the left/right arrow keys to navigate between slides). So, let's get started with a basic example of what the syntax for each of these looks like.
CommonJS uses three "magic" keywords – require, module, and exports. Here's what a simple example of a CommonJS Module file might look like:
function sayHello(name) { alert("Hello, " + name); } exports.sayHello = sayHello;
Here we use the magical exports variable to hang our sayHello function off of. To use this module in another file, we use require.
var greeter = require("greeter"); greeter.sayHello("Dave");
Simple enough, right? Only methods or variables which are attached to exports are available outside the file. At this time, note that both CommonJS and AMD modules follow the Singleton pattern – when you include a module the first time, the code in that file runs. The second time you include it, you get a reference to the object which was produced the first time.
The last keyword CommonJS uses is the module keyword, which provides some additional capabilities (read about them here), one of which is a module.exports property. This property is initially the same as the exports property and can be used to hang off public methods and variables, but it also allows you to manually define exactly what object gets returned when the current module is required. For instance:
function sayHello(name) { alert("Hello, " + name); } exports.sayHello = sayHello; module.exports = "Hello World";
var greeter = require("greeter"); alert(greeter); //alerts "Hello World"
Here we see that although we set exports.sayHello to a function, we overrode the entire returned module by setting module.exports to the string "Hello World."
Let's now turn to AMD. AMD's special keywords are define and require (it works differently than the require in CommonJS so keep that in mind). define is used to define new modules, and require is used to load them. Keeping in mind that the "A" stands for "Asynchronous," we are not surprised that AMD's syntax involves callback functions.
define([/*dependencies go here*/], function (/*and get mapped to variables here*/) { return { sayHello: function(name) { alert("Hello, " + name); } } });
And to load this module, we do so either in another define call, or dynamically with Require.
//define an "app" module define(["greeter"], function (greeter) { var app = { initialize: function() { greeter.sayHello("Dave"); } } return app; });
function initialize() { //dynamically load "greeter" without defining another module require(["greeter"], function (greeter) { greeter.sayHello("Dave"); }); } initialize();
So, a little bit more verbose here, but the advantage is that we have the power to load modules asynchronously at runtime! Although Require provides build tools which let you compile your code into a single (or multiple) file, you are also free to load modules dynamically, on an as-need basis at runtime. Both of these options are very useful when working on large projects where performance is a concern.
I should mention now that one feature of AMD/RequireJS is the ability to load code which was written with CommonJS in mind. Code like this expects an exports variable, which Require can provide if we write our code like this:
//define an "app" module define(["greeter", "exports"], function (greeter, exports) { exports.initialize = function() { greeter.sayHello("Dave"); } });
Here all that we do is specify a dependency of "exports," and then the resulting exports variable can be used just like you would in CommonJS. The reason I mention this alternative syntax is because this is the way that TypeScript actually compiles when compiling to AMD.
Modularization in TypeScript
I will spend most of the remainder of the article focusing on AMD compilation in the browser, since that is the most common and important use case for most developers, and also happens to be the trickiest.
In Visual Studio 2012, you can set up your project to use AMD by editing your project file's "BeforeBuild" step to include the –module amd parameter, as described here. Note that if you are using AMD (i.e. in the browser) you must have loaded an AMD loader such as RequireJS. Otherwise, your project may compile, but it will fail to work in the browser.
Before we get into the details of modularization, let's talk briefly about classes in TypeScript. Before proceeding, it might be a good time to brush up on your JavaScript prototypes-vs-classes, prototypical inheritance-vs-classical inheritance knowledge. If you've had a cursory look at TypeScript, you've seen that class in TypeScript works out to be a constructor function/prototype in JavaScript.
class Pony { bite() { alert("Chomp!"); } }
compiles to
var Pony = (function () { function Pony() { } Pony.prototype.bite = function () { alert("Chomp!"); }; return Pony; })();
Which is basically how TypeScript classes work – syntactic sugar that ultimately resolves to a plain old constructor function in JavaScript. The benefit of this, of course, is that it is considerably easier for a developer steeped in OO to understand this way of doing things than trying to wrap one's mind around prototypes and constructor functions right off the bat.
With the 0.9 release of TypeScript, Microsoft added support for a module.exports – style assignment, just as I hoped they would. You can now export and import classes directly, like so:
// client.ts
class Client {
constructor(public name: string, public description: string) { }
export = Client;
// app.ts
import MyClient = require('./client');
var myClient = new MyClient("Joe Smith", "My #1 client");
This is hugely helpful and supercedes about 80% of the information that follows. I may write another blog post on the subject, but probably not since this is now rather self-explanatory. Please consider all export/import information that follows to be deprecated.
To use our Pony class in another TypeScript file, we simply use the export keyword:
export class Pony { bite() { alert("Chomp!"); } }
Which with CommonJS compilation yields this:
pony.js (CommonJS compilation)
var Pony = (function () { function Pony() { } Pony.prototype.bite = function () { alert("Chomp!"); }; return Pony; })(); exports.Pony = Pony;
And with AMD compilation looks like this:
pony.js (AMD compilation)
define(["require", "exports"], function(require, exports) { var Pony = (function () { function Pony() { } Pony.prototype.bite = function () { alert("Chomp!"); }; return Pony; })(); exports.Pony = Pony; });
To user out Pony class, we first must import that file, like so:
import Pony = module("pony"); var pony = new Pony.Pony(); pony.bite();
Implicit Modules, or when TypeScript is unwieldy
Wait, that seems a little bit different than we might have expected… Shouldn't we be able to just say var pony = new Pony()? As it turns out, no. Let's take a closer look at the compiled output above. Notice that, as mentioned previously, TypeScript uses exports.* to export functions and variables, rather than just returning the object or function desired. Because of this, our Pony constructor function, rather than itself being the exported object, is actually just a method off of the exported module! I like to call this surprising behavior Implicit Modules (my term, good luck googling it) – when exporting a class in a file, the file essentially becomes its own module which contains the class that you wanted to export.
IMHO, what would have been more convenient would have been for TypeScript's compilation to yield a module.exports-style assignment, which would have enabled us to import the Pony class directly, rather than just as a variable off of some sort of implicit Pony module or namespace.
While this is largely just a bit of a syntactical inconvenience, it can also make it difficult-to-impossible to port over JavaScript code which relies on module.exports, as someone who registered an issue with Microsoft complained. It remains to be seen whether a future modification to the language specification, or some compiler flag of some sort will make it possible to compile this way. As we will see later, when importing JavaScript libraries, this will cause a little bit of difficulty.
One thing that can be done is to use this deficiency as a feature. Rather than authoring a single class per file, it becomes perhaps more desirable to place a set of related classes in a single file. For example:
class Pony extends Animal { bite() { alert("I, " + this.name + " have bitten you!"); } } class Animal { name:string; constructor(name:string) { this.name = name; } } var pony = new Pony("Bob"); pony.bite();
import Animals = module("animals"); var pony = new Animals.Pony("Bob"); pony.bite();
Inheritance, or when TypeScript is great
In this example, we see both an arguable weakness (implicit modules) and a great strength of TypeScript – classical inheritance! Being able to elegantly define classes which inherit from each other is invaluable in large-scale application development. I consider this one of the greatest strengths of the language. Of course, ultimately it just resolves to JavaScript, but achieving this capability in pure JavaScript is really ugly and nigh-inscrutable. I prefer scrutable. But back to modularization.
When dealing with TypeScript-only modules, the Import/Export system works more or less like a charm. When you want to start including JavaScript libraries, it gets a bit trickier.
Importing JavaScript
In TypeScript, there are two ways to "include" another source file – reference comments and import declarations. Let's have a look at each.
Reference comments
Reference comments add a dependency on the source file specified. They are only used for compilation purposes, and can be used to provide IntelliSense for JavaScript files. They do NOT affect the compiled JS output. Here is an example:
/// <reference path="pony.ts"/> var pony : Pony; //compiler now recognizes Pony class.
This tells the compiler that pony.ts will be available at runtime. It does not actually import the code. This can be used if you are not using AMD or CommonJS and just have files included on the page via script tags.
Import declarations
If we want to load a file via AMD or CommonJS, we need to use an import declaration.
import myModule = module("pony");
This tells the compiler to load pony.ts via AMD or CommonJS. It does affect the output of the compiler.
Importing JavaScript
Let's face it. Most of the libraries we will want to use are not written in TypeScript – they're all in vanilla JavaScript. To use them in TypeScript, we're going to have to do a little bit of porting. Ambient Declarations and Declaration Source Files will be our tools.
Ambient Declarations (declare var)
Ambient Declarations are used to define variables which will be available in JavaScript at runtime, but may not have originated as TypeScript files. This is done with the declare keyword.
As a simple example of how this could be used, let's say your program is running in the browser, and you want to use the document variable. TypeScript doesn't know that this variable exists, and if we start throwing document's around, he'll throw a nice compiler error. So we have to tell him, like this:
declare var document;
Simple enough, right? Since no typing information is associated with document, TypeScript will infer the any type, and won't make any assumptions about the contents of document. But what if we want to have some typing information associated with a library we are porting in? Read on.
Declaration source files (*.d.ts)
Declaration source files are files with a special extension of *.d.ts. Inside these files, the declare keyword is implicit on all declarations. The purpose of these files is to provide some typing information for JavaScript libraries. For a simple example, let's say we have an amazing AMD JavaScript utility library, util.js which we just have to have in our TypeScript project.
define([], function() { return { sayHello: function(name) { alert( "Hello, " + name ); } } });
If we wanted to write a TypeScript declaration file for it, we would write something like this:
export function sayHello(name:string): void;
Declaration source files stand in for the actual .js files in TypeScript-land. They do not compile to .js files, unlike their plain *.ts peers. One way you can think of it is *.d.ts files act as surrogates for their .js implementations, since plain .js files aren't allowed in TypeScript-land. They simply describe their JavaScript implementations, and act as their representative. What this means is that now you can import JavaScript! Here's how we would use our util library:
import util = module("util"); util.sayHello("Dave");
This import statement here uses AMD or CommonJS to load the util.js file, the same as if util.js had been the compiled output of a util.ts file. Our util.d.ts provides the compiler/IDE with the IntelliSense to know that a sayHello method exists. The big takeaway here: If you want to include a JavaScript file, you need to write a *.d.ts file.
Note here that we used an Import Declaration to include our .js file. If we had merely wanted to tell the TypeScript compiler that util would be available at runtime (meaning we already loaded it somewhere else, via script tag or RequireJS), we could have used a Reference Comment in conjunction with an Ambient Declaration. To do that, we would first need to change our declaration source file:
interface Util { sayHello(name:string): void; }
This defines a Util interface which we can then use for compilation purposes.
///<reference path="util.d.ts"/> declare var util: Util; util.sayHello("Dave");
It turns out that lots of people in the open source community have been cranking out TypeScript interface definitions for some of the most popular JavaScript libraries, including jQuery, Backbone, Underscore, etc. You can find dozens of these on GitHub in the DefinitelyTyped project. The interface definition for jQuery can be found here.
How to be lazy
What if I don't want to take the time to re-write my .js library in TypeScript, or carefully craft an exhaustive *.d.ts file? It's not hard to get around. Back to our util.js example. Let's say that we had another method, sayGoodbye, which we didn't want to take the time to define in our util.d.ts file, because of our supreme laziness. Simple. Just define a single export function in util.d.ts (one line isn't going to hurt you!). Then, when you want to use methods that TypeScript doesn't know exist, just use an Ambient Declaration, like so:
import util = module("util"); declare var unchained:any; unchained = util; unchained.sayGoodbye();
The magic here is the Ambient declaration of the unchained variable, which is of type any. The any type tells TypeScript not to worry about typing – this variable could be anything. Trust us.
Dynamically Importing Existing JavaScript Libraries – The Problem(s)
The trickiest part of all this is getting TypeScript to use AMD or CommonJS to import a JavaScript library or module, rather than just making it compile using a reference comment. There are two tricky components to this.
First, if you are using an interface definition like those found online, you can NOT use that file as your *.d.ts in an import declaration. The interface declaration is only used to provide compiler/Intellisense information to the TypeScript compiler – interfaces are different than classes. In order for you to import your external library like we did in our simple util.js example from earlier, you need a different sort of *.d.ts file – one which uses the export keyword.
Second, recall from earlier how TypeScript has what I like to call Implicit Modules when importing files? You can't directly import a class – you import the file it is in and then get your class definition off the resulting module object. Well, this causes us some grief when it comes to importing JavaScript modules which don't follow the exports.* pattern in their AMD implementation, since most of the time when you import a "class" (constructor function) in AMD, you expect the imported object to be the constructor function itself.
Static Solution – Exporting to global namespace
The first, and simplest way to use a JS library in TypeScript is to simply make a Reference Comment to the *.d.ts interface definition, make an Ambient Declaration for the variable, and then do the actually loading in your RequireJS configuration, exporting the library into the global namespace. This method is acceptable if you are talking about common core libraries such as jQuery or Backbone, but since it relies on the global namespace it is NOT a recommended solution generally. Here's what this looks like, using jQuery as an example.
require.config({ paths: { 'jquery': 'libs/jquery-1.8.3.min' }, shim: { 'jquery': { exports: '$' } } }); require( ['app', 'jquery'], function(App) { App.start(); });
///<reference path="jquery.d.ts"/> declare var $:JQueryStatic; //JQueryStatic is defined in jquery.d.ts export class App { start() { $( "#content" ).html( "
Hello World
" ); } }
The key here is that jQuery is loaded in a non-AMD, globally scoped fashion. In the shim-jquery-exports-$ section in the RequireJS configuration, you can see that the exports keyword tells Require that when "jquery" is loaded, the result is "exported" into the global variable $. Then in our TypeScript file, we simply add a Reference Comment for our *d.ts interface definition and then make an Ambient Declaration saying that the variable $ will be available at runtime and is of the type JQueryStatic.
This is a great method for application-wide libraries like jQuery, but as I mentioned before, it is NOT advisable to use this willy-nilly due to its reliance on the global namespace as well as its load-everything-up-front approach, which may not be desirable in some larger applications. Also note that anytime you want to include a new JS library, you must change your application-level configuration, and this cannot be done (not easily at least) in TypeScript.
Dynamic Solution
So how do we use TypeScript to dynamically import JavaScript libraries? To get around the first problem mentioned above, what I like to do is to define two separate *.d.ts files: one containing the interface definition you probably pulled off the web, and another which exports a single variable of the type defined in the interface file. Let's use jQuery as our example again. The jquery.d.ts definition defines a JQueryStatic interface. Lets rename our interface definition file to jquery-int.d.ts, and create a new jquery.d.ts that looks like this:
///<reference path="jquery-int.d.ts"/> export var $:JQueryStatic;
This will allow TypeScript to compile if we import jQuery like below.
import JQuery = module( "libs/jquery" ); var $:JQueryStatic = JQuery.$; export class App { start() { $( "#content" ).html( "
Hello World
" ); } }
Now we are able to compile in TypeScript. However, let's say that we have a fairly standard AMD-compliant loader file for jquery, which might look something like this:
define( ["libs/jquery-1.8.3.min"], function() { return $; });
Using an AMD "loader" file like this is a common way of modularizing non-AMD JavaScript libraries. The problem here though is although our jquery.js loader returns $ when imported, in TypeScript our import statement expects an object that has a property of $. This is the second problem I mentioned earlier. My workaround for this is to change my AMD loader file to make it use exports.* just like TypeScript does.
define(["exports", "libs/jquery-1.8.3.min"], function (exports) { exports.$ = $; });
Now when we import our jquery.d.ts in TypeScript, we will have the results we expected: a nice exported module with a $ property that happens to conform to our JQueryStatic definition. After weeks of scouring the web, this is the best method that I have come up with for dynamically importing JavaScript libraries in TypeScript. Let's review the steps:
Dynamic Strategy Summary
- Snag an interface definition (*.d.ts file) off the web, or create one yourself. Remember that you can always be lazy and fall back on the any type.
- Rename this interface definition file example-int.d.ts.
- Create a new example.d.ts file which exports a single variable of the type defined in your interface definition
- Create a "loader"-style file example.js and use exports.* to export the desired library.
- Where desired, simply import the example module and find your desired library as a property off of the imported module.
And that's it! It is a bit involved and definitely more work that I would have liked. I am hoping that the maintainers of the TypeScript language someday soon add the ability to use module.exports like I mentioned earlier, but until then this sort of workaround seems to be the order of the day.
To summarize our findings, let's turn now to an elegantly crafted outline:
- TypeScript provides handy-dandy static typing and IntelliSense on top of core JavaScript
- Modularization in core JavaScript is crappy to non-existent
- AMD and CommonJS are great and allow you to cleanly organize code
- TypeScript can do AMD or CommonJS
- –module flag let's you switch between the two
- TypeScript inheritance is great (tangential but true)
- CommonJS module.exports is not allowed.
- TypeScript-to-TypeScript is clean and awesome (with the exception of limitations from c.)
- JavaScript-to-TypeScript
- Relies on Reference Comments, Import Declarations, Ambient Declarations, and Declaration Source Files
- Is fairly simple when using global namespace
- Is more involved when loading dynamically
- Problems
- interface definitions are not the same as exports.
- Cannot directly import because of Implicit Modules
- Solution: see "Strategy Summary" above
- Problems
I like my strategy because, although there is some overhead in writing AMD loader-files which use exports.*, you can leverage the host of online interface definitions while maintaining TypeScript's clean and elegant syntax. Please recall though that this technique is not necessary if the library in question is loaded in the global namespace!
If you've found an even better way of importing JavaScript, I'd love to hear about it. I would also be totally stoked if you'd follow me on Twitter – @brettjonesdev
This article first appeared on Keyhole Software's blog. Stay tuned for more of the latest in tech for small shops to the Enterprise!
UPDATE: I have created a simple example of the two main techniques (static versus dynamic imports) I describe here. Check it out on github: typescript-modularizatino-demo
Intro to TypeScript Language and Tooling
TypeScript, Microsoft's new open source JavaScript derivative, brings static typing along with a number of conventional OOP features to the Wild West of JavaScript. Much like CoffeeScript, this syntactical cousin of Ruby and Python compiles to plain old JavaScript. However, unlike CoffeeScript, TypeScript is in fact a superset of the JavaScript language. What this means is that you can actually write vanilla JavaScript in TypeScript (which is cool).
Language Basics
Static Typing – Hello World
Here's a simple example of TypeScript's static typing:
function greet(name:string, times:number, el:HTMLElement) { var message: string = ""; for (var i = 0; i < times; i++) { message += "Hello, " + name; } el.innerHTML = message; } greet("Bob", 3, document.getElementById('content'));
If we try to pass our greet function parameters of the incorrect type, TypeScript won't compile:
greet("Bob", "not a number", document.getElementById('content'));
Object Orientation
In my honest opinion, the greatest strength of TypeScript is its introduction of classic OO constructs like classes and inheritance. Granted, these sorts of things can be done in JavaScript's prototypical system (see David Pitt's blog post on the subject), but it tends to be more verbose, a bit confusing and far from elegant. In fact, it is so unwieldy that some popular libraries such as MooTools and Backbone provide their own OO abstractions to shield the common developer from the gritty realities of prototypical inheritance.
TypeScript provides the kind of OO goodies that developers over the past twenty years have come to expect. This can be very useful in helping ease developers coming from a conventional OO background into the wild and wonderful world of JavaScript and prototypical inheritance. Look at the following example of a simple class:
class Animal { name: string; constructor(name: string) { this.name = name; } sayHello() { alert("Hello, my name is " + this.name); } }
This compiles to the following JavaScript:
var Animal = (function () { function Animal(name) { this.name = name; } Animal.prototype.sayHello = function () { alert("Hello, my name is " + this.name); }; return Animal; })();
Here we can see that although TypeScript appears to follow a more traditional OOP paradigm, under the covers all it really does is add some syntactic sugar to JavaScript's basic prototypical inheritance model.
Let's look at a simple example of one of the most useful of all OO paradigms (and my personal favorite) – Inheritance.
class Animal { name: string; constructor(name: string) { this.name = name; } sayHello() { alert("Hello, my name is " + this.name); } } class Pony extends Animal { sayHello() { super.sayHello(); alert("and I am a pony!"); } } var pony: Pony = new Pony("George"); pony.sayHello();
Pretty cool! I won't show you what this compiles to here (it's ugly), but if you're curious, copy this into Microsoft's online TypeScript Playground to get a better feel for how TypeScript compilation works.
Plain JavaScript in TypeScript
Although TypeScript allows you to use static typing, at any point in development you are free to fall back to writing vanilla JavaScript. For instance, our original greet method example from earlier could have been written in plain JS:
function greet(name, times, el) { var message = ""; for (var i = 0; i < times; i++) { message += "Hello, " + name; } el.innerHTML = message; }
Modularization and multi-file
TypeScript provides built-in support for CommonJS and AMD modules. It is quite simple to import and export TypeScript files, just like you would in a server-side language. Importing JavaScript libraries is a bit trickier, but can still be done. I will cover more on this in a later blog post dedicated to the topic, so stay tuned!
TypeScript was created by Microsoft, so as you'd expect, the first major IDE to have support for it is Visual Studio 2012. They have a nice plugin that integrates the TypeScript compiler into the IDE. Note that this download includes the TypeScript compiler, which can be run from the command line, as well as the VS plugin (VS 2012 must already be installed when the plugin is installed in order for the IDE to include TypeScript support).
As far as support goes with other IDEs, the current landscape is a bit sparse. WebStorm (my personal favorite web IDE, created by the people who brought you IntelliJ) has support coming in version 6, currently only available in the Early Access Program. There does not seem to be a solid Eclipse plugin yet. There appear to be some offerings available for Sublime Text, emacs and vim.
At the moment, the clear frontrunner – as you might expect – is Visual Studio. Let's look at what it has to offer.
Visual Studio 2012
You can create a new TypeScript project by selecting "HTML Application with TypeScript."
This creates a basic project that includes a default.html that loads app.js, the compiled result of app.ts, the main TypeScript file.
Running in Browser
Building our solution uses the TypeScript compiler to generate an app.js output file. To run, we can select what browser we want to use. Like any level-headed developer, I choose Chrome.
Selecting this option opens up a new tab in Chrome running our app:
We have two options to debug in Chrome developer tools: debug the compiled JavaScript output, or use source maps to debug our TypeScript files. The first option is simple enough – we just open our developer tools, open up app.js and start setting breakpoints.
Source maps are a bit different. If you're not familiar with the concept, you can read about it here. Basically, source maps map the compiled, possibly minified code that the browser sees onto the actual source code you wrote, with all its syntactic niceties. This, of course, makes debugging much easier. In TypeScript, adding the -sourcemap switch on compilation generates sourcemap information in the compiled output. Visual Studio adds this option by default, so we don't have to worry about it here.
To use source maps in Chrome, you must enable the source maps option:
This gives us the option to load app.ts and view our TypeScript code:
These debugging capabilities make real TypeScript development much more practical.
One of the biggest benefits that comes with using TypeScript is the ability to use powerful IntelliSense. With plain JavaScript's dynamic typing, it is quite difficult for IDEs to offer safe, clean and reliable IntelliSense capabilities (WebStorm does it the best, in my opinion). With TypeScript, you can rely on such useful operations as Renaming a method or class. This is something very hit-or-miss in pure JS, and will be a great boon when developing large-scale applications.
Takeaway/First Impressions
My take: it depends on you and your use case.
If you are working on a simple, lightweight web application with no more than a handful of developers, the overhead of compilation and learning new language features will probably not be worth the cost in flexibility and speed of development. You won't like it.
If, on the other hand, you are working on a large-scale Enterprise application with multiple teams and dozens of developers, TypeScript could very well be the tool that makes a JavaScript-based application feasible. There is a certain degree of safety and stability to be found in static typing, and OO certainly helps prevent repetitive coding tasks. If your developers are all JavaScript gurus with years of experience on the client, you probably don't need TypeScript. If you have a gaggle of Java/C# guys, TypeScript could be huge for you.
So should you invest in TypeScript? Again, it depends on your team and your project.
I'll add a final caveat – TypeScript is very new right now. It could be a big risk for an organization to take a leap with TypeScript this early in the game. It certainly helps that a giant like Microsoft is behind it, but it remains to be seen if TypeScript will be a long-lived platform. I would certainly advise caution at this point.
In my next post, I will be examining TypeScript's modularization techniques and how existing JavaScript libraries can be leveraged, so stay tuned!
Part two on TypeScript modularization is now available here. Enjoy!
— Brett Jones, firstname.lastname@example.com
I would also be honored if you would follow me on Twitter – @brettjonesdev.
This article first appeared on Keyhole Software's blog. Stay tuned for more of the latest in tech for small shops to the Enterprise!


text:
Let's see if Cnet members report back if this helped them.
I found this during a look for other problem(s). Since it was released on Sept/2009 its fairly new. Also, used for the infamous print queue stoppage problem. That problem is fairly common to USB HP printers and the utility can help resolve this and/or be part of the solution process for other problems. When visiting the HP support website for your model#, find the "Software and Driver" section, locate utility heading and d/l.
ie: http://h10025.www1.hp.com/ewfrf/wc/softwareList?os=228&lc=en&dlc=en&cc=sg&product=3382185&lang=en
The utility is available for most of the HP printers. Enjoy -----Willy
IMHO, Moderator consider this post for a "sticky"?

subset: commoncrawl


text:
Make every man's fantasy and wish come true by dressing up in this sexy genie costume! The Dream Genie Women's Costume comes with a camisole, bolero, pantaloons and mini hat with harem veil. The camisole is purple, strapless, and will fit comfortably around your torso. The a mini purple bolero that features purple see through sheer sleeves. The pantaloons are designed with sewn in panties, feature pant legs that are made of the same sheer purple sleeves, and decorated with gold coin trimming. This costume is finished with a mini purple hat that is decorated with sheer purple material. This complete costume will transform you into an exotic genie that will make men grant you wishes and not the other way around.
Our Price: $49.97
Our Price: $7.97
Our Price: $39.97
Our Price: $44.97


text:
Date and Time:
Date(s) - Friday, September 5th, 2014 - Saturday, September 6th, 2014
Capture nature, on a wide screen! Creating the ultra wide image is more than just an accident…it is an art form. Learning how to combine multiple subjects within a single image and then capturing them with the perfect exposure and mandatory depth-of-field to render a truly unique image draws on the full range of photographic experience and expertise. Learn the some of the tips and tricks combined digital imaging software that will allow you to experience a truly novel art form. The Garden, with its wide vistas and beautiful landscape makes a perfect backdrop for this class. Learn the techniques necessary for producing beautiful panoramic photographs. Includes detailed instruction on how to set-up, take and compile panoramic photos with photographer Ken Knight. Camera with panoramic capabilities required. Tripod and cable release are highly recommended but not required. Laptop computer with image editing software is also recommended, but not required.
Two day workshop:
Friday • September 5 , 4 p.m. – 7 p.m.
Saturday •September 6, 9 a.m. – 12 noon
Pre-registration is required.
Norfolk Botanical Garden


text:
May 2, 2016
TALLAHASSEE, Fla. (AP) -- Florida is using money from an oil spill settlement for conservation lands in the Panhandle.
State officials said Tuesday that half of Florida's $10 million settlement has been used to buy property and obtain a conservation easement.
The settlement is with MOEX Offshore. It was a 10 percent investor in a well that leaked oil into the Gulf of Mexico when the Deepwater Horizon rig exploded in 2010. MOEX is the first entity involved in the spill to resolve civil penalty claims.
The state closed Friday on a conservation easement over Seven Runs Creek in Walton County. Earlier this month the state purchased lands at Escribano Point in Okaloosa County.
The other $5 million from the settlement is being used stormwater projects in Bay, Okaloosa and Santa Rosa counties.
Click Here to access the online Public Inspection File
Viewers with disabilities can get assistance accessing this station's FCC Public Inspection File by contacting the station with the information listed below. Questions or concerns relating to the accessibility of the FCC's online public file system should be directed to the FCC at 888-225-5322, 888-835-5322 (TTY), or firstname.lastname@example.com.


text:
May 2, 2016
WYNNEWOOD, OK - A Wynnewood attorney was arraigned Tuesday afternoon on multiple charges relating to child pornography.
The Garvin County Sheriff's Office said they arrested 33-year-old Jeremy Oliver at his home Monday. He is charged with soliciting sexual conduct with a minor using technology and publishing or distributing obscene material.
Sheriff Larry Rhodes said the investigation into Oliver began when he received a tip that Oliver was soliciting child pornography from a client.
Oliver was arraigned at 2 p.m. Monday and released a $25,000 bond.
He is expected back in court for a preliminary hearing april 19th.
Click Here to access the online Public Inspection File
Viewers with disabilities can get assistance accessing this station's FCC Public Inspection File by contacting the station with the information listed below. Questions or concerns relating to the accessibility of the FCC's online public file system should be directed to the FCC at 888-225-5322, 888-835-5322 (TTY), or email@example.com.


text:
A guard at the Maine State Prison in Warren has been arrested and charged wtih assaulting an inmate on Christmas Eve. Capt. David Cutler was taken into custody Wednesday afternoon in Knox County, booked on an assault charge and released on bail. As Jay Field reports, the union representing guards, and advocates for inmates' rights, have very different views on the incident - and what it says about the changes Corrections Commissioner Joseph Ponte is trying to make inside Maine's prisons.
The Department of Corrections has said that a pattern of incidents at the Maine State Prison contributed to its decision to fire Warden Patricia Barnhardt last month. A spokesperson for the department declined to comment on the Cutler assault case Thursday. But it could be among the incidents that led to Barnhart's dismissal.
A criminal complaint lays out what allegedly happened at the prison gym at nine in the morning on Dec. 24. Cutler and another guard ordered inmate Renardo Williams into an office off the gym. They say Williams was disrupting a holiday party.
"So he was in a common area. He was not alone. He was with another inmate, and he was, by several accounts, not being disruptive," says Rachel Talbot Ross, who runs the NAACP's Maine chapter. Talbot Ross, has spoken several times with Renardo Williams since late December.
Capt. Cutler, the complaint alleges, loudly ordered Williams to sit down. Williams, by then handcuffed behind his back, refused. Cutler demanded he sit a second time, and again, Williams said no. "You ain't going to sit? Then I'll make you sit down!" Cutler said, according to the complaint.
The NAACP's Talbot Ross describes what happened next. "He had his feet knocked out from under him, falling and causing several bruises," she says. "This whole situation was witnessed by several people, including a sergeant."
In an interview, cited in the complaint, the witness, Sgt. Howlett, told investigators he couldn't believe what his colleague had done, and that inmate Williams had done nothing to provoke the Capt. Cutler.
Word of the arrest comes as Corrections Commissioner Joseph Ponte continues an aggressive push to evaluate the culture and internal operating procedures inside Maine's prisons. The review has led, among other things, to a more aggressive effort to investigate misconduct by guards statewide.
"I could spend my entire week ok? just sitting in investigative hearings," says Jim Mackie, who is with AFSCME Council 93, the union that represents Maine's prison guards. Mackie says the kind of misconduct alleged in the Cutler case is rare.
"I would probably dispute a lot of things that are said by inmates because, at this point in time, they know that all they have to do is to make accusations and this sort of thing can happen," Mackie says. "And the problem is is that the sensitivity level on part of the administration running the prisons right now is that, if they say it, they're going to take it as gospel and run with it."
Mackie says the state is worried about being sued and has decided to take a hard line on even the most minor incidents. He says the corrections department would rather fire someone accused of misconduct, up front, so the department can cover its behind should a guard file a grievance and get reinstated.
Mackie says this approach is making work inside Maine's prisons unsafe for guards. But inmate advocates says it's prisoners who've been on the receiving end of abuse from guards for years. Judy Garvey, with the Maine Prisoner Advocacy Coalition, says her group received complaints about Capt. Cutler well before Joseph Ponte became corrections commissioner.
"We began to report to the last commissioner on certain incidents that we heard about that came from Capt. Cutler," Garvey says. "At one point, we requested medical records on one."
Garvey says the group also asked to see Capt. Cutler's personnel records, "to see if there were any disciplinary records in the files. We were told by then-Associate Commissioner Denise Lord that he had no disciplinary marks in his personnel files.
How the department has handled these past complaints is one of the questions being explored by state lawmakers on the Legislature's Criminal Justice Committee. Mark Dion, the House chair, is a Portland Democrat and a former sheriff.
"As a former sheriff, I realize there's always serious concerns about how we manage the inmate population. Do we do it safely?" And one way to asses that is through an evaluation of the internal affairs procedure," Dion says. "This allegation of assault I think is, once again, an opportunity for me to press the commissioner to provide that information."
Dion says he first asked the commissioner for more detailed information on the department's disciplinary practices after the firing of Warden Barnhart. He says he intends to make the information public if the commissioner provides it.


text:
Changes related to "Webinar: Tracker Tips and Tricks"
← Webinar: Tracker Tips and Tricks
This is a list of changes made recently to pages linked from a specified page (or to members of a specified category). Pages on your watchlist are bold.
No changes during the given period matching these criteria.


text:
There are 29 results - Show results on a map Print this page
Showing 21 - 29 of 29
The Cliftonville Hotel is an imposing Edwardian hotel situated on the main coast road with stunning views of the sea. Public areas feature a magnificent staircase, minstrels' gallery, coffee shop, lou...More about The Cliftonville Hotel
Glendale Guest House is a Victorian property situated in a peaceful side road adjacent to the seafront, just a short walk from the town centre. Bedrooms are pleasantly decorated, well maintained and e...More about Glendale Guest House
A special welcome and a friendly and informal atmosphere, 18 comfortable and well-appointed bedrooms, a creative Head Chef sourcing produce from local farms and Cromer fishermen, a Heritage coastline,...More about Beechwood Hotel
A traditional, privately-owned hotel situated on the quayside with superb views across the estuary and the salt marshes to Blakeney Point. Public rooms feature an elegant restaurant, ground-floor loun...More about The Blakeney Hotel
Superb Grade II listed building situated in extensive landscaped grounds on the edge of Sheringham Park. The attractive public rooms are full of original character; they include a choice of lounges as...More about Dales Country House Hotel
A charming Georgian house, The Grove Cromer sits in several acres of landscaped gardens and is a short walk from Cromer town centre, cliff walks and the beach. There are several bedroom styles to choo...More about The Grove Cromer
This large Victorian house was previously owned by the Canon of Cromer and is situated in the peaceful village of West Runton between Cromer and Sheringham. The pleasantly co-ordinated bedrooms have m...More about Homefield Guest House
Situated only four miles away from both Cromer and the beach, a very warm welcome is offered by Rosanna and Simon who have both worked at various top hotels in London. This 16th-century property has b...More about The Green House B&B
The George is located in Cley-next-the-Sea and is within easy reach of Blakeney and Holt. This is a great spot for bird watchers, and The George overlooks the Cley marshes and bird reserve looking out...More about The George


text:
May 6, 2016
The U.S. Marine Corps is studying how to make its troops even tougher through meditative practices, yoga-type stretching and exercises based on mindfulness.
The School Infantry-West at Camp Pendleton will offer the eight-week course starting Tuesday to about 80 Marines as part of an ongoing experiment.
Marine Corps officials say they will build a curriculum that would integrate mindfulness-based techniques into their training if they see positive results. Mindfulness is a Buddhist-inspired concept that emphasizes active attention on the moment to keep the mind in the present.
Facing a record suicide rate and thousands of veterans seeking treatment for post-traumatic stress, the military has been searching for ways to reduce strains on service members burdened with more than a decade of fighting in Iraq and Afghanistan.
Copyright 2016 by The Associated Press. All Rights Reserved.
Click Here to access the online Public Inspection File
Viewers with disabilities can get assistance accessing this station's FCC Public Inspection File by contacting the station with the information listed below. Questions or concerns relating to the accessibility of the FCC's online public file system should be directed to the FCC at 888-225-5322, 888-835-5322 (TTY), or firstname.lastname@example.com.


text:
May 6, 2016
The suspects entered the Midwest Money Exchange on 20th Street shortly before 6 p.m. Monday night.
One of the men was armed with a gun. They got away with an unknown amount of cash.
The suspect with the gun is described as a white male, 5'10" about 175 pounds.
If you have any information on this armed robbery call Rockford police or Crimestoppers.
Click Here to access the online Public Inspection File
Viewers with disabilities can get assistance accessing this station's FCC Public Inspection File by contacting the station with the information listed below. Questions or concerns relating to the accessibility of the FCC's online public file system should be directed to the FCC at 888-225-5322, 888-835-5322 (TTY), or firstname.lastname@example.com.


text:
Its never wise to blackmail a highwayman.
Lady Corinne, rebellious daughter of the duke of Banfield, refuses to marry Lord Freddie Sherwin. Yes, hes the catch of the Season and the man her father chose for her. Hes also the most despicable male of her acquaintance. With her wedding only weeks away, she flees and finds herself a prisoner of the notorious Thorn!
Who says the devil isnt a woman?
The rich and powerful tremble at the highwaymans name, while Englands villagers rejoice in his bold exploits. His identity is a secret; his life a mystery until Lady Corinne tumbles into his arms. If the Thorn wants her silence, he must hide her until her wedding day passes. Its a devils bargain and one that can only lead to a hangmans noose.
Corinne believes it the perfect planuntil her highwayman reveals a passionate lovers heart, and she realizes that in the seduction of scandal, she may have found the hero shes been waiting for her whole life.
A portion of the proceeds from the sale of this book and others (up to $25,000) will be donated to the Ovarian Cancer National Alliance.
"Maxwell charms and delights with each book. Here she brings a delectable highwayman, pulse-pounding adventure and plenty of suspense to this Robin Hood-themed tale that will sweep readers away."
-RT Book Reviews
"Intriguing… an entertaining read that helps steal away the afternoon."
-Night Owl Romance
"Entertaining… Cathy Maxwell wraps up her fabulous Scandals and Seductions series with this buoyant fifth installment… wonderful protagonists… Ms. Maxwell had my undivided attention… [she] also managed to have me on the edge of my seat… a heck of a climax…I've come to love this charming series."
-Joyfully Reviewed
"A thrilling tale complete with secret identities and runaway brides, a notorious English highwayman and dangerous intrigues…and, of course, wildly passionate love! This is romance, adventure, sensuality, and wit blended to perfection."
-DFW Tea Readers
"THE SEDUCTION OF SCANDAL has a promising start, and the delightful heroine drew me in to the story… Cathy Maxwell managed to surprise me with a neat twist… something I didn't see coming… enjoyable."
-The Romance Review
"Fresh characters, incredible twists, and fascinating turns readers do not expect… [it] adds in a few feisty women, some heart wrenching moments of sadness, startling revelations…"
-Café Libri: Reviewing Books and More
"Enjoyable…fun…[a] strong quirky support cast… the lead couple is a nice pairing of an unlikely duo falling in love."
-Genre Go Round Reviews
"Twists and turns in the plot take the reader on a rollercoaster ride that…swoops up to a breathtaking climax… an undercurrent of humor… compelling… [Maxwell's] skill depicting the emerging of gentle, pure love that trusts and gives without reserve captivates… touches the heart."
-Long and Short of It Reviews
"Maxwell's latest is more than a captivating romance."
-Library Journal


text:
Washington is welcoming the largest celebration of French culture and language in the world -- the Francophonie Cultural Festival.
November 14, 2014 6:07 pm
Download audio
Natalie Plumb, special to wtop.com
WASHINGTON – With 220 million French speakers worldwide, French advocates think the language and its culture deserve a toast.
The largest celebration of French culture and language in the world — the Francophonie Cultural Festival — is returning to the Washington area March 1 through April 13. Organized by the D.C. Francophonie Committee, the 13th annual D.C. festival includes six weeks of music, dance, cuisine, theater, film and demonstrations from Francophone performers throughout the world.
The word "Francophonie" references French-speaking communities or countries. Countries range from Lebanon to Romania, Djibouti and Mali. "Francophone" means French-speaking.
There are 75 member states and governments within the International Organization of La Francophonie, making up one of the largest linguistic zones in the world and more than one-third of United Nations members.
Organizers say events such as literary salons, concerts, culinary samplings and children's workshops help teach the D.C. community about French culture.
"This is an opportunity to explore the French-speaking world and to understand how vast it is," says festival spokeswoman Deb Fiscella. "It includes Africa, Asia, the Middle East and more."
In 2012, the festival's events attracted more than 8,000 people. At each festival, artists from French-speaking countries are invited to perform in venues throughout the Washington area, including the Smithsonian museums, embassies, Lycee Rochambeau — a local bilingual French and English private high school — and theaters like the Avalon Theatre.
Jennifer Pietropaoli, spokeswoman for the Alliance Francaise — one of the collaborating organizations presenting the Francophonie Cultural Festival — says this year's festival has a wide selection of Francophone countries.
"It's one of the most varied collection of events we've had," she says.
This year's performers and events are hosted by Lebanon, Senegal, Belgium, Switzerland, Luxembourg, Haiti, Mali, France, Djibouti, Quebec and the Republic of Cameroon.
On April 12, singer-songwriter Kaissa will change the dynamic of the Smithsonian African Art Museum, blending African and Western musical styles. A Cameroon vocalist raised in Paris, she has worked with artists including Paul Simon and Diana Ross.
Other upcoming events include a lecture by Haitian author Franketienne, who specializes in the relationship between Creole and French, a presentation and tasting with Quebec's beer sommelier Sylvain Bouchard, a solo performance of Moliere's "Dom Juan" — the French version of the Spanish "Don Juan" — several children and adult award-winning film screenings and more.
On March 22, the festival held a sold-out Grande Fete, or "Big Party," at the French Embassy. The gala had about 1,700 guests, and showcased more than 40 embassies' foods and traditions, according to Fiscella.
Pietropaoli attended the festival and the Grande Fete for the first time this year.
"The Grande Fete was incredible — chaotic, but incredible," Pietropaoli says. "It was really wonderful to see so many passionate people coming together to share their culture, mostly through cuisine."
For a full schedule, tickets and information, visit the Francophonie Cultural Festival's website.
In addition to the countries listed above, the Francophonie Cultural Festival is presented in collaboration with the D.C. Francophonie Committee, the Smithsonian Associates, Alliance Francaise, La Maison Francaise and the French-American Cultural Foundation.
Follow @WTOPLiving on Twitter.


text: Through April 27. This weekend's Colorado Symphony Orchestra program is full of surprises, all the pleasant kind. First, the concerts will be conducted by Michael Stern. The maestro, whose full-time job is leading the Kansas City Symphony, is replacing James Gaffigan, who is opting out over the birth of his second child. The program has Beethoven's "Leonore Overture," Brahms' Symphony No. 2 and a few Mozart arias. That brings us to the second surprise, an appearance by Sara Jakubiak, a young soprano with a growing career that began with an apprenticeship at the Santa Fe Opera and now includes gigs worldwide. 7:30 p.m. April 25-26; 2:30 p.m. April 27. Boettcher Concert Hall, Denver Performing Arts Complex. $20-$83. 303-623-7876 or coloradosymphony.org.


text:
this wiki
Last updated: November 21, 2013
News and Recent Developments
- February 2013: Joseph Odey, Director of the Association for the Reduction of Carbon Emission, wishes other promoters of solar cooking to please contact him to provide assistance in reaching governmental entities and procuring supplies for solar cookers and demonstrations in the state of Kano, Nigeria.The Association's solar cooker project started in 2000, with a mandate to create awareness in Nigeria's six geopolitical zones and thirty-six states. So far the project has taught 8,000 students in twenty-five schools the art of solar cooking. The goal is to reach 100% of schools.
- June 2010: Prof. Rose Achunine recently meet with students of the Department of physics and Industrial Physics at Evan Enwerem University in Owerri, Nigeria. The students have designed their own versions of parabolic solar cookers and solar box cookers. They wish to optimize and standardize their designs to make the cookers more efficient and reliable for use by rural dwellers and refugees, as well as urban dwellers. They will continue their efforts with this village to provide workshops to provide training for the local residents.
- May 2010 The Jos zonal director of the National environmental Standard Regulation Agency (NESREA), Mr. Samuel Bagudu Joshua, has disclosed that desert is encroaching by 0.6 kilometre per annum in the country. NESREA was established by the Federal Government of Nigeria as a parastatal of the Federal Ministry of Environment, Housing and Urban Development. Joshua made the disclosure while speaking to LEADERSHIP shortly after a two-day stakeholders review of the 13 NESREA draft regulation in Jos, Plateau State capital at the weekend. According to him, desert encroachment has to do with the anthropogenic activities of man, stressing that deforestation, bush burning are activities that aggravate gully erosion in our environment. He noted that it has been proved scientifically that the desert is encroaching from the Northern parts to other part, of the country, adding that with this development, there is great danger looming. Joshua also pointed out that it is the responsibility of every Nigerian to engage in practices that will mitigate or slow down the rate of desertification so as to protect our environment. The NESREA boss observed that his agency is coming up with alternative technology like the solar stove, wood and saw dust burning stove and other initiatives as alternatives to the people, saying, "You can not tell somebody not to use the fuel wood without giving him alternative solution." He then advised Nigerians that if they must cut down a tree, they must also plant ten trees and nurture them to maturity, adding that tree serves as shelter belt, wind brake which in-turn beautify our environment. He stressed that the mandate of NESREA includes carrying out enforcement of government policies and things that will ensure healthier environment in the country.
- March 9, 2010: Commonwealth Youth Conversation Commemorating the 2010 Commonwealth Day celebration on the theme 'Science, Technology and Society'. This Year's theme 'Science, Technology and Society' focuses on providing quality education on the role of science and technology on youth and societal development across the commonwealth. Noticing solar cooking's active contributions to youth development, they are hereby invited to participate in the Commonwealth Day Celebration featuring Youth Roundtable Dialogue with Policy Makers, Special Awards, Mock Head of Government meeting (CHOGM)/Debate for students on the theme. To be held at 8:30am in Banquet Hall 2 of the Agura Hotel in Abuja.
- November 2009: Last year, Margaret Koshoni presented a solar cooking seminar in Lagos. The seminar was arranged by the Cosmopolitan Women's Club, of which Koshoni is the secretary. A standing-room only crowd of nearly 400 representatives from government agencies, nongovernmental organizations, women's groups, schools, and even a few banks, attended. Prior to the event, Koshoni and her colleagues made over 1,000 solar CooKits and "cone cookers." Koshoni says that cone-shaped solar cookers are well suited for many Nigerian women that have balconies because the cookers are elevated on a stand above shadows created by balcony railings. The cookers are also easy to move without disturbing the food. Five cone cookers and three CooKits were used to demonstrate solar cooking to the crowd. Beans, meat stews, fish stews, vegetable soup, yams, eggs, and two types of rice were all prepared and sampled. The cone cookers cost about $25 to construct using Mylar® reflector material and water-resistant plastic sheet covering for the back. With financial support from local banks and businesses, each school was given five cone cookers and one CooKit free of charge, along with a copy of Solar Cookers International's plans booklet. Most of the other attendees received one complimentary cone cooker, while solar CooKits were available for purchase for about $15. Koshoni also made and distributed cloth bags for solar cooker transport and storage. The Lagos State Government's Commissioner for Women Affairs encouraged Koshoni to arrange future workshops for all Lagos State Local Government Areas.
- May 2008: Margaret Koshoni reports: "On May 14, 2008 a seminar was arranged by the Cosmopolitan Women Club (of which I am the Hon. Secretary). My initial aim was to do the workshop for the club members only. They then decided to involve others. Government agencies, NGO's, Women Organizations, Schools, and multinational organizations, and a few banks were invited to attend. The venue was at the Air force officer's mess at Kofo Abayomi Street, Victoria Island. The hall had 250 sitting capacity, and we did not expect to fill all the seats. Surprisingly, the whole seating arrangement proved inadequate, and we had to bring in over a 100 more seats. Even then people were still standing outside, and in the hallways. It was so well attended that more organizations are now clamouring for a repeat of the workshop. My office had prepared over 1000 CooKits, and Cone Cookers. The cone cookers I find best suit the need of the Nigerian women. Most people live in flats with balconies; the structure of the balconies will shade the CooKit and make a shadow. The Cone Cooker being placed on a stand has the advantage of elevation and the stand can be moved about without disturbing the cooking."
- May 2008: Joseph Odey reports, "A training program on solar cooking has commenced in New Bussa, Niger state of Nigeria. The training is on solar energy and its benefit to man and his environs. A form has been printed and is still on sale as the training itself has commenced progressively on the 19th of may, 2008. Each candidte will graduate with a certificate of attending training program on solarcooking organized by Odey Renewable Energy Technology Co. Ltd. This program will create job opportunities for youths who are out of school and without employment. I want the entire nation to be informed about this good gesture aimed at alleviating poverty due to high cost of cooking fuel in Nigeria where there is abundant sun to cook our food most time of the year."
- November 2007: Solar cooking promoter Joseph Odey has formed the company Joe – Kate Solar Energy Technology (JOKSET) Nig. Ltd. Odey became interested in solar cooking in 2000. He learned informally about solar cooking from SCI's literature, and has since attended various seminars and conferences. JOKSET's activities include lectures on the uses of solar energy to conserve the environment, seminars on renewable energy, solar cooking workshops for communities, and solar cooker construction training. Odey says that JOKSET has the capacity to produce affordable solar cookers in large quantities, and is seeking support for expansion.
- May 2006: The first joint workshop on solarcooking was organized by my organization with the collaboration of GirlsGuide/Scout of America for the GG of Nigeria. The peogram was held at the Women Centre, Area 11, Garki Abuja FCT, Nigeria. Ms. Barby Pulliam of GG/SCOUT of America who is my colleaque on solar cooker promotion was my partner and part sponsor of the programme. She also sponsored Stella and Esther from Tanzania and Kenya respectively to come and join me as foreign partners. The materials for the productions of the cookers used at the occation were gotten here in Nigeria without importing any from outside the country. The workshop started on the 15th to 20th May, 2006. Total number of 55 GG MEMBERS FROM 25 STATES out of the 36 states of Nigeria were in attendance. It was organized solely for the Girl Guides association of Nigeria. I am happy to report that the result of the workshop was sucessful as food items, like rice and stew were cooked as samples to the taste of all the participants. Especially that the vGG members were seeing the cookers for the first time. The idea for the hosting of this workshop was conceived by me and was supported by Barby Pulliam while we were in Nairobi Seminar on Solarcooking in February, 2005. I followed up on the proposal to the GG of Nigeria Headquater and make sure it was implemented and hence the report for your perusals.
- November 2005: Joseph Odey exhibited solar cookers at the "Fish For All" summit in Abuja, Nigeria this past August. The summit brought together industry and government leaders to discuss the current status and future directions of African fisheries and aquaculture. Mr. Odey estimates that over 90% of the participants witnessed his exhibit. He says that demand for the solar cookers is high, and he believes that Nigeria is ripe for solar cooker proliferation, but governmental support is needed. While speaking with the press, Mr. Odey said, "Nigeria is blessed with abundant sunshine that will benefit its citizen if the technology is supported by the government." His efforts to spread solar cookers in Nigeria are currently under financial restraint, and he is looking for assistance in this regard.
- July 2005: Mr. Joseph Odey of the Kainji Lake region reports that he has built and distributed 290 solar cookers in the past few years. In addition, 152 people were taught to make and use their own solar cookers. Demonstrations have been given in 18 villages. Before promoting, Mr. Odey built and tested his own cooker from instructions published by Solar Cookers International. His first solar meal was rice, but he soon moved on to cooking stew, cake, bread and other foods. Mr. Odey uses the following locally available tools and supplies: cardboard, aluminum foil, glue, knife, scissors and tape, as well as black pots for cooking in. Though he does sell some cookers, he pays production, distribution and travel expenses. "The beneficiaries confirmed that the [meals] from the cookers are quite palatable, but not for someone who wants food in a hurry," Mr. Odey reports.
- March 2003: Says Mr. Odey, "I am happy to let you know that a total of 113 cookers were distributed to 15 villages within the Kainji Lake area, with an average of five cookers per village. This distribution was done by demonstration after teaching them how to make and use the cookers. Food ingredients of different varieties were cooked with the cooker as samples and were tasted by all those present. The cookers used for demonstration were then sold to interested buyers at the cost of N350.00 only. After two months, I went around the villages where the cookers were distributed for monitoring and evaluation. It was discovered that more than 200 additional cookers had been constructed by the villagers and were in use. Some migrating fishermen carry theirs along with them. My reaching out to them with the technology was to impart the knowledge of how to make and use it. Materials for construction were displayed for the people for proper viewing and identification. I purchased all these materials and took them along with me to the field. At the Fisheries Society of Nigeria (FISON) conference held in Maiduguri, Nigeria, in November 2001, solar cookers were demonstrated by me and it was discovered that the cooking times were faster due to the intense sunlight in that area. The State Governor who witnessed the program commended the technology and wished that it would be extended to the state."
- March 2002: The Association for the Popularization of Solar Energy for Domestic and Industrial Use recently hosted a successful national conference on solar cooking, solar drying and household lighting. The organization is currently developing a solar energy village where simple solar technologies, including solar cookers and dryers, will be manufactured. Contact: Dr. Rose Achunine
The History of Solar Cooking in Nigeria
This giant African country has a wide range of individual and group supporters of solar cooking. The country was a 1992 stop on a solar promotion tour conducted by Dr. Robert Metcalf, an SCI founder, in which he provided demonstrations in a number of African nations. One organization with which he worked is, as example, the Nigerian Society for the Improvement of Rural People. Its leader, Chris Ugwa, reports that around 50 families are regularly using solar cookers to pasteurize water and to cook food. They continue to train household cooks and are aiming to reach 100 new families per year.
Another Nigerian, Lydia Gordon Nkan of the Environmental Education Institution reports that her group has^ taught hundreds of students to make and use solar cookers. Her work was principally in primary and secondary schools, with an ambitious goal of seeing that every household in the country would in coming years be using solar cooking methods. The problem in much of Africa, and true in this case, is the lack of financing for costs like publicity on radio and television, which would create broad awareness and demand. For the poorest part of the population, the cost of even the least expensive cooker is a major hurdle, also true in many other developing nations.
A number of universities in Nigeria have promoted the technology, as has the Solar Energy Association of Nigeria. Rotary Clubs in the country also have plans to work through the partnering activities of Rotary International to start a large project that could eventually cover a substantial proportion of the country. This project which requires resources of time and money from the local clubs has not yet come to be a reality, but remains on the drawing boards for the future.
In the mid 1990s, a foreign oil company working in Nigeria made an attempt to introduce solar cookers in the communities they were working in. After several years of effort, they conducted an evaluation that did not yield positive results. For the most part, cookers had not been used nor found useful by villagers. It appeared from the evaluation document that relatively little attention had been paid to appropriate training and follow up assistance to new users, a common pattern which is almost certain to lead to less than hoped for results.
In many ways, however, Nigeria - in at least major parts of its territory - is well suited for solar cooking. An excellent array of supporters exists in the country, many with small scale but persistent programs under way across the cbuntry. Nigeria appears to be an excellent candidate for more concentrated promotion.
Carole St. Laurent writes:
rich source of information, inspiration, and lessons learned from other projects. Several Nigerian citizens and organizations are already using and promoting solar cooking, but the untapped potential for greater adoption of solar cooking in Nigeria is tremendous. Where solar cooking is currently researched and practiced, it is done so in isolation, as there seems to be no networks or knowledge-sharing opportunities for Nigerian solar cookers. Greater collaboration would increase the impact and effectiveness of solar cooking efforts in Nigeria. The sharing of solar cooking successes, outreach programs, training materials, and mutual encouragement are important ways to accelerate the adoption of solar cooking in Nigeria.
[Solar cooking promoter] Pastor Caleb attributes the poor adoption rates to the required lifestyle changes to use solar cookers, inconvenience due to slower cooking times, and lack of promotion. Therefore, ...[he] chose to emphasize training, encouragement and support among solar cookers in Nigeria, and wide dissemination via video and online resources.[1]
Climate, Culture, and Special Considerations
- Solar Cookers International has rated Nigeria as the #5 country in the world in terms of solar cooking potential (See: The 25 countries with the most solar cooking potential). The estimated number of people in Nigeria with fuel scarcity but ample sun in 2020 is 12,400,000.
- Northern part of the country: Dry, sunny, and sparcely populated. Southern part of the country: Rain, abundant firewood, and high population density. (Source: Juan Urrutia Sanz, 2010-Feb-25)
See also
- Discussion of West-central Africa's suitability for solar cooking
- Solar cooker dissemination and cultural variables
According to Oladosu and Adegbulugbe (1994), the energy consuming activities in the sector are cooking, lighting and operation of electrical appliances (non-substitutable electricity). In 1989 the shares of these activities in final energy consumption were 91%, 6% and 3% respectively. Total final energy consumption was 487 PJ. The major energy carriers are fuelwood, kerosene, liquelified petroleum gas (LPG) and electricity. Small amounts of charcoal and coal are also used. Fuelwood is mainly consumed in this sector and accounted for over half of total national energy consumption in 1989. A small amount is consumed in rural industries and the commercial sector. This means that fuelwood constitutes about 80% of total residential final energy consumption
Possible funders for solar cooking projects in Nigeria
- August 2005: A Solar Cooking Case Study: Investigating Appropriate Information and Communication Technologies (ICTs) for Development in Nigeria - Carole St. Laurent
Articles in the media
- July 2009: Nigeria's Epileptic Electricity, Don Advances Permanent Solution - Osun Defender
- July 2008: The Effects of Biomass Burning On Mother Nature - allAfrica.com
External links
Audio and Video
|April 2008: Solar Cookers and Laptops for Nigeria
Manufacturers and vendors
Government agencies
Educational institutions


text:
Interesting one but ouch, those thick black outlines are killing the hand-drawn lines in my opinion.
Yes, the "Threalms", in quotes, 'cause the author is french, and so are the names he gave to his kingdoms.
Thomas Durand is the creator of Athtora, a humourous fantasy world in which magic wars let their print on the continents.
Discover Les Enigmes de l'Aube!
What I'm showing today is the map made for him, and it should be in the next books as an illustration.
I've drawn many roughs to find this kind of "cartoon" style. The biggest difficulty was to create a very detailed map in which many informations must take place.
Both base-map, symbols, location-scrolls and kingdom flags were made separately to save time and attempts. Photoshop was my best friend once more.
A bigger, more detailed and coloured map is coming, an interactive one, that is destined to illustrate the official site of Thomas' saga. I'm back here with new maps, a new motivation to create, and so I will try to show many roughs of this work to come.
And, as usually, sorry for my miserable english, but i'm french and you all know that a french is a person who can speak only one language! x)
Last edited by Felwynn; 02-15-2013 at 03:43 PM.
Interesting one but ouch, those thick black outlines are killing the hand-drawn lines in my opinion.
I really dig the cartoon style you've got going on here, this is great. Can't wait to see the "nicer" version.
I have to disagree with you there, Max. Yes, those lines are thick and ordinarily could be considered too much but it is obvious that this is the stylistic choice that was made for the map. As Felwynn says, it is a cartoony style (makes me think of certain Nickelodeon shows or the Clerks cartoon that was mercifully cut short for being absolute garbage). I do think, however, that the thick lines coupled with the quite dark grey background may be a little overpowering. Maybe if the grey background was toned down a little? That's just an opinion though.
I really like it.
Royal: I'm very sorry for your loss, your mother was a terribly attractive woman.
My Cartographer's Guild maps: Finished Maps
More maps viewable at my DeviantArt page: Ramah-Palmer DeviantArt
Mmh. Yes, I know. But it's worth without them.
They're here because of the thickness of the basic map outline. And also beacuse it's destined to be printed on a book.
Yet, this is not perfect at all. I know it, and and that's one of my reason to come back here after several years... ^^
Edit: Ramah, good point to you too^^, I'll try.
The map needs some modification, like in the title. The coat of arms needs to be seen as a part of it, so i'll redesign the whole title frame.
Last edited by Felwynn; 02-15-2013 at 03:19 PM.
Very good!
I think it's awesome! Have some rep.


text:
44 U.S. Code § 1502 - Custody and printing of Federal documents; appointment of Director
prev | next
The Archivist of the United States, acting through the Office of the Federal Register, is charged with the custody and, together with the Public Printer, with the prompt and uniform printing and distribution of the documents required or authorized to be published by section 1505 of this title. There shall be at the head of the Office a director, appointed by, and who shall act under the general direction of, the Archivist of the United States in carrying out this chapter and the regulations prescribed under it.
Source(Pub. L. 90–620, Oct. 22, 1968, 82 Stat. 1273; Pub. L. 98–497, title I, § 107(b)(3),Oct. 19, 1984, 98 Stat. 2287.)
Historical and Revision Notes
Based on 44 U.S. Code, 1964 ed., § 301 (July 26, 1935, ch. 417, § 1,49 Stat. 500; 1939 Reorg. Plan No. II, § 202, eff. July 1, 1939, 4 F.R. 2732, 53 Stat. 1435; June 30, 1949, ch. 288, title I, § 104(a),63 Stat. 381).
1984—Pub. L. 98–497substituted "Archivist of the United States" for "Administrator of General Services" wherever appearing.
Effective Date of 1984 Amendment
Amendment by Pub. L. 98–497effective Apr. 1, 1985, see section 301 ofPub. L. 98–497, set out as a note under section 2102 of this title.
LII has no control over and does not endorse any external Internet site that contains links to or references LII.


text:
The Power of Independent Thinking
Is Wal-Mart Good or Bad for America? A Debate
Recorded: Tuesday, May 8, 2007
Part 1 |
Part 2
Part 3
Part 4
Wal-Marts detractors argue that Wal-Mart reduces living standards, hurts retail trade, disrupts communities, and relies on government programs to provide healthcare for many of its workers. Is Wal-Mart a force for good or evil?
Experts: Ken Jacobs, Richard K. VedderType: Independent Institute EventIssues: Business, Labor and Employment, Regulation and Deregulation
Gore Vidal on Understanding Americas Terrorist Crisis
Recorded: Thursday, April 18, 2002
Filmed before a live audience on April 18, 2002, renowned author Gore Vidal rejects the blind patriotism expected by government officials and the mainstream media, and investigates U.S. foreign policy throughout recent history, showing how it has contributed to the terrorist crisis. With his famous wit and insight, Vidal also demonstrates the ways in which the War on Terrorism is being used to curtail civil liberties and shred the Bill of Rights.
Experts: Gore VidalType: Independent Institute EventIssues: Civil Liberties/ Human Rights, Culture/ Society, Defense and Foreign Policy, Political Ideology and Philosophy, Terrorism and National Crises


text:
Edit: What I post here is that I feel is most effective at snowballing, only permanent buffs gets listed here no temporary buffs allowed because they're snipable.
Cemetery rats is the exception to the rule because its part of reason why EN is so deadly and lame the more lycans there is the more powerful cemetery rats is.
Deleted Amazon cuz I put that there by accident.
Universal: Proxies and Moxies and soul skills.
-Rank ups.
-Charge Grimiore
-God Lance Estoma
-Fairy Dance
-Falkow Pike
-Sword of Mysteries
-Gaia Gem Monk
-Girl Mercenary but whatevah.
-BKR, all my hate for you.
-Dista open.
-Vicious Raptor
-Attendant / Feria
-The Forest of Hate
-Ainhazard's expensive self snowballing.
-Pixies of evil and death.
-Giant Arthropleurid
-Brave Strike
-Burning Air
-Awakened Magic Doll / Esria
-Mage Knight Mercenary
-Beltorart Assault Knight
-Mage Soldier Mercenary Girl
-King's Right Hand man / Baldern
-Explosion Artist / Mesrag
-Heierrat Musketeer
-BER, all my hate.
-New Hunter / Alisa
-Song for a Hero
-Heierrat Field Commander
-Guardian of Beltorart
-Gun Princess / Yuni
-Revolutionary / Leopold
-Silver Swordartist / Dyson
-Ork King of Lameness / Grebados
-Gowen Mikus
Red Priestess /Colette
-Black Dragonrider/ Millia
-The Solar Eclipse / Alphonce
-Cemetery Rats
-Criminal Edge
-Lady of the Megiddo / Belfyra, trigger her start skill on an ex chiruru SS abuser, hiliarious.
-Command Unit / Violet X2
-Broken Priest, all my hatred.
-New Magic Doll / Astaforse
-Guard Captain / Afeemina
-Magic Doll -Mobility-
-Last Resort / Gaieshart
-Matchless Combatant / Yug
-Fog of Death / Seria
-Ghoul Mage
-Unclean one / Yudit, all my hate.
-Gray Wolf / Metis
-Death Knight / Langbart
-Magic Doll -Covert-
-Crest Lady Paladin
-Lycanthrope Belphegor
-Shadow Assassin
-Marching Death
-I guess Command Unit / Scarlet Lily if you use her as front row suicide unit.
-Song of the night singer
-Chaos Form / Annarose
-Dark Princess / Gaiessoul
-False Hero / Mordmarc
-Knight of the Abyss
-Augmented Soldier Girl
-Magic Doll -Undead-
-Black Valkyrie / Ignia
-Undead King / Zugateroza
-Little Malice / Ellie
-EX: Black Dragonrider / Millia
-That ex lawtia lvl 2 guy which buffs lycan's EN max hp by 10 a turn.
**** ok So many snowballers, next up falkow!
-Witch Queen / Catherina, all my hate.
-Azure Dragon - East / Vordore he rewards you for having a good field!
-Mage Paladin / Distrier
-SWan Swordswoman / Alna
-Fire Sorceress / Addition
-Mermaid Princess / Emana, the more mermaids there is, the better she is one of those kind of things.
-Forbidden Book
-Magic Greatsword Soldier, you guys have no idea how much his auto skill wreck solar kingdom on daily basis, think Proxies! ??? Profit!
-Abyssal STrategist / Galdirea
-Elite Fencer of Regus rofl, DG <3
-Sea Serpent, the slower he is the better he is!
-Prototype Form / Noze
-Regus Patroller
-Complete Form / Noze
-White Tiger - West / Rozari
-Elite Mage Knight of Regus
-Wizard's Gale
-Chaos Form / Galdirea
-Princess of Regus / Bernet
-Mermaid Sword Captain / Shufas
-Silver Fencer / Ascarat
-Regus Engineer
-Slave of Chaos / Ebreenu
-Dolphin Rider
Geez even falkow have quite a few.
Now for Refess
-Dragonrider / Wasseir
-Lion Baron / Zagar Set 1.
-Folrart Paladin
-Boy Combat Priest
-Knight of Luminance / Ernst
-Time Reader / Lavende
-Blessed Knight / Orfen
-Will o' the Wisp Soldier
-Holy Shield
-Inquisition Nun / Cynthia set 4.
- well, Blessed Armor
-Key to the Holy Realm
-Knight of Shrine Zero
-Elite Folrart Dual Wielder
-Wandering Priest / Raste
-Battle-Worn Lady Paladin
-Brutal Mammoth
-Folrart Berserker
-Lion General/ Zagar lvl 5 version.
-Archer Captain / Fistara
-Mammoth Brigade
-Rubems the Premature.
-Lion Adjunct / Ermitage
-4th Shrine Leader /Elaice
-The General's Order
-Sun Bow Archer
-Pretender to the Sun /Alphonce
-King of Mankind /Verlaat
-Moon Child /Miffyre
-Knight of the 5th Shrine
-Spined Armadillio
EX: Refess Mikus
EX: Holy Knight Lapierre
EX: Lion Baron /Zagar
EX: White Sage /Kaldrao
EX: Angel Knight/ Silverion
EX: Honor of the Lion /Zagar
EX: Angel Paladin /Granverion
EX: Song of the Spring /Meltiria
I find it funny that Refess barely to beat the gowen sphere in number of snowballers. JUST BARELY! XD
I likely missed a few please let me know which ones i missed.


text:
Simba midfielder Patrick Mafisango, who died in a car crash on Thursday last week, was laid to rest at the Kinkole graveyard in Kinshasa yesterday.
Simba officials, including team mate Haruna Moshi, were among the few Tanzanians who attended the funeral held in Kinshasa yesterday evening.
Mafisango, 32, is survived by three children and had a Rwandan citizenship that made him popular in Kigali.
He once played for TP Mazembe. his sudden death sent reverberating shockwaves in Lubumbashi, more than Kinshasa where he was born.
The Simba midfielder was among the top-rated foreign stars featuring for the team with wide acclaim from the team's supporters.
The midfielder featured for Simba just a season arriving from another premiership side Azam FC who secured his signature from Rwanda's APR club a season before.
The coffin containing the body of Mafisango arrived at the Kinshasa International Airport on Saturday afternoon.
The Simba player, whose form continued to improve to defy his actual age, was more popular in Lubumbashi, Kigali and Dar es Salaam than in his native Kinshasa.
His parents and other family members were available at the airport to receive his body as the Kenya Airways flight landed during the afternoon hours.


text:
High School might be over for you, but the dream of being the coolest guy in school isn't. Maybe high school didn't go your way, but it's not too late to go back and change that. Well it is too late, but it's not too late to pretend you were cool back then. Get this Men's Plus Size Prom King Costume, and it will make the pretending much easier. The fly ensemble includes a jacket, shirt front, bow tie, cummerbund, and pants. The whole suit is baby blue, and the cummerbund is ruffled and has a hint of violet. The only part of this outfit that isn't a blue or violet shade is the black bow tie. This is the Halloween for you to find your perfect prom queen. Bye the plus size prom king costume for men, and you can be the jock for once.
Our Price: $3.97
Our Price: $14.99
Our Price: $3.99
Our Price: $2.99


text:
November 23rd, 2012
Nathan Berrong works at CNN's satellite desk and writes Eatocracy's beer column, "Berrong on Beer." He Tweets at @nathanberrong and logs beers at Untappd.
"OMG it's Black Friday! Did you see that deal for the 227-inch LCD HDTV for only nineteen dollars? What about that set of 4 bath towels for three cents? There's a place selling blenders for two dollars. We could always use another blender..."
For millions of Americans this is a day filled with ungodly early mornings and a determination to store-hop all day long, searching for the best deals that only come once a year. A much smaller crowd bucks this trend and takes a stand against consumerism and pledges to purchase absolutely nothing on what has become known as Buy Nothing Day. And everyone else seems to fall somewhere in between these two groups.
I partake in this day in the only way I know how – by finding a beer correlation. And today, it's all about the dark beers. These pitch black ales and lagers tend to showcase more roasted flavors, heavier coatings on the tongue, typically brewed with a higher ABV, and sometimes with hints of warming ingredients like coffee, chocolate, and bourbon.
Lakefront Brewery out of Milwaukee, Wisconsin, is also participating in the celebration of darker colored beers today as they are releasing a special Black IPA, appropriately named, Black Friday. If you're not one of the lucky ones and won't be able to make it to Milwaukee today, worry not, I have you covered. Below I have listed some of my favorite Black IPAs, Stouts, and Schwarzbiers, all excellent choices for drinking on this Black Friday.
Chatoe Rogue Dirtoir Black Lager
Black IPAs – These beers are a contradiction to some. An India Pale Ale that's NOT pale? Instead of using pale malts, this relatively new beer style uses roasted malts, which still give the beer the hop bitterness of an IPA but exchange the lighter color for a darker one.
Stouts – These pitch black ales run the beer gamut. They range in abv from 4% to well past 14% and some contain as little as four ingredients while others contain "the kitchen sink". Stouts have become one of the more experimental beer categories with brewers aging them in anything from red wine barrels to tequila barrels.
Brooklyn Black Chocolate Stout
Saint Arnold Pumpkinator Imperial Stout
Goose Island Bourbon County Stout
What about you? How are you partaking in Black Friday and what is your favorite dark beer? Let me know in the comments below and cheers to a stress-free holiday weekend!
« Previous entryNational espresso day
soundoff (74 Responses)
« Previous entryNational espresso day
Recent Posts
Recent comments