Tuesday, February 26, 2013

IE10 for Windows 7 Globally Available (link)

We will begin auto updating Windows 7 customers to IE10 in the weeks ahead, starting today with customers running the IE10 Release Preview. With this final release, IE10 brings the same leading standards support, with improved performance, security, privacy, reliability that consumers enjoy on Windows 8, to Windows 7 customers.


A closer look at the performance of Google Chrome (link)

One of our upcoming projects aims to deliver a rich, real-time experience directly in the browser. In the course of this work, our engineers bumped into a series of elusive performance issues that seemed to affect only the beta testers who were using Google Chrome.

At first, we suspected that this is our fault. But when we finally looked under the hood of seemingly the fastest browser on the market, we discovered a series of design decisions that may elude conventional benchmarks, but undoubtedly affect the performance of many real-world sites all across the web.


Friday, February 22, 2013

How to write better asynchronous code in JavaScript (link)

One of JavaScript’s strengths is how it handles asynchronous (async for short) code. Rather than blocking the thread, async code gets pushed to an event queue that fires after all other code executes. It can, however, be difficult for beginners to follow async code. I’ll help clear up any confusion you might have in this article.


Thursday, February 21, 2013

Meet my new PDF Viewer - Firefox

I have uinstalled all crepy propertary software dedicated for PDF viewing. From now on my PDF viewer is Firefox. Read about it here. You can open your PDF document in Firefox from your disk using "file:///..." syntax. For example on linux it would be: "file:///home/darius/Downloads/FR0512.pdf" and on windows "file:///c:/users/darius/Desktop/FR0512.pdf". And here follows the screenshot:

Wednesday, February 20, 2013

Why Mozilla Matters to me

This is quotes which I find most importent for me from Why Mozilla Matters artice. To sumirize all this for me the Mozilla is the last open Web vendor - the great last hope of the open web.
Some of you may still be asking: beyond copying design or sharing pieces of code, why won’t Mozilla switch to WebKit?
But to answer the question “why not switch” directly: the switching costs for us, in terms of pure code work (never mind loss of standards body and community leverage), are way too high for “switching to WebKit” on any feasible, keep-your-users, current-product timeline.
At the Mozilla mission level, monoculture remains a problem that we must fight. The web needs multiple implementations of its evolving standards to keep them interoperable.
If we at Mozilla ever were to lose the standards body leverage needed to uphold our mission, then I would wonder how many people would choose to work for or with us. If Servo also lacked research partners and good prospects due to changing technology trends, we would have more such retention troubles. In such a situation, I would be left questioning why I’m at Mozilla and whether Mozilla matters.
The truth is that Gecko has been good for us, when we invest in it appropriately. (There’s no free lunch with any engine, given the continuously evolving Web.) We could not have done Firefox OS or the modern Firefox for Android without Gecko. These projects continue to drive Gecko evolution.
And again, don’t forget Servo. The multicore/GPU future is not going to favor either WebKit or Gecko especially. The various companies investing in these engines, including us but of course Apple, Google, and others, will need to multi-thread as well as process-isolate their engines to scale better on “sea of processors” future hardware.
Indeed more is at stake than just switching costs, standards progress, and our mission or values.

Tuesday, February 19, 2013

node-inspector module for nodejs application debugging

I have found this very useful nodejs module: node-inspector. Node Inspector is a debugger interface for nodeJS using the WebKit Web Inspector.

Here follows screenshot of running node-inspector debugging session:

You install node-inspector with the following command:

> npm install -g node-inspector

Start your application in debug mode like this:

> node –debug index.js
Then start node-inspector (in my case default port 8080 was already in use so I specified 9999 as my port.
> node-inspector --web-port=9999
Then open you chrome browser and point to the address that was printed by inspector then it started (in my case, but windows did not like zeros so I modified address to the following value:

Wednesday, February 13, 2013

Opera to switch to WebKit rendering engine (link)

To provide a leading browser on Android and iOS, this year Opera will make a gradual transition to the WebKit engine, as well as Chromium, for most of its upcoming versions of browsers for smartphones and computers.

Read more..

Tuesday, February 5, 2013

Tracking Down Memory Leaks in Node.js – A Node.JS Holiday Season (link)

This post is the first in the A Node.JS Holiday Season series from the Identity team at Mozilla, who last month delivered the first beta release of Persona. To make Persona, we built a collection tools addressing areas ranging from debugging, to localization, to dependency management, and more. This series of posts will share our learnings and tools with the community, tools which are relevant to anyone building a high availability service with Node.JS. We hope you enjoy the series, and look forward to your thoughts and contributions. We’ll start off with a topic about a nitty-gritty Node.js problem: memory leaks. We present node-memwatch – a library to help discover and isolate memory leaks in Node.


Monday, February 4, 2013

Geeks are the New Guardians of Our Civil Liberties (link)

A decade-plus of anthropological fieldwork among hackers and like-minded geeks has led me to the firm conviction that these people are building one of the most vibrant civil liberties movements we’ve ever seen. It is a culture committed to freeing information, insisting on privacy, and fighting censorship, which in turn propels wide-ranging political activity. In the last year alone, hackers have been behind some of the most powerful political currents out there.


How I Learned To Enjoy JavaScript (link)

Eleven months ago I would have cringed at the thought of having to build large web applications, like the ones I'd usually built in Flex, using JavaScript. Over the years my JS usage became less and less; embed a SWF, fix an IE bug. At the same time the opportunity to work on a big web app that would need to be written in JavaScript was becoming a real possibility. I began to research what the latest JavaScript techniques, tools and best practices were being used by the JavaScript community. What I've learned over the last eleven months is that I am also capable of enjoying big development in JavaScript, even after being mainly an ActionScript developer for close to 10 years.

Read more

Saturday, February 2, 2013

Exceptional Exception Handling in JavaScript (link)

Anything that can go wrong, will go wrong. Murphy’s law is even applicable to software development. For non-trivial programs, it’s not a matter of if, but when something will go wrong. Standards non-compliance, unsupported features, and browser quirks are just a few sources of potential problems facing web developers. Given all of the things that can go wrong, JavaScript has a surprisingly simple way of dealing with errors ― it just gives up and fails silently. At least, that’s the behavior seen by the user. In reality, there is a lot going on under the hood.

Read more

Friday, February 1, 2013

Understand memory leaks in JavaScript applications (link)

Garbage collection can be freeing. It lets us focus on application logic rather than memory management. However, garbage collection is not magic. Understanding how it works, and how it can be tricked into maintaining memory long after it should have been released, results in faster and more reliable applications. In this article, learn about a systematic approach for locating memory leaks in JavaScript applications, several common leaking patterns, and appropriate methods to address those leaks.