<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
<?xml-stylesheet type="text/css" href="http://localhost/please/edit/me/styles/feed.css"?>


<title type="html">ΔΕΞΑΙ!</title>
<subtitle type="html"></subtitle>
<link rel="alternate" type="text/html" href="http://localhost/please/edit/me"/>
<link rel="self" type="application/atom+xml" href="http://localhost/please/edit/me/atom.xml"/>
<updated>2011-09-29T16:47:37-04:00</updated>
<author>
<name>A Crazed Howler Monkey</name>
<uri>http://localhost/please/edit/me</uri>
</author>
<id>http://localhost/please/edit/me/</id>
<generator uri="http://nanoblogger.sourceforge.net" version="3.4 RC2">
NanoBlogger
</generator>

<entry>
<title type="html">OpenSSH LDAP public key patch</title>
<author>
<name>A Crazed Howler Monkey</name>
</author>
<link rel="alternate" type="text/html" href="http://localhost/please/edit/me/archives/2011/05/12/openssh_ldap_public_key_patch/index.html"/>

<id>http://localhost/please/edit/me/archives/2011/05/12/openssh_ldap_public_key_patch/index.html</id>
<published>2011-05-12T23:01:00-04:00</published>
<updated>2011-05-12T23:01:00-04:00</updated>

<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
In case anyone is interested, here is an updated lpk patch for openssh 5.8p2.
It is a little different from previous patches because it handles whatever
URLs OpenLDAP does.  This means you can now use SSL or sockets.
<br /><br />
The patch is <a href="files/contrib-openssh-lpk-5.8p2.patch">here</a>.
</div>
</content>

</entry>
<entry>
<title type="html">The people seeking knowledge have been struck again...</title>
<author>
<name>A Crazed Howler Monkey</name>
</author>
<link rel="alternate" type="text/html" href="http://localhost/please/edit/me/archives/2010/08/11/the_people_seeking_knowledge_have_been_struck_again/index.html"/>

<id>http://localhost/please/edit/me/archives/2010/08/11/the_people_seeking_knowledge_have_been_struck_again/index.html</id>
<published>2010-08-11T23:51:50-04:00</published>
<updated>2010-08-11T23:51:50-04:00</updated>

<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<br /><br />
I have benefited greatly from reading.  You could say that my entire
livelihood is indebted to people who shared information with me through text.
There is nothing better than becoming absorbed in the text of someone who
knows a subject while they lead you plainly down the paths of
knowledge.  Words and phrases are tools brought out at the right time to
convey meaning with precision.  On the other hand, there is nothing more
frustrating than someone who wants stroke his own ego by bewildering you with
words which exclude your understanding.  He strings together bits of fecal
matter, and presents them as if they were a string full of unobtainable
and priceless pearls reserved for someone greater than yourself.  As I've
gotten a little older, I think I can spot this much more
quickly than I used to.  
<br /><br />
Here is an obvious example.  Today I was reading something and enjoying myself
when I followed a link to wikipedia, and ran into this nonsense...
<br /><br />
<blockquote>
In type theory, the type of functions accepting values of type A and returning
values of type B may be written as A → B or BA. In the Curry-Howard
correspondence, function types are related to logical implication; lambda
abstraction corresponds to discharging hypothetical assumptions and function
application corresponds to the modus ponens inference rule. Besides the usual
case of programming functions, type theory also uses first-class functions to
model associative arrays and similar data structures.
</blockquote>
<br /><br />
I get mad when I read logorrhoea like this.  Seriously, was
that the crystal clear product of your distillation for the masses?  Do you
really think like that inside your head?  We have a joke at work that
wikipedia is often only understood by people who already know the subject they
are reading about.  It's a shame.
</div>
</content>

</entry>
<entry>
<title type="html">Openvz patch for atop 1.25</title>
<author>
<name>A Crazed Howler Monkey</name>
</author>
<link rel="alternate" type="text/html" href="http://localhost/please/edit/me/archives/2010/06/07/openvz_patch_for_atop_1_25/index.html"/>

