Graduation from Formal Education

In the midst of discussion about the trade-offs of higher education versus online courses or being self-taught, cost of schooling, etc., I wanted to share what I’ve learned.

I’m 35.  I did Arabic for 63 weeks, 7 hours a day in the Army, along with military schooling in hand-t0-hand, rifle marksmanship, defensive driving, commo, hazmat, etc.  I studied tech in art school.  I did Greek/Latin in college.  I did foreign policy studies in DC.  I stopped short of a PhD because they’re perpetual and even worse of a guarantee of employment.  School was pretty exhausting: never-ending work (if you’re doing it right), constant feeling of inferiority compared to the weight of the material and depth of the field/competition, that absence of a salary or stability.  So I get it.  I get why people are saying to skip school, avoid the costs, study on your own.  But here’s how I see the current state of higher education:

Don’t Go to School Until You Know What You Want

This was not necessarily the worst thing, but college was the only option I knew about in my senior year of high school.  I didn’t know why I wanted to go to this or that college/brand, and I had no clue what I wanted to study or do with my life.  I didn’t really know my competition and I was flying blind.  My mother was extremely helpful in this regard, covering up for my glaring blind spots.  Luckily, UT Austin took the top 10% from every Texas school and UT is one of the best public schools in the country so things worked out for me.  I spent more time making money designing sites and trading stocks than going to class, in some of the semesters, though.

When I later joined the Army after college and after 9/11, I realized that I should have joined the military after high school, but there was next to zero chance that I ever would have considered that an option at the time.  The military was distant, far away, something that people like me didn’t have to suffer through.  The military’s for those kooky white kids with the buzzcuts who never smile and who take themselves too seriously — oh, and they’re probably from military pedigrees already so that’s the only life they know.  That’s the stereotype, anyway.

What it ended up being for me later in life, when I was older than most of the other kids in basic training, was my passage into adulthood.  I got disciplined, I got chiseled down to my essence, I lost my comforts, I was forced to man up, I lost the illusion that I was safe in life with what I already had, I was confronted with my utter lack of common sense.  It was isolating, humiliating, challenging, completely foreign to my former life.  But I ended up becoming competent, I found a code of values to live the rest of my life with, and I found friends who will always remain so.  I participated in an important block of American history in a fairly significant way that remains relevant even to this day (target identification, communications interception).

Some of my Army friends joined right out of high school and they were looking at a good future where they could keep military employment as skilled people who earned a good salary, or they could then go to school and know more about what fields of study would be good for them.  Instead of using college to grow up, which I feel most kids do these days, they were using college for what it should be (especially given the current cost): focus into enriching the mind.  Ex-military folks don’t often associate with other classmates, just because of the difference in life experience, but that does mean they probably are more sharply attuned to what they need to get out of their schooling.  Plus they already had the discipline from our Arabic classes and from their sergeants riding their asses to go to the library and put in the book-time once they got to school.

By the time I left the Army in 2007, when I was 27, I finally knew exactly what I wanted to do and I studied harder than I ever had before, and my grades improved.

Another alternative is the “gap” year.  I prefer this to going to college right after high school but I still think there’s a problem with it.  You don’t have any experience after high school to know how to appreciate travel.  You see the world but it’s just a long holiday.  On some of my trips (the Outback, Galápagos), I’ve started meeting more people my age who actually worked after high school or college for a good number of years (close to a decade) and then decided to quit their careers or jobs for a year or more of full-on world travel.  By that point, they had money, they had life experience, they had their wits about them, and they could really savor their trips, while at the same time benefiting from disconnecting from dead-end work or a stressful rat race.  Euros.  They have that shit figured out.

Veteran Hiring

Your mileage will certainly vary on this, but the hype about companies looking to hire veterans is hollow.  It’s like how companies are looking to hire more women, etc.  It’s just a PR thing.  But when push comes to shove, organizations usually go with what they know.  And they will take skills over taking charity cases any day of the week.

Unless you stay near military bases, or you are fortunate enough to work in security or intelligence for the federal government or in DC, then your military status is probably not going to help you much for employment.

Military experience, training, and bearing is immeasurably useful for many veterans for the rest of their lives, but for finding a job, veterans hit the wall of the HR screenings and employers who can’t relate.  Think about it.  If you’ve never been in the military, how much does it mean to you when a veteran tells you she has leadership time or a strong work ethic or discipline or experience following orders?  These are invaluable in team, individual, and hierarchical organizations, but they do not resonate for hiring because they do not indicate specific skills that are needed to perform jobs on a daily basis.

Companies don’t hire for talent, they hire for immediate return, except at the higher levels where they’ll pay any amount of money to get the best of the best.  I had one job interview where the recruiter was telling me how they changed their entire hiring practice to look for talent and the potential to learn, not to just regurgitate answers in the interview.  Next interview with someone from the department that was hiring?  Questions for regurgitating answers.  This is double-speak.

Everyone likes to think they operate like a startup, or are considerate towards work-life balance, or are attracting top talent, or are encouraging innovation, etc.  Very few actually are.

I think I got a little lucky when applying myself to jobs post-military.  In particular my first full-time job out of Georgetown was with a contractor whose executives were all ex-military officers.  I fit right in with them and thought I was able to deliver exactly the style and results they expected, very quickly.  I was also able to do another career change and get another big break but it was mainly because another boss not only was familiar with how the military integrates with technology and with society, but also had experience in politics.  I guess the point is that without familiarity with military, employers will gloss over those years spent working for Uncle Sam.

Higher Education is a Proxy for Jobs, Not a Pipeline

While it’s mostly likely true that more education and better jobs are correlated, it might be more causative to say that more education opens up more opportunities to better jobs.  What I mean by this is to say that most degrees do not lead directly to available jobs.  Unless you are doing something like computer science, accounting, or medical school, or to some degree business and law (though even JDs and MBAs are losing some of their guarantee), employment is not a certainty.

A lot of my friends ended up being English or liberal arts types, and that sort of degree leads to a life of forging your own path through uncertainty, self-doubt, lack of understanding by 90% of employers, etc.

Now, I will say, pretty much every English major I can think of is capable of producing absolutely pure magic with their words.  Their writing is sublime, they fascinate me with their insights, and they weave creativity out of thin air.  It’s interesting to me to see really creative, successful people in their 40s and 50s who were actually English majors back in the day but who had to put in a lot of hard time gaining credibility throughout their careers until eventually they became thought leaders.

As a classics major, even in 1996, I was told that there was no future of employment in that field.  I did that major because I had a lot of AP credits, which let me take a lot of random classes like astronomy, parageography, business classes, etc.

As an Arabic linguist in the Army, I was never good enough at Arabic to continue at it for a living.  Intelligence collection/analysis was definitely something I felt really good at, and I’ve continued it to some degree since, but I didn’t end up doing it as a career.  This was probably the #1 path to success that I could have followed in my life.

As a foreign policy grad student at Georgetown, even though it was the #1 ranked foreign policy school in the country, I still didn’t quite fit in.  I wasn’t fit to work in finance in NYC or international financial/economic risk evaluation in DC.  I didn’t have a good background or the personal financial backing for international development and fighting poverty.  I certainly wasn’t polished enough to be one of those suits talking policy for South Sudan.  I talked about Galapag.us for my orals presentation and my evaluators stared at me blankly (this despite my feeling that an interconnected system for tracking identity and reputation would revolutionize our ability to account for all the disconnected, anonymous, and voiceless people targeted by things such as the Universal Declaration of Human Rights and the UN’s Millennium Development Goals).

