Spectacleapp - forget about your mouse. OSX only.

If you’re interested in reducing interaction with your mouse - then use this program. Link - https://www.spectacleapp.com/ If you want easily locate your terminals - then it’s a good instrument for you PS - it’s especially useful to move app between your physical monitors. And in case of many Desktops. I found this on their github https://github.com/eczarny/spectacle/issues/15

Dockerizing your apps

Preface As some of you may already know, from the last autumn-2015 I’m working as a software engineer in startup company called Upwork, in one of teams. From the time I started working there, I realized, that working on freelance basis is completely different from office work, even if you’re working on a good quality freelance job. Why ? At least, because you cant share some knowledge with your coworkers by cuf of coffee in your lunch time. So I decided to convert my blog to some R&D investigation. That’s why I’d like to warn you, that everything here is just an investigation, which I do on my free time, so don’t take it so critically, if you find something, which you don’t agree with, just comment, and let’s discuss. Technologies are changing every day, and we need to follow the trend, don’t we ? Why containers ? Before I can proceed with explanation in my head what is the definition of container, let’s return to the near part times, where we did everything manually: the dyno age, where it was ok to assemble your proeject war manually, and deploy it to the server in the same way. Then, the...

How to work with maven javacc plugin

I had to do some work with google-visualization-java github project. I needed to change some logic for correct google visualization query. I found, that guys were using javacc compiler. Official site says: Java Compiler Compiler tm (JavaCC tm) is the most popular parser generator for use with Java tm applications. A parser generator is a tool that reads a grammar specification and converts it to a Java program that can recognize matches to the grammar. In addition to the parser generator itself, JavaCC provides other standard capabilities related to parser generation such as tree building (via a tool called JJTree included with JavaCC), actions, debugging, etc. To inject javacc inside your maven project, add following plugin <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>javacc-maven-plugin</artifactId> <version>2.5</version> <executions> <execution> <id>javacc</id> <goals> <goal>javacc</goal> </goals> <configuration> <sourceDirectory>${basedir}/src/main/java</sourceDirectory> </configuration> </execution> </executions> </plugin> Steps you need to do with your javacc project: Open terminal cd to project mvn clean generate-sources That’s it.

Multiple javax.inject.Provider implementations and their binding

Hi everyone! Recently I became a freelancer and started to work for one big company. It’s great, I hope to continue work there.And I also started to work on project where Dropwizard stack is used.Naturally, Guice DI framework is used ther.So, today I would like to write an article about how to bind javax.inject.Provider interfaces to their implementation. The thing is that Guice treat javax.inject.Provider specially, and you cannot just to Because Provider is a generic interface, and google care about initializing this Providers. So, to do that - just do the following There’s no special magic there, you just need to specify generic from your Provider and how to name it.And then u can do something like this See you!

Always add a clean phase in your build execution

Today I faced an issue on Jenkins. I needed to fix jenkins job, which is getting info about sonar metrics, and received an error in job console It was weird for me, because I was getting success jobs, everything went right, but as soon as I failed one job due to bad configuration - hell started, and I couldn’t understand why there my job is failing all the time.So I began experiments. After several tries I managed to add prefix clean phase and everything worked. Another problem was that I was building this job with different parameters and depending on specific parameter I was receiving specific console output.But then I understood that the problem was that I had constant artifacts, that were not cleaned. And I was receiving different output because this parameter was a version of plugin , so that’s why I received different output.