background preloader

Software dev

Facebook Twitter

Operating Systems: Three Easy Pieces. Blog: Why Textbooks Should Be Free Quick: Free Book Chapters - Buy Hardcover - Buy Softcover - Buy PDF - Buy T-shirt - For Teachers - Homework - News - Acknowledgements - Other Books Welcome to Operating Systems: Three Easy Pieces (now version 0.90 -- see book news for details), a free online operating systems book!

Operating Systems: Three Easy Pieces

The book is centered around three conceptual pieces that are fundamental to operating systems: virtualization, concurrency, and persistence. In understanding the conceptual, you will also learn the practical, including how an operating system does things like schedule the CPU, manage memory, and store files persistently. Lots of fun stuff! State of the JavaScript Landscape: A Map for Newcomers. If you have previous programming experience but are a newcomer to frontend JavaScript development, the array of jargon and tools can be confusing.

State of the JavaScript Landscape: A Map for Newcomers

Without getting bogged down in detailed discussion, let’s take a general survey of the current “JavaScript landscape”. This should orient you sufficiently to start your journey into frontend development. Key terms are bolded. If you want to skip ahead to a repository with working boilerplate, I've put together a Github repository with my recommendations. How does client-side JavaScript work, and why use it? Key terms: DOM (Document Object Model), JavaScript, async, AJAX To write effective frontend code, you need a basic understanding of how HTML, CSS, and JavaScript fit together to create web pages. When the client (usually a browser) accesses an HTML page, it downloads it, parses it, and then uses it to construct the DOM (Document Object Model).

How To Set Up an OpenVPN Server on Ubuntu 14.04. Introduction Want to access the Internet safely and securely from your smartphone or laptop when connected to an untrusted network such as the WiFi of a hotel or coffee shop?

How To Set Up an OpenVPN Server on Ubuntu 14.04

A Virtual Private Network (VPN) allows you to traverse untrusted networks privately and securely to your DigitalOcean Droplet as if you were on a secure and private network. Software Architecture Document Final. How to create a self-signed Certificate. Overview The following is an extremely simplified view of how SSL is implemented and what part the certificate plays in the entire process.

How to create a self-signed Certificate

Normal web traffic is sent unencrypted over the Internet. That is, anyone with access to the right tools can snoop all of that traffic. Obviously, this can lead to problems, especially where security and privacy is necessary, such as in credit card data and bank transactions. The Secure Socket Layer is used to encrypt the data stream between the web server and the web client (the browser). Step 1: Generate a Private Key. 10 Best AngularJS Tutorials for Developers. AngularJS is a very popular and powerful JavaScript MVC framework.

10 Best AngularJS Tutorials for Developers

AngularJs javascript framework is used in Single Page Application projects which extends HTML DOM with additional attributes and makes it more responsive to user actions. As internet is full of free resources , in this post we have a list of 10 best angularjs tutorials for developers who wants to learn and improve the skills on AngularJs. 1. AngularJS – CodeAcademy 2. 3. 4. 7. 8. 9. MokaByte. World Wide Web Consortium (W3C) HTML 5.1 Nightly. This section describes the status of this document at the time of its publication.

HTML 5.1 Nightly

Other documents may supersede this document. A list of current W3C publications and the latest revision of this technical report can be found in the W3C technical reports index at The management and production of this document follows a relatively complex setup. Details are provided as part of the introduction. This document was published by the HTML Working Group as a Working Draft. Design for thread safety. Six months ago I began a series of articles about designing classes and objects.

Design for thread safety

In this month's Design Techniques column, I'll continue that series by looking at design principles that concern thread safety. This article tells you what thread safety is, why you need it, when you need it, and how to go about getting it. What is thread safety? Thread safety simply means that the fields of an object or class always maintain a valid state, as observed by other objects and classes, even when used concurrently by multiple threads.

Patterns of Enterprise Application Architecture - Martin Fowler. Hexagonal architecture. Create your application to work without either a UI or a database so you can run automated regression-tests against the application, work when the database becomes unavailable, and link applications together without any user involvement. The Pattern: Ports and Adapters (‘’Object Structural’’) Alternative name: ‘’Ports & Adapters’’ JUnit - About. HTML Tutorial. Free Online Chapters of Inside the Java Virtual Machine by Bill Venners. Documentation - WildFly 8. Learn to Build Modern Web Apps with the AngularJS Tutorial. Learn Python. The New Methodology. In the past few years there's been a blossoming of a new style of software methodology - referred to as agile methods.

The New Methodology

Alternatively characterized as an antidote to bureaucracy or a license to hack they've stirred up interest all over the software landscape. In this essay I explore the reasons for agile methods, focusing not so much on their weight but on their adaptive nature and their people-first orientation. Probably the most noticeable change to software process thinking in the last few years has been the appearance of the word 'agile'.