As a grad student at NYU, I got to play in probably the best hackerspace in the world.  Laser cutter, 3D printers, Processing/OpenFrameworks/Rhino/Unity/etc. classes, circuit design, Arduino, node.js/python flask, all applied however we wanted to whichever art projects we could come up with.  The ITP community is unparalleled.  For me it was more of a backdoor into software development, since I learned pretty quickly that I would have to shore up my computer science deficiency.  I knew how to move about the DOM on a web page, from having made them since high school, but the world had changed and in job interviews I was getting pure coding questions on closures and sort algorithms, and I was taking tests on implementing apps from given JSON routes and doing testable Java apps and writing clever little algorithms to solve tricky problems to demonstrate coding efficiency/style.

My point in talking about all this was that school is not enough if you want to be highly employable.  In many circumstances, schooling seems to be a strong negative against employment, in terms of having the skills you need to make the cut.  School is wonderful for theory (you will probably be far more exposed to where trends are), but you will not know how to do the simple skill requirements that any employer wants a new employee to be able to do from day one.  School is also wonderful for gaining breadth, but it is not particularly good at depth unless you do targeted research into, I dunno, computer science or interface design or get a successful research topic or something.

The conclusion is that if you want to get a degree because you think it will make you more employable, you might be better off if you just work in that career area for the 2-4 years instead.  Work experience makes you far more employable than a degree, because you’ll be able to talk about how you used X and Y, even if you might not be able to explain the cultural backdrop for why X and Y came into being (which is what you would probably learn with a degree).

Learning

Limitations

I remember when my friends in school started getting better at math and science than I did.  My grades started slipping and my friends’ didn’t.  I didn’t understand how they knew how to get certain answers all the sudden, even though we sat through the same classes and did the same work.

Through so many other different contexts, modules, and learning environments, I gradually gained confidence that it wasn’t so much always that I was slower, but that the teaching methods were incorrect for me.  I think I had pretty good teachers in grade school who realized that different students had different learning styles, but teachers don’t always have time to cater to each of those kinds.

My pre-calculus homework consisted of problem sets.  But since they were made up in textbooks in which sparse examples were given and the answers certainly were NOT given except in the teacher’s answer key (and sometimes even those answers were wrong because of poor editing), I had virtually no time or backup plan for learning how to solve the problems.  If I couldn’t figure out a problem based on a simple pattern from the reading, then there was no recourse.  Nowadays, I would probably be able to google a topic and read about it to deduce the answer, but this was in the early 90’s.  I wonder how my studies would have been different if I were a kid now and I could use the internet for my homework (at the time, the internet was really only good as a social communication tool).

I would sit through class the next day as classmates breezed through the solutions.  Usually the harder questions were at the end of the problem sets so we spent more time covering those, but the questions for me started to become difficult about one-quarter through, so I didn’t want to slow down the class and ask about them.

I also liked to play tennis as a kid.  My mom I think talks about how I lost my ability to serve when I went through my growth spurt.  I went from having a fast Sampras serve to barely being able to get any serve in.  I did some classes and participated in a tennis camp regularly, but I never got any better.

I think I’ve learned that I’m not well-suited for precise tasks that require the same motion every time, hence serving is difficult.  But how would I have ever known this?  All that time wasted on something I could never find any talent in.  Sure, maybe it’s fun, but I think a kid needs to at least have one thing that she can develop confidence in.  I ended up hitting or throwing a lot of tennis balls against walls by myself instead.

Now, what methods did I find that worked for me?  The best training I ever had was for using special equipment in the Army.  Some contractor trainers came to our base to teach us.  We had a block of instruction followed by some hands-on time, followed by more block instruction.  Same as usual.  We even got time to go take the equipment out and use it out in the forest.

The key difference was that, after all that, we then had a block of hands-on time for debugging.  The trainers would break the equipment and have us figure out how to debug it and deduce how to fix it.  This meant we had to understand how to check components in order of operational logic and then figure out where the connection would break down.  From there, we could use what clues we discovered to figure out the solution.

I knew that equipment inside and out by the time we were done.  Because I understood the big picture view and chain of events.

Counter-examples are so crucial.  It’s not enough to show someone how things are done right.  You have to show someone how things are done wrong, so that, through seeing all the differences and errors, one can see the limitations of the implementation and how it actually works.  If you’ve only seen something when it’s working 100%, you’ll have no clue what to do when it breaks.

Macro

I think this was the time I learned that most schools teach things from a micro point of view.  Tiny blocks of logic with no sense of how they tied into larger blocks.  I learned that what I desperately need to know about any new thing I find is how its biggest sense works.  Once I understand that big picture, I can dive in and deduce why each inner part is there.  To extend this, what if I were taught why people need to learn computer science or biology or calculus first, instead of having faith that the teacher was telling me stuff I needed to know even if I never knew when to apply it?

In the same way, it would have been useful for motivation to learn if I had been told that I might need to know history as a field because if I wanted to, say, become a surfer, I would want to go see x film or research y first surfer’s biography, or study how z surfing equipment is made.  That is, history would not just be remembering dates, it would branch into sociology, technology, business, etc.  The common saying is that no one uses math once they get older.  But had I known that I could apply math to, say, winning more often at no-limit Texas hold ’em, or Fibonacci sequences in momentum stock trading, or even figuring out the statistics behind landing a valuable baseball card in those bubble gum packs, it really would have opened up my eyes more.

The other key learning moment I had was learning PHP.  I know people hate PHP but the PHP documentation is outstanding, at least for me.  I couldn’t find one great example but here’s the doc page for HTML special characters.   The docs will usually have a few examples, but perhaps more importantly, they will often have counter-examples to show common errors or hang-ups.  And the docs have comments where people share snippets of code to tackle certain problems.  Some languages like Java are devoid of good examples, and they have fairly obtuse documentation pages; while at this point I can decipher documentation, when I was studying the Processing language at ITP, I could see that other students just saw the documentation pages as full of gibberish.

Eric Rosenthal

Eric Rosenthal is an ITP legend.  Large, scaled, well-constructed circuits and installations.  Devotes tons of his time to help students, even with our dumbest questions.

So I was in his office asking questions about our flying robot project.  He got to a point where he was saying how people don’t care to learn anymore.  They don’t just open things up and experiment.  If they have questions about it, they don’t go look them up and read more about it.  After a point, I realized that he was somewhat referring to me.  I said that my buddy Slavek always took things apart, but I never did, and I never grasped it as well as he did.  But Rosenthal parried that it wasn’t that hard if people would actually research things and be curious about them, and I took it personally and wondered: maybe I really am not that good at these things, and my willpower to learn just pushes me to try even though I’ll always be sub-par.  It’s sobering when you wonder if you’ve reached your natural limits in a certain area.

Some questions: should we end up doing what we’re good at?  Should we do what we enjoy?  Will we ever get both?  What if we don’t really get to do either?

Teach Yourself

I am not for or against in-person education or online self-paced courses.  Personally I plan to continue studying computer science and coding languages through free online courses, but that only happens after I’ve gotten enough background to be able to pace myself through the courses and understand what’s going on, which means I probably had to have had some training beforehand.

I do feel as though sitting in actual classes and talking to people face-to-face is a necessity for education, but I feel as though that system doesn’t scale well in today’s universities.  Of course sitting in a 400-person class offers none of the benefits of physical interaction.  But even a class with 10 people makes it hard for a professor and TA to engage every student.  No one has time for it.  The student doesn’t have time for a lot of added engagement and the professor certainly doesn’t (with all the other things professors do these days).

