Jun
10
2011
JMockit is a powerful mocking framework in Java that provides extended functionality that goes beyond the capabilities of all other solutions on the market so far. While most mocking frameworks are proxy based and depend on Reflection to hide the dependent behavior, JMockit falls further and deeper with solving some critical problems such as mocking final classes and static methods by using the Instrumentation API presented in Java 5.
The Instrumentation API allows a direct bytecode replacement in the virtual machine via java agents that modify the codebase of the current classes with the one from our mocked representation (either empty stubs or entirely modified behavior). This is a powerful process that could be hardly debugged even with JMockit codebase - just because the whole lifecycle in the JVM is changed with the agents that do the low level modification (basically done with ASM in the mocking framework).
JMockit Components
JMockit toolkit contains ...Dive in
Jun
07
2011
Beyond the training and consulting business I am also part-time teacher for the Technology School Electronic Systems - Sofia and I do teach web technologies and WordPress. As the representer of the Web 2.0 world I took part in mentoring 2 teams for their diploma research assignments based on CodeIgniter.
One of the projects was a music web portal for artists, media, albums and more. Encyclopedia format for music addicts that could easily transform in a front-end manner using the same database structure. It was meant to start as a hard rock and metal project and later easily skinned and themed into other music categories as well. I really do hope to see it ready, as I already saw most pages and the database structure which extended the modeling structure that exists by default in CodeIgniter.
The other project is a social network for places. A mix of the foursquare listing of ...Dive in
Jun
05
2011
WordPress is the most popular leader in the open source web industry and started as a blog platform it developed itself as a grown up and a mature CMS system. Currently more than 4M WP-based websites are out there (I definitely believe they are at least twice as much - the Counter states there are 12M downloads in WordPress 3.1 only, and there are 20M websites on WordPress.com . Nice, huh?
WordPress supports most of the popular modules like posts, pages, users, links and categories, media (for uploads), lots of settings etc. There are some other powerful free mods for caching or SEO as well as 15K public plugins in the repository. However there are few weak points for WordPress sites that take time to create - such as creating forms.
Forms in a website could vary - Contact Form, Registration Form, Enquiries. The basic idea of a form ...Dive in
May
03
2011
After 6 years of on-site trainings in companies, organizations, schools and universities, last month I spent some time considering some other options for education, including online and multimedia options as well.
One of the modern options today for trainings and seminars are the webinars. There are few platforms where you could attend to a mass event where one talks with a screen shared. It's pretty nice actually, but I don't find the platforms mature enough yet (especially with me and my Flash conflicts by default).
Another great option is the video lessons. We do prepare video tutorials for our top priority product at the moment, but I'm quite sure they could be applied in the trainings as well. I did a pros and cons list and that option actually went at the bottom of my list. Why? Because video tutorials are a mentoring material with no option for feedback or questions during ...Dive in
May
01
2011
After few months of hardcore research, development and exploration I'm officially adding WordPress as a preferred and well known platform in my CV. Besides the few blogs of mine and couple of small projects based on WordPress we are almost at the end of releasing a new WP-based product with all the fancy things in the platform - custom posts, widgets, shortcodes, theming and so on. It has be a great adventure for me to enter the world of WP and it definitely worths the effort - I'm already migrating some of my other project to WordPress for a reason.
So basically we stay open for any proposals and questions on WordPress theme/plugin development, modifications of the platform, hooking there and using some other on-top frameworks and extensive plugins from the open (and not only) WP libraries. Hopefully we would commit something to the open source community in two months to ...Dive in
Feb
24
2011
It's been a week for my WordPress being unable to resolve some external host services via URL address. It was working for a while, couple of months, with no changes by my side, and suddenly the dashboard RSS and stats data stopped responding. The error was:
RSS Error: WP HTTP Error: Couldn't resolve host 'blogsearch.google.com'
I haven't changed the httpd.conf file recently, neither the PHP settings or something. I thought about any possible update settings from my Fedora system, but no clue.
Restarted the apache server few times. The /etc/resolv.conf file was standard. One of the common failures is DNS server change and no flushing/refresh from the Apache. But mine was still there, no changes applied.
The solution was calling the httpd process via strace. It's been auto magic - just call it once via strace, then stop or kill the stracing process and start the server as normally. It worked here.
So, I ...Dive in
Jan
16
2011
During my consequential research and exploration of UML and prototyping tools for Linux I found something I really enjoy way too much than expected. It's the Pencil Project.
Pencil is an open source tool based on Firefox for drawing UI prototypes, schemes, wireframes. It has a pretty interface which is usable and fast, it could be ran over Firefox or as a stand-alone application in most of the operating systems around. I had installed it on my Fedora station and now I enjoy drawing schemes for my clients since then.
The Pencil project offers some standard shapes for drawing, web components (h1 to h6, lorem ipsum, panels...), UI components from Forms (buttons, labels) and other popular things like tables that you might need to show the basic structure. Using a Windows Form/Frame as a parent component it looks exactly like a standard Swing or Forms application. Also, it has alignment of components ...Dive in
Jan
10
2011
I need to print an OpenOffice.org Impress presentations as PDF with handouts - 3 slides per page in the left column and empty rows for taking notes on the right.
The File -> Export to PDF option doesn't allow chaining more than 1 slide to a page. On the other hand, printing allows dividing a page to a few handouts, but no PDF export could be done. The only option in-between is priting as file to a .PS format which is still a file, but not that portable and popular (and flexible) as PDF.
So, we need to create a virtual printer.
Install cups-pdf - it's freely available in all repos for Debian, Ubuntu, Fedora etc.
Add a default printer for cups-pdf (it got installed automatically here)
Open the Impress presentation
Go to File -> Print
Select the Print Content -> Handouts (with 3 or 6 for a page) and then find your new virtual printer.
PDF is
...Dive in
Dec
05
2010
Projects come and go, and this cycle is way important for a freelancer.
Recently I've been in a full circle for the past few months with no option to turn off for a week or so. I've been occupied even during my summer holiday (although I hadn't worked a lot there), however all of my time here is busy with existing projects, trainings, events etc.
I'm trying to close 3 CakePHP based projects at the moment and bugfix on a Croogo one. At the same time I'm doing my final lectures of my Java for QA's training for VMware. I've rejected few web projects because I cannot handle that much work and I sincerely hope that we could start something bigger. There is too much communication and coordination when you manage 4+ projects and I prefer working on 2 projects at all. That would reduce the time that we spend on meetings, ...Dive in
Dec
03
2010
Last week we had our first formal Freelance Seminar in Bulgaria. After few conferences and public lectures we did a full-day seminar on freelance. The Freelance Lodge with Mytime.bg cooperated with Superhosting.bg, MiNDS and CCB for that event to happend.
Video materials are expected, more info is available here and here. However, we hope that freelancers all around the country will join our community and be responsible enough to help other events and workshops happen as well.