User:Weibullguy

From CBLFS
Revision as of 23:11, 7 April 2007 by Weibullguy (talk | contribs)
Jump to navigationJump to search

CBLFS Tools

Script to help you create a table of installed files to put in the Wiki. Requires InstallWatch to create the log file for input.

http://webpages.charter.net/weibullguy/tarballs/weibullwatch-0.3.tar.bz2

Who Is This Weibullguy?

Weibull - continuous distribution of a random variable proposed by Wallodi Weibull. Guy - male of the human species.

Me - Electrical Engineer undergraduate, Statistics graduate, work as a Reliability/Safety engineer at an aerospace/defense company. Previously worked as the same at a commercial nuclear plant. Current interests include repairable systems analysis, Kijima Type I and Type II models, and system optimization under imperfect repair.

I analyze failure and repair data to estimate parameters of the distribution(s) describing system and component failure times. This is often refered to as Weibull analysis (although there are many other distributions used). Hence, Weibullguy. Now you know.

In response to a post I saw on one of the mailing lists, "I don't have a clue who all the devs at CBLFS are. They all use some stage-names." Here is my abbreviated resume, none of which actually qualifies me as a software developer. Consider that the grain of salt with which to take my entries.

Andrew Rowland

Work Experience

2006 - Present Reliability and Safety Engineer Smiths Aerospace, Digital Systems Grand Rapids, MI

1999–2006 Reliability Program Owner American Electric Power, Donald C. Cook Nuclear Plant Bridgman, MI

1996–1999 Electrical & Instrumentation Engineer Fort James Packaging Kalamazoo, MI

1990–1996 Reactor Operator United States Navy Various Exotic Locations

Education

B.S., Electrical Engineering Western Michigan University Kalamazoo, MI

M.S., Applied Statistics Western Michigan University Kalamazoo, MI

Libnotify Examples

libnotify is useful for generating pop-up notifications. These notifications are simple to implement using shell scripts or C/C++ code.

Shell Scripts

Shell scripts can use the following function to generate pop-up messages. This is a handy function to use in scripts that are executed by cron.

showMessage(){

    user=`whoami`
    pids=`pgrep -u $user xfce4-session`   # Replace xfce4-session with your session manager.

    icon=$1	
    urgency=$2
    timeout=$3
    title=$4
    text="$5"     # The " around this argument are critical if the message has spaces.
                      # Otherwise only the first word will be displayed.

    # Find DBUS session bus for this session
    DBUS_SESSION_BUS_ADDRESS=`grep -z DBUS_SESSION_BUS_ADDRESS \
        /proc/$pids/environ | sed -e 's/DBUS_SESSION_BUS_ADDRESS=//'`

    # Now use it to send the notification
    DBUS_SESSION_BUS_ADDRESS=$DBUS_SESSION_BUS_ADDRESS \
    notify-send -i $icon -u $urgency -t $timeout "$title" "$text"

}

C/C++

Include the notify header in your project and the following function to generate pop-up notifications in your application. This is a useful alternative for warning and non-critical error messages since it requires no user interaction.

#include <libnotify/notify.h>

int main(int argc, char *argv[])
{

    char *title = "Reminder";
    char *text = "CLFS is for real Linux users";
    char *icon = "/usr/share/icons/gnome/16x16/emblems/emblem-important.png"

    NotifyNotification *n;

    notify_init("Basics");
    n = notify_notification_new (title, text, icon, NULL);

    notify_notification_set_timeout (n, 5000); // 5 seconds

    if (!notify_notification_show (n, NULL))
    {
         fprintf(stderr, "Failed to send notification\n");
         return 1;
    }

    g_object_unref(G_OBJECT(n));

    return 0;

}