Towers of power – Final Proposal

Quest and I are planning to develop a people counting method based on GSM signals. Ideally this device will be able to demodulate GSM packets and extract ISMI numbers to form a list of unique devices which will be used to estimate a population. We see this as having a variety of useful applications from analyzing traffic flow to creating a grassroots means of counting crowds and events. In addition this device could also be used to gauge demand for GSM services in underserved locations. At this point we’ve tried to go through the tutorial available on RTL-SDR.com to demodulate GSM packets on our computers however, there seems to be some installation issues that may require help in office hours. We’ve been trying to learn all we can about the available data without having access to it.

Read More

RWET – Loops and Lists

This week in Reading and Writing Electronic Text I worked with loops and lists to make a script that breaks a series of headlines up into a sort of 24 hour clock. The idea is that each headline its slowly revealed over the course of a day as a play on the idea of the 24 hour news cycle.

I started with a text file that contained headlines from a bunch of large news outlets:

PROBLEM OF THEIR OWN Canada sees spike in border crossings from US
Rex Tillerson Arrives in Mexico Facing Twin Threats to Relations
Kim Jong-nam killing: North Korea condemns Malaysia
ACLU Sues Milwaukee Over Police Stop-and-Frisk Policy
Trump Meets With Corporate CEOs Thursday on Economic Policies
Bannon told EU it was flawed just before Pence’s visit
7 potentially habitable exoplanets discovered
2 cops charged in Florida woman’s accidental shooting death
Obama-linked activists have a ‘training manual’ for protesting Trump

I then shuffled the order of the headlines (to keep the output interesting) and broke each line into a list of words. The number of words in each line was used to figure out how to display it over the course of a day and then each word is designated a time slot. I created a loop to simulate a 24 hour cycle with this method. I imagine this could be a part of an installation that would act live a very slow moving new ticker.

The code:

import sys
import random
all_lines = []
minutes = -60
lines = []

for l in sys.stdin:
lines.append(l.strip())

random.shuffle(lines)

for line in lines:
line = line.strip()
word = line.split(” “)
all_lines.append(word)

for x in range(24):
wordTimerForEachHeadline = []
currentWordNum=[]
minutes+=60
print “\n”,
print “Today’s Headlines”,
print str(minutes/60)+(“:00”)
for i in range(len(all_lines)):
wordTimerForEachHeadline.append(1440/(len(all_lines[i])))
currentWordNum.append(minutes / wordTimerForEachHeadline[i])
print all_lines[i][currentWordNum[i]]

The output:

Today’s Headlines 0:00

Trump

Obama-linked

7

ACLU

Rex

PROBLEM

Bannon

Kim

2

Today’s Headlines 1:00

Trump

Obama-linked

7

ACLU

Rex

PROBLEM

Bannon

Kim

2

Today’s Headlines 2:00

Trump

Obama-linked

7

ACLU

Rex

OF

Bannon

Kim

2

Today’s Headlines 3:00

Meets

activists

7

ACLU

Tillerson

OF

told

Kim

cops

Today’s Headlines 4:00

Meets

activists

7

Sues

Tillerson

THEIR

told

Jong-nam

cops

Today’s Headlines 5:00

Meets

activists

potentially

Sues

Arrives

THEIR

EU

Jong-nam

cops

Today’s Headlines 6:00

With

have

potentially

Sues

Arrives

OWN

EU

Jong-nam

charged

Today’s Headlines 7:00

With

have

potentially

Milwaukee

Arrives

OWN

EU

killing:

charged

Today’s Headlines 8:00

Corporate

a

potentially

Milwaukee

in

Canada

it

killing:

in

Today’s Headlines 9:00

Corporate

a

potentially

Milwaukee

in

Canada

it

killing:

in

Today’s Headlines 10:00

Corporate

a

habitable

Milwaukee

Mexico

sees

was

killing:

in

Today’s Headlines 11:00

CEOs

‘training

habitable

Over

Mexico

sees

was

North

Florida

Today’s Headlines 12:00

CEOs