<id>http://localhost/please/edit/me/archives/2010/06/07/openvz_patch_for_atop_1_25/index.html</id>
<published>2010-06-07T14:33:11-04:00</published>
<updated>2010-06-07T14:33:11-04:00</updated>

<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
If you've ever wished you could record what openvz container was doing what on
your server, I have something for you.
<br /><br />
Atop has been really useful for me in the past.  I thought, wouldn't it be
nice if I could map openvz containers to their process when looking through an
atop history?  Well, that thought prompted me to write a patch to do just
that.  
<br /><br />
You can get it <a
href="http://www.deksai.com/main/articles/openvz_patch_for_atop_1_25/index.html">here</a>.
<br /><br />
This will allow you to see what veid a process belongs to.  It will also let
you group processes by veid and sort them based on whatever atop will let you
sort by (cpu, disk, memory etc.).
</div>
</content>

</entry>
<entry>
<title type="html">Getting to BIOS from serial console</title>
<author>
<name>A Crazed Howler Monkey</name>
</author>
<link rel="alternate" type="text/html" href="http://localhost/please/edit/me/archives/2010/03/12/getting_to_bios_from_serial_console/index.html"/>

<id>http://localhost/please/edit/me/archives/2010/03/12/getting_to_bios_from_serial_console/index.html</id>
<published>2010-03-12T13:22:26-04:00</published>
<updated>2010-03-12T13:22:26-04:00</updated>

<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
If you are like me, you've been infuriated by BIOS writers that don't
give you a humane way to get into BIOS from a terminal server.  Most of the
time, the only option they give you is to hit the delete key.  It's just about
guaranteed that what you send when you hit the actual "delete" key on your
keyboard is not going to be what BIOS is expecting.  
<br /><br />
Finally, someone at work dug this out from some somewhere on the 75th page of
a google search. 
<br /><br />
Press esc and then - (the minus key), and it should work.
</div>
</content>

</entry>
<entry>
<title type="html">GSSAPI and Java</title>
<author>
<name>A Crazed Howler Monkey</name>
</author>
<link rel="alternate" type="text/html" href="http://localhost/please/edit/me/archives/2009/12/01/gssapi_and_java/index.html"/>

<id>http://localhost/please/edit/me/archives/2009/12/01/gssapi_and_java/index.html</id>
<published>2009-12-01T20:42:24-04:00</published>
<updated>2009-12-01T20:42:24-04:00</updated>

<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<br /><br />
If you get stuck having to use a Java app in your wonderful Unix Kerberos environment, you may have some problems initially.  You might notice that even though you have asked it to use your ticket cache like so, <pre> com.sun.security.auth.module.Krb5LoginModule required client=TRUE useTicketCache=TRUE </pre>
it still refuses to find a principal.
<br /><br />
This is because it will choke on encryption that isn't des3.  On my personal
laptop which runs Heimdal, I needed to add this to krb5.conf lib-defaults to restrict the
encryption type: <pre>default_etypes=des3-cbc-sha1</pre>
<br /><br />
At this point it will find your pricipal and TGT correctly, and setup an
ecrypted connection.
</div>
</content>

</entry>
<entry>
<title type="html">Frankenkerberos </title>
<author>
<name>A Crazed Howler Monkey</name>
</author>
<link rel="alternate" type="text/html" href="http://localhost/please/edit/me/archives/2009/09/22/frankenkerberos/index.html"/>

<id>http://localhost/please/edit/me/archives/2009/09/22/frankenkerberos/index.html</id>
<published>2009-09-22T23:21:03-04:00</published>
<updated>2009-09-22T23:21:03-04:00</updated>

<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
If you've dealt with kerberos at all, you've maybe dealt with the problem of
hosts with more than one name.  It's a pain in the #$%.
<br /><br />
I've written up a description of my adventure with it in one of those nifty
article links to the left.  You can read it <a
href="http://www.deksai.com/main/articles/frankenkerberos/index.html">here</a>.
</div>
</content>

