Alkahest my heroes have always died at the end

June 11, 2007

That’s too cool

Filed under: Technical — cec @ 7:46 pm

Okay, thanks to Jag, I’ve seen the coolest thing ever. The steampunk keyboard + monitor:

m19.jpg

Now all I need is a few dozen hours of free time to build my own.

April 18, 2007

Javascript and Form Saves

Filed under: Technical — cec @ 6:06 am

As I’ve been working on the web front end for the PWC database, we ran into an interesting problem. Our patient records are implemented w/ a “tab” style for the display of different parts of the record. Unfortunately, the folks using the database kept tabbing over to a different part of the record which wound up not saving any of the changes they made. My original quick fix for this was to have the tab buttons also save. But that made me nervous. I worried that if someone accidentally changed things or if I was giving a demo, a change to a new tab would save bad data.

I probably could have fixed this with some javascript so that all of the tabs were really part of the same webpage and they would be dynamically hidden or displayed using javascript to manipulate the CSS classes. But that didn’t occur to me until just now. Instead, I implemented a system to note changes in the form and alert if you navigated off the form without saving. Just as a reminder to myself, here’s what I did.

1. Create a confirm_exit.js file with the following:

var needToConfirm = false;
var fieldsChanged = “”;

window.onbeforeunload = confirmExit;

function confirmExit()
{
if (needToConfirm)
{
return “The following fields have changed and are not saved:\n” + fieldsChanged;
}
}

function fieldChanged(fieldName)
{
needToConfirm = true;
fieldsChanged = fieldsChanged + ” ” + fieldName + “\n”;
}

When the script loads, it creates two new variables: needToConfirm and fieldsChanged. needToConfirm starts as false, meaning no need to prompt the user before leaving the page. fieldsChanged is empty since nothing has changed. I also set a trigger on the window: onBeforeUnload, which occurs any time the page is about to be unloaded. For example, close the browser, navigate to a new page, etc. This trigger sends you to the confirmExit function.

2. This is loaded into any webpage that has a form I care about

3. Each form element needs to have an onChange trigger: onChange=”fieldChanged(‘descriptor’);” When the form element changes, the function is called. We set needToConfirm to be true and update the list of fields changed in the form with the descriptor.

4. Finally, we bless the save buttons on the form page by adding an onClick trigger: onClick=”needToConfirm=false;” Having needToConfirm as false prevents the confirmExit() function from prompting the user when they hit the save button.

Voila! Forms that prompt you to save before leaving.

April 13, 2007

It’s quiet, too quiet…

Filed under: Personal,Technical,Wildlife Rehab — cec @ 9:26 am

I haven’t been so much with the blogging lately. For me, that is generally a sign that things are busy enough that I’m living life rather than blogging it [ed note: For all of you young readers, this is what is known as irony. When I have the most to say, I have the least time to say it in; conversely, when I write the most, I have the least to say].

