A successful Git branching model » nvie.com
A Git branching strategy for developing and releasing software.
9 weeks ago
KDE Help Center could't launch
sudo apt-get install kinit kio kio-extras kded5
ubuntu  tellico  help 
july 2018
Generating a new SSH key and adding it to the ssh-agent
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
git  ssh 
december 2017
HTTP to HTTPS redirects on IIS 7.x and higher
We want all the requests (both HTTP & HTTPS) to be redirected on HTTPS
iis  https 
march 2016
How to enter Unicode characters in Microsoft Windows
This is how to enter any Unicode character in Microsoft Windows.

There are definitely other (more efficient) ways to do it, but this should work in a pinch.

I tested this on Windows XP and Windows 2003. If you try it on earlier versions, let me know what you find out and I'll update this document.
february 2016
How can I convert google chrome's .keyIdentifier to something reasonable?
//Google chrome retardedness
if(event.keyIdentifier) {
keyCode = parseInt(event.keyIdentifier.substr(2), 16);
//not that the other browsers are any closer to something systematic and logical
else {
keyCode = event.keyCode;
javascript  keyboard  browser 
february 2016
Virtual Machine (VM), Windows Virtual PC & BrowserStack : Microsoft Edge Dev
est Microsoft Edge and versions of IE6 through IE11 using free virtual machines you download and manage locally.
testing  ie  microsoft  vm 
january 2016
Handling user input in HTML5 Canvas-based games
Developers with a background in Flash or Silverlight are often surprised that applications written for HTML5 Canvas offer no special accommodations in terms of handling user input. Essentially, HTML user input involves using an event-handling system built into browsers since the earliest days of JavaScript-enabled web browsers; there's nothing specific to HTML5 for detecting and handling user input. For example, the browser can provide low-level feedback indicating which coordinate (x,y) the user has clicked on, and that's about it.

Handling user interaction is no different than any other low-level game architecture. There are no built-in abstractions to notify you when the user has interacted with a specific object that has been rendered on the Canvas. This provides a great degree of low-level control over how you want to handle these events. As long as you can keep various browser quirks at bay, you can ultimately tune the handling of the events for maximum efficiency according to a unique application—rather than being tied to a specific implementation.

In this article, learn techniques for handling user interaction in HTML Canvas-based games. Examples illustrate how to handle keyboard, mouse, and touch-based events. Strategies for broadcasting events to game objects, and mobile compatibility, are also covered.
canvas  html5  keyboard  javascript  mouse  touch  event 
january 2016
A native implementation of TLS (and various other cryptographic tools) in JavaScript.
crypto  javascript 
december 2015
Implement the Observer Pattern in TypeScript
I’ve been making the case to people in my little corner of the world that TypeScript lets us front end developers implement tried and true software design patterns in a more “natural” way than we can with plain old JavaScript. This post describes how to implement the Observer pattern.
designpattern  observer  typescript  javascript 
december 2015
Code Conventions for the JavaScript Programming Language
This is a set of coding conventions and rules for use in JavaScript programming. It is inspired by the Sun document Code Conventions for the Java Programming Language. It is heavily modified of course because JavaScript is not Java.

The long-term value of software to an organization is in direct proportion to the quality of the codebase. Over its lifetime, a program will be handled by many pairs of hands and eyes. If a program is able to clearly communicate its structure and characteristics, it is less likely that it will break when modified in the never-too-distant future.

Code conventions can help in reducing the brittleness of programs.

All of our JavaScript code is sent directly to the public. It should always be of publication quality.

Neatness counts.
programming  style  javascript 
november 2015
Where is Work Offline button in Windows 8/8.1/10
In Windows 8, this button is now in different and slightly less obvious place. on the Home tab of File Explorer click Easy access > Work offline.
offline  windows 
november 2015
DataView - JavaScript
The DataView view provides a low-level interface for reading and writing multiple number types in an ArrayBuffer irrespective of the platform's endianness.
arraybuffer  javascript 
october 2015
The Basics of Web Workers - HTML5 Rocks
There are a number of bottlenecks preventing interesting applications from being ported (say, from server-heavy implementations) to client-side JavaScript. Some of these include browser compatibility, static typing, accessibility, and performance. Fortunately, the latter is quickly becoming a thing of the past as browser vendors rapidly improve the speed of their JavaScript engines.
html5  webworker  tutorial 
october 2015
Building Single Page Apps with Knockout, jQuery, and Web API
In short, there is a great wikipedia page that explains what a SPA is, some ways to create a SPA (there is not just one cut and dry way), and some pros and cons. Definitely check it out. My cliff notes, that I include in the course, are that a SPA is a web app that fits on a single web page that provides a fluid user experience. A SPA is fully (or close) loaded on the initial page load, it’s key resources are preloaded, and progressively downloads features as required. A SPA may also persist and maintain important state on the client while also handling navigation, history and deep linking. A great examples of a SPA is gmail.
knockoutjs  tutorial  singlepageapplication 
october 2015
HTML5's canvas Part II: Pixel Manipulation
You can basically do the three following things:
- Create an array of empty pixels, or
- Get an array of pixels from an existing canvas, or
- Set the pixels of a canvas from a pixel array
canvas  html5  javascript 
october 2015
Same-origin policy
In computing, the same-origin policy is an important concept in the web application security model. Under the policy, a web browser permits scripts contained in a first web page to access data in a second web page, but only if both web pages have the same origin. An origin is defined as a combination of URI scheme, hostname, and port number.[1] This policy prevents a malicious script on one page from obtaining access to sensitive data on another web page through that page's Document Object Model.
security  websocket 
october 2015
C# Debug.Write Method
Debug.Write and Debug.WriteLine are key Debug methods. They write debug messages (by default) to the Visual Studio Debug window. With Write, no newline is appended. Multiple Write calls can be used on a single line.
debug  csharp  console 
september 2015
MVVM vs MVP vs MVC: The differences explained
Those who know me know that I have a passion for software architecture and after developing projects using Model-View-ViewModel (MVVM), Model-View-Presenter (MVP), and Model-View-Controller (MVC), I finally feel qualified to talk about the differences between these architectures. The goal of this article is to clearly explain the differences between these 3 architectures.
comparison  mvc  mvvm 
august 2015
The Reactive Manifesto
We believe that a coherent approach to systems architecture is needed, and we believe that all necessary aspects are already recognised individually: we want systems that are Responsive, Resilient, Elastic and Message Driven. We call these Reactive Systems.

Systems built as Reactive Systems are more flexible, loosely-coupled and scalable. This makes them easier to develop and amenable to change. They are significantly more tolerant of failure and when failure does occur they meet it with elegance rather than disaster. Reactive Systems are highly responsive, giving users effective interactive feedback.
programming  reactive 
august 2015
« earlier      

Copy this bookmark: