background preloader

10 More Puzzle Websites to Sharpen Your Programming Skills

10 More Puzzle Websites to Sharpen Your Programming Skills
My recently published Six Revision guest post, 10 Puzzle Websites to Sharpen Your Programming Skills, got a great response, hitting the front page of Hacker News, Reddit, and doing fairly well on Digg too. Lots of comments were left pointing out some sites which weren't included in my list, so I'm following up here with a list of 10 more top programming puzzle websites: 1. Code Chef Code Chef has lots of practice puzzles, and monthly competitions with cash prizes. The Sphere Online Judge contains 1871 different programming problems. 3. The aim with code golf is to submit a solution using the fewest characters possible.Solutions can be submitted in Perl, Python PHP or Ruby. 4. Over 2600 great programming puzzles, and also regular contests. 5. An online competition site that automatically checks your submissions. 6. The code jam is a programming contest from Google. 7. 8. A British version of the computing olympiad. 9. 10. A site dedicated to practical Java programming problems.

How to write a simple operating system in assembly language (C) 2013 Mike Saunders and MikeOS Developers This document shows you how to write and build your first operating system in x86 assembly language. It explains what you need, the fundamentals of the PC boot process and assembly language, and how to take it further. The resulting OS will be very small (fitting into a bootloader) and have very few features, but it's a starting point for you to explore further. After you have read the guide, see the MikeOS project for a bigger x86 assembly language OS that you can explore to expand your skills. Requirements Prior programming experience is essential. For this guide we're using Linux. Installing Linux is very easy thesedays; grab Ubuntu and install it in VMware or VirtualBox if you don't want to dual-boot. sudo apt-get install build-essential qemu nasm This gets you the development toolchain (compiler etc.), QEMU PC emulator and the NASM assembler, which converts assembly language into raw machine code executable files. PC primer foo: db 0 Building

14 Coding Challenges to Help You Train Your Brain Programming is becoming an essential part of nearly every industry known to man, the way it helps to organize and maintain large systems is not possible to compare to anything else, and so more and more people begin their journey. You can learn to code both from interactive platforms and also from books – whichever you find most appropriate and easy to learn from. But, sometimes that’s not good enough, and we want to practice new things. Coding is a lot about creativity, your ability to come up with new and interesting ideas; but sometimes, due to a large amount of time spent tackling common problems, we forget about creativity. I’m not quite sure whether that is the reason coding challenges were made, but they certainly help with the part where you need to think of your own stuff to program. We could say that coding challenges are great for: 1. 2. HackerEarth provides a SaaS application to do an automated assessment of the technical and logical skills of candidates. 3. 4. 5. 6. 7. 9. 10.

Codecademy Labs Recommended reading from Coders at Work I really enjoyed reading Peter Siebel's Coders at Work , in which he interviews many prominent developers including Donald Knuth, Ken Thompson and Peter Norvig. A question that gets asked to the majority of the developers is what programming books do they recommend. I've complied some of their suggestions into the following list: The Art of Computer Programming TAOCP is mentioned throughout Coders at Work. Programming Pearls A book about good programming practice with examples in C, this classic has stood the test of time. Beautiful Code The tagline for this book is "Leading Programmers Explain How They Think". Structure and Interpretation of Computer Programs SICP is recommended several times in the book. Purely Functional Data Structures Describes data structures from a functional programming point of view, rather than the more common imperative perspective (such as Java and C++ data structure books). Higher Order Perl Code Complete The Practice of Programming The interviews are really great.

C++ Style Languages: C++, Objective-C, Java, C# - Hyperpolyglot a side-by-side reference sheet grammar and invocation | variables and expressions | arithmetic and logic | strings | regexes | dates and time | fixed-length arrays | resizable arrays | tuples | dictionaries | functions | execution control | exceptions | concurrency | file handles | files | file formats | directories | processes and environment | libraries and namespaces | user-defined types | generic types | objects | polymorphism | reflection | net and web | unit tests | debugging and profiling General version used The compiler version used for this sheet. show version How to get the compiler version. implicit prologue Code which examples in the sheet assume to have already been executed. hello world How to write, compile, and run a "Hello, World!" file suffixes For source files, header files, and compiled object files. The gcc compiler will treat a file with any of the following suffixes as C++ source: .cc .cp .cxx .cpp .CPP .c++ .C block delimiters How blocks are delimited. statement terminator c++

