Follow Slashdot blog updates by subscribing to our blog RSS feed


Forgot your password?
DEAL: For $25 - Add A Second Phone Number To Your Smartphone for life! Use promo code SLASHDOT25. Also, Slashdot's Facebook page has a chat bot now. Message it for stories and more. Check out the new SourceForge HTML5 Internet speed test! ×
User Journal

Journal Journal: The Trolls 81

Wow, it's been 15 years but I've finally got my own personal troll! :-)

I must apologize to everyone I've ever called a troll now that I've seen a real one. Yeah, there are trollish comments, but this... it's a different league. If you ever wondered who these brain-damaged morons were who set up geocities homepages with blinking purple text on blue background with red dots in Comic Sans - that kind of different league.

Now it does make me wonder about trolls in general. Has there been a study on this? I really wonder if psychologists have tackled this because quite honestly, you cannot be mentally stable and post in this and this content at the same time. So I do wonder if trolls on the Internet (the real trolls, not the people occasionally posting something stupid) do have a mental problem. It definitely looks like it. Probably insecurity issues, definitely an exaggerated need for attention, might be related to borderline syndrome or schizoprenia.

And, of course, the Internet provides:

As someone who has had to deal with family members suffering from mental illness, let me tell you that it's not funny. So despite the fact that they are, in fact, obnoxious, aggravating assholes, these sad little fucks also need help and their miserable little existence is not something you'd want to trade for yours, no matter how much you think your life sucks. Trust me, with a mental illness on top, it'll suck more.

Obviously, we can't offer therapy to people who usually comment anonymously and will often go to great lengths to avoid being tracked down. What we can do, however, is get a better understanding for how they act this way (they can't help it, mental illness is stronger than your conscious mind) and that the best thing we can do for them is to not continue the feedback loop. "Don't feed the trolls" - old wisdom there.

The last link in that list contains a few more ideas.

Now that I'm at the end, I kind of regret the smiley face at the top. But I'm leaving it in because this journal entry is a bit of a journey, even if it is short. Thanks to some Internet resources, a bit of research and connecting the dots, I've come a short way, changing my mind a little on this particular sub-sub-sub-part of life.


A short additional statement on how to treat trolling. From what I've gathered from the resources above, a few comments (both here and in the various spammed threads) and my own life experience:

First, don't feed the trolls. Most of them seek attention, so if you stop giving it to them, they become frustrated and go away. Notice that they seek attention, not validation. A rebuke or an angry rant or even a shootout of personal insults satisfies them as much as anything else. Much like the old PR saying "there is no negative publicity", it is all about the attention itself, not about its content.

Second, stand your ground. Do not leave the site or stop commenting just because you're being trolled. It takes a bit to do that, yes. Trolls consider it a "victory" if they shut you up, either by simple flooding or by frustrating you enough to disappear. In their twisted minds, it gives them validation and somehow proves that they were right.

Third, if you see someone else being trolled, give them support. Doesn't take much - a single sentence is more than enough. Someone under attack by a real troll is being flooded. The troll will commonly post under multiple aliases or otherwise attempt to appear as more than one person. Psychological experiments such as Solomon Asch's show how we humans as social animals experience conformance pressure. So give that other person support by showing him that the flood he's getting is no the only opinion around. It doesn't matter if he consciously knows it's just one troll, the pressure is subconscious.


I'd like to have comments disabled on this journal entry, for obvious reasons, but you can't publish a journal entry with comments disabled, so... 1000:1 bet that he's stalking the journal as well and will add his drivel below?

Also, if the formatting looks atrocious, turn off beta and revert to classic. Seriously.

User Journal

Journal Journal: SWTOR

Anyone else enjoying SWTOR as much as I am?

Sith Inquisitor, Sorcerer Heals... the whole game is just amazingly fun.

And no pandas to be seen, at least in the immediate future.

User Journal

Journal Journal: Suggestion for 8

It would be nice to have the karma scores on each reply to your posts here, so that you can get a sense if replies are worth reading. Also it would be really nice to have a link to on the masthead.
User Journal

Journal Journal: Hello Again Slashdot 6

EDIT: I accidentally submitted this journal entry as a story because of all the changes in the Slashdot UI. I assumed that Slashcode would be more intuitive than this. The following is my latest journal entry, now that I've figured out where it goes.

Hello folks, just touching base with my Slashdot journal. It's been a long time since I've written anything here and I'd like to start by saying I've made a lot of changes in my life since then.

I quit World of Warcraft, fully stocked my kitchen with fresh veggies and healthy food, joined a gym, started working with a trainer and I'm fucking happier than I've ever been! :)

My job is going well, I'm getting ready to buy a new 4wd SUV and I'm happy with my life again, thanks to my family and IRL friends. Any suggestions on fuel efficient vehicles that fit this description are welcome.

I missed Slashdot quite a bit since I was last here and just to let you know I've been over at Reddit, but that's kinda fun and stuff although it's not the same as the nerdy goodness of this fucking awesome website.

I wanna wish all you guys health, wealth and happiness.

User Journal

Journal Journal: My thoughts on the Oscar nominations

In each category, nominees are listed in alphabetical order, followed by my personal favorite.

Best Picture:
Avatar: The worldbuilding is amazing. One of the most important ways to separate good sci-fi/fantasy from bad is by how well fleshed-out the fictional universe is. If it's possible to role-play or write (halfway-competent) fanfics that use the setting but not the main characters, it passes the test. You can roleplay in the Wheel of Time universe without playing Rand or Egwene, but Sword of Truth fanfics without Richard and Kahlan are barely recognizable. Or look at Buffy vs. Charmed. Considering only movies that aren't based on books or TV shows, I'd put Avatar third-all-time behind Star Wars and The Matrix (fourth if you give the Kristy Swanson movie credit for the whole Buffyverse, but I don't think that's fair or even logically sound). Pandora is a world in which you can tell a wide variety of interesting stories. However, Avatar's script is NOT one of them. The premise is a flimsy excuse to get humans involved--Cameron himself stated that unobtanium (as joke names go, only mcguffinite would have been better) has nothing to do with the bio-computer-network that defines the world, it's just coincidence that there's a big deposit under the Navi village. The science team is led by someone who is somehow both a botanist and a zoologist, but none of the other members even HAVE specialties. The entire plot revolves around the idea that ex-Marine Jake is the closest thing to a real cultural anthropologist who has ever been avatarized, which is profoundly stupid. For the most part, no attempt at all is made to develop characters. In one case--Trudy's change of heart--this failure at characterization actually creates a plot hole. It's only believable that exactly one military-type would end up on the side of the scientists and natives if she has any unique perspective. The only thing that distinguishes Trudy from any other grunt is screen time--and even that is mostly post-reversal. Even her line when she changes her mind--"I didn't sign up for this!"--is patently false. It's precisely what she signed up for, she just no longer believes it's right. And her first act of treason, changing sides in mid-battle, is completely unpunished. In the case of the Navi, the absence of character development beyond stock aboriginal stereotypes is an offensive crutch propping up the bullshit Noble Savage idea that nobody in their culture could possibly benefit from technology or specialized labor, which itself is the only justification for the third-act war. Giovanni Ribisi's only two character traits are caring about results and being willing to listen to reason, but the war starts when, and because, he suddenly decides not to listen to reason precisely when Jake is actually starting to get results. The character's only reason for existing is to start the war, but his only character develolpment establishes that he would not do so under those circumstances. After Jake, Trudy, and the other scientists escape from the military, one scientist stays back as a spy. That he could do so without being caught is implausible, that he could actually break the others out of prison in the first place without being caught is impossible--are there really no security cameras? The supposed climax of the plot is a faceoff between Jake and the scar-headed leader of the military (who, if not for movie-magic, would have died half a dozen times already) because that's what the formula says should happen. But that's the second half of the mentor-and-protege-on-opposite-sides formula, which is the wrong formula. Jake and Scarhead have an arrangement that is purely business, with little direct communication and no emotional bond. The final showdown is part of that formula to bring the character arcs full-circle. It has to happen because the first half of the formula sets it up. I'm no great fan of cliche, but things become cliche because they work. If you're going to use part of a formula, either you have to use the rest of it too, or you have to have a reason to subvert it and set up the subversion properly. The film as a whole is somewhat elevated by the worldbuilding and spectacle factor, but the flaws are too big too many for it to deserve consideration for Best Picture.

The Blind Side: Every character, white or black, is an offensive stereotype. The movie displays no respect for the viewer whatsoever--everything that can be dumbed down is, any moral issue that is (intentionally) raised is discussed by the characters at length but not in any depth. There's not a single thing in this film that isn't handled with more subtlety and honesty in Remember The Titans. "More simplistic than Remember The Titans" is not a compliment. If you take everything I don't like about RtT, combine it with everything I don't like about Crash, you get this. The paternalistic, White Man's Burden portrayal of the main character is simply shocking. To be fair, it's a basically competent piece of filmmaking. A lot of the movies I have to see make me wonder how anyone involved even has a job in the industry, but this is at least a real movie. There are no plot holes and nobody ever behaves drastically out of character. It has decent acting. The camerawork isn't distractingly artsy or misframed. If it was the worst movie I had seen in the past year, I'd be pretty happy. But that's about as backhanded as praise gets.

District 9: This is not a metaphor for apartheid. Well, it is, but that's not the point. The superficial anti-apartheid message is cover for the more subtle but more central and better developed commentary on the military-industrial complex. The South African government and United Nations have outsourced the entire project of dealing with the aliens, and the whole movie is an exploration of the consequences of that decision and the ways the private sector and public sector naturally and necessarily have different motives. That has to be addressed delicately because it's very politically charged. When you talk directly about a politicized issue, you only get through to the people who already agree with you. Everyone else will feel like they're being preached at, and they'll be right. Aside from simply avoiding being off-putting, the "show, don't tell" rule lets you make a better argument by demonstrating the reasons behind your belief. By hiding the real issue under something generic that everybody agrees about, like "apartheid was bad," Blomkamp was able to make a much stronger and more openly partisan case against corporate militia than he could have otherwise. Not to mention that it's all contained in a story entertaining enough to satisfy the unwashed masses. If your primary criterion for film is how well the various elements (acting, directing, main plot, subplots, character development, cinematography, philosophical message, entertainment value) of flimmaking fit together into a coherent whole, then this isn't just the best film of the year, it's the best of the last several years.

An Education: I haven't seen it yet. We're getting it at Lennox this weekend, so I will soon.

The Hurt Locker: It's hard to describe this film in any way other than "see it." This year was a good one for fans of psychological character studies, and this might be the best of the bunch. There's a scene near the end, while Jeremy Renner is back home, that contains my favorite minute of film of the year. If you've seen it you know what scene I mean.

Inglorious Basterds: There's a lot to like about it, but it's not anywhere close to the film it could have been if Tarantino didn't surround himself with yes-men. Usually my favorite thing about QT is that he knows which characters and plot elements to focus on and which to leave as recurring, undeveloped leitmotifs, but the biggest flaw of this film is its utter failure in that department. Shosanna and Col. Landa are the most interesting, complex, developable characters in the film, but combine for maybe 40 minutes of screen time in a 150-minute movie. The titular Basterds are riotously entertaining five minutes at a time, but one-dimensional and monotonous. Most of them don't even have names or lines. They get the remaining 110 minutes. It's not just that the film is a perfect beginning, a perfect ending, and two hours of filler, it's that it didn't have to be.

