Posts

Machine Learning Project Tips

There is a ton of good literature and resources about Machine Learning these days. What I feel is missing there is usually more kind of  a real-world guidelines or tips how to get from from bunch of data and fuzzy assignment to a feature that works for the business. I will  try to share some things I learned while working on such projects. The tips mentioned in this post should be especially helpful if your project matches the following criteria. The project goals is not clearly set and falls into category "everyone is doing ML, we should do too..." . This kind of projects tend to be given R&D label. Your team has not much experience with ML domain and have no senior ML engineer that would be able to guide you. Understanding data The crucial point of doing any Machine Learning project is understanding the data you have.  If you are not an expert in the domain, then you should  get in contact with a domain expert  in your organization or outside to get better

K-Means Clustering Animation

K-Means Clustering Simple animation of K-Means clustering algorithm progress. Try to change Random Dataset Size size and Number of Clusters (K) . Random Dataset Size (Uniform Distribution) Number of Clusters (K) Iteration

Debugging Java Security

When working with java.security packages it is handy to have a tool that would switch on some debugging information about stuff going on inside. Helpfully security classes already contain such debugging calls. These calls can be enabled via setting -Djava.security.debug=option(,option) system property. Options can be listed using sun.security.util.Debug.Help() static method call, that prints all the available options to the std.err stream. The available options are listed in the table. java.security.debug options list Option Description all Turn on all the debugging options access Print all checkPermission results The following can be used with access: stack Include stack trace for each permission check. dump Dump all pr

Java Cli Toolbox

JDK and Unix environment provides you with very powerful tools available out-of-the box to diagnose problems in-situ. I wrote down some simple, but in my opinion powerful examples I learned and used, when solving problems on jvm based systems deployed in datacenters around the globe. Ability to use these standard Oracle JDK and Unix tools comes handy not just in solving problems in *restricted environments. It will help you in day-to-day developers work to quickly pin point the problem in application, write post-mortem diagnostic information harvesters for your infrastructure and be independent of frequently heavyweight IDE tooling. The presentation was originally given as lighting talk on great un-conference about Java and everything jOpenSpace 2013 . I enhanced the original slides with more examples, you can safely try "at home".