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.

Free java Programming Language Books Download An Introduction to Object-Oriented Programming with Java pdf An Introduction to Object-Oriented Programming with Java takes a full-immersion approach to object-oriented programming. Proper object-oriented design practices are emphasized throughout the book. Java for the Beginning Programmer pdf Java for the Beginning Programmer teaches Java to someone with absolutely no programming background. Learning Java (4th Edition) Java is the preferred language for many of today's leading-edge technologies¡ªeverything from smartphones and game consoles to robots, massive enterprise systems, and supercomputers. Thinking in Java (4th Edition) This is not a beginner's book to programming, but if you have a little bit of programming experience and the desire to learn, this is the book for you. Think Java: How to Think Like a Computer Scientist About the Author Allen B. The Java Language Specification Core JAVA Vol.1 Data Structures and Algorithms with Object-Oriented Design Patterns in Java agileJava

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.

10 Mistakes That JavaScript Beginners Often Make Martin Angelov JavaScript is an easy language to get started with, but to achieve mastery takes a lot of effort. Beginners often make a few well-known mistakes that come back and bite them when they least expect. To find which these mistakes are, keep reading! 1. Missing curly braces One practice, which JavaScript beginners are often guilty of, is omitting curly braces after statements like if, else, while and for. Run Although the fail() call is indented and looks as if it belongs to the if statement, it does not. 2. When JavaScript is parsed, there is a process known as automatic semicolon insertion. // This code results in a type error. Because there is a semicolon missing on line 3, the parser assumes that the opening bracket on line 5 is an attempt to access a property using the array accessor syntax (see mistake #8), and not a separate array, which is not what was intended and results in a type error. 3. JavaScript is dynamically typed. 4. 5. var a = 0.1, b = 0.2; // Surprise! 6. 7.

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! Probabilistic Programming & Bayesian Methods for Hackers Using Python and PyMC The Bayesian method is the natural approach to inference, yet it is hidden from readers behind chapters of slow, mathematical analysis. The typical text on Bayesian inference involves two to three chapters on probability theory, then enters what Bayesian inference is. After some recent success of Bayesian methods in machine-learning competitions, I decided to investigate the subject again. If Bayesian inference is the destination, then mathematical analysis is a particular path to towards it. Bayesian Methods for Hackers is designed as a introduction to Bayesian inference from a computational/understanding-first, and mathematics-second, point of view. The choice of PyMC as the probabilistic programming language is two-fold. PyMC does have dependencies to run, namely NumPy and (optionally) SciPy. Contents More questions about PyMC? Using the book Installation and configuration Contributions and Thanks

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

Evaluations Made Easy Our dynamic filtering gives you access to all of the information you want. See how you rank against other developers based on any combination of language, location, experience, team, group, or anything else. 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.

Practical threaded programming with Python Introduction With Python, there is no shortage of options for concurrency, the standard library includes support for threading, processes, and asynchronous I/O. In many cases Python has removed much of the difficulty in using these various methods of concurrency by creating high-level modules such as asynchronous, threading, and subprocess. Outside of the standard library, there are third solutions such as twisted, stackless, and the processing module, to name a few. This article focuses exclusively on threading in Python, using practicle examples. It is important to first define the differences between processes and threads. Hello Python threads To follow along, I assume that you have Python 2.5 or greater installed, as many examples will be using newer features of the Python language that only appear in at least Python2.5. hello_threads_example If you run this example, you get the following output: The last three lines of code actually call the class and start the threads. #! Back to top

Introduction to Android Development Mobiletuts+ will be covering all major mobile platforms - iPhone, Windows, Android and Blackberry. Today we'll be taking a look at Android development: explaining why people have choosen to work with Android and providing an overview of the Eclipse IDE and its Java, DDMS and debugging perspectives. Finally, you'll learn how to get started making your first Android app! Android 101 Tutorials: What is Android? Android is an open source mobile operating system that combines and builds upon parts of many different open source projects. Why Android? There are many advantages to developing for the Android platform: Zero startup costs to begin development. Prerequisites before continuing with this article include: You must download and install the Eclipse IDE. The Eclipse IDE Eclipse is a complex, multi-language, and extensible Integrated Development Environment (IDE). After opening Eclipse for the first time, select a workspace to save your project within. The Java Perspective The DDMS Perspective

Making GIFs from Video Files with Python - __del__( self ) Sometimes producing a good animated GIF requires a few advanced tweaks, for which scripting can help. So I added a GIF export feature to MoviePy, a Python package originally written for video editing. For this demo we will make a few GIFs out of this trailer: You can download it with this command if you have Youtube-dl installed: Converting a video excerpt into a GIF In what follows we import MoviePy, we open the video file, we select the part between 1’22.65 (1 minute 22.65 seconds) and 1’23.2, reduce its size (to 30% of the original) and save it as a GIF: Cropping the image For my next GIF I will only keep the center of the screen. Freezing a region Many GIF makers like to freeze some parts of the GIF to reduce the file size and/or focus the attention on one part of the animation. In the next GIF we freeze the left part of the clip. Freezing a more complicated region Time-symetrization Surely you have noticed that in the previous GIFs, the end did not always look like the beginning.

From STUPID to SOLID Code! | William DURAND In the following, I will introduce both STUPID and SOLID principles. Keep in mind that these are principles, not laws. However, considering them as laws would be good for those who want to improve themselves. STUPID code, seriously? This may hurt your feelings, but you have probably written STUPID code already. In the following, I will explain the individual points with more details. Singleton¶ The Singleton pattern is probably the most well-known design pattern, but also the most misunderstood one. Singletons are controversial, and they are often considered anti-patterns. Programs using global state are very difficult to test; Programs that rely on global state hide their dependencies. But should you really avoid them all the time? Tight Coupling¶ If making a change in one module in your application requires you to change another module, then coupling exists. Tightly coupled modules are difficult to reuse, and also hard to test. Untestability¶ In my opinion, testing should not be hard!

Make your own smart watch : RetroWatch Android app. The performance of RetroWatch itself is limited, but I prepared some features to show various of data. The biggest feature is filtering messages sent to the watch. And I put an RSS feed feature to use data from different kind of areas. Message list tab : Messages are the information collected from the app. Filter setting tab: The RetroWatch app controls every single information by filtering. RSS tab: You can register and monitor RSS feeds. Watch control tab: You are able to alter styles of the app and watch. The RetroWatch app collects three kinds of data. Notification: A notification that is registered in the Andriod indicator bar. System info: The system info of the phone such as battery status, RF(LTE, 3G) connection status, WiFi status, recharging progress is collected in the watch. RSS feed: If you set RSS title and URL, it periodically read RSS data. Here are the other minor features. Messages are sent in two kinds – emergency message, normal message.