Skip to content

All posts by moore - 74. page

Marc Andreessen considers his blogging

Well, Marc Andreessen has been tearing up the blogging world, with prolific excellent writing including his series on the truth about venture capitalists and his ongoing series on startups, among others. But after 5 weeks of blogging, he has written about 11 lessons he’s learned from blogging. It’s an interesting read, and I think every blogger wants to be a little self referential, as the feelings tha blogging evokes are powerful. Heck, I did it myself. I hope he proceeds back to regular content, as opposed to blogging about blogging, quickly, but I do think he makes some strong points, especially #5:

Fifth, writing a blog is way easier than writing a magazine article, a published paper, or a book — but provides many of the same benefits.

I think it’s an application of the 80/20 rule — for 20% of the effort (writing a blog post but not editing and refining it the quality level required of a magazine article, a published paper, or a book), you get 80% of the benefit (your thoughts are made available to interested people very broadly).

I encourage everyone who is interested in not being a commodity to blog (and that pretty much means everyone!). Because of the widespread distribution, if you have something interesting to say (and I believe pretty much everyone does), you can quickly gain readership. It’s the best form of marketing for individuals that there is.

That doesn’t mean blogging is easy–there are posts I’ve written on this blog that, as I read back over them from a few years on, are rather embarrassing (technical mistakes, pompous pontifications, etc). But the benefits to having a nearly four year public collection of my thoughts and interests including some very useful and articulate posts, outweighs the less than stellar bits.

PHP form generation

I just wanted to say: if you are building an application in PHP and you need to edit or search data from a relational database, HTML_QuickForm, DB_DataObject, and, occasionally, DB_DataObject_FormBuilder, can be very useful for prototyping and, depending on your client’s needs, building.  The tools are well worth a look if you’re planning to write any custom PHP database manipulation code.

Film On The Rocks 2007 ICal file available

I’ve thought for a long time that venues should publish event information in a more computer friendly format. I’m not alone. At barcamp a few months ago, Tom Tromey mentioned the same idea. I believe he’s approached KGNU, but I don’t see any evidence that the concert calendar is available via ICal or RSS.

Making your event information computer parseable allows people to access your event information data and use it in different forms. The win is big for event venues because, unlike some other data providers (like magazines), the business model is robust and built in–people buying tickets to a show. Event venues should want their calendar data spread far and wide!

Since I’ve started using Thurnderbird and in particular the Lightning plugin, I’ve been loving the calendar. I used to have a paper calendar that would be occasionally updated. But since I’m in front of my email all the time, I can use Lightning for todos, reminders and sundry other items that would have ended up on a note card or back of an envelope before.

That’s why I’m making the Film On The Rocks ICal file available–purely for selfish reasons. If you’ve never been to Film On The Rocks, it’s a good time.

If you are a event venue and would like advice on making your events even more noticable, feel free to contact me. If you’ve got your events in a database of almost any kind, it shouldn’t be hard to do.
[tags]film on the rocks,red rocks, events, ical[/tags]

Weird Network Failure When Windows XP Stands By

Sometimes when I hibernate or standby my windows XP box, starting it back up causes network failure. Websites couldn’t be found, ping failed, and ssh couldn’t go anywhere.

I was perplexed for a while, as restarting the wireless connection didn’t fix the problem. You actually had to restart the entire computer.

A few weeks ago I dug into the problem and realized the issue was the dns service.

To fix, just restart the dns service from a cmd window (as an administrator) like so:

net stop dnscache

net start dnscache

You should be good to go.

[tags]windows,services,dnscache[/tags]

Announcement: FRUGOS GeoSummit 2007

One of my clients is helping out with this unconference. If you’re into GIS, it seems like it’d be worth going. I certainly had fun at the last unconference I went to.  I am planning to attend; hope I see you there.
———————–

FRUGOS (Front Range Users of Geospatial Open Source) is holding its
first GeoSummit on Saturday, June 16th at Churchill Navigation–100
Arapahoe–in Boulder.

This will be a unique gathering of a variety of folks interested in
Place–geo-types, hackers, academics, artists, amateur enthusiasts,
etc. While there certainly will be representation from the GIS and open
source worlds, we encourage all who are fascinated about the
intersections of technology and engagement with the world around us to
participate.

Also, we’ll be structuring the day around the “un-conference” model (see
http://www.barcamp.org), so, for starters, you
can expect:
No Pitches
No PowerPoint
No Passivity (unless you’re a little sleepy after lunch)

Bring your laptop (we’ll have wireless), and a project or enthusiasm
you’d like to talk about with the group, get feedback, and collaborate
on fresh solutions: the agenda of the day will be structured during
the morning registration/sign-up/socializing period.

If interested–
1) RSVP by joining the Google Groups set up for this event–

http://groups.google.com/group/geosummit

2) Bring a laptop (and cellphone/GPS if your enthusiasms tilt that
way), your idea/project, and willingness to collaborate

3) Spread the word

Tentative Schedule

9:30-10:30AM Registration, refreshment, socializing
10:30-12ish Sessions
12ish-2 Lunch (there’s a grill, beverages, and hiking trails)
2-? Sessions

This promises to be a great combination of creativity, intellectual
engagement, eating and drinking, and socializing.

————————

[tags]barcamp,gis,unconference[/tags]

Find (or found) a consulting support group

I work on my own most of the time, out of my house. This means that I have regular email and phone contact with other people, typically clients, but only occasional face to face time. This style of work suits me, though I have friends who say it drives them batty. I enjoy the short commute and the freedom to order my day as I see fit (as long as I deliver).