Online courses, I think they require a high level of competency before they’re useful.  Learn coding through an online course?  I don’t think so.  But if you’re learning a new language once you’ve already learned others and coded projects in others?  Certainly.

It’s even worse if you’re not disciplined.  Will you really be conversant in, say, business, if you’ve only read through an online curriculum?

What I think would be really useful for online courses is more sharing and more competition.  This lends itself particularly well to coding.  Project Euler is great for this: it’s a set of coding problems that emphasize not so much just solving the problem but finding an efficient way to solve the problem.  You could brute force a solution (do 10k iterations) or come up with another solution that maybe only does half that many iterations.  Maybe to pass, you have to have the code complete in less than x seconds.

For papers or other projects, I never understood why we couldn’t look at each other’s work.  I mean, I kind of get it.  Students are incredibly protective of their privacy when it comes to their work and especially for grades.  But why?  If a professor can’t give tailored reviews or advice all the time, why can’t the other students?

In-Person Mentorship

Really where I think education breaks down is in mentorship.  My entire aware life I’ve been in search of mentors.  The best people I know all seek mentors.  A mentor is someone who can give you individualized, targeted guidance.  Someone who can hold you accountable, can adjust your learning as you need it, and who can give you support or advice on how you should continue.

A professor is not going to have time to push me.  One of the biggest freedoms I ever experienced was realizing once I hit grad school that I should really just write about whatever the fuck I found interesting — my grades improved and I felt like I was writing about things that were unique and important.  Up until then, I was writing about what I thought others wanted to read.  But no professor really pushed this on me.  Maybe I gained some sympathy into how, as a professor, you’d probably get really bored of reading the same crap over and over.

But my best mentors have always pushed me.  Quizzed me daily to see if I retained material.  Forced me to work on projects in new techs so I’d get hands-on.  Pushed me on certain principles to get me closer to being a seasoned professional.  And they’ve offered their reference, far better than a random reference from a professor or employer you barely knew.

Mentors need to know how to get from point A to point B, and how to identify what point someone else is at along that spectrum.  A mentor whom his student doesn’t respect will fail, and a mentor who gives scattershot advice to a student is not helping either.

Physical, one-to-one mentorship is crucial to education.  And you won’t necessarily find it through formal education.

Expectations and Greatness

I feel as though students have to push themselves in order to be great, or at least to strive for greatness.  Peers and teachers aren’t pushing students hard enough to go further than they would go on their own.  The difference is between a haphazardly written proposal or project and a fully-formed all-out attempt to make something important.

Team Projects

Related to that, I think that team-based project mindsets have led to substandard results.  Particularly in business school, the theory goes that you have to work in groups so that somehow you know how it is in “the real world” (whatever that is).  So, you’ll have to work for a few weeks on a half-formed project assignment for one class out of many others with 3-4 other classmates who have multiple other completely separate priorities.  Just like “the real world”?

I was in a horrible class in grad school where we formed 4-person groups to build a project using a technology none of us even got our hands on till the end of the course.  What’s worse, my team lost a person who dropped the course.  No one ended up having a working project at the end.

Here’s what I think should have happened.  Seen School of Rock?  I love this movie for many reasons, but I also think that the school project is brilliant.  Form a band, assign classmates to different roles.  There’s the manager, the band, lights, costumes, roadies.  This at least in theory would teach the whole class to execute on a common project but in more manageable parts that tied into an easy-to-identify goal, led by a teacher who (again, in theory) is older and has more experience to be able to bring all the parts together.

To me it would make more sense to run a class as one big project.  It’d operate more like a platoon, or like a startup.  Several smaller projects can be doomed to fail with all those moving parts.  The final product is less likely to be realized, to be made great.  It’s that 10% of extra work at the end that makes the project shine.

Apprenticeship

Another thing I don’t get.  Dislocation between education and jobs.  At least in the military, you’re more likely to go to schools that improve your ability to do your job.  In the real world, training has gone nearly to zero, because no one can afford to lose their employees.  And kids coming out of school are not going to know the software or tools needed for the jobs they’re applying for.

Why are there not more programs where students get education in exchange for a contract of employment guaranteed for x years?  Why wouldn’t companies have more of an interest to train future employees from an earlier age so they can produce more efficient workers?

Well I’m guessing the answer is because companies are mostly flying by the seats of their pants, have no long-term vision, and can’t afford anything beyond the short-term value of employees.

Cost and Brand

The cost of education doesn’t make much sense.  The problem is that there isn’t much of a choice.  Those $1k scholarships you can win are ineffectual.  Unpaid internships in exchange for credit are usually useless versus your just taking another course.  The cost of not going to school could be huge, unless you find a pipeline career that lets you avoid school.  So is school worth the cost?  The only reason it’s not worth the cost is you absolutely can’t pay for it (unfortunately education is becoming, as tradition has mostly held, only for the elite) or you have a career already.

Now, brand.  Brand matters for strange reasons.  Top finance firms care about brand, not because those schools (Harvard, Princeton, Stanford, Wharton, etc.) produce smarter students necessarily, but because the employer knows it is getting a certain personality from that school, and, believe it or not, certain values.  Different schools do manage to inculcate their values (if they have any) into the students, particularly at stronger brands.  In that way, pedigree is important to employers.

Some random anecdotes that I came across: the only person I heard getting into Yale out of my interview group went to an arts magnet school, the only person I heard from my interview group for Booz Allen Hamilton to get in was from Carnegie Mellon (solid engineering/CS).

The Future

So here’s where we are.  A bunch of mercenaries for hire, fighting over each other for the next short-term contract (i.e. a job).  Get rich or die tryin’.  School is a fun place where some of that competitiveness goes out the window and you get to experiment and play a bit.  But there are only a few places in the employed world where you get to do that.  And fewer places where that sort of job is living-wage.

Education won’t necessarily bring you comfort and stability, whereas sticking with a job, gaining seniority, that seems to lead to, in most cases, winning the war of attrition, when everyone else has left.

It’s true that the best can succeed.  Good grades, good school, good athleticism, good looks, these things do translate into success.  For the rest of us, though, we have to find other things.  For me, I derailed my own success more times than I can count, and since I never could keep up with grades or talent, I did my best by trying to work harder than the rest, and I’ve tried multiple careers in order to find happiness, stability, and success.

And if it’s been hard for me, it’s got to be really hard for others.  Or am I making it far harder on myself than it needs to be?  Why do I know so many extremely gifted people with fabulous work ethic, force multipliers in pretty much every aspect of society they contribute to, who are struggling to get even the most basic entry-level jobs?

Is this the future we want?  Or can we strive to build something more sustainable?

Payoff

What I think I’ve learned is that school is not a viable option for most people, and not because it’s expensive (I still believe it’s worth the lifetime of intellectual freedom), but mostly because there is no tangible connection to an eventual payoff except in parenthetical ways.  That is, yes, you will meet people who you end up being close with and end up marrying/working with.  You might even gain some pedigree or credibility.  If you’re lucky, the time you spent studying will help you crack into your first job and into further promotions.  But it’s not a sure thing.

I think the best payoff right now is to take a job with reasonable mobility and just stay in it.  Climb the chain, outlast your peers, get marginal promotions.  You’ll do better if you balance this with changing jobs so that you can negotiate higher salaries.  But changing industries, or leaving industry to go to school, these are massive momentum killers.  Think about it: would a company want to hire a new unproven person or hire someone internally who uses all the dumb, arbitrary software stacks only that company uses?

Feedback

I’ve generalized in a lot of ways here and in other ways it’s very personalized to my own experience.  I know a few of you are professors, other students, people who chose lucrative and not-so-lucrative fields of study.  I’d be interested to hear your opinions on education.

