Tag: Twitter

  • Part 3: Who’s Talking About The Future Of Newspapers?

    Continued on from Part 2, I’m representing similar data in a different (less exciting) way.

    Before, we looked at how the activity on the twitter streams was spread out over the day and by different types of interaction. Here, I’m using charts to show the breakdown for the day, by user. I’ve also created charts for each type – these are too busy to show much more than users who are way above average in a particular tweet type.

    Like last time, something is either:

    • Directed
    • Not directed, but containing a mention
    • Contains a link, not an @ mention
    • None of the above.

    I’m using the existing code I’ve built up – Apache POI to import and some custom data-structures.

  • Twitter Weekly Updates for 2010-08-08

    • Hate airport goodbyes. #
    • Need to report a defect? h0m0sap1ens – an issue tracker for the human race http://bit.ly/c6Yhn6 /via @hmason @leesean #
    • Where's open for brunch this morning? #
    • Maslow's Hierarchy of Internet Needs http://bit.ly/aIF7DR /via @brainpicker #
    • Love today's xkcd – Atheists – http://xkcd.com/774/ #
    • I was late reading this, but I'm glad I eventually got to it – some perspective on women in tech – http://dld.bz/p3HA #
    • Fascinating post on asking the right questions – http://dld.bz/p3Pt /via @dgou @hewhocutsdown @flowchainsensei @ashalynd @systhink #
    • MBA bought me a box of cherry coke!!!!!!!!!!!!! Sooooooooooooo happy!!!!!!!!!!!!!!!!!!!!!! #
    • Incredible, former Prime Mentalist Gordon Brown only the 3rd worst post-war PM! http://bit.ly/caq1Qo #
    • Woah pro photog just took my picture! So awesome! And crazy! #
    • Amazing, insightful post – as a manager, are you a multiplier or a diminisher? http://bit.ly/cwu8uc /via @tseelig @HarperBusiness #
    • Call for Speakers: Third Tuesday Measurement Matters conference http://bit.ly/aPnaAc /via @krusk @thornley #
    • Alternative half marathon – drink a beer per mile. Hilarious and wrong! http://dld.bz/pWmY /via @almostandy #
    • My interview with @Travisboisvenue talking about @AwesomeOttawa is up! I need more adjectives! http://bit.ly/cvaZyT / http://bit.ly/9ADEgz #
    • Extremely stressed stressed at though of how much time I'm going to spend on a bus over the next week. To NY and back via TO. Arrggh 🙁 #
    • Loving @sachac's take on success and blogging – http://bit.ly/aVXGai #
    • Stunning! Nature by numbers – http://ping.fm/R8i1i /via @ch402 @hypatiadotca #
    • Planning permission nightmare for @awesomeottawa's latest project – can you help? Need a space for this: http://bit.ly/agpxdh – please RT #
    • Do you need this? I did. 10 rules for brilliant women, let another woman know she's brilliant today! http://dld.bz/pWQE /via @katiecerar #
    • Recording our demo! I'm doing the voice over and listening to myself speak the same thing over and over is getting dull. #
    • On leadership – ask questions, think, concentrate and challenge the status quo – http://bit.ly/bkuH97 /via @jliyi @dataspora #
    • Urgh I loathe and despise @rogers. Called to try and cancel phone and told to call before 9 – I did, but I spend 30 minutes on hold. Grrr!!! #
    • Damn this is why people check their email. There was something I had to do in it. Not bedtime yet :'( #
    • Rounded Corners, Wasted Time and Technical Burden – must read for devs! http://bit.ly/ckncBB /by by @byosko /via @krusk #
    • Canada expo for #extremeblue Feels like we're graduating! #
    • Woah crazy! China planning giant buses that cars can drive under!! http://bit.ly/c5Iybg RT @db @justcreative #
    • That time of the month again reloaning paid back funds – have now made 42 loans on @kiva! Awesome! #
    • Invite some dissent into your stream: argument for why you should follow a random stranger: http://bit.ly/aTxM0D /via @zephoria #
    • Packing for 10 hour bus ride. Book of Algorithms, evian, granola bars, sleeping pills and strong pain killers – is that everything I need? #
    • Oh, and "What Should I do With My Life". PLAN — Hours 1-2: study. Hours 2-4: existential crisis. Hours 4->: self-medicate. #
    • Also, I tried to leave behind some chaos for @douglasgresham via facebook but @zara_p @dc_bradshaw and @alistert totally DID NOT NOTICE! #
    • This is why no-one uses facebook anymore. It's too hard to cause mayhem on. #
    • On the bus. Used to do these awful roadtrips across europe when I was at high school. Always thought grownups didn't travel this way! #
    • Fascinating – too little trust hampers innovation, but so does too much – http://bit.ly/8YDK7v /via @tseelig @jhagel #
    • Nicest #ff from @krusk! http://j.mp/aONK80 would suggest #ff her but she's so awesome and connected I'm pretty sure you all are alredy! #
    • Made it to the border. There is no going back. This is the wilderness all over again. I will miss you, Internet. #
    • Helpful advice – "A Rejected Paper is not the End" – http://bit.ly/9Zuwbs /by @mikiobraun /via @jliyi #
    • Charming, moving, inspiring: Keep calm & carry on: What you didn't know about the reddit story http://post.ly/q2i7 /via @emdaniels @kn0thing #
    • Sign at reststop warning oil leaking from cars ends up in ocean. Feel like BP has rendered that concern a little redundant. #
    • Dim sum in china town! Feels like being back in china. @zmagg and i are plotting nomadic adventure! So wonderful! #
    • Lego store: creativity and imagination shall be the stability of thy times – @zmagg and i are loving this quote! #
    • Ooh exciting, off to see this! http://www.thehighline.org/about/park-information #

    Powered by Twitter Tools

  • Part 2: Who’s Talking About the Future of Newspapers?

    After breaking down the overall types of tweets from people, next step was to create scatter plots of their activity.

    Unfortunately, Excel will only plot 250 data points – how unreasonable! Luckily I love breaking Excel and coding something that will do what I want it to do and look prettier, so voila.

    Color scheme:

    1. Is directed at someone by starting with an @
    2. Contains a mention (@) of someone else
    3. Contains a link

    Otherwise, the point for that tweet is light gray. Note this is done in the order above, so if 1 is true, then it doesn’t matter if both 2 and 3 are true or false – the tweet will be pink. If 2 is true, the tweet may or may not contain a link – it will still be purple.

    I used the Processing core.jar library within Eclipse, along with the data-structures I created originally and the Apache POI code for extracting the data from Excel.

    I’m enclosing the code below, with some comments:

    • This code will not compile even with the Processing core.jar library (requires data-structure code that I have not yet released).
    • There is a horrible hack for calculating the time passed since original date – if you’re doing anything more with time consider Joda Time instead.
    • The code is written to visualize this data and only this data. Whilst I may create a proper ScatterPlot class for Processing at some point, I’ll probably wait until Java 7 because without lambda functions it will require either a standard data format, or some kind of interface hack to create an adapter pattern. I don’t like either of these approaches.
    • Aside from this, if you have some other use for it feel free to ping me with questions!
    package com.catehuston.caitlin.viz;
    
    import java.io.IOException;
    import java.util.Calendar;
    import java.util.Date;
    
    import com.catehuston.caitlin.datastructures.Tweet;
    import com.catehuston.caitlin.datastructures.User;
    import com.catehuston.caitlin.parse.UserList;
    
    import processing.core.PApplet;
    
    @SuppressWarnings("serial")
    public class Scatterplot extends PApplet {
    
    	private static final int w = 1260; // 1160 for graph
    	private static final int h = 600; // 480 for graph
    
    	// spacing at either side
    	private static final int xmargin = 70;
    	private static final int ymargin = 60;
    
    	// axis length
    	private static final int xlen = w-(xmargin*2);
    	private static final int ylen = h-(ymargin*2);
    
    	// increments for day, hour, minute
    	private static final int di = xlen/58;
    	private static final int hi = ylen/24;
    	private static final double mi = hi/60d;
    
    	// user we're graphing
    	private int index = 5;
    	private User user;
    
    	// calendar for date comparison
    	Calendar startDate;
    
    	public void setup() {
    		UserList ul;
    		try {
    			// generate user list from spreadsheet
    			ul = new UserList("../data/data_june16_top20.xls");
    		} catch (IOException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    			return;
    		}
    
    		// get data just for the user we're interested in
    		user = ul.get(index);
    
    		// set applet size
    		size(w, h);
    
    		// draw() method will be called only once
    		noLoop();
    
    		// set up calendar with base date
    		startDate = Calendar.getInstance();
    		startDate.set(Calendar.YEAR, 2010);
    		startDate.set(Calendar.MONTH, Calendar.FEBRUARY);
    		startDate.set(Calendar.DAY_OF_MONTH, 1);
    		startDate.set(Calendar.HOUR_OF_DAY, 0);
    		startDate.set(Calendar.MINUTE, 0);
    	}
    
    	public void draw() {
    		// set background color - dark grey
    		background(64);
    
    		// set foreground color for text and axes - light grey
    		stroke(238);
    		fill(238);
    
    		// draw user name string top left
    		text(user.getUser(), 5, 15);
    
    		// draw x-axis
    		int ypos = ylen+ymargin;
    		line(xmargin, ypos, xmargin + xlen, ypos);
    		// add major markers
    
    		// initial
    		line(xmargin, ypos, xmargin, ypos+5);
    		text("Feb 1, 2010", xmargin, ypos+20);
    
    		// mid-feb
    		int inc = 13*di;
    		line(xmargin + inc, ypos, xmargin + inc, ypos+5);
    		text("Feb 14, 2010", xmargin + inc, ypos+20);
    
    		// start of march
    		inc = 28*di;
    		line(xmargin + inc, ypos, xmargin + inc, ypos+5);
    		text("Mar 1, 2010", xmargin + inc, ypos+20);
    
    		// mid march
    		inc = inc + 14*di;
    		line(xmargin + inc, ypos, xmargin + inc, ypos+5);
    		text("Mar 15, 2010", xmargin + inc, ypos+20);
    
    		// end of march
    		inc = 58*di;
    		line(xmargin + inc, ypos, xmargin + inc, ypos+5);
    		text("Mar 31, 2010", xmargin + inc - 60, ypos+20);
    
    		// draw y-axis
    		line(xmargin, ymargin, xmargin, ypos);
    		// add markers
    		for (int i = 0; i < 2401; i+=200) {
    			inc = i/100*hi;
    			ypos = ymargin + ylen - inc;
    			line(xmargin-5, ypos, xmargin, ypos);
    			String hrs = i + "h";
    			if (i == 0) {
    				hrs = "0000h";
    			}
    			else if (i < 1000) {
    				hrs = "0" + hrs;
    			}
    			text(hrs, xmargin-50, ypos+10);
    		}
    
    		// go through and plot points, color according to type
    		for (Tweet t : user.getTweets()) {
    			// set color according to tweet type
    			// @ message
    			if (t.isDirected()) {
    				// pink
    				stroke(236, 0, 128);
    				fill(236, 0, 128);
    			}
    			// someone else is mentioned
    			else if (t.isMention()) {
    				// purple
    				stroke(140, 9, 214);
    				fill(140, 9, 214);
    			}
    			// contains link
    			else if (t.hasLink()){
    				// yellow
    				stroke(255, 126, 0);
    				fill(255, 126, 0);
    			}
    			// otherwise
    			else {
    				stroke(238);
    				fill(238);
    			}
    
    			Date d = t.getDate();
    			int x = getXPos(d);
    			int y = getYPos(d);
    			ellipse(x, y, 3, 3);
    		}
    	}
    
    	private int getXPos(Date date) {
    		// make calendar with specified date
    		Calendar newDate = Calendar.getInstance();
    		newDate.setTime(date);
    
    		// count how many days we go back to find start date
    		int count = -1;
    		while(startDate.before(newDate)) {
    			count++;
    			newDate.add(Calendar.DATE, -1);
    		}
    
    		return xmargin + count * di;
    	}
    
    	private int getYPos(Date date) {
    		// put date in calendar so we can manipulate it
    		Calendar time = Calendar.getInstance();
    		time.setTime(date);
    
    		// work out hour increment
    		int hrs = time.get(Calendar.HOUR_OF_DAY) * hi;
    		// wor out minute increment
    		double mins = time.get(Calendar.MINUTE) * mi;
    
    		// return y value
    		return (int) (ylen + ymargin - hrs - mins);
    	}
    }
    
  • Twitter Weekly Updates for 2010-08-01

    • How do we balance technical v. non technical for a mixed audience? http://dld.bz/n749 #
    • Just pitched to head of IBM Canada and GM of IBM cognos – two most senior execs in Canada. WOW!!!!! #
    • Seems distant friends have a more awesome life? They probably don't. Feel-Bad Effect from Not-So-Close Facebook Friends – http://dld.bz/n74M #
    • I like this – can we apply some of these concepts to teaching programming? Math is not linear – http://j.mp/ac7T72 /via @eric_andersen #
    • Christian just yelled abuse at me on rideau. To be fair, I did point out no rational basis for his belief system. What would Jesus do? #
    • Teammate: I had a talk with god and he was happy because earth was doing fine. And I was happy because EB was doing fine. #
    • Need to be creative today? Try taking a walk – http://dld.bz/n78H #
    • How the internet is enabling intimacy – http://dld.bz/n7AR /via @padday #
    • Rocked our pitch to IBM global business services!!! #
    • How do I speak clearly but with excitement when I'm presenting? More great advice from the eloquent woman – http://dld.bz/nQ4r #
    • Really angsty and stressy this evening. Bunking off being productive and watching the september issue didn't help, Anna Wintour is scary! #
    • Like this, is how I work too – "Following everyone = Following no one" http://j.mp/b68veJ /by @lisabarone. /via @eric_andersen #
    • Future blue day today! Should be good. #
    • Loving this – life philosophy from director of java? Get Shit Done. Awesome! #
    • Neat video on the state of the internet – love the new social media timeline at the end – http://j.mp/aVvAIY /via @http://j.mp/aVvAIY #
    • Two truths and a lie. Mine, trained in martial arts with shaolin monk, qualified ski instructor, had a conversation with a geisha. #
    • Why we need to share what we learn – you can't take it with you! http://dld.bz/nQEv /cc @sachac /via @tseelig /by @sgblank #
    • Important information if you fear the destruction of humanity by robots – http://bit.ly/coTrx9 /via @jliyi @seanjtaylor @pkedrosky #
    • Looks like I'm going to be on the radio talking about @awesomeottawa again! Exciting and, well, awesome!!!!! #
    • Fascinating post from Cal Newport: From CEOs to Opera Singers – How to Harness the “Superstar Effect” – http://dld.bz/pgMc #
    • How do you fix a team? http://dld.bz/pgK9 #
    • Gaaah overslept horribly running out of clothes for all this pitch pitch pitch pitching!!!!! #
    • In a fit of genius I have teamed mbts with black linin suit. Pants so long and feet so small hopefully noone will notice. Shhh!!! #
    • Want a map of your Twitter followers? http://dld.bz/nQHH /by @petewarden #
    • Teammate: Cate you're an awesome kickboxer and coder and you're really funny and have a great website but DO NOT MEDDLE IN RELATIONSHIPS. #
    • In defence of powerpoint – "When you step up to the microphone, you are responsible for everything you present." – http://dld.bz/nQMA #
    • APOD: Happiness and dancing transcend political boundaries and occur in practically every human society – http://bit.ly/c8DE8v /via @bengl #
    • Putting together care package for a friend. And by that I mean, buying stuff at clinique. #
    • Why do we persist at relationships despite repeated failure? Approaching any other activity like this would be seem insane. #
    • Having nervous breakdown about cancelled meeting and awful awful poster. Gaaaaahhhhhh!!!!! #
    • Have you signed up for Open Source Technology showcase? Here's why students should – http://bit.ly/dfREKR #
    • Tune into Around The Block on CHUO between 12 and 1 to hear me talking about @AwesomeOttawa! http://www.chuo.fm/en/home #
    • WSJ: Five Mistakes Online Job Hunters Make http://on.wsj.com/aD8CAQ RT @markwschaefer @mypromotion #
    • Feeling pretty discouraged today 🙁 gaaaahhh! At least it's a long weekend. And I will see my favorite @douglasgresham tomorrow! #
    • The top idea in your mind – what are you giving headspace to? http://dld.bz/nQWJ /via @jliyi @korolova #
    • Love this! Bicycle that transforms into shopping cart – http://j.mp/dmSOkK /via @juliacantor @eric_andersen #
    • Adore this – Don't Unplug Me (A Robot Love Story) – http://youtu.be/ck-z4-B8_5k /via @dlitz #
    • My trainer bought me tea!!!!! She is the cutest 🙂 #
    • Buying books – 1. What Should I Do With My Life? 2. Algorithm Design Manual. If 1 doesn't help, perhaps 2 will suggest algorithmic solution. #
    • Yay, have spent a happy afternoon coding a scatterplot in processing and learning how hard it is to calculate day diffs in Java! #geek #

    Powered by Twitter Tools

  • Who’s Talking About the Future of Newspapers?

    Who’s Talking About the Future of Newspapers?

    My friend Caitlin is using Twitter to investigate the discourse around the future of newspapers. She has collected a bunch of data in a spreadsheet, and I get to visualize it – yay!

    First up, extracting some general stats. I used the Apache POI to get the enormous speadsheet into Java (normally I would use Python for this kind of thing, but because I’ll use Java to visualize later I’m just doing it all in Java). POI made it super easy to do this, literally:

    public static List extractTweets(String filename) throws IOException {
    	InputStream inp = new FileInputStream(filename);
    	HSSFWorkbook wb = new HSSFWorkbook(new POIFSFileSystem(inp));
    
    	List tweets = new LinkedList();
    	HSSFSheet sheet = wb.getSheetAt(0);
    	for (int i = 0; i <= sheet.getLastRowNum(); i++) {
    		HSSFRow row = sheet.getRow(i);
    		String name = row.getCell(1).getStringCellValue();
    		Date date = row.getCell(2).getDateCellValue();
    		String tweet = row.getCell(4).toString();
    		Tweet t = new Tweet(name, date, tweet);
    		tweets.add(t);
    	}
    
    	return tweets;
    }

    First up, I’ve extracted a couple of overview stats. Specifically: total number of tweets, number of tweets containing @ mentions, number of @ replies, number of distinct users mentioned. You can see what this looks like for the 20 people in the chart, below:

    User Stats

    More to come!

  • Twitter Weekly Updates for 2010-07-26

    • Why did I decide working out with trainer at 7am was a good idea? Note to self, not so much. #
    • Three Energy Management Tips for Workaholics – http://dld.bz/mFP4 #
    • Out for lunch with my team. They are awesome. I <3 #
    • What's your risk profile? Entrepreneurs tend not to see themselves as big risk takers, interesting – http://dld.bz/mFQV /by @tseelig #
    • Eep eep eep! Dream project! So awesome! Eep eep! #
    • Me (bouncing): "I'm so happy". Teammate (monotone, depressed): "Now you're Canadian. Just like me. I'm so happy." #
    • Advice to young girls from the little mermaid – http://dld.bz/mMwb /via @pzmyers @dlitz #
    • About to get my first chiropractic adjustment. Bit freaked! #
    • Love Hans Rosling – saw this income divide in Shanghai – foot/bike/motorbike/car/car with driver – http://post.ly/nBbz /via @mpeers #
    • I never thought my dream home would be made from lego… http://j.mp/9v1ro5 /via @eric_andersen #
    • I love this! Stunning stop-motion art with post-its! http://idek.net/2pnh /via @tseelig @GuyKawasaki #
    • Teammate: Raisins are not food. As someone who knows food, I can tell you. Raisins are not food. There's not enough cheese. #
    • Fascinating – country leaders salaries in terms of GDP per capita http://dld.bz/mPkD /via @zara_p #
    • I'm too tired to code after cardio and sushi with @krusk, so I may as well go to bed. I have such an exciting life. #
    • Oh so cute! Lego Mindstorms transforming WALL-E! – http://j.mp/bPmuBC /via @eric_andersen #
    • Working on our pitch. Shoot me, please. #
    • Teammate is giggling uncontrollably as we try to find the best size and shape for a rectangle. She has such a filthy mind… #
    • So cute! Baby Porcupine Learning To Climb – http://www.youtube.com/watch?v=wYC0IYuOYLw #
    • Oddly addictive, who do you write like? Got 4x Cory Doctorow's, and 1x (argh!) Stephenie Meyer – http://iwl.me/ /via @Treepixie @teadevotee #
    • Fascinating – hacking the technical interview #ignitehttp://dld.bz/mP2S /via @sachac #
    • I do not understand why canadians are so upset about this census thing. Can anyone explain in 140 characters or less? #
    • Awesome – improving engagement on blogs through text analytics #IBMhttp://j.mp/b5BRlY /via @eric_andersen #
    • Manager seemed surprised to encounter Brit and singaporean interns conversing in French this morning. Why do so few canadians speak french? #
    • Neat! Programmable matter, or Automatic origami – http://arst.ch/lha /via @arstechnica /by @caseyjohnston #
    • Anyone know if I can mail something at @billings_bridge? Not a post box but fedex or ups or something? #
    • Why change is so hard: self-control is exhaustible http://bit.ly/9QxNAz /via @JohnDCook #
    • Loving Apache POI – making my life easier, yay! http://poi.apache.org/ #
    • Fascinating! If you want your relationship to work, maintain at least 5:1 pos:neg interactions ratio – http://bit.ly/aFWM1i /via @ElleLaMode #
    • Coding! Not pitching! Coding! Makes me delariously ridiculously insanely wonderously happy! #
    • Should never have fired up eclipse. Deadline looming! Back to pitching! Nervous breakdown imminent! Gahhh!!! #
    • "Go To University, Not For CS", http://dld.bz/mPUh /via @zedshaw #
    • Ooh this is awesome! An army of these would surely lead to world domination – http://bit.ly/c2RmL9 /via @jeffparks @vanderwal #
    • Adventurous evening stalking junkies with @zmagg! Thought I was going to get to use my kickboxing skills for reals! #
    • Stupid editable PDFs. It seemed like it worked. Only it didn't. Grrrrrrrrrrrrrr!!!!! #
    • WTF? I thought ConLib was going to be less authoritarian. Stopping the arrest of the pope for crimes against humanity – http://bit.ly/b4Gpdx #
    • Call from Rogers. Me: "Could you let them know that the best way to thank me for being a customer is to STOP CALLING ME on Saturdays?" #
    • For those of you who have expressed an interest in kickboxing with me, dojo is currently doing 15 sessions for about $200 /cc @krusk #
    • Woah! Sick UI! Ubuntu is super impressive, but this guy has too much fire for my taste – http://bit.ly/bg12WF /via @orenmazor @codinghorror #
    • Hmm, I think I've killed Excel. Why won't it make a chart from 16,453 data points? It's *so* *unreasonable*! #
    • Vibrating #
    • I like that people drew the wrongest conclusions from my earlier tweet. You're so wrong. But know what's awesome? Life!!! #

    Powered by Twitter Tools

  • Twitter Weekly Updates for 2010-07-19

    • Client meeting this afternoon and yes my laptop does seem to be broken. Again. #
    • Fascinating – the "peak-end effect" – How real are your memories? http://dld.bz/mcJA #
    • Awesome! Bicycle Rendered Useless By Knitting Gang http://bit.ly/9AlBJv /via @dgou @datawench @skry #
    • This is kinda charming – in the digital age, meeting people with a personal touch – http://is.gd/dnL0X /via @springwise @sidneyeve #
    • Creativity Crisis: "contentment is a kind of complacency creative people rarely have" – http://bit.ly/9Smhfl /via @tseelig @@SteveCase #
    • Can't wait for @AwesomeOttawa Award Ceremony #2 -Fri Jul 16, 18:00 Reply: @twegather #awesomeottawa http://bit.ly/dvA7W5 Yes/No/Maybe #
    • OK I think I'm happy with my blog now – it's had a complete overhaul! Thanks to @digitizedchris for the awesome banner! http://bit.ly/aIXpyY #
    • This is pretty awesome for checking out your twitter stats – http://twoolr.com/ /via @eric_andersen #
    • MSFT is extending xp downgrade rights to 2020 – that is ridiculous. Will this OS never die?! #
    • Culture fit vs skill fit in recruitment – http://natpo.st/azz9gj /via @mypromotion @nationalpost #
    • So happy! Computer hasn't crashed today, breakthrough at work, @douglasgresham is coming back to Ottawa and great feedback from #ggdottawa #
    • Myth #21 People can tell you what they want – http://j.mp/aOiBat /via @jliyi #
    • Old, but beautifully written and thought-provoking – "the terrible bargain we have regretfully struck" – http://bit.ly/bkIW7U #
    • I wonder is data scientist is what I've been training myself for lately? Sounds awesome, anyway – http://bit.ly/a1yiIz #
    • Hilarious – An Apple user's jeans are 33% tighter than a PC user's- huge problem! http://bit.ly/d2yWZ4 – /by @ryantomorrow /via @ElleLaMode #
    • Love this! the big lies people tell in online dating – http://dld.bz/msdF #
    • Disasterous morning but despite getting in late I've already killed my MOst Important Task and in a much more efficient way than planned! #
    • Great advice on presenting in your second language from The Eloquent Woman – http://dld.bz/msex #
    • "Hello. My name is Inigo Montoya. You broke my tests. Prepare to die!" #tdd #agilemoviequotes /via @dgou @jbrains @asplake #
    • Me: "I don't understand why she didn't realize I was distressed about white text on black"
      Teammate: "We rarely know what's distressing you" #
    • Does Everybody You Know Agree With You? Being more creative means breaking habitual thought patterns. http://bit.ly/cBPXnV #
    • Stunning Origami Paper Art! http://bit.ly/9JzqWP #origami /via @dgou @vanyc @Beckyspring #
    • Awesome – technology in fashion and product design! Most influential woman in tech Alison Lewis – http://dld.bz/myUP /via @sidneyeve @aaker #
    • Guess gender using javascript to access browsing history, is 55% sure I'm a bloke! LOL – http://dld.bz/mssF /via @FSecure @eric_andersen #
    • OK I have tea, soda, carbs, raisins, water, a 380 page PDF and something new and exciting to work on! Bring it! I'm ready! #
    • I feel like I've seen Star Wars now – improv on the tube, awesome! http://bit.ly/bsgvey /via @davidsinger #
    • Hilarious and insightful – rebranding the potato – perceived value vs real value – http://j.mp/aYJKLo /via @KRMacNeill @eric_andersen #
    • This week is working out to be pretty AWESOME! So excited! #
    • Isn't life wonderful? #
    • Award ceremony for @awesomeottawa tonight! 6pm @thecodefactory #
    • I feel like python is the answer. The alternative is too much like VB. #
    • How do you blog your engagement if you're a data geek? Like this – awesome – http://www.drewconway.com/zia/?p=2211 #
    • Just gave our second award for @awesomeottawa !!! Cannot describe how excited I am about this project! #

    Powered by Twitter Tools

  • Social is Normal

    Jump on the social media bandwagon
    Credit: flickr / Matt Hamm

    Last week, I read Coders at Work (Amazon, Google books). I really enjoyed it, it was fascinating and I learned a lot about the history of programming and the programmers themselves.

    There’s a great quote from Douglas Crockford:

    Progress isn’t always forward. Sometimes we’re leaping forward and sometimes we’re leaping backwards. When we leaped to the PC, we lost a whole lot of stuff. In the timesharing era, we had social systems online. A timesharing system was a marketplace. It was a community, and everyone who was part of that system could exchange email, they could exchange files, they could chat, they could play games. They were doing all that stuff and it got lost when we went to PCs. It took another 20 years or so to get that back.

    Humans are social creatures. Social is normal. So the person pitching a website so: “<generic idea>, blah blah blah… but it will have this social network and that’ll be so awesome” – how different are they really from those people who used to pitch: “we’re going to have a business, we don’t know what it will do yet but it’ll be on the internet” back in the day.

    Lately I’ve been thinking a lot about user’s mental models. For instance, for the “average user”, what does their mental model of the internet look like? How about their mental model of their social network?

    For sophisticated users, the mental model explains to me why Facebook, LinkedIn, Twitter, and Foursquare can be completely complementary. LinkedIn is for professional contacts. Twitter is for people they want to share ideas with. FourSquare is for people they actually hang out with. Facebook is for everyone else (perhaps that is why power users have lately been finding Facebook so expendable?).

    What about average users though? Do Facebook lists sufficiently enable the distinctions they have in their mental model? What do you think? It seems like they wouldn’t.

    In the real world, people have different social networks. Some people work hard to keep their different networks separate, and may act differently depending on who they are with. Some people are consistent, and deliberately try to build links across networks. Most of us probably fall somewhere in between.

    It used to be that you managed these networks from one phone – two at a push. That is less and less the case. Now we manage our networks through diverse means – multiple phones, multiple email addresses, multiple social networks, chat programs. I might make a plan with a friend on Facebook, confirm the day before by SMS, and know that they’ve arrived via Foursquare. Mentioning that we’re hanging out on Twitter or Facebook might mean that other people join us. It’s confusing.

    Ages ago, I read a novel about a woman with commitment phobia who managed her cheating by having a different phone for each lover. Horrifying, right? Most of us would not want to live like that. And yet – right now it seems like I kind of do. I catch up with my work colleagues via Sametime, some friends via Facebook and some via Twitter. I email a couple of people. I chat with some friends via a AOL/MSN using Adium, and others on Skype. The other day I invited some people over, and I had no clue how many people were coming because I’d arranged it via so many different medium.

    I think the future of “social” depends on our mental models of ourselves and our network. I was started to explore this in this post, and I’m increasingly fascinated by it. So I’m going to keep thinking – and let me know what you think, too.

    Social art
    Credit: flickr / kevindooley

    Embedded below – really great slide deck with commentary which has given me a lot to think about in respect to this. I hope you enjoy it too!

  • Twitter Weekly Updates for 2010-07-12

    • 2nd dragons den today! I hope our MBA has worked out all the financials! I just wanna code! #
    • Yay 100%, apparently multitasking hasn't ruined my focus! http://nyti.ms/aGOYce #multitask /via @michaelweissca #
    • Start your Monday inspired by this sunning high-speed photography set (cc-licensed!) http://j.mp/bfZSua /via @eric_andersen /by @chaval_br #
    • Is it normal to be this excited to get to work? I LOVE my job! #
    • Clue is a renewable resource – http://dld.bz/kdGk /via @petewarden #
    • Oh these are awesome! Artists use packaging tape to create massive spiderweb-like installations: http://bit.ly/aL0zdf /via @ElleLaMode #
    • Interesting – How to Create Your Own Real-World MBA – more fun than going back to school? http://dld.bz/kdGN #
    • Grad students must read this – "Some Modest Advice for Graduate Students" – http://dld.bz/kdKP #
    • Extremely excited that my copy of Java Puzzlers has arrived. Had to harass building manager to rescue it. Yes I am a giant nerd. I love it. #
    • My blog ranks well for <junit parameterized testing> – feel guilty that post wasn't actually that useful but inspired to blog more about it! #
    • 11 great social networking tips – try and work one into what you're doing today – http://bit.ly/9Wjw41 /via @addthis @mypromotion #
    • I should probably have started packing before now. But since it expands to fill the time you have for it, I'll be done in 3 mins. Right? #
    • Anyone have any recommendation as to the best way to get from HK to Guangzhou? /cc @isfalk #
    • The life of a female science professor (and we wonder why there aren't more?!) – http://dld.bz/kdNm #
    • What is impact on plan for world domination? Good or evil self perception ->improved performance – http://bit.ly/c7Hi3L /via @rickasaurus #
    • Google Me, Google You – what if they combine rather than create? Love to know what you think! http://bit.ly/dhOaty #
    • Engineering – it's like math, but louder! http://dld.bz/kfTJ /via @douglasgresham #
    • Derek @Sivers on being "below average" http://sivers.org/below-average /via @jeffreyftang #
    • This is not a real plane!!!!! #
    • Where am I? What is this place with no cabs? #
    • Smallest airport I have seen! City girl Cate has officially left the city again. It's kinda like Rutland. But further from civilization. #
    • Now that I'm no longer nauseated from the plane and I've eaten, I'm much keener on Waterloo. Pep talk from @douglasgresham helped too 🙂 #
    • So Prince thinks the internet is over? I'm pretty sure the internet said he was over some time ago now. http://is.gd/di5rt #
    • *THE* interview this afternoon. Oddly I'm not so much nervous as resigned. That will no doubt change later. #
    • A while ago an @awesomeottawa trustee said he thought I was destined to be prime minister. Since I've wondered – be worried or flattered? #
    • Interesting – something for CS grads to work towards? Generalizing Specialists – http://is.gd/d8mm6 /via @giggey #
    • Social media has taken over pornography as the #1 activity on the web – video – http://bit.ly/bqfgLK /via @wantmag @jeffparks #
    • Deal with impostor syndrome by thinking like a creator – not a sponge – http://dld.bz/kwUH #
    • Still feel more sick than nervous. But pretty nervous now! Eeeeeeeeeep!!!!! #
    • Here I go! #
    • This is neat! taking the ideas out of books and paper sculptures – http://bit.ly/9DebFd /via @aranoff #
    • Tht was actually fun! Will start freaking out tomorrow no doubt! #
    • The choices you make mean everything; small decisions, big decisions… your life in arcs – http://bit.ly/a1PkVK /via @jliyi @metacode @IATV #
    • Not many options for sushi here. Looking forward to ignite Waterloo though! Hopefully noone will realize I'm impersonating a Persian man… #
    • Happy that I ended up here for #ignitewaterloo looks like there are going to be some good talks! #
    • Link between global warming and climate change? WTF? Seems more than a bit tenuous. #ignitewaterloo #
    • Happiness is a personal choice: the only person who will always be there with you is yourself, so learn to like youself! #ignitewaterloo #
    • My friend @shell_man totally rocked her talk on art and social! So happy I was here to see it! #
    • About to get back on shakey little non-plane on insufficient sleep an then go straight to work. Nothing about this excites me! Zzzzz! #
    • Takeoff! #
    • Can you try to disconnect for a bit today? Breaking the Email Addiction http://bit.ly/9R42bJ via @addthis @mypromotion #
    • Don Norman on the myth of design thinking – http://bit.ly/9bB9q3 /via @tseelig @stanforddschool #
    • What value do you place on your time? Delegating to make more progress on the things that matter most to you – http://bit.ly/9VMZ67 #
    • Love this – treating your mind as you would a private garden, choose carefully what you allow to grow – http://dld.bz/k64T #
    • What are you doing next Friday July 16? We're giving out our 2nd award for @awesomeottawa – 1830h @thecodefactory! Registration up soon! #
    • Awesomely nerdy videogame themed marching band! http://j.mp/aPvGTb /via @eric_andersen @CalBand #
    • Arrrggghhh windows crash crash crash cash crash. Work gone. File corrupted. Nooooooooooooooooooooo! #
    • On days like today I need a tea IV. Or tea injections that I can shoot up on. Cup #5 what will I do when the cafeteria shuts?!? #
    • Great advice from @sachac: "Unlike regexes, life permits fuzzy matches, so don't let little things faze you." #
    • To be a good friend, you have to give of yourself, but not so much that you lose yourself – http://bit.ly/9VJd0W /via @mypromotion #
    • Having a girly sleepover with @zmagg! We're watching sex and the city! Carrie is annoying me already though. #
    • Insightful, change your perspective on failure: Winning is nice, but losing is learning http://j.mp/b2JscK /via @jliyi #
    • On public speaking – finding your own personality as a speaker – http://is.gd/dcbV1 /via @snookca #
    • Steve Jobs @ Stanford – "Sometimes life will hit you in the head with a brick. Don't lose faith." http://dld.bz/ktEJ /via @mwbuckingham #
    • Gah! No! Blue screen of DEATH!!!!! #
    • Hilarious – the 24 types of libertarians – http://is.gd/dbBBN /via @zmagg @kacyf #
    • Love this – "Science isn't useful and never will be": http://dld.bz/knYG /via @standupmaths @TimHarford #
    • Yes it's real; I'm not dreaming. Are you? #
    • 12 compscis go out for dinner. What is the appropriate algorithm for choosing a mix of dishes? #
    • We only have 11 chopsticks. Can we solve this problem in O(n) time? #
    • My roomba is in pieces. Oh little robot. Drunken surgery. Not the best idea? #
    • I knew the corked wine was malcolm's fault. I knew it! #
    • OMG this is not like me. I think I'm still inebriated. What did I do last night?!? #
    • OMG this is so incredibly hilarious! Tormenting the school chaplain – http://27bslash6.com/easter.html #
    • Facebook being sued by Germany over (what else?) privacy concerns – http://bit.ly/aO2CIP #
    • Anyone know how to stop wordpress from sending out old (imported) posts when you edit them? #themechangenightmare #
    • Fascinating – concept of payment in time. Interesting stuff on @google's timesaving – http://j.mp/brct8H /via @michaelzimmer @eric_andersen #

    Powered by Twitter Tools