Quick highlights of things that are going on:

  • I received an odd email two weeks ago. It was from a professor that I knew, but never worked closely with, in the ECE department. He has a research company that is gearing up for a project that is security related. He wanted to know if I knew of anyone that might be interested in either a full-time or a consulting position. There are two ways that kind of thing can go. He might be asking an honest question or he might be looking to see if I’m interested. As usual for me, it’s easier to play the straight man. I listed a few folks I knew that might be interested in positions, but included myself as one interested in consulting and maybe more. I spoke to the professor last week. The work sounds interesting. They have lots of money, so I agreed to come by in a couple of weeks to see the place, give a talk, meet some people. Or, as I put it to K, we agreed to go on a first date. Last night, K asked what happens after the first date? I told her that depending on how that goes, we might engage in heavy petting. At which point K decided that she had enough of my metaphors. 🙂
  • I think I mentioned that we were pulling wall paper off of the kitchen/breakfast room wall. The wall paper and the backing are now all off and we’ve picked a paint color. I just need to finish cleaning the paste residue off and do a skim coat of sheetrock mud and we’ll go ahead and get it painted. I’m still not certain about the color, but what the heck – paint is cheap.
  • K used some birthday money and bought a couple of day/night mini-cameras designed to go in bird houses. The plan is to run them out to the cages out back. Unfortunately, the cameras only came with 100′ of cable. When we measured off the length last weekend, we realized we needed 300′ of cable each. I volunteered to buy some generic cable and splice it in, but K is risk averse and decided to just buy the extension cables. This weekend, I’ll try to build some small boxes to house the cameras and keep them out of the rain (and away from squirrel teeth).
  • The Leadership Program I mentioned earlier did come to campus.  I was planning on reviewing the 5 minute talk I was going to give on Wednesday night since we were asked to speak on Thursday.  So, I’m sitting in my office working on the laptop when someone on my staff comes in with someone attending the program.  They were wondering where we all were?  It turns out that they (or maybe me) had the date wrong and they were hoping we could come speak to them right away.  Fortunately, I had thought a bit about what I wanted to say – I just hadn’t polished it up.  I went in and winged it from there.  Overall, I think it went pretty well.  I just wish I had the extra prep time.
  • I’m moving all of my domains off of a desktop computer and on to an ISP. Hey, $8/month, unlimited bandwidth, multiple databases, etc. is definitely worth it. I moved a friend’s site that I was hosting first: www.boxturtleheadstart.org, then K’s domain and email. fenris.org hasn’t been moved yet, I’m hoping to move the pwc patient database off of it first and on to the pwc main site. Of course, that’ll mean getting an updated version of php from our ISP. Once that’s done, I’ll move fenris.org which will make me happier than leaving it on a desktop machine (is it still a desktop if it is under my desk?).
  • Finally, I’ve spent a huge amount of time working on the Piedmont Wildlife Center’s patient database. I tried to get board members and staff to help me write the functional specifications right the first time so that the programmer we hired could actually implement what we wanted. Unfortunately, what they gave me wasn’t really what they wanted. So now I’m going back and reworking a lot of the database. Fortunately, the whole thing is written using a model/view/controller (MVC) method of programming and it’s very easy to make changes. I’m also taking this as an opportunity to learn a lot more about the w3’s document object model (DOM), how it can be manipulated with javascript, and ajax while I’m at it. So far, my favorite pieces are the ajax bit to remotely pull/post database stats on the pwc main website and the dynamic form that allows you to automatically create new rows using javascript 🙂

April 2, 2007

Copyright infringement on campus

Filed under: Social,Technical,University Life — cec @ 10:33 am

I can’t turn around anymore without hearing something new about how colleges and universities are public enemy number 1 with the copyright industry.  In early February, the Recording Industry Association of America released a top 25 list of the schools to which they have sent notices of alleged copyright infringement.  Right after that, they started announced that they would start suing students and that they were going to send “pre-subpoena” and “settlement” notices to campuses.

The “pre-subpoena” notices try to circumvent the normal process of data destruction that happens at any provider of internet services.  The service provider only needs the information for a short period of time, so after that time has passed, the information is automatically destroyed.  The pre-subpoena notices try to put a burden on universities to preserve data because they now know that the information is likely to be subpoenaed if there is a lawsuit.  To my knowledge, these are, at best, questionably legal and even with recent changes to the Federal Rules for eDiscovery are not likely to place a real burden on colleges.  You’ll notice that the RIAA hasn’t sent anything like a pre-subpoena notice to non-educational internet service providers such as Verizon and Time Warner.

The second new type of notice is a John-Doe settlement offer.  It is sent to a university and references an IP address and a time and alleges that copyright infringement occurred from that computer at that time.  No evidence is included.  The notice asks the university to forward these settlement offers to the students whose computers are referenced.  Students receiving these settlement offers can go to the referenced website, enter the case number, check the box that says they will sin no more and enter a credit card for absolution.  It’s like the selling of indulgences by organized crime.

Some schools have taken the position that they should not forward the notices, however, they are complying with the pre-subpoena notices above.  This seems likely to put their students at even more risk because they won’t be able to settle before being sued, however, you are purposefully keeping the information that will allow them to be sued.

While all of this has been going on, the copyright industry has been meeting with congress, decrying the evils of college campuses and what we aren’t doing (which incidentally is exactly what commercial ISPs aren’t doing).  There have been two recent, interesting outcomes from these hearings.  The first is that the copyright industry has been pushing campuses to install network devices that prevent copyright infringement, preferably by blocking all peer to peer programs.  Most colleges have refused to do this for a number of reasons: cost, lack of reliability, the potential to damage our safe harbor for “conduit” activities under the DMCA, and the fact that p2p programs have substantial non-infringing uses.  Congress is trying to remove at least one of these with a bill that would allow schools to apply for grants to fund copyright compliance programs – code for devices to block p2p.