Precious: If I was given a short plot outline of this movie, I'd guess that it was a superficial, unintentionally racist, shameless Oscar-baiting mess. To make it work at all, it had to have character development and penetrating honesty, both taken to all-time-great extremes. Fortunately, that's exactly what it has. It has none of the surface trappings of a horror film, but that's what it is. A teenaged girl (Precious) and children (her toddler and infant) trapped in a creepy house (literally, a filthy apartment; figuratively, the culture of self-perpetuating urban poverty) with/by monsters (her parents, more literally than you would believe), struggling to escape with the protection of an outside hero (her teacher), eventually succeeding but not without paying a harsh price (which would be a spoiler). Several scenes, particularly the mother's attempt to justify her behavior to a social worker, are much more horrifying than anything in the so-called horror genre.

A Serious Man: I enjoyed it thoroughly, but I'm not sure it's Best Picture material. If it has anything to say at all, it's not me it's saying it to. Middle-class Jews who grew up in the 60's in midwest college towns make for a pretty narrow target audience. The comedic take on the Book of Job is a clever idea, and the execution is terrific (which goes without saying for the Coen brothers), but it's a one-note song. Well worth seeing, borderline worth nominating, but one of the Coens' shallowest films.

Up: When you're a child, there's a pure, unadulterated joy associated with watching a movie. When you've seen enough movies to understand that some of them are good and some of them are bad, that joy is very difficult to recapture--you're always dissecting the bad ones and waiting for the other shoe to drop in the good ones. It's a rare film that can make a jaded cynic like me feel like I did the first time I saw Mary Poppins.

Up In The Air: I strongly disagree with the message of the film--that nobody can be truly happy living the lifestyle that George Clooney's character does. But it's still one of my favorite movies of the year. That's how good the other parts of the film are, and how well it follows "show, don't tell."

Unless one of the three I haven't seen really wows me, I think Precious deserves to win, but it's a close call over D-9 and Hurt Locker.

Best Director:
Kathryn Bigelow, The Hurt Locker: The film is a character study and an action movie and a soldier-friendship drama, which call for different directorial skills and styles. All three are done well.

James Cameron, Avatar: The nomination is justified by the technical aspects of directing alone. My problems with the movie are 90% Cameron-as-writer, 10% Cameron-as-director, and 0% Cameron-as-producer. That 10% is still big enough that I don't think he should win, but it won't be a gross miscarriage of justice when he does.