However, sometimes it’s nice to have contact with people who aren’t paying you money. Users groups (such as BJUG) and meetups (such as the New Tech Meetup) can be informative and through provoking, but the presentation focus makes it hard for me to connect with other people. What I’ve found works best is a small regular lunch group with other consultants.

At lunch, you can discuss business problems, sometimes related to people who aren’t paying you money, but should be. You can get referrals for professional services that you may need–accountants, lawyers, etc. The group can be a source of business for you, as well as a place you can find someone to refer clients to for projects beyond your expertise. I always find it interesting to hear what other people are doing: one of my favorite lunchtime activities is the ‘new project go around’, where everyone talks about what new project he or she is working on.

In short, gathering on a regular basis with a set of consultants who you know and trust can be very useful. I have found once a month works just right for me–we always have plenty to talk about. We have also met semi monthly, and that was alright too–a bit harder on the schedule. A group of 4-8 people is about the right size–less and you don’t get as much cross pollination, more and you start to lose track of people. If you can, try to have people from different parts of the technology world in the lunch. The group I belong to has development managers, UI folks, project managers, developers and designers. This means that if I have a problem to discuss, I can get a lot of different viewpoints.

How do you start such a consulting support group? I think the best way to do it is to pick a restaurant and time, and invite 10 colleagues that would find this type of networking both useful and geographically convenient. At the restaurant the first time, see if people are interested. If so, set up an email list, and pick future dates. Don’t try to pick a time to meet that always works for everyone–part of the reason to invite 10 or so people to start the group is so you have enough people for a good conversation when someone inevitably can’t make it.

My group wrote up some bylaws–the most important of which was that no clients would be invited, except with prior notice to the email list. The reason for that was to allow the sometimes frank discussion of issues. Other than that, just set up a recurring event in your calendars and ping the email list when the lunch is near. And let the discussion commence!

Connecting PHP and Java

Have you ever had a project written primarily in PHP, but there were some java systems that you wanted to connect to? Perhaps there was a third party library or a java API that you really want (or are required) to use, but PHP had been chosen for other reasons.

The php java bridge is your solution. The documentation is good, and the performance is pretty darn good (if you’re looking for benchmarks, search for ‘How fast is it?’). You can use the bridge over sockets, a xml based protocol via servlets, or over a mono application. The mailing list is active, and it looks like the primary developer actually answers questions on said list (as of May 2007).

I’ve always been a bit hesitant regarding cross language programming: “Great, now I get to debug in two languages that communicate via sockets! Yahoo!”. But for a certain set of circumstances, using this bridge can be the right answer.

[tags]php, java, cross-language programming,php java bridge[/tags]

Extending AWStats reporting

AWStats is a powerful, free web log analysis tool. I had a client that had some specific reporting needs–parsing urls retrieved and reporting how many times any document in a specific set of directories (but no other ones) had been viewed.

Luckily, AWStats is configurable enough to do this using the Extra Sections feature; in fact, there is an example in the documentation showing how to do exactly what the client needed. In fact, you can do a ton with regular expressions and AWStats. Basically, if the data is in the web logs, you can build a custom report for it.
[tags]awstats,custom reporting[/tags]

Mobile Device Capability Database

It’s been a few years since I’ve done any mobile development, and it seems like things have moved on. But one of the hardest problems I faced was finding out what devices supported what APIs. It looks like WURFL is trying to solve this problem:

The WURFL is an XML configuration file which contains information about capabilities and features of several wireless devices.

The main scope of the file is to collect as much information as we can about all the existing wireless devices that access WAP pages so that developers will be able to build better applications and better services for the users.

Via the good folks at SitePen.

[tags]open source,mobile devices[/tags]

How to rotate catalina.out without restarting tomcat

There seems to be some confusion regarding rotating tomcat logs, in particular rotating catalina.out without restarting Tomcat. With Tomcat4, catalina.out contains everything the application developers logged using System.out.println. Because of the way that Tomcat holds onto the file descriptor on Unix, simply moving the file doesn’t work: Tomcat merrily writes to a file that you can no longer access.

This is important to do for the same reasons you should rotate any other system log; disk space is cheap, but logs can fill it quickly, and the information value of logs decreases rapidly with time. Rotating logs typically means you remove them from the filesystem, but you can also archive them off line with tape, or to a SAN, etc. I’ve run into issues with JSVC and large log files too.

There’s an entry in the FAQ and a pointer to a maillist discussion. But you have to dig a bit and I thought I’d just document what I did. (This works for Tomcat4–Tomcat 5.5 did away with the Logger element and I’m guessing you’d just use some of the log4j configuration and RollingFileAppender.)

First off, you want to make sure that you’re rotating your other logs. This is typically done with a Logger component, configured either at the host or context level. Set the timestamp attribute to be ‘true’.

Now Tomcat is handily rotating all your host and context level logs. You may want to gzip or delete old ones via find:
/usr/bin/find ./logs -mtime +60 -name "mylog_log*"|xargs rm -f

The next step is to set the swallowOutput attribute to ‘true’ on all contexts. According to the docs, this attribute causes

the bytes output to System.out and System.err by the web application [to] be redirected to the web application logger.

Now you have to restart tomcat. But from here on out, Tomcat will rotate all configured logs, and catalina.out will only contain start and stop messages.

Oh yeah, and just as that email thread does, I heartily condemn using System.out.println because log4j is so easy to setup and use. But I’ve written code like that (admittedly, usually with a sheepish grin on my face), so I can’t cast the first stone.

[tags]tomcat4,logfile rotation[/tags]