The second item of note is that congress requested the Motion Picture Association of America (MPAA) produce its own top 25 list using the same methodology as the RIAA.  That list was released and we are on it.  Of course, as with the RIAA’s list, the MPAA can send however many notices to schools that they want.  Being on or off of the top 25 list doesn’t say anything about the amount of actual infringing going on, just how much you were notified about.  Both industries tend to focus on recent content: new music, new movies, new television shows.  Given the current state of music, it may actually be a complement to the taste of our students that we were on the MPAA’s list, but not the RIAA’s.

I suppose at this point I should note that I am not in favor of copyright infringement.  My main concerns are:

  1. Why is Congress and the copyright industry singling out academic ISPs?
  2. Copyright law, as written, does not meet the needs of consumers.

Colleges and universities should be treated like any other internet service provider.  This is how we are defined under the Digital Millennium Copyright Act (DMCA).  Under the DMCA, as an ISP, we are given a number of safe harbors from liability, including a limitation of liability on any infringing activity for which we are a conduit.  That is to say, any activity that we did not initiate nor interfere.  If the RIAA or the MPAA or Congress wants to limit copyright infringement, then it should address the infringers themselves.  If they don’t want to do that, then they should address all ISPs equally, commercial and academic.  After all, the RIAA sued 18,000 people last year and only 1,000 of them were college students.

For years, copyright infringement was a subject that only conglomerations of copyright holders cared about.  The industries met together, balanced each others needs, wrote the rules together and then had congress sign off on what they wrote.  That worked pretty well up until the point that we had peer to peer filesharing.  P2P as a general technology fulfills one of the great promises of the Internet.  It breaks away from the old client-server model of computing allows all computers to become both client and server simultaneously.  This allows an individual computer to be a peer to what required a server before and completely changes how we should approach copyright law.

Copyright law was founded on the belief that you had to preserve the rights of an author in order to encourage progress.  This was extended to preserving the purchased rights of producers and distributors.  Now that all computers can be content distributors, copyright law needs to be updated.  You can’t hold a 17 year old kid to the same level of responsibility that you would a large commercial operation designed to print CDs/DVDs and sell them on the streets of New York.  We’re not talking about counterfeiters, we’re talking about average people.

Copyright law has been written to protect the profits of multi-billion dollar corporations.  It wasn’t written to protect the rights, or even the long-term interests, of citizens.  That needs to change and until it does, we will continue to hear about lawsuits, extortion and questionable tactics from the RIAA and the MPAA.

Oh, and to answer my earlier question, the RIAA and the MPAA are going after colleges because that’s where the greatest bulk of young people are.  They believe that if they can head it off there, then perhaps they can get a handle on the general p2p problem.  They also believe that they will get more traction in congress by beating up on colleges.  If the RIAA and MPAA went after all ISPs equally, then congress would see it as a question of the competing interests of two businesses and would probably decide that the DMCA struck a reasonable balance in terms of the limitations on liability.  But colleges and universities are seen as in loco parenti (surrogate, as opposed to crazy, parents), so we are responsible for the actions of our students.  However, we are also a business and can be compelled to install software or devices that would never be required of a student’s real parent.

March 27, 2007

Wolverines!!

Filed under: Photography,Technical — cec @ 8:03 pm

er, sorry just a minor Red Dawn reference – it’s not my fault, I grew up in the 80s.

Now that I’ve got that out of my system, a note on a new toy.  As I mentioned before, I’m going to go (mostly) digital on my trip to Yellowstone.  I bought 8 GB of memory cards which is only 800 or so pictures in raw format.  For the past several years, I’ve shot around 800 pictures in film.  On the one hand, I suspect I’ll take more pictures in digital since the marginal cost is basically zero.  On the other hand, I’ll have the ability to prune out any bad shots.  Still, I suspect that I’ll wind up wanting more memory cards.

wolverine.jpgRather than trying to guess how many, I decided to buy the “Wolverine FlashPac 7060” (hey – I was getting there).  The Wolverine is a pretty neat device.  When I first started looking for a hard drive on which to temporarily store pictures, everything I found was a basic USB hard drive that required a computer to control.  The FlashPac doesn’t.  It’s a multi-type card reader and hard drive that has enough smarts in the firmware to know how to mount a memory card and copy all of the pictures from a card onto the internal drive.  It preserves the contents of the card and you can manually erase the card in your camera. It comes in a variety of sizes, I bought the 60 GB version – enough for 6,000 pictures.

