Authentication, LDAP, phpMyAdmin

I’ve had a long standing problem. Every time I rebuild my main server (which contains my websites, my mail, my ldap directory, etc), I get myself wrapped around the axle with authentication. I particularly seem to get into trouble with authenticating access to phpMyAdmin. I use ldap for basic authentication in apache. This morning I figured out some obvious things (they are always obvious once you figure them out). I write this down so that the next time I make the same mistake, I’ll have someplace to look to trigger my memory. If it should happen that anyone else who suffers from the same density could get any help from this, so much the better.

Continue reading Authentication, LDAP, phpMyAdmin

Self-inflicted disaster

The blog portion of my website is wordpress, the remainder (that the public can’t see) is php built with Zend framework. The whole thing sits upon a linux box, running fedora, which is in a facility on the other side of the nation from me. The server was 4 releases behind, hadn’t been upgraded in 2 years, and hadn’t even been rebooted in 288 days. I was hosting not only my own website, but 8-10 others for other people – friends and acquaintances who for whatever reason don’t have or can’t afford a hosting service. Obviously things were going entirely too well.

 

So, a few days ago I decided to upgrade to a new release of Fedora (or, put another way, I decided to shoot myself in the foot).

Continue reading Self-inflicted disaster

Leadville

Certificate

Today I flew N8132Y to the Lake County Airport in Leadville, Colorado. This airport has the distinction of being the highest paved runway in North America, at 9927 feet. The folks at the airport tell me that it is the third highest in the world, after one in Nepal and another in Peru.
It is a beautiful flight on a nice day, although there is no escaping the fact that flying through the mountain valleys you are going to get bumped around a little. For me, this is part of the challenge of learning to fly in the mountains. I have never quite gotten used to turbulence, even mild turbulence. Most of my flying has been over the plains, and all in good weather. If it is turbulent out, mostly I don’t fly (although my private checkride was an exception). But if you go over the mountains at the lower altitudes of these small planes, there are going to be air currents. You just have to expect it, and learn to keep your heart from jumping into your throat. After all, the wings are not going to fall off.
The second thing which makes these flights different is the requirement that you constantly be thinking about where you will put the plane if you have to make an emergency landing. Naturally this is way less of an issue in a turbo-normalized twin like 32Y. If I lose an engine, I have another, and with the turbos I can maintain altitude with one engine, and find a place to put down safely. But I’m still thinking about it. How far am I from surrounding airports? Is there a reasonable straight road around?
Finally, there is the excitement of trying to take off in a fully fueled plane, in August, at 9934 feet! Right now with temp/dp at 19/-1 and 30.46 inches, density altitude is 12,100! The runway is 6400′ for just this reason. Fortunately, with N8132Y’s turbos this isn’t really that much of a challenge, but for a normally aspirated engine 6400′ would seem awfully damn short. I wouldn’t want to try taking off today in a fully loaded 172.

Vino, Vinagre, VNC

Another bit of lore that I don’t use often, manage to forget, and end up having to figure out again from time to time:

Vinagre is obsolete. This was the name of the previous built in remote viewing client in gnome (and therefore, for my purposes, in both Ubuntu and Fedora). It will operate as a VNC client (i.e. enable opening windows to VNC servers), but also an RDP client and will even pop up a terminal window for an SSH session. .

Remmina is the new remote viewing client, replacing Vinagre.

Vino is the name of the built in VNC server. This is launched when you invoke the “desktop sharing” preference and enable “allow other users to view your desktop”. Your gnome instance sprouts a vino server listening on 5900, giving (possibly password protected) access to the existing desktop to any vnc client that can reach port 5900. A remote user attached in this way is sharing the desktop with the user seated at the “console”. When either moves the mouse, both will see the cursor move on the the display.

Realvnc, Tightvnc, Tigervnc, Ultravnc are all different forks of the original VNC. Realvnc was the first, from the original devlopers. Tightvnc developed improvements in the encoding (tight encoding) if both ends are tightvnc. Tigervnc seems to be a Fedora fork of tightvnc. All will work with other, but some improvements only kick in if both ends share the improvement.

