Clisp reference

February 23rd, 2014

I’m finally getting back to learning Lisp. I’m using Land Of Lisp. LOL doesn’t include a function reference, so as part of my learning I’m going to try building one. Suggestions and corrections welcome.

Tech support as a reflection of the state of politics

April 3rd, 2013

I am having an issue with my ISP. I have been running an email server for the onejohn.org domain out of my home office for the last 7 years. About a month ago, my server stopped receiving messages from from outside my network. After much diagnosis, I determined that the smtp port (25) is being blocked at my modem. On my firewall, I can pass port ranges. When I set it to pass ports 24-26 I can connect to port 24 and 26 but not port 25.

I called my ISP’s support, and after being transferred to limbo, then being hung up on, I spoke to Ivy. She pretty obviously had a script of issues she could solve. My issue involved email, and my ISP has recently changed changed their email servers to use port 587 and blocked outbound connections on port 25, so the only solution she could propose was that I change my server to use port 587.

We went back and forth on this for 1 hour (my phone said the call time was exactly 1:00:00 when I finally hung up). My problem was inbound connections, but since she didn’t have a script for that situation, she tried to fit my problem into a script she had.

Apart from the technical issues, this reminds me of the political discourse tactic of answering the question a politician would like to answer instead of the question that was asked. Has this tactic infected our business class as well as our political class?

Also Ivy was completely unable to do anything to solve my problem. She had somebody call me back (which I was completely skeptical about being a legitimate offer based on my earlier calls. Sorry Ivy). He (Glen) also had absolutely no power to even diagnose the issue sufficiently to verify that my problem involved their equipment.

The skeptical me wonders if this is deliberate. How many of their customers do not call back after the first hangup? How many get frustrated after the third call and just don’t call back? How many give up with Ivy’s inability to even comprehend the question? The fact is they have a monopoly in my area. I can use them (they are a cable ISP) and get 25Mb or get DSL from a local phone company at 1.5Mb. I run a server and my wife works from home. I have no choice. By providing “technical support” that in any case outside the norm provides a sympathetic ear but is not empowered to actually solve anything more than the basic problem, they provide lip service to caring without spending a dime more than they have to.

I feel sorry for Ivy and Glen. I really think that she was trying to do something to help me. But her ability to respond was limited entirely to the script. Glen was also had absolutely no relevant knowledge or authority, and so had no way to solve any problem outside if the script. That must be a tough job.

But I’ll bet it is cheap for the ISP.

Learning a new language

July 7th, 2012

I have decided to learn a new language. Programming language that is. Not for anything to do with my job as a programmer. Mostly because I’ve been reading chromatic’s blog. Yes, it’s a Perl blog, but he’s been talking about using functional programming techniques in Perl. It sounds interesting. So maybe I should learn a bit more about functional programming.

After some investigation, I conclude Haskall looks too “Pure”. Anytime I hear that there is an inherently “wrong” way to do something, I check my wallet and head the other way. I don’t believe in pure anything especially when it come to programming. Use a technique when it is useful. Don’t when it’s not. (This includes you, objects). Also all of the examples seem to be pure math functions. Not as many everyday tasks are suitable to recursion.

Scheme I have seen frequently described as “a simple Lisp.” I’ll take the full strength version, thanks.

Clojure is JVM based. Meh. I buy the servers in my home (and work for that matter). I can specify the OS and hardware. I can recompile my apps if I need to. So the portability is not a plus. So I would get all of the penalties of byte-code and none of the advantages.

Looks like Common Lisp it is. Well, I’ve heard it is the greatest language ever. I think I’ll try it out. I know it’s not technically a real functional language, but it’s the granddaddy of all of the languages that are, and being somewhat flexible suits my tastes anyway.

Musings

July 8th, 2011

Premature optimization shows how smart you are, not how well you can solve the problem.

Did I read that somewhere or just make it up?

Personally I believe in solving the problem as quickly and simply as possible. If the solution isn’t good enough (as determined by the people for whom I am writing the program, not by me) I’ll improve it.

Denyhosts and other ssh security

July 24th, 2010

We have several servers exposed to the internet.  Being Linux servers, we manage them by ssh.  For security, we only allow key access — no passwords.  But we still get a HUGE number of login attempts from — how shall I put it — unauthorized users.  We always had no passwords set (! in the shadow file, not blank) and root disallowed from ssh so nobody could have logged in, but they still tried.  Even after I turned off PasswordAuthentication, we still got attempts.
(more…)

iSCSI on a Dell MD3000i

April 1st, 2010

My company recently got a Dell MD3000i “SAN” for a pretty good deal.  We’re starting to dabble in such things as virtualization, and the offer was too good to refuse.  The MD3000i is pretty basic.  Really it seems like just a JBOD with an iSCSI head, but it is a good way to start to play in that space.   We got it with dual controllers and about 6TB of space.
(more…)

Recovering from mishandling the Gentoo sys-libs/ss and sys-libs/com_err block of sys-fs/e2fsprogs

April 10th, 2009

Worst case: a new admin didn’t read my previous note correctly, and in order to “resolve” the block unmerged ss and com_err without first fetching the new packages.  What do you do now?  You can’t rsync the files over from another server, nor does scp work.  A co-worker of mine used -pv instead of -av on his –featchonly emerge and ran into this problem.  (more…)

Gentoo ss and com_err blocking e2fsprogs

December 1st, 2008

Gentoo appears to have released a change before releasing the portage that can handle it. If you emerge world right now, you’ll probably get a block involving sys-fs/e2fsprogs, sys-libs/ss and sys-libs/com_err. You’ll see something like this:
[blocks B ] sys-libs/e2fsprogs-libs-1.41.0)
[blocks B ] sys-libs/ss (is blocking sys-libs/e2fsprogs-libs-1.41.0)
[blocks B ] sys-libs/com_err (is blocking sys-libs/e2fsprogs-libs-1.41.0)

(more…)

OpenSSH 4.6 (and higher) problem with LDAP

November 22nd, 2008

At work we upgraded some of our server a while ago and ran into a problem when upgrading from OpenSSH 4.5 to 4.6. It just stopped working. We use LDAP authentication and It would log an error “‘user’ is not in ‘sshgroup’”.

“id user” would confirm that they were indeed in sshgroup, and interestingly enough, adding them to a local group “sshgroup” would not help either.
(more…)

The Server service hung on starting.

November 16th, 2008

For a couple of years now, one of my Windows XP workstations has taken about 10 minutes to start responding on the network. The 10 minutes would be spent trying to start the Server service. Then an error 7022 with a message “The Server service hung on starting.” would be entered in the System Event Log, the Server service would be restarted, and everything would be fine. (more…)