playing with vmware
lately i’ve been poking at vmware more as building kvm deployments is annoying and managing them sucks.
so i’ve played with the vmware ESX 3.5 and 4.1 deployments, which are pretty cool although a pain to manage as you have to run the thick client from a windows box, which gave me the opportunity to also mess with vmware fusion, which i’ll get to later. the ESX systems are pretty nice, but lacked some features that i thought would be givens; notably cloning/copying virtual machines. apparently you CAN do it, but it isn’t intuitive or quick, or at least not enough that building a template system and using that to spin up new servers was any better than my kvm method. and to be fair, it looks like the new versions they are rolling out can do exactly that.
other than that, the ESX stuff is pretty cool, and the hardware it runs on is pretty varied – i was able to use an couple of old dell servers that i had laying around.
i also tried setting up the non-ESX server that vmware puts out, but it refused to install at various points. further research showed that the installer scripts needed some fairly involved modifications to get past where i was stuck. i never was able to finish building that implementation out, but i’m still trying. honestly if building it is that hard, it might not be worth doing.
vmware fusion was pretty nice. i’ve used parallels in the past when i need to run a windows app, but that was a while back and i no longer have that setup. it was nice, but i usually don’t like having to jump into a VM just to run an app, so as much as i applaud vmware for making fusion work well, i have to criticize them for not having a mac version of their management software.
funny story : a day or so after i did all of that, i had to log into a machine that is only accessible by modem. i recently upgraded to os x lion, which apparently hates the apple modem i have, so i had to use my keyspan to connect to a USR hardware modem, and the windows environment i had from vmware was able to work great with that setup. so, yay.
dancing with perl
in the past couple of weeks, i’ve started looking into the dancer framework. so far, i like what i’ve seen.
the most obvious difference between this and, say, catalyst, has been the simpler nature and availability of server implementation documentation. it is also structured very much like my homebrewed framework i’ve been using for years, which made it relatively easy to jump into.
setting up an app with by-url authorization and simple authentication was really easy, and having public and private parts of an app is pretty simple as well. the really nice thing is that all the objects and packages i’ve written for other web apps will be able to plug into this with a minimum of fuss, so the migration pains will be relatively minor.
with this in mind, i’ve paused most of my ongoing projects while i look into porting all of the code over to this new framework. turns out this isn’t a huge problem as i’ve had a bad case of coder’s block lately. but this has gotten me excited about a couple of new projects i want to start, so i’m going to be digging into it a lot more over the next few weeks.
building a new mail server – planning
it has recently been heavily hinted to me that i might be tasked with building a new mail system soon, which got me thinking about how to do it better than i have before. i haven’t built a mail system from scratch in about a year, and there are some things i want to try that i either didn’t want to do last time, or didn’t have time to implement. my planning, design, and implementation process will be put here so that i have a future reference, and also in case it helps others.
Read more…
ruminations : network monitoring (data collection part one)
network monitoring is, in theory, a relatively simple thing : watch X for Y conditions, and tell Z what you find. most systems break this down into collection, analysis, and alerting. today i’m looking at data collection for monitoring systems.
Read more…
building an ubuntu 10.10 recursive DNS server
DNS servers are pretty simple things from a service standpoint, but can be annoyingly difficult to setup and configure if you aren’t used to it. the variety of packages, and options within those packages, makes this even more daunting. with that in mind, i’m going to cover just a couple of what i think are pretty useful options using bind9 on ubuntu 10.10, though the bind and OS version here aren’t too important and what i provide here will likely work with little change on similarly versioned platforms.
since i’m dealing with a recursive DNS server instead of an authoritative one, we won’t need to worry about many of the more complex options for bind, and we can have a pretty stock install work for us.
Read more…
iphive – demo
i’ve got a demo instance of iphive running, so if you want to see how it works feel free to email me and i can get you access to try it out. the demo is using the latest version of the code as of 2011.4.4 and is using private address space for the example database.
the next version is being written to accommodate IPv6, and will also have better user-accounting facilities to better track the who-does-what aspect of inventory management. at that time i’ll also be upgrading to the newest version of the mite framework, which will unlock a whole slew of possible enhancements and improvements.
Chart::Clicker
while working on my webgame project, i found myself wanting to graph some data. since i like perl, i poked about looking for the best module to use for this purpose, and rediscovered Chart::Clicker. i also remembered why some of the docs for it looked so familiar – i wrote them.
this is actually a pretty sweet module, though it isn’t exactly fast or easy to use. being slow is an issue with clicker that appears to have gotten better over the past couple of years, but it still isn’t snappy enough for live web usage in some cases. being hard to use is more a problem with charting software in general. that’s the curse of charting modules on cpan; none of them are easy to jump into. those that are pretty simple are either no longer maintained, or break once there’s a version increase in one of their dependencies.
i’m ok with each module having a different way of doing things; that’s why we have different modules. i’m even ok with some of them being undocumented, though this shouldn’t be taken to mean that’s a good thing. i can read the source if i have to, and 10% of the time i’ll actually get that far without discarding the module in frustration. examples of both code and the generated images are super useful for these modules, but only a couple actually seem to make that effort.
too bad, too. in my particular case i’ve tried three different modules for what i’m trying to do, and each one has some flaw that makes it undesirable for production deployment. this is the kind of thing that makes people roll their own and upload another charting kit.
fireverse
fireverse is a stellar conquest civ-type webgame. the current version (alpha6.2011.1.21) is written on top of the mite framework in perl, and uses mysql for a backend data model.
graphics are generated dynamically in svg format, though png conversion is available for those browsers that don’t support svg yet.
building an ubuntu 10.04 virtual server
having floundered through this a couple of times now, i’ve decided to write the process down so that i don’t have to spend half a day doing this each time. note that this is based on a basic ubuntu 10.04 server system with normal updates as of 2010.6.7.
Read more…