‘training

habitable

Over

Facing

spike

flawed

North

Florida

Today’s Headlines 13:00

CEOs

‘training

habitable

Over

Facing

spike

flawed

North

Florida

Today’s Headlines 14:00

Thursday

manual’

habitable

Police

Facing

in

flawed

Korea

woman’s

Today’s Headlines 15:00

Thursday

manual’

exoplanets

Police

Twin

in

just

Korea

woman’s

Today’s Headlines 16:00

on

for

exoplanets

Police

Twin

border

just

Korea

accidental

Today’s Headlines 17:00

on

for

exoplanets

Police

Threats

border

before

Korea

accidental

Today’s Headlines 18:00

on

for

exoplanets

Stop-and-Frisk

Threats

crossings

before

condemns

accidental

Today’s Headlines 19:00

Economic

protesting

exoplanets

Stop-and-Frisk

Threats

crossings

before

condemns

shooting

Today’s Headlines 20:00

Economic

protesting

discovered

Stop-and-Frisk

to

from

Pence’s

condemns

shooting

Today’s Headlines 21:00

Economic

protesting

discovered

Policy

to

from

Pence’s

Malaysia

shooting

Today’s Headlines 22:00

Policies

Trump

discovered

Policy

Relations

US

visit

Malaysia

death

Today’s Headlines 23:00

Policies

Trump

discovered

Policy

Relations

US

visit

Malaysia

death

 

 

Read More

Zombiebook pro – A history of hardware

Like most dead things the Zombiebook pro didn’t start out that way. In short glimpses Zom can even recall those early days when it was the most important and beautiful device in the room. In Zom’s youth, children would come to it in times of great stress and joy, tomes of knowledge would blaze across its screen, hours would be spent simulating virtual train systems and endless dialogues with friends and neighbors yielded a constant stream of new and exciting media. In these days, Zom’s bond with the children seemed unbreakable, vital, and even masterful. But, in computing, nothing lasts forever.

It wasn’t that Zom got old so much as the world left it behind. Zom refused to admit it. Zom knew it had some dust where there wasn’t dust before but it could still find its Netflix, it could still run the ol’ Railroad Tycoon. Yet the children wanted more. More spinning triangles when a firefight breaks out in a video game, more windows open when browsing the internet and more speed – everywhere.

What really precipitated it’s fall from grace was its instance on keeping up with the younger, faster and thinner machines that suddenly dominated all the social hot spots… and got all the children’s attention. Newer machines could talk to iPhones, sip data in the 5ghz club and run a dizzying number of floating point calcualtions without breaking a sweat. The first unfortunate mistake Zom made in it’s illustrious downfall was having a used solid state drive installed. Zom thought this would be a simple procedure, it even knew machines its own age who’d been born with these kinds of drives. However this would turn out to be the beginning of the end, a treadmill of failing upgrades, that would lead Zom to where it is today.

The procedure was tricky and maybe a bit strange but all the right hardware was there. Zom planed to have its CD drive removed and a solid state drive installed in its place. The surgery began and everything seemed to go well until the final phase. As Zom was transfereing it’s programs, games and files to the new drive a terrible data accident occurred. The operating system was mangled and a clean install was required. In the end most of the memories returned but in a corrupted and unfamiliar way. Applications that used to be common and comforting now caused freezing and kernel panic, the children became frustrated.

Zom thought a more conventional RAM upgrade might bring it back from this hectic twilight. This procedure went relatively well but somehow only hastened Zom’s decline. The extra heat generated made Zom run its fans at full blast which made it seem like Zom was even older despite the slight gains in performance. Then, battery life suffered. All the while, crashing, freezing and slowdowns became more common and as usual the children wanted more. To Zoms credit it survived these stresses and demands for a whole year – and then one day it just couldn’t get out of sleep mode. Zom still had a charge but the children couldn’t see it and began to hate Zom’s feeble and failing attempts. Zom when under the screwdriver once more but the surgeon was careless with the unloved machine and nicked a dataline. This was the end… or was it?