10 places where anyone can learn to code Teens, tweens and kids are often referred to as “digital natives.” Having grown up with the Internet, smartphones and tablets, they’re often extraordinarily adept at interacting with digital technology. But Mitch Resnick, who spoke at TEDxBeaconStreet, is skeptical of this descriptor. Sure, young people can text and chat and play games, he says, “but that doesn’t really make you fluent.” Mitch Resnick: Let's teach kids to code Fluency, Resnick proposes in this TED Talk, comes not through interacting with new technologies, but through creating them. The point isn’t to create a generation of programmers, Resnick argues. In his talk, Resnick describes Scratch, the programming software that he and a research group at MIT Media Lab developed to allow people to easily create and share their own interactive games and animations. At Codecademy, you can take lessons on writing simple commands in JavaScript, HTML and CSS, Python and Ruby. While we’re at it: bonus!

Free Programming Resources Developer News - How media queries allow you to optimize SVG icons for several sizes Happy first birthday to Blink By Bruce Lawson · Thursday, April 3, 2014 0 Twelve months ago today, I stayed up past my bedtime to blog about the new rendering engine, Blink, being forked from WebKit. As it's Blink's first birthday, let's take a brief look at where we've got to. Read more… Introducing the world’s most useless extension By Andreas Bovens · Tuesday, April 1, 2014 0 We're proud to introduce the world’s most useless extension for your daily use and enjoyment. Read more… Removing showModalDialog() from the Web platform By Mathias Bynens · Thursday, March 27, 2014 0 The showModalDialog() API is being removed from the Web platform. Practical application and usage of the W3C Device Orientation API By Rich Tibbett · Wednesday, March 26, 2014 0 The W3C's device orientation API allows us to determine the orientation of a device in physical space.

January 2006 One more set of features that we need to learn, and then we get to go play. This is an important lesson -- we have reached the point where you can start doing some interesting stuff. So, just to get it under your fingers, there will be more than one assignment this time. Arrays In any sort of non-trivial application you are going to need to track collections of things. This is where the notion of collections comes in. The first, the simplest, and BY FAR the most common sort of collection is called an array. Suppose we wanted to declare an array of 10 integers. int[] myArray; Now, in Java, an array is an object in its own right. myArray = new int[10]; The number of elements in the array is called its dimension. Now, be very careful here. myArray[0] = 0; myArray[1] = 1; and so forth. We also have some shortcuts that we can use when we go to declare these things. int[] k = new int[3]; Or, we could declare, dimension and init the array all at one throw.... float[] z = {1.414, 3.1415, 1.6815}; i++;

7 Ways to Make Your Own Video Game Steps Laying the Foundations <img alt="Image titled Make Your Own Video Game Step 1" src=" width="728" height="546" class="whcdn" onload="WH.performance.clearMarks('image1_rendered'); WH.performance.mark('image1_rendered');">1Pick your genre. While every successful game is unique in its own way, almost all of them fit into a specific genre. <img alt="Image titled Make Your Own Video Game Step 6" src=" width="728" height="546" class="whcdn">6Take a break. Writing the Design Document Starting to Program Creating Assets Putting it All Together Testing the Game Releasing Your Work Community Q&A Add New Question Are there companies who can help me build a game? Unanswered Questions Ask a Question Tips

re2 - an efficient, principled regular expression library SDK Before installing Android Studio or the standalone SDK tools, you must agree to the following terms and conditions. This is the Android Software Development Kit License Agreement 1. Introduction 1.1 The Android Software Development Kit (referred to in this License Agreement as the "SDK" and specifically including the Android system files, packaged APIs, and Google APIs add-ons) is licensed to you subject to the terms of this License Agreement. 2. 2.1 In order to use the SDK, you must first agree to this License Agreement. 3. 3.1 Subject to the terms of this License Agreement, Google grants you a limited, worldwide, royalty-free, non-assignable, non-exclusive, and non-sublicensable license to use the SDK solely to develop applications for compatible implementations of Android. 3.2 You may not use this SDK to develop applications for other platforms (including non-compatible implementations of Android) or to develop another SDK. 4. 5. 6. 7. 8. 9. 12. 13. 14.

Sleep: The Real Key to a Long-Term, Loving Relationship? It is one of the most common struggles that couples face: Over the life of a relationship, partners can lose a sense of appreciation for each other. Holding on to a sense of gratitude for each other is one of the hallmarks of couples who stay content in their relationships over the course of many years. On the other hand, loss of gratitude and appreciation between partners can jeopardize a relationship’s long-term success. A new study suggests that poor sleep may contribute to a lack of appreciation between romantic partners. After a night of sleep, people were asked to make a list of five things for which they were grateful. The last finding is particularly interesting. Sleep can pose a number of challenges to relationships. These may be among the reasons why an increasing number of couples are choosing to sleep in separate beds. What’s more, sleeping together can actually reinforce good sleep habits. Sweet Dreams, Michael J.

Related: