Hate …

“Hate is the fuer-gurgen that fills the heart with steel.” – Dr. Freckles

Hate is the hag-meister that churns the yeti soul and burns the bride of the world …

Hate is the GUSTO SAUCE of total understanding where sticky blood glows and the nigh bows to sin …

Hate is the bowel bride, no longer seeking after that lost knightly frost lord, but wanting the swamp giddies and the long eyed gendiz-men …

The US economy …

“The US economy isn’t really a ‘free market’: it’s a network of linked and crooked casinos, the games at each casino might be sort of honest, but the linkages are corrupt as hell.” – Dr. Freckles

It’s not that traditional tools for financial analysis don’t work – they do: but if you disregard the crony nature of how things work, you are unlikely to make wise bets.

The TINA/FOMO BTFD folks were right all those years, and the rest of us screaming “bloody murder” were wrong – principles be damned, the death star economy is not about principles.

On the streets …

On the streets, people are forced to walk knee deep in poop water …

On the streets, the old people drown in shark urine and pear wine …

On the streets …

Most people have to hunt blown flesh enchilada sauce and viscera souffle as the AK-47’s wail and hum their song of splendor in the great beyond. Our cow pie selfies permit no new encouragement, and the tourist gliders pick up their kale juice from the barber and his whore.

On the streets:

  1. you fornicate with your landlord so they let you keep your cat despite not paying the pet fee.
  2. you make a knife from some broken glass, and you slit that guy’s throat for a pocket full of rock and some Lucky Strikes … and you have whiskey breath and herpes sores on your anus.
  3. Kester, the neg-ghoul, chases you down the alley with his cadre of FENTOR-GOOBS armed with bicycle chain and rogaine and propane and baseball bats … and you know you are getting tired, and you know no one cares.
  4. there is no salvation for the gutter rat that chews on his own mourning glory and the NEXT HO you find might be your momma and she’s looking good … on the streets.

PYTHON SCRIPT: JS8 RSS NEWS READER

I started working on a project with my friend Justin in 2022, we were able to put several months in and conducted a lot of experiments.

To learn more about what we have been trying to do: RADENGINEERING.TECH

We haven’t given up on the project, but we both have to make money, to get by, and we don’t have the time to put much more into it …

In order to promote this project, I was asked to build a simple RSS newsreader, operating using JS8 protocol, accessing some of the software’s API and using log files for monitoring. Not a lot of code allowed for a pretty cool experience, where headlines were being sent using CB RADIO, 11M, 27.245 MHZ.

Do with it what you will.

SQL Code (for MySQL): https://planetarystatusreport.com/RSS.TXT

https://youtube.com/watch?v=1nxT5ZXOt-c
#Daniel John Sullivan, CEO, Rad Engineering, 3/23/22

#This is a news agent/script, a prototype
#Service, utilizing JS8 as a proxy agent
#to encode messages and decode from our
#transceiver

#JS8 Callsign for this service - N3W5 or NEWS ...

#1. monitor directed file for requests
#2. respond to new requests
#3. grab RSS feed data

#there are a few python modules that need
#to be installed: maidenhead, feedparser, bs4
# anyascii, and perhaps one or two others
# just be comfortable using pip3 to install
# these other modules / libraries

from __future__ import print_function

import os
import feedparser
import os.path, time
import json
import math
import time
import maidenhead as mh
import urllib.parse as pr
import xml.etree.ElementTree as ET
from bs4 import BeautifulSoup as BS
from requests import get
from os.path import exists
from socket import socket, AF_INET, SOCK_STREAM
from decimal import Decimal
from datetime import datetime, date, timedelta
from anyascii import anyascii
import mysql.connector

### globals ###

DPath = "/home/pi/.local/share/JS8Call/DIRECTED.TXT"

# server/port info for connecting to the JS8 Call application
# while it is running, it can act as a message server/proxy
# for your radio kit ... we are still figuring out the API
# so right now, it's just 'send' capabilities we are using
# - DJS, 3/19/22

JS8Server = "127.0.0.1"
JS8PortNum = 2442

#make sure you open port 2442 prior to opening JS8 application
#ubuntu command: sudo ufw allow 2442
server = (JS8Server, JS8PortNum)

servern = "localhost";
portn = 3306
usern = "DBUSER";
passw = "DBPASSWORD";
dbn = "DBNAME";

#mode 1: just top stories from each feed, sent just once
#mode 2: active engagement mode
#mode 3: just one service

newsServiceM3 = "ONION"

newsMode = 3

bigSleep = 90

### end of globals ###

def from_message(content):
	try:
		return json.loads(content)
	except ValueError:
		return {}

def to_message(typ, value='', params=None):
	if params is None:
		params = {}
	return json.dumps({'type': typ, 'value': value, 'params': params})

class JS8Client(object):

	def __init__(self):
		self.PttON = False
		self.LastPtt = datetime.now()

	def process(self, message):
		typ = message.get('type', '')
		value = message.get('value', '')
		params = message.get('params', {})
		if not typ:
			return
		if typ in ('RX.ACTIVITY',):
			# skip
			return

		if value and typ == "RIG.PTT":
			if value == "on":
				self.PttON = True
				self.LastPtt = datetime.now()
				print("PTT ON")
			if value == "off":
				self.PttON = False
				print("PTT OFF")
				
	def send(self, *args, **kwargs):
		params = kwargs.get('params', {})
		if '_ID' not in params:
			params['_ID'] = '{}'.format(int(time.time()*1000))
			kwargs['params'] = params
		message = to_message(*args, **kwargs)
		self.sock.send((message + '\n').encode()) # remember to send the newline at the end :)

	def GetStationStatus(self):
		self.sock = socket(AF_INET, SOCK_STREAM)
		self.sock.connect(server)
		self.connected = True
		try:			
			self.send("TX.GET_TEXT", "")
			content = self.sock.recv(65500)
			message = json.loads(content)
			
			typ = message.get('type', '')
			value = message.get('value', '')
			
			if typ == "TX.TEXT":
				vt = value.strip()
				if len(vt) < 1:
					return "OPEN"
				else:
					return "CLOSED"
			else:
				return "CLOSED"
		except:
			return "CLOSED"
		finally:
			self.sock.close()

	def SendToJS8(self, JS8Message):
		self.sock = socket(AF_INET, SOCK_STREAM)
		self.sock.connect(server)
		self.connected = True
		try:			
			self.send("TX.SEND_MESSAGE", JS8Message)
			content = self.sock.recv(65500)
			print(content)
		except:
			print("Error sending message to JS8 via API.")
		finally:
			self.sock.close()

	def close(self):
		self.connected = False

#### END OF CLASS DEFINITION FOR JS8 API INTERFACE ####

def GetArt(number):
	# Connect with the MySQL Server
	cnx = mysql.connector.connect(user=usern, database=dbn, password=passw, host=servern, port=portn)
	qry = "select ARTICLE, SOURCE, LINK from RSS where ID = %s" % (number)
	cur = cnx.cursor(buffered=True)
	cur.execute(qry)
	retRes = cur.fetchall()
	cnx.close()
	return retRes[0]

def GetTopHourly(source):
	# Connect with the MySQL Server
	cnx = mysql.connector.connect(user=usern, database=dbn, password=passw, host=servern, port=portn)
	qry = "select ID, TITLE, PUBLISHED, SOURCE, length(ARTICLE) as LOF from RSS where SOURCE = '%s' order by PUBLISHED desc limit 1" % source
	cur = cnx.cursor(buffered=True)
	cur.execute(qry)
	retRes = cur.fetchall()
	cnx.close()
	return retRes

def GetTop(source, number):
	# Connect with the MySQL Server
	cnx = mysql.connector.connect(user=usern, database=dbn, password=passw, host=servern, port=portn)
	qry = "select ID, TITLE, PUBLISHED, SOURCE, length(ARTICLE) as LOF from RSS where SOURCE = '%s' order by PUBLISHED desc limit %s" % (source, number)
	cur = cnx.cursor(buffered=True)
	cur.execute(qry)
	retRes = cur.fetchall()
	cnx.close()
	return retRes

def AlreadySaved(link):
	# Connect with the MySQL Server
	cnx = mysql.connector.connect(user=usern, database=dbn, password=passw, host=servern, port=portn)
	qry = "select ID from RSS where LINK = '" + link + "'"
	cur = cnx.cursor(buffered=True)
	cur.execute(qry)
	cur.fetchall()
	rc = cur.rowcount
	cnx.close()
	if rc > 0:
		return True
	else:
		return False

