Practising Programming
So you want to refine your coding chops, but don’t have any particular ideas to run with. Fear not! You can still practise your programming and problem solving quite easily. There are a lot of programming websites made just for this sort of thing. I’ll run you through some of my favoruites.
CodeFights
Supported languages: JavaScript, Python, C++, Java, Ruby, C#, F#, PHP, Pearl, Go, Scala, Swift, Haskell

This’s a very sharp looking website, with a lot of great features. Engaging in race-the-clock code ‘fights’ (consisting of bug fixing, challenge solving and code completing rounds) against other players or progressively harder AI can be almost addicting. They’ve also got specific company-flavoured bots (from the likes of Uber and Airbnb) that’ll have you solving complex domain-specific challenges. You can also try your hand at user made challenges — with your solution ranked on character count.
HackerRank
Supported languages: Ada, Bash, C, Clojure, C++, C#, D, Erlang, F#, Go, Groovy, Haskell, Java (7&8), Javascript, Juila, LOLCODE, Lua, Objective-C, OCaml, Pascal, Perl, PHP, Pypy(2&3), Python, R, Racket, Ruby, Rust, Common Lisp, Scala, Smalltalk, Swift, Tcl, VB.NET

This website has a very exhaustive library of practise challenges based on gaining new programming skills. The regular themed contests are a lot of fun and very challenging. Sometimes, the website can feel a little sluggish, but on the whole it’s a fantastic place for practising your coding.
CoderByte
Supported languages: Javascript, Python, Ruby, PHP, Java, Swift, Go, C++, C

CoderByte is focused on one thing, and it does it very well; gently progressively difficult coding challenges — 150 in total. You’ll also find quizzes to complete when you’re on-the-go. For those looking to pick up some new skills, CoderByte offers something the others don’t; language specific courses.
CodeWars
Languages supported: Clojure, CoffeeScript, C++, C#, Elixir, JavaScript, Haskell, Python, Ruby, TypeScript

This one I only just recently discovered, and I believe it might just be my favoruite so far. The design is flawless, the challenges (called ‘Kata’) are challenging and everything is very well thought out. After completing a challenge, you get to see the best solutions from others — allowing you to instantly learn new things.
So there you have it — having ‘no ideas’ is no longer an excuse to not program!