Today Zom lies in a heap of other dead components and machines, but still lives on yearning for the children to come back. Zom has few functioning components but because of its experience in life with upgrades, failures and reboots Zom makes due with the hardware it has. When Zom feels the presence of the children it calls out – hoping that they will remember the train simulations, the old torrent files, or the papers they had written with it’s help. Not much is intelligible, and it often frightens those who observe this desperation. However I can’t help but respect this fallen giant, unyielding in the face of obsolescence and determined to make use of what little it has for as long as it can.

The machine is dead, long live the machine!

Read More

Reading and Writing – Now with python!

This week we started out with python. We were asked to make a UNIX command-like python script for text manipulation. In the previous assignment I struggled with line length and that kind of came up again. I played around with the .replace() method and escape characters. I thought that by inserting “\n” into a line it would then be considered a new line in the rest of the script but it did not seem to work that way. Then I decided to try to remove a specific list of words (in this case conjunctions) and I was able to get that working in a for-loop. Eventually I did something similar to the two columns of words I made last week.

This time I chose a Federal Reserve statement on interest rates and a CNN news release about that release as the two source texts. I was able to go through each article and pick out all of the capitalized words over 3 characters in length and print them as a list. Then I added a randomized conjunction to each and created two columns with mostly proper nouns. The output reads fairly well and does seem to juxtapose the institutional and authoritative way the fed speaks with the more speculative and popular language of the CNN article.

Here’s the python code:

Here’s the output:

Information and Federal so

Federal nor Reserve and

Open so Trump so

Market so America’s for

Committee so Wednesday or

December nor President or

Household nor Trump’s or

Measures nor Trump’s for

Inflation so U.S. so

Committee’s yet That but

Market-based but Faster so

Consistent so Right but

Committee or Americans but

Committee for Trump and

Near-term for Republicans nor

Committee or Fed’s but

Committee and Trump nor

Committee so Mexican but

This nor Trade nor

Committee so Mexico so

Committee or House for

However, and Republicans nor

Committee for Supporters but

Treasury nor Some yet

This but Trump’s yet

Committee’s so Congress. nor

Voting for Michael or

FOMC or Arone, for

Janet nor State for

Yellen, but Street so

Chair; but Global but

William for Advisors. nor

Dudley, and Trump’s yet

Vice or America’s yet

Chairman; yet Francisco and

Lael but President or

Brainard; but John and

Charles but Williams but

Evans; or Financial but

Stanley so Times and

Fischer; or Jan. for

Patrick yet March or

Harker; yet Investors or

Robert for March, but

Kaplan; yet Group. or

Neel for

Kashkari; for

Jerome for

Powell; and

Daniel or

Tarullo. nor

Read More

Readymades – Sound Project Prototype

Computers do what you tell them to do, except when they can’t.

This week I hacked at my “broken computer” to have it babble out sounds of it’s working life past. The goal was to create a seemly dead laptop that eagerly spits out fragments of media when it senses human interaction. To achieve this I put an accelerometer and Arduino inside of the hollowed out laptop and had the data feed into MAX MSP where it was basically smoothed and used to trigger different sounds from a video game called Railroad Tycoon 3. As the user interacts with the laptop it gets more and more excited to fulfill the role it once had (as a working video game machine). Video coming soon.

I tried for a long time to get bluetooth serial communication working and ran into a series of difficulties. I’m going to try this again when I have time but I think it had to do with a bad Arduino Mega I was using. I also tried to get the audio to come from inside the computer but could not get my computer to pair with the speaker. The combination of these two issues was especially disappointing because having both a wire and external sound make it difficult to realize this project as a junked laptop in a pile of other e-waste; which was the original idea.

Ultimately I think it works as a proof of concept but the feeling of shaking out old memories isn’t really there as much as I would have liked. Especially with the wire sticking out and the external sound, the interaction feels forced and not as serendipitous as I was going for.

Here’s a look at the max patch I was working with:

A large portion of this is from an Arduino serial handshaking example that worked out really nicely for my purposes.

