A lot of people will learn great things and become extremely good at those things. But a lot of those people, although they are very good at what they do, may not have a formal process that they are aware of. Or may not have discovered a pattern to that process.
I’ve recently been doing a lot of coding exercises on HackerRank. And I’ve discovered a simple process to development. Something I’ve always been doing but never thought much about. Sure, there are a lot of processes involved in software development. This includes TDD, integration testing, CI, CD, and so on. But there’s an even simpler one that I’ve been taking for granted. Continue reading
Coding exercises are one of the best ways to improve your programming skills. In recent weeks, I’ve done several exercises on a couple of online websites. Those being CodinGames and HackerRank; you can follow my progress here and here. Coding exercises are great for improving your coding skills. But it’s also a chance to spend time in minimising the code you generate.
I’ve been focusing on learning Scala, a JVM-based function programming language. It’s a magnificent language with a rich streaming library perfect for this sort of thing. But as anyone who has done any of these challenges, it often involves a lot of algebra. And sometimes trigonometry. Although I’m okay at assembling my own formulas for solving problems. But solving for x can sometimes be a tad challenging when the formula is a bit complex. Continue reading
Ever wish you could test a snippet of code? Online. Like now! Or focus on improving an algorithm in isolation. Or have a moment of clarity and need to write a piece of code lickety-split. Yesterday, I found this online tool to do just that. That’s good for me, as I don’t have to create a whole new project in IntelliJ IDEA or use the CLI tools.
CodePad supports several of the most used programming languages. Unfortunately, it doesn’t support Haskell, a language I’d like to tackle this year. But for Scala, it’s really good.
The tool itself is easy to use and the compiler quick enough. In my case, I was using it to optimise a piece of Scala code to submit for an online coding exercise.
Learning to program in a new language can often be difficult. First, you have to learn the basics to code “Hello World”. Then comes the challenge of learning to use the advanced features. And finally, the challenge of using the language the way the creator had intended.
The challenge is finding exciting exercises and projects to tackle. Something big enough to sink your teeth in. Yet not so big that the challenge seems impossible. Continue reading
Twenty-sixteen was the year of habits of the rich, the successful and the powerful. If you wanted to be like any of these people you had to do what they did and poof, you’d be just like them; so you thought. A lot of these habits, backed by supposed science, we’re often contradictory. The rich and successful get up at 5 AM. While the other rich and successful were lazier and more productive in the afternoon. What the top ten lists fail to mention is that these are the habits of those people once they’ve made it. The habits could just as well have been: lies on the beach, sips Tequila Sunrises, does nothing all day. The habits that you want are those that get you there, which is a lot harder.
I’ve discovered is that simply trying to understand who I am is a tough job. I always have to think, analyse, and readjust my lifestyle. All based on what I’ve discovered about myself. It’s exhausting. Since I’ve been on this path, it’s become very hard to let go. I’m always worried about becoming complacent; the enemy of success. Or worse, focusing my energy on the wrong things. Continue reading
I find that anything worth learning should be done by jumping in head first. Then find something halfway challenging and go to it. Hence, this is how I went about learning Scala. I’ve recently learned to program in Groovy to develop Spock based unit tests. Groovy was the first JVM language I learned outside of Java. And being pleasantly surprised, I decided to try my hand at Scala.
Why I Chose Scala
My reasoning for wanting to learn Scala is to get into artificial intelligence without straying away from the JVM. I have played around with Python which I really liked. But embarking on Python would take me into a whole new ecosystem. And although I would love to get involved in Python and its data science tools, I think that long term Scala may be the better option. Continue reading
It’s amazingly interesting what you learn when you’re in the throws of unit testing code. It particular when you’ve written more code than you’ve written unit tests. Yeah, yeah, I know, unit tests should be written with the code as you go; TDD. But let’s face it sometimes you just need to get stuff done. Until you get to the point where you think that now’s a good time to unit test everything.
I spent the whole afternoon, up until 11:30pm writing unit tests. Refactoring some code to make some of it easy to mock. And other parts I rewrote simply because it’s the right thing to do for OOP’s sake. It’s fun. Not everyone likes to unit test, but I love it. It gives me that satisfaction that my code is well written. Especially that feeling you get when you know the architecture you designed is solid. And the libraries you’ve chosen haven’t failed you. Plus learning something new about Java 8. Continue reading