</entry>
<entry>
<title type="html">atop patch update</title>
<author>
<name>A Crazed Howler Monkey</name>
</author>
<link rel="alternate" type="text/html" href="http://localhost/please/edit/me/archives/2009/09/09/atop_patch_update/index.html"/>

<id>http://localhost/please/edit/me/archives/2009/09/09/atop_patch_update/index.html</id>
<published>2009-09-09T23:56:13-04:00</published>
<updated>2009-09-09T23:56:13-04:00</updated>
<category term="programming" />
<category term="system-accounting" />
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">

I've made a quick update to the atop IO wait patch.
Nothing big, just some formatting changes, and some checks for errors.
Check the side bar for the link.
</div>
</content>

</entry>
<entry>
<title type="html">AVR RISC intstruction set: LPM &amp; the Z pointer</title>
<author>
<name>A Crazed Howler Monkey</name>
</author>
<link rel="alternate" type="text/html" href="http://localhost/please/edit/me/archives/2009/09/09/avr_risc_intstruction_set_lpm_and_the_z_pointer/index.html"/>

<id>http://localhost/please/edit/me/archives/2009/09/09/avr_risc_intstruction_set_lpm_and_the_z_pointer/index.html</id>
<published>2009-09-09T23:05:32-04:00</published>
<updated>2009-09-09T23:05:32-04:00</updated>
<category term="programming" />
<category term="embedded" />
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<p>
Have you ever had a time where something you've known for a while or read
several times hits you in a whole new way?  Typically it is when you realize another facet of a truth.  Notice I didn't say a new interpretation of truth, but a new facet (this difference deserves a post just by itself).  
</p>
<p>
Anyway, I just had this experience.  It just happened for me with the
Z pointer for accessing flash memory.  In this case, I think I realized that I
wasn't thinking about it at all before.
</p>
<p>

Program memory on these chips is organized in 16 bit words.  The manuals
simply state that:

</p>
<p>
<code>
The 15 most significant bits selects the word address in Program memory.
Because of this, the word address is multiplied by two before it is put in the
Z-register.  The least significant bit of the Z Address Register selects
either Low byte (0) or High byte(1) of the Program memory word

</code>

</p>
<p>
No big deal right?  This instruction just stuffs the result in register 0.
The registers are 8 bits, so you only get half at a time.

</p>
<p>
Here is where I realized that I was a moron....  Typically, you just load up
two 8 bit registers with your address split across both.  Dutifully, you
multiply it by two before hand, load the result, read it, increment the
pointer by one and load the result again to get the second half.  I always
thought that the addresses were somehow indexed at 16 bits, and that lower bit
was somehow magical.  The point is that yes, if you use 15 bits, you
effectively do index by 16, but the addresses really work on chunks of 8 bits.
For some reason they take a really round about way to say that the addresses
work on 8 bit intervals, but the architecture is built to work on 16 bits at a
time from program memory (typically 8 bits for the opcode, and 8 bits for the
operand).
</p>
</div>
</content>

</entry>
<entry>
<title type="html">I miss the old time smart people</title>
<author>
<name>A Crazed Howler Monkey</name>
</author>
<link rel="alternate" type="text/html" href="http://localhost/please/edit/me/archives/2009/09/09/i_miss_the_old_time_smart_people/index.html"/>

<id>http://localhost/please/edit/me/archives/2009/09/09/i_miss_the_old_time_smart_people/index.html</id>
<published>2009-09-09T00:27:26-04:00</published>
<updated>2009-09-09T00:27:26-04:00</updated>

<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<p>
My dad's friend just died, and not too many people noticed.  My only theory as
to why is because they didn't appreciate what he was, or were too caught up in
pointless things to notice.   He was a self taught electronic engineer, who
also taught himself medicine.  He always knew more than the doctors we went
to.  I remember him correctly diagnosing a nerve tumor before the doctors had
any idea what the problem was.  I remember him also telling us what he would
do for my dying Grandpa days before the doctors came up with the same ideas.
I know that he regularly treated himself, because he couldn't stand doctors
(he was mistreated by doctors as a child).  He also studied ancient
literature, not to be a snob, but because he enjoyed it.  The loss of him
isn't the loss of the last smart person, but he was one of the
last old time smart people. 
</p>
<p>

