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 🙂

struts2 improved validators

Recently I’ve worked on how to improve built-in validators in the Apache Struts 2. The basic idea was to allow specify configuration params of the validators as OGNL expressions. Till now you could only statically define these params which was a bit suboptimal. See the example below:

<validator type="stringlength">
    <param name="fieldName">myPurchaseCode</param>
    <param name="minLength">1</param>
    <param name="maxLength">10</param>
    <message>Your purchase code needs to be between 1 to 10 characters long</message>

As you see you can only define minLength / maxLength as a static value which sometimes isn’t enough. Quite often you would like depend on a user input or assigned privileges to the user and so on. Having option to dynamically adjust the minLength and maxLength is a nice future, though 🙂

Someone else noticed the same and registered an issue WW-2923, I’ve extended it a bit and added all the sub-tasks to handle each available validator step-by-step. I had to change not only the code, but also documentation. Maybe it’s obvious but very frequently we (developers) forget about that – and then myth like JavaDocs are useless come to light 😉

Anyway, my first thought was to implement the enhancement based on the current param names and just add logic to parse param’s value as an OGNL expression, see below:

<validator type="stringlength">
    <param name="fieldName">myPurchaseCode</param>
    <param name="minLength">${minLenghtValue}</param>
    <param name="maxLength">${maxLengthValue}</param>
    <message>Your purchase code needs to be between ${minLength} to ${maxLength} characters long</message>

The problem with this approach is that it breaks backward compatibility, also if you want to use just static values as above, there is an additional overhead – OGNL parser will try to evaluate the expression and fallback to the original value – which is costly.

Then I simple added another set of params to allow specify only these params as an OGNL expression, so you can decide when to use the static values or when to use expressions or when to mix all of them. Thus also simplify migration of existing applications as a developer can migrate each validation when he needs that.

<field-validator type="stringlength">
    <param name="minLengthExpression">${minLengthValue}</param>
    <param name="maxLengthExpression">${maxLengthValue}</param>
    <param name="trimExpression">${trimValue}</param>
    <message>Your purchase code needs to be between ${minLength} to ${maxLength} characters long</message>

If you want to know more please read the docs. You can try to play with the latest build if you want to use this future. I’m going to work on another improvement in Apache Struts 2 🙂

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:

Go to Top