Lee Daniels, Precious: When that many unknowns (Gabourey Sidibe, Paula Patton) and no-talent hacks (Mariah Carey, Mo'Nique) turn in performances that good, it's a safe bet that the director is the reason why.

Jason Reitman, Up In The Air: If you're making a comedy-drama, the darker the comedy, the harder it is to keep it balanced--dark comedy is not a tension-relieving change of pace from drama like laugh-out-loud comedy is.

Quentin Tarantino, Inglorious Basterds: As with Cameron, my problems are more with the writing than the directing, but the distinction is much blurrier in Tarantino's case.

I like Bigelow, but if you prefer Reitman I won't say you're wrong.

Best Actor:
Jeff Bridges, Crazy Heart: This performance rivals The Dude as Bridges' career-defining role. My big thing with acting is how much the actor does beyond what's explicitly in the script, and I have some major complaints about this script. Bridges and T. Bone Burnett get just about all the credit for the whole movie.

George Clooney, Up In The Air: He faces the public perception of him as a superficial playboy (a reputation for which he has nobody to blame but himself) head-on in this role. It's certainly a good performance, but I don't think he would have been nominated if not for the connections to his own life. Contrast with Mickey Rourke in The Wrestler, whose performance would have deserved the Oscar no matter what his personal life had been like.

Colin Firth, A Single Man: I never once thought of Mr. Darcy in Pride & Prejudice while watching this, a comparable accomplishment to Bridges playing someone who doesn't remind me of Lebowski.

Morgan Freeman, Invictus: He was nominated basically for being Morgan Freeman and playing Nelson Mandela. He evokes Mandela's appearance and mannerisms impressively, but gets just as much of the blame as the writers for sanitizing and oversimplifying a deeply complex person. It's a travesty that he was nominated over Sharlto Copley in District 9, Vincent Gallo in Tetro, Sam Rockwell in Moon, Joseph Gordon-Levitt in (500) Days of Summer.

Jeremy Renner, The Hurt Locker: Most actors would have gone too over-the-top with this role. Not on purpose, but because it's a tightrope walk to get the character right. Renner never falters, but the performance isn't as memorable as the other nominees.

Colin Firth is the best here, but in ways probably too subtle for the voters to pick him over Bridges, who is almost as deserving.

Best Actress:
Sandra Bullock, Blind Side: She's one of the only worthwhile things about the film. For an actor this famous, it's an accomplishment if I'm thinking of her character as "Leanne" rather than "Sandra" by the end. But there's absolutely nothing challenging about the role, no decisions for her to make that a community-theater actor couldn't get right.

Helen Mirren, The Last Station: haven't seen it yet.

Carey Mulligan, An Education: haven't seen it yet.

Gabourey Sidibe, Precious: The most subtle, gradual performance as a dynamic character I saw from any actor or actress all year. Only Firth and Gallo are close.

Meryl Streep, Julie & Julia: The epitome of going beyond the script. Took a deliberately superficial film and gave it depth.

Of Streep and Sidibe, I'm more certain that Streep gets the credit, rather than the writer or director. Both are worthy.

Supporting Actor:
Matt Damon, Invictus: He pulls off a difficult accent, but the script neither provides anything interesting or difficult for him to do nor gives him the leeway to embellish.

Woody Harrelson, The Messenger: It's very hard to give the audience a look inside the head of an emotionally-closed off character.

Christopher Plummer, The Last Station: haven't seen it yet.

Stanley Tucci, The Lovely Bones: In a way, he's too good. It's not believable that someone that creepy isn't a suspect.

Christoph Waltz, Inglorious Basterds: He's the biggest reason nobody noticed the major problems with the film.

Waltz, hands down. Might be the first unanimous vote in Academy history.

Supporting Actress:
Penelope Cruz, Nine: Inexplicable. Everyone involved in the film sets a new career low. Her only job in it is to look good in sexy lingerie. She succeeds, but I didn't know they gave out Oscars for that. Don't be surprised if Julianne Moore "accidentally" spills red wine on Cruz's dress at the ceremony.

Vera Farmiga, Up In The Air: My favorite thing about the performance is a plot spoiler.

Maggie Gyllenhaal, Crazy Heart: Like Matt Damon, it's the script's fault she's undeserving. She has a little more to work with than he does, though.

Anna Kendrick, Up In The Air: She manages to steal scenes from George Clooney.

Mo'Nique, Precious: So good that I'm at a loss for words.

Usually the supporting categories are too close to call and the lead categories have obvious choices. Other way around this year. It's Mo'Nique's.


Journal Journal: My top 100 movies of the 00's

This list is purely subjective: it's about how much enjoyment I personally got out of each of these. It should not be construed as an argument that Zombieland is a better film in any objective sense than Capote or Waltz With Bashir or Frost/Nixon. It's not. I just had more fun watching it. All right, enough disclaiming, on with the list:

    1. Spirited Away
    2. The Incredibles
    3. Up
    4. Crouching Tiger, Hidden Dragon
    5. Serenity
    6. Hot Fuzz
    7. Shrek
    8. Batman Begins
    9. Pan's Labyrinth
  10. The Queen
  11. Ratatouille
  12. The Wrestler
  13. Monsters, Inc
  14. District 9
  15. Eternal Sunshine of the Spotless Mind
  16. Wall-E
  17. Revolutionary Road
  18. 500 Days of Summer
  19. Gone Baby Gone
  20. In the Valley of Elah
  21. Moon
  22. Precious
  23. Tetro
  24. Paranormal Activity
  25. Forgetting Sarah Marshall
  26. Stardust
  27. Fido
  28. Memento
  29. Shaun of the Dead
  30. V for Vendetta
  31. Wallace and Gromit: The Curse of the Were-Rabbit
  32. O Brother, Where Art Thou?
  33. Big Fish
  34. High Fidelity
  35. Spider-Man 2
  36. Burn After Reading
  37. Miss Pettigrew Lives for a Day
  38. Harry Potter and the Half-Blood Prince
  39. The Bourne Identity
  40. A Christmas Carol (2009)
  41. Sideways
  42. Kill Bill Vol. 2
  43. American Splendor
  44. Lost in Translation
  45. Star Trek 2009
  46. Harry Potter and the Prisoner of Azkaban
  47. X-Men
  48. Hellboy II
  49. Coraline
  50. The Illusionist
  51. Slumdog Millionaire
  52. Zombieland
  53. Rachel Getting Married
  54. Hero
  55. Capote
  56. Eastern Promises
  57. Fantastic Mr. Fox
  58. Bright Star
  59. Up In The Air
  60. Drag Me To Hell
  61. Ponyo
  62. Waltz With Bashir
  63. Gladiator
  64. A History of Violence
  65. There Will Be Blood
  66. State and Main
  67. Harry Potter and the Sorcerer's Stone
  68. Kill Bill Vol. 1
  69. Pirates of the Caribbean: The Curse of the Black Pearl
  70. Spider-Man
  71. The Boondock Saints
  72. Almost Famous
  73. The Hurt Locker
  74. Bolt
  75. Pineapple Express
  76. Casino Royale
  77. The Dark Knight
  78. Unbreakable
  79. Remember the Titans
  80. Holes
  81. Chicken Run
  82. Shadow of the Vampire
  83. Sin City
  84. Minority Report
  85. Watchmen
  86. The Simpsons Movie
  87. Adventureland
  88. Iron Man
  89. Frost/Nixon
  90. Taken
  91. Milk
  92. Tropic Thunder
  93. The Aristocrats
  94. Sherlock Holmes
  95. The Bourne Ultimatum
  96. Doubt
  97. Superbad
  98. The Lord of the Rings: The Return of the King
  99. The Triplets of Belleville
100. No Country for Old Men

The following movies didn't quite make the list. I liked them enough to mention them, but can't justify taking anything out of the top 100 to put them in:
Amazing Grace
Bend It Like Beckham
Brokeback Mountain
The Cove
The Departed
Fantasia 2000
Finding Nemo
Good Night, and Good Luck.
Kung Fu Panda
Lucky Number Slevin
Ocean's Eleven
Over the Hedge
Ready to Rumble
The Tale of Despereaux
Titan A.E.
Where the Wild Things Are
Wonder Boys

User Journal

Journal Journal: Widenius on "selfless" quest to destroy GPL MySQL "in order to save it" 3

It's not "his baby" any more!

And the "selfless" argument accepts as a given that Oracle will let MySQL die on the vine. There are many rational reasons why they would not.

If Oracle's intentions are opaque, Widenius' motives are no less opaque. He risks serious embarrassment himself by advocating that the EU, as Deus ex machina, strip the GPL, the last layer of protection for the MySQL community and platform. To that extent this issue is *very much* "about Open Source"!

It's time to let go and build "what comes after MySQL". Even a casual observer can see conventional RDBMS architectures straining to keep up with today's data environments, hence the growth of the NoSQL movement. If a fraction of the talent already shed by MySQL AB, combined with the brains at Primebase, and all the other community contributors can rise to that challenge, Oracle may easily find itself on the defensive once more - to the market's gain!

Mr Widenius, you've created one technology so incredibly disruptive that Oracle (the market leader) finally had to buy it - why not move on and create the next one? You already have the support and respect of geeks and suits alike. But you won't keep it by insisting on this contrarian, easily misconstrued campaign.

User Journal

Journal Journal: On raising your children and jumping to conclusions.

Posted a comment on the story about the new "Internet Luring Law" thing that is happening in Canada at the moment.

The gist of my comment was "I guess the law was formulated with good intentions, but the responsibility for the child ultimately lies with the parent"

Holy heck was I overwhelmed with negative responses!

Seems that people tend to read a comment to where they can find a place to disrespectfully disagree and then hammer the poster with whatever they can get.

News to you all. It makes you look dumb.

User Journal

Journal Journal: Staring a limited lifespan in the face... skewed stats FTW.

I commented on the H1N1 poll about when I found out that I was diagnosed with Marfan Syndrome.

Reading online documentation about the disorder and talking to various doctors I got the news that Marfan sufferers on average have a life expectancy of about 42 years. Heck I had hoped for at least double that! I was about 29/30 at the time and the prospect of having already lived more than two-thirds of my expected lifespan was worrying to say the least.

My GP was kind enough to have a look and explained to me that the statistics was generally skewed because people who died young with my condition generally had other issues like Cancer, Smokers, Diabetics or generally unhealthy people.

I was, on the other hand, perfectly healthy considering my condition, so 84 and upwards is by no means out of the question...

What this episode DID do for me was that I had a real taste of what it feels like to deal with limited time. Sure, 12 years sounds like a lot at first, but there is some mental trigger that causes one to suddenly become very agitated. 12 years!??! What!? I have so much I want to do!!! Heck paying off my car will take up a third of that!

Yep, panic a nasty thing...

Well, it is a few years later now. In February I am turning 32, and I realised that after I was assured of a normal (ish) life expectancy I have again become complacent.

I decided that this December I will take the opportunity of our company closing down for the holidays to spend some quality time with me. A happy me is probably one of the better gifts I can give my wife and kids, sort out my plans for the immediate future, connect to what I really find important - maybe paint a little!

Heck this sounds like a good plan...


Journal Journal: I AM BACK 7

I'm sorry to have been away for so long, but I have returned! Now that unpleasantness is over I can read over all my emails, and such. Hmmm. Nothing here? WHAT?

Nobody missed me, nobody cared. It was like a million voices continued on while I was away from Slashdot. I suppose being on a spec in the middle of a sandy beach of specs in the floating massiveness of universialitude, I could not be missed had I evaporated and rained all over the prairies. Alas, some things on Slashdot have changed.

What is all this Javascript? Looks good! Things appear to be much more interesting! Hey I've got achievements!!! LOL


Journal Journal: SQL: random member of each of many groups

Question asked on comp.databases.mysql, which I solved as follows:

mysql> select T.n, T.rnd,, L.street,, count( as idx
from (
select count(*) as n, rand() as rnd, town
from addr
group by town
) T
join addr L on =
join addr R on = and <=
group by
having ceil(T.n*T.rnd) = idx;
| n | rnd | id | street |
town | idx |
| 12 | 0.00842807908396058 | 1 | 601 West 5th Avenue |
Anchorage | 1 |
| 10 | 0.650273804227145 | 37 | 9190 Parkway East |
Birmingham | 7 |
| 11 | 0.226084814617489 | 55 | 3494 BEL AIR MALL |
Mobile | 3 |
| 16 | 0.179602691139656 | 117 | 4940 S Gilbert Rd |
Chandler | 3 |
| 10 | 0.219759042579456 | 154 | 7123 N. 138th Ave. |
Glendale | 3 |
| 18 | 0.559987170211959 | 187 | 2832 North Power Road |
Mesa | 11 |
| 63 | 0.14065875405507 | 213 | 340 East McDowell Rd |
Phoenix | 9 |
| 26 | 0.0233322903731207 | 275 | 15660 N Frank Lloyd Wright Blvd |
Scottsdale | 1 |
| 16 | 0.694685220434037 | 325 | 5000 Arizona Mills Circle |
Tempe | 12 |
| 35 | 0.403429261784469 | 345 | 3901 W Ina Rd |
Tucson | 15 |
| 19 | 0.933090678353878 | 454 | 2200 Panama Lane |
Bakersfield | 18 |
| 15 | 0.45516563714963 | 513 | 4000 Warner Blvd |
Burbank | 7 |
12 rows in set (0.16 sec)


Journal Journal: Uses for self JOIN: 11) winning streak

Cluber on #mysql wanted to find the longest winning streak in a series of matches, like this:

mysql> select * from m;
| id | winner | loser |
| 29 | A | B |
| 30 | A | C |
| 31 | C | B |
| 32 | B | A |
| 33 | A | D |
| 34 | B | C |
| 35 | C | D |
| 36 | E | D |
8 rows in set (0.00 sec)

Longest winning streak per user is the longest series of wins by a user before they lose a match. The wins need not be consecutive. Here is a SQL solution:

mysql> select Streak.winner, max(Streak.cnt)
from (
select, m0.winner, count( as cnt
from m m0
join (
select, min( as minid
from m m1
left join m m2 on m2.loser = m1.winner
and >
group by
) Loss on =
join m Game on Game.winner = m0.winner
and >=
and (Loss.minid is null
or < Loss.minid)
group by
) Streak
group by Streak.winner;

| winner | max(Streak.cnt) |
| A | 2 |
| B | 2 |
| C | 1 |
| E | 1 |
4 rows in set (0.01 sec)


Journal Journal: Chronicles of GoDaddy: How not to run an ISP 16

This is a review of the ISP. For a brief period of time, I used them for both my SSL certificate provider and my hosting provider. That lasted about a week. This review chronicles my experience with GoDaddy so that others can avoid the same fate.

It's hard to know where to begin when criticizing my experience with GoDaddy. It all started with a GoDaddy SSL certificate that was expiring in mid-August. Things started going wrong when GoDaddy sent me the expiration notice in mid-June. I immediately went to their website to renew. When I got there, I got a message that said I couldn't renew it for three days. I wrote them to complain and their reply basically said, "Yes, you can't renew before a certain date." Three days later, on the day it said I should be able to renew it, it still said I couldn't renew it.

A couple of weeks later, I went back to renew. I submitted a renewal for 9 years and paid for it (almost $270). I thought it was odd that they still hadn't sent out the cert, but I figured it would happen on the billing date for the account.

In the meantime, I decided to try to speed up my website by moving large graphics to shared hosting. Since I had a GoDaddy account already, I added hosting to it. Thankfully, I only paid for two months. While uploading content to the server, I started having weird problems almost immediately, finding that the server would just suddenly block my IP (including pings) for several minutes at a time. I theorized that they were limiting the number of reconnects per minute, so I spread the load out across several IPs and finished my uploading. I did all this over the holiday weekend to minimize impact.

Well, once I had the content on the server, I switched my home server to point to the images on that server. The next night, I tried to view a page full of thumbnail images and it stalled for a very long time. The problem went away after a couple of minutes, so I ignored it. When it happened again the next night, I started becoming concerned. When it happened on the fourth night, I started running a script that requested a tiny 15K image once a minute so that I could characterize the problem.

I contacted GoDaddy at this point, and they blamed my connection. I then reproduced the problem from work (where they have multiple OC-3 connections). I contacted them again. They continued to just say "We can't reproduce this" and actually had the nerve to suggest that I call them when I have the problem. How do you call somebody about a problem that only lasts 2-3 minutes from the start of the hang to the end? That's like telling somebody, "When you see a shooting star, text me so I can look up." Yikes!

Then, it got better. GoDaddy contacted me and said that they couldn't issue my SSL certificate because they now issue them for a maximum of 5 years---this in spite of the fact that their website was perfectly willing to sell me a 9-year certificate. So they started the process of issuing a refund.

A few hours later, they denied the refund. At this point, I wrote them back, chewed them out massively, listing in detail the litany of problems I had experienced with their service, carbon copied the president of GoDaddy, and basically threatened legal action if they didn't fix this mess. They restarted processing of the refund, but continued to refuse to honor the terms of our contract.

Their servers are still performing inadequately, so I plan to drop their service entirely as soon as I figure out where to migrate the files. And my SSL cert no longer comes from GoDaddy. I didn't even wait for my existing cert to expire; I don't want GoDaddy to get the free advertising. It also helps that my new SSL cert provider is free as in beer. I figure it's worth the hassle of renewing the cert annually to save $30 a year.

The bottom line is that I was going to spend about $114/year in hosting and SSL with GoDaddy, but because of their completely inept customer support, I'm now going to spend exactly $0 with them, and I will be spending a fair amount of time over the next few weeks posting detailed, harsh, negative reviews of their hosting service on every site I can find, from FaceBook to Web Hosting Geeks....

If I did my job as well as their customer service reps did their jobs, I would have lost my job after the first day. How, precisely, do these clowns stay in business? And how have they not had their credit card merchant account revoked?


P.S. Does anyone know of a web hosting provider that allows SSH, is reasonably reliable, and doesn't claim the rights to produce derivative works based on anything you upload?

User Journal

Journal Journal: generate Solaris package file lists directly with install-sh

As part of the Solaris pkg creation process, a prototype file is created listing every file and directory created in the process of installing the package.

There are various ways to extract this information, but not all are convenient. By patching about 12 lines of install-sh we can generate the prototype file directly (as /tmp/prototype), with appropriate user/group/mode settings. In parallel we generate a simple file list (/tmp/files) that can be used to safely 'uninstall' the package during experimentation with packaging.

-bash-3.00# diff -c dovecot-1.1.14/install-sh TLGRdovecot-1.1.14/install-sh
*** dovecot-1.1.14/install-sh Mon Jan 5 16:24:36 2009
--- TLGRdovecot-1.1.14/install-sh Sat May 23 19:51:18 2009
*** 128,133 ****
--- 128,136 ----

+ CLASS=none
+ OWNER=bin
+ GROUP=bin
while test $# -ne 0; do
case $1 in
-c) ;;
*** 136,142 ****

-d) dir_arg=true;;

! -g) chgrpcmd="$chgrpprog $2"

--help) echo "$usage"; exit $?;;
--- 139,145 ----

-d) dir_arg=true;;

! -g) GROUP=$2; chgrpcmd="$chgrpprog $2"

--help) echo "$usage"; exit $?;;
*** 150,156 ****

! -o) chowncmd="$chownprog $2"

-s) stripcmd=$stripprog;;
--- 153,159 ----

! -o) OWNER=$2; chowncmd="$chownprog $2"

-s) stripcmd=$stripprog;;
*** 327,335 ****
--- 330,341 ----
# Otherwise, rely on $mkdir_umask.
if test -n "$dir_arg"; then
+ echo d $CLASS $dstdir $mode $OWNER $GROUP >>/tmp/prototype
+ echo d $CLASS $dstdir 755 $OWNER $GROUP >>/tmp/prototype
+ echo $dstdir >>/tmp/files

case $umask in
*** 405,410 ****
--- 411,417 ----
test -z "$d" && continue

if test -d "$prefix"; then
*** 442,447 ****
--- 449,457 ----
test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1

+ echo f $CLASS $dst $mode $OWNER $GROUP >>/tmp/prototype
+ echo $dst >>/tmp/files
# Make a couple of temp file names in the proper directory.

(Actual diff here)

As an example, let's package Dovecot 1.1.14 in a manner suitable for a Solaris non-global zone:

$ ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var
# make install
# cat /tmp/prototype
d none /usr/libexec/dovecot 0755 bin bin
f none /usr/libexec/dovecot/dovecot-auth 0755 bin bin
f none /usr/libexec/dovecot/checkpassword-reply 0755 bin bin
d none /usr/lib/dovecot/auth 0755 bin bin
f none /usr/libexec/dovecot/dict 0755 bin bin
f none /usr/libexec/dovecot/ssl-build-param 0755 bin bin
f none /usr/sbin/dovecot 0755 bin bin
f none /usr/libexec/dovecot/imap-login 0755 bin bin
f none /usr/libexec/dovecot/imap 0755 bin bin
f none /usr/libexec/dovecot/pop3-login 0755 bin bin
f none /usr/libexec/dovecot/pop3 0755 bin bin
f none /usr/libexec/dovecot/deliver 0755 bin bin
f none /usr/libexec/dovecot/rawlog 0755 bin bin
f none /usr/libexec/dovecot/gdbhelper 0755 bin bin
f none /usr/libexec/dovecot/idxview 0755 bin bin
f none /usr/libexec/dovecot/listview 0755 bin bin
f none /usr/libexec/dovecot/logview 0755 bin bin
f none /usr/libexec/dovecot/maildirlock 0755 bin bin
f none /usr/sbin/dovecotpw 0755 bin bin
d none /usr/lib/dovecot/imap 0755 bin bin
d none /usr/lib/dovecot/lda 0755 bin bin
f none /usr/lib/dovecot/ 0755 bin bin
f none /usr/lib/dovecot/ 0755 bin bin
f none /usr/lib/dovecot/lib01_acl_plugin.a 0755 bin bin
d none /usr/lib/dovecot/pop3 0755 bin bin
f none /usr/libexec/dovecot/convert-tool 0755 bin bin
f none /usr/lib/dovecot/ 0755 bin bin
f none /usr/lib/dovecot/ 0755 bin bin
f none /usr/lib/dovecot/lib20_convert_plugin.a 0755 bin bin
f none /usr/libexec/dovecot/expire-tool 0755 bin bin
f none /usr/lib/dovecot/ 0755 bin bin
f none /usr/lib/dovecot/ 0755 bin bin
f none /usr/lib/dovecot/lib20_expire_plugin.a 0755 bin bin
f none /usr/lib/dovecot/ 0755 bin bin
f none /usr/lib/dovecot/ 0755 bin bin
f none /usr/lib/dovecot/lib20_fts_plugin.a 0755 bin bin
f none /usr/lib/dovecot/ 0755 bin bin
f none /usr/lib/dovecot/ 0755 bin bin
f none /usr/lib/dovecot/lib21_fts_squat_plugin.a 0755 bin bin
f none /usr/lib/dovecot/ 0755 bin bin
f none /usr/lib/dovecot/ 0755 bin bin
f none /usr/lib/dovecot/lib02_lazy_expunge_plugin.a 0755 bin bin
f none /usr/lib/dovecot/ 0755 bin bin
f none /usr/lib/dovecot/ 0755 bin bin
f none /usr/lib/dovecot/lib20_mail_log_plugin.a 0755 bin bin
f none /usr/lib/dovecot/ 0755 bin bin
f none /usr/lib/dovecot/ 0755 bin bin
f none /usr/lib/dovecot/lib20_mbox_snarf_plugin.a 0755 bin bin
f none /usr/lib/dovecot/ 0755 bin bin
f none /usr/lib/dovecot/ 0755 bin bin
f none /usr/lib/dovecot/lib10_quota_plugin.a 0755 bin bin
f none /usr/lib/dovecot/imap/ 0755 bin bin
f none /usr/lib/dovecot/imap/ 0755 bin bin
f none /usr/lib/dovecot/imap/lib11_imap_quota_plugin.a 0755 bin bin
f none /usr/lib/dovecot/ 0755 bin bin
f none /usr/lib/dovecot/ 0755 bin bin
f none /usr/lib/dovecot/lib11_trash_plugin.a 0755 bin bin
f none /usr/lib/dovecot/ 0755 bin bin
f none /usr/lib/dovecot/ 0755 bin bin
f none /usr/lib/dovecot/lib20_zlib_plugin.a 0755 bin bin
d none /usr/share/doc/dovecot/wiki 0755 bin bin
f none /usr/share/doc/dovecot/wiki/ACL.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/AixPluginsSupport.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/AuthDatabase.CheckPassword.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/AuthDatabase.LDAP.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/AuthDatabase.Passwd.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/AuthDatabase.PasswdFile.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/AuthDatabase.SQL.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/AuthDatabase.VPopMail.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/AuthDatabase.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Authentication.Caching.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Authentication.Kerberos.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Authentication.MasterUsers.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Authentication.Mechanisms.DigestMD5.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Authentication.Mechanisms.NTLM.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Authentication.Mechanisms.Winbind.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Authentication.Mechanisms.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Authentication.MultipleDatabases.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Authentication.PasswordSchemes.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Authentication.RestrictAccess.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Authentication.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/BasicConfiguration.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Chrooting.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Clients.NegativeUIDs.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Clients.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/CommandLine.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/CompilingSource.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Debugging.Authentication.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Debugging.ProcessTracing.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Debugging.Rawlog.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Debugging.Thunderbird.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Design.AuthProcess.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Design.Indexes.Cache.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Design.Indexes.MailIndexApi.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Design.Indexes.MainIndex.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Design.Indexes.TransactionLog.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Design.Indexes.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Design.MailProcess.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Design.Processes.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Design.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/FindMailLocation.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/FinishBasicConfiguration.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/HowTo.EximAndDovecotSASL.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/HowTo.PopBSMTPAndDovecot.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/HowTo.PopRelay.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/HowTo.PostfixAndDovecotSASL.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/HowTo.Rootless.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/HowTo.SimpleVirtualInstall.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/HowTo.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/IndexFiles.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/InetdInstall.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Iptables.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/LDA.Exim.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/LDA.Indexing.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/LDA.Postfix.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/LDA.Qmail.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/LDA.Sendmail.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/LDA.Sieve.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/LDA.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Logging.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/LoginProcess.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/MDA.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/MTA.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/MailLocation.LocalDisk.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/MailLocation.Maildir.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/MailLocation.Mbox.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/MailLocation.SharedDisk.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/MailLocation.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/MailboxFormat.Cydir.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/MailboxFormat.MH.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/MailboxFormat.Maildir.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/MailboxFormat.dbox.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/MailboxFormat.mailstore.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/MailboxFormat.mbox.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/MailboxFormat.mbx.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/MailboxFormat.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/ManageSieve.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/MboxLocking.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/MboxProblems.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Migration.BincIMAP.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Migration.Courier.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Migration.Cyrus.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Migration.Linuxconf.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Migration.MailFormat.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Migration.Teapop.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Migration.UW.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Migration.Vm-pop3d.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Migration.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/MissingMailboxes.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/NFS.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Namespaces.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/OSCompatibility.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/POP3Server.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/PasswordDatabase.BSDAuth.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/PasswordDatabase.ExtraFields.AllowNets.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/PasswordDatabase.ExtraFields.Host.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/PasswordDatabase.ExtraFields.NoDelay.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/PasswordDatabase.ExtraFields.NoLogin.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/PasswordDatabase.ExtraFields.Proxy.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/PasswordDatabase.ExtraFields.User.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/PasswordDatabase.ExtraFields.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/PasswordDatabase.PAM.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/PasswordDatabase.Shadow.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/PasswordDatabase.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/PerformanceTuning.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Plugins.Autocreate.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Plugins.Convert.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Plugins.Expire.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Plugins.FTS.Lucene.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Plugins.FTS.Solr.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Plugins.FTS.Squat.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Plugins.FTS.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Plugins.Lazyexpunge.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Plugins.Listescape.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Plugins.MailLog.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Plugins.MboxSnarf.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Plugins.Trash.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Plugins.Virtual.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Plugins.Zlib.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Plugins.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/PostLoginScripting.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/QuickConfiguration.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Quota.1.1.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Quota.Dict.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Quota.Dirsize.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Quota.FS.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Quota.Maildir.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Quota.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/RunningDovecot.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/SSL.CertificateClientImporting.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/SSL.CertificateCreation.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/SSL.DovecotConfiguration.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/SSL.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Sasl.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/SecurityTuning.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/SharedMailboxes.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/SystemUsers.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/TestInstallation.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/TestPop3Installation.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/TimeMovedBackwards.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Upgrading.1.0.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Upgrading.1.1.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Upgrading.1.2.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Upgrading.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/UserDatabase.ExtraFields.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/UserDatabase.NSS.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/UserDatabase.Prefetch.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/UserDatabase.Static.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/UserDatabase.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/UserIds.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Variables.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/VirtualUsers.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/WhyDoesItNotWork.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/maildrop.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/mutt.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/ 644 bin bin
f none /etc/dovecot-db-example.conf 644 bin bin
f none /etc/dovecot-ldap-example.conf 644 bin bin
f none /etc/dovecot-sql-example.conf 644 bin bin
f none /usr/share/doc/dovecot/auth-protocol.txt 644 bin bin
f none /usr/share/doc/dovecot/documentation.txt 644 bin bin
f none /usr/share/doc/dovecot/securecoding.txt 644 bin bin
f none /etc/dovecot-example.conf 644 bin bin
d none /usr/include/dovecot 0755 bin bin

This leaves the package installed, creates /tmp/prototype ready for packaging - accomplished roughly like this:

$ echo i pkginfo=./pkginfo >>prototype
$ cat pkginfo
NAME=Dovecot IMAP/POP3 server
DESC=Dovecot Secure IMAP/POP3 server, by Timo Sirainen
$ pkgmk -r `pwd`
$ cd /var/spool/pkg/
$ pkgtrans -s `pwd` /tmp/TLGRdovecot-1.1.14

Remove the installed files (I suggest reviewing the file list first!)

# rm -fr $(< /tmp/files )
# xargs rm -fr < /tmp/files

Slashdot Top Deals

Money cannot buy love, nor even friendship.