As a child, I knew several of my dad's friends who were similar.  Most of them
are dead now.  I haven't really met anybody that replaces them.  As I
think about it, it makes me sad, because people don't remember the way things
were.  There is a huge disconnect from previous generation.  My theory is that
it comes in part from a breakdown of family.  A lot of people my age were
raised by their peers, so not too many have a clue about what exists outside
of themselves and their generation.
</p>
<p>
Thankfully, I grew up in a stable family where I was able to experience and
respect people older than myself.  What I've been able to experience is seeing
how the generations before me were smart in a different way.  It was their
attitude about what they did.  It is precisely that attitude that made me want
to follow in their footsteps, but which I have been unable to find among my
generation.
</p>
<p>
This man was a person who grew up playing with machines and electronics when
much of it was new and exciting.  I can almost picture him sitting in his room
assembling a radio transmitter to communicate with someone in the next state.
This doesn't seem like a big deal.  Today it certainly isn't the same.  Back
then it was a bit more exciting and new.  That isn't what makes it different
though.  The part that makes it different is the way in which people like him
did these things.
</p>
<p>

The old generation did these things because they were fun and they enjoyed
them.  Here is how I think that changed.  These people grew up to be the ones
doing the interesting and astonishing things.  People in the following
generations saw them and how society lifted them up for their intelligence,
and decided that they wanted to be "one of those people everyone thinks is
smart".  So these people grew up to do the same types of things, but no longer
because it was fun, but because they had something to prove.  It became a
competition.  No longer was it simply about enjoying the work of your hands
and mind.
</p>
<p>

This man who just died did the things he did because it was what he grew up
doing and enjoyed.  He had friends who grew up doing the same things, and they
remained friends for their whole life.  People in my generation do the same
things in a frenzy in hopes that someone will praise them.  They aren't
friends to anybody, because they can only think about themselves.  All their
time is spent being around lots of people, and trying to be better than most
of them.
</p>
<p>

When I get in a group of older engineers, there is a calm and relaxing feeling
in the atmosphere.  This isn't the most descriptive way to explain what it is
like to be around them, but it does highlight the immediate difference I
notice compared to people of the same intelligence of my generation.  I can
just sit, listen to them talk, and gain a feeling of excitement in hearing the
minds that dreamed up many of the things we have today.  There's a certain
stability and friendliness in their personalities and thinking that is absent
today.

</p>
<p>
So even though the world will not end because of his death (it won't end for
the loss of any of us, which is a shock to some), I figured I would make
mention of him and his type, if simply so I can pay him a little respect that
I feel was missing.
</p>
</div>
</content>

</entry>
<entry>
<title type="html">pam-abl</title>
<author>
<name>A Crazed Howler Monkey</name>
</author>
<link rel="alternate" type="text/html" href="http://localhost/please/edit/me/archives/2009/08/29/pam-abl/index.html"/>

<id>http://localhost/please/edit/me/archives/2009/08/29/pam-abl/index.html</id>
<published>2009-08-29T00:09:08-04:00</published>
<updated>2009-08-29T00:09:08-04:00</updated>
<category term="programming" />
<category term="system-accounting" />
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<p>
I nearly forgot to mention that I am maintaining the pam-abl code now.  I
needed this for work, and started making changes, so I figured I would
maintain it.
</p>
<p>
Basically pam-abl is a PAM module that automatically blocks people who fail to
log in correctly more than a few times.  Currently, it just makes it
impossible to log in even with the right password.  The changes I'm making
allow you to do more things like change the firewall, and update a global
database (LDAP) for the sake of other servers on the network.
</p>
<p>
When these changes are done at work, and make sense, I'll unleash/release them
to the public. 
</p>
Here's the <a href="http://pam-abl.deksai.com">link</a>
</div>
</content>

</entry>

</feed>