Opening Up Galapag.us for Alpha

My thesis project for NYU-ITP has been Galapag.us, a tribe and ecosystem for promoting the idea that we should be radically open and transparent with our data so that we can form and share metrics to measure our progress and success in different areas of our lives.  More info at the front page of Galapag.us.

User Zero

I came up with the idea in 2006.  An email I sent to my Army buddy in April, 2006:

I sort of had an idea but it seems like it’ll be difficult to build out.  My idea would be for something similar to Xbox Live’s ranking system.  Except it’s for your life.  Privacy issues aside, people would volunteer to put in as much personal info as they want.  At first it might seem cumbersome putting in so much info but I think as myspace and other services have shown, people are willing to do it if it means it cultivates their identity.

So for instance you put in your income and number of kids and connect your accounts for online game rankings (like in Halo or Battlefield 2) and your exercise plan and your birthdate and your finances and investments and how many web sites you’re on (like myspace, digg, yahoo, etc.) and from all that data, the company would generate statistics that break down your life and give you info about how much time you spend on certain tasks, how efficient you are with your money, what your online reputation is.  Stuff like that.  The core would be statistics…anonymous statistics I think so people won’t have any incentive to forge their results.  The point would be to turn peoples’ lives into a numeric game where they can see how they rate in certain aspects of their lives.  Think of all those online quizzes people take about what kind of lover they are or what their personality is.  That could be tabulated into the statistics, which could be searchable or broke down any way the person wanted.

At the end of a year, we could look internally at our statistics and go visit the top overall people in person to go verify their data and videotape their lives, interview them.  Then a winner would be announced…like the best person award.  Heh…there’d be so much controversy and whining and competition if it caught on.  Then we could write a book about our experiences going out and discovering what makes someone “the best” compared to everyone else.

So…that’s my idea so far.  Sort of like a real-life RPG.  Perhaps we could offer points for real-world scavenger hunts or traveling to different countries around the globe.  What about having life coaches for certain segments, if someone was weak in an area like professional development?  I was thinking we could also offer points for accomplishing certain tasks like humanitarian work.

A lot of stuff happened in the meantime: I got out of the Army, went to study foreign policy in DC, worked for Homeland Security, moved to NYC for school.  And so now I’m wrapping up the thesis, which allowed me more than a semester to work just about full-time (including any waking moment) on trying to make Galapag.us a reality before I can either A) get funding or B) get an engineer/developer job after school.

So I present Galapag.us for thesis on May 15 at NYU.  I have two weeks still to work on it before then.  I think I’ve gotten it to a point where I can start letting alpha testers in to explore, and think about it.  My work log has been tracked on the thesis blog.

Beginning Alpha Testing with Thesis

Want to help alpha test or just look around?  Give it a try at https://galapag.us/login and see what you think!

Here’s the slide deck I’ll be presenting at thesis:

Stack

  • Amazon EC2 small instance with ubuntu
  • node.js/express.js: So easy to build a site using this framework.
  • varnish/nginx+ngx_pagespeed: Caching, run-time optimizations for faster page loads/downloads.  Routes to https and socket.io server too.
  • python scripts for maintaining server default state
  • celery for queuing
  • redis for temporary data dumps and lookups
  • mongodb for permanent data storage
  • angularjs for the comment system
  • mocha, unittest, qunit for unit testing in python and javascript

 

I know the site’s confusing — like an airplane pilot dashboard.  It’ll become more cohesive over time.  A lot of things aren’t quite working yet, or they have filler data to get them going.  Apologies for that.  For more familiarization, try the welcome demo.

But here are some features that are worth checking out:

Comment System

Comments will be available for tribe forums, formula critiques, peoples’ profiles.  I decided to use angularjs so I could learn how to build SPAs with it!

ss_comments

 

Tribes

By tracking individual data, one can also track internal company metrics and state-level happiness metrics too!

ss_graph

 

The Islands

Each island has its own weather, environment, and bonuses/penalties for certain user behavior, so it benefits you to live on the island that incorporates your style best.

ss_islands

 

Professions and Skills

What does it mean to be “good” at something? Are companies hiring the most qualified candidates? How do we standardize that?

ss_professions

 

Your Genome

A profile for your data.  You get reputation scores in different areas.  Those scores are determined by which formulas you choose to use.  You can also see your internet of things (devices, pets, objects) is on the bottom right, while you’ll also be able to create gaming characters using your own data.

ss_profile

 

Quests

You can complete quests within Galapag.us to gain experience.  Some tasks will be data-gardening for other people, some will be to introduce gaming elements, others will be to visit lesser-seen parts of the site.  But mostly the quests should be geared towards helping others.

ss_quests

 

Status Bar

I love github’s command bar. I want users to be able to do most everything through the search bar.

ss_searchbar

 

Tribes and Their Genomes

Tribes are important to our identities. formulas serve as their DNA.

ss_tribes

 

Universal Reputation Lookup

The left-side widget can be opened on most pages to see what reputations the people named on them have.  I intend to allow people to look up reputations from just about anywhere.

ss_widget

 

 

API/Sandbox

Galapag.us will have an API to access one’s data, as well as common stats such as state population census results, zodiac signs, and global stats.  Plus a place to test the routes, within the sandbox:

ss_api

 

So with all that, please go help alpha test at https://galapag.us/login to begin your exploration of identity and reputation.  Thanks, and come to the ITP Spring Show if you can!

A Fake Review from The Economist: A Review of Galapag.us

[This was one of our initial assignments for our ITP thesis projects. Come up with a pie-in-the-sky review of your thesis idea.]

[FAKE] The Economist: A (Fake) Review of Galapag.us

Reputation and identity

The internet was a house of nil repute, until Galapag.us

An NYC startup is providing an ecosystem for people to build reputation metrics using any of their data

Forays into the online world have been fraught with peril, uncertainty, hucksters, intrigue, and irresistible indulgence of curiosities. Despite a need for truth-telling and fact-checking, social networking sites have been unable to establish reputation as a measure of quantifiable value to provide the unicorn of positive user experience.

However, a New York City-based startup would like to change that. Galapag.us, so named after the chain of islands made famous as Charles Darwin’s Eureka! moment for his theory of evolution, as well as for its American heritage and social emphasis (.us), has built up a loyal tribe of Galapag.users who promote its cause.

The tribe promotes openness of data and identity as a way to create measures for reputation, under the idea that being radically public will create more value for individuals and for society than governments, businesses, and nefarious individuals can take away through violations of privacy.

Surely other companies have attempted to reëvaluate reputation metrics, but as Ben Turner, the “discoverer” of Galapag.us says, “Companies either focus on low-hanging fruit from Foursquare and Facebook APIs, or they can only measure data in small spheres of peoples’ identities such as diet, exercise, or desktop PC productivity.” The strength of Galapag.us, Turner says, is in its ecosystem of data, variables, and formulae cutting across the spectrum of peoples’ identities, such as their professional progress, their hobbies, what they spend the fixed-limit twenty-four hours of the day doing, etc.

The other strength is indubitably its passionate tribe, made up of early adopters, quantified selfers, data science geeks, academic researchers (who have access to large-scale anonymized organization- or “tribe-” level data), and even recovering patients whose lives have been made quantified in order to survive their maladies.

For now, Galapag.us is closed only to members who vow to be open with their data, even though granular privacy controls with an “opt-in” only mentality are available. But Turner envisions a future where Galapag.us will provide reputations and identities to everyone — and every thing — on the planet, as a way to combat trafficking, bullying, undervaluation of good behavior, and other social problems.