I got the device in today from B&H (they seemed to have the best prices).  Unfortunately, it had outdated firmware installed on it which wouldn’t read my SDHC cards.  Fortunately, I was expecting that and I had downloaded the next release of the firmware which does support SDHC (although at the fairly slow, standard SD speeds).  Of course, getting the firmware on a device while using a linux computer is always challenging.  After screwing around with it for an hour or so, I punted and used the old Windows 2000 partition I have on the desktop.  I felt dirty afterward, but at least the device works with my memory cards now :).

Overall, it’s a very cool piece of hardware.  It does what it says it does and seems to do it well.  It’s not for archiving – that’s a whole different problem to tackle, but for short term storage, it’ll work.

March 21, 2007

John W. Backus dies

Filed under: Personal,Technical — cec @ 9:45 pm

Back when I was a postdoc, I was studying FFTs. Okay, actually, I’m not enough of a mathematician to study FFTs, I was studying the efficient implementation of FFTs on parallel computational clusters. One of the graduate students I was working with on the project penned the following:

If there’s a working FFT
That’s not in FORTRAN but in C
Alas it twice as slow will go
And that (as always) goes to show
If speed is your greatest asset,
Then what you C is what you get.
-V.V. (Mony) Iyers

For years, Fortran was the programming language of choice for engineers.  It’s name, a derivative of “Formula Translator,” give you an impression of what it does: it makes it easy to represent matrix algebra formulas in a computer programming language.  Because it is a compiled language and it has built in support for performing matrix algebra operations, it is extremely fast.  I never did much Fortran programming and V.V. and I disagreed on the speed of Fortran vs C (I could always tweak C code to be as fast as Fortran), but it is a great programming language for engineers that has unfortunately, largely been replaced by Matlab.

Fortran was first released nearly 50 years ago and has been updated a few time since then.  Given the age of the language, I hadn’t even thought about who invented it, and was saddened to learn that the creator (or at least the project lead) died last weekend.  John Backus was apparently the project lead for the creation of Fortran back in the 50s and he died Saturday at the age of 82.

It’s hard to imagine what the engineering field would be like without Fortran and even though I hadn’t heard of him until this week, I think I’ll miss him.

February 28, 2007

and people wonder why the change to DST worries me…

Filed under: Security,Technical — cec @ 6:38 pm

In 2005, congress mandated a change to daylight savings time, essentially, starting it three weeks earlier (March 11th, this year) and ending it three weeks later. Our local paper is requesting suggestions for what people will do with their 22 extra hours of daylight.  Here’s my suggestion:  spend the time fixing all of the computer problems caused by the DST change.

Essentially, a change to DST is very similar to a self-inflicted Y2K problem.  If you want to get a sense of how time/date issues can affect computer systems that aren’t prepared, take a look at this article regarding the new F-22 Raptor and it’s problems with the International Date Line. I wasn’t worried about Y2K because we knew about the issue for years and most modern operating systems and software had already addressed it.  With the DST changes, we haven’t had nearly enough notice or preparation.  Now, I’m not stocking up on canned goods, but I’m pretty certain that March 11th is going to bring about extra work.

January 1, 2007

bah! – updated

Filed under: Personal,Plumbing,Technical — cec @ 8:20 pm

so Saturday night around 11:30pm, the acid neutralizer I just installed, exploded. Okay, it didn’t really explode, but the top popped off again. Spoke to the customer support, looked around a bit more and it seems that the threads on the tank were stripped. I’ll call tomorrow and see about getting a replacement tank 🙁

Update: I just received a call from the folks that sold me the acid neutralizer (I didn’t even have to call them back). Two interesting things: 1) apparently, the tank head they sent is a down flow head and the system I’ve got is designed to be upflow. Not a big deal, except that I have to reverse the inlet and outlet plumb lines as compared to what’s labeled on the head. Normally they send a note along those lines – this time they didn’t. 2) Given that one of the threads is stripped, they’re going to send me a new tank and an RMA to return the old one.

Believe it or not, even after all of the difficulties, I’m still very happy with the company (CAI Technologies). They seem to sell good products and a reasonable cost (about half what I could find elsewhere). If you ever need specialty plumbing, check ’em out.

December 30, 2006

Web related notes

Filed under: Personal,Technical — cec @ 10:19 pm

