A couple of months ago I’ve switched from Java development to developing for Mac OS X. Let me tell you, it’s a completely different world, but that was to be expected. The first thing is to get acquainted with the OS and it’s features. That actually didn’t take too long. I’m really pleased with the availability of a full-fledged UNIX console in the OS, so I’m able to leverage all of my linux knowledge. The eye candy and the elegant design of most of the applications really give you quite a difference experience of using the computer than it would be on another OS. And at the end of the day, I guess, that is the most important factor for most users. Feature-wise Mac OS X has all the benefits of *BSD systems, being a derivative of FreeBSD and all. Over the years I’ve been using different OSes and for a long time now, I’ve not seen many major issues in any of them. I would suggest that such things like stability are not really a factor for choosing an OS nowadays. All of the OSes struggle to be as stable as they can be and the result is reasonable. I’d say that neither Mac OS X nor linux nor any other OS is the silver bullet, but some are better than others. I had experienced a application crashes in every OS I worked with. No matter how good the OS is you still need your day-to-day software to be well written and stable. Sometimes it’s a matter of configuration and sometimes you’re just at the mercy of the application you’re using. When switching to a Mac you cannot overlook the sleek design of Mac OS X which I believe does lure a lot of users. I guess, I would agree, that this sort of design looks more profesional and makes a different impression on someone if say, you would be presenting something to your client vs. showing them something on Windows Vista.
A Story of Switching from Java to Developing for Mac OS X
July 28th, 2011 by Andrius Miasnikovas 1 comment »Introductory PhoneGap Tutorial for Android
July 27th, 2011 by Andrius Miasnikovas No comments »I haven’t posted in quite a while. Been busy with all the job switching, getting used to Mac things and such. On another topic while cleaning up my hard drive I’m finding various neat stuff, that I forgot about. Will try and share some of it with the rest of you. These are mostly things that you either need or don’t care about at all. One of those things is a screencast that I’ve forgotten I made. It was created for a competition hosted by NetTuts+ and touches on some of the basics of PhoneGap platform. I didn’t actually win and now it’s a shame I remembered it only a few months later, but perhaps it could still be useful to someone.
Automatic Web Server Monitoring
February 15th, 2011 by Andrius Miasnikovas 3 comments »Hi there! Here’s another quick suggestion for all of you out there who have to deal with a lot of web server environments and need to make sure that they’re all alive and responsive. Sure there are all sorts of tools for server monitoring and performance tracking, but I found that most of the time you just need to know if the server is up & running. And of course you should be notified if it’s not. Here’s my short Python script that does just that. You will need to tweak it a little to use in your environment. First of all I’ve set the content threshold to 2000 Bytes which means that the expected length of the page content returned is no less than 2000 Bytes. If it’s below this value, one could assume that something’s fishy going on. You might want to change this value to something else depending on what your web server returns. Another thing that you’ll want to change is the servers dictionary in the main() method. The logic behind this is that each of the web servers is assigned a responsible person that you would need to inform if something is wrong with the server. You should list all your servers that need to be monitored and the responsible person’s e-mails. The final change is on the line where you instantiate the HeartbeatMonitor class. The first parameter admins is a list of e-mails of the people who will receive the notification if any of the servers are down. You can leave this list empty if you want, but I usually put my e-mail in there since I like to be in the loop. The second parameter mailServer is the SMTP server which will be used to send notifications so make sure this one is set correctly. This parameter is actually optional and localhost will be used as the default mail server if you decide to skip it.
Search for Files on Remote FTP Server
February 14th, 2011 by Andrius Miasnikovas 1 comment »I’ll keep this one short. Don’t know about you, but I’ve always been frustrated about how most FTP clients won’t let you search for files on a remote FTP server. I remember I used some client that had this functionality, but this was quite a while ago so I can’t even remember the name of it. If someone else knows any lightweight tools that let you do that, please leave a comment. Recently I needed to do some quick searches on the servers that I have only FTP access to. And you know what they say… “when you can’t find the right tool for the job – write it yourself” Actually I don’t know if anyone says that
but I decided to do it and put together a Python script just for this task. I’m not sure if many others have run into a similar problem, but I put it on GitHub anyway. I called it FTP search for obvious reasons. You can find the script and a short documentation there. The only prerequisite is that you have Python 2.7.x installed. I can’t promise you that it will work with Python 3.x but you’re welcome to try. If you have any ideas on how to improve this little tool and wish to contribute then leave a comment bellow or contact me via e-mail that’s specified on GitHub’s project page.
Modifying Treepie To Display File Count
January 25th, 2011 by Andrius Miasnikovas 1 comment »I’ve already talked a bit about managing large amounts of files in my post Disk efficiency when dealing with tons of small files so you can kind of tell that I’m a proponent of having as little files on disk as possible (but not less). In my everyday tasks I’m using this program called Everything by David Carpenter and I suggest you check it out if you don’t know it yet. The concept is simple, but the consequences are immense – the program indexes all the files and folders on all volumes connected to your computer i.e. your hard disk drives, flash drives, cd/dvd-roms, etc. And it tracks the changes so this index is always up-to-date allowing you very fast access to ANY FILE on your computer. The thing is that it indexes all the files on startup so the more files you have the longer it takes. To illustrate another reason why too many files aren’t great see the picture below.
Online Tools That Make My Life Easier
November 25th, 2010 by Andrius Miasnikovas 5 comments »Imagine a situation where you’re sitting in front of a colleague’s computer or one that is publicly used. By definition you’re missing all your favorite tools that you’re used to and you can’t install them even if you wanted to. Here’s a short list of online tools that help me a lot when I’m using a computer other than my own. These do not fully replace the desktop equivalents, but they’re good enough. Though it’s not a list of tools that replace desktop applications, but rather a list of online tools that complement them and some provide functionality that does not exist in desktop based applications.
Private Key PFX to/from JKS Conversion Using OpenSSL and Jetty
October 21st, 2010 by Andrius Miasnikovas 3 comments »Recently I’ve been watching quite a few screencasts which seem to be a really fun way to learn something. This made me want to create something of my own. So for this blog post I’m putting up my first attempts at creating screencasts while trying to explain something useful.
What’s New in Tomcat 7
July 21st, 2010 by Andrius Miasnikovas 9 comments »Recently I watched this webinar about Tomcat 7 presented by Mark Thomas and would like to share my thoughts on the subject and what I’ve learned.
Servlet 3.0
The most prominent change is the support of Servlet 3.0 specification which supports such great features as
- asynchronous servlets – not used by default
- web-fragment.xml - you can specify parts of the configuration in your libraries which you plan to reuse
CIS Security Benchmarks
July 20th, 2010 by Andrius Miasnikovas No comments »This one is for the security conscious. If you are performing a hardening procedure for your OS, application/web server, other applications you might wonder how are other people doing that and where can you draw the line by saying that it is secure-enough. A great place of resource in such a case is the CIS Security specifically their resources download page. There you’ll find a form that allows you to choose and download a whole bunch of security benchmarks for various products like Apache HTTP server, Tomcat, Apple OSX, FreeBSD, Windows OSes, Firefox, MySQL, Oracle and various others. When presented with a list make sure to download a copy that’s relevant to the version of the product you’re using. There are archives for some products which include older versions that are less popular now. Newer documents have a very nice layout that include the following
Improving Architecture with Structure 101
July 18th, 2010 by Andrius Miasnikovas No comments »I want to share with you yet another tool this one will help you with the architecture development. The tool is called Structure 101 and you can download a trial version here. That’s right, this tool is not free, but it does it’s job really well and at the time I can’t think of a free alternative that would be just as good. If you do know any good alternative, please, do leave a comment. The first thing you need to do is chose the version that’s right for you. There are three main flavours:
- JAVA – cross platform