The company can walk the walk, with an organic, thriving user base, as well as with its discoverer being a Texan and a former Army sergeant with an intelligence background, technical capability, and New York City Silicon Alley DNA. In an age where Internet users feel as though everything is being taken away from them, it is a breath of fresh air that Galapag.us is trying to return more value to people — and to society — than they need to provide on their own. economist_rectangle.gif

List of Books I Read in 2012

Here’s the list of books that I read in 2012.  Since I’m in my second year of grad school and am learning a lot of technical stuff, that would explain some of the more manual-type books.  It also explains why I wasn’t able to read as many books as I would have liked.  I expect the number of books I’ll read this coming year to be higher, though I’m burned out on a lot of foreign policy books.

The number in parentheses is my 1-10 rating.  Books that are rated 10 are definite must-reads, but I think that anything above an 8 on this list this year was very, very interesting.  Having 7 out of 30 books rated “10” means to me that I did a good job of picking books worthy of my time!

Past years here: google spreadsheet

2012 Goal: 30 BOOKS
TOTAL: 30 BOOKS

Analyzing US Veteran Gravesite Data with R

For the final project in Prof. Jake Porway‘s Data Without Borders: Data Science in the Service of Humanity class at NYU-ITP, I chose to work with the US veterans and beneficiaries gravesite datasets that have been published at data.gov.  The Department of Veterans Affairs in 2004 started working on a nationwide gravesite locator that allowed for this data.

Gathering the Datasets

The data is unfortunately aggregated only at the state level, but it at least is updated regularly, so I ended up pulling 51 .csv (comma-separated values) files from the site with the publish date of October 2012.  The categories found in the data:

d_first_name, d_mid_name, d_last_name, d_suffix, d_birth_date, d_death_date, section_id, row_num, site_num, cem_name, cem_addr_one, cem_addr_two, city, state, zip, cem_url, cem_phone, relationship, v_first_name, v_mid_name, v_last_name, v_suffix, branch, rank, war

Since we would have to apply what we’d learned working with the R language to our dataset, what I hoped was that I could use the gravesite data, which goes back to the 1800’s or even earlier, to see how where veterans end up being buried correlates with national population trends over time.  In other words, if many Americans are buried in California, does this mean more veterans are also going to be buried there?

I figured, since there were categories for branch, rank, and war, that I’d be able to find some logical correlations: many privates and junior-enlisted sergeants would have died, while fewer senior-enlisted and officers would have, in past wars.  I figured the d_death_year might correlate with dates for the US’s multiple wars, with deaths elevated during those time periods.

So I guessed that with 51 data sets, this would begin to fill up my system RAM (4GB on this MacBook Air).  Look at my memory usage!

I skipped the files for the US-owned territories and “foreign addresses” since I wouldn’t be able to find normalized population data for those.  I also cleaned up the dataset so it would return only the veteran, not his/her beneficiaries who may also have been listed in the data as being deceased.

Loading the Data into R

Given that I’m not very comfortable with R, I started out just loading the Washington DC dataset since it only has 986 entries in it.  Problem?  The download for the file didn’t work.  “ngl_washington%20dc.csv” was not found.  %20 is a URL-encoded representation for a blank space.  Luckily, getting rid of the %20 revealed the proper filename, “ngl_washingtondc.csv”.  I also found that the .csv files were not importing into RStudio immediately.  I’d get an error.  I would get something similar to an uneven rows error.  What I had to do for each of the states’ .csv files was to open them up first in Excel and then save them in Excel.  Excel would properly format the files so they could be imported into RStudio.

I tried to write my R code in such a way that it could easily handle the 51 states + DC via functions, but I ended up having 51 calls for each state.  I wish the datasets were integrated into one national file.  I also wish I knew in R how to make a variable variable.  So that if I wanted to pass “Texas” to a row name, I could do “t <- “Texas” and then “state_data${t}” or something similar to convert on the fly to “state_data$Texas”.  In PHP, you might do this with $stateData{$t} (I think) and in JavaScript or Python you’d use eval().  Not pretty but I didn’t know how to do it properly.

The next step was to break up d_death_date (which was in a variety of formats such as “1993”, “9/3/98”, and “07/11/1864”) so that I could extract the year.  I had to check for the number of characters in the string, then figure out if the year was 2 digits or 4.  If it was 4 digits, I knew the year for sure (e.g. “2008”).  If 2 digits, I figured that if it were less than “15”, then it was probably referring to the year 2000 and higher (lazy data entry).  If higher than “15”, it probably was assumed to be the 20th century.  Finally, I had to convert this result from a string result to a numeric so I could do math on it.

More below the jump…

Read More »

A Trendsmap.com Look at the World

I like to do this periodically.  Sometimes you get more interesting results than other times.  This time I figured I’d do a quick and dirty stitching of the entire Trendsmap map.  In no way is it complete, but it’s still cool, and kinda beautiful. (click it to get the full-sized version)  More importantly, and this is the MSFSer in me, it’s kind of neat to see how tweets can be incredibly regional — even though I follow like 3k people on Twitter, almost none of them tweet in a foreign language or from non-western states.  It’s a reality check, at least a geographical one, if looking at Twitter can be seen as such.

I think there are some incorrectly geolocated keywords because I increased the browser size to 5k pixels across 3 screens and maybe the tag locations weren’t updated.

The Trendsmap blog also has some cool viz’s of world cities:

Easy:

And less obvious:

The Coolest Stuff I’ve Seen While at NYU-ITP

Access to the latest info and tech is easy because of the internet now, but moving to NYC and going to an art/tech school in Manhattan (NYU-ITP) has pushed me even closer to the sources of ground-breaking stuff that eddies in github repos, IRC channels, and school projects before being cut loose to hackernews or reddit or the other nerd aggregators.

Here’s some shit that I’ve seen while at ITP that I thought was fucking awesome, not necessarily because it’s never been done before, but primarily because it’s so easy for any regular person to play with now.

Interactive Coding

From Dan Shiffman in his Nature of Code class, he passed along this link from Bret Victor‘s talk, “Inventing on Principle”.  In the lengthy vid (all of it worth watching), he shows real-time feedback for coding.  That is, if you change the logic in your code, you see how the variables change, in real-time:

He extended this to showing a circuit diagram timeline with sync’d waveforms and how the electrons and flow through the circuit as you change resistance and parts:

Then, he showed iPad swiping to change elements on an animation timeline, thus creating a sort of tangible real-time animation experimentation, seen below:

The benefit of this immediate feedback is that one can begin to play.  Instead of usual software development, which consists of planning ahead of time exactly how something should behave, and developing contingencies for when things go unexpectedly, this sort of format allows for someone to play with variables, such as the size of a character’s head, or the physics of a world, with immediate results.  This allows someone to fine-tune a world, or to test the bounds to see if unexpectedly fun behavior emerges from it.

This is more consistent with how an artist might try multiple things in order to fully flesh out a concept, instead of hoping to get lucky with it, or spending ages understanding the mechanics so well that the result is contrived.

Here’s the full version of Victor’s talk:

You can see an early application of this kind of coding mentality in, as an example, this indie game, Under the Ocean:

Websockets

One of my classmates, now an ITP resident, Craig Protzel, was showing me some code he was working on with a professor, linking up heartbeat monitor-type data with a data viz timeseries graphing web site, showing real-time streaming of the data onto a line graph, with a backend of node.js and socket.io.

The best demo I could find of something similar to this is this Arduino board with two potentiometers streaming output via websockets and a Python script up to the web:

