Mockups and Tools

IRC can be an excellent source of information, especially on the right networks, but every once in a while you have a conversation that is so disappointing you have to share it.

22:15 < morgajel> I'm using mockito to mock up a Dao, but I've run into an issue: What is the proper way to mock up chained getters, i.e. sessionFactory.getCurrentSession().createCriteria(Account.class).list()? a mock with a mock with a mock is considered bad form, so I'm not really sure how I *should* handle this.
22:15 <@toolA> Stop using mocks?
22:15 <@toolA> They are damned pointless anyways
22:16 <@toolA> Use somthing like Junit or spring-db tests, setup a whole cycle with a in memory db, then run that against your queries.
22:16 <@toolB> ~mock toolA
22:16 * javabot points at toolA and laughs
22:17 < morgajel> toolA... really? that's the advice you're gonna give me? "Don't use mocks when unit testing?"
22:17 <@toolB> yeah. i prefer that route over mocks, personally, even though it means testing takes slightly longer.

He continued to rant against mocks and declare them useless. A couple of things disappointed me about this:

  1. I asked a well formed, non-inflammatory question, and the response was to completely ignore the question and say what I was doing was worthless, despite being a well accepted development practice.
  2. Not only did one oper state that mocks were useless, but another one didn’t disagree with his blanket statement. While they *may* have a point that mock objects do not cover everything, to call them useless is unreal, especially in a programming channel.
  3. Rather than say “I don’t use mocks” and let someone who could answer my question respond, the conversation was then dominated by a diatribe about all of the faults with mocks.
  4. The thing I took away from this was “don’t bother asking questions in this channel because people who don’t use the tech you’re asking about will pipe up and shoot you down regardless of how nicely you ask.”

It’d be one thing if I were off topic, or it was not a programming channel, but damnit I expected better. So I don’t think I’ll be going back there anymore.

(And no, the irony isn’t lost on me.)

What’s blue and white and still not working?

My internet connection.

SO here’s the scoop

5 days until cutover:
I call AT&T, tell them I’m moving and need to transfer my Static IP DSL service on the 30th(Monday). Tech says no problem it’s all set. I am pleasantly surprised at how little of a hassle it was and that it was way smoother than any other interaction I’ve had with them.

Saturday, 2 days until cutover:
We’re planning on doing the actual moving Sunday morning and plan to spend Saturday packing and planning. However at 3am Saturday morning, the internet connection drops, leaving me unable to contact many of the people who may be able to help us move. It sucks, but ok, we can work around it. I still have enough people to get by with and have ways to contact most of them. Since we asked to be connected on Monday, maybe they had to disconnect the old line the day before in order to get their stuff in place. Maybe they cut it on Saturday rather than Sunday because nobody works on Sunday. I get that, I can understand it. While annoying, it’s still better than my previous interactions with them.

Sunday,move day, day before cutover:
We move on Sunday and realize that we never actually checked to see if the house had any phone cables in it. It didn’t. Fortunately my father-in-law knows a bit about phone installation and was able to help me wire up a stub for the AT&T guy to connect to.

Monday, 1 day after move:
AT&T shows up, runs cable, says service will be enabled withing X hours. yippie.

Tuesday, 2 days after move:
Connection is there, but my ip address has changed. “crap,” I think, “now I gotta update dns entries for our sites.” But I can understand this, perhaps my old static ip was tied to the network near my old apartment and didn’t reach this area. I can buy that. So I change my DNS entries… and they don’t work. I look again and I apparently mistyped the IP because the new DNS entry doesn’t match the external IP on the router. So I change it again. and 20 minutes later the external IP has changed again.

They had me on a fricking dynamic IP. For the non techies out there, large ISPs only have a limited number of ip addresses, and more often than not don’t have one for every customer. Since few customers stay online 100% of the time, they can take addresses away from people not using them and redistribute them as needed. This is called a Dynamic IP account. For people who run servers from their homes, keeping the same IP is important, so when your computer goes to connect to, it needs to be able to find the right IP address. That’s why I pay extra for AT&T to guarantee me the same IP address. That is why I am pissed. While there are ways to get around this (dyndns) but they’re a pain in the ass an not an option for me since I run an IRC server as well.

So I tinker around, thinking maybe *I* did something wrong- maybe my router was reset and it cleared the static info. I dig around with Jackie’s help and find the original documentation and try to set up the networking listed manually. No dice. Then I remember that yes, they did manage the info via the PPOE settings, and that just required a user name and password, which is what I was originally using. I switch it back and get yet another dynamic IP. I should point out that my static IP range was 75.x.x.x, while the dynamic stayed in the 66.x.x.x range- this made it easy to keep track of what was going on.

So I call them up and surprise surprise, they screwed up. See, they don’t really transfer accounts so much as shut off the old one and create a new one. The tech didn’t bother to notice I had a static account and replaced it with a dynamic account. I’m livid at this point, and tell them that it needs to be switched back. “Ok, I’ll put in the order. It’ll be ready in 10 days.” Now, this should NOT take 10 days from a technical point of view, this is all red tape causing the delay. But WTF can I do, so I say hell with it and go along with it.

At some point my father-in-law comes back over to help with the baby gate and notes that the technician illegally ran the line through the neighbor’s yard. While I’m half tempted to yell at them to fix it, I just wanna get a connection up and running again so I can actually write about the house.

Saturday, 5 days after cutover (timeline gets a little fuzzy here)
Connection is still flaky, but generally working. I call to check on the status of the static IP order, and find out it was never placed. They’ll get right on that.

Sunday, 6 days after cutover
Connection goes down at 7:37am. Completely. It does not come back. Jackie calls tech support this time. Flames, brimstone cries of the undead ensue. Eventually I take the phone and find out there’s still no mention of a static order of any sort for our account. Guess what? They can’t do anything about it because “orders” isn’t open on weekends. They agree to send out a tech to look at the line since they can’t see the modem from their end. He should be out between 8am and noon on monday

Monday, 7 days after cutover:
Connection begins working again around 7am- I think to myself “great, maybe they just took it down to switch over to the static IP- finally I can get my stuff up.” Nope, still a dynamic IP address. I call AT&T to get the static IP address set up and let them know the connection is up. They say hold off until the technician confirms it’s not an issue. ok. I’ll call back later. I spend my time waiting for the technician looking for any other ISPs in the area on

Technician comes out, nice guy, doesn’t see anything wrong, says he’s seen this behavior before when switching from dynamic to static, but the business won’t fess up to it. Whatever. At least the wiring was good, presuming that both the installer and the inspecting tech were both competent. While he was tooling around, I found out that Cyberonic, my ISP from DC, covers this area (they didn’t in grand rapids or rochester hills). They resell business class Covad lines to residential customers. I contemplate switching over to them, but figure it would be too much effort since I’ve gotten this far. I’m not even sure they’d have a decent plan in this area.

So he leaves and I call AT&T back and get the static all set up. She also said the static IP would be in place tomorrow. Just as we’re finishing she informs me that since I don’t have a contract, my payment will go up to $70 a month from $55. “WTF, this isn’t my screwup- you guys said you could transfer service, then you pooch it, then you want to charge me for it??”

“Oh, no,” she says, “When we transfer service, we don’t transfer contracts. If you want the original rate, you’ll have to sign up for another year of service.”

This is where Jesse snaps.

“You know what? Fine, make it the month to month price, because it’ll take me about 3 weeks to get covad in here.” She was a bit shocked by that statement, and the conversation ended awkwardly. I think she was supposed to ask if I was please with my experience but she knew the answer.

I then spent 10 minutes looking through DSL reports for ISPs in the area and narrowing down their plans- turns out that Cyberonic offers the same plan I had in DC for $60. Lets compare the plans side by side:

AT&T Cyberonic
Download speed 3meg 6meg
Upload speed 386k 768k
IP address 5 static 5 static
Stability False True
Cost $55/mo $60/mo

I call up cyberonic, phone is picked up on the 3rd ring. I tell the technician that I’m interested in their plan, I get signed up, cc infos taken, etc. The entire call lasted 22 minutes and 28 seconds. I was never transferred once, my call was never dropped, the technician never once said “I don’t know,” and they were going to do a hotswap on the line and cancel the AT&T DSL for us since we obviously can’t have 2 DSL services on the same line. The transfer should take place in the next 7-14 business days.

I’d like to point out that AT&T still hasn’t got their act together as of this morning (Thursday), and dropped my connection while I was beginning a deployment for work. That was real awesome btw. Thankfully my neighbor is allowing us to use his wireless connection until we get it straightened out. If the issues aren’t resolved by switching to cyberonic, I’ll have the neighbor report the cable crossing his yard and they’ll have to come out and redo it (this is my backup plan).

The good news is we’ve moved our blogs to I’m still in the process of converting them, but expect to be done by next Monday. The only site that will still point to my static IP is, for my streaming music, IRC server, etc. We’ve also decided to move all of our pictures to flickr, so expect to see broken images for a while.

I really want to thank for in all of this. I highly recommend them for any domain name purchases or hosting. They’ve been handling our domain names for years now, and their service is outstanding. I’d also like to thank our new neighbor Bobby for being one hell of a cool guy.

I’ll keep you updated on how things go. Hopefully I’ll start writing about the house soon.

*UPDATE 2008-07-14*
Cybronic called and told me they’d be sending a technician out tomorrow to verify the lines. Hopefully I should have a working connection soon.

*UPDATE 2008-07-16*
My bad, it was wednesday. Connection is up now and I’m back online with a static IP!

What’s on QA…

Had an amusing conversation with a developer at work that had the feeling of an abbot and costello bit. I’m leaving his name out of this to protect him, but he’s read this site before and will know instantly that it’s him. The conversation revolves around our new continuous integration system, and how the terminology has changed.

BTW, QA=Quality Assurance, UAT= User Acceptance Testing (staging)

