IN THE VILLAGE

i walk toward
work in downtown mystic,
amidst our recent heat wave.
the pavement dissolves into
a blur of recognizance.

the sidewalk is dry.
however, my footsteps raise
no dust.

a car pulls into
the parking spot
in front of the local
health food store.
a window slowly unrolls,
defining the progress
of electronic sensors.

“could you tell me how to get to Mystic Seaport?”
“Eric Bogosian!”
“Yes…..”
“Cool. Ok, take the first left after the Drawbridge, at the flagpole.”

“and next?”

“take the left turn at the next stop sign at Route 27. The Seaport lot will be up on your right about two blocks.”
“thanks, kid…”
his wife smiled at me, and turned toward the windshield.

11/18/1989

Hungover as all Hell in a hostel lies the Post Spoiled American Warrior, missing his friends and girlly and ready to kill for even a warm glass of Tropicana Pure Premium OJ.

The law says that in order to be a nightclub, a meal must be served. To do this most cheaply, the place we were last night charges a £3 cover and gives you some good drinking and dancing, slop & rice. Pretty good idea.

I am in the Select Bar, for pub grub, on Shop Street. Good food, great soup and pretty good prices. It looks really la-dee-dah, but isn’t. Full of regulars, they took me in with no problems.

Back in Quays, waiting for the artist, from last night, to arrive at 3. 2:30 now and so bored. Body still in pain from last night. I crave no beer or cigarette, just a hot bath, some good OJ, and my friends. Megen’s crazy depressed tape plays on shitty $15 Walkman with even shittier £4 earphones. Little ones, that go in earholes, attached to headband. What is she doing to me? She knows I will listen to her tape the most and it is even more depressing than Tarbox’s! Black Death on magmatic media.

Coke bottle empty and 10 more minutes until artist arrives. He has to make it on time, because my bus leaves for Mallow at 3:15.

* Quays on Quay Street, visit it, very nice.

3:02 – where is the bastard?!? I NEED my beret, muthafucka!

The kid didn’t show so all I have is a drug helmet, with my growing longer dirty hair sticking out the back. And I saw my bus, the Cork bus, cruising down the street from the station as I take the diagonal path across the park in the middle of Galway City and I have to stay here now until 6 and will only get as far as Limerick tonight. Limerick sucks. It is dead.

I started reading “Lonesome Traveler” while sitting out in the cold in front of the station, but it got too cold so I finished my reading session in the pub/lounge. Not drinking or smoking and listening to everyone and some old drunks can’t remember who ordered the last pint. All want to drink it, none want to pay for it.

Long, dark bus ride to Limerick finds me thinking sleeping hearing smelling seeing my friends. Megen’s Death tape plays on and on and on. Midway through trip, bus stop, five girls get on. One sits next to me and we say nothing. At bus stop in Limerick, she gets off and says “Thank you. Nice to see you.” The Irish are really truly nice people.

* The best cure for loneliness is to keep on moving.

11/17/1989

Yesterday, after I missed the bus, I went into a small pub near the station and had my first pint of Guinness on this adventure. Then I walk Limerick with pack on my back. This is a dead city.

On the bus, finally, to Galway, I played a small game of pass the ashtray with this crazy Irish kid and slept. It was raining, but not hard, as we pulled into the Galway station and I immediately found the B&B Terry and I stayed in two years ago. This place is getting run down. The woman is very unsocial and was unimpressed when I told her that I had stayed here before.

Off into the night. Pizza at Super Mac’s is still really good, and the place was full of beautiful Irish girls, one in particular. There was a shrew-faced male, young, eating alone, like me, wearing a crazy looking suit and tie. I was going to talk to him, but he seemed distraught about something.

Off to the bar. This is a nice place, classy like, in a hotel. There was the shrew, with friends, hundreds of them! Graduation at some university. I figured it would be cool to hang out and meet people, but they weren’t into it. There was some old, 45ish, drunk next to me and he would talk and told me about how nice “hippies” are and about two hostels. He had a small bag of writing paper that he claimed the contents were 145 pounds. It was a gift from the missus. But he soon left. Pint of Guinness and a pint of Bud and I hit the street. I actually got lost. Wrong turn out of Mickey Dee’s or something and I was on the fringes of town. Nice place. Rivers and some crazy big cathedral.