Here’s the implication.  The web has been fairly static since its inception.  Even when AJAX came and ushered in web 2.0, you were still doing with an active getter-type web.  Databases, bandwidth, and client browsers just couldn’t handle unrequested data coming in.  But now they can, what with the cloud, key-value stores like redis or AMQP, faster and bigger bandwidth pipes, etc.  The web is going to start looking more like a stream and less like a restaurant menu.

In my Redial class last semester, a lot of our final projects involved setting up an open-source Asterisk telephony server with a cheap phone number routed to an Ubuntu server instance in the cloud — that stack was all the same, but our applications were different: one team (Phil and Robbie) made a super-easy conference call service, another dude (Tony) made a multiplayer sequencer controlled by people dialing in and punching numbers on their keypads:

Server stacks are flattening in a sense — you can use any language you want to set up a server (Ruby Sinatra/Rails, JavaScript node.js, Python Flask), and then plug in extra services you need (database, key-store, admin tools, task and load balancers).  HTML5 and some degree of normalization on the browser side is allowing JavaScript to mature so that we have all these kickass visualization and interface libraries for making better user interfaces now, too, which can easily handle the structured data being thrown at it by all the stuff going on on the backend.

The last note is that you can now easily, with a little help from an Arduino and a network shield, control the digital world with analog sensors, or vice versa.

Drones

I read Daniel Suarez’s latest book “Kill Decision” (review here), in which a scientist is targeted because of her research into weaver ants, the most warlike species on Earth, being inspiration for algorithms for killer drone swarming behavior.  We’re living in an age of the dawn of drones, where the US has found it can cheaply deploy drones to kill and monitor the enemy, broken down into a bureaucracy of various levels of kill and targeting authorization.  We’ve all seen the videos of quadcopters acting together using simple rules.  It won’t be too long until law enforcement and federal agencies will be able to use drones domestically.  Drones are far more versatile, expendable, and cost-effective as overhead imagery.  Look at the quality on this RC with a GoPro camera attached:

Here was a “robokopter” sent up to monitor the police in Warsaw as they kept two hostile groups of marchers apart:

I can’t see how drones won’t be banned soon, but how will they enforce it?  Shoot down rogue drones?  Jam them?

Somewhat corny, but here’s FPSRussia using what seems to be a terribly unsafe quadcopter with a machine gun attached:

Suarez’s book takes its name from the idea that an unknown actor has built drones that target individuals, assassinate them, and self-destruct, without any instructions coming in after they’re released.  They destroy their own fingerprint and are mostly impervious to being jammed or tracked back to their makers.

All with fairly cheap parts.  It’s not the same thing as weaponizing, say, biological weapons, or building a big enough EMP, which I would imagine are two of security apparatuses’ biggest fears.  I’m kind of sad more people haven’t read Suarez’s books because they’re addressing pretty near-term implications of emerging tech.

FaceShift

I didn’t get to take this class, but Professor Kyle McDonald (whom I took for Glitch) had his students play with this new kickass software, FaceShift.  Check the demo:

Basically, you plug in a Kinect to your computer and spend half an hour mapping your facial expressions to the software.  Then it renders a model of your face, which you can then use to map any skin you want (say, another person’s face) onto it.  So quickly and easily you can do this.  Previously this sort of work was the domain of special effects studios and game development teams.  Now it’s downloadable, and you can buy a Kinect (or other similar cameras) to capture yourself.

Holy Grails That are Still Missing

Self-Recording

Here’s what I wrote my buddy Chris after he showed me this upcoming product, the Autographer:

Problem with it is threefold:

  1. unproven, not much evidence of what it actually delivers
  2. angle is all wrong, you have to wear it on your purse (!) or on a lanyard, so it will jerk around, not stay right-side out, won’t have a good angle to see what’s important (even if it’s supposedly a 135 degree lens)
  3. the holy grail of something like this would be something that takes photos OF you, not FROM you
That last part is key.  If I could, I would build a little floating ball (think the trainer that Luke uses to practice with his lightsaber) that can take photos of you without you being aware of it, or posing for it.  Candid photos.  Those are the winning photos.  Not posed photos of people mugging for the camera.  Even having another person take the photos for you steals from the atmosphere — someone is actively choosing to become disengaged from the scene in order to take a photo of it.

It also means that photos of people and recording peoples’ lives has been primarily a solo adventure at this point.  Hence the phenomenon of mirror photos, the forward-facing camera (so you can see yourself and the person you’re with while you take the photo), etc.  Not so many people are lucky enough to A) want photos and B) have someone else who loves to take photos along with them at that time.  I have no awesome photos of Iraq as a result (and those that I took, as you know, got me in a shitload of photos…can’t even claim to have returned with anything beautiful from that hard-knocks lesson).  Maybe this also explains why photos of animals have done so well.  They are ignorant of us taking photos of them, and do their crazy animalistic shit with reckless abandon, and thus make excellent photo subjects.

Extend that to personal data collection (which is what Galapag.us will start off as) and it’s a somewhat isolating experience.  Who is going to follow you around and collect data on you?  You have to do it for yourself, or participate in activities that can be tracked automatically (marathons, online social networking sites, Fuelband, etc.).  Maybe social media whores (like me) became that way because that’s the cutting edge for living a quantified, recorded life.

Anyway, I think it’s pretty fascinating that among friends who are social users of online stuff, Facebook and Instagram are the key players (which is why Facebook paid $1bil for Instagram).  I love Twitter but very few casual users use it.  Pinterest is primarily women, fantasy leagues are men, etc.  But photos are HUGE.  Facebook knows it.  But we’re not even a third of the way towards reaching the full potential of capturing the human experience through a camera in my opinion.  The tech is not there yet.

Decentralization

The web is not very distributed or decentralized.  There is a myth of digital democracy.  When Amazon AWS has a hiccup, usually in its Virginia availability zone, half the American internet’s most popular sites go down.  The NSA and other countries’ intelligence agencies are up the telcos’ asses with eavesdropping, and sites are being shut down by ICE and the FBI.  Virtually the only site that has remained impervious to government attacks has been The Pirate Bay, which is constantly coming up with new ways to thwart efforts to shut it down, primarily through redundancy and distribution.  Torrenting has almost become a political act, even though it’s a resilient model for an unevenly distributed modern-day internet.

Social networks are walled gardens.  Twitter, a darling, was caught by the more traditional walled garden peloton, and is now locking down its data, after having, at one point, a role model API.

At some point we will have IPv6, which, thankfully after Windows has gone through some lengths to secure its OS, has been slow to roll out so far, but which will eventually allow any sensor, device, appliance, whatever to have its own internet-available unique ID, for better or for worse.

In Closing

Will be adding more to this periodically for a while; still got about 7 months or so left at ITP, plus there might be some stuff I overlooked.  What else do you think has been cool that you’ve seen lately?

Glitch: The Flip-Flop Technique

For our final Glitch class, our assignment was to employ the flip-flop technique, as described by Robin Sloan.  Technically, our job was to glitch something by flipping it between the analog and digital x times, or as Sloan says, “the process of pushing a work of art or craft from the physical world to the digital world and back again—maybe more than once”.

I decided to make a puzzle of it, to see if my idea would work.  First I had to put a file online, shorten it via bit.ly (to reduce encoding complexity in the QR code), and then generate a QR code for it.  Here’s the summation of that:

In order to do my flip-flop, one would need to graph out the x,y grid coordinates from a txt file onto graph paper. (ANALOG) Check out the text file here.  0,0 is the top-left of the 25×25 grid.