def SaveRSS(source, title, link, published, article):

	tit = title.replace("'", "''")

	clean_text = anyascii(article)
	
	art = str(clean_text)

	art = art.replace("'", "''")
	
	if len(art) > 5000:
		art = art[0:5000]
	
	cnx = mysql.connector.connect(user=usern, database=dbn, password=passw, host=servern, port=portn)
	
	cur = cnx.cursor()

	qry = """
	INSERT INTO RSS
	(SOURCE, 
	LINK, 
	TITLE, 
	PUBLISHED, 
	ARTICLE) 
	VALUES 
	(%s,%s,%s,%s,%s)
	""" 
	
	val = (source, link, tit, published, art)

	cur.execute(qry, val)

	cnx.commit()
	
	cnx.close()

def GrabRSS(RssURL, SourceName):

	hdrs = {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 Safari/537.36'}

	NewsFeed = feedparser.parse(RssURL)

	for na in NewsFeed.entries:

		try:
			print(na.title)
			print(na.link)
			print(na.published)
			print(na.published_parsed)
		except:
			continue
			
		if AlreadySaved(na.link):
			continue

		print("*************************")

		response = get(na.link, None, headers=hdrs)

		print(na.keys())

		soup = BS(response.content, 'html.parser')
	
		txtChunk = ""

		for data in soup.find_all("p"):
			txtval = data.get_text()
			txtval = txtval.strip()
			txtarr = txtval.split()
		
			if len(txtarr) == 1:
				continue
		
			if "posted" in txtval and ("hours" in txtval or "days" in txtval) and len(txtarr) == 4:
				continue
			
			if txtval == "No Search Results Found":
				continue
			
			if txtval == "Terms of Service":
				continue
		
			if txtval == "Advertise with us":
				continue
			
			if txtval == "Media Inquiries":
				continue

			txtChunk += " " + txtval + "\n"
	
		tyr = na.published_parsed[0]
		tmn = na.published_parsed[1]
		tdy = na.published_parsed[2]
		thr = na.published_parsed[3]
		tmi = na.published_parsed[4]
		tsc = na.published_parsed[5]
	
		ptms = "%s-%s-%s %s:%s:%s" % (tyr, tmn, tdy, thr, tmi, tsc)	
	
		SaveRSS(SourceName, na.title, na.link, ptms, txtChunk.strip())
	
		print(txtChunk.strip())

def debugHere():
	input("Press enter to continue ...")

def clearConsole():
	command = 'clear'
	if os.name in ('nt', 'dos'):  # If Machine is running on Windows, use cls
		command = 'cls'
	os.system(command)

def TopStoriesFrom(news, numof):
	
	s = JS8Client()

	ti = GetTop(news, numof)
	
	for t in ti:
			
		pubarr = str(t[2]).split()	
		pubdte = pubarr[0]
		ct = t[1].replace("''","'")
		# ID, TITLE, PUBLISHED, SOURCE, LOF
		
		lof = int(t[4])

		moreLink = ""
		
		#if lof > 40:
		#	moreLink = "4MORE: N3WZ [ART]: %s" % t[0]	
		
		#headline = "%s HEADLINE [%s] '%s', #%s %s" % ("@ALLCALL", pubdte, ct, t[3], moreLink)  
		
		#headline = headline.strip()
		
		headline = "%s HEADLINE [%s] '%s', #%s" % ("@ALLCALL", pubdte, ct, t[3]) 
		
		print(headline)
		
		while s.GetStationStatus() == "CLOSED":
			print("Waiting to send ..." + str(datetime.now()))
			time.sleep(2)
		s.SendToJS8(headline)
		while s.GetStationStatus() == "CLOSED":
			print("Waiting to send ..." + str(datetime.now()))
			time.sleep(2)
		time.sleep(bigSleep)

def TopStoriesFromAll():
	
	s = JS8Client()

	ti = GetTopHourly("INFOWARS")
	tn = GetTopHourly("NYT")
	tz = GetTopHourly("ZEROHEDGE")
	ty = GetTopHourly("YAHOO")
	tc = GetTopHourly("CNN")
	tb = GetTopHourly("BBC")
	
	tops = []
	
	tops.append(ti[0])
	tops.append(tz[0])
	tops.append(ty[0])
	tops.append(tc[0])
	tops.append(tn[0])
	tops.append(tb[0])

	for t in tops:
		pubarr = str(t[2]).split()	
		pubdte = pubarr[0]
		ct = t[1].replace("''","'")
		
		# ID, TITLE, PUBLISHED, SOURCE, LOF
		
		lof = int(t[4])

		moreLink = ""
		
		if lof > 40:
			moreLink = "4MORE: N3WZ [ART]: %s" % t[0]	
		
		headline = "%s HEADLINE [%s] '%s', #%s %s" % ("@ALLCALL", pubdte, ct, t[3], moreLink)  
		
		print(headline)
		while s.GetStationStatus() == "CLOSED":
			print("Waiting to send ..." + str(datetime.now()))
			time.sleep(2)
		s.SendToJS8(headline)
		while s.GetStationStatus() == "CLOSED":
			print("Waiting to send ..." + str(datetime.now()))
			time.sleep(2)
		time.sleep(bigSleep)

def TopStories(messageInfo):
	
	s = JS8Client()
	
	try:	
		#2S5: N3WZ  [TOP]: NYT, 1
		mp = messageInfo.split(':')
		
		if len(mp) < 3:
			return

		callsign = mp[0].strip()
		step1 = mp[2].strip()
		step2 = step1.split(',')
		rn = step2[1].strip().split()
		src = step2[0].strip()	
		numberOf = rn[0].strip()

		print("Handling %s request ..." % src)
		print(messageInfo)
		print("From: " + callsign)
		print("Top: " + numberOf)

		tops = GetTop(src, numberOf)
			
		for t in tops:
			pubarr = str(t[2]).split()	
			pubdte = pubarr[0]
			# ID, TITLE, PUBLISHED
			ct = t[1].replace("''","'")
			
			# ID, TITLE, PUBLISHED, SOURCE, LOF
			
			lof = int(t[4])

			moreLink = ""
			
			if lof > 40:
				moreLink = "4MORE: N3WZ [ART]: %s" % t[0]	
			
			headline = "%s HEADLINE [%s] '%s', #%s %s" % (callsign, pubdte, ct, t[3], moreLink)  
			
			print(headline)
			while s.GetStationStatus() == "CLOSED":
				print("Waiting to send ..." + str(datetime.now()))
				time.sleep(5)
			s.SendToJS8(headline)
			while s.GetStationStatus() == "CLOSED":
				print("Waiting to send ..." + str(datetime.now()))
				time.sleep(5)
			time.sleep(bigSleep)		

	except:	
		print("An exception occurred: getting top stories")
	
def handleArticle(messageInfo):
	
	try:
		#K7IAC: N3W5 [ART]: 237 ♢  
		
		s = JS8Client()
		
		mp = messageInfo.split(':')
		
		if len(mp) < 3:
			return
		
		callsign = mp[0].strip()
		
		step1 = mp[2].strip().split()

		number = step1[0].strip()

		print("Handling article request ...")
		print(messageInfo)
		print("From: " + callsign)
		print("Article: " + number)

		recd = GetArt(number)
		
		art = recd[0]
		src = recd[1]
		lnk = recd[2]
		
		if len(art) > 150:
		
			art2 = art.replace("\n", " ")
			art2 = art2.replace("''","'")
		
			print("bigger than 150 chars")
			
			if len(art2) > 500:
				art2 = art2[0:500]
			
			pts = math.ceil((len(art2)/150))
			buffr = ""
			part = 1
			for c in art2:
				buffr += c
				if len(buffr) == 150:
				
					artInfo = "%s ART_%s %s #%s (%s/%s)" % (callsign, number, buffr, src, str(part), str(pts))  
				
					print(artInfo)
					
					s.SendToJS8(artInfo)
					
					buffr = ""
					part += 1
					time.sleep(1)
					while s.GetStationStatus() == "CLOSED":
						print("NEWS SERVICE TIME: " + str(datetime.now()))
						time.sleep(1)
					time.sleep(60)
			
			if len(buffr) > 0:
				artInfo = "%s ART_%s %s #%s (%s/%s)" % (callsign, number, buffr, src, str(part), str(pts))  
				print(artInfo)
				s.SendToJS8(artInfo)
				buffr = ""
			time.sleep(bigSleep)

		else:		
			art2 = art.replace("\n", " ")
			art2 = art2.replace("''","'")
			# ARTICLE, SOURCE
			artInfo = "%s ART_%s %s ... (MORE @ %s)" % (callsign, number, art2, src)  
			print(artInfo)
			while s.GetStationStatus() == "CLOSED":
				print("Waiting to send ..." + str(datetime.now()))
				time.sleep(5)
			s.SendToJS8(artInfo)
			while s.GetStationStatus() == "CLOSED":
				print("Waiting to send ..." + str(datetime.now()))
				time.sleep(5)
			time.sleep(bigSleep)
	except:
		print("An exception has occurred: getting news article")

def NewsCycle(DirectedPath):
	
	prevDLineNo = 0

	newsl = "news_line.txt"

	if(exists(newsl)):
		tf = open(newsl, "r")
		tfs = tf.read().strip()
		if(tfs != ""):
			prevDLineNo = int(tfs)
		tf.close()

	readerf = open(DirectedPath)

	CALLSIGN = ""
		
	UTCDTM = ""
		
	MSGINFO = ""

	dirLine = 0
		
	uploaded = 0
		
	try:
		# Further file processing goes here
		for x in readerf:

			#0 UTC,1 FREQ,2 OFFSET,3 SNR, 4 MESSAGE

			recd = x.split('\t')

			UTCDTM = recd[0]
			
			OFFSET = recd[2]
			
			SNR = recd[3]
			
			FREQ = recd[1]
			
			MSG = recd[4]
										
			dirLine += 1
				
			if(dirLine > prevDLineNo):
			
				if "[ART]:" in MSG:
					handleArticle(MSG)

				if "[TOP]:" in MSG:
					TopStories(MSG)

				wf = open(newsl, "w")
				wf.write(str(dirLine))
				wf.close()
	
	finally:
		readerf.close()

def CycleFeeds():
	infowars = "https://www.infowars.com/rss.xml"
	zh = "https://feeds.feedburner.com/zerohedge/feed"
	yahoo = "https://news.yahoo.com/rss/"
	cnn = "http://rss.cnn.com/rss/cnn_topstories.rss"
	bbc = "http://feeds.bbci.co.uk/news/world/us_and_canada/rss.xml"
	nyt = "https://rss.nytimes.com/services/xml/rss/nyt/HomePage.xml"
	onion = "https://www.theonion.com/rss"
	bb = "https://babylonbee.com/feed"
	print("Grabbing Babylon Bee ...")
	GrabRSS(bb, "BB")
	print("Grabbing ONION ...")
	GrabRSS(onion, "ONION")
	print("Grabbing INFOWARS ...")
	GrabRSS(infowars, "INFOWARS")
	print("Grabbing ZEROHEDGE ...")
	GrabRSS(zh, "ZEROHEDGE")
	print("Grabbing YAHOO ...")
	GrabRSS(yahoo, "YAHOO")
	print("Grabbing CNN ...")
	GrabRSS(cnn, "CNN")
	print("Grabbing BBC ...")
	GrabRSS(bbc, "BBC")
	print("Grabbing NYT ...")
	GrabRSS(nyt, "NYT")

# FEEDS:
# 1. INFOWARS: https://www.infowars.com/rss.xml
# 2. ZEROHEDGE: https://feeds.feedburner.com/zerohedge/feed
# 3. YAHOO: https://news.yahoo.com/rss/
# 4. CNN: http://rss.cnn.com/rss/cnn_topstories.rss

clearConsole()
time.sleep(2)
print("Starting NEWS Server .")
time.sleep(1)
clearConsole()
print("Starting NEWS Server ..")
time.sleep(1)
clearConsole()
print("Starting NEWS Server ...")
time.sleep(1)
clearConsole()
print("Starting NEWS Server ....")
time.sleep(1)
clearConsole()

CycleFeeds()

if newsMode == 1:
	TopStoriesFromAll()

if newsMode == 2:

	ptime = datetime.now()
	
	while True:
		ntime = datetime.now()

		print("NEWS SERVICE: " + str(ntime))

		time.sleep(1)
		clearConsole()
		NewsCycle(DPath)	
		clearConsole()

		tdiff = ntime - ptime

		if tdiff.seconds > (60 * 5):
			print("Grabbing RSS feed info ...")
			ptime = datetime.now()
			CycleFeeds()
	
if newsMode == 3:
	TopStoriesFrom(newsServiceM3, 4)
	

EYE WORMS

If you squint in the sunlight, or close your eyelids in bright light, you can see them …

If you look closely, they’re there, wriggling, jiggling, feeding on your optical mucous and growing stronger.

Most people that get these die before they reach puberty, the ones that survive carry dread in their hearts their whole lives. They live like the outcasts in some Lovecraftian freak-zone filled with fuck-monkey holy men and old crimson ladies wearing their jizzum skirts at NIGHT. Those eye worms will lay eggs in your brain and those eggs will cross the blood-brain-barrier into your blood, and some of that polluted blood will become seminal fluid, and from that fluid you infect your children with eye worms.

This is something somebody told me …

When I was a kid I’d go to work with my dad sometimes, he owned a small logging business. One time I’m riding up to the woods: me, my dad, and my brother. My dad is talking to us about chainsaws, and then realized that maybe we needed a happy story to perk us up …

My dad told me and my brother about some dude, up in the woods of the North Cascades, that accidentally cut off his arm while operating a chainsaw. Supposedly the dude picked up his arm and placed the arm in a cooler with ice and drove himself, the arm on ice, back to Sedro-Woolley General Hospital where some hooker nurse and a strung out surgeons sewed that guys arm back on, and he was just FINE … and that’s okay.

That’s what dad said …

In 1993 I was working on a boat in the Gulf of Alaska as an ordinary Merchant Marine seaman. One night, in Juneau, I was hanging out with some ex-Navy Seals, and I dared them to shimmy up the mooring rope, the bow mooring rope, on a cruise ship docked there. We were SHIT ASS DRUNK and had no business doing this insane thing … but we did. We made our way through the crews quarters and feigned confusion as guests that “got lost”. We got to the “Lido Deck” and ordered drinks on some random room number or berth or whatever.

Your CABIN … we used fake ass cabin numbers to order drinks, then walked off the ship …

This happened, right?

When I was stationed in S. Korea, there were these places off post or “down range” you’d go to … In Tokuri, not far from Casey/Hovey, there was this midget. You see, the Navy shutdown Subic Bay back in the 1990s, and MILLIONS of Filipino hookers were out of work, what to do? – they moved to South Korea, along with a lot of Russian hookers back then.

Did you know Korea was a Russian Empire possession until the Russo-Japanese War?

But buddy … that midget …

And people would say “I did the midget of Tokuri”, and maybe it was true, and maybe it wasn’t.

All I can tell you: there were a LOT of Filipino hookers in S. Korea, many were midgets, back in 1998.

SOUNDS TRUE, OKAY PAL?

There is this place, Skin Walker Ranch, not far from where I live. And according to LORE, there were aliens that made love to Ute Indian women and this resulted in Indian / Alien hybrids that began selling whiskey to the Mormon men who then went home and got frisky with their Mormon wives and this resulted in the whole situation being BULLSHIT … fuck.

Skin Walker Ranch is home to an underground base called SECRET BASE CODE NAMED TANGO … and nobody makes it back from that place to tell the tale. In this base there are BLUE JELL harvesting machines, where Tulian milk-maidans are covered in biscuit wax and the drool of french bulldogs. They are made to exude a gummy substance from their boobies which can be used for faster than light travel and penis pills.

BASED, RIGHT???????

What do you want to believe?

In 2020, despite most of human history and recent lessons with Ireland in the 19th Century, the POWERS THAT BE decided to use germ warfare to kill us, not starvation, not hunger … or to trigger a rube goldberg device that led to people taking a vaccine that kills them … and they did this to gain more “power”, even though they already had the power to turn off the world.

(they had all the power)

BUDDY – these people mainly use FAMINE to kill …

(why germ warfare?)

(germ warfare that is IMPOSSIBLE to control or contain?)

They decided to mind fuck people to madness and illness in the hopes that these diseased freaks will make better slaves … (wait, what?)

Do you believe it?

WHAT ELSE IS THERE:

  1. They say there are Mexican magic men who can drink a shroom shake and fly through the air.
  2. They say there are Masai tribesmen that can stop your heart with a glance.
  3. They say there are dogs that are separated from their owners and will travel thousands of miles home DESPITE all the fast food garbage strewn about?
  4. They say there are ghosts of loved ones that haunt some building some place and lure in teenagers to brutally kill them for kicks … that’s what they say.
  5. They say there are RACISTS EVERYWHERE … and you’re probably racist, and so am I.
  6. They say SATAN is depressed and working at Microsoft.
  7. They say there are ground worms that eat through the heart of the world and are in pursuit of monkey flame paradise and nitro-power sex.

This is what they say … I mean, holy fuck … this is what THEY ARE telling me?

Fewer than 700 people have been to “space” since 1961.

It has been more than 50 years since ANYONE has “landed on the Moon” …

But next year they say they will orbit the Moon with people and such …

And land people on the Moon in 2025 …

(do you believe it?)

(can you believe it?)