Marcin Świerczyński's blog

Marcin Świerczyński

My name is Marcin Świerczyński. I'm a software developer especially interested in Java and Python languages, Java-based technologies and mobile applications development.

I'll be writing here about interesting issues I faced during my programming adventures. I hope you'll find the solutions useful.

Strong passwords hashing with Apache Shiro

posted 25 Jan 2013

What is it all about? Recently, I wanted to provide a strong password hashing in a plain Java application. I decided to use Apache Shiro. As Apache Shiro's website says: Apache Shiro is a powerful and easy-to-use Java security framework that performs authentication, authorization, cryptography, and session management. Shiro is very powerful and provides all-in-one security solution. For instance, it can communicate with a persistence layer directly, so you don't need to take care of...

¬ read more

Schema Design in MongoDB

posted 25 Jan 2013

Recently, I started MongoDB for Developers course from 10gen Education. The third week brought some very interesting information on schema design. I decided to write it down here for further reference but I hope it will also be useful for others. MongoDB limitations MongoDB do not provide foreign key constraints known from relational databases. How can we deal with it? Well, one option is embedding. If you don't separate documents into a few collections but...

¬ read more

Functional Programming Principles in Scala Course

posted 25 Jan 2013

A few days ago I finished Functional Programming Principles in Scala course by Martin Odersky and Coursera. I just wanted to share my thoughts on it, since it took quite a bit of my time during last seven weeks. Goal My goal was to get a taste of functional programming which I had a very little contact with before. Also, I wanted to polish my Scala skills, because I'm still learning it. Was the plan...

¬ read more

Configuring IntelliJ IDEA for Play! Framework

posted 25 Jan 2013

Some time ago I recorded a short screencast describing how to configure Play! Framework 1.2.4 with IntelliJ IDEA 11. The point was to promote the framework and to get some experience in screencasts recording :) I'm aware it's a bit outdated now, since Play! 2 has been released. However, I decided to publish it. I hope somebody make a use of it!

¬ read more

Code Simplicity by Max Kanat-Alexander

posted 25 Jan 2013

Thanks to O'Reilly Blogger Review Program I was recently able to read Code Simplicity by Max Kanat-Alexander. First of all, I have to admit I was confused by the title. I thought that the book will be about, well, coding. But it isn't - in the whole text there is almost no code at all! Instead, on a first few pages, you can read that the book is about a design. But again, if you,...

¬ read more

Mastering Advanced Git by Matthew McCullough and Tim Berglund

posted 25 Jan 2013

It was almost a year ago when I had a pleasure to review Mastering Git by Matthew McCullough and Tim Berglund. Today, thanks to O’Reilly, I can take a look at its successor - Mastering Advanced Git. Just as a reminder: I really liked the first part. But I simply loved the new one! It covers Git details in very thorough way. And, what is perhaps even more important, it leads you through them in...

¬ read more

Cloud Foundry + Grails = lightning fast deployment

posted 25 Jan 2013

The purpose of this article is to show how quickly and easily deploy Grails application to Cloud Foundry platform. What is Cloud Foundry? From cloudfoundry.com: Cloud Foundry is an open platform as a service, providing a choice of clouds, developer frameworks and application services. Initiated by VMware, with broad industry support, Cloud Foundry makes it faster and easier to build, test, deploy and scale applications. It is an open source project and is available through...

¬ read more

Mastering Git by Matthew McCullough and Tim Berglund

posted 25 Jan 2013

On the beginning, I just want to say one thing - McCullough and Berglund on Mastering Git is a perfect way to learn Git! The only requirement is an ability to learn in a classroom-type environment. An impression of class or conference is maximized by the fact that “students” are asking questions. If you're able to learn from a lecture, keep reading! This video provide you with step-by-step instructions on how to efficiently use Git...

¬ read more

2010 summary and 2011 resolutions

posted 25 Jan 2013

I've never done summary of the past year before. As well as I've never make huge resolutions for the upcoming year. But, come on, this year was so great it deserve this! We often forget about our past successes so I think that just thinking about them is a great way to start the New Year with good attitude. On the other hand, the next year resolutions list can be a guide for what to...

¬ read more

How to create UIPickerView with toolbar above it in iOS

posted 25 Jan 2013

A few days ago, I had to implement a UIPickerView based select list with toolbar above it. The toolbar had to have a button to close the picker. The whole solution had to be very similar to the one used in a mobile version of Safari browser. How to do that? The clue of the problem is contained in just two properties of UIResponder class: inputView and inputAccessoryView. The first one contains a view which...

¬ read more