(10:50:50 AM) morgajel: ok, so after talking to mick, it looks like my suspicions were correct
(10:50:54 AM) morgajel: there is no QA
(10:51:04 AM) morgajel: the name QA is misleading.
(10:51:16 AM) DeveloperX: hmmm
(10:51:25 AM) morgajel: trunk is for development, release is for qa, uat and prod
(10:51:26 AM) DeveloperX: what do u mean
(10:52:47 AM) DeveloperX: i have a release branch…
(10:52:50 AM) morgajel: think about it- anything going to QA is being marked as a release.
(10:53:12 AM) morgajel: so so release gets deployed to QA, then if it passes it goes on up the chain to production
(10:53:52 AM) DeveloperX: this is how the system currentlyis
(10:54:23 AM) DeveloperX: it seems to make snese to me? assueming nothing makes it ti UAT unlees it goes through QA
(10:54:36 AM) morgajel: that’s the way it should be.
(10:54:49 AM) DeveloperX: i think thats how it is
(10:54:57 AM) morgajel: the difference between this and the old system is, rather than labelling it projectX[QA], they’re now calling projectX_release_
(10:55:07 AM) DeveloperX: no? i only have a trunk and a release
(10:55:11 AM) morgajel: that’s the main difference for you
(10:55:20 AM) DeveloperX: which means the only thing goingto UAT will be from the release
(10:55:51 AM) morgajel: correct- the only thing going to qa or uat or prod will be from the release.
(10:56:12 AM) DeveloperX: so why can’t we still call it QA?
(10:56:42 AM) morgajel: because it’s *more* that QA- QA was a bad name for it from a organizational perspective
(10:57:32 AM) DeveloperX: is his only going to affect me, or is this the new approach for everyone?
(10:57:40 AM) morgajel: for everyone
(10:58:27 AM) DeveloperX: so your saying there is no pointin multiple srevers?
(10:58:33 AM) morgajel: no
(10:59:04 AM) morgajel: I’m saying whatever we put on UAT should be the EXACT same thing as QA
(10:59:13 AM) DeveloperX: so we will still push from trunkto release to UAT?
(10:59:20 AM) morgajel: and whatever we put in prod should be the EXACT same thing as both of them.
(10:59:24 AM) DeveloperX: it is
(10:59:28 AM) DeveloperX: currenlty
(10:59:29 AM) morgajel: well, from your side, here’s what happens
(10:59:37 AM) DeveloperX: at least for anything i;ve worked on
(10:59:44 AM) morgajel: you guys develop in trunk, and when you’re ready to release, you mark it as release.
(10:59:53 AM) DeveloperX: k
(10:59:55 AM) morgajel: then the QA people will check out release to the QA servers
(11:00:04 AM) DeveloperX: k
(11:00:10 AM) morgajel: once they give it a go, we will check it out to UAT,
(11:00:22 AM) DeveloperX: k
(11:00:24 AM) morgajel: once that’s good, it will be checked out from release toprod,
(11:00:54 AM) DeveloperX: put the code that is working it’s way up is exacly the same in each instance
(11:01:12 AM) morgajel: correct- as it should be.
(11:01:18 AM) DeveloperX: it is jsut being push multiple times, to make sure everything will work when we finally hit orid
(11:01:20 AM) DeveloperX: prod
(11:01:27 AM) morgajel: correct
(11:02:06 AM) morgajel:
now, I’m not sure what the exact mechanism will be for pushing to uat
and prod- we may check it out directly from svn, but more likely than
not, we won’t.
(11:02:33 AM) DeveloperX: ya, i would guess not
(11:02:37 AM) morgajel: the important thing is we can say “release 11234234 of projectX” and can match it up with a specific commit in subversion.
(11:03:50 AM) DeveloperX: i gotcha there…we used to havesomethiing like that, but it completely maintianed by me
(11:04:16 AM) DeveloperX: i have a new release branch for every deployment i make to projectX
(11:04:34 AM) DeveloperX: so I code in theory go back to 3deployments ago
(11:04:46 AM) DeveloperX: but you guys should have access to this…not just me
(11:05:35 AM) DeveloperX: make sense?
(11:08:09 AM) morgajel: you’re close
(11:08:23 AM) morgajel: I’m presuming you’re talking about http://buildserver/svn/projectX/branches/, correct?
(11:08:32 AM) morgajel: each of those listed is a different release branch, correct?
(11:09:01 AM) morgajel: what they’re doing is instead of creating a folder for each release, they’re creating a single folder
(11:09:17 AM) morgajel: and making note of the commit version when they commit acode to it
(11:10:14 AM) morgajel: hence when subversion says “committed version #1123223”,you’d call it “release 1123223” in your notes
(11:10:30 AM) morgajel: I think that’s what brandon is trying to aim for, but we’ll have to have him verify.
(11:11:00 AM) DeveloperX: ok, i think i gocha

alt+z strikes again

I’m claiming the win on this one… remember that the tinyURL that this bot messages is in fact a link to tubgirl.

15:14 -!- Pats-Sox [] has joined #asp
15:18 < @lanshark> we dont want any chowda heads in here
15:25 < Pats-Sox> "chowda head"...I don't know why that just caused a really really bad "yo momma"
         joke to pop in my head
15:28 < Pats-Sox> I just googled "chowda head" for the heck of it.  This site is pretty funny... 
15:28 < Pats-Sox> Chowdahead
15:32 < myles_> !search Chowdahead
15:32 < Crusher_> myles_ > Your search returned 12 results. Press alt + z to receive a link to them.
15:33 -!- edmundo [] has joined #asp
15:33 -!- myles_ is now known as myles
15:33 < myles> !search Chowdahead
15:33 < Crusher_> myles > Your search returned 12 results. Press alt + z to receive a link to them.
15:35 -!- edmundo [] has left #asp []
15:36 < Pats-Sox> !search chowdahead
15:36 < Crusher_> Pats-Sox > Your search returned 12 results. Press alt + z to receive a link to them.
15:38 < Pats-Sox> it can't be a coincidence that edmundo left immediately after the post to press alt 
         + z....twice