I went back into the same pub and was received even less than before. Single pint of Guinness poured to say “Get out fast”. 100’s of these kids all over the place.

By 8PM, I was asleep at the B&B.

I woke once in the night, at 5 to midnight, from a dream about Megen and Matt McLaughlin.

Woke this morning and 8:45. No shower, because it didn’t work. I haven’t bathe since America! Now, after a pork breakfast, I must find a hostel.

There was no real challenge, but I am spending money much too fast. 10 pounds for the B&B, 4 for the hostel, my headphones broke so there is another 4 and change, food. I’m spending way too much money. I had to even buy a towel for 4 pounds on sale, but this I needed because I just had a lame shower but still feel great. The Post Warrior still is a spoiled American, but not for much longer. If I can learn not to spend so much cash, I’ll make it.

The bar (pub) I frequent, I just learned is a yuppie bar. Oh well. It is nice, but the people suck. After a long walk down to the fucking Oasis disco, which was closed when I finally got there After pissing in a combination Texaco/funeral parlor, it was closed! I couldn’t believe it.

(Letter to Terry)
Oasis is a hike.

I went back to the hostel, where everyone was making dinner. Sorry, I like being out. And I couldn’t eat even if I tried…no microwave or nukeable food! I met one of the two guys that I started out with in JFK, in some travel agency, as I walked the streets of Galway. Digging the people and sights. Holy shit, I’m in Ireland. So far from family and friends and Mystic. I’m in a pub now, which came highly recommended by one of the few people in that other pub. Yup, this is better. Called “Quays” (“Keys” as I looked for it). This is probably the nicest pub I will ever be in! It is beautiful and old with brick arch doorways and two bars. If anyone ever reads this and gets to Galway, Ireland, come here!

(Letter to Dawn)
Any Irish in you? I’ve seen you coming up the street several times now.

By the way, it is only about 7PM and clocks are hard to find in this really old country with walls older than God being just now knocked down to put up more pubs and butcher shops. Ireland, in any pissant little town, blows the Mystic Mile away. I saw those two young punk girls, that I saw yesterday in the center of town, daring all in the yup pub. Yesterday I felt actually threatened by the two probably 17 year old girls, but tonight, as they walked by, I wanted to talk to them but could not get my coward’s nerves up to say “Excuse me, please let me hang out with you.”

Loneliness hits hard. I am so lonely I am answering my own questions, but this is where Truth is found.

(Letter to Michael)
“Yah, Boy!” Listened to your tape in Limerick and Galway. “How low can you go?” That’s correct. Big into J. B. I’ve got names and addresses. Let’s go international, man!

On the walk down to Oasis, I gave a very drunken bum a Camel. I lit it at his request and asked him if he wanted me to smoke it for him, too (a line I learned as a janitor). He tasted it, expecting a Major, and said “What is this?!!?”

The busboy/barback wears a Talking Heads shirt. Very cool place, this Ireland. Tomorrow I think I’ll get on with it and get my ass planted on a bar stool in Castletownroche. Ireland, no matter how hard you fight, is a pub crawl. Soon, I’ll visit New Order’s disco in Manchester, and then on to see Maura in London.

Ireland is like a strange state in America. US news, music, cars, etc are here. But Bud is an import and you pay import prices for it!

The trip is worth whatever and whoever. I’ve hooked up with the potheads. Yeah, too cool. Drunk and kicked out of one pub and into another and into another. Take-away beers and smoking spliffs all the way back. Expensive and weak, but cool to sit around the circle; an artist with everyone’s voice ever, two English majors, and a worker. One of the English majors is by God too funny. Drinking beers by a canal by a river and people passing by and pot and Bud and drugs and all kinds we keep going and it isn’t even 10 o’clock and one wears a Jimi H. shirt. And they know Public Enemy and I Am happy smoking, now listening to a sound painting by the artist whose name I cannot remember, but god they are cool.

(Letter to Tarbox)
Get out of your house, boy! Your sounds have a way to go, as I listen to “just some tape.”