You can see it’s a 25×25 grid.  Once you draw out the pixel coordinates, you’ll get what appears to be a QR code.  Here’s my work, partially through it:

I wasn’t sure if this part would work, though in theory it should have.  When I first filled in the QR code on my graphing paper, neither Google Goggles nor QR Droid could detect the QR code.  Google Goggles found the closest match to be photo images of bathroom tile patterns.

Then, figuring my drawn QR code wasn’t precise enough, or perhaps dark enough, I erased my axis labels and filled in the square pixels with a black pen.  To my amazement, the QR code then worked in QR Droid! (DIGITAL)

I was surprised that it could pick up the code, because I started getting sloppy while filling in the squares, figuring I could just use the final product as some artistic hand-drawn rendering of a QR code.  Apparently though, QR codes, depending on encoding, can handle quite a lot of error, and correct for it.  Here’s some information about how its error correction works (thanks Neil).

One interesting project handling data error and error correction was our professor Kyle McDonald’s Future Fragments project, where he had other classmates encode messages into colored grid squares, then keep the printouts in their wallets for a summer, then decoding the blocks back into a message after the pieces of paper had been worn down a bit.

The QR code takes you to a bit.ly link, which forwards you to an image on my site, a reproduction of Caravaggio’s The Card Sharps, one of my favorite paintings. (DIGITAL)

 

The next task would then be to hand-draw the painting. (ANALOG)

Then you take a photo of it to auto-save to Google+ or upload to the cloud. (DIGITAL)

Then the final task would be to color in the drawing using Photoshop or another digital tool. (DIGITAL)

Here was my final product:

As a final test, I thought I’d see if I could run the drawings through glassgiant.com’s ASCII converter.  The results for my drawing were not too good, probably mainly because I did not make bold enough lines and outlines to make the ASCII conversion stark enough.  I also ASCII’d up the QR code (ink) and the original Caravaggio. (DIGITAL)

Note: along the way, I found this awesome site that has a QR code stencil generator, for making stencils in hobo code!

Anyway, that concludes my work for Glitch class.  Thank you Kyle McDonald and Jeremiah Johnson!  This ITP class was fucking kickass.

Understanding Genomes: Data Viz Tests for Galapag.us

My Understanding Genomes class with Yasser Ansari has been primarily about understanding the process of how DNA is replicated and how its encoding carries instructions for the building of life.  Our midterm is a fairly open-ended assignment for applying the DNA replication process to a project.  I decided I would do some tests for a person’s Galapag.user data object, in the form of a JSON object being displayed in various ways that allow for quick symbolic/artistic interpretation (which humans are good at) but also allow for quick deep dives into the data (which nerdy types like me who want to see more data on-screen at expense of simplified UI).

So, the first step is to set up a way to access the JSON object.  Right after the spring semester finished up, I had some free time before work started and so I began to port my PHP+MySQL Galapag.us code over to node.js+Express+MongoDB.  I still have a lot of work to do on that, but I can’t really work on that till next semester (AKA thesis semester).  Now, of course, because we use it at work, and there’s a class at ITP teaching it this semester, I’m interested in switching over to Python Flask+MongoDB, but I’m worried I might lose some time figuring out the quirks of that, versus just doing the quick-and-dirty with JavaScript.

Anyway, I’ve already set up some basics for a Galapag.user’s profile database model.  And for Nature of Code class last semester, I built a quick node.js Express server for sending a JSON object of a person’s characteristics (1-10 scales for creativity, strength, charisma, etc.) to a Processing sketch for my genetic crossings project.

So I combined the two models to create an expanded Galapag.user profile, which looks something like this below:
{ "status": "OK", "JSONtitle": "Profile Summary", "profile": [{ "_id": "xxx", "adjectives": "", "appearance": 10, "armSize": "38R", "bio": "test me", "bodyType": "average", "broken": "femur", "caffeine": "coffee", "charisma": 8, "chewNails": "never", "children": 0, "chineseSign": 2, "city": "Des Moines, IA", "coatSize": "38L", "creativity": 3, "discipline": 6, "dressSize": "N/A", "drink": 1, "drugs": 0, "education": 6, "entrepreneurialism": 1, "eyeColor": "brown", "eyewear": 0, "facebook": "", "facialHair": "none", "fillings": 1, "flickr": "", "formulaEducation": "", "foursquare": "", "freckles": "back", "gender": 1, "google": "", "gracefulness": 8, "hairColor": "blond", "hairLength": "short", "hairStyle": "shaved", "health": 6, "height": 66, "homeTown": "Des Moines, IA", "honesty": 3, "humor": 6, "income": 120000, "injuries": "", "instagram": "", "intelligence": 5, "legSize": "30", "linkedin": "", "liquidityInteraction": "", "loggedOnTotal": "", "luck": 8, "maritalStatus": "single", "money": 7, "nationality": "USA", "neckSize": "16 1/4", "occupation": "analyst", "personalityType": "ENTP", "pid": 99, "piercings": 0, "politics": "Republican", "prosthetics": "none", "race": 1, "religion": "Christian", "religiosity": 6, "responsibility": 6, "scars": 1, "sexuality": 0, "shoeSize": "9", "sign": 1, "smoke": 1, "stamina": 5, "strength": 6, "strengthFriend": "", "stress": 6, "suggestedBy": "", "surgeries": "", "talent_art": 2, "talent_math": 6, "talent_sports": 8, "tattoos": 1, "totalBooks": "", "totalCostWardrobePerson": "", "totalInteractions": "", "totalTransactions": "", "totalWardrobe": "", "trustBusiness": "", "trustFriendship": "", "twitter": "", "waistSize": "32", "website": "", "weight": 175, "wisdom": 3, "wit": 5, "xbl": "", "youtube": "", "zipCode": 85083, "claimed": true, "audited": false, "firstTime": false, "active": true, "joined": "xxx" }] }

To visualize the data, there are a couple things I’d like to focus on.  One, I don’t want it to be just another widget you put on your site (besides, does anyone have sites anymore?), and two, I want to emphasize the non-financial benefits of reputation, which is to say, Galapag.us would be great for dating or hiring, but it should really stick to a core of providing an alternative model of judging trust, reputation, and worth through non-financial actions such as being a good friend, a good citizen, self-sacrificing (or not, depending on your opinion of altruism), whatever.

The point is that everyone has his own opinion of what makes someone else valuable, and Galapag.us needs to be a system that does not favor one system over another.  Granted, I think Galapag.us will have its own core values, which I’m hoping will be built upon the company’s DNA, of its founders, but it will also allow for alternate models created by, for example, the average expectations of the entire Galapag.userbase, or hopefully, the aggregate beliefs of different regions, countries, cultures, etc.

Anyway, back to the assignment.  DNA transcription, translation, and replication are essentially protocols for the secure passing of information.  Biology has created a highly reliable process for this.  Humans have developed less reliable processes for the passing along of cultural information, less reliable because the processes rely on generations of humans adhering to the cultural norms and traditions and taking the time to teach it to the next generation.  But look what beautiful things humans have done to pass along generations of information quickly:

Maori facial tattoos (ta moko) were often used to denote one’s place in society, based on positional rules.  From this blog post:

 For men, the Moko showed their rank, their status and their ferocity. The which is generally divided into eight sections :
1. Ngakaipikirau (rank). The center forehead area
2. Ngunga (position). Around the brows
3. Uirere (hapu rank). The eyes and nose area
4. Uma (first or second marriage). The temples
5. Raurau (signature). The area under the nose
6. Taiohou (work). The cheek area
7. Wairua (mana). The chin
8. Taitoto (birth status). The jaw

