Archive

Archive for the ‘Uncategorized’ Category

Apache2 – list Name-Based Virtual Hosts

February 11th, 2010

Here’s a little tidbit that I never knew until I had an Apache2 name-based virtual host problem: httpd -S lists the vhosts that are being served by Apache, and how they were parsed from the config files.

The output on one of my servers looks something like:

[root@web2 vhosts.d]# httpd -S
VirtualHost configuration:
wildcard NameVirtualHosts and _default_ servers:
_default_:443          web2.jasonantman.com (/etc/httpd/vhosts.d/ssl-host.conf:7)
*:80                   is a NameVirtualHost
         default server www.jasonantman.com (/etc/httpd/vhosts.d/000-default.conf:1)
         port 80 namevhost www.jasonantman.com (/etc/httpd/vhosts.d/000-default.conf:1)
         port 80 namevhost rackman.jasonantman.com (/etc/httpd/vhosts.d/rackman.jasonantman.com.conf:1)
         port 80 namevhost whatismyip.jasonantman.com (/etc/httpd/vhosts.d/whatismyip.jasonantman.com.conf:1)
Syntax OK

This is quite useful in debugging vhost problems, especially those pesky times when a request that should go to a specific vhost is being served by the default (in my case at this time, I had two ServerName directives instead of a ServerName and a ServerAlias).

Uncategorized , ,

Android links – maps, dial a phone number

November 22nd, 2009

If you’ve used Google search from an Android device to search for a business, you’ve probably noticed the two interesting “buttons” to the right of the search listing – “Get Directions” and a button for the phone number. It turns out, these are pretty easy to implement.

The “Get Directions” link is a simple link to Google Maps like This One. The links are actually pretty simple:

<a href="http://maps.google.com/maps?daddr=42+Pierce+Ave%2C+Midland+Park%2C+NJ+07432">Get Directions</a>

It just uses a regular Google Maps URL, with the destination address encoded. When the link is clicked in the Android browser, a dialog pops up asking the user whether he wants to open it with the browser or the Maps application. If Maps is selected, it automatically opens with the address from the URL in the destination input box, the phone’s current location as the start input, and gives easy access to directions and navigation.

The telephone links are a bit more interesting. Apparently, the Android browser uses the Phone app to handle the “tel” scheme, as defined by RFC 3966.Therefore, clicking a link like:

<a href="tel:2015555555">201-555-5555</a>

on Android will bring up the Phone app and pre-enter the digits for 2015555555. Luckily, it doesn’t automatically dial the number. If you want to give it a try and are using Android: 201-555-5555.

The final step is how to implement this. I don’t know if most mobile browsers (Blackberry? iPhone?) also support the “tel” URI scheme, or how they’ll handle Google Maps links. But if you’re looking to include Android-specific content, the user agent string from my Motorola Droid (Android 2.0) looks like:

Mozilla/5.0 (Linux; U;Android 2.0; en-us; Droid Build/ESD20) AppleWebKit/530.17 (KHTML, like Gecko) Version/4.0 Mobile Safari/530.17

I know that there are a number of PHP classes out there to detect browsers (like Chris Schuld’s browser.php) and some things to detect mobile device capabilities (like WURFL or Tera WURFL, both using the WURFL data). However, if you just need to know whether your user is on Android or not, I’d personally recommend just checking the user agent string for “Linux”, “Android” and “WebKit” until a better browser identification system is found, as these are not likely to change in the near future.

Uncategorized , ,

Cisco CatOS GBIC Information

June 20th, 2009

I have a Cisco WS-G4912 (12-port Gigabit aggregation switch) that I’m using to bring my network up to Gig-E. It’s about all that I could afford, and works fine. Most of my older servers are running 1000BASE-SX multimode fiber, but I decided to use copper GBICs for the new boxes that have onboard Gig-E ports. Unfortunately, $100+ for Cisco GBICs was way too much for me, so I found some third-party GBICs on Ebay from TNet USA right in Fairfield, NJ.

I wanted to make sure the GBICs work right, so I happened to find out about the undocumented CatOS command `show sprom [mod/port]` which shows the serial PROM information.

Uncategorized ,

OpenSuSE Internet2 Mirror

May 13th, 2009

I just bought a “new” desktop – I was thinking of doing an insane AMD Phenom II x4 940 (quad-core 3.0GHz) box – but I happened to find a used machine from $WORK; a Dell Precision 470 workstation, dual Xeon Nocona 2.8GHz processors, 4GB RAM (takes up to 16GB). So, I need a DVD of my usual desktop distro (OpenSuSE) for x64. Being that I’m at work (Rutgers Unviersity), I figured the quickest thing would be to find an Internet2 mirror, as Rutgers has 400Gbps peering on NJedgeNet.