(Letter to Rich F)
Pixies are BIG in Ireland.

My beret has gone missing. These guys smoke resin, dance to Hip-Hop and Funk from the ‘70s. I gave them my address.

(PS to Michael)
Use wooden matches to pack jibbers!

{A separate page tucked into my notebook}
Quays 111789
Lovers sit quiet talking hand holding.
Please, please someone talk to me!
I’ll sit and smile and laugh and talk.
Just please talk with me, to me, but not about me.
Megen look-a-like sits ten feet away.
Much older, like old when the ring is around her finger
and I am long long long forgotten.
Hunger and loneliness and Guinness and Murphy’s
envelope me with fear and Death.
Help me, please.

Something like the 16th

Sleeping on the plane, I had a weird dream. All the regulars were there, but lots of us, kindda like party “Group”, we were all trying to chill out at different people’s houses and drink and talk. Tarbox and Alex were going off. We were poor. There were turkeys and sheep and large-headed mules in the backyards. We kept getting yelled at and kicked out by parents, moms mostly. We were drunks.

(Letter to Dolph)
I saw this chick in the terminal at JFK. Pretty good looking. Saw her next morning after sleeping on the plane. Pretty bad. I had to piss, the sign read “VACANT”, I turned the knob and there she was! I closed the door. When she was done (which she was anyway, as she was standing), she flung the door open and stomped back to her seat.

Shannon Aeroport to Limerick:
Standing at a bus stop, a nice, young, mid-aged woman asks me when the next bus is. I don’t know. She goes and finds out it isn’t for two more hours and asks if I want to share a cab to Limerick, as the bus will go there anyway. OK and she goes to call for one. I, putting on a warm shirt, catch her in the aeroport and she has hooked a rent-a-car business American who will drive us to Limerick for free. Cool, as 100 bucks is 66 and change pounds.

Now in Limerick, and I just missed my bus. Guess I’ll go to the pub.

11/15/1989 8:00pm

So here sits the Post Warrior, alone, in the crazy aeroport, alone, naked and vulnerable. Let’s Go, cheap Walkman, Dawn’s tape, two packs of Camels, and that is it. Loneliness starts and I cannot wait to see Maura in London and sanity will return. Trapped in this reality, waiting, and all the nuts and crazies walk past me without a look. Hundreds and thousands trickle past.

One man, waiting for his oil rig worker friend who is four hours late, starts laughing because that is all he can do. He tries talking to me but soon stops.

On the ride down to this crazy place, NY, that once was my home, I saw a mad throwback to Lowell, MA. A white, blank billboard on the side of I-95 South with the one word, not even on the space for the ad, “MURPHY”, the name of the crazy, big, old beatnik, and I smile as I just finished reading in the van “Dharma Bums”, stolen from Kerouac’s grave by your small little sneaky author. But Jack said it was OK and so it was.

After a half hour delay and a Beck’s Dark, the New Way of the adventurous Post Warrior begins. Talking smiling laughing with two Irish cyclist nuts and some Irish now New Yorker lady, I realize that all I can do for the world is make it better. Better by being in a good mood 24hrs a day and all the rest.

There is a stewardess that looks very new and very young 21ish and from a distance resembles Megen back in Mystic who promises to wait for me. I could talk to her, the stewardess, and ask her why she looks like she is so lost and confused and hope to find out thru her what makes Megen look the same. But I don’t because she is working. So sad she looks but must smile and be humble because it is her job, but she knows Truth and Sadness.

Fog caused the half hour delay and when we finally broke out of it and stars and moon were out I realized that what I was doing is going to be amazing and the Post Warrior has gotten out of basic training and is ready to be alone and make do.

2018

i have witnessed
a compromised nation
intentionally conceal
the inherent cohesion
of equality

experiencing
a regulation of normality
requires resolve
as a survival
tactic

this is the division

opposition
prevents a codification of the
present tense.
a reliable sense of repetition.
an immunization
forcing expiration,
within common sense.

a threat of extinction
a lack of firewood
a pretense of generations
whose valor
shall render
their quest for dominion
a trivial iteration.

Modern Genealogy