15:39 < Pats-Sox> once is funny, twice is HILARIOUS
15:39 < Pats-Sox> nevermind, one was a join.  jokes on me
15:39 < @morgajel> Pats-Sox: you think it's funny, but you didn't even see what happens AFTERwards
15:39 < @morgajel> the bot does send a link.
15:39 < Pats-Sox> do I dare ask to what?
15:40 < @morgajel> only one way to find out.
15:40 < unEZ> lol
15:41 < Pats-Sox> Don't take it personally, but I'm not trusting you right now
15:42 < unEZ> what? after you've known me for 15 years? wait, thats someone else. I see your point
15:42 < Pats-Sox> I'm thinking that a bot can't process the key combo because the key combo is 
        processed by the irc client, therefore exiting the channel before the bot can catch the key press
15:43 < @morgajel> worst case scenario, I'm wrong, you pop out, pop back in, and I laugh like a retard.
15:44 < @morgajel> if I'm right, the bot messages you and gives you the blue pill.
15:44 < Pats-Sox> A normal key, z, could not possible work as well alt-F4.  It just can't.
15:46 < myles> pornocracy
15:47 < @morgajel> Pats-Sox: only one way to find out
15:48 < @morgajel> my do-not-push-the-red-button sign, let me show you it.
15:48 < Pats-Sox> alright, I'll take one for the team....
15:48 -!- Pats-Sox [] has left #asp []
15:48 -!- Pats-Sox [] has joined #asp
15:49 < Pats-Sox> ...and my technical analysis of the situation was absolutely incorrect....
15:49 < Pats-Sox> and the IS THE SINGLE MOST REPULSIVE THING I have ever seen in my life
15:49 < Pats-Sox> and I am a farely demented individual

The Harassment of CoolGui

This happened a month or 3 back and I forgot to post it. we enjoy harassing each other, and I felt the need to share this with the rest of the world…

in #asp:
08:26 < CoolGui> dude
08:26 < CoolGui> I’ve had a fever since saturday
08:26 < CoolGui> Now I have these stomach cramps that won’t go away
08:27 < CoolGui> And all the doctor did was tell me it was probably a virus and call him if I didn’t feel better in a couple of days. 🙁
08:27 < morgWork> remember, whatever doesn’t kill you may just make you blind and crazy.
08:27 < morgWork> i.e. it could be siphilus
08:28 < CoolGui> That’s what I wanted to hear. 😛
08:29 < CoolGui> Can you get syphilis without having sexual contact to an infected person?
08:29 < morgWork> yes
08:29 < morgWork> I’m pretty sure
08:30 < CoolGui> google sent me here
08:30 < CoolGui>
08:30 < morgWork> you see the part about pustules?
08:36 < CoolGui> sounds nasty. I don’t think I have that.
08:37 < LanShark> dude
08:37 < LanShark> you jsut came back from europe
08:37 < LanShark> thats what you get
08:38 < CoolGui> I was fine over there
08:38 < LanShark> sure you were
08:38 < CoolGui> I think it was because I drank the water on the plane
08:38 < CoolGui> You know, the community water fountain
08:38 < LanShark> let me find the quote
08:38 < CoolGui> I’ve heard bad things about water on planes, now I’m starting to think it got me
08:39 < LanShark> [2006-08-18 15:51:18] <yojimbo |work> CoolGui: Looks like it’s your turn to get baked and wake up naked in an alley with a disease you can’t pronounce
08:39 < LanShark> hahahahahahahahaha
08:40 < CoolGui> haha.. yeah.. well I think it’s just a virus or bacteria or something
08:40 < CoolGui> Hopefully not a parasite
08:41 < CoolGui> I swear I think it came on in 6 hours or so though… so that eliminates most viruses that I know of… A lot of bacterial infections come on that quick though.
08:41 < CoolGui> Fuckin doctor didn’t feel the need to give me antibiotics though.
08:43 < CoolGui> hmm… Honestly it sounds like Staphylococcus aureus
08:43 < CoolGui> Doesn’t say drinking water there
08:43 < CoolGui> But it does have the short incubation period
08:44 < CoolGui> well it says that one usually only lasts up to 24 hours…. so probably not it
08:44 < CoolGui> could be salmonella though
08:44 < morgWork> CoolGui: make sure you’re not going blind…
08:45 < CoolGui> I can see okay
08:47 < morgWork> for now
08:50 < CoolGui> I have some antibiotics laying around I think I’m going to take them anyway
08:51 < morgWork> bad move slick
08:51 < CoolGui> don’t call me slick!
08:51 < morgWork> your syphilis will become resistant because you won’t take enough
08:51 < CoolGui> lol, it’s not syphilis
08:51 < morgWork> then you’ll have resistant syphilis.
08:53 < CoolGui> I have amoxocillin, penicillin and something else
09:00 < CoolGui> This stuff expired almost a year ago
09:01 < CoolGui> I have one digital thermometer that reports 101.2 and another that reports 99.9
09:01 < CoolGui> that’s a big fucking difference if you ask me
09:27 -!- alec_eso [] has joined #ASP
09:32 < morgWork> alec_eso: perhaps you can diagnose CoolGui
09:32 < morgWork> he was in amsterdam and now has a fever

