photo
Jordan Sissel
geek

Mon, 27 Mar 2006

Configuration file support added to moused and its modules

With the simple api that is getcap(3), moused and it's device modules will soon be able to be configurable from config files. The code is still in perforce to do this, however, and not on this site (at time of writing). A simple config file could be something like this:
synaptics:virtscroll:notouchpad:
This would modify options ONLY for the synaptics driver and enable "virtual scrolling" and disable the touchpad. Currently, only 'notouchpad' is supported (again, at time of writing).

I really want to add lots of options, mostly for synaptics support, but this would allow for some serious flexibility in mouse configuration. You can specify any kind of mouse you want and whatever config you please. Personally, I'd love to see an option to disable movement on the touchpad, and only allow the touchpad to be used for scrolling. Furthermore, allow me to decrease the sensitivity of the touchpad so that near-finger touches and palm touches don't trigger scrolling.

Wee! I love programming for fun. Makes me glad I'm not going to ever be a software developer. I like to code for myself and for my own goals.

Comments: 0 (view comments)
Tags: , ,
Permalink: /geekery/moused-config_added
posted at: 23:50

Sun, 26 Mar 2006

Finding multiplicative inverses using perl

perl -le 'while (++$x) { print $x and exit if (($ARGV[0] * $x) % $ARGV[1] == 1) }' -- -215 26

Comments: 0 (view comments)
Tags: , ,
Permalink: /oneliners/multiplicative-inverse
posted at: 17:35

Content mostly moved

I woke up at 1am and my body decided it was time to be awake. So, it's now almost 5am. From what I can tell, I'm finished moving data and fixing problem with the projects and articles sections.

The only changes left are to update the older entries with link and formatting fixes. Whew! Good thing there's only 150+ entries to look at. </sarcasm>

I may write a quick wrapper using mod_(perl|python|whocares) around pyblosxom to do page caching. There's no sense in regenerating a page (running python, reading files, etc) every time a page hit occurs. There are caching abilities in pyblosxom itself, but neither cache method (pickle or shelve) actually made page loads faster in testing.

If you have comments about the new site, let me know.

Comments: 0 (view comments)
Tags:
Permalink: /site/sitemove3
posted at: 05:14

Sat, 25 Mar 2006

pam_captcha 1.2 updated

This update fixes a few potential bugs and cleans up some other issues. I removed the 'cowsay' requirement and made the math and dda captchas compile-time options.

Check out the project page for information on pam_captcha and downloading it.
pam_captcha

Comments: 0 (view comments)
Tags: , ,
Permalink: /geekery/pam_captcha-1.2
posted at: 14:29

A few steps closer to done

Spent lots of time today updating content, fixing links, etc. I rewrote most of my about section, seeing as how I haven't done so in a very long time.

I'm starting to really like the new layout I've made. It feels a bit more relaxed and less rigid than the old layout.

I also spent a few hours of boredom playing in Gimp making a cute, running, stick man icon to go with my "halfway to the finish line" tag line. As I've said before, attempting to do precision mouse movement with a mouse nipple (trackpoint) is very taxing.

There's still lots of content (100+ posts, and other stuff) that needs to be updated to fix links and other issues. I'm hoping to have everything done by the end of the weekend.

Comments: 0 (view comments)
Tags:
Permalink: /site/sitemove2
posted at: 05:53

Thu, 23 Mar 2006

Site move almost done

Spent a bit playing with pyblosxom and such. It's crazy easy to setup. It meets my requirements in that it lets me post things, has useful plugins I want to use, and doesn't require a massive database system.

There's still lots to do:

  • Write a new script to let me post things with my own metadata
  • Integrate CVS/SVN repo information?
  • Add projects and articles sections
  • integrate project and article pages somehow into the blog.

Comments: 1 (view comments)
Tags: ,
Permalink: /site/sitemove-almostdone
posted at: 23:38

Site move soon, perhaps.

I'll be moving this site to my new domain as soon as I get things setup there. I won't bother disclosing the name at this point, seeing as how there's nothing there.

As a hint, however, I will say I came up with the name using this perl one-liner:

