Optimus keyboard
I have been waiting for a keyboard like this for years. Now we finally have one coming to market, hopefully around 2006. I have long thought that a keyboard whose key caps could adapt to whatever input symbols were most relevant would be incredibly useful for a huge number of applications. So did these folks, and they apparently have created a keyboard whose keycaps aren't printed in the factory - they are tiny displays showing whatever glyphs/icons the computer wants them to show.
But unlike just a touch sensitive LCD panel, each key is still a distinct physical key - so you get tactile feedback.
I love the idea of a "Photoshop" keyboard. That alone could save a good amount of time for graphic artist type folks. Now if only Kinesis would license the technology and put it into their keyboards (I can't work without my programmable Kinesis!).
Friday, September 9, 2005
No 4 Year Old Needs This Toy
Via BoingBoing:
Amazon.com: Imaginarium.com: Playmobil - Security Check Point
No 4 year old child needs this toy. Mom and Dad just need to take him/her on a flight and they can experience first hand what it is like to be the woman traveler who is trying to gather her keys, spare change and baggage while running for a flight. Unfortuantely these poor children of today are going to grow up thinking the types of things which happen at airport security checkpoints (like stealing a guy's car keys) is normal behavior in a free country.
It isn't. It shouldn't be. A large part of it since 9/11 has been a charade to make the populace comfortable with a more authoritarian government. And to convince people we are safer. We aren't. Look at NOLA last week. *sigh*
Sometimes I think it may take another revolutionary war to steer this country onto a brighter path. Either that or the main population needs to get a clue.
Amazon.com: Imaginarium.com: Playmobil - Security Check Point
No 4 year old child needs this toy. Mom and Dad just need to take him/her on a flight and they can experience first hand what it is like to be the woman traveler who is trying to gather her keys, spare change and baggage while running for a flight. Unfortuantely these poor children of today are going to grow up thinking the types of things which happen at airport security checkpoints (like stealing a guy's car keys) is normal behavior in a free country.
It isn't. It shouldn't be. A large part of it since 9/11 has been a charade to make the populace comfortable with a more authoritarian government. And to convince people we are safer. We aren't. Look at NOLA last week. *sigh*
Sometimes I think it may take another revolutionary war to steer this country onto a brighter path. Either that or the main population needs to get a clue.
Monday, September 5, 2005
Happy Labor Day
Happy Labor Day folks in the US. It is supposed to be a day of vacation for the entire country. Yet everywhere I see clerks attending store registers. My wife is working. The trains are running. The airlines are flying. And I'm here at school laboring over math I was never taught to try and prepare for a test tomorrow which I am likely going to fail. The test is worth 10% of my total course grade. I need a 94% in this class this semester, or I am very likley out of the PhD program.
If I fail this test the professor is going to recommend I drop his course and take a different class first. I have to take this class (and pass it with a 94%) this year, or I am out of the PhD program. It is only offered in the fall. So I either take it now and pass, or I am thrown out of the program for good.
There is a fallback - if I get a 90-93% I can likely stay in, study for an oral exam and try to pass the oral exam (given by a committee of faculty). I only get one shot at the oral exam. But if I do poorly in the class I will likely not be asked back in January.
Happy Labor Day indeed. :-(
If I fail this test the professor is going to recommend I drop his course and take a different class first. I have to take this class (and pass it with a 94%) this year, or I am out of the PhD program. It is only offered in the fall. So I either take it now and pass, or I am thrown out of the program for good.
There is a fallback - if I get a 90-93% I can likely stay in, study for an oral exam and try to pass the oral exam (given by a committee of faculty). I only get one shot at the oral exam. But if I do poorly in the class I will likely not be asked back in January.
Happy Labor Day indeed. :-(
Missing Course Prerequisites
So I am taking a graduate-level course this semester on the theory of machine computing (Turing Machines, Halting Problem, etc.). The course catalog lists the prerequisites for this course to be only CSCI-2400 (Models of Computation). CSCI-2400 is the introductory course to this material and is generally for undergraduates. I took this class and did OK in it.
CSCI-2300 and MATH-2800 are the requirements for CSCI-2400. These courses are entitled "Data Structures and Algorithms" and "Introduction to Discrete Structures". I took CSCI-2400, but apparently was able to graduate with an undergraduate degree in computer science without taking MATH-2800. Now I find that I don't have the math background necessary to complete this graduate level course without really struggling, as much of the math is beyond my current knowledge.
How did my advisor, nay better, how did the institute let me graduate with a degree in Computer Science without at least attempting what many computer science folks would consider a very essential course? Easy - this course never used to be a requirement! Now it suddently is for the graduate school. I am so screwed. Clearly the degree I earned previously from this institute was not very worthwhile, as now I am unprepared for the institute's own graduate school!
CSCI-2300 and MATH-2800 are the requirements for CSCI-2400. These courses are entitled "Data Structures and Algorithms" and "Introduction to Discrete Structures". I took CSCI-2400, but apparently was able to graduate with an undergraduate degree in computer science without taking MATH-2800. Now I find that I don't have the math background necessary to complete this graduate level course without really struggling, as much of the math is beyond my current knowledge.
How did my advisor, nay better, how did the institute let me graduate with a degree in Computer Science without at least attempting what many computer science folks would consider a very essential course? Easy - this course never used to be a requirement! Now it suddently is for the graduate school. I am so screwed. Clearly the degree I earned previously from this institute was not very worthwhile, as now I am unprepared for the institute's own graduate school!
Thursday, September 1, 2005
Gah! Gas Is $3.30/Gallon!
Driving to school this morning I noticed that regular unleaded gas has finally gone to $3.30/gallon. What happens when it hits $5/gallon, as I heard might happen?
Prices are going to go up everywhere - in every product. Our entire national economy is entirely dependent on diesel and our current pricing structure depends on it being cheap; around $1/gallon. But it is over $3 today. I suspect cost of goods is going to skyrocket next week or the week after.
If these prices stay into the winter, many folks in the northeast won't be able to afford to heat their homes. Or if they can heat their homes they won't be able to afford to eat (as the price of food is also going to increase dramatically). Towns aren't going to be able to keep the roads clear - the price of diesel for the plows is now 2x what it was last year. Taxes are going to have to go up this winter or next spring just to pay for road maintenance.
The crux of the problem is our lack of good mass transit - as many people have stated before. Boston, NYC - both have a decent mass transit system used by millions of people every day. Albany NY - you are lucky CDTA picks you up, let alone that it got you somewhere anytime today. *sigh*
Good thing my car is getting around 27 mpg. Even that is going to cost me more than $33/week in gas just between home and school. I never thought I would be counting the miles each day. Now I am. CDTA's weekly bus pass is $36. Sure I have to pay for the car insurance and the car loan, but my weekly fuel costs are about the same (or slightly less) than the CDTA bus pass - and I don't have to walk 2 miles between a bus stop and my destination.
Prices are going to go up everywhere - in every product. Our entire national economy is entirely dependent on diesel and our current pricing structure depends on it being cheap; around $1/gallon. But it is over $3 today. I suspect cost of goods is going to skyrocket next week or the week after.
If these prices stay into the winter, many folks in the northeast won't be able to afford to heat their homes. Or if they can heat their homes they won't be able to afford to eat (as the price of food is also going to increase dramatically). Towns aren't going to be able to keep the roads clear - the price of diesel for the plows is now 2x what it was last year. Taxes are going to have to go up this winter or next spring just to pay for road maintenance.
The crux of the problem is our lack of good mass transit - as many people have stated before. Boston, NYC - both have a decent mass transit system used by millions of people every day. Albany NY - you are lucky CDTA picks you up, let alone that it got you somewhere anytime today. *sigh*
Good thing my car is getting around 27 mpg. Even that is going to cost me more than $33/week in gas just between home and school. I never thought I would be counting the miles each day. Now I am. CDTA's weekly bus pass is $36. Sure I have to pay for the car insurance and the car loan, but my weekly fuel costs are about the same (or slightly less) than the CDTA bus pass - and I don't have to walk 2 miles between a bus stop and my destination.
Sunday, August 28, 2005
Kerberos Printing on MacOS X
The RPI Computer Science department network uses Kerberos to protect its print spoolers. This allows students and faculty to print from any computer on the network and yet the department can verify the individual is allowed to print to that printer - and more importantly - track usage to prevent printer abuse.
MacOS 10.3 and 10.4 uses CUPS - and CUPS doesn't support connecting to a remote LPR daemon that requires Kerberos authentication. MacOS 10.3 and 10.4 both support printing to an SMB print spooler, but for unknown reasons 10.4 can't actually print over SMB.
Due to the architecture of CUPS and MacOS X it is rather difficult for a CUPS backend to gain access to the user's Kerberos tickets. So I developed this solution. :-)
Installation is rather technical - if you aren't comfortable opening a shell and using a command line don't attempt to install this software.
Otherwise, here you go: cups2lprng-relay-1.0.tar.bz2
At login a Perl script is started and run in the background as a
daemon.
The daemon creates a UNIX domain socket in /tmp which only the
user can access.
The CUPS backend (cups2lprng) is run as root by the CUPS printing
daemon. When the print job is received by the CUPS backend the
backend connects to the UNIX domain socket of the user who CUPS
claims submitted the print job. The print job is then copied over
the domain socket.
When the daemon receives a connection it starts up an LPRng process
to print the incoming print job.
Other solutions have tried to run LPRng directly from within the
CUPS backend process. This has proved to be impossible with
Keberos tickets as the tickets are held in memory by the kernel
and are unavailable to the CUPS backend.
We get around the problem by running the daemon as the part of the
user login/desktop. The daemon will have access to the user's
tickets.
I have seen a solution from NCSU which has a printer plugin that
copies the user's Kerberos ticket to a temp file, then passes that
temp file to the CUPS backend. This exposes the ticket on disk
for a short period of time - a risk. This solution avoids that
risk.
MacOS 10.3 and 10.4 uses CUPS - and CUPS doesn't support connecting to a remote LPR daemon that requires Kerberos authentication. MacOS 10.3 and 10.4 both support printing to an SMB print spooler, but for unknown reasons 10.4 can't actually print over SMB.
Due to the architecture of CUPS and MacOS X it is rather difficult for a CUPS backend to gain access to the user's Kerberos tickets. So I developed this solution. :-)
Installation is rather technical - if you aren't comfortable opening a shell and using a command line don't attempt to install this software.
Otherwise, here you go: cups2lprng-relay-1.0.tar.bz2
How it works
At login a Perl script is started and run in the background as a
daemon.
The daemon creates a UNIX domain socket in /tmp which only the
user can access.
The CUPS backend (cups2lprng) is run as root by the CUPS printing
daemon. When the print job is received by the CUPS backend the
backend connects to the UNIX domain socket of the user who CUPS
claims submitted the print job. The print job is then copied over
the domain socket.
When the daemon receives a connection it starts up an LPRng process
to print the incoming print job.
Kerberos Tickets/Mach-O Chains
Other solutions have tried to run LPRng directly from within the
CUPS backend process. This has proved to be impossible with
Keberos tickets as the tickets are held in memory by the kernel
and are unavailable to the CUPS backend.
We get around the problem by running the daemon as the part of the
user login/desktop. The daemon will have access to the user's
tickets.
I have seen a solution from NCSU which has a printer plugin that
copies the user's Kerberos ticket to a temp file, then passes that
temp file to the CUPS backend. This exposes the ticket on disk
for a short period of time - a risk. This solution avoids that
risk.
Wednesday, August 24, 2005
Starting Graduate School!
I'm finally starting graduate school. I left my full time job to focus on a doctorate in computer science at Rensselaer Polytechnic Institute. Hopefully I will be able to finish in 3 years - most take closer to 6.
I'll likely start trying to write here more now that I will have slightly more free time - or slightly less - we'll see how it goes.
The main thing I am looking forward to is being able to start learning new material again... it has been a few years since I last took classes and I haven't really gained very much knowledge since I finished my undergraduate degree. I discovered it is very hard to maintain being on the cutting edge as a computing professional - most businesses won't tolerate employees spending time keeping abreast of their field. *sigh*
I'll likely start trying to write here more now that I will have slightly more free time - or slightly less - we'll see how it goes.
The main thing I am looking forward to is being able to start learning new material again... it has been a few years since I last took classes and I haven't really gained very much knowledge since I finished my undergraduate degree. I discovered it is very hard to maintain being on the cutting edge as a computing professional - most businesses won't tolerate employees spending time keeping abreast of their field. *sigh*