Two web-related notes:

  1. I’ve just migrated the Piedmont Wildlife Center’s website from a bunch of php webpages (the only reason for the php was to include the template) to the Drupal content management system. I’ve also added in the Coppermine photo gallery to keep our pictures. I would have used gallery2, but it kept dying due to memory errors with the database.  I’m guessing our ISP has the ulimit set to small.  Overall, the updates went pretty well, the biggest headaches were taking us out of a table based layout into the (more) modern world of CSS. I kept the current look and feel, but the CMS should make it easier to change in the future. But for now, at least I can distribute the web updating responsibilities to others 🙂
  2. Does anyone know how to get WordPress to do better detection/blocking of comment spam? It’s killing me. Fine, I’ll go google for it.

December 17, 2006

New books

Filed under: Personal,Photography,Social,Technical — cec @ 5:56 pm

I had a chance last week to read a few books, all of which I would recommend in some fashion or another:

National Geographic’s “The Ultimate Field Guide to Photography” This is a very good, basic field guide to photography. It covers a huge range of subjects and, not surprisingly, has some beautiful photographs. The book covers both film and digital photography, editing, archiving, composition, and has a great inspirational chapter describing Robert Clark’s photographic travelogue using only the camera in a cell phone. My only complaint about the book is that it covers too many topics, but not much in depth. It’s a great book for a beginner, but there wasn’t too much I hadn’t seen already.

“Peopleware” by Tom DeMarco and Timothy Lister. This is apparently a classic on productivity in an IT environment. It was written in 1987 and then revised in 1999. The book is an incredible look at projects, teams and what makes them successful. DeMarco and Lister worked in the software development industry, but their insights are applicable to any IT field. They start by describing IT and other knowledge based environments and how these are different than classical manufacturing environments, noting that we need to manage IT workers differently than we would in other environments. The remaining chapters are organized into parts: The Office Environment on how the environment affects productivity (hint: cubicles are not the way to go); The Right People on the need for good (and different people), how to cultivate them, and keep them (given the high costs of turnover); Growing Productive Teams which discusses how to get good people to jell into even better teams (unfortunately, there aren’t good ways to encourage this – other than to avoid killing teams); It’s Supposed To Be Fun to Work Here whose topic you can figure out. The last part is the update for 1999 – Son of Peopleware. In that last part, the authors note that they stand by everything they wrote 12 years ago, they reinforce certain topics and provide suggestions to implement some of their original ideas.

This really is a great book on management in IT and it actually quantitatively confirms many of my personal feelings about management. My plan at this point is to re-read it while taking notes. There are things in here that I think we need to address in my current job – keeping in mind that even the authors think that you can only tackle one of the problems.

“The Myth of a Christian Nation” by Gregory Boyd. A while back, I wrote about the separation of church and state. In that post, I briefly mentioned that such separation was good for religions. Gregory Boyd takes this much further and discusses how keeping religion out of politics is good theology. While he never uses the phrase “separation of church and state,” as a pastor, he presents an extremely compelling case for it. The book came out of a series of sermons Boyd gave in the run-up to the 2004 election. He and other pastors at his church were under significant pressure to promote certain candidates and positions. After he gave the sermons titled, “the Cross and the Sword,” about 1,000 people (20%) left his congregation.

The book and the sermons dealt with two kingdoms, that of the cross and of the sword. The kingdom of the sword represents nations and political entities. That of the cross represents the community of Christians and what they are called to do, which is primarily service to others (as demonstrated by Jesus in the gospels). Boyd goes on to describe how the early church emphasized that conflating political power with Christianity was idolatry. This changed in the 4th century when the Emperor Constantine converted to Christianity after winning an important battle. Since then, the church has often tried to grow through political power.

Boyd then describes current efforts to “take America back for God,” and proceeds to destroy the myth that the United States was ever founded as a Christian nation. He goes through the litany of beliefs from those whom state this and systematically refutes them. For example, he points out that the preamble to the Declaration of Independence is more indicative of deists and followers of the enlightenment (which the founders were) than it is of Christian thought.

Finally, Boyd goes through a number of very difficult, current questions and discusses the, in his mind, appropriate kingdom of the cross perspective. Not surprisingly, the answer is never to legislate away that which you don’t think is moral or Christlike.

All in all, a very important perspective on the importance of the separation of church and state. I highly recommend it.

« Newer PostsOlder Posts »

Powered by WordPress