import requests
import json
import getpass
import time
import os
import csv
import pprint
import datetime
from requests.adapters import HTTPAdapter
from requests.packages.urllib3.util.retry import Retry

# URL data
login_url = "https://www.ancestry.com/account/signin"
prefix_url = "https://dnahomeaws.ancestry.com/dna/secure/tests/"
matches_url_suffix = "/matches?filterBy=ALL&sortBy=RELATIONSHIP&page="
shared_matches_url_suffix1 = "/matchesInCommon?filterBy=ALL&sortBy=RELATIONSHIP&page="
shared_matches_url_suffix2 = "&matchTestGuid="

def get_json(session, url):
# Get the raw JSON for the tests
user_agent = 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.143 Safari/537.36'
headers = {'User-Agent': user_agent}
raw = requests_retry_session(session).get(url, headers=headers).text
# parse it into a dict
data = json.loads(raw)
return data

def requests_retry_session(session,
retries=3,
backoff_factor=0.3,
status_forcelist=(500, 502, 504)
):
session = session or requests.Session()
retry = Retry(
total=retries,
read=retries,
connect=retries,
backoff_factor=backoff_factor,
status_forcelist=status_forcelist,
)
adapter = HTTPAdapter(max_retries=retry)
session.mount('https://', adapter)
session.mount('https://', adapter)
return session

def get_credentials():
# Username and password should be provided by user via input
username = input("Ancestry username: ")
# This should be masked
password = getpass.getpass(prompt='Ancestry Password: ', stream=None)
return username, password

def get_guids(raw_data):
tests = {}
for i in range(len(raw_data['data']['completeTests'])):
guid = (raw_data['data']['completeTests'][i]['guid'])
tester = (raw_data['data']['completeTests'][i]['testSubject']
['givenNames'] + " " + raw_data['data']['completeTests']
[i]['testSubject']['surname'])
tests[i+1] = tester, guid
return tests

def get_max_pages():
# Get max number of pages to scrape.
print("""
There are about 50 matches per page. The default sorting lists closer
matches on the earlier pages. That means that the more pages scanned,
the more false positives will be brought in. Based on my results,
things start getting really sketchy around page 25 to 30. This is 1500
matches, which is more than I will ever be concerned about. Also, it
takes about 30 seconds per page of (50) matches. Sure, that sounds
fast with only a few pages, but if you try to grab "ALL" of your
matches (1000 pages max), you are talking several hours.
""")
print("How many pages of matches would you like to capture?")
user_max = input("Enter a number, or All for all pages: ")
if user_max == "" or user_max.lower() == "all":
user_max = "1000"
user_max = int(user_max)
print(user_max*50, "matches coming right up!")
return user_max

def delete_old(prefix):
# Delete old files
print("Deleting old files")
if os.path.exists(prefix+"edges.csv"):
try:
os.remove(prefix+"edges.csv")
except PermissionError:
print(prefix+"edges.csv is open.")
input("Press any key after you close the file.")
if os.path.exists(prefix+"nodes.csv"):
try:
os.remove(prefix+"nodes.csv")
except PermissionError:
print(prefix+"nodes.csv is open.")
input("Press any key after you close the file.")

def make_data_file(prefix, type):
filename = prefix + type
if "nodes" in filename:
header = ['Label', 'ID', 'Starred', 'Confidence',
'cMs', 'Segments', 'Notes']
if "edges" in filename:
header = ['Source', 'Target']
with open(filename, "w", newline='') as f:
data_file = csv.writer(f)
data_file.writerow(header)
return filename

def harvest_matches(session, data, guid, nodes_file, edges_file):
for i in range(len(data['matchGroups'])):
for m in range(len(data['matchGroups'][i]['matches'])):
match_name = data['matchGroups'][i]['matches'][m]['matchTestDisplayName']
match_guid = data['matchGroups'][i]['matches'][m]['testGuid']
match_starred = data['matchGroups'][i]['matches'][m]['starred']
match_confidence = data['matchGroups'][i]['matches'][m]['confidence']
match_cms = data['matchGroups'][i]['matches'][m]['sharedCentimorgans']
match_segments = data['matchGroups'][i]['matches'][m]['sharedSegments']
match_notes = data['matchGroups'][i]['matches'][m]['note']
match_starred = data['matchGroups'][i]['matches'][m]['starred']
match_details = (match_name, match_guid, match_starred,
match_confidence, match_cms, match_segments,
match_notes)
with open(nodes_file, "a", newline='') as n:
nodes = csv.writer(n)
nodes.writerow(match_details)
# Get Shared Matches
page = 1
while page < 3:
# Build shared matches URL
sm_url = str(prefix_url + guid + shared_matches_url_suffix1
+ str(page) + shared_matches_url_suffix2
+ match_guid)
# Does second page of matches exist?
second_page = harvest_shared_matches(session, sm_url,
match_guid, edges_file)
# Code smell. Rough logic to increment or break.
if second_page and page < 3:
page = page + 1
else:
page = 3

def harvest_shared_matches(session, sm_url, match_guid, edges_file):
# Grab the ICW data first, and add it to edges.csv
sm_data = get_json(session, sm_url)
for mg in range(len(sm_data['matchGroups'])):
for sm in range(len(sm_data['matchGroups'][mg]['matches'])):
sm_guid = sm_data['matchGroups'][mg]['matches'][sm]['testGuid']
icw = (match_guid, sm_guid)
with open(edges_file, "a", newline='') as e:
edges = csv.writer(e)
edges.writerow(icw)
# Then check for second page existance.
if sm_data['pageCount'] == 1:
return False
else:
return True

def main():
# Login
username, password = get_credentials()
payload = {"username": username,
"password": password}

# Create session object
session_requests = requests.session()

# Start Session
with session_requests as session:
session.post(login_url, data=payload)
data = get_json(session, prefix_url)

# Get the list of tests available as a dict
test_guids = get_guids(data)
print()
print("Available tests:")
# Print them out...work on formatting
for k, v in test_guids.items():
""" k is the number associated with the test kit.
v[0] is the test taker's name.
v[1] is the guid for the test kit.
"""
print("Test", str(k) + ":", v[0])
test_selection = int(input("\nSelect the Test # that you want to gather \
matches for: "))
test_taker = test_guids[test_selection][0].replace(' ', '')
test_guid = test_guids[test_selection][1]

# Get number of pages to retrieve
max_pages = get_max_pages()

# Deal with files
filename_prefix = str(datetime.date.today()) + "_" + test_taker + "_"
# Delete old files
delete_old(filename_prefix)
# Create new files
nodes_file = make_data_file(filename_prefix, "nodes.csv")
edges_file = make_data_file(filename_prefix, "edges.csv")

# Start to gather match data using number of pages variable
# Needs a test in here to see if there are as many pages as input.
print("Gathering match details. Please wait.")
for page_number in range(1, max_pages+1):
print("Starting match page #:", page_number)
test_url = str(prefix_url + test_guid + matches_url_suffix
+ str(page_number))
# print("test_url:", test_url)
matches = get_json(session, test_url)
# print("matchGroups length:", len(matches['matchGroups']))
if len(matches['matchGroups']) == 0:
break
else:
harvest_matches(session, matches, test_guid, nodes_file, edges_file)
time.sleep(1)
print("\nMatch gathering complete.\n")

main()

carols and rodeo candy

veteran alpine snow motion stop stop stop
you and your veteran status full motion block block
wide open winter jade alpine glow
the moon you see it moving across the setting snow

january full luna looming down through the shivery fir
cats hunched in the window through the frosted blur
incandescent warming in the yellowed room, wallpaper parched
porcelain chipped on shelves turned just so, that tungsten glow

above and about, strained in the frigid night
there are valentines on the floor, crayons beside them, unfinished
these valentines on the floor, unmeant
like that top class sleeping in another day that’s never been

next stop
come here, hold my hand
let me see
carols and rodeo candy

Battery Acid (1986)

Battery Acid

Shivering still can’t break from this false faith
You and your lies that once kept me safe
The time I saw you holding loving hands
Not with me — it was with some better man

Give me a chance

Battery Acid is in my veins
It was the cure to all this pain

Battery Acid
It’s in my veins now