Difference between pages "User:Drobbins/Resume" and "Package:Irssi"

From Funtoo
< User:Drobbins(Difference between pages)
Jump to navigation Jump to search
 
 
Line 1: Line 1:
= Daniel Robbins =
{{Ebuild
__NOEDITSECTION__
|Summary=A modular textUI IRC client with IPv6 support.
__NOTOC__
|CatPkg=net-irc/irssi
__NOTITLE__
|Maintainer=
== Profile ==
|Homepage=http://www.irssi.org/
}}


I am the creator of the Gentoo Linux operating system, an experienced architect of large-scale technology efforts, a strong Open Source project leader, a skilled software developer, and an accomplished technical writer.
=== Description ===
irssi is a small command line IRC client based on ncurses. It's a great thing to use when you SSH into a server, or just simply for your main IRC client.  


I have made significant contributions at a number of organizations, including E*TRADE Financial and Microsoft Corporation. I have written many popular articles for IBM developerWorks and Intel Developer Services, and my writing has also appeared in C/C++ Users Journal.
=== Installation ===
The install of irssi is pretty straight forward. There are not many USE flags, but one that is worth looking at is the {{c|SSL}} flag. This enables you to use SSL when connecting to servers.
{{console|body=
###i## echo "net-irc/irssi ssl" >> /etc/portage/package.use
###i## emerge irssi
}}
=== Using irssi ===
Using irssi initially can be a little intimidating if you're not used to command line programs. To first start irssi, you just simply run:
{{console|body=
$ ##i##irssi
}}
There are flags you can pass to the command line while starting irssi, such as:
{{console|body=
$ ##i##irssi -n mynick -c irc.freenode.org
}}
This would connect you to Freenode with the nick 'mynick'. Or alternatively you can just run the {{c|irssi}} command and connect via SSL if you need to:
{{file|body=
/connect -ssl irc.freenode.org
}}
This will automatically connect you over port 6697.  


== Experience ==
When you have connected to the server of your choice, you can join a channel simply by:
{{file|body=
/j #funtoo
}}
If you want to leave any channel you've entered you can use the {{c|part}} command:
{{file|body=
/part #funtoo reasons...
}}
There are a few ways of navigating through your channels, you can use {{c|alt+<nowiki>{1-9}{q-p}</nowiki>}}, or alternatively you can use the {{c|window}} command that is in irssi:
{{file|body=
/window 1
/window 2
/window 3
}}
For as many channels you are apart of.


=== MediaWiki Consultant, WikiWorks; Jan 2014 - Present ===
When you're ready to leave, you can simply type in:
{{file|body=
/exit
}}
Which will close out connections to the IRC networks you've joined, and take you back to your console window.
=== Themes and scripts ===
==== Scripts ====
There are a few things you can do to make irssi look a little bit better and add some cool features. There are a few plugins that are pretty useful, such as {{c|fnotify.pl}} which is a script that utilizes {{f|libnotify}} to send you popup notifications for when your nick is pinged or you are sent a private message.


Expertise in deploying, developing and maintaining MediaWiki and Semantic MediaWiki. LDAP/Active Directory integration, MediaWiki extension development, Wiki farm architecture.
{{file|name=fnotify.pl|lang=perl|desc=fnotify.pl|body=
# todo: grap topic changes


===Open Source Strategy Lead, Zenoss, Inc.; Austin, TX - Dec 2011 - Jan 2014 ===
use strict;
use vars qw($VERSION %IRSSI);


Led Open Source efforts, including Zenoss Core architecture, community management and Open Source
use Irssi;
release coordination. Architected new community infrastructure based on Semantic MediaWiki. Created
$VERSION = '0.0.3';
authoritative online catalog of all community ZenPacks. Created auto-build system for ZenPacks. Advised
%IRSSI = (
Zenoss on Open Source and licensing issues and advanced Open Source initiatives throughout the company
authors    => 'Thorsten Leemhuis',
contact    => 'fedora@leemhuis.info',
name        => 'fnotify',
description => 'Write a notification to a file that shows who is talking to you in which channel.',
url        => 'http://www.leemhuis.info/files/fnotify/',
license    => 'GNU General Public License',
changed    => '$Date: 2007-01-13 12:00:00 +0100 (Sat, 13 Jan 2007) $'
);


===Senior Network and Application Performance Engineer, OPNET; Albuquerque, NM - Aug 2009 - Dec 2011 ===
#--------------------------------------------------------------------
Part of OPNET's Professional Services division. Sole developer and architect of an advanced, visual browser-based datacenter facilities and capacity management system for a large government agency with 1500+ servers and datacenters in multiple US locations. Integrated server utilization data from multiple sources. Delivered advanced reporting, planning and analysis capabilities to the organization.
# In parts based on knotify.pl 0.1.1 by Hugo Haas
# http://larve.net/people/hugo/2005/01/knotify.pl
# which is based on osd.pl 0.3.3 by Jeroen Coekaerts, Koenraad Heijlen
# http://www.irssi.org/scripts/scripts/osd.pl
#
# Other parts based on notify.pl from Luke Macken
# http://fedora.feedjack.org/user/918/
#
#--------------------------------------------------------------------


===President, Funtoo Technologies; Albuquerque, NM - 2006 to Present===
#--------------------------------------------------------------------
Open Source consulting. Created Funtoo Linux, an advanced Gentoo Linux variant. Serving as Project Lead and responsible for managing Core development team. Implemented all core Funtoo technologies including Metro automated build system, automated git-based merge process, boot-update unified boot loader management system, and others.
# Private message parsing
#--------------------------------------------------------------------


===Senior Principal, E*TRADE Financial; Menlo Park, CA (remote) - Aug 2007 to June 2009===
sub priv_msg {
Primary architect of E*TRADE’s virtualization strategy for development and production-focused workloads. Performed applied research and development related to virtual container build automation, high-performance virtualization and Open Source collaborative efforts. Participation in E*TRADE’s architectural review and standards development process.
my ($server,$msg,$nick,$address,$target) = @_;
filewrite($nick." " .$msg );
}


===Vice President, Engineering, FSMLabs, Inc.; Socorro, NM - 2006 - 2007===
#--------------------------------------------------------------------
Architected the 5.0 release of FSMLabs RTLinuxPro hard real-time OS development kit with support for x86, x86-64, PowerPC, MIPS and ARM architectures. Designed a modern package management system for managing the FSMLabs user-space application stack, and updated cross-compiler tool chain. Created RTLinuxPro for Windows virtual machine runtime. Integrated open source RTSP/RTP streaming media (MPEG-2/4) stack into RTLinuxPro.
# Printing hilight's
#--------------------------------------------------------------------


===Chief Technology Officer, ABC Coding Solutions; Albuquerque, NM - Jan 2006 - July 2006===
sub hilight {
Architected, developed, and deployed a HIPAA-compliant Web-based medical billing application featuring support for CPT, HCPCS and the proposed ABC procedure code set. Performed extensive SQL Server 2000 to 2005 data migration work. Architected an encrypted XML-based data storage layer in C#/ASP.NET 2.0. Designed suite of ASP.NET 2.0 controls to utilize XML-based encrypted data storage layer. Integrated AJAX functionality into Web application and hardened application prior to deployment.
    my ($dest, $text, $stripped) = @_;
    if ($dest->{level} & MSGLEVEL_HILIGHT) {
filewrite($dest->{target}. " " .$stripped );
    }
}


===Program Manager, Microsoft Corporation; Redmond, WA - 2005 to 2006===
#--------------------------------------------------------------------
Responsible for contributing to Microsoft’s Open Source/Shared Source strategy and overseeing the daily operations of Microsoft’s Linux lab. Technical responsibilities included overseeing competitive analysis and technical tear-downs, Linux/Windows interoperability testing, and intra-Microsoft educational efforts.
# The actual printing
#--------------------------------------------------------------------


Contributed to Microsoft’s Shared Source licensing strategy. Tracked emerging Open Source trends and projects. Gained wide exposure to Microsoft technologies including Microsoft .NET, Windows Vista and Windows Vista device driver development. Met one-on-one with various technical luminaries throughout the company.
sub filewrite {
my ($text) = @_;
# FIXME: there is probably a better way to get the irssi-dir...
        open(FILE,">>$ENV{HOME}/.irssi/fnotify");
print FILE $text . "\n";
        close (FILE);
}


===Chief Architect, Gentoo Linux; Albuquerque, NM - 1999 to 2005===
Irssi::signal_add_last("message private", "priv_msg");
Project Creator, Chief Architect and Project Lead of large, distributed international Gentoo development team. Architected all core Gentoo Linux technologies and tools including Portage, Gentoo’s dependency-based system initialization scripts, and catalyst, Gentoo's high-level automated release-building tool. Directed Gentoo Linux releases and all technology development. Authored all original Gentoo Linux documentation and designed XML/XSLT-based Web site. Designed all Gentoo artwork and logos. Established not-for-profit Gentoo Foundation, Inc. to serve as a container for all Gentoo Linux IP.
Irssi::signal_add_last("print text", "hilight");


===Regular Columnist, IBM developerWorks, 2000 to 2003 ===
#- end
Author of critically acclaimed Linux and Unix-related technical articles geared towards developers and IT professionals.
}}
Another very useful script is for colored nicks, to better tell people apart. Which can be found at [http://scripts.irssi.org irssi scripts] called {{f|nickcolor.pl}}. 
 
When you have the scripts you would like you would put them into {{f|~/.irssi/scripts}} and set a link to {{f|~/.irssi/scripts/autorun}}.
{{console|body=
$ ##i##wget -O ~/.irssi/scripts/nickcolor.pl http://scripts.irssi.org/scripts/nickcolor.pl
$ ##i##cd ~/.irssi/scripts/autorun
$ ##i##ln -s ~/.irssi/scripts/nickcolor.pl .
$ ##i##ln -s ~/.irssi/scripts/fnotify.pl .
}}
You can do this for as many scripts as you've chosen to use. They will automatically load when you start irssi. You can also manually load scripts:
{{file|body=
/load ~/.irssi/scripts/fnotify.pl
Irssi: Loaded script fnotify
}}
Whichever works best for you is what you should do.
==== Themes ====
You can choose from many themes on the [http://irssi.org/themes irssi themes] page if you don't like the default look of it. Once you've chosen the them you like, you can simply put it in your {{f|~/.irssi/}} directory and when you run just run:
{{file|body=
/set theme mycooltheme
}}
And there you have it, the theme you have chosen is now there.
=== Conclusion ===
irssi is a great IRC client, and really helpful if you spend a lot of time in a terminal emulator or on a server.
 
== External Resources ==
[http://www.irssi.org/documentation Further documentation]
 
{{EbuildFooter}}
[[Category:IRC]]

Revision as of 07:49, January 22, 2015

Irssi

   Tip

We welcome improvements to this page. To edit this page, Create a Funtoo account. Then log in and then click here to edit this page. See our editing guidelines to becoming a wiki-editing pro.


Description

irssi is a small command line IRC client based on ncurses. It's a great thing to use when you SSH into a server, or just simply for your main IRC client.

Installation

The install of irssi is pretty straight forward. There are not many USE flags, but one that is worth looking at is the SSL flag. This enables you to use SSL when connecting to servers.

root # echo "net-irc/irssi ssl" >> /etc/portage/package.use
root # emerge irssi

Using irssi

Using irssi initially can be a little intimidating if you're not used to command line programs. To first start irssi, you just simply run:

user $ irssi

There are flags you can pass to the command line while starting irssi, such as:

user $ irssi -n mynick -c irc.freenode.org

This would connect you to Freenode with the nick 'mynick'. Or alternatively you can just run the irssi command and connect via SSL if you need to:

   
/connect -ssl irc.freenode.org

This will automatically connect you over port 6697.

When you have connected to the server of your choice, you can join a channel simply by:

   
/j #funtoo

If you want to leave any channel you've entered you can use the part command:

   
/part #funtoo reasons...

There are a few ways of navigating through your channels, you can use alt+{1-9}{q-p}, or alternatively you can use the window command that is in irssi:

   
/window 1
/window 2
/window 3

For as many channels you are apart of.

When you're ready to leave, you can simply type in:

   
/exit

Which will close out connections to the IRC networks you've joined, and take you back to your console window.

Themes and scripts

Scripts

There are a few things you can do to make irssi look a little bit better and add some cool features. There are a few plugins that are pretty useful, such as fnotify.pl which is a script that utilizes libnotify to send you popup notifications for when your nick is pinged or you are sent a private message.

   fnotify.pl (perl source code) - fnotify.pl
# todo: grap topic changes

use strict;
use vars qw($VERSION %IRSSI);

use Irssi;
$VERSION = '0.0.3';
%IRSSI = (
	authors     => 'Thorsten Leemhuis',
	contact     => 'fedora@leemhuis.info',
	name        => 'fnotify',
	description => 'Write a notification to a file that shows who is talking to you in which channel.',
	url         => 'http://www.leemhuis.info/files/fnotify/',
	license     => 'GNU General Public License',
	changed     => '$Date: 2007-01-13 12:00:00 +0100 (Sat, 13 Jan 2007) $'
);

#--------------------------------------------------------------------
# In parts based on knotify.pl 0.1.1 by Hugo Haas
# http://larve.net/people/hugo/2005/01/knotify.pl
# which is based on osd.pl 0.3.3 by Jeroen Coekaerts, Koenraad Heijlen
# http://www.irssi.org/scripts/scripts/osd.pl
#
# Other parts based on notify.pl from Luke Macken
# http://fedora.feedjack.org/user/918/
#
#--------------------------------------------------------------------

#--------------------------------------------------------------------
# Private message parsing
#--------------------------------------------------------------------

sub priv_msg {
	my ($server,$msg,$nick,$address,$target) = @_;
	filewrite($nick." " .$msg );
}

#--------------------------------------------------------------------
# Printing hilight's
#--------------------------------------------------------------------

sub hilight {
    my ($dest, $text, $stripped) = @_;
    if ($dest->{level} & MSGLEVEL_HILIGHT) {
	filewrite($dest->{target}. " " .$stripped );
    }
}

#--------------------------------------------------------------------
# The actual printing
#--------------------------------------------------------------------

sub filewrite {
	my ($text) = @_;
	# FIXME: there is probably a better way to get the irssi-dir...
        open(FILE,">>$ENV{HOME}/.irssi/fnotify");
	print FILE $text . "\n";
        close (FILE);
}

Irssi::signal_add_last("message private", "priv_msg");
Irssi::signal_add_last("print text", "hilight");

#- end

Another very useful script is for colored nicks, to better tell people apart. Which can be found at irssi scripts called nickcolor.pl.

When you have the scripts you would like you would put them into ~/.irssi/scripts and set a link to ~/.irssi/scripts/autorun.

user $ wget -O ~/.irssi/scripts/nickcolor.pl http://scripts.irssi.org/scripts/nickcolor.pl
user $ cd ~/.irssi/scripts/autorun
user $ ln -s ~/.irssi/scripts/nickcolor.pl .
user $ ln -s ~/.irssi/scripts/fnotify.pl .

You can do this for as many scripts as you've chosen to use. They will automatically load when you start irssi. You can also manually load scripts:

   
/load ~/.irssi/scripts/fnotify.pl
Irssi: Loaded script fnotify

Whichever works best for you is what you should do.

Themes

You can choose from many themes on the irssi themes page if you don't like the default look of it. Once you've chosen the them you like, you can simply put it in your ~/.irssi/ directory and when you run just run:

   
/set theme mycooltheme

And there you have it, the theme you have chosen is now there.

Conclusion

irssi is a great IRC client, and really helpful if you spend a lot of time in a terminal emulator or on a server.

External Resources

Further documentation