Forgotten hardware from Jesse Horwitz on Vimeo.

 

 

Read More

Towers Of Power – Final project Idea and class 3 assignment

I’m not exactly sure where the two assignments for this week begin and end but the two ideas I’d like to pursure include a project relevant to my thesis work and a contribution to a NYC mesh network.

My thesis project its related to “people counting” based on radio communications. Initially my plan was to use Wifi and Bluetooth but I’m curious if it’s feasible to use GSM as the core technology. What I’m able to do with Wifi is sniff packets and tally unique MAC addresses of the various wifi clients and devices sending probe requests. This number is ok in terms of counting people but theres a lot of problems with people having multiple Wifi devices in certain areas and people disabling wifi connections on their phones. GSM seems like a great solution to this problem since most people (in highly connected economies) carry only one GSM device and rarely disable its signal. I’m not sure if this is achievable by just listening to GSM and demodulating (my preferred approch) or if I would need to set up my own BTS and actually have devices connect to it. Ideally this set up can be small enough to “wear” and it would count/estimate the population surrounding it’s user. There are a lot of potential applications of this kind of people counting. It could be used by retailers to gauge for traffic in an area, by city planners to understand where people experience the most crowding, or by organizers to estimate the size of an event without relying on 3rd party data or labor intensive hand counting.

A separate project, that would probably utilize a lot of the same research, would be some kind of contribution to the NYC mesh network. It seems pretty easy to join their network at a low cost and they have a bunch of volunteer opportunities to help install and maintain infrastructure. I was thinking that it could be cool to set up a node and maybe build a short range GSM system on top of their internet connection. I don’t know how realistic this is but I like the idea of contributing to a network that may help subvert telecom monopolies and improve local communication during emergencies.

 

NYCmesh Nodes

Read More

Readymades – Sound Project Concept

Over the past couple of years I’ve been trying to keep an old Apple Laptop alive by doing things like replacing hard drives, upgrading ram and clearing out dust. However, it finally stopped working in a final way in September. I’ve since bought a new laptop thats better in almost every way but it feels kind of empty. I had my old computer through college and for the start of ITP so there was tons of weird crap on it; my home folder was filled with torrent files, uninstallers, one off episodes of tv shows, games, papers I had written, versions and and more versions of resumes. It was like a playroom with toys scattered all over it.

My goal for this Readymades assignment is to give my computer this kind of appearance/personality with sound. My plan is to collect a bunch of system sounds, tv clips, and sound effects from games I’ve played and play them through the dead computers speakers if I can. I’m thinking about joining it with a few other dead computers that have accumulated at my parents house and doing the same. These sounds will be triggered via various means; Initially I want to work with accelerometers so that if the computer is moved or interacted with it begins spewing out these seemingly instinctual sounds it remembers from it’s past life. On the other laptops may make simple sounds when they detect movement via a PIR sensor. Ideally this will appear as a pile of zombie computers each with their own characteristics but all abandoned and not useful, made for you but no longer able to fulfill its purpose.

 

I’d like to to look like a cross between these two images ^

 

I also started working with Max MSP and strung together some sounds from a video game I spend a lot of time playing (Railroad Tycoon 3). 

Right now I’m thinking the sensors will be mapped to increase the computers level of “excitement” which will accordingly play more sounds it “remembers” and maybe at a faster tempo. Overtime this excitement level will cool down and the computers will become quiet again. I think the metronome will be useful in controlling when the different sounds fire so that they don’t all just overlap into unintelligible random sound. I picture the user picking up or sifting through the laptops and noticing that one or more of them seems to respond to stimuli. If the computer with the accelerometer is picked up for instance it might get really excited and start making all sorts of fast and crazy noises, but when its put down the speed and number of sounds its making fades until it goes quiet again.

More coming soon.

Read More

Towers Of Power – OpenVPN