Something I’m more familiar with, American military uniforms, which allow soldiers who have never seen each other to immediately know someone else’s rank, achievements, stature, etc.  Here’s General Petraeus:

American children are primed for the military uniform (which is now full of symbology invisible to most Americans because of the small percentage of people who actually serve in it) through their Boy/Girl Scout uniforms:

These are individual displays of conformity into cultural systems and achievement within them.

But we also have ways of remembering those we’ve lost and loved.  Take, for example, the American quilt, which has traditionally been used to record family histories or American history, …

…but which not too long ago was used to create a massive remembrance of HIV/AIDS victims on the National Mall:

So how can I encode profile information in such a way that it’s visually appealing, culturally useful, and statistically informative?  To be honest, I have no clue.  It’s not something I’m strong at.  What I’m hoping is to have a few different options available, but to also just put up the API for proper designers to build their own interpretations, something that’s more in keeping with an open-ended system.  Yes, it is likely that no one at all would ever use Galapag.us, particularly any developers, but I think what’s important is to build a simple API for people (including internally at Galapag.us) to interact with.

Here are some visualizations I already made in the past:

So if I were going to come up with a new visualization that could be displayed in various mediums (on clothing, on sites, badges, business cards, etc.), there doesn’t necessarily need to be any order or logic if I am looking to create something cool aesthetically with the data, but it could help, with minimal cost.

In thinking about Galapag.us and a holistic reputation system, I thought that one would need to find universal constraints.  The first constraint I thought applied to all things, and people, rich and poor, good and bad, was time.  As Arnold Schwarzenegger and other motivators would say, there are only so many hours in a day in order to be great.  No matter how important or unimportant we are, we all only have 24 hours a day to do things.  How do we use that time while we’re alive?  How much time have we invested into different aspects of our lives?

At the same time, there are qualities and characteristics about people and things that require no time to develop or improve or grow into.  It doesn’t take you time to develop kindness, or honesty, or whatever.  You either are at any particular point in time, or you’re not.  These are binary instances, which may vary over time (most people go through periods of both).  If you took a snapshot at any point in time, you would be either one or the other.  Contrast this (and all its inherent inconsistencies) with, say, having gone through college.  It takes 4 years, usually, to get a degree.  Being a college graduate is something that took time to develop.

So time is one dimension. The other one, for better and for worse, is money.  What is your opportunity cost of spending x hours doing something?  If you become a surgeon, you have to spend maybe 6 years and a ton of money for med school.  But afterwards you end up healing sick, weak people.  If you take out loans now, you are going into debt in the present in order to earn far more money and reputation in the future.  What if you wanted to start a family in the meantime, but had to wait?  What if you had to leave your country in order to go to med school?  What if you couldn’t leave your country because of warfare or poverty?  So time versus money is a construct that we’re all in some form or another a part of.

Note that setting up time versus money does not imply that richer or more productive people are better.  It just places events on a chart.  So, I could still say that you could be a productive person even if you had no money, or you could be completely lazy and rich, but it doesn’t condemn you to being “good” or “bad”.

What if I set up this chart?

This, above, is perhaps a chart that shows the objectivist vs. altruist debate.  Should you be the best person you can be, but only for yourself (“selfishness”, in Ayn Rand’s use of the word), or is that utility also dependent on how much you’re useful to people outside of yourself? (if we added a time vs. money vs. health dimension here, we could map altruism vs. selfishness better)

Are the charts biased by going down and to the right?  Or up and to the right?  Does that imply, because of the way we learn mathematics (positive x, y graphs) that heading further out up/down to the right is “success”?

So I’m already seeing that even in displaying data in order, there are a lot of issues with bias, implication, and categorization.  Would it be better to have a visualization where a core self starts in the middle, and branches head outwards to denote connections with people outside oneself?

Let’s try to visualize the above JSON object.  Oh, and did you know that a Pokemon’s “personality value” is captured into a 32-bit unsigned integer in computer memory? (e.g. a binary 2^32 number)

Here’s a simple grid, with transparency based on the 1-10 scale of each characteristic.

The next is a line of squares, separated by category (mind, heart, body), with opacity again representing the 1-10 scale:

A background repeated pattern of the first grid:

The last one charts outwardness and utility for two separate people.  The opacity represents the outward importance of the characteristic (i.e. intelligence is not very outwardly useful to other people) while the length of the bar represents the utility to the individual.  The two peoples’ bars are next to each other (i.e. the first bar is person 1’s intelligence, the second bar is person 2’s intelligence, the third bar is person 1’s strength, etc.).

What I like about the chart below (obviously it’s still not very clear) is that you can find the average utility vs. outwardness (the middle white line) and chop off the baseline, to find the spikiness of the person’s outward utility to the world.  If the data were better represented, you could also get a better sense of who is more “visible” in the world based on his characteristics, and who tends to be overshadowed, literally.

I didn’t have enough time to do more complicated visualizations, plus Processing is not the best thing for working with hashmapped/databased data.  I would rather be using Python or JavaScript to compare two different users’ data across different dimensions. Here’s a gist of my Processing sketch:

Glitching in Processing

Some more stuff from my Glitch class, which ends next week. :/  My impression of the class is that, though most people (including, perhaps, my professors) may believe glitch-alike and glitch aesthetic are passing fads that move way too fast in the transition to some future styles of art, that Glitch is some of the most fascinating artwork I’ve seen in a long, long time.  I never really want to see any more old paintings of Christian-themed stuff, nor the post-modern Christian-themed shock art, and painting and drawing and sculpture are sort of done with, with hipsterish 8-bit and old video game-style art being too nostalgic from people who are still too young.  In terms of artists pushing boundaries, criticizing the system, and making a commentary on society, it’s hard to think of a better place for art than a world where people are learning how things work, then reprogramming them to either subvert the original intent or to distort it in a way which undermines the rigidity and order of large, interconnected, imposing data/network/bureaucratic systems.

Anyway.  In our last assignment, we all had to create an algorithm in Processing which could be used to distort an image, so that we could all put our algorithms together and output the results next to each other for comparison.

For my algo, I took Kyle McDonald’s algo which broke out an image into a grid of pixels.  Then I figured I could weave in another image by using modulus (%) arithmetic, an easy programming trick, to intersperse pixels at specific places into the canvas.  Then I also decided to take the original image’s pixels and map it on upside-down onto the image.  The original:

The result:

The algo:

PImage vt520_1(PImage img) {
  PImage img2 = loadImage("flag.jpg");
  img2.loadPixels();
  int n = img.width * img.height;
  for (int j = 0; j < n; j++) {
    color cur = img.pixels[j];
    color cur2 = img2.pixels[j];
    int r = int(red(cur)), g = int(green(cur)), b = int(blue(cur));
    int off = j*10&(j>>20)|j*3&(j*5>>15); // miiro
    off %= 256; // don't let the offset overflow
    if (j%2==0) {
    img.pixels[j] = color(0, 0, g^off, 0);
    }
    else if (j%3==0 || j%7==0) {
      img.pixels[j] = cur2;
    }
    else  {
      img.pixels[n-j-1] = color(r^off, 0, 0);
    }
  }

  return img;
}

Interestingly, because I was using modulus arithmetic, this resulted in the image changing in some applications because of the way they scale images down to certain sizes.  Some other views of the image:

Should have an image of all the algos working together at some point soon…  Classmates came up with some pretty amazing stuff!

Epler’s:

Guilherme’s:

Then our in-class assignment was to go out on the cloud and try to break services or get banned.  I liked this trick on Facebook by Hanna Kang-Brown, just using extended characters: