Tuesday, October 4, 2011

A Reasoned Response, Irresponsible Pseudoscience, and Canadian Sex

Today, I read a wired.com article that drove me instantly all "frothy-at-the-mouth" with complete and utter disbelief.

Go and read the article. I'll wait here.

Back?


Splendid.

First, a caveat: I have NOT read the full PNAS article as it is really, really expensive, but I read the abstract and the supporting documents (link ibid) and a couple of so-called analysis spread around the intarwebz.

While you are there, be sure to click on the "Author Affiliations" link.

First, let me say that i am not a knee-jerk hater of all that is Quebecois(e). I'm not. I like that they keep jazz and gravy-covered french fries alive. Everything else...<Ironic Gallic shrug here>. Be that as it may, my eyebrow is slightly raised in noting that all of the "scientists" here appear to be from Quebec.

As you know from clicking on my links, the meat of the subject is that on this small island in the Gulf of St Laurence, women's age of successful first parturition has gone from 26 to 22. And they have tails. (one of these is not exactly true)

Seriously, really?

Let's talk for a minute about a man named Occam. 'Ole Billy O was a monk during the 14th century. After pissing off the Pope at Avignon, fleeing to Germany, getting excommunicated, mixing with pinko commie dissenter bastards (He was in favor of clerical poverty), and refuting the long-held Platonic ideal of forms, he wrote on a subject about simplicities in proof. This later became "Ockham's Razor" (they didn't invent spelling for several hundred years after his death). This principle, in Latin, is called Lex Parsimoniae, or "Law of frugality".

Most people screw up the concept of Occam's Razor. They get the general idea, but fail to see the whole, beautiful structure. Essentially, Ockham argued that in dialectic proof (arguments) one should tend to ward simplicity and then, only if needed, add complexity. This doesn't mean that the simplest solution is the answer. Not at all. Well, it can...never mind. What it means is that to FIND the solution, start by asking simple questions. This is somewhat simplified, but accurate enough for the conversation at hand. In popular writing, Sherlock Holmes' method was the embodiment of this ideal.

Back to the point:

So four or five French-ish scientists decided that because women were popping out their first kid at slightly earlier ages over a huge period in time (we are ignoring that the age differential is well within the margin of error for the statistics) that they are somehow evolving (differentiating) from the genestock surrounding them.

And no one bothered to think about several simpler explanations:

1) Socioeconomic factors, including valid reporting of birthdays.

  • Most people don't realize that basic vital statistics weren't taken even remotely seriously by governments until fairly recently. This used to be the purview of the community's church(es). Which brings me to the next sub-point -
  • The Catholic Church's position on married sex has changed wildly in the last hundred years or so - It used to be "avoid it, even if married. If you can't avoid it you can avoid having kids, just be cool about it" and has changed to "off you go then. You ARE married to each other right? super. NO CONDOMS!"
  • Society's views on extramarital sex have changed dramatically. More humping = more kids. no ifs, ands, or buts. (If they used butts there'd be less kids. just saying)
2) Statistical error -

The study took samples of eight "birth cohorts" (groups of women of roughly the same age to average against each other) from 1800 to 1970. Taking point one into consideration, we see that as they are not-so-much at history/sociology, they are probably only so-so at math.

Also, the difference of four years, noting that record-keeping was a more of a  "She's about 20 or something, eh" style of thing, is well within what I would accept as margin of error.  

3) Medical Advances -

The report makes it abundantly clear that this was only taking into account SUCCESSFUL parturition, NOT primigravidate status. (primigravida = Latin for first pregnancy). Before modern medicine, childbirth was dodgy, at best. looking over the cited references on wikipedia's page on maternal mortality, we see that you could expect, in the context of a real hospital (Dublin Maternity Hospital) a deathrate approaching 40%. And this was an a city renowned throughout the world for its doctors in this period. They hardly ever leached someone to death. Like almost never.

going back to point one, it appears that in the 20th century, unsuccessful birth (stillbirth, abortion, maternal death, etc) is extremely under reported. So that's throwing off numbers as well.

These are just a few examples - if someone were to buy me the actual full paper, I could probably come up with more.

So the simplest, reasoned argument is, as always - "You're doing it wrong, you tit".



And that's just my problems with the actual scientists. The sporting press seems to have taken this ball and run with it. Well, I for one say "Well shit".

Here's why -

Science and reason in this country are under direct assault from the superstitions and willful ignorance of the religious right. This article, due to sloppy reporting or science is so easy to pick apart that this will only add to the godbotherers ammo pile.

My solution? simple - If you are a large publication (> 5000 readers) and you wish to report on scientific news/concepts/etc - you have to hire a real scientist with an actual degree from a real university (Sorry, University of Phoenix, you'll just not do) to explain the principles, techniques, results, and implications of the research.

The problem and its solution annoy me. According to my usual position, the article is perfect. The reporter simply reported, no analysis, no opinion. But now I am beginning to understand why this position may have logical flaws.....

More on this later.


Thursday, September 15, 2011

A Quick View into My Life.


I subscribe to tons of RSS feeds, as something to do at work. I saw a Lifehacker article on how to keep long-term relationships "fresh", and feeling all "Suzy Homemaker", I sent off a link to The Bunny. This is what happened:




On Thu, Sep 15, 2011 at 9:50 AM, Peter Bomars wrote:

 not saying anything, not passive aggressive, some of this sounds fun.

http://lifehacker.com/5840566/how-to-avoid-the-four-most-common-relationship-killers

And WOW do I feel teh geeeeeeeeeeeeyyyyyyyyyy



OK, so read that link. It's full of heartwarming stuff.

The Bunny read that and responded with:



On Thu, 2011-09-15 at 11:50 -0700, The Bunny wrote:

So we're working on our relationship AND you're gay? Here's the guide I thought most helpful

http://ohnoa.com/2011/09/the-dangerballs-guide-to-being-the-best-at-marriage/


I retorted:


On Thursday, September 15, 2011, Peter Bomars wrote:

No....I though taking a class together or something. Also, more naked cheerios/Cap'n Crunch.


A sensible reply:


On Thu, 2011-09-15 at 13:06 -0700, The Bunny wrote:

Classes sound fun but we revisit this issue every 6 months and neither of us have found anything that we want to spend that money on learning. But I agree more date nights and I that.


Things get weird:


On Thu, Sep 15, 2011 at 1:08 PM, Peter Bomars wrote:

And the cereal issue? where does the committee stand on that?

On Sep 15, 2011 2:01 PM,  The Bunny wrote:
I think you need to reread that article because cereal and sexy rumpus time did not go together.

Although I do think that discovering you have a sexual need for Cap'n Crunch after 5 years together could improve our relationship....or destroy it depending on whether you want me to wear the outfit or not. Also best comment on that article:

"Personally, this is what I was rooting for Dear Abby and Ann Landers to turn into: “Ann Landerballs  Head Cuntmuffin of Social Fucking Values” Totally needs to be an advice column. I fucking dare you. I even promise to stalk it and offer unsolicited advice to viewership!

Possible titles could be:

  • The Dangerballs Guide to a Sexier (and less hairy) You
  • Lose Some Fucking Weight, Already ~ Nutritional advice from Dangerballs Gavin
  • I’ll Let You Fuck Me if You Stop Blaming Your Farts on the Dog ~ Tips on how to repair your struggling marriage
  • I Never Loved You ~ Insight into calmer family relations
  • Please Stop Breathing in Public: The Dangerballs Political Blog

I’ll think of more if you don’t like those…"


Feeling just a touch put out over the snarky rejoinder:



On Thu, Sep 15, 2011 at 2:10 PM, Peter Bomars wrote:

No, they are not together. But if during sexy naked rumpus time you could, on occasion, state that you are or are willing to be "cuckoo for cocoapuffs" that'd be swell


And finally:



On Thu, Sep 15, 2011 at 2:12 PM, The Bunny wrote:

So what you're saying is I should add that to the face licking and retarded voice?Will do, my Liege!


So yeah. That's pretty much my life.

Sunday, September 4, 2011

Wedding Blues, Wamblish Shoes, and Insidious Florists

Well, as you are a faithful reader and know what the hell is going on around here (unlike your devoted chronicler), you are aware that The Bunny and I are getting hitched all official-like. To all the men out there, read on:

PROPOSING IS A REALLY, REALLY BAD IDEA! Don't do it. Ever.

Here's why - Your current bedbunny is a sane, rational woman, right? Cool, composed, not given to flights of wacky hysterics about the minutia of candles? HA! slap the groovy wedding-vibe on her and madness follows.

You ask for proof? Well, results may vary, but I do have a couple examples:

Before proposal:

A longtime favorite discussion around the 'ole Bomars hearth was on the nature of what constitutes Art. As in - Kant vs Tolstoy Vs Kierkegaard in a to-the-death cage-match.

After proposal:

"What do you think we should do with the leftover place mats from the reception?"
or the current favorite:
"Did you know <insert insufferably boring factoid about the wedding dress industry> and if I buy my dress online <I usually faint with ennui here>"

OR


BP:

The Bunny: "Who should we invite to <insert event here>?"
Your hero: "I dunno, people?"
The Bunny: "Yeah, people are good."

AP:

The Bunny: "Who should we invite to the wedding?"
Your hero: "I dunno, people?"
The Bunny: <hateful stare>

From these two examples, we can deduce that men and women do not have the same sense of importance or urgency regarding nuptials.

I, for one, would like no better than to have people show up with cash in hand and party until every last person we have ever met passes out. Somewhere during the party (to be determined by the mood of the festivities) an ordained-type person shouts incomprehensible gibberish about the solemnity of the event, passes out, regains consciousness, makes us lob rings at each other, passes out again and is carried off stage. DONE. see? simplicity itself. I planned that whole thing in like thirty seconds.

The Bunny's plan involves florists, the most economically parasitic trade known to man, They are even more evil than the IRS. It gets even worse from there. (Wait, maybe I'm wrong. maybe it wasn't florists...it could have been flautists. Seriously, though...why the hell would we need flautists? Women are a mystery.) (Also, as a side note, I need to get my hearing checked.)

O, Brother - take heed, as well, of the following dire warning:

AT NO TIME, FOR NO REASON, EVER GIVE A WHIMSICAL SUGGESTION TO THE PROSPECTIVE BRIDE ABOUT ANYTHING AT ALL, lest your silly idea be taken as a demand.

Me, a long, long time ago: "I wanna get married in a cathedral " (Seriously, it'd be awesome. The Wedding March played on a pipe organ, a choir singing Vivaldi's Magnificat, knights in armor....Hell yeah)
The Bunny: <dialing the local Archdiocese last week> I don't know if we can afford it; but if I can get someone to buy a kidney...
Me: "WTF? I'm not even Catholic! Wait....How much you think we can get for a kidney, though? I've got like...two or something."
The Bunny: <hateful stare>

Oh, and my personal fave - every woman she has ever met, even briefly, like on the bus or something, will come out of the woodwork offering "help". And by "help" I mean a carefully coordinated campaign of misinformation and anti-male propaganda.

Some chick The Bunny met at summer camp in 1987: "Heard you were getting married! Just emailing you to see if you wanted to use my antique rose curling press you will totally need one!!! Also, your fiancée has called in a hit on a puppy, is cheating on you with a nearsighted marmoset, and may be a communist."

Some other chick The Bunny knew from college: "Hooray! Men can't be trusted with even the smallest task! Did you know that a mere SIX MONTHS before our wedding, my husband suggested that we go out rollerskating? ROLLERSKATING!!!!! He obviously has no notion! Also, during the rehearsal dinner, he ate CHICKEN!?!?! Also, you should purchase this orbital sander so your shoes won't wamble."


And so on.


Hold the phone, I just realized something. Is this how women feel when it's mentioned, briefly, that they would like a new computer/car/tool and their guy offers sound, reasonable advice? Except all crazy? something to think about....


More later.


Wednesday, August 24, 2011

How I Handle Feedback and a Very Special Episode of Bunny.

So the other day, The Bunny and I went out with some folks to a bar called The Feedback Lounge over in West Seattle. As a "scratch bar", they make a great deal of their mixers fresh, by hand, at the time of order; but they go a step above and beyond: They infuse their own liquors on site. HERE is a link to their drinks menu.

Piece of advice - The Whiskey Smash is DELIGHTFUL.

After imbibing several of these fine beverages, Bunny, her friend "T" (of the suspect "Lady Date" episode) and I, retired to the abode of newlyweds "B" and "J" to have some beers and chill out on their back porch while enjoying the warm evening air.

At this point it a good idea to mention that "B" and The Bunny had already had a couple more than was strictly necessary and I had had exactly the right amount to wax all "professory" at people for some time regarding the most boring subject imaginable - Middle Eastern History (complete with gestures and forgetting what I was talking about).

In the middle of a rather fascinating dissertation on the impact of Arabic Poetry on Spanish Literature in the 15th century (It's actually a real thing, and in its own way totally fascinating), "B" decided that I need a good talking-to about my relationship with The Bunny.

Here's what i think of that:

Katrina, in the five years I have known you, you have made me the happiest man in the world. Even though we have different likes or opinions at times, we never fail to find common ground, and to find delight in sharing with each other. I knew from the first day we met that you were the one, and still feel that way.

To that end, and as we met because of words written in a blog, I will ask you, in a blog.

Katrina, will you marry me?


There. Now all you people asking when I'm going to take this seriously had better shut the hell up.

Tuesday, August 16, 2011

Methuselah Takes a Dive, Beaver Conditioner, Non-Disclosure, and Magic Shell

Sick again. Dammit. I swear that each and every child of my coworkers  is a disease factory. When I work around people with no kids, no problem. I am never ill. Introduce a perambulating petri dish at home and WHAM! Cholera, plague, dengue fever, licky end (which only pregnant ewes get), you name it.

Get this, we were told that blogging about, or writing a negative review on a job-board about my employer is a direct violation of our nondisclosure agreement. lol. I'm not risking it because making the head of IT nervous about what I am going to say or do next is worth any amount of patronizing malarkey.
Enough flirting with the unemployment line.

My plans to build my own Ubuntu Linux derivative based on Openbox (O'Buntu? great. now I want to drink too much and eat potatoes while being superior to Mac users) took a horrible turn this weekend.

Bunny's evil cat, Moo (who Hates. For comparison, Westboro Baptist is mildly concerned for people like me. Moo HATES.) decided that while I was walking with Methuselah (my ancient testing laptop) that she needed to be precisely where my foot was landing. I went flying and landed on Methuselah, which broke in half at the hinges.

Here's my review of the 2002 Compaq Presario v2000 (AMD):

buy one. buy one today. Your current laptop sucks. It is a barely-opaque communist plot to make you effeminate. A REAL laptop would engender comments like "Like a boss" in your limp-wristed (carpal tunnel....sure) friends (that always smell faintly of mushrooms and broken dreams). The Compaq v2000, upon which Ernest Hemingway wrote his never published autobiography  "Yeah, I Fucked your Mom, Bitch Still Owes Me Twenty Dollars" (I laughed, I cried, I learned a little about myself) is so tough, it was the REAL reason John Wayne died. He tried to fuck around and CTL-ALT-BACKSPACE to kill the X-server process and Methuselah ate him. The lung cancer thing was a clever ploy by his publicist. I actually know a real-deal diesel dyke that won't use Methuselah because it's too tough. And she's beat me up! Twice! (I may or may not have made some of this up)(I was NEVER beaten up by a girl. The rest is gospel truth)

Here is what what I base my thoughtful, technical opinion on:

This laptop BROKE IN HALF. I plugged the monitor back in (it came detached from the motherboard) AND IT BOOTED LIKE NOTHING HAPPENED. So I am now getting him a new case and we'll be back in business.I've had this computer longer than I've had pubic hair, and it's more reliable than anything else I have ever owned.

WAIT, I was going to tell you all about last Friday. My buddy Zach came over to hang out with the Bunny and I. For some strange reason they decided that they must have ice cream and that I was the intrepid adventurer who would risk life and limb at the local grocery store to bring back the spoils of the hunt.

Lazy bastards.

So Bunny has this thing, she thinks that I have very, very short att

hey, I just thought of something. Why the fuck don't I PAINT Methuselah's new case? Ferarri red or Darth Vader theme or something.

ention-span.

This is obviously an overstatement. Sure, sometimes i may not pay the closest attention to you boring people, but that's because YOU'RE BORING. (duh)

Anyway, i just got in my truck when the texts started:


Bunny - Butter Pecan, Magic Shell, Whip Cream, Cherries
Me - Seriously?

At this point I was kinda pissy that she thought I couldn't remember what i was sent for. Then the text started rolling in every thirty seconds until I got home.

Bunny - And some Maddog 4040
Zach - Kielbasa
Bunny - The maraschino cherries have to be organic, dye-free, and preserved in the tears of poor children
Zach - and a Mars Bar
Bunny - And some Jammy Dodgers
Zach - and some pork rinds
Bunny - A Hustler magazine
Zach - fish sticks
Bunny - One pound cruelty-free, fair-trade spinach
Zach - Macaroni salad from the deli, God help you if there's onions
Zach - And some rubbers, get the big ones
Bunny - And you'll probably need some Wesson oil from what Zach says
Zach -Do they still sell Big League Chew? find out if they still sell Big League Chew.
Bunny - Cracker-Jacks with ANY AND ALL prizes related to Abe Lincoln REMOVED.
Zach - Pygmy walrus too exotic for the QFC?
Bunny - Beaver Conditioner
Zach - Brown M&Ms. You heard me, BROWN
Bunny - Made from only Alaskan beavers, preferably only ones that lived near Sarah Palin
Me - HA! Fuck you! I found organic, dye-free cherries! They're out of maddog, though.
Bunny - Fuck YOU, the dye makes them taste better
Bunny - rubber sheets
Bunny - Lion-chow catnip felt mousies
Bunny - Sorry, Moo got my phone
Bunny - Extra-Large garbage bags and a pound of quick lime


So there I was, walking through the store,my phone pinging every thirty seconds, cracking up. Meanwhile, store security must have thought I was some kind of drug-crazed oatmeal thief, because I was followed the entire time. This made me laugh even more. I could hardly check out. Then, with store security five feet behind me, I walked up to some poor, twitter-pated girl stocking shelves and asked her where the Magic Shell was (that chocolate stuff that hardens when it hits ice-cream..don't ask. they wanted it). The poor girl must have thought that I was game for a good 'ole fashioned rapin' because she squeaked and pointed to the aisle. Poor daffy girl.

Anyway, yeah, that's my weekend. How was yours?


Tuesday, August 9, 2011

Religion, Obama, Preist, The Eagle,Germans, and Reeducation.

For me, O Oblate Reader, movies are like a religion. I truly believe in the whole experience. Some time ago, in my old blog, I made rather cool simile comparing going to the movies like going to Catholic mass in some old-world cathedral. It still holds true for me.

A couple of days ago I watched a couple movies

The Eagle:


Some of you may know that I am a Roman history buff. Love me some Rome. This movie passed the "Pete's a pedantic ass" test with flying colors! I know there were some inaccuracies; but because I know next to nothing about Celtic history, I had to let 'em slide. (NO one knows much about Celtic history. Anyone that says different is lying, selling you something, or one of those daffy new age hippy bastards) For instance, the Scottish actors were speaking Lowland Scots (naturally) not the completely extinct and almost completely unknown Pictish.  (seriously, we have a couple of hotly debated Ogham inscriptions and some place names like "Inverness", that's it)

The movie in and of itself was enjoyable if a little shallow. The Director, Kevin MacDonald, has almost completely worked in documentaries, so you would think that the guy could find SOMETHING to get real deep about. But no, it's a pretty staid attempt at a two-guys-from-completely-different-worlds-work-together-toward-a-nigh-impossible-goal-and-find-common-ground-and-mutual-respect thing. But like I've said earlier, sometimes it's not "new" that is important, it's what you bring to the table in terms of honesty and artistry. MacDonald brings both, with one small, tiny objection from me: I love Terrence Malik, the crazy fuck. EVERYONE loves Malik. We know YOU love Malik, so there is no reason to cling to him like an insecure high-school girl in a Denny's. Giving Malik a nod, a quick smootch even, is completely OK. But to try and copy his style is not. You are a very pretty, smart girl, Kevin, and need to focus on how YOU are special, not how Terence makes you feel special.

Wait. Shit. I got my similes, allusions, and reality all twisted. MacDonald is not a high-school girl, as far as I know. OK. we cool?

I also saw Priest. Meh. As a movie, I see why it bombed in the theaters. This is a movie for stealing, not paying money.

HOWEVER you can't if you have any Sony products as your main media player. Sony decided that "free market" capitalism is awesome when there is no competition and it doesn't have to listen to the market in any way, shape, or form. They set up the Priest DVDs and BluRays with a horrible new form of anti-piracy malarkey that doesn't work if you have any computer skills at all. (So I am told by someone that I met once and found to be untrustworthy.)( HEIL, DMCA! Aktiengeschellschaften über Alles! [und so weiter]) This new form of copy protection checks against a database to see if you have the right to watch the movie. If not, it turns the sound off. Here's something to think about, there is no guarantee that this movie will work if you rent it. Think about it - even if you have the DVD from Netflix (those chiseling bastards) if there are too many entries on the DB, or your player isn't connected to the internet, you can't watch it....


I won't go into it too much further, as that would be illegal.


The only way to avoid knowing any more about it is to watch this movie on anything that is not Sony. This advice is legal, here's why:

This lame attempt at security is so easy to circumvent that even seeing it in action immediately alerts any reasonably intelligent person exactly how to circumvent it. Therefore, in an heroic act of cogitation, I came to the flawless conclusion that to save my brethren and sistren the karmic debt of breaking the law, I will simply not allow them to be exposed to the potential situation in any way! Not only am I a legal genius, I am a fucking bodhisattva.

Yeah, Priest. Paul Bettany, And the clenchy guy from the Return of the King and "Bones" in the new JJ Abrams Star Trek movie. What's his name. (Bunny says that he can muster HER Rohirim anytime...the floozy) It has one redeeming feature: If you want to have something on that is loud while snogging on the couch so the roommates can't hear you...there you go. AND ANOTHER reason to make double sure not to watch it on Sony products.

Which brings me to my main point. The Bunny.

Recently, I have been enrolled in her Reeducation Camp for Wayward Spendthrifts, enjoying languorous sessions of electroshock therapy and Assertive Exfoliation Therapy (your bits gets scrubbed with barbed wire. But my skin IS smooth now) all while listening to Her Bunnyness' lectures on the "Five-Fold Path to Home Ownership" and "Up the Bourgeoisie, Down with Renters" blasting from the tannoys. I came up with a BRILLIANT plan. The subtleties of which seem to be lost on her.

My plan is in two parts, it allows for personal recreation and ads valuable income to our coffers.

You ready?

Fuck Bitches, Make Money.

BRILLIANT. Needless to say, Bunny was not impressed.

Boredom encroaches. More next time.

Saturday, August 6, 2011

How to Set Up an Automated, Headless Torrent Downloader and uPNP Server on Ubuntu Server 11.04

Hi all,

Today, for the first time, we are going to discuss a really, really simple Linux howto: Setting up an automated, headless torrent downloader  and streaming media server using:

  1. Server Environment
    • Ubuntu Server 11.04 (AMD64 for preference)
    • Full LAMP stack already installed and configured to your liking (technically optional, but come on....)
    • Correctly configured local network. (firewall and so on)
  2. Software to be installed and configured:
    • Transmission-daemon
    • Dropbox
    • Mediatomb


Please note that this tutorial will not cover installation of the server environment nor  of the LAMP stack. This tutorial will also assume only the bittorrent client will be accessible from outside your local network; allowing everything to be accessible to the big, bad internetz is not safe. In fact, I strongly advise that you only allow it to be accessible for a short time for debugging purposes, as everything else is handled via Dropbox once it's all set up!

Remember folks, more open to the world = more attack vectors = we're in ur base killin ur d00ds.

This tutorial assumes that you already have an account with Dropbox and it is set up on your desktop/laptop/daily driver. Heck, I use my Android-based phone sometimes.

ALSO NOTE - My plan is to keep this updated, so as server versions change, or changes to the software occur, this tutorial should be pretty much valid.

OK, here's the easy part:

INSTALLING THE SOFTWARE


I recommend you do the following from inside the local network:

everything is done from "/home/<username>/" or "~" directory. If you aren't sure what those are, stop now, get some uber-geek to come over and continue on from here.

SSH onto your server.

copy-and-paste the following into your shell:

"ffmpegthumbnailer" is recommended but completely optional; it sends a thumbnail of each file to the client (in my case a PS3) so you have a pretty picture next to the title.

OK, great. so you have almost everything installed, now to the drop-box part:

copy-and-paste the following into your shell:
For Stable 32-bit:


OR

For Stable 64-bit:


and extract with



then run the dropbox script:


A really annoying repeating message pops up. copy-and-paste the ENTIRE url into a browser on your computer, and sign into Dropbox. OKOKOK, for you pedants out there, I know the dropbox wiki says to not do that, but it seems to work fine. I've done this a couple times with various OSes and network situations. So there. If it doesn't.... read the bottom of this post.

At this point, I would check that you have a folder/directory in your Dropbox folder/directory called something that you will remember. Mine is called "torrents". For the rest of this tutorial, that is the name I will be using for the configuration. Please remember to change this to whatever you named the folder where you are going to temporarily store .torrent files.

Also, here is the one thing that I really, really need you to think about if you wish to proceed:

You will have to make this folder "globally writable". This means that anyone or any process can do pretty much whatever the hell it wants to the contents in this specific folder.

If you ONLY store torrents in there which are about to be processed, then there is very, very little likelihood of any real danger. But this is something you will have to consider and a decision you will have to make on your own. Note also, that this person/process will have to already have access to your server. So really, it's your own fault that this purported person deleted your "Backdoor_Betty_XVI.TEHPWNZER.DVDRIP.xvid.torrent" file; and I, for one, am truly shocked at you.

That being said,

chmod 777 ~/Dropbox/torrents

Dropbox install is finished.

Information courtesy wiki.dropbox.com. For further info: http://wiki.dropbox.com/TipsAndTricks/TextBasedLinuxInstall


CONFIGURATION


OK, this is where things can get confusing, but bear with me...we'll get through this together.

Let's go through this in order of "data in" to "data out" - Dropbox is pretty well handled, so you can get .torrent files to your server. Next, we want to download the torrents and store them somewhere.

Make a place to store your media files.

$mkdir media

Done! well, done-ish. Eventually, I will add a script to this tutorial that automates the organization, but that'll be a few tutorials from now, when I have a chance to show you a couple Bash, perl, or Ruby tricks.


now we are going to edit the transmission-daemon configuration file. This can get scary, but bear with me.

Most tutorials on the web have you edit the wrong file, but here are Fiascoes, Travesties, and Faux Pas, we believe in doing things that bear a fair resemblance to "right". Or at least "close enough"; so it is completely unthinkable that we would be completely wrong. Or at least mildly puzzling. Well, we're not likely wrong, most of the time....whatever.

Transmission-daemon has two configuration files. The permanent, static one and the one that loads at runtime. The default transmission-daemom configuration overwrites the runtime config file for some reason that probably makes sense, but I haven't bothered to look into too far.

The permanent config file is

/etc/transmission-daemon/settings.json

before you go all nimbly-pimbly running from xml-tag to xml-tag, take a second and glance at the documentation:

https://trac.transmissionbt.com/wiki/EditConfigFiles

it's all simple, just scary sounding. Don't panic. Here is my copy, redacted so you don't get all hacky on me.


{
    "alt-speed-down": 50,
    "alt-speed-enabled": false,
    "alt-speed-time-begin": 540,
    "alt-speed-time-day": 127,
    "alt-speed-time-enabled": false,
    "alt-speed-time-end": 1020,
    "alt-speed-up": 50,
    "bind-address-ipv4": "0.0.0.0",
    "bind-address-ipv6": "::",
    "blocklist-enabled": true,
    "blocklist-url": "http://list.iblocklist.com/?list=bt_level1&fileformat=p2p&archiveformat=gz",
    "cache-size-mb": 2,
    "dht-enabled": true,
    "download-dir": "/home/username/media",
    "download-limit": 100,
    "download-limit-enabled": 0,
    "encryption": 1,
    "idle-seeding-limit": 30,
    "idle-seeding-limit-enabled": false,
    "incomplete-dir": "/home/username/torrents",
    "incomplete-dir-enabled": true,
    "lazy-bitfield-enabled": true,
    "lpd-enabled": false,
    "max-peers-global": 200,
    "message-level": 2,
    "open-file-limit": 32,
    "peer-limit-global": 240,
    "peer-limit-per-torrent": 60,
    "peer-port": 51413,
    "peer-port-random-high": 65535,
    "peer-port-random-low": 49152,
    "peer-port-random-on-start": false,
    "peer-socket-tos": 0,
    "pex-enabled": true,
    "port-forwarding-enabled": true,
    "preallocation": 1,
    "ratio-limit": 2,
    "ratio-limit-enabled": false,
    "rename-partial-files": true,
    "rpc-authentication-required": true,
    "rpc-bind-address": "0.0.0.0",
    "rpc-enabled": true,
    "rpc-password": "enter a decent password, it will be changed into a hash after the first run",
    "rpc-port": 9091,
    "rpc-username": "something sensible here",
    "rpc-whitelist": "192.168.*.*,*",
    "rpc-whitelist-enabled": true,
    "script-torrent-done-enabled": false,
    "script-torrent-done-filename": "",
    "speed-limit-down": 100,
    "speed-limit-down-enabled": false,
    "speed-limit-up": 100,
    "speed-limit-up-enabled": false,
    "start-added-torrents": true,
    "trash-original-torrent-files": false,
    "umask": 18,
    "upload-limit": 100,
    "upload-limit-enabled": 0,
    "upload-slots-per-torrent": 14,
    "watch-dir": "/home/username/Dropbox/torrents/",
    "watch-dir-enabled": true
}



change everything that says "username" to YOUR username. not "username" that would be silly.

so ready? breath deep.

make a copy so if you screw up, you can start over by copying it back!

$ sudo cp /etc/transmission-daemon/settings.json /etc/transmission-daemon/settings.json.backup

then edit

$sudo nano /etc/transmission-daemon/settings.json

then we restart the service:

$sudo service transmission-daemon restart

Then we test!

open a browser and go to your server's IP address, port 9091

http://SERVERNAME:9091

You should get something like this:



If not, go through the settings.json file again and reload the service.

If you still have no luck, re-read the documentation. If you STILL have no luck, let me know. Be warned - if this is a simple issue and is clearly one of you not reading the documentation, I reserve the right to make fun of you before I help.  I will, however, help....eventually.


MEDIATOMB CONFIGURATION

The default configuration runs on sqlite3. I prefer to store the data as a mysql database, as I haven't the faintest idea how to work with sqlite. (seriously...the heavyweight DBs are so easy to work with, I never bothered to learn anything about sqlite, I know that it works, and works well, and how to connect using the various APIs out there, but that's really it)

So the NEXT step is completely optional:

MySQL Configuration

login to your MySQL console as root

$ mysql -u root -p
enter password: <---do so. This is the MySQL "root" password, not your login password. They ARE different, right? no? shame.

mysql> CREATE DATABASE mediatomb;
mysql> CREATE USER 'mediatomb'@'localhost'; 


OK, that last one is weird - we are creating a user with NO password on a live database. Don't worry, this user will only have access to the mediatomb database and only can access MySQL on the server itself and nothing/nowhere else AT ALL. This isn't even a real user! No one can log in on your server as "mediatomb". Relax. Programs do this all the time, and don't tell you. I'm just the honest sort.



mysql> GRANT ALL ON mediatomb.* TO 'mediatomb'@'localhost';

mysql> exit;

We are now ready to edit the actual mediatomb configuration file.

first, make a backup!

$ sudo cp /etc/mediatomb/config.xml /etc/mediatomb/config.xml.backup

now edit

$ sudo nano /etc/mediatomb/config.xml

or vi or ed or whatever editor with which you are most comfortable.

edit your file to be like THIS:


<?xml version="1.0" encoding="UTF-8"?>
<config version="2" xmlns="http://mediatomb.cc/config/2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://mediatomb.cc/config/2 http://mediatomb.cc/config/2.xsd"><!--
     Read /usr/share/doc/mediatomb-common/README.gz section 6 for more
     information on creating and using config.xml configration files.
    -->
  <server>
    <ui enabled="yes" show-tooltips="yes">
      <accounts enabled="no" session-timeout="30">
        <account user="your username" password="your password"/>
      </accounts>
    </ui>
    <name>Mediatomb (or whatever you want, really)</name>
    <udn>uuid:0ffba0119-99b3-4961-904f-ef60b95791e2</udn>
    <home>/var/lib/mediatomb</home>
    <webroot>/usr/share/mediatomb/web</webroot>
    <port>anything above 49152. I use 51000</port><!--this is added by you-->
    <storage caching="yes">
      <sqlite3 enabled="no">
        <database-file>mediatomb.db</database-file>
      </sqlite3>
      <mysql enabled="yes">
        <host>localhost</host>
        <username>mediatomb</username>
        <database>mediatomb</database>
      </mysql>
    </storage>
    <protocolInfo extend="yes"/><!-- For PS3 support change to "yes" --><!--
       Uncomment the lines below to get rid of jerky avi playback on the
       DSM320 or to enable subtitles support on the DSM units
    -->
-
    <custom-http-headers>
      <add header="X-User-Agent: redsonic"/>
    </custom-http-headers>

    <manufacturerURL>redsonic.com</manufacturerURL>
    <modelNumber>105</modelNumber>
    <!-- Uncomment the line below if you have a Telegent TG100 --><!--
       <upnp-string-limit>101</upnp-string-limit>
    -->
    <extended-runtime-options>
      <ffmpegthumbnailer enabled="yes">
        <thumbnail-size>128</thumbnail-size>
        <seek-percentage>5</seek-percentage>
        <filmstrip-overlay>yes</filmstrip-overlay>
        <workaround-bugs>no</workaround-bugs>
      </ffmpegthumbnailer>
      <mark-played-items enabled="no" suppress-cds-updates="yes">
        <string mode="prepend">*</string>
      </mark-played-items>
    </extended-runtime-options>
  </server>
  <import hidden-files="no">
    <scripting script-charset="UTF-8">
      <common-script>/usr/share/mediatomb/js/common.js</common-script>
      <playlist-script>/usr/share/mediatomb/js/playlists.js</playlist-script>
      <virtual-layout type="builtin">
        <import-script>/usr/share/mediatomb/js/import.js</import-script>
        <dvd-script>/usr/share/mediatomb/js/import-dvd.js</dvd-script>
      </virtual-layout>
    </scripting>
    <mappings>
      <extension-mimetype ignore-unknown="no">
        <map from="mp3" to="audio/mpeg"/>
        <map from="ogg" to="application/ogg"/>
        <map from="asf" to="video/x-ms-asf"/>
        <map from="asx" to="video/x-ms-asf"/>
        <map from="wma" to="audio/x-ms-wma"/>
        <map from="wax" to="audio/x-ms-wax"/>
        <map from="wmv" to="video/x-ms-wmv"/>
        <map from="wvx" to="video/x-ms-wvx"/>
        <map from="wm" to="video/x-ms-wm"/>
        <map from="wmx" to="video/x-ms-wmx"/>
        <map from="m3u" to="audio/x-mpegurl"/>
        <map from="pls" to="audio/x-scpls"/>
        <map from="flv" to="video/x-flv"/>
        <map from="mkv" to="video/x-matroska"/>
        <map from="mka" to="audio/x-matroska"/>
<!-- Uncomment the line below for PS3 divx support -->
<map from="avi" to="video/divx"/>
<!-- Uncomment the line below for D-Link DSM / ZyXEL DMA-1000 -->
<!-- <map from="avi" to="video/avi"/> -->
      </extension-mimetype>
      <mimetype-upnpclass>
        <map from="audio/*" to="object.item.audioItem.musicTrack"/>
        <map from="video/*" to="object.item.videoItem"/>
        <map from="image/*" to="object.item.imageItem"/>
        <map from="application/ogg" to="object.item.audioItem.musicTrack"/>
      </mimetype-upnpclass>
      <mimetype-contenttype>
        <treat mimetype="audio/mpeg" as="mp3"/>
        <treat mimetype="application/ogg" as="ogg"/>
        <treat mimetype="audio/x-flac" as="flac"/>
        <treat mimetype="image/jpeg" as="jpg"/>
        <treat mimetype="audio/x-mpegurl" as="playlist"/>
        <treat mimetype="audio/x-scpls" as="playlist"/>
        <treat mimetype="audio/x-wav" as="pcm"/>
        <treat mimetype="audio/L16" as="pcm"/>
        <treat mimetype="video/x-msvideo" as="avi"/>
        <treat mimetype="video/mp4" as="mp4"/>
        <treat mimetype="audio/mp4" as="mp4"/>
        <treat mimetype="application/x-iso9660" as="dvd"/>
        <treat mimetype="application/x-iso9660-image" as="dvd"/>
        <treat mimetype="video/x-matroska" as="mkv"/>
        <treat mimetype="audio/x-matroska" as="mka"/>
      </mimetype-contenttype>
    </mappings>
    <online-content><!-- Make sure to setup a transcoding profile for flv -->
      <YouTube enabled="no" refresh="28800" update-at-start="no" purge-after="604800" racy-content="exclude" format="flv" hd="no">
        <favorites user="mediatomb"/>
        <standardfeed feed="most_viewed" time-range="today"/>
        <playlists user="mediatomb"/>
        <uploads user="mediatomb"/>
        <standardfeed feed="recently_featured" time-range="today"/>
      </YouTube>
      <Weborama enabled="no" refresh="28800" update-at-start="no">
        <playlist name="Active" type="playlist" mood="active"/>
        <playlist name="Metal" type="playlist">
          <filter>
            <genres>metal</genres>
          </filter>
        </playlist>
      </Weborama>
      <AppleTrailers enabled="no" refresh="43200" update-at-start="no" resolution="640"/>
    </online-content>
  </import>
  <transcoding enabled="no">
    <mimetype-profile-mappings>
      <transcode mimetype="video/x-flv" using="vlcmpeg"/>
      <transcode mimetype="application/ogg" using="vlcmpeg"/>
      <transcode mimetype="application/ogg" using="oggflac2raw"/>
      <transcode mimetype="audio/x-flac" using="oggflac2raw"/>
    </mimetype-profile-mappings>
    <profiles>
      <profile name="oggflac2raw" enabled="no" type="external">
        <mimetype>audio/L16</mimetype>
        <accept-url>no</accept-url>
        <first-resource>yes</first-resource>
        <accept-ogg-theora>no</accept-ogg-theora>
        <agent command="ogg123" arguments="-d raw -o byteorder:big -f %out %in"/>
        <buffer size="1048576" chunk-size="131072" fill-size="262144"/>
      </profile>
      <profile name="vlcmpeg" enabled="no" type="external">
        <mimetype>video/mpeg</mimetype>
        <accept-url>yes</accept-url>
        <first-resource>yes</first-resource>
        <accept-ogg-theora>yes</accept-ogg-theora>
        <agent command="vlc" arguments="-I dummy %in --sout #transcode{venc=ffmpeg,vcodec=mp2v,vb=4096,fps=25,aenc=ffmpeg,acodec=mpga,ab=192,samplerate=44100,channels=2}:standard{access=file,mux=ps,dst=%out} vlc:quit"/>
        <buffer size="14400000" chunk-size="512000" fill-size="120000"/>
      </profile>
    </profiles>
  </transcoding>
</config>


So basically, you make sure that you have enabled the UI and put in a sensible username and password, disabled sqlite (sqlite3 is "no"), and enabled MYSQL (MySQL is "yes" with the database and username you selected earlier.) Also, as I have a PS3, I've uncommented the "uncomment this..." stuff relating to PS3. If you chose to install ffmpegthumbnailer earlier, enable that as well. It's pretty straight-forward.


to finish, run

$ sudo service mediatomb restart

Next test and add the file you want to watch -

open any browser and go to your server's IP address, at whatever port you set in <port></port>




From here, you click on "File System", and browse to /home/username/media and click in the button and select "inotify" that will automagically grab stuff that is added there and add it to the serve list.


Finally, we test the whole thing.

Add a LEGAL (pfftmmmphhffchtchortle) torrent media file to your Dropbox "torrents" file on your local machine. wait a second or two.

go to the transmission interface. is it there? awesome.
wait for it to download
go to the mediatomb interface.
is it in the mediatomb database? stupendous

go to your PS3/other streaming client. Do you see a "mediatomb" or whatever you named your server? AWESOME. play it, get some popcorn and brag to your honey how awesome you are with your mad l337 haxxor skillz.









This tutorial is for educational/hobby purposes only. At no time will, either jointly or severally, (I thought that bit up myself. HA! who needs law school?) the author, commenter, passers-by, some guy that sent you a link, the Pope, or any other body, terrestrial or otherwise be held liable for anything in anyway or for any reason. I don't promise this will work for you. I do promise I care, but not much. By following the steps outlined above you have entered into a binding agreement to hold the author blameless and defend the author against any claims (or clams) otherwise. You also promise that you will, if reasonable opportunity presents itself,buy the author one (1) beer of the type of his choosing, unless the author is blotto, pickled, senseless, pissed, snockered, or any other sense of rascally drunk, when a cola may be presented as an acceptable substitution. At no time will water be acceptable...You know what fish do in water, right? everything. Lorem Ipsum etc etc etc. Oh, and the author doesn't condone illegal downloading of anything. So fuck off ICE.