I don't know how to say this well, so I'll just state the problem and the solution.
P: In maven, if you declare a variable for a host (where you keep config files or something), if you cannot reach the host your build might fail. I've got this issue for a groovy build script, checkstyle and pmd config's.
A: Rather than modifying your pom and possibly messing up the code, you can change your local settings.xml file to have that property instead. It seems to take priority over vars in parent poms.
Ideally, I'd store those config files with the parent pom, but I've not had time to look into how to do that.
Monday, 31 March 2008
Friday, 28 March 2008
Secure maven repo
Most of the maven repo's out there are accessible over plain http. However, you might want to secure your maven (corporate?) repo. If you have scp / ssh private-public keys set up it's pretty easy once you know the config. Like most things "maven", finding the config is the hard part. ;-)
Thursday, 27 March 2008
Vasovagal syncope
I learned a new word (?) today: vasovagal syncope. I also learned that I don't like giving fasting blood while working on almost no sleep. Ya, that was fun. Threw me off for most of the day too, especially the morning.
The worst part about the experience? They couldn't actually get any blood so I've got to do it all again. :-(
Double frick.
The worst part about the experience? They couldn't actually get any blood so I've got to do it all again. :-(
Double frick.
Wednesday, 26 March 2008
iTunes - clunky and broken
One thing that I seem to be continually disappointed from apple is iTunes. Holy craptastic. If you do a search for things like removing duplicates you get close to 200k hits. There's 3rd party commercial products that you can buy to solve this issue. iTunes allows you to "see" the duplicates in a playlist, but they don't provide anyway to prevent them. Crazy. You'd expect something that been around for over 7 years to have fixed what I'd think is a basic problem.
Another thing that keeps on causing me grief is that my media is on an external drive since I've got a macbook. So, I point my media library to the external drive, but if iTunes starts up and my drive isn't already mounted it just resets to the default location. So then I've got some files on each drive, but all the files I have iTunes doesn't think exist anymore. I end up clicking on a bunch of songs to to get things going again. It would be nice if there was a generic "now the drive is remounted, check if the files are there" button, or *gasp* have it happen automatically. I know that this is a pretty complicated thing, but it would be good if you could set a "primary" media library location and default to a secondary one if that's not accessible. And when the primary is available, to "merge" in any new media that might have been added.
I recognize that this is a total pipe dream since apple isn't even able to put a "no duplicates" on a playlist. What technical roadblock causes that? No one knows of a data structure that only allows one instance of something in it? *grumble*
This is one reason why it's nice to have open source software sometimes... there would be a patch even if the commiters don't want to have that feature.
Frick.
Another thing that keeps on causing me grief is that my media is on an external drive since I've got a macbook. So, I point my media library to the external drive, but if iTunes starts up and my drive isn't already mounted it just resets to the default location. So then I've got some files on each drive, but all the files I have iTunes doesn't think exist anymore. I end up clicking on a bunch of songs to to get things going again. It would be nice if there was a generic "now the drive is remounted, check if the files are there" button, or *gasp* have it happen automatically. I know that this is a pretty complicated thing, but it would be good if you could set a "primary" media library location and default to a secondary one if that's not accessible. And when the primary is available, to "merge" in any new media that might have been added.
I recognize that this is a total pipe dream since apple isn't even able to put a "no duplicates" on a playlist. What technical roadblock causes that? No one knows of a data structure that only allows one instance of something in it? *grumble*
This is one reason why it's nice to have open source software sometimes... there would be a patch even if the commiters don't want to have that feature.
Frick.
Labels:
rant
Tuesday, 25 March 2008
Costa Rica - Part 2 - Transportation
In my ever lazy pace of blogging, this is the second part of my Costa Rica "series". See Part 1 to catch up on all the exciting details.
Traveling in Costa Rica more touristy areas is pretty much like anywhere else I've gone minus the public transportation. A bunch of crazy cab drivers who can zoom around while you silently pray to yourself. In Alajuela by the airport they're a little more crazy. Blowing through red lights and stop signs, looking like they are about to smash up their car, getting you to your destination through a dizzying set of roads and back alleys so that you aren't sure exactly where you are. Pretty standard stuff.
Around Arenal we actually rented a small car for the day so we could get around. Driving there was actually kind of fun with the gentle up and down of the roads. That was the first time we had rented a car in a foreign country and over all it was a brief and pleasant experience.
About 50 minutes into our 2 hour journey we met up with another "taxi" that had been sent and half of the people switched to the other cab. About 5 minutes after the transfer we got a flat tire. In the middle of the jungle. Nothing around except for squirrel monkeys. The driver had a X tire iron and actually torqued the end of the iron trying to take off the rusted nuts (he used a pipe for leverage). As I had mentioned in Part 1, people are really friendly and a Tico stopped to talk and help. He had a X tire iron too, but that didn't seem to work. It didn't take long until our driver took out a hammer and chisel. No joke. He was wailing one those nuts to try and get them to turn. I've never seen or heard of someone trying to take a tire off like that. There's a reason: it doesn't work too well. I wasn't paying too much attention and then I heard a car door slam and the guy who was helping us drove off with our driver. Luckily he came back with another tire iron after like 10 minutes, but we didn't know that. He didn't explain it before he left... we wouldn't have understood him anyways. Short story, he came back, was able to change the tire and we got back just a little late. As for how many lug nuts we had on the tire: I don't ask questions I don't want to know the answer.
Traveling in Costa Rica more touristy areas is pretty much like anywhere else I've gone minus the public transportation. A bunch of crazy cab drivers who can zoom around while you silently pray to yourself. In Alajuela by the airport they're a little more crazy. Blowing through red lights and stop signs, looking like they are about to smash up their car, getting you to your destination through a dizzying set of roads and back alleys so that you aren't sure exactly where you are. Pretty standard stuff.
Around Arenal we actually rented a small car for the day so we could get around. Driving there was actually kind of fun with the gentle up and down of the roads. That was the first time we had rented a car in a foreign country and over all it was a brief and pleasant experience.
Domestic Air Travel
From San Jose we flew down to Puerto Jimenez on a small 12 passenger plane. It's a very different experience to be so close to the front of the plane where you can reach out and touch the controls. The landing in Port Jim was interesting. I don't know what they are saying with the graveyard right beside the airstrip, but I figured that it was better not to ask. Pretty smooth operation overall. When we flew back it to SJ was really, really windy. As the plane was about to touch down the it was swinging left and right about 30 degrees off center. I think that we landed on one wheel instead of them both touching down at the same time. A great experience.Taxi's in the Osa
Some taxi's in the Osa are nice, new SUV's. However, most seem to be pickup trucks where they have 2 bench's in that back that you sit on. Padding on the bench is a bonus. Not bad overall. This is how we got from Port Jim to Carate on the taxi colectivo. It was fine going there since they just kept on pulling up more trucks based on how many people were leaving. If you see your stop, just pound on the roof of the cab and the driver will stop. Coming back from Carate was, shall I say, "interesting". They had only sent one truck to do the trip back on the afternoon we decided to leave, but there was 16 or 17 people that wanted to go back on the afternoon bus (note: try and take the morning bus). So in the back of the pickup truck was 11 people, a spare tire, a propane tank (?!?), everyone's gear (huge backpacks), with 3 people literally hanging off of the back and 3 in the cab.About 50 minutes into our 2 hour journey we met up with another "taxi" that had been sent and half of the people switched to the other cab. About 5 minutes after the transfer we got a flat tire. In the middle of the jungle. Nothing around except for squirrel monkeys. The driver had a X tire iron and actually torqued the end of the iron trying to take off the rusted nuts (he used a pipe for leverage). As I had mentioned in Part 1, people are really friendly and a Tico stopped to talk and help. He had a X tire iron too, but that didn't seem to work. It didn't take long until our driver took out a hammer and chisel. No joke. He was wailing one those nuts to try and get them to turn. I've never seen or heard of someone trying to take a tire off like that. There's a reason: it doesn't work too well. I wasn't paying too much attention and then I heard a car door slam and the guy who was helping us drove off with our driver. Luckily he came back with another tire iron after like 10 minutes, but we didn't know that. He didn't explain it before he left... we wouldn't have understood him anyways. Short story, he came back, was able to change the tire and we got back just a little late. As for how many lug nuts we had on the tire: I don't ask questions I don't want to know the answer.
Sunday, 23 March 2008
As the mayhem subsides
... all I hear is the dishwasher. This year we hosted Easter. I think that this if the first time we've had a mildly large group (9 adults, 6 kids) and it went much better than I had feared. I always half expect there to be blood and broken dishes and am always pleasantly surprised. Allowing the kids to play the wii probably creates as many issues as it solves though. Ah well.
It's great to be able to see everyone and it's wonderful to actually have the space to see them all at the same time. Come summer time we'll be able to host a bbq as well. Having a house does have its advantages. ;-)
It's great to be able to see everyone and it's wonderful to actually have the space to see them all at the same time. Come summer time we'll be able to host a bbq as well. Having a house does have its advantages. ;-)
Friday, 21 March 2008
Dr. Mario and Bacteria Extermination
So Dr. Mario and Bacteria Extermination is due to be out in March. No date set for north america, just sometime in 2008. How long does it take to do a language translation and retesting on a games these days?
My only guess for the lag is for setting up the extra infrastructure for the online component, but even then how long does that take? *sigh* I just want everything now. Ah well. I guess that I should take out GH3 that we bought last night. ;-)
My only guess for the lag is for setting up the extra infrastructure for the online component, but even then how long does that take? *sigh* I just want everything now. Ah well. I guess that I should take out GH3 that we bought last night. ;-)
Thursday, 20 March 2008
Earth Hour '08
Something that Laura pointed out the other day that I thought was funny. They announced that Ottawa is going to support "earth hour" hour where everyone is supposed to turn off their lights for 1 hour on the 29th. To highlight this they unveiled a 3 story tall banner on city hall. Laura looked at that and said "I wonder how many people's offices that blocks".
I just think that it's funny. Before the banner they could probably just turn off the lights in those rooms. Now with the banner saying "turn off your lights for 1 hour", those people will probably need to turn on their lights for the whole working day. Too funny.
I just think that it's funny. Before the banner they could probably just turn off the lights in those rooms. Now with the banner saying "turn off your lights for 1 hour", those people will probably need to turn on their lights for the whole working day. Too funny.
Labels:
random thoughts
Tuesday, 18 March 2008
Arthur C. Clarke Is Dead At 90
Many sites are covering the death of what I consider one of the great authors of our time. I wouldn't consider his great because of the words he wrote, but the ideas that he inspired. Sir Clarke was the first hard sci-fi author that I read and it opened me to a whole genre. I often think about Clarke's third law and wonder at what point tech will be so interwoven into our lives that we won't be able to tell where it begins.
To steal a quote: I hope wherever he's gone, it's full of stars.
To steal a quote: I hope wherever he's gone, it's full of stars.
Labels:
random thoughts
Friday, 14 March 2008
How important is your problem?
There are some tricks that I've been using to not get totally over whelmed and flooded with work. I don't know if it's good or bad, but it helps me stay sane while working with other developers.
Filter #1:
When someone raises an issue while in passing or at the water cooler (figuratively), I'll ask them to raise a ticket so that can be addressed. If I never see the ticket, then the issue wasn't important enough to them to spend the 30 seconds of their time. It's not worth me spending time on it either. This kills 75% of "issues".
Filter #2:
On the rare cases that it gets past #1, then most of the time the ticket is somewhat vague and needs some clarification. I could guess what they mean, but I bounce the ticket back to them so they can fill out what they mean with their fuzzy ticket hand waving. When you later follow up with these issues you find out that they weren't really issues after all. This kills another 20% of issues.
That leaves the tickets that people need and want, and have a clear idea of the requirements. It takes off 95% of the tickets and reduces it to the issues of the "now". I'm not saying that this is a good idea to do with all people. I'm saying that it works for developers interacting with developers.
Filter #1:
When someone raises an issue while in passing or at the water cooler (figuratively), I'll ask them to raise a ticket so that can be addressed. If I never see the ticket, then the issue wasn't important enough to them to spend the 30 seconds of their time. It's not worth me spending time on it either. This kills 75% of "issues".
Filter #2:
On the rare cases that it gets past #1, then most of the time the ticket is somewhat vague and needs some clarification. I could guess what they mean, but I bounce the ticket back to them so they can fill out what they mean with their fuzzy ticket hand waving. When you later follow up with these issues you find out that they weren't really issues after all. This kills another 20% of issues.
That leaves the tickets that people need and want, and have a clear idea of the requirements. It takes off 95% of the tickets and reduces it to the issues of the "now". I'm not saying that this is a good idea to do with all people. I'm saying that it works for developers interacting with developers.
Thursday, 13 March 2008
It happened
I'm told that it happens to a lot of guys. I didn't think that it would happen to me. I'm careful, I pay attention at the right times and I'm usually super focused. I guess that I just got a little too distracted by the radio playing in the background or I was thinking about what I was going to do after. All it takes is one slip up though and I guess it can happen to anyone.
Tonight I locked my keys in the car. The car was running; in the driveway; with my house keys in it; me without a cell phone; right after I dropped Laura off for work. I closed my eyes and pictured how I was going to solve this problem without too many options springing to mind. First thing I did was start to circle the car trying all the doors. The 3rd one I tried opened (it was the back door). The gods we certainly smiling upon me tonight. I think that maybe Laura is right and that we do need an automatic door opener.
Tonight I locked my keys in the car. The car was running; in the driveway; with my house keys in it; me without a cell phone; right after I dropped Laura off for work. I closed my eyes and pictured how I was going to solve this problem without too many options springing to mind. First thing I did was start to circle the car trying all the doors. The 3rd one I tried opened (it was the back door). The gods we certainly smiling upon me tonight. I think that maybe Laura is right and that we do need an automatic door opener.
Git
The other day Ryan told me about Git and sent me a video of Linus Torvalds talking about it. Clearly I'm ugly and stupid from Linus's definition. Let's leave it as I just don't really "get it" yet and I'll iterate the issues that I see with it and people can tell me why I'm wrong / right.
Here's my understanding of Git:
Git was designed for open source projects with many people working on the project at the same time. Low bandwidth, quick merges, etc. No one is special. Everyone can modify the code, but what code become the "lead" code is based on a network of trust of developers.
Here's why I'm not sure if it will work well in a corporate env (as they are now):
1) corp's have servers that they backup, work stations they do not. If the code is only on workstations, I see that as very dangerous because of hard drive failure, viruses could wipe out your whole project (because generally all workstations are based on the same image and usually all windows).
2) for smaller projects where it is 1 or 2 developers, this whole network of trust isn't needed. You can't tell your boss "Fred spent 2 weeks on that feature, but I don't trust him, so I'm not going to take it". If you don't trust some else's code in your company, that's a different issue and I think that you have to address that in a different way. The whole "no node is special, but you need a network of trust" strikes me as a Animal Farm-esq way of saying "all animals are equal, but some animals are more equal than others".
3) most project teams are co-located on the same LAN. Bandwidth is a non-issue.
4) if you have a build system that's doing continuous integration, what's it building against? Do you need to have it installed on each person's workstation?
Overall it looks pretty exciting. It looks like what it was designed for it does very well. There doesn't seem to much tool support for it (IDE integration, etc) yet, but that only comes when things hit a certain critical mass.
Tell me what I'm missing and or how it would be addressed. I might be bitching about not being able to climb through the window but missing the door I am standing beside. ;-)
Here's my understanding of Git:
Git was designed for open source projects with many people working on the project at the same time. Low bandwidth, quick merges, etc. No one is special. Everyone can modify the code, but what code become the "lead" code is based on a network of trust of developers.
Here's why I'm not sure if it will work well in a corporate env (as they are now):
1) corp's have servers that they backup, work stations they do not. If the code is only on workstations, I see that as very dangerous because of hard drive failure, viruses could wipe out your whole project (because generally all workstations are based on the same image and usually all windows).
2) for smaller projects where it is 1 or 2 developers, this whole network of trust isn't needed. You can't tell your boss "Fred spent 2 weeks on that feature, but I don't trust him, so I'm not going to take it". If you don't trust some else's code in your company, that's a different issue and I think that you have to address that in a different way. The whole "no node is special, but you need a network of trust" strikes me as a Animal Farm-esq way of saying "all animals are equal, but some animals are more equal than others".
3) most project teams are co-located on the same LAN. Bandwidth is a non-issue.
4) if you have a build system that's doing continuous integration, what's it building against? Do you need to have it installed on each person's workstation?
Overall it looks pretty exciting. It looks like what it was designed for it does very well. There doesn't seem to much tool support for it (IDE integration, etc) yet, but that only comes when things hit a certain critical mass.
Tell me what I'm missing and or how it would be addressed. I might be bitching about not being able to climb through the window but missing the door I am standing beside. ;-)
Labels:
tech
Sunday, 9 March 2008
Cool art - Stefan Horik
In case I ever loose the little post card that we have of a painting by Stefan Horik, I'm blogging this so that we can find his name later. We saw some of his work in a gallery a couple of years ago in Quebec City and it was great. I've found some pictures online but it's no where near "wow" as they are in real life. The ones we saw are pretty "gunky" so it's hard to capture that in a jpg I guess.
One of these days we'll pick up something of his when it's a bit more in the budget to buy original art. ;-)
One of these days we'll pick up something of his when it's a bit more in the budget to buy original art. ;-)
Labels:
random thoughts
Friday, 7 March 2008
Costa Rica - Part 1
In order to try and "pay it forward", I'm going to blog about our experiences traveling to Costa Rica this Feb 2008 for 2 weeks. I'm planning on having several posts to describe in more detail some things, but let's start off small.
We also did a coffee tour which was really interesting to see and taste the steps that go into the process of growing and making coffee. I don't feel bad about paying more of fair traded coffee anymore...
When you're in Santa Elena and the area, you are either going uphill or downhill. There's not really anything in between. I think that the town was somewhere around 1500 m above sea level, some farms were 1100 m and the coffee processing "plant" was like 800 m. And that's maybe a couple of km away. We did a hike to the tallest point around (1800 m) and I think that the slope was 30-45 degrees for 95% of the hike. I've done a bunch of hiking at that was hard.
Okay, that's a good start for now. Other sections will be "The Osa" and "Transportation".
Nicest People Ever
A co-worker of mine has told me that the people are super nice. For the most part where ever we travel we find the people nice-ish at the very least. The ticos were calm, patient and friendly."Dry Season" is a lie
We were in the Osa (which I'll do a whole post for) during "dry season". I think that it should be called "less wet season" instead. It poured every day for minimum one hour, luckily mostly at night. I think that the humidity was 90%+. In order to give you an idea what that's like, we had "dry fit" clothing that would get wetter if you hung it up and it didn't rain on it. Crazy. That was a small, small thing compared to the beauty of the Osa, so don't let that discourage you from going there. More details later.Monteverde
We did some really touristy stuff in Monteverde like ziplining with selvatura. That was awesome and such a great experience. We also did the "tarzan swing" which I can only describe as 1/4 of a second of sheer terror followed by 30 seconds of joy. Laura who's not comfortable with heights did both. I'm very proud of her.We also did a coffee tour which was really interesting to see and taste the steps that go into the process of growing and making coffee. I don't feel bad about paying more of fair traded coffee anymore...
When you're in Santa Elena and the area, you are either going uphill or downhill. There's not really anything in between. I think that the town was somewhere around 1500 m above sea level, some farms were 1100 m and the coffee processing "plant" was like 800 m. And that's maybe a couple of km away. We did a hike to the tallest point around (1800 m) and I think that the slope was 30-45 degrees for 95% of the hike. I've done a bunch of hiking at that was hard.
Okay, that's a good start for now. Other sections will be "The Osa" and "Transportation".
Labels:
travel
How to kill a process in unix
Every so often a test case on our CI machine opens a port for a mock smtp server and then somehow leaves it open. I ssh into the machine and close the port. It usually take me 10 minutes to remember / find the command and 10 seconds to do all the work.
The command that I run is this:
Hopefully I'll be able to find it faster now rather than digging though my email. :-/
The command that I run is this:
fuser -n tcp -k [port number]
Hopefully I'll be able to find it faster now rather than digging though my email. :-/
Thursday, 6 March 2008
Jboss http access log
I never remember where it is, so I'm blogging about it so that I can find it easily...
If you want to turn on the access log in jboss 4 so you can see the http requests (404's, etc) in order to find broken links, just do the following:
Edit the server.xml file. For the default server in the default location, it is ${jboss.server.home.dir}/jboss-web.deployer/server.xml. Uncomment the "Access logger" section. The log file will show up in ${jboss.server.home.dir}/log/localhost_access_log.{todays_date}.log
If you want to turn on the access log in jboss 4 so you can see the http requests (404's, etc) in order to find broken links, just do the following:
Edit the server.xml file. For the default server in the default location, it is ${jboss.server.home.dir}/jboss-web.deployer/server.xml. Uncomment the "Access logger" section. The log file will show up in ${jboss.server.home.dir}/log/localhost_access_log.{todays_date}.log
Tuesday, 4 March 2008
Trip post-mortem
One thing that we feel is really important is to have a trip post-mortem (lessons learned) discussion and to document it. It sounds super nerd-ish, but it's really frustrating to find yourself saying on a trip "shit, we forgot [something] again... let's remember it next time". It's also a good idea to discuss what you did well, what needs work, did you pack any gear that you'd thought that you'd need but never used, etc.
For instance, when we were in Europe we did a lot of low light pictures that didn't turn out too well. We thought that bringing a tripod would be a great solution to that, so for our Costa Rica trip we took one. I think that we used it once in 2 weeks. It wasn't too heavy, but next time it might not be the best thing to take on a camping trip.
Another example is for most of our trips we don't take cutlery so we end up buying plastic forks, knives and spoons. We've got a ton of those now. It would be much better to take some camping cutlery instead.
Lessons learned are only learned in you don't keep on making the same mistakes. :-P
For instance, when we were in Europe we did a lot of low light pictures that didn't turn out too well. We thought that bringing a tripod would be a great solution to that, so for our Costa Rica trip we took one. I think that we used it once in 2 weeks. It wasn't too heavy, but next time it might not be the best thing to take on a camping trip.
Another example is for most of our trips we don't take cutlery so we end up buying plastic forks, knives and spoons. We've got a ton of those now. It would be much better to take some camping cutlery instead.
Lessons learned are only learned in you don't keep on making the same mistakes. :-P
I miss my ring
We took our wedding rings in to get engraved. I find myself going to play with my ring and not finding it. It's been less than a year and I really don't like being without it. *sigh*
Subscribe to:
Posts (Atom)