Windows Store Apps Succinctly

Author John Garland
Format Online HTML, PDF, Mobi, Epub
Price free

Windows Store apps present a radical shift in Windows development. They place content and interaction above all else to provide users with immersive, intuitive application experiences. With Windows Store Apps Succinctly you’ll be guided through obtaining a developer license, to managing your application’s life cycle and storage, all the way to submitting your app to the Windows Store.

Continue reading

Learning Modern 3D Graphics Programming

Author Jason L. McKesson
Format online HTML
Price free

What this book offers is beginner-level instruction on what many consider to be an advanced concept. It teaches programmable rendering for beginning graphics programmers, from the ground up.
This book also covers some important material that is often neglected or otherwise relegated to “advanced” concepts. These concepts are not truly advanced, but they are often ignored by most introductory material because they do not work with the fixed function pipeline.

This book is first and foremost about learning how to be a graphics programmer. Therefore, whenever it is possible and practical, this book will present material in a way that encourages the reader to examine what graphics hardware can do in new and interesting ways. A good graphics programmer sees the graphics hardware as a set of tools to fulfill their needs, and this book tries to encourage this kind of thinking.

One thing this book is not, however, is a book on graphics APIs. While it does use OpenGL and out of necessity teach rendering concepts in terms of OpenGL, it is not truly a book that is about OpenGL. It is not the purpose of this book to teach you all of the ins and outs of the OpenGL API.There will be parts of OpenGL functionality that are not dealt with because they are not relevant to any of the lessons that this book teaches. If you already know graphics and are in need of a book that teaches modern OpenGL programming, this is not it. It may be useful to you in that capacity, but that is not this book’s main thrust.
This book is intended to teach you how to be a graphics programmer. It is not aimed at any particular graphics field; it is designed to cover most of the basics of 3D rendering. So if you want to be a game developer, a CAD program designer, do some computer visualization, or any number of things, this book can still be an asset for you.

This does not mean that it covers everything there is about 3D graphics. Hardly. It tries to provide a sound foundation for your further exploration in whatever field of 3D graphics you are interested in.

Continue reading

Programming Windows 8 Apps with HTML, CSS, and JavaScript

Author Kraig Brockschmidt
Format PDF
Price free

This book is about writing Windows 8 apps in HTML, CSS, and JavaScript. The earlier chapters are indeed very specific to that particular choice of language and presentation layer, along with the Windows Library for JavaScript.

Somewhere around Chapters 7 and 8, however, we really begin to transition more into the WinRT APIs that are applicable to apps written in any language. I’m finding this especially true as I’m writing Chapter 13 on live tiles and notifications—very little of it, other than the code snippets, is unique to JavaScript, especially when talking about tile-updating web services written with server-side technologies like PHP and ASP.NET! My point in saying this is that while I’ve written this book ostensibly for web developers who are and will be looking to create apps for Windows 8 and the Windows Store, much of this book will also be very helpful to Windows 8 developers in general. And since it is a free ebook, you can’t lose!

Continue reading

Moving to Microsoft Visual Studio 2010

Author Patrice Pelland, Pascal Paré, and Ken Haines
Format PDF, XPS
Price free

This book is for professional developers who are working with previous versions of Visual Studio and are looking to make the move to Visual Studio 2010 Professional.

It is is not a language primer, a language reference, or a single technology book. It’s a book that will help professional developers move from previous versions of Visual Studio (starting with 2003 and on up). It will cover the features of Visual Studio 2010 through an application. It will go through a lot of the exciting new language features and new versions of the most popular technologies without putting the emphasis on the technologies themselves. It will instead put the emphasis on how you would get to those new tools and features from Visual Studio 2010. If you are expecting this book to thoroughly cover the new Entity Framework or ASP.NET MVC 2, this is not the book for you. If you want to read a book where the focus is on Visual Studio 2010 and on the reasons for moving to Visual Studio 2010, this is the book for you.

Continue reading

Systemic Software Debugging

Systemic Software Debugging

Systemic Software Debugging

Author Per Mellstrand and Björn Ståhl
Format PDF
Price free

Systemic Software Debugging is a light-hearted introduction to the wonderful world of, well, systemic debugging, i.e. chasing down those pesky problems that you won’t find by single- stepping through ten lines of code or taking a peak at the back-trace of a core dump. The kinds of issues that seem to magically appear after software gets even a flicker of a chance to grow out of proportion, when the build system takes a life of its own or when you have to keep a ten year old release of a compiler around just because that was the one version that managed to produce a binary that almost lived up to expectations.

