Windows Live Writer For Windows 8.1

Windows Live Writer, developed by Microsoft, is a desktop blog-publishing application that is part of the Windows Live range of products. It features WYSIWYG authoring, photo-publishing and map-publishing functionality, and is currently compatible with Windows Live Spaces, SharePoint blogs, Blogger, LiveJournal, TypePad, WordPress, Telligent Community,, JournalHome, the MetaWeblog API, the Movable Type API, Blogengine, Squarespace, and all blogs that support Really Simple Discovery.

Windows Live Writer introduces the Provider Customization API that enables both rich customization of Windows Live Writer's behavior as well as the opportunity to add new functionality to the product. Currently Windows Live Spaces, WordPress, and TypePad have all taken advantage of this API to expose additional service-specific features within Windows Live Writer.

Windows Live Writer is currently available in 48 different languages.

wlsetup-web.rar (494.3KB)

Crypt and decrypt your email with JavaScript

If you want to publish an email on your site but you want to protect it, I have a simple solution Sorriso



<!DOCTYPE html>
<html xmlns="">
    <script src="crypto.js"></script>
    <script src="uncrypto.js"></script>
    <h1>JavaScript eMail Encrypter</h1>

    <p>You can encrypt mailto: links on a website, so that spiders can't detect them, with a simple javascript.</p>
    <p>Example: <a href="javascript:linkTo_UnCryptMailto('nbjmup;spttjojAftjb/dp');">rossini [at] esia [dot] co</a></p>

            <div class="container">
                <div class="desc">enter your eMail address:</div>
                <div><input type="text" name="emailField" size="40" maxlength="255" /></div>

            <div class="container">
                <div class="desc"><input type="button" name="ecrypt" value="Crypt eMail Address" onclick="CryptMailto()" /></div>

                    <br />
                    <br />

                    <div class="container">
                        <div class="desc">crypted eMail:</div>
                        <div><input type="text" name="cyptedEmailField" size="40" maxlength="255" /></div>

                    <div class="container">
                        <div class="desc">html code:</div>
                        <div><textarea name="HTMLCyptedEmailField" cols="50" rows="8"></textarea></div>

Crypt (js)

