Reddit API Authentication with Java/Spring

Reddit API Authentication with Java/Spring

I am a big fan of Reddit. The platform is great for learning and sharing programming knowledge… In fact, it contains so much knowledge and opinion, that there is no chance for any single person to analyze it all. Sounds like a job for a machine? Before we get started, we need to learn how to authenticate with the Reddit API. Public read-only API with JSON Reddit has a very friendly API, with multiple endpoints being simply accessible in a JSON format after adding .json to the request. For example to get a list of Java topics discussed on the /r/Java subreddit, as a human you would go to https://www.reddit.com/r/java and you would see something like that: ...

November 4, 2018 · 4 min · Bartosz Jedrzejewski
Java surprises - Unexpected behaviours and features

Java surprises - Unexpected behaviours and features

Java is a very mature programming language – in fact, it is over 21 years old, so if it was a person it could drink even in the USA! With age comes wisdom, but also with age comes quirkiness… at least sometimes. In this article, I will look at some of the more surprising and unexpected behavior and features of the language. Here we go, in no particular order, a collection of Java surprises to amuse you and impress your friends! ...

October 28, 2018 · 6 min · Bartosz Jedrzejewski
Leading developers vs managing them

Leading developers vs managing them

Words like leadership and management are used often when discussing software projects. While they may sound similar, they are quite different and are often (but not always) performed by separate people. In this article, I will look closer at these two terms and explain why one is more difficult than the other. Leadership defined You could try to define leadership along these lines: Inspiring and motivating people to act towards achieving positive goals. They also protect and nurture the teams and individuals. ...

October 21, 2018 · 5 min · Bartosz Jedrzejewski
How to learn AWS

How to learn AWS

Amazon Web Services (AWS) is the most popular Cloud solution out there. More and more companies are using it every day. It makes development easier, safer, cheaper and better. Since it is becoming an expectation for backend developers to be familiar with AWS (or other Cloud solutions) I compiled here some of the best resources and ideas for learning it. What does it mean to learn AWS? Before learning AWS, it is worth thinking what you want to get out of that learning. Are you more interested in designing solutions or actually working with some of the cloud services provided? AWS recognizes three key ways of learning AWS: ...

October 20, 2018 · 4 min · Bartosz Jedrzejewski
My favourite Design Pattern - Strategy

My favourite Design Pattern - Strategy

Among many OOP design patterns described, the one that influenced my development the most is the Strategy Pattern. In this article, I will briefly explain what the Strategy Pattern is and why it is so important. Strategy Pattern Defined The idea behind the Strategy Pattern is as follows: Imagine that you have SomeClass that needs to implement varying behaviour depending on a situation. You will implement it via a composition, creating a Strategy interface that would encapsulate this varying behaviour. The interface will have only one method (ie. execute) that runs when the strategy is used. It will look something like this: ...

October 14, 2018 · 3 min · Bartosz Jedrzejewski
Should you let your developers work from home?

Should you let your developers work from home?

It seems that everyone wants to work remotely these days. Why wouldn’t they? There are some obvious benefits, such as reduced commute and working from the comfort of your own home. What is the impact on the team though? In this blog post, I focus on the impact on the team rather than individual benefits. Working from home – developers’ perspective It is no secret that developers really enjoy working remotely. The key reasons seem to be: ...

October 14, 2018 · 4 min · Bartosz Jedrzejewski
Single Responsibility Principle - do you know the real one?

Single Responsibility Principle - do you know the real one?

Single Responsibility Principle, as defined in the very famous set of SOLID principles, is often misunderstood. When asked what it means, most developers go with- “a class should do only one thing”, or something along these lines. This is simplistic and frankly- wrong! Intrigued? Read on! Single Responsibility Principle – the real definition Single Responsibility Principle (SRP), as defined by Robert C. Martin states: “A class should have only one reason to change.” ...

October 4, 2018 · 4 min · Bartosz Jedrzejewski
“Algorithms to Live By” - My Favourite Developer Audiobook

“Algorithms to Live By” - My Favourite Developer Audiobook

Today I want to share with you a review of the most exciting book I have listened to so far –“Algorithms to Live By: The Computer Science of Human Decisions” by Brian Christian and Tom Griffiths*.* I have already mentioned it on this blog when simulating the secretary problem. This is just an example of many fascinating problems this book talks about. Continue reading to find out why it makes such an amazing listening experience. ...

October 3, 2018 · 4 min · Bartosz Jedrzejewski
The Physics of the Agile Methodology

The Physics of the Agile Methodology

There are numerous articles out there talking about agile teams and how being agile will change your life/project. I agree with what Agile Manifesto proposes, but overall, I think that agile movement lacks scientific approach. In this article, I will apply my understanding of physics to “prove” and explain some of the agile phenomena. Before you get angry and start telling me that I am abusing here either physics and agile- take a deep breath and remember: ...

September 29, 2018 · 6 min · Bartosz Jedrzejewski
Should you use Spring Boot in your project?

Should you use Spring Boot in your project?

Spring Boot is enjoying, a seemingly never-ending growth of popularity. While only released in 2014, it has managed to overtake the Java serverside in less than five years. When starting a new project, a sensible question to ask is- “should I use a Spring Boot?”. In this article, I will help you answer this question! Every project is different, but we can use some characteristics with which we can compare them. Based on these characteristics I will advise you if Spring Boot is generally a good idea. ...

September 24, 2018 · 4 min · Bartosz Jedrzejewski