Home » Author Archives: Bozhidar Bozhanov (page 6)

Author Archives: Bozhidar Bozhanov

Bozhidar Bozhanov
Senior Java developer, one of the top stackoverflow users, fluent with Java and Java technology stacks - Spring, JPA, JavaEE, as well as Android, Scala and any framework you throw at him. creator of Computoser - an algorithmic music composer. Worked on telecom projects, e-government and large-scale online recruitment and navigation platforms.

Caveats With MySQL Pagination

mysql-logo

We’ve all done pagination – it’s sensible for both lists in the UI and for processing data in batches. “SELECT (columns) FROM table LIMIT X, Y”. Possibly “SELECT (columns) FROM table ORDER BY some_column LIMIT X, Y”. What’s the caveat? Especially when working with an ORM and when processing batches, where order doesn’t matter, you are likely to omit the ...

Read More »

Be Careful With Cache Managers

java-interview-questions-answers

If you are using spring and JPA, it is very likely that you utilize ehcache (or another cache provider). And you do that in two separate scenarios: JPA 2nd level cache and spring method caching. When you configure your application, you normally set the 2nd level cache provider of your JPA provider (hibernate, in my case) and you also configure ...

Read More »

What Is Challenging For Developers?

software-development-2-logo

In a previous post of mine I asked the question: do programmers get bored? And yes, sometimes they do, especially if there are no challenges. The usual software project out there is trivial – implementing business case after business case. But programmers still find challenges even in the trivial applications and websites they are writing:           ...

Read More »

A Guide To Authenticating Users With Mozilla Persona

mozilla-persona-logo

Having only twitter and facebook authentication so far, I decided to add Mozilla Persona to the list for my latest project (computoser, computer-generated music). Why?                 I like trying new things Storing passwords is a tough process, and even though I know how to do it, and even have most of the code ...

Read More »

Not All Optimization Is Premature

software-development-2-logo

The other day the reddit community discarded my advice for switching from text-based to binary serialization formats. It was labeled “premature optimization”. I’ll zoom out of the particular case, and discuss why not all optimization is premature. Everyone has heard of Donald Knuth’s phrase “[..] premature optimization is the root of all evil”. And as with every well-known phrase, this ...

Read More »

Don’t Use JSON And XML As Internal Transfer Formats http

json-logo

You have a system that has multiple components and they have to communicate. They do that either via internal web services or using a message queue. Normally, you would want to send (data transfer) objects from one component to another. Three typical examples: a user has registered and you send a message to a message queue and whenever the message ...

Read More »

Tips for identifying and debugging problems

software-development-2-logo

It seems that some/many developers haven’t developed (pun intended) a good set of techniques to identify and resolve problems. And problems always occur, even in simple programs. Recently I’ve been answering a lot of questions on StackOverflow and those questions confirmed my suspicions. Some of the advice here may sound like advice for newbies, but pactice shows they are needed. ...

Read More »

Checked and unchecked exceptions in Java

java-logo

Java has two types of exceptions – checked and unchecked. In short – checked are meant for cases when the developer can reasonably recover from the exception, while unchecked exceptions are programming errors that can’t be dealt with. This article explains when to use which. But it is not that simple – checked exceptions are making the code “uglier”. They ...

Read More »

Do Web 2.0 Companies Really Have The Best Technical Talent?

software-development-2-logo

There are a lot of cool companies with products on the web that millions of people are using. I’ll wondered whether I should label them “web 2.0?, “silicon valley”, “cool startups”, or something else, but I think it’s clear which ones I’m writing about. The assumption is that these companies attract the best technical talent. And even despite my criticism ...

Read More »

Does It Get Boring To Be A Programmer?

career-logo

Programmers are people who create computer programs. (I’ll skip the discussion whether it should be “programmer”, “developer”, “engineer”, “coder” or whatever. You know what I’m talking about). What makes programming different than most professions is that it’s way more diverse – you can do new things every day, because new technologies emerge all the time. Not only that, but programming ...

Read More »
Want to take your Java Skills to the next level?
Grab our programming books for FREE!
  • Save time by leveraging our field-tested solutions to common problems.
  • The books cover a wide range of topics, from JPA and JUnit, to JMeter and Android.
  • Each book comes as a standalone guide (with source code provided), so that you use it as reference.
Last Step ...

Where should we send the free eBooks?

Good Work!
To download the books, please verify your email address by following the instructions found on the email we just sent you.