Smart ps
Just a minor Linux hack. You can override ps command to get rid of the usual | grep -v grep.
Define your own ps version in /usr/local/bin:
#!/bin/bash
/bin/ps $@ | grep -v -e "^.* \+.\+ $$ \+.*" | grep -v grep
Don't forget to make it executable, but make sure you have complete control of the basic commands you execute, since overriding commands such as ps is the first thing to do when implementing rootkits.
Updated on 02/14/08 20:40:34
QueryJ screencast
I recorded a screencast that describes the methodology we use at Ventura24 regarding designing, modelling and accessing persistence layers from an application.
I'd have wished to spend more time explaining QueryJ in particular, but it was only part of what we wanted to describe. Anyway, you can enjoy the QueryJ experience without installing it :).
The screencast is 50-minute long, and take into account I'm not as fluent in english as I'd like.
There're two versions, the original (1280x1024), in both ogg format, and one adapted for ipod.
In any case, I'd be glad to hear about your comments.
Files:
- Screencast in Theora (video) + Ogg Vorbis (audio) screencast.ogg.
- Screencast converted for watching in iPods screencast.ipod.mp4.
- Screencast in MP4 format screencast.mp4.
Updated on 02/12/08 07:01:48
QueryJ screencast
I recorded a screencast that describes the methodology we use at Ventura24 regarding designing, modelling and accessing persistence layers from an application.
I'd have wished to spend more time explaining QueryJ in particular, but it was only part of what we wanted to describe. Anyway, you can enjoy the QueryJ experience without installing it :).
The screencast is 50-minute long, and take into account I'm not as fluent in english as I'd like.
There're two versions, the original (1280x1024), in both ogg format, and one adapted for ipod.
In any case, I'd be glad to hear about your comments.
Updated on 11/01/07 21:47:13
As you may already know, the main development of QueryJ is right now being pushed by Ventura24 requirements.
We are including more features as soon as we find nice-to-haves. First, the query validation, the customization of templates to make Spring be aware of heterogeneous transactions (Connection/DataSource), some performance improvements, and so on.
Lately I made QueryJ support a dsl to support logical statements as part of the comments of the physical table model.
So far, the following statements are interpreted:
Used to improve performance by avoiding the need to access the database to operate on certain static tables, such as typecodes. This keyword makes QueryJ generate constants in the Java side with the contents of the table, at development time. The column-name is used to build the constant name.
Identifies the table as a child of given one. This means it inherits parent's attributes and relationships, besides its own.
(...)
Blog/podcast thoughts
I read somewhere the average lifetime of a blog is 6 months.
Despite I write less often lately, and that my posts are brief explanations of simple scripts or news, I plan not to stop writing.
Now I'm not sure whether using Trac as blogging system fulfills my needs. I don't really care about formatting too much, so wiki-like format support is enough for me. The important thing is RSS. I'll go on with current deployment, since anyway I don't think I have enough hardware resources to install a separate blogging system.
The reason why I wanted to start blogging has not changed: I still like to share some opinions, thoughts, or pieces of work. At first it can be a little embarassing, but it also pays back.
So I'll try to retake some unfinished topics. But during last year, I've become a podcast addict
Error: Failed to load processor FootNoteNo macro or processor named 'FootNote' found
, even though all I listen is in english and I don't understand everything since it's not my mother language.
(...)
Updated on 07/22/07 09:08:28
Server moved to Atlanta
The websites for www.acm-sl.org, svn.acm-sl.org, and www.acm-sl.com have now moved to a remote UML-based hosting.
The server is not full of resources, but now that I can compare I think the bottleneck was my home ADSL connection.
Let's hope hosting provider offers vserver-patched uml-compatible kernels someday soon...
Updated on 07/21/07 10:09:23
Script to display inline descriptions of USE flags from emerge -uv output
When updating a gentoo system, knowing what are each USE flag for is important.
USE flags affect how each package is built, whether it includes support for optional features, and so on.
For that reason, I pay attention to each flag. It makes me constantly grepping /usr/portage/profiles/use.* to know what is the meaning of each flag.
I've created a script to parse emerge -uv output and display the description of each affected flag, so that you can setup your /etc/portage/package.use/ file accordingly.
If you're interested, you can find it here.
Script to sort USE flags
When updating my system, mplayer got affected, and I found out that I already had a number of USE flags defined in my /etc/portage/package.use/mplayer.
I like to maintain the USE flags sorted alphabetically, so I decided to write a simple script to do it for me.
If you're interested, you can find it here.
Updated on 07/07/07 16:36:45
Unhiding custom entries in /proc in vservers
I use vservers very often. They are easy to maintain and to deploy, and allow clean environments for servers with different purposes, avoiding the need to invest money on hardware resources.
I recently installed Oracle on a vserver, and got some errors from the Enterprise Manager application saying:
java.lang.Exception: Cannot read /proc/partitions
I noticed that such file was not unhidden by vprocunhide script. Such script uses two configuration files (in given order):
- /etc/vservers/.defaults/apps/vprocunhide/files
- /usr/lib/util-vserver/defaults/vprocunhide-files
The format is simple: each line points to a file in /proc to unhide. You can actually hide them, prepending a - character.
Refer to the actual source code for /usr/lib/util-vserver/vprocunhide to get the full options and syntax.
In our context, we just need to
mkdir -p /etc/vservers/.defaults/apps/vprocunhide/
(...)
Updated on 06/14/07 06:38:17
Firefox Add-ons
I've just created a page with Firefox Add-ons, their links and brief descriptions, so that I can evaluate them and have an homogeneous toolset in all computers.
Take a look if you're interested: firefox-addons.