Unfortunately, the OpenSuSE Mirror List doesn’t mention which sites have I2 peering. Luckily, the first logical one I tried – the Harvard mirror – was showing an I2/MAGIPE route via traceroute.

If anyone else needs an I2 mirror of OpenSuSE, http://mirrors.med.harvard.edu/opensuse/ seems to do it. My desktop was getting a sustained +/- 160 Mbps transfer rate, and I got the entire 4.3GB DVD image in under 2-1/2 minutes.

Uncategorized ,

Verizon Wireless uses Mantis for ticketing

December 17th, 2008

Many times, I’ve wished that I paid the $20 to get software for my Treo 700p to record phone calls. About a month or two ago, I had some issues with my phone and had to call Verizon Wireless. The poor woman was trying to open a ticket for me, but said that she was having some problems, as they were moving from one ticketing system to another, she was having some issues with the new one, and the old one was down at her location.

As she waited for a rep from another location to come on the line and enter the ticket, I happened to remark that I work in IT and had been doing some work with them (Eventum) lately. She mentioned that the old one was a proprietary system, but asked if I’d ever heard of Mantis. Of course, I said that I had. And was then asked if I knew much about it, and whether I might know what the problem she was having was caused by. Unfortunately, I had to say no, as I’d never used it for more than a few minutes. But I did get to confirm that a company as large and closed (they won’t support Linux, their phones run closed OS’s, and they block my port 80) as Verizon is happily transitioning from closed-source proprietary software to a GPL’d alternative. I also got another item to add to my list of telephone tech support people who have asked me (the customer) for support.

Unfortunately, I don’t see Verizon listed on the list of known Mantis users, so I have no way to fully confirm this.

Uncategorized , ,

Firefox 3 Finally Out!

June 18th, 2008

It’s a wonderful day. And if you haven’t taken a swing by the Firefox Download Site yet today, shame on you! Mozilla is attempting to get the Guinness World Record for most software downloads in 24 hours – and that 24 hours ends at 2:16 PM EDT today! So run over and get it… now! (and please download from Mozilla’s site so they have an accurate count).

Anyway, I’m going to do my part by downloading the Linux tarball on every machine I have that has a graphical display – though I don’t know if my NAT will end up being counted as one download. For the Linux users out there, I was able to find an RPM on the openSuSE site though I’m not yet sure whether it’s the release or the beta version. Windows and Mac users have it easier – Mozilla packages software for you, we have to do it ourselves or wait for someone else to.

Anyway, Firefox 3 is supposed to have much better memory usage, be a bit faster, and also have some great feature enhancements.

Miscellaneous Geek Stuff, Uncategorized

Update

June 15th, 2008

I’ve been incredibly busy lately. But I have 2 quick updates-

1) tuxOstat, my thermostat project, isn’t totally finished, but is up and running. There’s still some work to do, but the code is largely complete, and in CVS. There’s also a web interface with temperature graphs, system status, and a (horrible) webcam view of the LCD control panel. I’ll probably be finishing up a first version this week, finishing the documentation next week, and releasing what I have soon.

I got an e-mail today about one of my older projects, PHP EMS Tools, a PHP/MySQL based application for fire/EMS agencies to handle scheduling, membership rosters, equipment checks, etc. The potential user was asking about running the software on Windows – which, of course, I have no experience with. I’m pretty sure there aren’t many, if any, Unix-specific calls hidden in the code, and advised him to try XAMPP (Apache/MySQL on Windows). But I did take a moment to comment on why I chose Linux. My pilot installation of PHP EMS Tools, at the Midland Park Volunteer Ambulance Corps, where I’ve been a member since 2005, has been handling our scheduling, roster, and equipment checks since June 2006. It’s running on a generation 1 Compaq Proliant DL380, running dual Pentium III 733MHz processors and 1GB memory – and even with a number of other programs on it, including ieilogd which is reading from the serial port 24×7 – the load average has never passed 1.2 and the memory usage is well under 50%. More importantly, the system has been up for 442 days without a hiccup!

Uncategorized , , ,

Testing blog via email on my Treo

December 25th, 2007

Well, I'll admit there's no real reason to this post. I just setup blogging via email, and wanted to test it out from my Treo. Assuming all goes well, it will show up… And then promptly be deleted.

Uncategorized

Sun Blog

October 2nd, 2007

Well, I’ve created my official Sun Microsystems blog as Campus Ambassador for Rutgers University. Not that I honestly think anyone reads the non-technical blog entries here, but if you do, you may want to check out the Sun blog as well.

Most of the Sun blog entries will probably have to do with Sun technologies in education or at Rutgers, but when there is something of interest to a more general audience, I’ll be sure to post here as well.