This work was initially written in 2009-2010 for the use as supplementary reading material part of a seminar- oriented course in systemic debugging with a target audience of engineers and senior engineers at Sony Mobile Communications (formerly Sony Ericsson), constrained to about 150 pages with the goal of introducing as much of the notion of the systemic side of debugging as possible. It is published in a free and open form (CC-BY-3.0) in the hopes that it might be useful to other curious souls out there.

Continue reading

Programming in Lua (first edition)

Programming in Lua (first edition)

Programming in Lua (first edition)

Author Roberto Ierusalimschy
Format online HTML
Price free

This book is a detailed and authoritative introduction to all aspects of Lua programming, by Lua’s chief architect.

Programming in Lua gives a solid base for any programmer who wants to use Lua. It covers all aspects of Lua—from the basics to its API with C—explaining how to make good use of its features and giving numerous code examples. The book is targeted at people with some programming background, but it does not assume any prior knowledge about Lua or other scripting languages.

This is the online version of the first edition of the book Programming in Lua, aimed at Lua 5.0. It remains largely relevant for later versions, but there are some differences. All corrections listed in the errata have been made in the online version.

Continue reading

Sams Teach Yourself JavaScript in 24 Hours

Sams Teach Yourself JavaScript in 24 Hours

 

Author Michael Moncur
Format online HTML
Price free

JavaScript is one of the easiest, most straightforward ways to enhance a Web site with interactivity.

Sams Teach Yourself JavaScript in 24 Hours serves as an easy-to-understand tutorial on both scripting basics and JavaScript itself. The book is written in a clear and personable style with an extensive use of practical, complete examples.

Readers will learn how to use JavaScript to enhance Web pages with interactive forms, objects, and cookies. They will also discover how to use JavaScript to work with games, animation, and multimedia.

Continue reading

GNU Bash Reference Manual

GNU Bash Reference Manual

Author Chet Ramey and Brian Fox
Format online HTML
Price free

Bash is the shell, or command language interpreter, for the GNU operating system. The name is an acronym for the ‘Bourne-Again SHell’, a pun on Stephen Bourne, the author of the direct ancestor of the current Unix shell /bin/sh, which appeared in the Seventh Edition Bell Labs Research version of Unix.
Bash is largely compatible with sh and incorporates useful features from the Korn shell ksh and the C shell csh. It is intended to be a conformant implementation of the IEEE POSIX Shell and Tools specification (IEEE Working Group 1003.2). It offers functional improvements over sh for both interactive and programming use.

While the GNU operating system provides other shells, including a version of csh, Bash is the default shell. Like other GNU software, Bash is quite portable. It currently runs on nearly every version of Unix and a few other operating systems – independently-supported ports exist for MS-DOS, OS/2, Windows 95/98, and Windows NT.

Continue reading

Bash Guide for Beginners

Bash Guide for Beginners

Bash Guide for Beginners

Author Machtelt Garrels
Format online HTML
Price free

The primary reason for this document is that a lot of readers feel the existing  HOWTO to be too short and incomplete, while the Bash Scripting guide is too much of a reference work. There is nothing in between these two extremes. It was also written on the general principal that not enough free basic courses are available, though they should be.

This is a practical guide which, while not always being too serious, tries to give real-life instead of theoretical examples. It was partly written because the author doesn’t get excited with stripped down and over-simplified examples written by people who know what they are talking about, showing some really cool Bash feature so much out of its context that you cannot ever use it in practical circumstances. You can read that sort of stuff after finishing this book, which contains exercises and examples that will help you survive in the real world.

From the author’s experience as a UNIX/Linux user, system administrator and trainer, he knows that people can have years of daily interaction with their systems, without having the slightest knowledge of task automation. Thus they often think that UNIX is not user friendly, and even worse, they get the impression that it is slow and old-fashioned. This problem is another one that can be remedied by this guide.

Continue reading

Introducing Microsoft SQL Server 2012

Introducing Microsoft SQL Server 2012

Introducing Microsoft SQL Server 2012

Author Ross Mistry and Stacia Misner
Format PDF
Price free

This book is for anyone who has an interest in SQL Server 2012 and wants to understand its capabilities. In a book of this size, we cannot cover every feature that distinguishes SQL Server from other databases or previous versions, and consequently we assume you have some   familiarity with SQL Server already. You might be a database administrator (DBA), an application developer, a business intelligence solution architect, a power user, or a technical decision maker. Regardless of your role, we hope you can use this book to discover the features in SQL Server 2012 that are most beneficial to you.