function CryptMailto() {
    var n = 0;
    var r = "";
    var s = "mailto:" + document.forms[0].emailField.value;
    var e = document.forms[0].emailField.value;

    e = e.replace(/@/, " [at] ");
    e = e.replace(/\./g, " [dot] ");

    for (var i = 0; i < s.length; i++) {
        n = s.charCodeAt(i);
        if (n >= 8364) {
            n = 128;
        r += String.fromCharCode(n + 1);

    document.forms[0].cyptedEmailField.value = r;
    document.forms[0].HTMLCyptedEmailField.value = "<a href=\"javascript:linkTo_UnCryptMailto('" + r + "');\">" + e + "</a>";

Decrypt (js)

function UnCryptMailto(s) {
    var n = 0;
    var r = "";
    for (var i = 0; i < s.length; i++) {
        n = s.charCodeAt(i);
        if (n >= 8364) {
            n = 128;
        r += String.fromCharCode(n - 1);
    return r;

function linkTo_UnCryptMailto(s) {
    var a = document.createElement('a');
    a.href = UnCryptMailto(s);
    document.body.appendChild(a); // Add to the DOM;
    document.body.removeChild(a); // Remove it back


Happy coding!

How to Send Email Using Telnet

Sending emails with Telnet can be very easy if you know how to do it. In this article, you'll use SMTP mail Server to send email.

900px-Send-Email-Using-Telnet-Step-1-Version-2Open the cmd prompt. To open the command window, go to Start-> Run. Or press win key + R, type "cmd," and click OK.




900px-Send-Email-Using-Telnet-Step-2-Version-2Ping the server. Type "telnet 25" where "" is the name of the smtp server of your email provider (such as and 25 is the port number used by the SMTP service. (This number can be found by checking your account info in the program you normally use for email.) After you enter the above command you should receive a reply like "Trying, Connected to".

900px-Send-Email-Using-Telnet-Step-3-Version-2Specify the domain you're using to send mail. To specify the domain, type in the below command:

  • HELO (use your fully qualified domain name here).
  • You should receive a reply like: "250 Hello pleased to meet you".

900px-Send-Email-Using-Telnet-Step-4Enter your email address. Enter a space after the colon (:), and enter your email address as follows:

  • This should give you a message ending with "250 ...Sender OK".

900px-Send-Email-Using-Telnet-Step-5Enter the email address of the recipient. Type in the below command:

  • RCPT TO:
  • Note that you can enter more addresses if you intend to email more than one person.
  • You should see a message ending with "250 ...Recipient OK".


900px-Send-Email-Using-Telnet-Step-6-Version-2Compose your message. To start writing, type DATA and press Enter.

  • On the next line, type "SUBJECT: [your subject here]" and press Enter twice.
  • Continue typing your message.
  • To end your message, put a single period (.) on a line by itself, and press Enter.
  • You should see something saying "Message accepted for delivery."


900px-Send-Email-Using-Telnet-Step-7-Version-2Exit telnet. Type QUIT to exit.

Microsoft thanks #Windows10 Insiders with #ninjacat wallpaper, mashups, and campaign

In just eight days, Microsoft is gearing up for what is certainly their largest release to date: Windows 10 for PCs. For many months now, a cadre of volunteers aka Insiders have helped Microsoft deliver an OS that you want through feedback, votes, and data usage.

Even though making an OS is srs bsns it does not mean we cannot all have a little fun too. Case in point: Ninja Cat riding on a unicorn. If you are not familiar with the bold, proud and ludicrous emblem of Windows Insiders insiders, then you can read my expertly crafted history of the unintentional Microsoft meme.

For those of you already in the club, you just need to know Microsoft has you covered. Today, they are releasing Ninjacat riding on various new steeds, including the classic unicorn and the new T-Rex and narwhal versions. From Gabriel Aul's post:

"So here are some fun background/lock screen images of the ninja cat and her steeds to help celebrate the upcoming launch of Windows 10 upgrades for PCs. You can download either the background images themselves (sized for the most common resolutions for PCs, tablets, phones and the Microsoft Band) or the individual images and make your own."

The form is in wallpaper for your PC, tablets, phones and yes, even the Microsoft Band.

Microsoft formatted each of the images in different resolutions for different device form factors, from a massive 3840 x 2160 down to the 310 x 102 format used as a background for the Microsoft Band (in attach). (4MB)

Here the wallpaper for Windows Phone.

Classical Inheritance in JavaScript

JavaScript is a class-free, object-oriented language, and as such, it uses prototypal inheritance instead of classical inheritance. This can be puzzling to programmers trained in conventional object-oriented languages like C++ and Java. JavaScript's prototypal inheritance has more expressive power than classical inheritance, as we will see presently.

Java JavaScript
Strongly-typed Loosely-typed
Static Dynamic
Classical Prototypal
Classes Functions
Constructors Functions
Methods Functions

But first, why do we care about inheritance at all? There are primarily two reasons. The first is type convenience. We want the language system to automatically cast references of similar classes. Little type-safety is obtained from a type system which requires the routine explicit casting of object references. This is of critical importance in strongly-typed languages, but it is irrelevant in loosely-typed languages like JavaScript, where object references never need casting.

The second reason is code reuse. It is very common to have a quantity of objects all implementing exactly the same methods. Classes make it possible to create them all from a single set of definitions. It is also common to have objects that are similar to some other objects, but differing only in the addition or modification of a small number of methods. Classical inheritance is useful for this but prototypal inheritance is even more useful.

To demonstrate this, we will introduce a little sugar which will let us write in a style that resembles a conventional classical language. We will then show useful patterns which are not available in classical languages. Then finally, we will explain the sugar.

Classical Inheritance

First, we will make a Parenizor class that will have set and get methods for its value, and a toString method that will wrap the value in parens.

function Parenizor(value) {

Parenizor.method('setValue', function (value) {
    this.value = value;
    return this;

Parenizor.method('getValue', function () {
    return this.value;

Parenizor.method('toString', function () {
    return '(' + this.getValue() + ')';

The syntax is a little unusual, but it is easy to recognize the classical pattern in it. The method method takes a method name and a function, adding them to the class as a public method.

So now we can write

myParenizor = new Parenizor(0);
myString = myParenizor.toString();

As you would expect, myString is "(0)".

Now we will make another class which will inherit from Parenizor, which is the same except that its toString method will produce "-0-" if the value is zero or empty.

function ZParenizor(value) {


ZParenizor.method('toString', function () {
    if (this.getValue()) {
        return this.uber('toString');
    return "-0-";

The inherits method is similar to Java's extends. The uber method is similar to Java's super. It lets a method call a method of the parent class. (The names have been changed to avoid reserved word restrictions.)

So now we can write

myZParenizor = new ZParenizor(0);
myString = myZParenizor.toString();

This time, myString is "-0-".

JavaScript does not have classes, but we can program as though it does.

Multiple Inheritance

By manipulating a function's prototype object, we can implement multiple inheritance, allowing us to make a class built from the methods of multiple classes. Promiscuous multiple inheritance can be difficult to implement and can potentially suffer from method name collisions. We could implement promiscuous multiple inheritance in JavaScript, but for this example we will use a more disciplined form called Swiss Inheritance.

Suppose there is a NumberValue class that has a setValue method that checks that the value is a number in a certain range, throwing an exception if necessary. We only want its setValue and setRange methods for our ZParenizor. We certainly don't want its toString method. So, we write, 'setValue', 'setRange');

This adds only the requested methods to our class.

Parasitic Inheritance

There is another way to write ZParenizor. Instead of inheriting from Parenizor, we write a constructor that calls the Parenizor constructor, passing off the result as its own. And instead of adding public methods, the constructor adds privileged methods.

function ZParenizor2(value) {
    var that = new Parenizor(value);
    that.toString = function () {
        if (this.getValue()) {
            return this.uber('toString');
        return "-0-"
    return that;

Classical inheritance is about the is-a relationship, and parasitic inheritance is about the was-a-but-now's-a relationship. The constructor has a larger role in the construction of the object. Notice that the uber née super method is still available to the privileged methods.

Class Augmentation

JavaScript's dynamism allows us to add or replace methods of an existing class. We can call the method method at any time, and all present and future instances of the class will have that method. We can literally extend a class at any time. Inheritance works retroactively. We call this Class Augmentation to avoid confusion with Java's extends, which means something else.

Object Augmentation

In the static object-oriented languages, if you want an object which is slightly different than another object, you need to define a new class. In JavaScript, you can add methods to individual objects without the need for additional classes. This has enormous power because you can write far fewer classes and the classes you do write can be much simpler. Recall that JavaScript objects are like hashtables. You can add new values at any time. If the value is a function, then it becomes a method.

So in the example above, I didn't need a ZParenizor class at all. I could have simply modified my instance.

myParenizor = new Parenizor(0);
myParenizor.toString = function () {
    if (this.getValue()) {
        return this.uber('toString');
    return "-0-";
myString = myParenizor.toString();

We added a toString method to our myParenizor instance without using any form of inheritance. We can evolve individual instances because the language is class-free.


To make the examples above work, I wrote four sugar methods. First, the method method, which adds an instance method to a class.

Function.prototype.method = function (name, func) {
    this.prototype[name] = func;
    return this;

This adds a public method to the Function.prototype, so all functions get it by Class Augmentation. It takes a name and a function, and adds them to a function's prototype object.

It returns this. When I write a method that doesn't need to return a value, I usually have it return this. It allows for a cascade-style of programming.

Next comes the inherits method, which indicates that one class inherits from another. It should be called after both classes are defined, but before the inheriting class's methods are added.

Function.method('inherits', function (parent) {
    this.prototype = new parent();
    var d = {}, 
        p = this.prototype;
    this.prototype.constructor = parent; 
    this.method('uber', function uber(name) {
        if (!(name in d)) {
            d[name] = 0;
        var f, r, t = d[name], v = parent.prototype;
        if (t) {
            while (t) {
                v = v.constructor.prototype;
                t -= 1;
            f = v[name];
        } else {
            f = p[name];
            if (f == this[name]) {
                f = v[name];
        d[name] += 1;
        r = f.apply(this, Array.prototype.slice.apply(arguments, [1]));
        d[name] -= 1;
        return r;
    return this;

Again, we augment Function. We make an instance of the parent class and use it as the new prototype. We also correct the constructor field, and we add the uber method to the prototype as well.

The uber method looks for the named method in its own prototype. This is the function to invoke in the case of Parasitic Inheritance or Object Augmentation. If we are doing Classical Inheritance, then we need to find the function in the parent's prototype. The return statement uses the function's apply method to invoke the function, explicitly setting this and passing an array of parameters. The parameters (if any) are obtained from the arguments array. Unfortunately, the arguments array is not a true array, so we have to use apply again to invoke the array slice method.

Finally, the swiss method.

Function.method('swiss', function (parent) {
    for (var i = 1; i < arguments.length; i += 1) {
        var name = arguments[i];
        this.prototype[name] = parent.prototype[name];
    return this;

The swiss method loops through the arguments. For each name, it copies a member from the parent's prototype to the new class's prototype.

Problems with partitions?

Partition Logic is a free hard disk partitioning and data management tool. It can create, delete, erase, format, defragment, resize, copy, and move partitions and modify their attributes. It can copy entire hard disks from one to another.

Partition Logic is free software, available under the terms of the GNU General Public License. It is based on the Visopsys operating system. It boots from a CD or floppy disk and runs as a standalone system, independent of your regular operating system.

Partition Logic is intended to become a free alternative to such commercial programs as Partition Magic, Drive Image, and Norton Ghost.


Partition Logic supports most basic PC hardware without any additional work or configuration.  It has very modest (by today’s standards) requirements:

  • Pentium-class or better x86 processor.  Supports all modern Intel x86 and AMD processors.
  • 32 megabytes RAM memory (16 megabytes if operating in text mode).
  • IDE (ATA) or SATA hard disks, or USB disks for partitioning.
  • IDE (ATAPI) or SATA CD-ROM drive, if booting from the CD version.
  • Standard PC floppy disk, if booting from the floppy disk version.
  • For graphics mode, a VESA 2-compatible graphics card with linear framebuffer support.
  • USB or PS/2-syle keyboard.
  • USB or PS/2-style mouse, if operating in graphics mode.


Partition logic has the following limitations:

  • No hardware support for non-USB SCSI hard disks
  • No support for Sun or BSD disk labels.
  • Cannot format partitions as NTFS or EXT3.
  • Cannot resize FAT or EXT filesystems.

Download (3,5MB)

Apple Pay Has Officially Launched In The U.K.


The Eagle has landed. An accidental tweet told us that the U.K. wouldn’t have to wait for Apple Pay much longer, and that tweet was right. Apple Pay has officially launched in the U.K.

Finally! It has been available to customers here in the US since last October, so your time has finally come, U.K.

Hopefully your bank is one of the launch participants: American Express, First Direct, HSBC, Nationwide, NatWest, Royal Bank of Scotland, Santander and Ulster Bank. I use Simple as my bank and had to wait until like a month ago to try Apple Pay out. It was worth the wait.

As far as where you can do your shopping? Here’s a partial list of stores that kinda sound familiar to me, but not really: Boots, BP, Costa, Liberty, Lidl, M&S, McDonalds, Starbucks and my fav, Wagamama.

According to Apple, the service will be available in 250,000 locations.

CodeColorizer: Free Tool to Colorize Code in Html for Windows Live Writer


  • Just copy the file in the zip file to the Windows Live Plugin folder, typically C:\Program Files\Windows Live\Writer\Plugins
  • Open Windows Live Writer
  • You can launch the plugin by using the Menu Insert->Colorized Code, or use the Insert Colorized Code... in the Insert list in the right hand side panel
  • Select the right language, and now you can write the code, paste it into the window.
  • When you are done just click OK. and the right HTML will be inserted in your blog (37.7KB)

Microsoft shows off new GigJam service for 'getting work done'

projectgigjamMicrosoft execs are showing off on the opening day of the company's Worldwide Partner Conference a new service aimed at helping users on any device get work done.

The service and associated light-weight apps, known as "Project GigJam," have been years in the making inside the CEO's Chief Technology Office. The service will be available in preview in the coming months, officials said today.

GigJam breaks down tasks into a set of discrete steps and sets of information. Those involved in a particular task can converse (online or offline), get information from their internal business and/or software-as-a-service apps and keep track of the processes involved -- all in the name of accomplishing tasks more quickly.

GigJam isn't a new instant messaging, screen-sharing or document-collaboration/sharing application or service. It's a new and different kind of productivity offering, says Vijay Mital, Microsoft General Manager of Ambient Computing and Robotics and one of the principals involved in developing the product.

"We turn every task in an application into a multi-person app, all at the speed of communication" said Mital. What's under the covers that makes GigaJam work?

GigJam consists of a set of new Azure services plus a lightweight client for every major operating system. The services are node.js, the clients are HTML/JavasScript with a Cordova wrapper. GigJam talks to line of business apps, SaaS, communications services and more using standard REST application programming interfaces (APIs). No other integration technology is needed, officials said.

The backbone is just plain old http://. That's how the clients talk to the GigaJam cloud services. All calls to line-of-business apps, SaaS apps, Skype, Office 365 and other applications and services are just REST calls.

GigJam makes all calls using OAuth 1 and 2, so all service calls are fully credentialed. The device OS manages the credentials. The use of Azure Active Directory or any another ID broker is transparent to GigJam. GigJam doesn't hold credentials. When something is sent to another person, the information is streamed from the sender's device, boosted by a temporary cloud proxy and sandbox.

"GigJam is doing something unprecedented," said Mital. "It's an entirely new system. it's ultra-light weight and follows standard protocols of HTTP, OAuth, REST, HTML/JavaScript, and more."

To sign up for more information on GigJam when it gets closer to preview, interested parties should go to the GigJam site and follow @GigJamApp on Twitter.

The earliest you can receive a PC with Windows 10 pre-installed is July 30


Microsoft has yet to offer a RTM (Release to Manufacturing) version of Windows 10 to PC makers, and it looks like it will be waiting until the last minute to do so. Microsoft's head of Windows marketing has confirmed that PC buyers won't be able to get one with Windows 10 pre-installed on that launch date.

Bloomberg spoke with Yusuf Mehdi, Microsoft's vice president of Windows and device marketing:

"You will see computers running with Windows 10 installed very soon after the 29th and then in the fall a whole new class of machines for the holidays," he said."

In this case, "very soon" is in fact the day after the Windows 10 launch, July 30, at least for one OEM. As we have previously reported, Dell started taking pre-orders for a number of their PCs with Windows 10 pre-installed a few weeks ago. The company has said that any Windows 10 PC pre-orders in the US made by 1:00 p.m. Eastern time (10 Pacific time) on July 29, and your system will ship the same day. Those pre-orders will all get free next-business-day shipping, which means those PCs will be delivered to customers on July 30.



Planet Xamarin

Planet Xamarin