perl -Mre=eval -ne 'print if m/^s(.)(??{"[^$1]+$1"}){2}$/' words
(are your eyes bleeding, yet?)

That regex will find all valid sed substitution expressions in the file 'words' (freebsd's dictionary file). So, anything printed by that perl code will be valid as a sed command. ie: "streetlet" is valid as

% echo "ree" | sed -e "streetlet"
le
I learned a new word in the process of running this script. syzygy

Nothing quite like using perl to choose a domain name for you. Yeah, I'm a dork.

Comments: 1 (view comments)
Tags: ,
Permalink: /site/sitemove
posted at: 15:26

Sat, 18 Mar 2006

Grok and other plans

As a sysadmin, I get the privilege of sifting through piles of logs to find anomalies. Logs are great. However, I don't have time to sift through every log looking for data worth reading. I'd much prefer having only the data I want to see displayed to me. Most of the time log audits are an all-or-nothing activity - either you look at all of the data, or you look at none of the data. Looking at all the data takes more time than it should, and ignoring data can be hazardous (especially when tracking problems down).

Some time ago, I began a very long process of taking the massive quantities of data and having a machine process them for me. Spend a bit of time up-front to determine what data is definitely meaningful and let the computer handle the rest. The computer needs to process the raw data and display the data to me in a meaningful and readable format. Such formats include trend graphs, log summaries, and anomaly detection. Trend graphs are simple to do, assuming you have numeric data. Log summaries are easy if you know how and what you want to summarize. Anomalies are easy to detect if you know what you're looking for, or declare "anything unknown is badwrong... or badong."

Grok is the first step in having raw data turned into something easily readable. The next step is writing some magic software piece that lets me store arbitrary data (log entries, counters, key->value pairs, etc), possibly by date. This way, you can take grok's parsing ability and turn it into stored content. Now that you'll have super megatastic parsed log data, you'll want to turn it into something more human-meaningful - graphs or summaries. That's the 3rd piece.

So anyway, I got bored and started playing with Visio (generously provided by RIT's CS dept, ofcourse), and I came up with a little diagram of what I want grok and it's sister tools to do. The yellowish items are things I'll be writing. The rest aren't really software so much as stuff that happens. Here's a pretty diagram complete with a useful description of a "brick thing" -

In summary. Data (logs, etc) are extremely noisy. Use grok and other tools to turn raw data into useful data for you. This will keep you reading your logs aswell as keeping you sane. See how happy the sysadmins are? The smiley faces indicate happiness... I promise.

Comments: 0 (view comments)
Tags:
Permalink: /geekery/222
posted at: 21:04

Tue, 07 Mar 2006

logwatcher renamed to grok. Grok 1.0 release.

I've been working on a fury of new features and fixes for the now-named Grok project. I'm almost done adding new features and I figured it was time to make a release. Head over to the Grok page and play with it if you want.

It is definately production-ready, as far as I can tell. If you use logwatch, swatch, logsentry, or any other log auditing software, then give grok a shot. I guarantee it is better. If it isn't, tell me what you like about the others and I'll add those features.

Comments: 0 (view comments)
Tags:
Permalink: /geekery/221
posted at: 15:08

Search this site

Navigation

Metadata

Home About Resume My Code (SVN)

Articles

ARP Security Dynamic DNS with DHCP OpenLDAP+Kerberos+SASL PPP over SSH SSH Security: /bin/false Week of Unix Tools Work Efficiency

Projects

fex firefox tabsearch firefox urledit grok keynav liboverride newpsm (FreeBSD) nis2ldap pam_captcha poor man's backup Solaris audio utility xboxproxy xdotool xmlpresenter xpathtool misc scripts

Presentations

Yahoo! Hack Day '06 Unix Essentials Vi/Vim Essentials

Tag Cloud

Calendar

< March 2006 >
SuMoTuWeThFrSa
    1 2 3 4
5 6 7 8 91011
12131415161718
19202122232425
262728293031 

Friends

BarCamp Kent Brewster Tantek Çelik John Resig Wesley Shields Tyler Shields

Technorati