In other news, I’m really really busy lately, between Sun training, my job (now doing hardware/lab support and some wireless work) for Rutgers, and school. I have a really long list of things to do personally, including buying some new systems to move my home/development network over to the Solaris 10 operating system, getting a new template for this blog, and wikifying all of my web sites (mostly those at jasonantman.com). To top it all off, my truck was broken into this afternoon (broad daylight on a busy street) while I was at class. The front passenger window was smashed in and my Mio c310x GPS was stolen, so between the window and the GPS, I’m a bit behind where I’d like to be in terms of budget.

Uncategorized

Bug / Issue Tracking Software

September 7th, 2007

I recently posted the following to the DevShed forum in hope of an answer:

I’ve spent the last 48 hours reading up on bug tracking software. At the moment, I’m using the SourceForge tracker for my public projects and a custom (lightweight kludge) system for internal and customer-specific stuff.

First off, I’m looking for something that’s F/OSS and no-cost. Beyond that, it should have a web-based interface, preferably coded in PHP as that’s what I’m most comfortable writing code for.

I’ve looked into many possibilities. At the moment, they’re pretty much narrowed down to RT, FlySpray, Codetrack, Trac, and a few other america’s promise rorabaugh3possibilities. I’ve immediately disregarded anything without an online demo, so some may have slipped by me.

I can do some coding to add a few features as needed, but here’s what I’m looking for:

1) Web-based interface
2) Ability to handle multiple projects
3) Ability to handle modules/branches of a project – specifically to be used for projects which also have custom, user-specific modifications on a branch.
4) *multiple* bug submission forms – ideally, one for team members/technical users, one (simplified) for non-technical end users, and one for non-technical users which also collects browser/OS information, as many of my projects are web-based.
5) If possible, integration with CVS or SVN so that I can track commits related to a specific bug.
6) Fine-grained access control. There should be a way to submit an anonymous (unregistered user) bug. Anonymous submissions and registered user submissions should be authorized on a project-by-project (or branch-by-branch) basis. There should also be access control on viewing *any* information at all for certain projects/modules (so the same system can be used for internal-only projects).

I’m sure that I have a lot of other requirements, but these are the ones that stuck out in my mind. Also, though I don’t have a system up and running yet, there’s a possibility I may be moving to LDAP for all auth, so something where I could drop in a custom auth module would be a plus.

Any suggestions?

I know I probably won’t find *all* of this in one place, but I’d like to minimize the amount of programming I have to do. After all, starting a new programming project to track bugs in an existing one isn’t especially efficient.”

We’ll see what happens out of it.

I recently received a few emails from someone attempting to get PHP EMS Tools up and running for his EMS agency. I did a lot of correspondence via email, and ended up in a bit of a predicament. First off, since CVS is down, I had to make a copy of the latest development sources from their live location on my web server, and revert to using RCS for the development work. Secondly, he wasn’t familiar with the SourceForge trackers and didn’t have an account with them, so I had to manually enter the bug reports. This was not good. I need something better.

I know that a lot of ticketing systems use e-mail interfaces, but I have no interest in that – I want to be able to require certain information for certain people. Moreover, I have a few main issues with most of the ticketing software I’ve seen:

  1. It’s either designed for development team members or non-technical end users. I want a system that can present an end-user with a simple, non-jargon-filled issue submission form, yet put that right in with issues entered by developers, which would have a greater depth of technical content. Developers should be able to follow-up on users’ tickets and add technical details as needed. Most importantly, since most of my projects are web-based, I want to add JS to the form which will include the users’ browser and OS information in the ticket.
  2. I don’t have a server farm. I don’t expect to be getting hundreds of bugs a year, let alone week. As such, it makes no sense for me to run a separate system for every project. I want a system that can handle multiple projects.
  3. Furthermore, I want it to handle internal projects as well – server upgrades, hardware issue tracking, etc. As such, it should support fine-grained access control, both for viewing and submitting bugs. Some projects should allow anyone to view bugs, and allow a non-registered (provided the email address is valid) user to submit. Some projects shouldn’t let anyone but me see *anything*.
  4. I need support for branches within projects. While PHP EMS Tools only has the trunk publicly available, I now have two branches, one customized for my organization and one for this gentleman’s organization. I want a system that can understand that these are branches of the main project, and that bugs may pertain to only one of these branches, but that all of the bugs from the trunk will pertain to them.
  5. I would love a system that can somehow integrate with CVS or SVN, so that I can associate a specific commit with a specific bug(s).

So far, I’m considering FlySpray, RT, and Trac. I’m also looking at Eventum, Codetrac, and BugZero. I’m interested in OTRS as I’ve heard good things about it, but I can’t seem to find a web-based demo. Most likely, I’ll probably give two or three of them a whirl, and then add in the custom code to do what I need. Of course, none of this will happen until I either get CVS back up or migrate to SVN.

Projects, Reviews, Uncategorized , , , , , , , ,