I then message alec_eso
09:32 < morgWork > say it’s syphilis
and paste him the conversation up to this point

in #asp:
09:33 < alec_eso> that sounds like syphilis
09:33 -!- CooIGui [] has joined #ASP
09:34 < morgWork> CooIGui: damnit, you missed it
09:34 < CooIGui> sorry
09:34 < morgWork> CooIGui: please explain your sickness to dr alec_eso
09:35 < CooIGui> Had to reboot ye olde router
09:35 < morgWork> note that he is only a doctor of funk, not a medical doctor
09:35 < CooIGui> fever, headache, abdominal cramps, light sensitivity
09:35 < CooIGui> okay
09:35 < alec_eso> how long?
09:36 < CooIGui> 3 days
09:36 < CooIGui> well I’m on my 3rd day
09:36 < alec_eso> have you had any unprotected sex in the week prior?
09:37 < CooIGui> no
09:37 < alec_eso> have you used public toilets? unfamiliar toilets?
09:37 < CooIGui> yes
09:38 < alec_eso> where?
09:38 < alec_eso> any itching, swelling, painful urination? been going regularly?
09:38 < CooIGui> no
09:39 < CooIGui> er.. no and yes
09:39 < alec_eso> when you used those toilets, you use the paper covers?
09:40 < LanShark> hell no
09:40 < alec_eso> because if not it sounds like you have Capone’s Syndrome
09:41 -!- CoolGui [] has quit [Read error: Operation timed out]

alec eso then messages me this:
09:41 <alec_eso> I told him Capone’s Syndrome
09:41 </alec_eso><alec_eso> (al capone died of syphilis in prison)
09:44 <morgwork> lol
09:44 </morgwork><morgwork> nice
09:46 <alec_eso> my next step is for me to get him to take a digital picture of his genitals so I can do a visual exam to rule in or out syphilis
09:47 <morgwork> lol

in #asp:
09:47 < alec_eso> well, I gotta go to class
09:48 < alec_eso> if he asks tell him I think it’s syphilis
09:48 < alec_eso> tell him to get a video camera and start documenting his life like michael keaton in my life because he won’t be around for his kids
09:49 < LanShark> wheres yojimbo, he gets the win if youre right
09:49 < morgWork> alec_eso: will do

Ziggy release 1.0

Well, I’ve got this turd polished well enough to release Ziggy 1.0. There’s still a lot left to do, and a lot more to add, but this is a good place for people to start looking at it.

Feel free to download it and take him apart- I’ve included the very truncated Dribbly.xml profile (dribbly is surly, be forewarned) and kept ziggy’s real config under wraps. enjoy!

My Pickled Herring is not Red

11:13 -!- lori [45dddd1f@A3455140.59D83169.126F8B2.IP] has joined #irc
11:13 < lori> jesse are you there?
11:14 < ~ziggy> he might be
11:14 < ~ziggy> want me to go get him?
11:14 < lori> sure why not
11:15  * ziggy runs off with a pickled herring under his arm
11:15 < morgajel> yo
11:16 < lori> what is jackie's work number?
11:17 < morgajel> *shrug*
11:17 < morgajel> I don't know.
11:17 < lori> well what good are you?
11:20 < ~ziggy> we're all wondering that
11:21 < ~ziggy> well, other than sperm donor- he seems to have gotten that 


More IE Fun

ran into a problem with mod_rewrite and IE- a real one this time. IE was choking on files that were being downloaded via mod_rewrite. same script worked without rewrite, died with it.
Did some research and with a lot of help from noodl of #apache figured out it was because mod_rewrite adds a “Vary: Host” line to the header, which apparently IE chokes on. loaded the header module in apache and added “Header unset Vary” after my rewrite and all is good- cvs, pdf, zip all download properly. Hurray.

Dependencies of Dependencies in FreeBSD

Something that is really aggrivating the hell out of me is FreeBSD’s package management system. I’ve heard people go on and on about how it’s the best out there, but frankly I’m unimpressed.
The main reason for this is there is no way to determine ALL of the dependencies that are going to be installed when I install a package.
Lets do a comparison of a freeciv install on my workstations vs the freebsd server:

genbox ~ # emerge -tp freeciv

These are the packages that I would merge, in reverse order:

Calculating dependencies ...done!
[ebuild  N    ] games-strategy/freeciv-2.0.8
[ebuild  N    ]  media-libs/sdl-mixer-1.2.6-r1
[ebuild  N    ]   media-libs/smpeg-0.4.4-r7

As you can see, freeciv is dependent on sdl-mixer- not only that, sdl-mixer is dependent on smpeg, meaning for freeciv to be installed, BOTH sdl-mixer and smpeg need to be installed beforehand. you see not only the dependencies, but the dependencies of the dependencies. Fortuately for this example, there were only 2 layers of dependencies and they were fairly small.

Now, lets look at freebsd- to see the dependencies, you can’t actually do it from the command line- you have to visit their website:
We can see there are a couple of matching packages, but we’re only interested in

A civilisation clone for X11; multiplayer
 Long description : Sources : Changes : Download
 Maintained by:
Requires: Xaw3d-1.5E_1, expat-2.0.0_1, fontconfig-2.3.2_4,1, 
freetype2-2.1.10_3, gettext-0.14.5_2, jpeg-6b_4, 
libdrm-2.0.1_1, libiconv-1.9.2_2, pkgconfig-0.20_2, png-1.2.8_3, 
python-2.4.3, tiff-3.8.2, xorg-libraries-6.9.0

This shows all dependencies, not just the ones that need to be installed- but only one layer. What packages will freetype require installed? how about xorg-libraries? The best answer I’ve been able to find as of yet is “look them up for each dependency” and then for their dependencies, and then theirs. All of this manually, all of this through their website. plus, you have to make sure that each package you look up isn’t already installed. How many packages will it take?

I have yet to find a way to show dependencies of dependencies in freebsd, and several very competent BSD admins I know haven’t been able to answer this question.

My question is, WHY!?!? This is entry level base functionality that debian, gentoo, mandriva, suse and even freaking RHEL can do- why can’t BSD, the people behind the ports system, do this?

I’m afraid I know the answer to this question- they’re comfortable with what they have. I truly hope I am wrong. If anyone knows of the proper FreeBSD way to find dependencies of dependencies on the command line, please, let me know.

Slow Decline of Writing Skills

I’m sure I’m not the only person to notice this, but my spelling and grammar has been getting worse. I don’t think I’m the only one suffering from this problem.

I’m pretty sure I can attribute it to the internet in general, and this blog/irc in particular. Why do I blame them? Because I’ve gotten used to typing as fast as I can and hitting enter without proofreading.

With the blog, I do proofread a bit, but not nearly as much as I should- with IRC, I rarely even think if I *should* say it before hitting enter.

Where’s that leave me? Well, I’ve noticed that I tend to write things phonetically. What’s worse is I don’t even recognize these mistakes anymore. I wonder how many were in this little rant?

Go to Top