This is short but intensive QEMU-KVM tutorial
Kernel-based Virtual Machine (KVM) is a virtualization solution for the Linux kernel. KVM is a part of the Linux Kernel since version 2.6.20 (Feb. 2007). Also KVM requires a processor with hardware virtualization extension, which is meanwhile present on most desktop and server processors. Future Kernel versions will include KVM for ARM architecture too, making it’s ubiquitous available
Talking about kvm is talking about virtualization technology or about kernel modules (kvm.ko, kvm-intel.ko or kvm-amd-ko). Sometimes kvm is mentioned as a virtual machine, ti is not correct, because kvm does not provide virtualized hardware.
This is where QEMU (generic machine emulator and virtualizer) comes to play.
Qemu-kvm is a stable fork of qemu’s point releases with kvm features or extras on top of it. I’m a bit unsure about the state of the art, but there are plans to merge qemu-kvm fork completely to qemu(correct me please). However below description is about qemu-kvm which is available in most common linux distributions.
There are more and more interesting news comming from “modern” Java framweworks these days.
Even Big Player LinkedIn switches more and more to Play!.
What do you think about? What is your experince with Play! in big projects?
There are many people who use Apache Maven or Ant for years but do no use a repository manager like Nexus or Artifactory. Maybe initial step is something everyone need to overcome.This article describes how you can setup and get running your Nexus – an Artifact Repository Manager. Let’s begin with short motivation
In my last article i introduced basic maven concepts, even when dependency management was not covered explicitly it is still one of the greatest thing maven introduced to the java eco-system. Most of maven builds produces artifacts also projects do depend on another artifacts (e.g java jar files) in different versions and configurations. It’s all about managing the artifacts. Therefore every maven installation already brings a repository that may be sufficient for single developer or small team. But the more professional your software development is the more reason is present professional artifact repository. Long story short the reasons are…
- More control (Releases, Dependencies, Audits)
- Predictability and Scalability
- Speeding up of Builds
- Saving Bandtwidth
- 3dt party artifact flexiblity
- Intra/inter organisational colaboration and distribution of work
My last article on maven described maven basic setup. This article covers basic concepts of maven self.
Maven is a project management framework (or tool).
This definition is quite abstract and don’t justifies the richness and complexity of Maven. It turns out often it’s not easy to describe software tools. So the idea of Software is central element. The effort was to adopt best practices let’s say principles:
- Convention over configuration
- Declarative execution
- Reuse of build logic
- Coherent organization of dependencies
Let’ see how maven adopts these. Here are the key concepts maven provides:
- Set of build standards
- Standard life cycles for building, testing and so on
- Default Tasks
- Common declarative Project Object Model (POM)
- Dependencies description and management
- Artifact repository
- Modular Design (Plug-ins)
Maven provides a comprehensive model that can be applied to all software projects. That model uses a common project “language”, and the software tool is just a supporting element within this model.
Maven is not like Ant
Because i’m was long time a Apache Ant user (and still i am) it’s important for me to emphasize some key differences in maven philosophy.
- Pre-defined (non just project wide) build standards, with pre-defined default life cycles, directory layout and more. Can say maven has predefined assumptions how to build your project (I don’t say that i like it in any sence)
- It’s possible to build any given project without having to understand how the individual plug-ins works.
- Maven provides declarative style. Instead of defining procedures your configure it.
That is in general. Let’s look deeper where and how the configuration is done.
Hello out there,
actually I do some upgrades of my blog. Shortly i switched to livefyre (and upgraded it). And yesterday I changed the WP-Theme, finally i’ve changed categories a bit and hope google will not go crazy
The new theme is an addoption of wpbs and is also awailable on github. Is bases on Twitter Bootstrap Framework and you see it, because it is still in default color scheme. But i’m not designer, so i have not much ideas about prettifying such things. Important for me is that Twitter Bootstrap is relative easy to understand and that it bring good typography out of the box. And typography is essential for blogs. Further bootstrap is modern and supports all actual and even not newest browsers ans finally it supports for all kinds of modern media devices too. From now on my blog layout is well suitable for Tablets and mobile phones. Try out! Read more »
This article provides step by step tutorial of Apache Maven installation. The tutorial uses linux but can be easy reproduced on windows or mac.
Apache Maven is Software Project Management and Configuration tool. Through it’s bride acceptance in the java-developer community it introduces some kind of unification and standardisation in a structure of java Software projects. Long story short at the end of every build some artifacts (e.g .jar files) are produced, deployed, archived, copied to location here there are referenced and so on. Maven provides basic support for all this tasks. Therefore if you’re interested in professional software development, clean versioning, clear dependency management but didn’t know how to start with maven easy consider to install maven like described here and to understand it by my next article.
I think some command annotation is enough. Pleas feel free to ask in comments if something is fussy.
Read more »
In my last post i’ve introduced new comment system WordPress Plugin from Livefyre. Now here is the latest version of it. The latest version seems to bring all the features i mentioned there.
Livefyre WP Plugin v3.17
to Livefyre WP Plugin v3.52 (Can be dowloaded here.)
Now many of new features have to be enabled. Please feel free to test it. Read more »
Additionaly i read many comparisons on that topic, like this one: Disqus vs Livefyte.
So let me just depict the features of Livefyre (Look here for details)
- SocialSync - comment sync with twitter and FB
- Social Sign In
- Friend Tagging – you can tag FB or twitter friends.
- Comment Sharing
- Comment Liking
- Rich Text Editor
- LinkBack – Possible to live backling on every comment you do, wherever you do it.
- Live Listeners
- Comment Notifiers
- Media Embedding
- Comment Editing
- User Profiles
I thing this is enough to decide whether to read or not to read this article. If you thing lightweight Integration framework could be something interesting but you need further readingo to decide, so maybe the shortest path is to look at Stackoverflow discussion about what actually Apache Camel is. Read short introduction to Apache Camel with example below.
Apache Camel is java library and engine which is well situated for different Integration patterns. However Camel is not BPMN Engine or ESB but it could be under the hood implementation of such products. Apache Camel is a programers tool for mediation and integration problems. Let’s understand it by looking on the entitiest.
Lets’ start by basic Camel entities: Message and Exchange.
org.apache.camel.Message – is the fundamental entity containing the data being carried and routed in Camel. Massages are contained out of
- Unique Identifier: of type java.lang.String .
- Headers may provide some hints about content. Headers are organized as name-value pairs. The name is a
unique, case-insensitive string, and the value is of type java.lang.Object.
- The body is of type java.lang.Object . It means that it’s up to you to make sure that the receiver can understand the content of the message. When the sender and receiver use different body formats you can use a number of camel mechanisms to transform the data into an specific format. In many cases the conversion can happen automatically with pre-defined type converters.
- The fault flag it is a bit special thing to distinguish between normal and fault returns as defined by some Standards (e.g. WSDL).
org.apache.camel.Exchange is abstraction for an exchange of messages as part of a “conversation”. Below are components of a such conversation, that make this abstraction more comprehensive.
- Exchange ID
- MEP a particular Message Exchange Pattern like InOnly or InOut. When the pattern is InOnly, the exchange contains only IN- Message.
- Exception when it occurs at any time during routing.
- Properties are similar to message headers, but they last for the duration of the entire exchange also camel may add some properties to a particular exchange.
- IN-Message or request message is mandatory.
- OUT-Message or replay message exists if the MEP is defined as InOut. Read more »
This post covers some basic OSGi concepts. Also i’ll present a Tycho buildable example of service definition in declarative approach. Next article will cover OSGi Blueprint DI container. Also look here for more complex tycho example.
Breaking a system in modules is a very important architectural task or even a methodology. Remember the Separation of Concerns (SoC) principle [1, 2] and consider better system maintainability by enforcing logical boundaries between modules. This and other aspects explain the growing popularity of OSGi technology in the past years. Since OSGi is very popular today (Nearly every modern Java Application Server and IDE is based on OSGi platform) it is worth to be familiar with it.
Read more »