Xvnc in linux (as installed with the tigervnc package) is a little different animal. It is really a two-headed server, with an X server on one side and a vnc server on the other. The X server is an entirely separate virtual display than the console. There is no physical monitor anywhere, but applications can be started which open that X server and display upon it. On the other side, VNC clients are able to view and control the applications which are displaying on the X server. When the X server is launched, any X applications wanted can also be launched — including an entire gnome desktop environment (entirely independent of the gnome environment which might be running on the “console”, if there is one). Multiple users can have different desktop environments open, albeit using different network ports for each. VNC ports normally start at 5900, which vino attempts to use if it is enabled. So different remote users can use 5901, 5902, 5903…  Continue reading Vino, Vinagre, VNC

Learning to Fly Fish

Helped a local volunteer organization to build a website. They are Project Healing Waters – the Denver Program, and they help returning vets who have experienced some damage. They help by teaching the vets to fly fish, and organizing outings for them. If you are interested in the subject, see http://projecthealingwatersdenver.org.
As a thanks for the help, their head coordinator gave me a fly rod, and one of their other officials is giving me fly casting lessons, and has offered to take me Fly Fishing next week. I’m very excited about this. I’ve always wanted to learn to fly fish. It looks very therapeutic.

Adding maps to my java flying apps

Just for fun I explored the Google Maps API and put maps into the flying apps. The google maps aren’t FAA charts or course, but on a multiple leg trip it is quite handy to be able to see the various stops laid out on a map. I also added maps to the page that shows the list of checkpoints. I think this is pretty handy in flight planning, as the alternative is to mark up a hardcopy chart.

Another nice new feature is airport lookup. This is a jquery enabled box on the pages that are asking for an airport ID. If you are planning to fly to some city but don’t know the ID of the airport there, you can just type in the name of the city. It is an autocomplete thing which does an ajax lookup in the airport database as you are typing, giving you a progressively narrower list of airports in cities that match what you have typed. Once you select an airport the ID is automatically put into the field.

Try the flight planner to see these new features.

Flying Apps updated

I finally got around to writing the code to decode TAFs. A lot of the code for decoding individual terms is shared with the Metar decoder. Metars are actually a bit more complex. The only complexity with TAFs is dealing with a sequence of forecasts for different time periods.
I also updated the ADF Tester applet a little to bring it into this century. It is quite an interesting thing to note how much java’s internal mechanisms mutate over a period as small as 5 years.
The flying apps are on the Flying page.

Deploying Tomcat from Eclipse

I truly do not understand all I know about this, but I’ve been tripped up by this several times now.
After working on a java servlet in Eclipse on a home machine (which happens to be Windows in this case), when I’m ready to deploy I export a WAR file and upload it to Tarragon, the Fedora box that serves this site. I copy the WAR file into /usr/share/tomcat6/webapps, and tomcat redeploys it. Then I have to fix the context.xml to change the datasources from the test database to the real database. Naturally I do this in /usr/share/tomcat6/webapps/<app>/META-INF/context.xml. Then I fire it up, and it fails. Continue reading Deploying Tomcat from Eclipse

Flying the Rockies

In an earlier post I mentioned that my early flight education inculcated me with a healthy fear of flying in the mountains, and that I’m trying to build up my confidence. I’m “stretching” myself, pushing myself. Two weeks ago I flew to Steamboat Springs, a charming little town in Northern Colorado. Yesterday I flew to Glenwood Springs on the other side of the Rockies. In both cases this means flying through the mountains. Glenwood Springs is quite a challenging little airport, nestled down in a valley with mountains all around. To get down to pattern altitude (7000 feet) I was descending in a valley southeast where the airport was out of sight, and then flying around this little ridge to finally get into the pattern. The final comes over a little river which creates some little downdraft. And of course this is only a 3100 foot runway. Plenty of runway I suppose, unless you are as inexperienced as I am. I’m landing the twin at blue line, which is 120mph, so if I don’t get it down pretty quick I’ll run out of runway, and the other end of this runway is not very accommodating to running over. Experience pilots would laugh at me. Bush pilots put bigger planes down in much smaller runways. But I’m still pleased. I’m pushing myself, and I’m learning.

Standalone java apps vs JNDI datasources

This is another post as a memory jogger for me.

Whenever I switch back to java I have trouble remembering the evolving history of setting up mysql connections. Back in the dark ages, you used to do this with Class.forName. But by the time I started writing servlets initially, it was being done instead with DriverManager. Then along came DataSources which could be set up in JNDI. A much more elegant solurtion, as long as you have a container to offer the JNDI service. Most of the active java I have is servlets running in Tomcat, and these are happily set up to use DataSource objects, and the DataSources are all described in the context and picked off from there. Continue reading Standalone java apps vs JNDI datasources