Continue reading

Java Look and Feel Design Guidelines

Java Look and Feel Design Guidelines

Author Sun Microsystems, Inc.
Format online HTML
Price free

Java Look and Feel Design Guidelines, second edition, provides essential information for anyone involved in creating cross-platform GUI (graphical user interface) applications and applets in the JavaTM programming language. In particular, this book offers design guidelines for software that uses the Swing classes together with the Java look and feel.

This revised and expanded edition contains a collection of toolbar graphics, lists of terms localized for European and Asian languages, and an appendix on look and feel switching. New and revised guidelines are provided throughout, and new sections discuss smooth interaction, the use of badges in button graphics, and revised standards for window titles.

Although an application’s human interface designer and software developer might well be the same person, the two jobs involve different tasks and require different skills and tools. Primarily, this book addresses the designer who chooses the interface elements, lays them out in a set of components, and designs the user interaction model for an application. (Unless specified otherwise, this book uses “application” to refer to both applets and applications.) This book should also prove useful for developers, technical writers, graphic artists, production and marketing specialists, and testers who participate in the creation of Java applications and applets.

Java Look and Feel Design Guidelines focuses on design issues and human-computer interaction in the context of the Java look and feel. It also attempts to provide a common vocabulary for designers, developers, and other professionals.

The guidelines provided in this book are appropriate for GUI applications and applets that run on personal computers and network computers. They do not address the needs of software that runs on consumer electronic devices.

Continue reading

Bleeding at the Keyboard: A Guide to Modern Programming with Java

Bleeding at the Keyboard

Bleeding at the Keyboard

Author Gregory J. E. Rawlins
Format online HTML
Price free

Creating a Java program is a bit like making a movie or putting on a play. Every theatrical production needs actors (in Java these are objects), roles the actors play (classes), and scenes the actors play out (methods). In a movie or play, actors step into one of their scenes when given a cue; in a Java program, objects enter one of their methods when cued to do so by another object. The Java interpreter, which runs each Java program, is like a combination stage manager and producer—it creates the set, casts the actors, and teaches them their roles. We, as Java programmers, are like playwrights (or screenwriters) and directors put together, we specify the roles the actors will play. Our program’s users are the audience.

Just as a stage manager and a producer read a play or movie script to find out what sets to create and what kinds of actors to audition, the Java interpreter reads each of the classes that we as programmers write to find out how objects of that class must behave (their role). Unlike temperamental actors, however, each Java object does exactly as its class tells it, so each object is the personification of a single role.

Real actors can play many roles; Java objects are all role. A play’s script usually specifies the actions of many characters in lots of different roles: butlers, tycoons, girl scouts, lone gunmen. A Java class, however, only specifies the actions of one quite specific type of character; that is, one role. So a simple Java program might be the equivalent of an extremely boring play about a butler forever polishing silverware, or a snoozer about a tennis pro playing exactly one round of a game of tennis. A complex program, however, might describe a universe of thousands of roles for its objects to play, all working together to run a sophisticated game, a nuclear power station, a national telephone service, or an orbital telescope.

Continue reading

Dive Into Python 3

Dive Into Python 3

Dive Into Python 3

Author Mark Pilgrim
Format PDF, online HTML, archived HTML
Price free

Dive Into Python 3 covers Python 3 and its differences from Python 2. Compared to Dive Into Python, it’s about 20% revised and 80% new material.

Continue reading

Dive Into Python

Dive Into Python

Dive Into Python

Author Mark Pilgrim
Format archived PDF, online HTML, archived HTML, Word 97 DOC, plain text, XML
Price free

Dive Into Python is a free Python book for experienced programmers, published under the GNU Free Documentation License, which gives you enormous freedoms to modify and redistribute it in all its forms..

It was originally hosted at DiveIntoPython.org, but the author has pulled down all copies. It is being mirrored here.

Continue reading

A Byte of Python

A Byte of Python

A Byte of Python

Author Swaroop C H
Format PDF, Epub, online HTML
Price free

‘A Byte of Python’ is a free book on programming using the Python language. It serves as a tutorial or guide to the Python language for a beginner audience. If all you know about computers is how to save text files, then this is the book for you.

This book will teach you to use Python version 3. There will also be guidance for you to adapt to the older and more common Python version 2 in the book.

Continue reading

Open Advice

Open Advice
  • Author: Editor Lydia Pintscher and 42 prominent contributors to Open Source projects
  • Format: PDF
  • Price: free

Free Software projects are changing the software landscape in impressive ways with dedicated users and innovative management. Each person contributes something to the movement in their own way and to their abilities and knowledge. This personal commitment and the power of collaboration over the internet is what makes Free Software great and what brought the authors of this book together.

This book is the answer to “What would you have liked to know when you started contributing?”. The authors give insights into the many different talents it takes to make a successful software project, coding of course but also design, translation, marketing and other skills. We are here to give you a head start if you are new. And if you have been contributing for a while already, we are here to give you some insight into other areas and projects.

Chapters include:

  • Ideas and Innovation
  • Code First
  • Everyone Else Might Be Wrong, But Probably Not
  • Out of the Lab, into the Wild
  • Prepare for the Future: Evolution of Teams in FLOSS
  • You’ll Eventually Know Everything They’ve Forgotten
  • University and Community
  • Being Allowed to Do Awesome
  • Love the Unknown
  • Backups to Maintain Sanity
  • The Art of Problem Solving
  • Cross-Project Collaboration
  • Writing Patches
  • Given Enough Eyeballs, Not All Bugs are Shallow
  • Kick, Push
  • Test-Driven Enlightenment
  • Life-Changer Documentation for Novices
  • Good Manners Matter
  • Documentation and My Former Self
  • Stop Worrying and Love the Crowd
  • My Project Taught Me how to Grow Up
  • Learn from Your Users
  • Software that Has the Quality Without A Name
  • Don’t Be Shy
  • Use of Color and Images in Design Practices
  • How Not to Start a Community
  • Hindsight is Almost 20/20
  • Things I’m Happy I Didn’t Know
  • From Beginner to Professional
  • Packaging – Providing a Great Route into Free Software
  • Where Upstream and Downstream Meet
  • Finding Your Feet in a Free Software Promotion Team
  • Big Plans Don’t Work
  • Who are You, What are You Selling, and Why Should I Care?
  • People are Everything
  • Getting People Together
  • We’re Not Crazy . . . We’re Conference Organizers!
  • How to Ask for Money
  • Free Software in Public Administrations
  • Underestimating the Value of a Free Software Business Model
  • Free and Open Source-Based Business Models
  • On being a Lawyer in FOSS
  • Building Bridges

http://open-advice.org/

C#: The Basics

My image
  • Author: Vijay Mukhi, Sandeep Shanbhag, and Sonal Mukhi
  • Format: online HTML
  • Price: free

The book is written assuming no prior programming knowledge on the part of the readers. However, we make certain other assumptions that we shall explain now.

Many a times, on a clear night when we look up at the stars, we can’t help but wonder whether there is intelligent life out there – or are they just like us?

For we don’t believe that intellect is a quality that we are born with. In fact we are going to share a secret with you. It is the secret of success given to us by an old gypsy woman. This magic mantra has worked with many and we assume you would also use it in your life. In fact this is the only assumption we make in this book.

The secret is in persistence – nothing in the world can take place of persistence. Talent will not, nothing is more common than unsuccessful people with talent. Genius will not, unrewarded genius is almost a proverb. Education will not, the world is full of educated derelicts. Persistence and determination alone are omnipotent. We hope you agree with the old gypsy apply the maxim while learning C#.

Chapters include:

  • Getting Started
  • Namespaces
  • Constructors and Destructors
  • Components and Databases
  • Web Enabling Data
  • Function Overloading and Inheritance
  • Modifiers
  • Virtual Functions – new, override
  • Properties and Indexers
  • Interfaces and Structures
  • Operator Overloading
  • Collection Objects
  • Attributes, The Reflection API and Conditionals
  • Unsafe code

http://www.vijaymukhi.com/documents/books/csbasics/csharp1.html

Data Structures and Algorithms with Object-Oriented Design Patterns in C#

  • Author: Bruno R. Preiss
  • Format: online HTML
  • Price: free

The primary goal of this book is to promote object-oriented design using C# and to illustrate the use of the emerging object-oriented design patterns. Experienced object-oriented programmers find that certain ways of doing things work best and that these ways occur over and over again. The book shows how these patterns are used to create good software designs. In particular, the following design patterns are used throughout the text: singleton, container, enumeration, adapter and visitor.

Virtually all of the data structures are presented in the context of a single, unified, polymorphic class hierarchy. This framework clearly shows the relationships between data structures and it illustrates how polymorphism and inheritance can be used effectively. In addition, algorithmic abstraction is used extensively when presenting classes of algorithms. By using algorithmic abstraction, it is possible to describe a generic algorithm without having to worry about the details of a particular concrete realization of that algorithm.

A secondary goal of the book is to present mathematical tools just in time. Analysis techniques and proofs are presented as needed and in the proper context. In the past when the topics in this book were taught at the graduate level, an author could rely on students having the needed background in mathematics. However, because the book is targeted for second- and third-year students, it is necessary to fill in the background as needed. To the extent possible without compromising correctness, the presentation fosters intuitive understanding of the concepts rather than mathematical rigor.

Chapters include:

  • Colophon
  • Dedication
  • Preface
  • Contents
  • Introduction
  • Algorithm Analysis
  • Asymptotic Notation
  • Foundational Data Structures
  • Data Types and Abstraction
  • Stacks, Queues, and Deques
  • Ordered Lists and Sorted Lists
  • Hashing, Hash Tables, and Scatter Tables
  • Trees
  • Search Trees
  • Heaps and Priority Queues
  • Sets, Multisets, and Partitions
  • Garbage Collection and the Other Kind of Heap
  • Algorithmic Patterns and Problem Solvers
  • Sorting Algorithms and Sorters
  • Graphs and Graph Algorithms
  • C# and Object-Oriented Programming
  • Class Hierarchy Diagrams
  • Character Codes
  • References

Read: Data Structures and Algorithms with Object-Oriented Design Patterns in C#

C# Tutorial

My image
  • Author: Hanspeter Mössenböck
  • Format: PDF
  • Price: free

This tutorial was given at the Microsoft .NET Crash Course in Cambridge on March 25-28, 2002. It is intended for programmers who are already familiar with Java or similar languages. It starts out with basic C# features such as types, expressions, statements and object-orientation and continues with more advanced features such as threads, attributes, namespaces and assemblies. It also provides a short glimpse into .NET’s base class library.

Contents include:

  • Part 1: Introduction to C#
  • Part 2: Advanced C#

http://www.ssw.uni-linz.ac.at/Teaching/Lectures/CSharp/Tutorial/

C++: A Dialog

  • Author: Steve Heller
  • Format: online HTML
  • Price: free

Is this book for you? If you’re a programmer in a language other than C++ and you want to upgrade your skills, then you shouldn’t have much difficulty figuring that out for yourself by reading a few pages. But what if you have no previous programming experience? In that case, here’s a little quiz that may help you decide:

1. Do you want to know how the programs in your computer work inside and how to write some of your own?
2. Are you willing to exert yourself mentally to learn a complex technical subject?
3. Do you have a sense of humor?

If you’ve answered yes to these questions and follow through with the effort required, then you will get a lot out of this book.

Chapters include:

  • Introduction to Programming
  • Hardware Fundamentals
  • Basics of Programming
  • More Basics
  • Functional Literacy
  • Taking Inventory
  • Creating a Homegrown string class
  • Finishing Our homegrown string class
  • Inheritance
  • Polymorphism
  • The Home Inventory Project
  • More on the Home Inventory Project
  • Analyzing the Home Inventory Project

Read: C++: A Dialog

Download the example code from the author’s current website.

IMPORTANT NOTES:

This book is quite old and uses a very old compiler, which is still available here, for free (free registration may be required). I am not sure if that compiler will run, or if the executables it generates can run on a modern version of Windows, though. You’ll just have to give it a try to find out.

If you have any troubles with it, you can try this free compiler instead, or even the free C++ Builder Community Edition.

Personally, I’d try the very old compiler first, followed by the newer one, and only use the full blown C++ Builder as a last resort, since there may be compatibility issues with the example code provided for the book, and each step up in compiler complexity and version upgrade just increases the chances that you’ll never be able to get the example code to work with the compiler, or you’ll get lost with trying to use the compiler while following the book.

Unfortunately, the debugger used in this book is no longer available. 🙁

Another thing to keep in mind is that this book is no longer available for free on the author’s website, so I am linking to a mirror of a previous version of his website, instead. The formatting of the book’s HTML text is rather ugly, with an uncomfortable to read mixture of text sizes, and a confusing link layout (due to being an archive.org mirror). If you encounter any dead links in the Table of Contents, try accessing a different link within the same chapter and just scroll up or down the page accordingly, till you get to the content section that you are looking for.

I am keeping the listing for this book available, despite all the issues that may be involved, because the text is still quite good and it has a lot to offer the reader, with regards to understanding how things work under the hood, with a depth not found in very many other beginner books. So, even if you never actually do any coding while following this book, you’ll still learn a lot of the kind of essential base knowledge that can help make you a better programmer.

So, the best use of this book might be as a prequel brain fertilizer, before using another book to do your actual hands on learning.