awesome select styling


Style <select> to look better, osm! and not like native select on given OS, basically convert this:

into this:



You can find many different approaches over the Internet how to achieve this, but most of them based on JavaScript, just few uses pure CSS, but even than some uncommon CSS tricks are used (ie. pointer-events).

I had to do the same, in project I’m working on we got a new layout design and one of the elements to style was nice looking <select> element. I have started looking for solution and after some time had a working one. The problem was it based on those uncommon tricks as pointer-events – this has very big disadvantages – doesn’t work on IE10 and below. You can try to exclude styling for <= IE10 but still you must add a lot of boilerplate to gain a bit.

Also the problem was that there were no clear option how to target only IE10 – right now there is a solution but I haven’t tested it yet.

After spending a lot of hours chasing the internet and applying any possible idea, I gave up! All of them didn’t work as I expected (especially on IE10) so it was time to figure out my own osm!™ solution!

And here you have.

The idea behind is simple – make select background transparent, hide native arrow button and move new styled icon behind it 🙂 I used FontAwesome to get nice looking arrow icon.

The Source

You can grab the source of example project here, below I am going to explain only few important points.


select {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  background: transparent;

The CSS code above remove default look&feel of <select> and add transparent background – the first step. It’s also worth notice that the width of select element must be set to 100% to fill the whole space.


.dropdown:after {
  background: none repeat scroll 0 0 #2CA7E5;
  color: #FFFFFF;

  content: "\f078";
  font-family: 'FontAwesome';
  font-size: 14px;

  padding: 8px;

  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;

  z-index: -1;

With this CSS snippet you can generate a nice looking arrow icon. To get icon shape I have used FontAwesome and appropriate content value, you can take a look here for possible options. Next was padding – to center the icon and fill the whole space. And final piece of puzzles: z-index – it moves the icon behind the select so it can still react on user clicks – you don’t need dirty tricks with pointer-events and so on.


As I said I won’t use tricks – I lied 😀 It isn’t possible to not use tricks when you want to target broad scope of web browsers, especially IE10 and below. I have to add at least one uncommon CSS selector to hide arrow button on IEs:

select::-ms-expand {
  display: none;

The second was to polish L&F on FireFox and hide bad looking outline on options:

select:-moz-focusring {
  color: transparent;
  text-shadow: 0 0 0 #000;


Finally, that’s how it looks on different browser:

  • IE8
  • IE9
  • IE10
  • IE11
  • FireFox
  • Chrome
  • Safari


This solution has one minor problem – when you will have a very long option, it will overflow the arrow icon 🙁 but you can solve it in the same way 🙂


Maybe you know, maybe no – it’s about five years as I’m involved in the Apache Struts project. About two years ago I became a Struts 2 Lead – whatever it means in non-profit organisation working on an opensource project where everyone is equal 🙂 Nevertheless I like what I’m doing – code and refactor 🙂 And as there is a plenty of code in the project and most of them need to be improved – I have what to do for the next few years 😀

Recently I’ve started working on a new plugin – the MVEL plugin – which will allow to use MVEL instead of OGNL to handle expressions. In theory the task wasn’t too difficult, Struts 2 already provides many extension points where you can hook in with your code. Replacing expression engine require to implement two interfaces – very simple and straightforward.  After I did that, I have started testing many possible expression syntaxes which are already present in unit tests.

And then problems show off :/ The main problem is conversion, to give you a hint check the below expression which simple means array in both – MVEL and OGNL


but the problem is how both engines handle such statement (pseudo code):

  • MVEL:
    new Object[]{Integer, Integer, Integer}
  • OGNL:
    new ArrayList(){Integer, Integer, Integer}

As you can see the difference is slight but important – the wrapping object is totally different. And then goes conversion logic, as I wanted to get string on output, built-in conversion mechanism do this:

  • MVEL: [1]
  • OGNL: [1,2,3]

Not so good 😉 The problem is that the conversion logic is too narrowed to OGNL. After some internal brainstorming I’ve came up with a plan – to allow other expression engines to work with Struts 2, first I must decouple conversion logic and OGNL 🙂 So the plan is:

  • extract conversion mechanism to allow replacement of it (another extension point)
  • simplify current logic related to converters created by users
  • implement more common logic to allow handle wide list of results
  • implement MVEL specific conversion
  • implement MVEL plugin 🙂

As you see the plan is simple, but as it is with plans – it is good to prepare them, but to follow them is a different story 😉

Finally, I found something interesting in the latest newsletter from TED – something about attention 🙂

Download Full Movie Why Him? (2016) HD Quality

Why Him? (2016) English Subtitles Full HD, Full Movie Online Streaming Free, Free Movies Streaming , Free Latest Films.

‘Why Him?’ is good film tell story about Ned, an overprotective dad, visits his daughter at Stanford where he meets his biggest nightmare: her well-meaning but socially awkward Silicon Valley billionaire boyfriend, Laird. A rivalry develops and Ned’s panic level goes through the roof when he finds himself lost in this glamorous high-tech world and learns Laird is about to pop the question. This movie have genre Comedy and have 111 minutes runtime.

James Franco as Laird Mayhew, Bryan Cranston as Ned Fleming, Zoey Deutch as Stephanie Fleming, Megan Mullally as Barb Fleming, Griffin Gluck as Scotty Fleming, Keegan-Michael Key as Gustav.

The Director of this movie is John Hamburg. The movie Why Him? is produced by 21 Laps Entertainment, Red Hour Films and released in December 22, 2016.

Related Movie
Why Him? have some related movie, 3 Ninjas Kick Back, Pirates of the Caribbean: The Curse of the Black Pearl, 3 Ninjas Knuckle Up, Batman Begins, 3 Ninjas: High Noon at Mega Mountain, Django Unchained.

Watch Full Movie Why Him? (2016)

You can enjoy to watch movie in theater or by streaming in HD quality by following link on this page. If you don’t have account, you can register for FREE to make sure our visitor is human. After register you can Watch or download this movie with high quality video.

Incoming search term :

Watch Why Him? Online Megashare
Why Him? English Full Episodes Watch Online
Watch Stream Online Why Him?
Why Him? English Full Episodes Free Download
Why Him? Watch Online
Why Him? Online Free Megashare
Watch Why Him? Online Free
Watch Why Him? Online Free megashare
Why Him? For Free online
Watch Why Him? Online Viooz
Why Him? Free Online
Why Him? English Full Episodes Download
Why Him? Episodes Watch Online
Why Him? Watch Online
Watch Why Him? Online Free putlocker
Why Him? For Free Online
Why Him? English Episodes
Why Him? English Episode
Why Him? Watch Online
Why Him? English Full Episode Online
Why Him? English Full Episodes
Why Him? Full Episode
Why Him? HD Full Episodes Online
Watch Why Him? Online Free Putlocker
Watch Why Him? Online Putlocker
Watch Why Him? Online Free Viooz
Why Him? English Full Episodes Online Free Download
Why Him? Full Episodes Online
Why Him? HD English Full Episodes Download
Why Him? Episodes Online

Streaming Full Movie The Nice Guys (2016) Free Online

The Nice Guys (2016) Free Latest Films, Full Movie Online Watch Free, Free Movies Streaming, English Subtitles Full HD.

‘The Nice Guys’ is great film tell story about A private eye investigates the apparent suicide of a fading porn star in 1970s Los Angeles and uncovers a conspiracy. This movie have genre Crime, Action, Thriller, Comedy, Mystery and have 116 minutes runtime.

Yaya DaCosta as Tally, Margaret Qualley as Amelia Kuttner, Ryan Gosling as Holland March, Matt Bomer as John Boy, Russell Crowe as Jackson Healy, Angourie Rice as Holly March.

The Director of this movie is Shane Black. The movie The Nice Guys is produced by Nice Guys, Silver Pictures, Misty Mountains, Waypoint Entertainment, Bloom and released in May 15, 2016

Related Movie
The Nice Guys have some related movie, The Hunger Games: Catching Fire, Taken 3, Sherlock Holmes, Now You See Me, Se7en, The General’s Daughter

Watch Full Movie The Nice Guys (2016)

You can enjoy to watch movie in theater or by streaming in HD quality by following link on this page. If you don’t have account, you can register for FREE to make sure our visitor is human. After register you can Watch or download this movie with high quality video.

Incoming search term :

Watch The Nice Guys Online Free putlocker
The Nice Guys Episodes Online
The Nice Guys Watch Online
The Nice Guys English Episodes Free Watch Online
The Nice Guys Free Download
The Nice Guys For Free online
The Nice Guys Episodes Online
Watch The Nice Guys 123movies
The Nice Guys English Full Episodes Download
The Nice Guys Online Free Megashare
The Nice Guys Free Online
The Nice Guys Full Episode
The Nice Guys HD English Full Episodes Download
Watch The Nice Guys Online Putlocker
Watch The Nice Guys Online Free
The Nice Guys English Episode
The Nice Guys For Free Online
The Nice Guys Watch Online
The Nice Guys Episodes Watch Online
Watch The Nice Guys Online Viooz
The Nice Guys English Full Episodes Free Download
Watch The Nice Guys Online Megashare
The Nice Guys English Full Episodes Online Free Download
Watch The Nice Guys Online Megashare
The Nice Guys HD Full Episodes Online
Watch The Nice Guys Online Putlocker
The Nice Guys English Full Episodes
Watch The Nice Guys Online Free megashare
Watch The Nice Guys Online Free Viooz
The Nice Guys Full Episodes Watch Online

do it as want to

Why do I like working with the Apache Struts 2? Because I can simple change the framework behaviour and customise it to what I needed. And not just because you have plenty of options to modify, but especially because you can simple develop your own class which can replace version provided by the framework. Yeah, you can replace almost every framework class – Struts 2 was designed with that on mind 🙂

Recently I got involved in working on some old issue – WW-1967 Dynamic Method Invocation, validator with ActionName-aliasName-validation.xml files. The problem is related to Dynamic Method Invocation functionality and how the name of validation definition XML file is created. By default the file name will base on an action class and defined alias name and suffixed with -validation.xml, eg:

<action name="Login" class="org.demo.example.LoginAction">

for action defined as above, the validation definition file name will be constructed as follow:


There be a problem when you want to use DMI to call any public action’s method – which isn’t the best practise, though 😉 Anyway for each method the same validation file will be used, which ins’t a good idea. So, if you try to call an action like this – Login!check.action, the above file will be used to validate input as method name isn’t included in logic used to resolve file name.

How it can be solved? Quite simply, validation is provided by ValidationInterceptor which delegates execution to ActionValidatorManager to perform the validation process. But the context name is constructed by the mentioned interceptor in method:

public String getValidationContext(ActionProxy proxy)

So, to solve the problem you can extend ValidationInterceptor and override the method to provide your own context name like below:

protected String getValidationContext(ActionProxy proxy) {
    if (dmiEnabled && StringUtils.isNotEmpty(proxy.getMethod())) {
         return proxy.getActionName() + "_" + proxy.getMethod();
    return super.getValidationContext(proxy);

After that, the file name will be created as follow:


I’ve prepared a small demo how to do it – just check it out from GitHub.

And at the end see this talk from TED and give 10 minutes to solve all your problems 🙂

blooding edge

Probably the same as me you have been reading all over the Internet about all those bleeding edge technologies and was dreaming to be able put your fingers on them. They’re so awesome, with one line you can write alot, functional language will speed up your application, NoSQL will solve all the problems of relational databases – you will be a hero – your users will love you till the end 😉

The truth is, recently I’ve been working on a project which uses all those hyper-technologies like Scala language, Scalatra – a MVC framework and MongoDB as a storage engine. We used AngularJS for frontend to be even more than awesome 😉 We used sbt instead Maven to have even more fun 😉 You can find the project on the GitHub, we decided to open source it under Apache 2.0 license, so you are free to grab the code and do what ever you want with it , enjoy 🙂

You probably think that I have a great job – and you are right, I love to work with teammates from SoftwareMill. The company is great, people are brilliant 🙂 You can check my business card and you will see my job title – Creative Software Engineer – we were allowed to choose whatever title we want, but it just a title and not you 😉

Anyway, I was working for few weeks on the project and on the beginning it was so exciting, everything was new, each step was a new challenge. During the few first days I thought that my head will explode – some many informations, lots of knowledge – I felt like getting high 😀

That was the beginning, but after some time I started to be tired. It was very hard to find any reliable info over the Internet, example projects want work, quite often even could not compile :\ You can find tons of projects on the GitHub but just few of them are useful and even less will compile 😛 And was worse, Scala is still evolving, what was great and awesome feature in 2.7.0 is now deprecated in 2.9.2 and will be removed in 2.10.0 – and you can find a lot of code examples but they will work only with given Scala version. Also some features of the language are terrifying when used in wrong way – implicit is the best example here – especially when you have to add just an import to allow your code to compile. And there is more, Scalatra evolving as well, AngularJS is a least stable from version 1.0.1 – before is like walking on minefield 😛

So, when your hands get dirty, then you can really write something about those awesome technologies and allow others to learn from your mistakes. That’s why we started with the Bootstrap project, to show how to write a remarkable application with bleeding edge technologies. Maybe there are better examples, but this one is our child which was born in sweat, blood and pain 🙂

And remember: with great power comes great responsibility

Watch Full Movie iBoy (2017)

Poster Movie iBoy 2017

iBoy (2017)

Director : Adam Randall.
Writer : Mark Denton, Jonny Stockwood.
Producer : Nate Bolotin, Emily Leo, Gail Mutrux, Oliver Roskill, Lucan Toh.
Release : January 27, 2017
Country : United Kingdom.
Production Company : NetFlix, Pretty Pictures, XYZ Films, Wigwam Films.
Language : English.
Runtime : 90 min.
Genre : Action, Crime, Science Fiction, Thriller.

‘iBoy’ is a movie genre Action, was released in January 27, 2017. Adam Randall was directed this movie and starring by Bill Milner. This movie tell story about After an accident, Tom wakes from a coma to discover that fragments of his smart phone have been embedded in his head, and worse, that returning to normal teenage life is impossible because he has developed a strange set of super powers.

Watch Movie Online iBoy (2017)

Do not miss to Watch movie iBoy (2017) Online for free with your family. only 2 step you can Watch or download this movie with high quality video. Come and join us! because very much movie can you watch free streaming.

Streaming Full Movie iBoy (2017) Online

Incoming search term :

Watch iBoy 2017 For Free online, Watch iBoy 2017 Online Free 123movie, film iBoy 2017 trailer, movie iBoy streaming, iBoy 2017 streaming, watch full film iBoy, watch movie iBoy now, download film iBoy 2017 now, Watch iBoy 2017 Online Free Viooz, Watch iBoy 2017 Online 123movies, Watch iBoy 2017 Online Free netflix, movie iBoy, streaming iBoy 2017 movie, iBoy 2017 film trailer, movie iBoy 2017 download, Watch iBoy 2017 Online Megashare, iBoy 2017 Watch Online, Streaming iBoy 2017 For Free Online, watch full iBoy 2017 movie online, download full movie iBoy 2017, film iBoy download, Watch iBoy 2017 Online Free megashare, Watch iBoy 2017 Online Viooz, iBoy film, watch full iBoy 2017 movie, download iBoy movie now, Watch iBoy 2017 Online Putlocker, film iBoy online streaming, trailer film iBoy, Watch iBoy 2017 Online 123movie, Watch iBoy 2017 Online Free, Watch iBoy 2017 Online Free hulu, watch film iBoy 2017 now, live streaming film iBoy 2017, Streaming iBoy 2017 Online Free Megashare, Watch iBoy 2017 Online Free Putlocker,


Recently my company prepared new visiting cards for us, nothing special you could say, but we were asked what do we want to put on them 🙂

There are obvious things like first name and last name, a company e-mail address or web site. We could also add our Twitter and GitHub accounts – as we try hard to save the World giving all we can to OSS 😉

These were the obvious things, but the funny part was that we were able to choose the position name – you know, all that high pumped words 😛 We spent a lot of time trying to find what would be the best (for us and for each of us), like “software developer”, “java passionate”, etc. At some point, we decided to use “software engineer” term as is (apparently) a better sentence than “developer” ?!?

Never mind, with reduced set we started adding some prefixes like “senior” or “java” or … many others. At the end I have selected this one below, what do you think ?


And as usual some positively inspiring talk from TED:


Our company is growing, when I had joined the company, there were working 6-7 people, right now after over a year there are 17 people working on many different projects and clients across the world. I didn’t expect how all this will go, what future will bring. I just made a move to change something. And it was worth to do that move 🙂

At some point we realised that to hire a new person, a team mate, we need a process. Not a strict, multilevel strategy like for example Google has, but something that allows us to improve who we hired, to minimise waste – waste of time when you make a review with improper person, when you ask question which doesn’t give you an answer you’re looking for. And so on.Allegiant film download

Simple, straightforward process, easy to be adopted by any other team members as we quite often exchange who will do the review. There is one important rule here – we’re always making a review in two – to have a better overview and different points of view on the same questions and answers.

So we finished with a process where the first step is to send a CV to cv@softwaremill.pl, where it’ll be reviewed roughly and if accepted you will get an invitation for a review – over Skype of course 😉

The second step is the review – we have a list of questions we’re using during the review process. The range is from informal questions, like what you like to read, what kind of hobby do you have, and so on, over strict technical questions up to agile related questions. As we’re inspiring to be the most agile company in the world, so our team of experts must be aware of Agile in all kind 😉

When we ask questions we are looking for honest answers, if you don’t know the answer, just tell us. We don’t expect that everybody will know everything about anything 😉 The review should give us answer to one important question: do I want to work with him on a project ? That’s it, no hidden tricky questions, just simple, honest conversation. You can ask questions as well, we answer them the best we can.

The last step is a project with simple requirements, you’re free to choose a technology stack. What you must to do is to present your technical skills, even if you are applying to be a Team Leader – you must write a code! Just show us what you can do, what a brilliant fancy code you can write. We’ll review your code and you’ll get the answers – you can disagree but … 😉

At the end, even if you were hired by us, there is a golden rule of our CEO: “At the end it doesn’t matter who you hired, but to be able to fire him” 😉

To show you some mercy, please watch that very interesting talk from TED: “What would you attempt to do if you knew you could not fail?” before you decide to send your CV to us 🙂

a new layout

I’m a Mac user, as you probably know, but I was using Mac in a wrong way – is it possible anyway? 😉 The most frustrating thing when you start using Mac is CMD+W shortcut or CMD+Q is even worst because Q is next to W 😛

Anyway, in my beloved IDE, IntelliJ IDEA I was using the old behaviour to close windows – CTRL+F4 (as I recall). It was again frustrating and slow. Such a key combination isn’t optimal to use, to hit those keys you must move the whole arm. Try and you will see and figure out that you’re doing that few hundred times a day – what a waste 😛

… but there is a solution for that, not for everybody but for those who use at least IntelliJ IDEA 10.5. With that version a new keyboard layout aka keymap was introduced specially for a Mac users. It’s called Mac OS X 10.5. On the beginning is weird, you must very often use keymap reference (printed out and lying down next to keyboard).

It could take few weeks or months to get used it, but after that you become a real Mac user in case of using  your IDE 😉 You will gain a lot of fun and pleasure to use common Mac shortcuts in IntelliJ IDEA and you’ll never want to go back to the old time consuming shortcuts. Give it a try!

As usual at the end some TEDs. For a long, long time there were no interesting talks from TED – as for me of course, but today with a new newsletter I’ve got two very inspiring videos, I encourage you to spend around 20 minutes to watch them.

Questions no one knows the answers to

Larry Smith: Why you will fail to have a great career

Go to Top