-
I just returned from the first ever JUDCon event in India which was organized in Bangalore. For those of you who couldn't make it (you really missed a very impressive event) here's an review of the event.
The venue:
It was organized in the Nimhans convention centre in Bangalore on Jan 24th and 25th. The venue had very good WiFi facility (although it did make it's absence felt for a few seconds during Rado's live demo on mod_cluster :) ). I haven't been to previous JUDCon events, so I wasn't aware how good the connectivity usually is at these events. Apparently the connectivity here was among the best as compared to the previous events, as per Galder's review. So a big thank you to the organizers of the event, Saltmarch Media.Attendance:
To be honest, when I arrived for the event I was expecting an audience of around 100-150 people. I did know that there's a huge number of jboss.org community users from India (like Bruno later showed in his presentation) but I hadn't expected that many would show up at the event especially since it was weekday (for some of the JBUG events that I have organized earlier, I have always been requested that the event be scheduled on a weekend) and also because the event was close to a national holiday on 26th. But to my pleasant surprise the attendance was far more in number, a number that I had never expected. We were told that there were 700+ registrations for the event (remember, this is a paid event so most of them would definitely show up) and we could really see the large numbers during the presentations. Apparently this is the biggest JUDCon in terms of attendance itself. The audience was not just impressive because of the numbers but also because of the knowledge they had about various JBoss projects some of which are very new. We could see that the audience was very well informed based on the questions (a lot of them) they asked after the sessions. So full marks for all those who attended the event and made it a great success.Sessions:
Before the event started this week, due to some unavoidable last minute changes, a couple of sessions had to be changed. Luckily for me and those from the audience who would have liked to hear about EJB configurations in AS7, the session organizers decided to allow a session titled "Configure and deploy your EJB applications on AS7" on the second day of the event. Since this was a last minute change and because I had already made some arrangements to leave the event sometime in the afternoon on the second day, Satish Kale and Ravi Maurya (who are both from the Red Hat team) volunteered to present the session and I decided to provide them with the necessary help for creating the slides/content. I arrived in Bangalore one day earlier before the event and spent most of the time creating the presentation for the session.
The sessions were divided into 3 tracks: (1) JBoss AS7 (2) OpenShift/Cloud and (3) Rules,Workflow, SOA and EAI. The AS7 sessions were held in the Main Hall which had a very large seating capacity and the other tracks were held in two different halls which were a bit smaller compared to the main hall but still had enough room to accommodate around 100 (or more?) people in the audience. The smaller halls were always packed for whichever session I decided to take a look at. Infact, many of them were even standing due to the full house. You will get to see a proof once the videos and pictures of the event are uploaded at jboss.org :)
I had decided that I would be attending most of the AS7 sessions and the OpenShift ones. The event started on day one at 9 in the morning when Bruno delivered the keynote address to a packed house. Then I attended a couple of more sessions - one by Ales, on Android and the Cloud and the other by Greg Kable (who I finally got to meet!) on the Best Practices for using JPA2 with Hibernate. Like I said, the sessions were well attended and the audience had some very good questions in the end for the speakers. I even got to take home a couple of important best practice suggestions from Greg's presentation. I had always wondered whether field based annotations or property based annotations on entities was a preferred approach. If you too have been wondering about that, then wait for the Greg's video/presentation to be uploaded on jboss.org (I'll actually create a new blog entry once those are uploaded. So you can even watch this blog too).
By the way, speaking of Hibernate, if Steve's reading this blog (Hi Steve! :)) there was one specific question about Hibernate which got asked atleast 3 times during various sessions and once when I was having lunch. Many of you would know that Hibernate recently switched to Gradle as their build system. They were earlier using Maven like many other JBoss projects. Apparently some users are having problems using Gradle to build Hibernate. They mentioned that they had an internal set of testsuites which they run after building Hibernate themselves, before deciding whether or not to use the newer versions of Hibernate. Apparently there's some issue with using Gradle since they say it requires some native .so library which they don't have and that results in failure on their build systems. So the question they had was whether the Hibernate team would have some kind of Maven compatibility for the builds. I don't have any knowledge of Gradle, so all I could suggest was to open a forum thread asking this question and explaining their usecase. So that's a heads up to Steve :)
After those couple of morning sessions, we had a nice lunch at the venue. The food was good. Later during the noon, I attended the session on JBoss AS7 "What's new" by Bruno. Being part of the AS7 team, I already had an idea of what the session was going to cover but I decided to be in the audience to see their reaction to the new changes to AS7 and the feedback they had around it. It was nice to see that there were many users in the audience who had started using AS7 and were aware of many of the new developments around it. The feedback was mostly encouraging although some users did mention that they had some trouble trying to migrate application which had previous JBoss AS specific extensions and descriptors. But overall, they were really happy with AS7 because of the vast amount of improvements it has compared to previous versions.
The session after that, I attended Shane's presentation on Getting Started developing apps with AS7. This was a very technical one with a live demo of how to use the command line interface (introduced in AS7) for deploying/undeploying the applications. The session included quickstarts that are made available publicly here. The session was attended by a packed audience and was well accepted. Those of you who haven't had a chance to look at the quickstarts, then I would very highly recommend taking a look at https://github.com/jbossas/quickstart. It covers a vast range of technologies and has quickstart applications with comprehensive documentation for each of those applications. Thanks to Sande Gilda and Pete Muir for managing the quickstarts and thanks for everyone else that has been contributing. This is a big improvement compared to some of our previous JBoss AS releases which did not have readily usable quickstart examples.
After these sessions, I decided to meet some of the community users and also catch up with some of my JBoss colleagues. It was good to talk to many of the community users some of whom had apparently known me by my name on the community forums.
Later in the evening of day one we had one last event at around 5:30. Although it was the last one of the day, it really turned out to be the best one (in my opinion) and well participated one. The event was "Expert Q&A with the Red Hat team". Ray Ploski (I finally got to meet Ray too!) started off the session by asking some questions to the audience and the on-stage Red Hat team then went on to discuss a wide range of topics covering a lot of JBoss projects. Each of the on-stage Red Hat team members shared their experience on a wide range of topics right from the relevance of Java, post Oracle acquisition of Sun to the very new Ceylon language. There was also discussion around Drools, jBPM, AS7, EAP and other JBoss projects. You could clearly see that the audience was very knowledgeable. This session not just had some serious discussions on a variety of topics but also had its fun moments, thanks to Mike Brock ;) (you'll see it in the video once it's posted, towards the end of the session when one member from the audience asks a question which had something to do with multi-core processors). That session ended a very lively and exciting first day of the event. We then had dinner at the event, where the delegates were invited to join the JBoss team and have a chat with them. I got to meet some delegates who had very interesting experiences to share about JBoss projects. Some of them were curious why there wasn't any session on Arquillian.
That marked the end a very nice day one at the event.
The next day the sessions started at 10 in the morning. The first one, in the AS7 track was by Dimitris, who by the way, told me that he had an exciting first hand experience of the Bangalore traffic - actually, lot of my other team mates had a similar opinion, which was natural :). Ales, I think even has a video. If not, Rado has one for sure :). So back to the sessions - the first one for day two that I attended was by Dimitris titled "JBoss Application Server 7 - Reloaded". I loved this session and I'm sure many who attended it loved it too! Dimitris started off with the history of JBoss AS 2.x, 3.x days and went on explaining the various changes/improvements that had happened all the way till AS7. It was nice to listen to some of the stories behind the previous versions, some of which I wasn't aware of. Later in the session he explained about AS7 and the projects and kernel that make up AS7 and why AS7 performs so fast. He ended that session with a "Thank you" slide which was well appreciated by the audience because he had that slide in Kannada (the language spoken in Bangalore), Hindi, Greek (Dimitris is from Greece) and English!
The next session I attended was by Rado, on mod_cluster. Rado presented on mod_cluster, which although I had some idea about, was new to me. I found the session very informative technical and got to learn some nice facts about the project. Rado even had a live demo of the project against AS7. The session went off well and there were a lot of questions from the audience.
It was then time for lunch on day two. Since I planned to leave the event an hour after lunch, I had just one more session that I had planned to attend. Ales presented a session titled CapeDwarf - Running your Google App Engine applications on JBoss AS7. Being part of the JBoss team, I had heard about the CapeDwarf project a few times from Ales but did not have much idea about what it was all about. So this was my chance to get to understand it better. I attended the session and Ales explained what the project was all about and where it stands currently. He even had a demo where he showed that you could directly deploy your Google App Engine application (an application which uses Google App Engine APIs) against a JBoss AS7 instance enabled with CapeDwarf subsystem and without having to do any changes to your application. It was an impressive demo and presentation and I got to learn what the project was all about.
So that was the last session I could attend that day since I had to leave early. There still were some other sessions that I wished I could attend and even present the "Configuring EJB applications for AS7" but that wasn't to be. Later I got to know that the session on EJB went well, although I still have to catch up with Satish and Ravi to get to know more. A big thanks to Satish and Ravi for presenting this session since it was a last minute decision for them too after the previously decided sessions were cancelled.
I caught up, one last time for this event, with my JBoss colleagues before leaving the event. Turns out I missed getting a JUDCon t-shirt because I left early and forgot to submit the feedback form for the sessions :(
Overall, these 2 days at the event were real exciting and the event was really impressive. I got to meet my JBoss team mates, some of whom I had never met before and also got a chance to meet a lot of community members. I wish we had a few more days of this! A big thank you to all those who attended and made this a success and for those who couldn't attend, keep a watch on this blog - I'll post a link to the event photos/videos once they are uploaded. Also keep an eye on the jboss.org blog feeds where I'm sure you'll see many more reviews of this event.January 28, 2012 06:15 AM -
Debian Utsav is celebration of Debian Folks – meet at one place, eat,
drink and work on Debian! Just decide a place and time and add it
here. Come join in any one listed at
http://wiki.debian.org/DebianIndia/DebianUtsav2012 and if you don’t
see something near you, just announce one!
January 27, 2012 11:06 AM -
At JUDCon 2012, I had a discussion and argument with Jaikiran Pai and Ravi Maurya on “Packaging Java JARs as RPM packages”.
Well it is not just RPM, it could be any package management system ( eg. dpkg, protage etc. ), doesn’t matter as long as it serves the purpose of:
- automatic dependency resolution
- installation of dependencies
- rollback an install step
- install multiple versions of a (JAR) package
- ensure the packages are authentic ( for security )
How is all this achieved in Java world? Simple. Just package all the required JARs in a single JAR or WAR or an EAR for that matter. And trust the packager for its security. But:
- Is this a good practice?
- What happens when you want to install the same package on multiple systems?
- Can you roll back changes easily on multiple installations?
- How are JARs shared across different kind of projects, some which use the same version of the same JAR package?
Consider the case of Maven, with which you can easily specify the dependencies and Maven does all the work of dependency resolution.
However, it solves the problem only at the developer’s level. JARs are still bundled inside the output application package (JAR / WAR / EAR). And everytime this application is distributed, it will contain “ALL” the dependencies. That is clearly an overhead.That makes me think, why JARs don’t work like Shared Libraries, which can be shared across applications. Every classloader / JVM instance has its own version of the same JAR file on-disk! Can’t they be shared? That too is clearly an overhead. I am not aware of the reasons why it is so, which I would definitely like to know.
The point is, since a package manager has all the functionality, why not just leverage it? Java community is either unaware of it, or doesn’t care.
No problem. There are efforts already in place.
Anyway, of other things Jaikiran told me that, JBoss AS7 has how better and modular class loading which is based on JBoss Modules. This appears to me similar to how Maven structures it JAR repositories.
Here are some resources:
- What is the proper way to package a single jar file as rpm?
- Packaging Java Apps for Ubuntu @ FOSS.IN
- Java Packaging in Fedora
- Creating an RPM for a Java Application
- Maven plugin to create RPM packages
Thats it folks!
January 27, 2012 11:00 AM -
This post is about sharing another of the bills which has the same thing as SOPA, just drafted using the words ‘child molester’ so that people do not fight back H.R. 1981. Hi all, We are all hunky and dory that SOPA is defeated but I just came to know yesterday that Rep. Lamar Smith [...]
January 27, 2012 09:34 AM -
My first Java exclusive conference!
I arrived at the venue right on time. Surprize, there were a lot of people already holding their welcome kits. Conference was already running quite smoothly. Wifi worked most of the time. The sessions, lunch, tea were always on time. Actually, there were people assigned to ring bells, just like in schools, to notify timeout during lunch and tea breaks
The whole confenence was revolving around four major topics: JBoss AS7, Infinispan, Drools and OpenShift.
Opening talk was given by Harish Pillay, Red Hat Global Community Architecture Team.
The Keynote of the day was by Bruno Georges. He mentioned some interesting trends of which are:
- There are about 4 times the processors compared to the number or people in United States alone and growing. Meaning that the processing power is available in abundance.
- There is a significant growth in Ad-Hoc Social Networks for businesses
Now where is the industry heading? In perspective of Java, Java ME/EC is going to be merged with Java SE/EE. SQL based data is moving towards NoSQL which is now leading us to NewSQL. The software stacks are moving towards ubiquitous computing i.e. even smaller handheld devices, are capable of running these software stacks. To sum it up, it was a very factual and a visionary talk by Bruno.
I will defer the other topics till later. Let me talk about the topics I liked the most:
JPA – Painless Persistence
Painless Persistence by Greg Kable was a very engaging talk. It was kind of an OOPS/ORM primer. The concepts were explained in a very general terms like “why/when to use ORM and when not to”, Skinny Objects and their pitfalls. Why to avoid optimization? Such concepts could be applied to any kind of ORM in practice. Even if you didn’t know anything about JPA or Hibernate, you could understand the point Greg was trying to make. And by the way, there are 3 rules of optimization: don’t do it, don’t do it, don’t do it. Before deciding on optimizing part(s) of your application always think of these 3 rules. It is just as a reminder that it might not make sense to put efforts on optimizing your applications first of all.
Future of Seam Framework
Seam 3 is final release of Seam project. That’s it. All future efforts are directed towards Apache DeltaSpike from now on. So, do think twice before using Seam for your new projects. However, Seam being a widely used framework, the bugfixes and mainitainence will still be available. And contributes, checkout the DeltaSpike project now!
Polyglot Revolution
This was an intersting topic. What it means is that many JVM based languages (ceylon, scala, clojure, ruby, python) and their frameworks ( like Ruby On Rails ) will be available integrated with JBoss AS. TorqueBox is a unique example of this. With this effort, you can use all the power and features of Java EE stack right into your other language frameworks. Same argument applies for Immutant.
JBoss Application Server
In the recent years, JBoss has seen a lot of increase in the number of hits on its project sites from the Indian region. Most of these hits are by the users who use JBoss. But what about the size of contributers? What is the plan ahead for community engagement? Well that is the question I asked the panel. JBoss Heroes is project that is supposed to address this issue. Lets see when it is going to actually materialize. JBoss AS7, the latest release, is fully EE6 compliant, is very lightweight and is blazing fast with a boot time less that 3 seconds!
I don’t know why but there were just too many talks on Infinispan alone ( over 6 talks ! ). Inifinispan is a data grid platform based on the design of Amazon Dynamo ( has many implementation including Apache Cassandra ). Infinispan spans a very broad set of usecases. It can act as an in memory cache, persistent cache, distributed cache, replicated cache for high availablity. Also it provides plugins for different backends like Arjuna TM, BDB, JDB, JDBC etc.
Essentially it acts a key/value store. Its real power comes from its flexibility, which allows it to be adapted for many many use cases.
Becoming an Open Source developer
“When in fight, I start to fear that if I get hit by my oppnent, worse is going to happen, and I will lose.” Well, dont! Believe in how good things are going to be if you succeed. Always think that you are going to bring the opponent down no matter what. Never fear of failure. Fear the fear itself, and put your best. That is the mantra of successful Open Source developers, quite well explained by Dmitris in his talk Becoming an Open Source developer. Fight the problem until you solve it. Isn’t that straight forward
Drools – Rules Engine and Complex Event Processing
In the talk “Declarative Rules” by Mark Proctor ( co-creator and founder of Drools ), he explained that Drools is Declarative Rules based engine. He demonstrated a simple game Wumpus World, that can be completely created using only rules. No other code required, which simplifies the whole process. Of the other things in his talk, there qere queries regarding Fuzzy logic support in Drools. Rules reduction or compaction process in Drools. Also rules processing on distributed and unstructured data, which is an inherently hard nut to crack.
In a subsequent talk “Demystifying Complex Event Processing” by Mark Proctor again, he explained how CEP works. How Complex Event Processing (CEP), Event Stream Processing (ESP) and Event Drive Architecture (EDA) are closely related. Drools Fusion is the CEP tool by JBoss. To learn more about Drools / CEP there are many books available: The Power of Events, Event Drive Architecture, Drools JBoss Rules 6.0 Developer’s Guide, JBoss Drools Business Rules
I am happy to have met a lot of people Jaikiran Pai, Sachin Patil, Ray Ploski, Radoslav Husar, Ales Justin, Dmitris Andreadis, and many other whom I only listened to
However, I also missed a few things that would have made this conference even better in my opinion. There could have been an inclusion of activities like Hackathon, Bug Squadding or Workshop ( hands-on sessions ).
It has been a great learning experience. Keep them coming – the events – JUDCon 2012, you rock!
PS: I don’t see any slides nor the videos from JUDCon 2012 on their website yet. When are they coming?
January 27, 2012 07:21 AM -
= January Monthly Meet Announcement
== Date & Time
28 Jan
3:00pm to 5:00pm=== Venue
Zilogic Systems,
Fourth Main Road,
Kamaraj Nagar,
Thiruvanmiyur,
ChennaiLocation map: http://www.zilogic.com/contact.html
Agenda
–1. Lightning Talks – 30 min.
- lxml – Processing XML with Python – Vijay Kumar
- AlphaBubbles – Siva Chandran
If you would like to give a lightning talk, just come prepared,
we will be able to accommodate you.2. PyCon 2011 Video: API Design anti-patterns
by Alex Martelli – 45 min.Designing interfaces so that other code can interact with ours
(whether our code is a library, framework, application,
website…) is a very common and clearly crucial activity, but
fraught with dangers — stuff we all keep doing wrong time after
time. This talks shows some common cases of API design errors
encountered in the wild, with tips on how to avoid them when you
design your next API.entry free.
all are welcome.
January 26, 2012 02:41 AM -
spritle, a chennai based company is willing to do open source mobile
applications using Rhomobile.Please give your ideas for the development.
http://www.spritle.com/community/ideas_for_opensource_mobileapps.html
January 25, 2012 07:15 PM -
Too many people look at ebooks as some new, technological miracle that requires some completely new way of thinking. That’s rather weird to someone like me, who has been using eBooks since the late 1990s. It is also completely wrong – ebooks are essentially just books, as we have known them from times before Gutenberg. [...]January 25, 2012 04:58 PM
-
friends.
as RMS is visiting Chennai, we feel that organizers should be clear on the free software concepts, difference between free software and open source etc.
there is a training session on these for volunteers and organizers for the event.
date – January 26 , 2012
time – 10.00 – 1.00
place – computer science block, room 32. iit madras, Chennaiall are welcome.
it Will be a memorable event in our life to be a part of organizing team on such great event.
see you tomorrow.
January 25, 2012 02:02 PM -
January 25, 2012 09:46 AM
-
So last weekend I thought of trying out the Eutester project which has been up on projects.eucalyptus.com for a while and now the code been moved to github with some serious development happening.
Well for those who are new to Eutester, it is a framework written in python which helps you test your Eucalyptus private cloud setup. Remember, testing can sometime be a hard job so best to automate it as much as possible with all your test cases. Besides that there is a lot more to it. I guess using the existing code which is part of the test framework one can develop his/her own test cases for varied scenarios/bugs and contribute the same to the Eutester code on github.
For me personally it is a great tool to have in my ninja pockets, makes my job pretty easier. Imagine you have a bug on launchpad that you want to replicate in your environment? How long would it take to execute those Steps to follow to re-create the problem and now imagine one single program, a Eutester test case doing all that for you in one shot, that’s what I call smartness.
Before starting off with how the framework actually works and the various components of it (which I guess is pretty straight forward and easy to understand) I just thought of giving one of the test cases a try and hence I did a:
git clone https://github.com/eucalyptus/eutester.git
Note that in order to use Eutester you need to have certain pre-requisites installed which is understandable. Following is the list of pre-requisites:- a) boto>=2.1
b) paramiko (SSH2 module for python)
c) python
d) Linux?Note that Eutester is written in python so it requires you to have python, I had python 2.6 which works well with boto 2.1 and you also need python-setuptools.
Guess where I figured all this? Well just open setup.py in the Eutester code base and you will figure that out.
There are certain other assumptions made before hand regarding the cloud environment to be tested
- a) The eucalyptus cloud already setup
b) Access to CLC via SSH
c) At-least one EMI registered
d) One SSH key pair available and added to the private cloud. Not a hard stop because Eutester can create the keypair and use that same with the instances it fires up.
e) Enough resources to start an instance on the cloud
f) If Linux instance needs to be accessed on SSH appropriate rules for the access via security groups
Once all the assumptions and pre-requisites are cleared out, next was a simple command to set Eutester on my machine:
python26 setup.py install
Well before we jump into executing our first sample test case let me point out here that Eutester provides various ways to you to feed in details on how Eutester can understand your cloud environment. Following are some of those ways (please note that there might exists other ways to get around but this post is to keep matters simple):a) Using a cloud.conf config file
It is basically a simple text files having rows (lines) and columns. If you see the above you would find 2 lines describing the two machines in my cloud environment.
The sample cloud.conf is shown below
172.22.0.15 CENTOS 5.7 64 REPO [CC00 CLC SC00 WS]
172.22.0.16 CENTOS 5.7 64 REPO [NC00]The column information is described in README.md file that came alone with the eutester code. But for the sake of completion of the post:
- 1. IP or hostname of the machine
2. Distribution installed on the machine
3. Distribution version on the machine
4. Distribution base architecture
5. System built from packages (REPO) or source (BZR) (packages assumes path to eucalyptus is /, bzr assumes path to eucalyptus is /opt/eucalyptus)
6. List of components installed on the machine
CLC – cloud controller
WS – Walrus
now that as eucalyptus can have a multi-cluster setup hence the following (specific to cluster)
SC00 – storage controller for cluster 00
CC00 – cluster controller for cluster 00
NC00 – node controller for cluster 00b) Passing on the eucalyptus credential path, to the constructor. In my case the credentials were on the same machine as eutester so I had to only provide the path to the credentials.
Note that based on option (b) I wrote a very simple test case which runs an instance and then prints in some instance specific information.
from eucaops import Eucaops if __name__ == '__main__': tester = Eucaops(credpath="/home/jeevanullas/.euca/") tester.exit_on_fail = 1 image = tester.get_emi() reservation = tester.run_instance(image,keypair="sshlogin",group="linuxvms",type="m1.small") instance = reservation.instances[0] print "Instance Public IP address: " + instance.ip_address print "Instance Private IP address: " + instance.private_ip_address instance.terminate()So what this test does (at a very high level) is that it connects to the CLC and then get one of the available EMI’s which is available and boots that up. Once the instance is up and running we print some basic information about the instance like the instance private ip address as well as public ip address. Finally we terminate the instance.
There are other things which can be done before we terminate the instance like executing a remote command on the instance and using the output internally in your test case? Lots of ideas.
The output for the script above is shown in the screenshot below
You can probably ignore some of the things like the boto debug stuff which is due to extensive logging enabled.
So if we summarize this post with our simple scripts here are the basic things which are pretty straight forward and Eutester takes care of
a) Takes care of getting your cloud credentials so that it can talk to your cloud and do stuff.
b) Next in order to run an instance on the cloud you need to provide EMI which Eutester gets for you based on the first available EMI and expects you to pass parameters like key pair to use for ssh logins and security group. Please note that these parameters are optional and are only required probably for a successful SSH connection to be established, infact SSH keypairs can be generated by Eutester before the instance is fired and can same can be used to while starting the instance as well as for further SSH connections inside Eutester.
Eutester is growing pretty fast thanks to Vic and Matt. Also Graziano already came up with an Eutester test case which is now part of Eutester and recreates bug 737335
There are various possibilities and lot of cool stuff happening around Eutester project. So I would suggest everyone to stay in touch and follow the project on:
January 24, 2012 10:40 PM -
Some of you are probably pretty happy around now. You’re probably saying to yourself, “Yay, we’ve defeated SOPA and PIPA! Yay, victory us!!!”
Actually, you’ve lost. You’ve lost this war, because you… along with everyone else in this half-decayed republic of ours, allow a specific hot button issue to cloud your judgement and allow public sentiment to be unanimous concerning one specific topic.
Pedophiles.
You may be wondering what the hell Pedophiles have to do with Internet Censorship. The answer is; Everything. You cannot win, you are going to lose your internet freedom. You will be monitored, you will be followed and every act and idea you commit to the web will be logged and archived in the halls of Government.
All because you’re afraid of Pedophiles. If you aren’t, then maybe I am using the Royal “YOU” to comment on the public at large; the ignorant Baby Boomers who don’t understand the interwebs, the vacuous youth who haven’t learned the hard way that real opinions don’t make you many friends and often alienate you.
The sort of “YOU” that cannot argue that Pedophiles, just like Homosexuals, have a right to Exist.
It’s that “YOU” that is responsible for the death of the internet.
“But Wait, Heretic,” You might say. “The Net isn’t DEAD yet, we beat SOPA! We Beat PIPA!”
Wrong. You’ve insured your defeat. Consider the following;
No no. Follow the link. Copy-pasta if you must. You read it. You understand it… and realize that it is from the same corporate schill that propose SOPA and PIPA.
“What is this thing?” You might ask. Well if you’re part of the vast illiterati, I’ll explain you the thing (Bad grammar intentional).
H.R. 1981 is titled “The Protect Children From Internet Pornographers Act of 2011″.
It is a bill that requires the following; Your real, legal I.D. name, personal home address, IP address, browsing history, search terms you’ve searched and the complete details of your online habits are to be made trackable and must be logged by all ISP’s.
“Wait a second!” You might argue, “That has nothing to do with Children!”
At this point in the discussion is where I typically chime in with; I told you so.
For the last twelve years of my life, I’ve been arguing rationality in the face of rampant, frothing at the mouth hatred concerning Pedophiles and the various scaremongering news articles that are propogated and proliferated across the news media services and sites.
I recognized that this one topic, out of any topic, is where people lose any sense of proportion or reason; people cease thinking or functioning when a discussion starts involving, “People that diddle children”. Or people that might, hypothetically, because of pornography they look at, decide to diddle children.
“That’s monstrous, Heretic,” You might say. “Why would you defend people such as this?”
The answer is I am defending you. I am defending humanity, because if you allow a portion of humanity to become classified as sub-human, you allow the Government to abuse that concept for it’s own gain.
I am defending Pedophiles as human beings, because if I don’t, someone will be next. And then another. Who would it be? The Furries? People into BDSM? Japanese Hentai fans with their schoolgirl fetishes?
It turns out, no. They didn’t just move on to other fetishists and people with peculiar or abnormal paraphilias. They skipped them and decided to bilk the public.
Oh, fat surprise.
This bill will pass. It will pass because nobody in the Congress or House will vote against it. They won’t vote against it because it’s to protect children from Pedophiles.
And there you have it, folks. Because Pedophiles are universally reviled by society, you have your reason that all of your freedom gets to be stripped away.
Not because you are guilty, and it certainly isn’t because you might have child pornography on your computer.
H.R. 1981 isn’t for pornography, it’s the mechanism of control. It is the perfect tool to combat piracy, to punish the public and to create… as some writers would term it… Total Criminality.
You’re a criminal because you’re on the internet.
Who is to blame for this? You are. You are because you didn’t defend the most reviled people in society, did not argue for their rights, did not protect them from having their human rights stripped away.
You can blame yourself for the death of the Internet, because you never put yourself on the line to take the stand nobody else would take.
But I’m sure it’s fine. I’m sure you’re okay with this, because after all, some of you MIGHT be pedophiles.
So when your children ask you when the internet died, you can look them straight in the eyes and tell them it was murdered by everyone who couldn’t stand to think of Pedophiles existing on earth, and how the very idea of such a thing was enough for us to hand our betrayers the keys to the house.
If, on the other hand, you aren’t okay with this bill… I encourage you to fight against it. I say this while laughing, because good fucking luck; the entirety of the U.S. super-ego will crush you into a fine powder rather than hear anyone object to a bill protecting kids from Pedophiles.
Oh, and if you do want to fight the destruction of the internet, why don’t you share this with everyone you know. Print it and give it to your mum, pass it out to the elderly and the infirm, read it to your teenage children, make people understand.
Though I don’t have much hope of THAT happening.
This has been your Heresy of the Day.
Note: Repost of a diaspora update by The Heretic Of Ethics
January 24, 2012 01:11 PM -
In my last post I showed my first PCB on gEDA PCB Editor. Also I wrote that I will shrink and make it more compact. So now I have done that. Along with that what I have done is that I have made multiple copies of same circuit, which lets me export multiple layouts in a single file and it makes life of faber easy. One more enhancement is that I opted for negative true scale layout output, again targeted to save faber's time.
So here is the new PCB layout :This is the exported negative output :This is what faber gave me :And here one may see the final soldered PCB :January 22, 2012 01:12 PM -
22nd Jan 2012 : Yay, this is my first blog post for the year 2012. The year began with a successful completion of another round of Google Code-In , a program to encourage pre-university students to participate in open source. Having completed google summer of code with GNOME recently , I was really curious to mentor for GCI for my friend GNOME. Andre Klapper ,the man whom I troubled a lot initially, for melange system bugged me. Thanks Andre:-)
I mentored for the following tasks : -- Design a chart to categorize the GCompris Activities : Walter designed a pretty interesting chart to categorize the gcompris activites using GNOME's diagram creation tool dia and Inkscape.
- Add SVG Image implementation example to PyGoocanvas code documentation : Isham added a SVG (Scalar Vector Graphics) image implementation example to the code documentation of PyGoocanvas.
- Add documentation for installation of gcompris from source : Timofey prepared a documentation for installation of GCompris on linux and added whatever was missing in the already existing manual.
A kid (/me) mentoring another kid was the best part :P It was immense fun to communicate with the feelings of kids and watch their growing enthusiasm towards Open Source.
Hail Open Source !January 22, 2012 12:19 PM -
Every year, I face the same problem. Come February, and I get flooded with invitations to speak at some event or the other. And I have to turn them down, because they are all in my “unavailable” period of mid to end-February (for various personal reasons, including my birthday, my wedding anniversary, etc.). As I [...]January 22, 2012 07:11 AM
-
This post is for those electronics engineers who want to make their own PCB. However they aren't sure on which software to go for. In my opinion the best tool for designing PCB's will be any open source tools. I opted for gEDA PCB Editor. The best part about gEDA was the mailing list. I had asked so many stupid questions, however thanks to all contributors for always entertaining my stupid queries. To get started with gEDA, the best thing will be to read this perfect tutorial. A word of caution : if familiar with linux then only opt for this tool. I'm not saying one can't directly jump and start linux with this tool, what I mean to convey is that things will be smooth if one has hands on linux. Though these tools are available for other platforms also.
So here is the circuit which I made, I have directly used the footprints. Here I didn't have to worry about making schematics and then converting it into PCB.Now I had to export it to a file format in true scale which I would give to the faber. I exported and this is the output :Take this file and give it to a faber which will charge few bucks to give you exact PCB. In my case it was like this :Now final task is to get it soldered. It will be good if one can do it on own. In my case things were not complex so I opted to do it on own :That's it. The circuit is working. However I have set my self a target to do away with all faltu jumpers and make it more compact. Next post I'll show compact version of same.January 21, 2012 04:10 PM -
Hi all, This would be a medium about the various events,happening which have been happening for sometime now and came to a head with SOPA and PIPA stuff last week. I was thinking to write about some of the new or old finds of various GNU/Linux programs which had come into Debian but the changes [...]
January 20, 2012 08:34 PM -
ILUGC Monthly Meet (January 21 th):-
==============================Time : Sat January 21, 2012 (3.00 – 5.30 PM)
Venue: Classroom No 3,
Areo Space Engineering,
Near Gajendra Circle,
IIT Madras.Link for the Map: http://bit.ly/iit-aero
1.
Topic: Online Event Registration & Ticketing System
Description:
Allsymposium.com is a Free online event & management portal where Students & Academicians benefit by Creating, Configuring (with themes, background etc) ,Sharing with Social networking sites, Online ticketing & Managing user registrations via My Dashboard their events like Seminars, Symposiums,Culturals,Workshops,Conference etc. You can have a look at
http://www.allsymposium.comSpeaker Profile: Senthil kumar [ sekumar123 AT gmail.com ]
Before moving in to Open Source Applications & technologies, he has worked in Several Industries and on various Proprietary Enterprise Applications for over a decade. Have Implemented large Scale projects across the Globe on various technologies. He is passionate about sharing his wealth of knowledge & experience through various Seminars & Workshops. Allsymposium.com
is developed after understanding the difficulties faced by Students & Academicians in organizing and conducting events.*Duration: *30-45 Min (A demo on the features of Allsymposium.com is included)
2.
Topic: Introduction to Regular Expressions
In computing, a regular expression provides a concise and flexible means for “matching” (specifying and recognizing) strings of text, such as particular characters, words, or patterns of characters. Abbreviations for “regular expression” include “regex” and “regexp”. The concept of regular expressions was first popularized by utilities provided by Unix distributions, in particular the editor ed and the filter grep.[citation needed] A regular expression is written in a formal language that can be interpreted by a regular expression processor, which is a program that either serves as a parser generator or examines text and identifies parts that match the provided specification. Historically, the concept of regular expressions is associated with Kleene’s formalism of regular sets, introduced in the 1950s.
http://en.wikipedia.org/wiki/Regular_expression
Speaker : R Hariram Aatreya [ rhariram AT gmail.com ]
Hariram Aatreya is a computer engineer and Vedic scholar.
3.
Topics : Introducing Wikimedia India Chapter
Description:
The Wikimedia India Chapter (Registered Name: Wikimedia Chapter) is an independent and not-for-profit organization that supports, promotes and educate the general Indian public about the availability and use of free and open educational content, which includes the ability to access, develop and contribute to encyclopaedias, dictionaries, books, images, etc. It is an autonomous entity that does not have any editorial control over content on Wikipedia and its related projects. The Chapter does not have access to the servers hosted by the Wikimedia Foundation in the USA.
Wikimedia Chapters are independent organizations founded to support and promote Wikimedia projects within a country. Chapters are formed by people from within the community and enable volunteers to take their work beyond what they can do individually, besides providing the benefit of a formal organisational set-up. While independent, chapters are recognised by the Wikimedia Foundation.
Wikimedia India was formally approved by the Board of Trustees, Wikimedia Foundation after the recommendation of the Chapters Committee in June 2010 and India became the 29th country to host a Wikimedia Chapter. The Wikimedia Chapter was formally registered as a Non-profit Society vide Registrar of Societies, Bangalore Urban District on 03 Jan 2011.
http://wiki.wikimedia.in/Main_Page
Duration: 30 Mins
Speaker : Surya Prakash [ suryasalem2010 AT gmail DOT com ]
About Speaker :
Surya Prakash, is a second year, Mechanical Engineering student at Anna University.
He contributes to Tamil wikipedia and wikimedia community.4.
General group discussions on any queries, events etc.
CDs/DVDs can be shared on prior request.
Announce this to all your friends, social network sites etc.All are welcome. Entry Free
January 20, 2012 12:42 PM -
As you all know, RMS visit is happening on 6th Feb. FSFTN is
conducting a meeting of all GLUGs in and around Chennai on Jan 22nd.
Meeting will happen in IIT-Madras CS-32. We request all the GLUGs to
participate in the meeting to discuss regarding organizing the event.If your college do not have a GLUG and you would like to be part of
the organizing team for RMS visit, please contact us. All Free
Software enthusiasts who are interested in this may please mail or
call us.Time: 10-00 am – 12.00 am
Contact:
shanu@fsftn.org 9884792347
alagunambiwelkin@fsftn.org 9962240050Please forward this to all Free Software and public mailing lists you know of.
January 20, 2012 09:18 AM -
Note: This article was originally written in late 2011. I am often asked by some very confused people – “Should I buy an eBook reader, or a tablet?” The answer lies in what your primary use is going to be for the device eBook readers eBook readers are really cheap, and by that I mean [...]January 20, 2012 09:12 AM
-
The Free Software Foundation, Tamil Nadu(FSFTN) is proud to announce the visit of Richard Matthew Stallman, the founder of the Free Software Foundation, to Chennai on February 6, 2012. Mr. Stallman (or rms as he is popularly known) is an iconic figure in the global movement to ensure that the free flow of knowledge and through this, the fostering of innovation and newer technologies.
As founder of the GNU project and the FSF and also as one of the pioneers of the idea of ‘Copyleft‘ , he has contributed majorly to revolutionising the field of software by imagining and creating an alternative to the world of proprietary software and technology. Mr. Stallman’s visit to Chennai, after a considerable gap, will be an excellent occasion for the academicians, students and professionals of the city to gain inspiration and advice from a legendary figure and also interact with fellow enthusiasts, all of which, we are sure, will be a life-changing experience for many.
The Free Software Foundation, Tamil Nadu, has been constantly striving to spread awareness of the importance and advantages of free software in various fields such as education, public policy and health care. Our activities include workshops, community computing centres and partnerships with institutions in the use and promotion of free software. It is in this context that we are honoured to host such a famous figure.
This would be an ideal opportunity to like-minded groups, organizations, technical groups, users groups, and its members in and around Chennai to join hands and utilize this opportunity to spread the knowledge on Free Software to as many people as we can. If you as an individual feel you can help us in any possible means, we would be happy to have you with us.
If you or your organization is interested in sponsoring this event, we have a variety of sponsorship options that you can consider. Do contact us off-list to know more details.
More details will be announced soon.Please stay tuned to our mailing-list [ http://ilugc.in ] or this blog.
For any information or queries please feel free to call us at, Shanu: 9884792347, Prasanth: 9176661086, Welkin: 9962240050.
January 20, 2012 09:02 AM -
Advanced Linux Shell Scripting Work shop is happening on Jan 28th and Jan 29th (2 days workshop) in Chennai.
This Work shop will give full hands on experience from basic till advanced scripting. At the end of the session you will be able to write a shell scripts with configuration files.PPT:
http://www.usedisk.com/downloads/277_Advanced_Shell_Scripting_ppt_2012_01_19About the Instructor:
Instructor has 10 years experience in Linux. He has written many real time
automation scripts and tools which is running on many production servers
around the world.Interested people please contact “Madeeswer V” <madhiv@gmail.com> The entry will be based on first come
first serve.Location:Chennai
Venue: Spiro Technologies,T.Nagar.Cost: 4499 /-
January 20, 2012 08:49 AM -
Sikuli is a cross-platform automation tool. The software uses computer vision technology to automate UI testing.
In this blog post I describe how to install and setup Sikuli on Ubuntu 11.10 OS.
Download the latest version of Sikuli (http://sikuli.org/download.shtml) and uncompress the zip file. You can also install Sikuli using Ubuntu package manager.
$ sudo apt-get install sikuli-ideYou will need OpenCV 2.1 or later to use Sikuli. If you see the following error, the OpenCV libraries are probably missing on your computer.
java.lang.UnsatisfiedLinkError: /tmp/tmplib/libVisionProxy.so: libml.so.2.1: cannot open shared object file: No such file or directoryInstall OpenCV 2.3 on Ubuntu 11.10
Thanks to Gijs Molenaar we now have OpenCV 2.3 packages for Ubuntu. You can find full installation documentation here.
Open terminal and type the following commands to install OpenCV 2.3 packages. Remember to uninstall older OpenCV versions before you do this.
$ sudo add-apt-repository ppa:gijzelaar/cuda $ sudo add-apt-repository ppa:gijzelaar/opencv2.3 $ sudo apt-get update $ sudo apt-get install libcv-devOther Required Tools
The Sikuli documentation fails to mention that you need wmctrl package to launch and control GUI applications on Linux.
$ sudo apt-get install wmctrlYou are done!
You can now launch Sikuli by typing /usr/bin/sikuli-ide in the terminal program.
January 20, 2012 03:52 AM -
சமீபத்தில் இரண்டு நூல்கள் படித்து முடித்தேன். ஒன்று முப்பது வயதான ஒரு நகர நாகரீக மங்கையின் முதல் நூல், ஆங்கிலத்தில் எழுதியது. நகரத்தில் வாழும் ஒரு இளம் தம்பதியைப் பற்றியது. சுலபமான வார்த்தைகள், எளிய சொற்றொடர்கள், புத்தகம் முழுதும் மிக மெலிதாய் இழையோடும் நகைச்சுவை என்று சில நல்ல சேதிகள் நிறைந்திருந்தன. இரண்டாவது, அறுபது வயதுக்கும் மேலான ஒரு முதியவர் தமிழில் எழுதியது. எனக்கு நினைவு தெரிந்த நாளில் இருந்து இவர் கதைகள் எழுதி வருகிறார். எப்படியும் ஒரு ஆயிரம் கதைகள் எழுதி இருப்பார். சில திரைப்படங்களிலும் பணியாற்றி இருக்கிறார். செல்வராகவன், சங்கர் போன்ற பல பெரிய இயக்குனர்களின் திரைப்படங்களுக்கு உரையாடல் எழுதி இருக்கிறார்.தமிழகத்தின் சிறுநகரங்களில் இருக்கும் வயதான பெண்கள் எப்படி நம் சன் டிவி நாடகங்களில் மாமியார்-மருமகள், உறவுகள் பற்றி பார்த்து பார்த்து மூளையை மழுங்கடித்துக் கொள்கிறார்களோ, அதைப் போல நகரத்தில் வாழும் பெண்களும், பணக்காரப் பெண்களும் (சில ஆண்களும்) ஆங்கில தொலைகாட்சித் தொடர்களுக்கு அடிமைகள். பிரெண்ட்ஸ் , ஹவ் ஐ மெட் யுவர் மதர் போன்றவை இவ்வாறு உணர்வுகளை அதிகப்படியாய் சித்தரிக்கும் தொடர்கள்.என் மேற்கத்திய நண்பர் ஒருமுறை சொன்னார், "ப்ரேண்ட்சில் வரும் காட்சிகளை வைத்து இப்படித்தான் எங்கள் சமுதாயம் இருக்கும் என்று நினைத்துக் கொள்ளாதே, அது சூப்பர்மேன் படத்தைப் பார்த்து விட்டு அமெரிக்க ஆடவர்கள் உள்ளாடையை ஆடைக்கு வெளியேதான் அணிவார்கள் என்று நினைத்துக் கொள்வதைப் போல". நம்மூரில் இருக்கும் மேட்டுக்குடி பெண்கள் இந்த நாடகங்களை உண்மை என்று நம்பி பார்த்து விட்டு, தன் வாழ்வை இந்த மிகைப்படுத்தப் பட்ட மாயையால் கொஞ்சம் சீரழித்துக் கொள்கிறார்களோ என்று அவ்வப்போது நான் யோசிப்பேன்.சரி, சொல்ல வந்த சேதிக்கு வருகிறேன். நான் குறிப்பிட்ட அந்த ஆங்கில நூல், மேலே சொன்ன தொலைகாட்சி தொடர்களின் பாதிப்பினால் எழுதப்பட்டது. நடிகர் விசய், தன்னுடைய எல்லா படங்களிலும் ஒரு குத்துப் பாட்டு வைப்பதைப் போல, இக்கால ஆங்கில எழுத்தாளர்கள் எல்லோரும் எப்பாடுபட்டாவது தங்கள் கதையில் ஐஐடியை செருகி விடுகின்றனர். இந்த கதையின் நாயகனும் அப்படி ஐஐடியில் படித்தவர்தான். அவரும் அவருடைய மனைவியும் பிரிய முயற்சிக்கின்றனர். ஆனால் இந்திய குடும்ப சூழ்நிலைகள் அவர்களை பிரிய விடுகின்றனவா என்பதுதான் கதை. இதை மிக நகைச்சுவையாக எழுதி இருக்கிறார். ஆனால் மிக மிகப் போலியான காட்சி அமைப்புகள், கொஞ்சம் கூட நடைமுறைக்கு சாத்தியமில்லாத பணக்காரத்தனம், ஆடம்பரம், வெளிநாடு பயணம் என்று கதை கொஞ்சம் தத்தளிக்கிறது. எழுத்தாளரின் லாவகமான நடைதான் இந்த நூலை பிழைக்க வைக்கும் ஒரே காரணம். 200 பக்கங்கள் கொண்ட இந்த நூல் 200 ரூபாய்க்கு விற்கிறது. முதல் பதிப்பில் வெளிவந்த அத்தனை பிரதிகளும் விற்றுத் தீர்ந்து மறுபதிப்பிற்கு சென்றிருக்கிறது.
இரண்டாவதாக நான் சொன்ன தமிழ் புத்தகம், இரு பெண்களின் போட்டி பற்றி ஆரம்பித்து, அதில் எப்படி ஒரு பெண் இன்னொரு பெண்ணின் மகளை அவளிடம் இருந்து களவாடி, சினிமாவில் இறக்குகிறார் என்றும், அந்த பெண் சினிமாவில் சேர்ந்த பின் என்ன செய்கிறார் என்றும் செல்கிறது. எத்தனையோ பாத்திரங்கள் வந்தாலும் அத்தனையும் மனத்தில் நிற்கின்றது, அழுத்தம் திருத்தமான கதை, அதிர வைக்கும் வசனங்கள், அத்தனை அழகாய் உலக வாழ்க்கையோடு தொடர்பு படுத்தி பார்க்க வைக்கும் கதையோட்டம். எழுதியவர் முதியவர் என்பதால் அத்துணை (சரியா சொக்கன் ஐயா ?) அனுபவப் பகிர்வுகள். இந்தக் கதையை படித்து முடித்தவுடன், ஒவ்வொரு கதாபாத்திரமும் ஏதோ நமக்கு தெரிந்த நபர் என்பது போல் பிரமை ஏற்படும் அளவு உன்னதமான எழுத்து நடை. இந்த நூல் இரண்டு பாகங்களாக வெளி வந்துள்ளது. ஒவ்வொரு பாகமும் சுமார் 150 பக்கங்கள். ஆனால் விலை வெறும் 20 ரூபாய் தான்.
ஆங்கிலத்தில் எழுதியது என்ற ஒரே காரணத்தினால், ஒரு அறிமுக எழுத்தாளரின் சுமாரான நூல் இத்தனை அதிக விலையில் விற்றாலும் மக்கள் வாங்குகிறார்கள். ஆனால் அத்துணை நல்ல எழுத்தாளரின் நூல், தமிழில் எழுதப்பட்டது என்ற ஒரே காரணத்தால் விற்க சிரமப்படுகிறது. அண்மையில் நண்பர் கண்ணபிரான் அவர்களை, நீங்கள் ஏன் உங்கள் திருப்புகழ் உரையை நூலாக வெளியிடக் கூடாது என்று கேட்டேன். அதற்கு அவர், பெரிய பெரிய தமிழ் எழுத்தாளர்களின் நூல்களே வெறும் சில நூறுகள் தான் விற்கின்றன, அதனால் வலைப்பதிவாகவே எழுதி விடுவது உத்தமம் என்றார்.
சேத்தன் பகத் போன்ற எழுத்தாளர்களால் உந்தப்பட்டு, மிகக் குப்பையான எழுத்தாளர்கள் பெருகி, நம் இலக்கியத் தரம் குறைந்து கொண்டே வருகிறதோ !? ஆங்கில மோகத்தில் சிக்குண்ட நாம், நாம் ஆதரவளிக்க வேண்டிய தமிழ் நூல்களையும், எழுத்தாளர்களையும் கண்டு கொள்ளாமல் இருக்கிறோமா !? கல்கி, சாண்டில்யன் என்று ஒரு தலைமுறையிலும், சுசாதா, இராஜேஷ்குமார், சுபா, பட்டுக்கோட்டை பிரபாகர், பாலகுமாரன் என்று அடுத்த தலைமுறையிலும் (இலக்கியவாதிகளை சேர்க்கவில்லை, பெரும்பான்மை மக்களை தமிழ் படிக்க வைக்கும் எழுத்தாளர்களைப் பற்றி மட்டும் பேசுகிறேன்) உருவான எழுத்தாளர்களைத் தாண்டி, அடுத்த தலைமுறையில் அனைவரையும் கவரும் வகையில் எழுதும் எழுத்தாளர் சமூகத்தையும், அதனினும், தமிழ் படிக்கும் வாசகர் சமூகத்தையும் இழந்து வருகிறோமா !?January 19, 2012 07:06 PM -
Well it had to happen someday. I referred to it obliquely in
http://sitaramc.blogspot.com/2011/07/veracity.html but at that time I
did not expect to actually stop using blogspot.There are in fact some advantages blogspot has. The blog-specific
search is one thing (G+ will search the whole world so you have to add
your name or something to make it focus on your "stream" or whatever
the heck they call it).The URL itself is a big turnoff in G+. Compare blogspot's
http://sitaramc.blogspot.com/2011/07/veracity.html to G+'s
https://plus.google.com/115609618223925128756/posts/PDPdXTxAvZk.
Uggh!In fact the only reason I'm moving there is because my online world
has now pretty much reduced to git, gitolite, and related areas. And
most of those people are on G+. I reach, and am reached by, so many
more people there, it's an enormous difference from blogspot.January 19, 2012 11:58 AM -
Well it’s been really really long since I updated this space but looks like the right time to change a few things around starting with a new post in a new year!
This post basically summarizes 2011 for me and ends with the latest news which comes with the new year. For a better understanding of things I am categorizing it into sections
Travel
I was able to visit some pretty nice places during vacation, some of them which I would like to mention here are Mekedaatu, Pondicherry and some of the worst places like Hogenakkal. Compared to 2010 though 2011 was pretty dull, hope to improve that in 2012.Work at Infosys
Lot of cool and exciting things happened last year at Infosys which I might not be able to tell here. I worked with some of “the” awesome people inside the organization on things I love to work on (Cloud Computing, Linux, Sysadmin etc).
The journey at Infosys for me finally came to an end on 12/26/2011. It was a joy ride full of good as well as bad experiences but overall speaking at the end of the day lot of learning. Planning on to be in touch with some of the real gems still there, all of you (you know who you are) guys you rock and I wish you all a very happy new year!Family
No new additions to the family which is pretty cool. Keeps thing simple. Brother got placed at Salesforce and is now based out of Hyderabad. The house in Jaipur got renovated again this time it was turn of the ground floor. My visits to home (Jaipur) and Jodhpur (Birthplace) were really nice spent a healthy time with my cousins and relatives which I would consider real good.Bangalore
Bangalore as usual was great in 2011 though technically speaking I lived outside Bangalore for most part of it. I was not able to catch up with the Linux-India folks most of the time (though was able to show up on few rare occasions and catch up), I really would like to change that in 2012 once I am back in town later this year.Technology
Got real hands-on experience with exciting stuff both in open source (Cloudstack, KVM, Spacewalk) and non-open source (HP Cloudsystem matrix, IBM Service Delivery Manager, VMWare vsphere, Amazon web services) domain. Compared to 2010 it was much more action packed year and cloud really grew pretty fast.
Apple as well as OS X continues to dominate my personal computing needs and I predict the same would get stronger and deeper in 2012.
I was not of able to contribute to the community, I have been part of, specially Fedora Project , Linux User Group Jaipur and Eucalyptus (sort off) but was able to change couple of things around that too by the end of the year at-least on the Eucalyptus front lot of cool stuff started happening.Future and 2012
The big news which I guess most of the people (in my circles) have been waiting to hear on, where do I move on to now? Now that I am out of Infosys and Bangalore (for a while). Well guys I am glad to share with you the news that I have joined Eucalyptus Inc. and the great army of fellow Eucalyptoids spread across the world. As part of my job I would be working within the Technical services team focused on Customer support and also be the community guy for Eucalyptus, which in my opinion is going to get strong this year and the years to come.
I have already started off with my journey at Eucalyptus and the 1st week itself has been so far full of exciting stuff focused around open source, Eucalyptus community and Eucalyptus 3.In case you are interested to get associated with the Eucalyptus community and exciting things which we have been doing for a while now, feel free to get in touch and be part of the ecosystem. For IRC users we (jeevan_ullas and others) can be found at #eucalyptus on irc.freenode.net.
So on a positive note let me wish you all a very happy new year full of Clouds powered by Open Source and please do stay in touch!
January 19, 2012 10:51 AM -
…is not that you wouldn’t be able to access material on the web anymore if these acts pass. It is that there wouldn’t be any material to access. Because if the publishing of almost any form of creative work can be arbitrarily (and even retrospectively) criminalised using SOPA & PIPA, people will eventually stop publishing [...]January 19, 2012 03:57 AM
-
On January 18th 2012 popular Internet websites protested the proposed US Stop Online Piracy Act with blackout-ed splash pages .
Erin Jo Richey captured some of the websites on her Flickr photostream.
January 19, 2012 01:46 AM -
Wikipedia, Google, Reddit and several other major sites are protesting the PIPA/SOPA legislation by either completely blacking out their sites or by modifying their front pages to inform their visitors of this harmful legislation that the MPAA is trying get the U.S. Congress to pass. I’m proud that Mozilla will be also be participating in the ‘internet strike’ tomorrow!
I’ve rarely discussed politics on my blog, and as an Indian citizen I am particularly helpless to do anything about U.S. legislation. Mitchell and many others have already posted level-headed arguments on why PIPA/SOPA isn’t going to help anyone. However, this response from the MPAA’s chief executive Chris Dodd (who is, notably, a former US Senator) really irks me:
Only days after the White House and chief sponsors of the legislation responded to the major concern expressed by opponents and then called for all parties to work cooperatively together, some technology business interests are resorting to stunts that punish their users or turn them into their corporate pawns, rather than coming to the table to find solutions to a problem that all now seem to agree is very real and damaging.
It is an irresponsible response and a disservice to people who rely on them for information and use their services. It is also an abuse of power given the freedoms these companies enjoy in the marketplace today. It’s a dangerous and troubling development when the platforms that serve as gateways to information intentionally skew the facts to incite their users in order to further their corporate interests.
A so-called “blackout” is yet another gimmick, albeit a dangerous one, designed to punish elected and administration officials who are working diligently to protect American jobs from foreign criminals. It is our hope that the White House and the Congress will call on those who intend to stage this “blackout” to stop the hyperbole and PR stunts and engage in meaningful efforts to combat piracy.
The MPAA has, in the past, used its “power” to enact legislation that makes it illegal to manufacture DVD players that allow lawful, paying consumers to skip the FBI warning shown at the beginning of DVDs. The MPAA is now using that very same “power” and political clout to enact PIPA/SOPA. It is plainly hypocritical that the MPAA would call Google and Wikipedia irresponsible for displaying accurate information on their own websites.
Furthermore, the MPAA calls out for “co-operation” from technology companies on the matter of piracy. I am at a loss to understand why Google or any other technology company should spend even a cent of their hard-earned money on solving a problem for the MPAA. Why didn’t the MPAA use its enormous cash pile on technology that would enable them to profit from evolving technology instead of spending it all on lobbying a bill that threatens the Internet’s very existence?
The retort from the MPAA is that they’re not against the Internet, just piracy. However, that’s exactly where the problem lies. The PIPA/SOPA bills as currently drafted would give the MPAA (a private entity, mind you) the overarching power to shut down any website, without legal recourse, all in the name of combating piracy. Even if I trust the executives at the MPAA to not abuse that power, I do not fool myself into thinking that there will be no mistakes at all. Taking down a website for no real legal reason, even temporarily, is just not worth it – especially when the end goal is to let the MPAA make an extra million dollars.
Thankfully, the Internet is not designed to let any single entity obtain that much power (one could note that it is that distributed nature of the Internet that makes it so successful). Even if the bill is enacted, it will not prevent people from being able to reach these “rogue” websites that publish pirated content. Consumers will still be able to reach websites not hosted in the U.S. (as most of them are) via their direct IP address, and site owners can always be a step ahead by registering new domain names if they choose to. Not to mention, the Streisand Effect is likely to swing into action, further fueling the trend of people visiting rogue websites for pirated content. For example, it is trivial to write an add-on for Firefox and other browsers that would bypass the DNS “blacklisting” technique PIPA and SOPA propose to implement. There is no way that the MPAA, the U.S. Government, or any single entity for that matter, can stay on top of thousands of such work-arounds.
The technology companies and architects of the internet have openly informed the MPAA about the fallacies of the bill (something that they couldn’t figure out for themselves); for the MPAA to expect any more “co-operation” from them is futile.
Nobody in their right mind has ever said that piracy is not a problem. However, the benefits that the Internet brings to humanity is far too much to let a private corporation endanger it just so it can continue to profit. In the long run, for any corporation to stay in business, it must adapt to evolving technology. Digital goods are just not the same as physical objects, bits have no colour. The companies that realize this fundamental, unchangeable truth and try to capitalize on technology are the ones who will ultimately succeed, not the ones who try to fight it. In the physical realm, we don’t outlaw things that brings a lot more good to society even if you are able to do a few bad things with it (though increasingly governments seem to punish the masses in the name of fighting a few bad apples; which is also no doubt a very troubling phenomenon). I hope the MPAA will use its power and money to figure out how it can profit from technology in a way that preserves the founding principles of the internet, for its own sake, or it won’t be too long before someone who does replaces them.
January 18, 2012 07:26 AM -
January 18, 2012 07:10 AM
-
After my previous attempt the other day to create a nested-guest(kvm on kvm) with Intel arch, I got hold of an AMD server machine with virt-extensions enabled and gave it a whirl. This went slightly smoother than the Intel attempt.
Some config info about the physical host, regular-guest and nested-guest. (All of them are Fedora-16; x86_64)
- Physical Host (Host hypervisor/Bare metal)
-
[root@phy-host-amd]# virsh nodeinfo CPU model: x86_64 CPU(s): 16 CPU frequency: 2000 MHz CPU socket(s): 2 Core(s) per socket: 8 Thread(s) per core: 1 NUMA cell(s): 1 Memory size: 8173352 kB
- Regualr Guest (Or Guest Hypervisor)
- Config: 4GB Memory; 6 vcpus; 22GB Raw disk image w/ cache=’none’ enabled in the libvirt xml
- Nested Guest
- Config: 2GB Memory; 3 vcpus; 10G Raw disk image
Ensure nesting is enabled on the physical host
Let’s ensure kvm_amd kernel module is enabled with ‘nested’ virt.
[root@phy-host-amd ~]# modinfo kvm_amd | grep -i nested parm: nested:int [root@phy-host-amd ~]# [root@phy-host-amd ~]# cat /sys/module/kvm_amd/parameters/nested 1 [root@phy-host-amd ~]# [root@phy-host-amd ~]# systool -m kvm_amd -v | grep -i nested nested = "1" [root@phy-host-amd ~]#CAVEAT: To make life a little easier, I configured bridged networking on the physical host to ensure our regular-guest gets a bridged IP; and later, nested-guest gets a NATed IP. I’m noting it here because, the physical host initially had no bridging. The default libvirt bridge virbr0 has 192.168.122.0/24 IP space. So once we set up the regular-guest(or guest-hypervisor), we’ll end up having the same IP space. I tried to fix this prob. by creating another ‘persistent’ libvirt network interface and enabled autostart of it. [virsh net-add; virsh net-define; virsh net-autostart ]. But, it wasn’t elegant and messed up networks on reboot.
Set up the guest hypervisor
Create a minimal regular-guest using virt-install . The one I used is posted hereNow, add the cpu attribute to the regular-guest’s libvirt xml to expose AMD’s svm instructions, which comes with Opteron_G3 model .
Edit the xml using virsh:
# virsh edit regualr-guest
(which will also define the xml)
Here is the attribute to be added to the guest hypervisor’s libvirt xml:
<cpu> <arch>x86_64</arch> <model>Opteron_G3</model> <vendor>AMD</vendor> <topology sockets='2' cores='8' threads='1'/> <feature name='wdt'/> <feature name='skinit'/> <feature name='osvw'/> <feature name='3dnowprefetch'/> <feature name='cr8legacy'/> <feature name='extapic'/> <feature name='cmp_legacy'/> <feature name='3dnow'/> <feature name='3dnowext'/> <feature name='pdpe1gb'/> <feature name='fxsr_opt'/> <feature name='mmxext'/> <feature name='ht'/> <feature name='vme'/> </cpu>And, restarted the regular-guest, so that it boots w/ the -cpuflag which the AMD virt extensions:
[root@phy-host-amd ~]# ps -ef | grep -i qemu-kvm qemu 26677 1 14 10:39 ? 00:00:30 /usr/bin/qemu-kvm -S -M pc-0.14 -cpu phenom,+wdt,+skinit,+osvw,+3dnowprefetch,+misalignsse,+sse4a,+abm,+cr8legacy,+extapic,+cmp_legacy,+lahf_lm,+rdtscp,+pdpe1gb,+popcnt,+cx16,+ht,+vme -enable-kvm -m 4096 -smp 6,sockets=2,cores=8,threads=1 -name regular-guest -uuid 8f6a4478-496b-51d8-2de2-ff7fdb964af3 -nographic -nodefconfig -nodefaults -chardev socket,id=charmonitor,path=/var/lib/libvirt/qemu/regular-guest.monitor,server,nowait -mon chardev=charmonitor,id=monitor,mode=control -rtc base=utc -drive file=/var/lib/libvirt/images/regular-guest.img,if=none,id=drive-virtio-disk0,format=raw,cache=none -device virtio-blk-pci,bus=pci.0,addr=0x4,drive=drive-virtio-disk0,id=virtio-disk0,bootindex=1 -netdev tap,fd=24,id=hostnet0 -device virtio-net-pci,netdev=hostnet0,id=net0,mac=52:54:00:5f:c6:5f,bus=pci.0,addr=0x3 -chardev pty,id=charserial0 -device isa-serial,chardev=charserial0,id=serial0 -usb -device usb-tablet,id=input0 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x5
Now, let’s fetch the IP of the regular-guest using virt-cat
[root@phy-host-amd ~]# virsh list Id Name State ---------------------------------- 5 regular-guest running [root@phy-host-amd ~]# [root@phy-host-amd ~]# virt-cat regular-guest /var/log/messages | grep 'dhclient.*bound to' Jan 17 10:13:06 dhcpyy-zz dhclient[732]: bound to ww.xx.yy.zz -- renewal in 32578 seconds.
(Note: ‘ww.xx.yy.zz’ above will be a bridged IP address)
Create the nested guest
Now. install virt-packages in the regular-guest. Also, let’s check if the /dev/kvm char device is exposed in the regular-guest ; and start the libvirtd service.[root@regular-guest ~]# file /dev/kvm /dev/kvm: character special [root@regular-guest ~]# systemctl status libvirtd.service libvirtd.service - LSB: daemon for libvirt virtualization API Loaded: loaded (/etc/rc.d/init.d/libvirtd) Active: active (running) since Tue, 17 Jan 2012 10:49:25 -0500; 5s ago Process: 1440 ExecStart=/etc/rc.d/init.d/libvirtd start (code=exited, status=0/SUCCESS) Main PID: 1448 (libvirtd) CGroup: name=systemd:/system/libvirtd.service ├ 1448 libvirtd --daemon └ 1501 /usr/sbin/dnsmasq --strict-order --bind-interfaces --pid-file=/var/run/libvirt/network/default.pid --conf-file= --exce...Proceed with installing a minimal F16 nested-guest w/ virt-install. The script I used is here
Debugging note: Once the guest install is finished, fix the serial console access by disabling plymouth-service using this workaround. This will let us login via virsh serial console(to get kernel and boot messages) w/o any line breaks while entering credentials:
# ln -s /dev/null /etc/systemd/system/plymouth-start.service
Get the (NATed) IP of the nested-guest. (Also, grepped for the qemu-kvm command-line of the nested-guest.)
[root@regular-guest ~]# virsh list Id Name State ---------------------------------- 2 nested-guest running [root@regular-guest ~]# ps -ef | grep qemu-kvm qemu 2245 1 2 Jan17 ? 00:20:11 /usr/bin/qemu-kvm -S -M pc-0.14 -enable-kvm -m 2048 -smp 3,sockets=3,cores=1,threads=1 -name nested-guest -uuid 2aae2ab5-ddb6-2585-aa16-7fe97296f34b -nographic -nodefconfig -nodefaults -chardev socket,id=charmonitor,path=/var/lib/libvirt/qemu/nested-guest.monitor,server,nowait -mon chardev=charmonitor,id=monitor,mode=control -rtc base=utc -drive file=/var/lib/libvirt/images/nested-guest.img,if=none,id=drive-virtio-disk0,format=raw -device virtio-blk-pci,bus=pci.0,addr=0x4,drive=drive-virtio-disk0,id=virtio-disk0,bootindex=1 -netdev tap,fd=24,id=hostnet0 -device virtio-net-pci,netdev=hostnet0,id=net0,mac=52:54:00:0e:4e:53,bus=pci.0,addr=0x3 -chardev pty,id=charserial0 -device isa-serial,chardev=charserial0,id=serial0 -usb -device usb-tablet,id=input0 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x5 [root@regular-guest ~]# virt-cat nested-guest /var/log/messages | grep 'dhclient.*bound to' Jan 17 11:08:30 localhost dhclient[721]: bound to 192.168.122.220 -- renewal in 1393 seconds. [root@regular-guest ~]#
SSh into the nested-guest, install virt-what package and run to see if we’re on a hypervisor
[root@localhost ~]# cat /etc/fedora-release Fedora release 16 (Verne) [root@localhost ~]# ifconfig eth0 | grep inet inet addr:192.168.122.220 Bcast:192.168.122.255 Mask:255.255.255.0 inet6 addr: fe80::5054:ff:fe0e:4e53/64 Scope:Link [root@localhost ~]# [root@localhost ~]# virt-what kvmWooo!! so we’re on an OS which is inside an OS which is inside an OS.
January 18, 2012 06:46 AM -
Hi there!
As promised, I’m going to repeat the VIM class for beginners tomorrow at
2100 IST (1530 UTC) to suit APAC. I’m going to cover more or less the
same points I covered in the initial class. Please try and make it
The venue of course, is #fedora-classroom on Freenode.
To convert this time to your local time:
> date -d "Wed Jan 18 15:30:00 UTC 2012"
January 16, 2012 06:43 PM -
Just resolved one bug of Rachana font.
Below is list of Malayalam Unicode characters
"ം ഃ ഄ അ ആ ഇ ഈ ഉ ഊ ഋ ഌ എ ഏ ഐ ഒ ഓ ഔ ക ഖ ഗ ഘ ങ ച ഛ ജ ഝ ഞ ട ഠ ഡ ഢ ണ ത ഥ ദ ധ ന ഩ പ ഫ ബ ഭ മ യ ര റ ല ള ഴ വ ശ ഷ സ ഹ ഺ ഻ ഼ ഽ ാ ി ീ ു ൂ ൃ ൄ െ േ ൈ ൊ ോ ൌ ് ൎ ൏ ൔ ൕ ൖ ൗ ൘ ൙ ൚ ൛ ൜ ൝ ൞ ൟ ൠ ൡ ൢ ൣ ൦ ൧ ൨ ൩ ൪ ൫ ൬ ൭ ൮ ൯ ൰ ൱ ൲ ൳ ൴ ൵ ൶ ൷ ൸ ൹ ൺ ൻ ർ ൽ ൾ ൿ "
Before fix it was looking like, Note, U+00AE character is displayed even at reserved unicode locations, was not understanding from where ® is coming after checking through all font understood in Rachana.ttf these glyphs present.
After Fix
Reported bug : https://bugzilla.redhat.com/show_bug.cgi?id=781938
patch is available in bug. Pushed update to Fedora 16 https://admin.fedoraproject.org/updates/smc-fonts-4.4-7.fc16January 16, 2012 07:19 AM -
I attended the 25th International Conference on VLSI Design and 11th International Conference on Embedded Systems between January 7-11, 2012 at the Hyderabad International Convention Centre, Hyderabad, India. The first two days consisted of tutorial sessions, and the next three days had the conference presentations. There were also exhibit stalls from different companies.

On the first day I attended the tutorial session on SystemC AMS extensions by Markus Damm, Sumit Adhikari, and François Pecheux. Chitlesh Goorah had earlier tried to get SystemC into Fedora and Fedora Electronic Lab, but, due to licensing issues it could not be included. SystemC-AMS is now released under Apache license. Open SystemC Initiative and Accellera Unite have now integrated to become Accellera Systems Initiative. We hope to work with them to get their sources under a single free/open source software license. François Pecheux is from Laboratoire d'Informatique de Paris 6, Pierre & Marie Curie University (UPMC), Paris, France, and we already ship their free/open source EDA tools in Fedora.
On day two, I attended the tutorial session by Sridhar Arvind on 3D-ICE, a free/open source interlayer cooling emulator from Embedded System Laboratory, Ecole polytechnique fédérale de Lausanne, Switzerland. I have already been working with Sridhar, Prof. David Atienza and Alessandro Vincenzi on testing 3D-ICE on Fedora. I had built and tested the dependency SuperLU library and the 3D-ICE package before the tutorial session. Their software has already been downloaded by over 70 research labs around the world. I will push our tested changes to them. On the later half of the day, I attended a session on verification constraint complexity. Teal is a useful verification utility and connection library that has support for constraints and parameter control. The authors of the tool had agreed to release it as free/open source software, and we also ship it in Fedora.
On the following three days of the conference, I attended various paper presentations from different tracks from reconfigurable architectures to methods in AMS optimization. I met Prof. Susmita Sur-Kolay from the Indian Statistical Institute, Kolkata, India where they run Fedora in their labs. They also wished to use the 3D-ICE tool and GPU tools in their labs. I also visited the exhibit stalls meeting different people from the industry and academia. There are quite a few interesting free/open source tools that users can benefit from, and we will work in making them available in Fedora. In 2013, the conference will be held in Pune. Thanks to Red Hat for sponsoring my travel and participation at the conference.
January 15, 2012 01:20 PM -
I wrote a book on OpenSource in Tamil and it got published by New Horizon Media (Kizhakku Pathipagam) on last Saturday ie., 07-jan-2012 in Chennai Book Fair 2012. If you get a chance to visit Chennai Book fair drop in at Kizhakku Pathipagam stall and grab a copy of the book
(shortly the book will be available in http://www.nhm.in/ online store).An introduction about this book is available here - http://www.tamilpaper.net/?p=5347
January 15, 2012 09:43 AM -
Some context: In regular virtualization, your physical linux host is the hypervisor, and runs multiple operating systems. Nested Virtualization let’s you run a guest inside a regular guest(essentially a Guest hypervisor).For AMD there is nested-support available since a while, and some people reported success w/ nesting KVM guests. For Intel arch., there is support available recently, an year-ish, and some in progress work, so thought I’d give it a whirl when Adam Young started discussion about it in context of openstack project.
Some of the common use-cases for that are being discussed for nested-virtualization
- For instance, a cloud user gets a beefy, Regualar Guest(which she completely controls). Now, this user can turn regular guest into a hypervisor, and can cheerfully run/manage multiple guests for developing or testing w/o the hassle and intervention of the cloud provider.
- Possibility of having a many instances of virtualization setup (hypervisor and its guests) on one single Bare metal.
- Ability to debug and test hypervisor softwareI have immediate access to a moderately beefy Intel hardware, and rest of the post is based on Intel’s CPU virt extensions. Before proceeding, let’s settle on some terminology for clarity:
- Physical Host (Host hypervisor/Bare metal)
- Config: Intel(R) Xeon(R) CPU(4 cores/socket); 10GB Memory; CPU Freq – 2GHz; Running latest Fedora-16(Minimal foot-print, @core only with Virt pkgs;x86_64; kernel-3.1.8-2.fc16.x86_64
- Regualr Guest (Or Guest Hypervisor)
- Config: 4GB Memory; 4vCPU; 20GB Raw disk image with cache =’none’ to have decent I/O; Minimal, @core F16; And same virt-packages as Physical Host; x86_64
- Nested Guest (Guest installed inside the Regular Guest)
- Config: 2GB Memory; 1vCPU; Minimal(@core only) F16; x86_64
Enabling Nesting on the Physical Host
Node Info of the Physical Host.
# virsh nodeinfo CPU model: x86_64 CPU(s): 4 CPU frequency: 1994 MHz CPU socket(s): 1 Core(s) per socket: 4 Thread(s) per core: 1 NUMA cell(s): 1 Memory size: 10242864 kB
Let us first ensure kvm_intel kernel module has nesting enabled. By default, it’s disabled for Intel arch[ but enabled for AMD -- SVM (secure virtual machine) extensions arch.]
# modinfo kvm_intel | grep -i nested parm: nested:bool #
And, we need to pass this kvm-intel.nested=1 on kernel commandline while rebooting the host to enable nesting for the Intel KVM kernel module. Which can be verified after boot by doing:
# cat /sys/module/kvm_intel/parameters/nested Y # systool -m kvm_intel -v | grep -i nested nested = "Y" #Or alternatively, Adam Young identified that nesting can be enabled by adding this directive kvm_intel nested=1 to the end of /etc/modprobe.d/dist.conf file and reboot the host so it persists.
Set up the Regular Guest(or Guest hypervisor)
Install a regular guest using virt-install or oz tool or any other preferred way. I made a quick script here. And ensure to have cache=’none’ in the disk attribute of the Guest Hypervisor’s xml file. (observation: Install via virt-install tool didn’t seem have this option picked by default.) Here is the ‘drive’ attribute libvirt xml snippet:<disk type='file' device='disk'> <driver name='qemu' type='raw' cache='none'/> <source file='/var/lib/libvirt/images/regular-guest.img'/> <target dev='vda' bus='virtio'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/> </disk>Now, let’s try to enable Intel VMX(Virtual Machine Extensions) in the regular guest’s CPU. We can do it by running the below on the Physical host(aka Host Hypervisor), and adding the ‘cpu’ attribute to the regular-guest’s libvirt xml file, and start the guest.
# virsh capabilities | virsh cpu-baseline /dev/stdin <cpu match='exact'> <model>Penryn</model> <vendor>Intel</vendor> <feature policy='require' name='dca'/> <feature policy='require' name='xtpr'/> <feature policy='require' name='tm2'/> <feature policy='require' name='vmx'/> <feature policy='require' name='ds_cpl'/> <feature policy='require' name='monitor'/> <feature policy='require' name='pbe'/> <feature policy='require' name='tm'/> <feature policy='require' name='ht'/> <feature policy='require' name='ss'/> <feature policy='require' name='acpi'/> <feature policy='require' name='ds'/> <feature policy='require' name='vme'/> </cpu>
The o/p of the above cmd has a variety of options. Since we need only vmx extensions, I tried the simple way by adding to the regular-guest’s libvirt xml(virsh edit ..) and started it.
<cpu match='exact'> <model>core2duo</model> <feature policy='require' name='vmx'/> </cpu>
Thanks to Jiri Denemark for the above hint. Also note that, there is a very detailed and informative post from Dan P Berrange on host/guest CPU models in libvirt.
As we enabled vmx in the guest-hypervisor, let’s confirm that vmx is exposed in the emulated CPU by ensuring qemu-kvm is invoked with -cpu core2duo,+vmx :
[root@physical-host ~]# ps -ef | grep qemu-kvm qemu 17102 1 4 22:29 ? 00:00:34 /usr/bin/qemu-kvm -S -M pc-0.14 -cpu core2duo,+vmx -enable-kvm -m 3072 -smp 3,sockets=3,cores=1,threads=1 -name f16test1 -uuid f6219dbd-f515-f3c8-a7e8-832b99a24b5d -nographic -nodefconfig -nodefaults -chardev socket,id=charmonitor,path=/var/lib/libvirt/qemu/f16test1.monitor,server,nowait -mon chardev=charmonitor,id=monitor,mode=control -rtc base=utc -no-shutdown -drive file=/export/vmimgs/f16test1.img,if=none,id=drive-virtio-disk0,format=raw,cache=none -device virtio-blk-pci,bus=pci.0,addr=0x4,drive=drive-virtio-disk0,id=virtio-disk0,bootindex=1 -netdev tap,fd=21,id=hostnet0 -device virtio-net-pci,netdev=hostnet0,id=net0,mac=52:54:00:e6:cc:4e,bus=pci.0,addr=0x3 -chardev pty,id=charserial0 -device isa-serial,chardev=charserial0,id=serial0 -usb -device usb-tablet,id=input0 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x5
Now, let’s attempt to create a nested guest
Here comes the more interesting part, the nested-guest config. will be 2G RAM; 1vcpu; 8GB virtual disk. And let’s invoke a virt-install cmdline with a minimal kickstart install:
[root@regular-guest ~]# virt-install --connect=qemu:///system \ --network=bridge:virbr0 \ --initrd-inject=/root/fed.ks \ --extra-args=ks=file:/fed.ks console=tty0 console=ttyS0,115200 serial rd_NO_PLYMOUTH \ --name=nested-guest --disk path=/var/lib/libvirt/images/nested-guest.img,size=6 \ --ram 2048 \ --vcpus=1 \ --check-cpu \ --hvm \ --location=http://download.foo.bar.com/pub/fedora/linux/releases/16/Fedora/x86_64/os/ --nographics Starting install... Retrieving file .treeinfo... | 1.7 kB 00:00 ... Retrieving file vmlinuz... | 7.9 MB 00:08 ... Retrieving file initrd.img... 28% [============== ] 647 kB/s | 38 MB 02:25 ETAvirt-install proceeds fine(to a certain extent), doing all regular things like getting access to network, create devices, create file-systems, dep checks performed, and finally package install proceeds:
Welcome to Fedora for x86_64 ┌─────────────────────┤ Package Installation ├──────────────────────┐ │ │ │ │ │ 24% │ │ │ │ Packages completed: 52 of 390 │ │ │ │ Installing glibc-common-2.14.90-14.x86_64 (112 MB) │ │ Common binaries and locale data for glibc │ │ │ │ │ │ │ └───────────────────────────────────────────────────────────────────┘And now, it’s stuck like that for ever. Doesn’t budge, trying to install pkgs for eternity. Let’s try to see what’s the state of the guest in a seperate terminal
[root@regular-guest ~]# virsh list Id Name State ---------------------------------- 1 nested-guest paused [root@regular-guest ~]# [root@regular-guest ~]# virsh domstate nested-guest --reason paused (unknown) [root@regular-guest ~]#
So our nested-guest seems to be paused, And package install on the nested-guest’s serial console is still hung. I gave up at this point. Need to try if I can get any helpful info w/ virt-dmesg tool aor any other ways to debug this further.
Just to note, there is enough disk space and memory on the ‘regular-guest’, so that case is ruled out here. And, I tried to destroy the broken nested-guest, and attempted to create a fresh one(repeated twice). Still no dice.
So not much luck yet with Intel arch, I’d have to try on an AMD machine.
UPDATE(on Intel arch): After trying a couple of times, I was finally able to ssh to the nested guest, but, after a reboot, the nested-guest loses the IP rendering it inaccessible.(Info: the regular-guest has a bridged IP, and nested-guest has a NATed IP) . And I couldn’t login via serial-console, as it’s broken due to a regression(which has a workaround). Also, refer to comments below for further discussion on NATed networking caveats.
January 14, 2012 12:57 PM -
I wanted to experiment with Ruby bindings of Apache Qpid.
Lets install the the server and client:
$ sudo yum install qpid-cpp-server ruby-qpid qpid-tools $ service qpidd start
Now check which version of Ruby bindings have we installed here:
$ rpm -qi ruby-qpid Name : ruby-qpid Version : 0.8 Release : 2.fc15 Architecture: x86_64 Install Date: Fri 13 Jan 2012 06:21:55 PM IST Group : Development/Ruby Size : 219877 License : ASL 2.0 Signature : RSA/SHA256, Wed 27 Jul 2011 06:41:06 PM IST, Key ID 067f00b6a82ba4b7 Source RPM : ruby-qpid-0.8-2.fc15.src.rpm Build Date : Wed 09 Feb 2011 03:48:16 PM IST Build Host : x86-11.phx2.fedoraproject.org Relocations : (not relocatable) Packager : Fedora Project Vendor : Fedora Project URL : http://qpid.apache.org/ Summary : Ruby language client for AMQP Description : The Apache Qpid project's Ruby language client for AMQP.
Okay, now lets create a simple script and send some messages.
#!/usr/bin/ruby # file: qpid-test.rb require 'qpid' host = "localhost" port = 5672 address = "amq.topic" spec_marshal_file = "/usr/lib/ruby/site_ruby/1.8/qpid/spec_cache/amqp.0-10-qpid-errata.rb_marshal" spec_object = Marshal.load(File.open(spec_marshal_file).read()) socket = TCPSocket.new(host, port) connection = Qpid::Connection.new(socket, :spec => spec_object) puts "Connection instance created..." connection.open puts "Connection instance opened..." session = connection.create_session puts "Session initiated..." receiver = session.create_receiver address puts "Receiver object created..." sender = session.create_sender address puts "Sender object created..." sender.send Qpid::Message.new :content => "Hello world!" message = receiver.fetch Qpid::Messaging::Duration::SECOND puts "#{message.content}" session.acknowledge connection.closeOn running the script we should get a “Hello world!” message.
$ ruby qpid-test.rb Connection instance created... qpid-test.rb:13qpid-test.rb:13: [BUG] Segmentation fault ruby 1.8.7 (2011-06-30 patchlevel 352) [x86_64-linux] Aborted (core dumped)
This is not what we expected. What is wrong here? Perhaps a bug in the Ruby bindings.
Then I went to the source code repository of Ruby bindings on github.com:
https://github.com/apache/qpid/tree/trunk/qpid/cpp/bindings/qpid/ruby
According to the instructions I installed the latest bindings:
$ sudo gem install qpid
And removed the one I installed earlier
$ yum erase ruby-qpid
Now thats funny because the gem I ended up installing using the command is:
QPID (Queriable Patient Inference Dossier, developed at Massachusetts General Hospital), which is not even related to Apache Qpid.
How am I supposed to installed the latest Ruby bindings for Apache Qpid client?
January 14, 2012 11:14 AM -
Hi all,
Wish you all a very happy and prosperous new year 2012 !!!
Wikimedians in Bangalore cordially invites you to attend the Wikipedia 11th anniversary celebrations in Bangalore !
15th January 2012 is the 11th Anniversary of Wikipedia !
The Wikimedia India Chapter turned one year on 3rd Jan 2012 !
Join us to celebrate the Wikipedia anniversary at the 41st Wiki-meetup in Bangalore.
And Cake – cutting too !
Date : Sunday, 15-January-2012 Time: 4:00 PM IST
Venue : The Centre for Internet and Society, No. 194, , 2nd ‘C’ Cross, 4th Main Domlur 2nd Stage , Opposite to Domlur Club, Bangalore 560 071 Karnataka
Agenda :
Introductions.
Welcoming , and About Wikipedia 11 and other Wikipedia Projects
15 Minute Google hangout with all cities that are doing parallel events at the same time 4:30 PM
Wikimedia India Chapter – 1 year
Launch of Wikimedia Portals -
Cake Cutting
More details : http://wiki.wikimedia.in/WikiMeetups/Bangalore/Bangalore41
https://www.facebook.com/events/327765823923926/ ( Facebook invite)7 other Indian cities are also celebrating …. Are you attending? http://wiki.wikimedia.in/Eleven
Regards
Tinu Cherian( P.S. Feel Free to forward this to your friends, colleagues and other possibly interested mailing lists)
January 14, 2012 08:12 AM -
#Transifex now supports comments in Apple .strings i18n files. Only /* foo */ style comment in the line preceding the key value pair in the source file is saved as a comment for the key. The example below will explain this in a better way:
/*Comment for key1*/ "key1" = "value 1"; /* This comment will not be included in key2*/ /* comment for key2*/ "key2" = "value 2"; /* this comment will not be included in key3*/ "key3" = "value 3";
Well, I’m pretty sure that the above snippet explains which comments from source Apple .strings file are saved by Transifex. You can see the comment for a source string in its “Details” section in Lotte.
January 13, 2012 12:16 PM