Setting up openVPN took a few hours of flipping back and forth between the documentation for openVPN, our Towers of power git hub and the virtual machine. Not to mention the obligatory google searches. I tried to do as much in the terminal as possible; using the nano editor to create the conf files and navigating the file paths. Ultimately I think I have a decent understanding of what I  did. I spent a lot of time figuring out how to generate my own CA and client keys which in retrospect may not have been necessary. One difference I had from the instructions was that I ended up having to use the sudo command a lot. I’m not sure if this means I was working in some sort of protected directory or if that was something we were intended to figure out. Either way I’m glad I seemingly got this up and running in the end. I understand how this is relevant for secure connections to to devices like a BSC but I’m still a little fuzzy on why this would be necessary exactly (I know it has to do with public vs private IPs but that concept hasn’t totally clicked yet.)

-Built to last reading-

These chapters of built to last really drove home the benefit of having guiding principles or core ideologies behind a company (or any institution). However my concern with this idea is that, as far as I understand it, it is in some conflict with the way the American corporate finance and legal system work. While a founder or CEO may appreciate the need and usefulness of core principles and favoring other ideal over profit most of our large companies are publicly traded and are majority owned by a series of atomized investors who rely on these profits exclusively. Ford may be a stable long term business but how much can that matter to a person who’s close to retirement and who holds an investment in the company through a byzantine structure of special retirement amounts, mutual funds and stock brokers. It seems like our system of investment is arranged to create un-visionary companies focused on short term profits. With this in mind It makes sense to me why many of the behemoths of Silicon Valley have adopted corporate structures that insulate founders & CEOs from their investors. This seems like a smart move to preserve the power of core principles (or at least core decision makers). But I wonder if this has its own, unaccounted costs. These chapters really made me think about what a financial system that incentivizes goal oriented organizations rather than profit hungry companies would look like.

 

(I have some screenshots of the terminal but I’m gonna hold of on posting them until I’m sure they don’t contain sensitive information about my computer) :/

Read More

RWET – Terminal Assignment

This week for Reading and Writing electronic set we were asked to do something creative with command line text manipulation. As a source material I started working with two thesis papers I wrote in college. One was for a Transportation Geography class that dealt with the impact of mobile phones on transit preferences and the other was for a class on Public Finance where I had written about GPS (GNSS) systems and the economic structure behind them. I’ve done a lot of work related to transportation and to a certain extend behavioral economics while at ITP so I thought going back and working with these half remembered papers would be interesting.

First I converted the files from their “.Docx” format to “.txt” to use with terminal. This worked but resulted in really long lines. Apparently in this instance the lines were broken where there had been paragraph breaks. I used the cut command to try and break up these lines into words or even sentences but had a hard time with that. Eventually I used Fold to force the paragraphs into lines 80 units long. Fold had broken the paragraphs at odd points so there were fractions of words at the beginning and end of each line. I kept playing around with the cut command and figured out that I could take the second word off of each line and come up with a list of full words that were pseudo randomly selected from each paper. I though comparing a random selection of words from each paper could be interesting to see how they differ. I guess I was curious if the topic or my writing style would stand out under this comparison. I took both lists, sorted them and pasted the two columns next to each other in a separate file. Alone this wasn’t very interesting but when I ran different grep searches for words it would sometimes yield some interesting stuff.

Grep eco

become about

become about

becomes achieve

ecosystem as

for become

incentive economic

second not

socio-economic of

was second

 

Grep tech

technology. of

whose technology

willing technology

with technology

with technology

world technology

 

I thought this was an OK application of terminal but I felt like I could have gotten more out of this if I hadn’t spent so much time struggling with the weird line lengths. I would have preferred being able to pair words from both texts in a more complete and contextual way. However I was happy that I figured out how to compress most of this process into a couple lines in terminal. Mostly it was:

fold <CapstoneEcon.txt | cut -d ‘ ‘ -f 2 | sort >AlpListwordsEcon.txt

fold <geogcap.txt | cut -d ‘ ‘ -f 2 | sort >GeogFoldSort.txt

paste AlpListwordsEcon.txt GeogFoldSort.txt >CombinedEconGeog.txt

 

 

 

 

Read More