Author: Cate

  • Ignite

    Ignite is a tough format – 5 minutes, 20 slides, and the slides advance every 15 seconds. As such, the talks aren’t so much informative as inspiring and I really enjoyed the evening. First such event in Ottawa, but hopefully there will be more to come.

    You can see the full line up here, however sadly some people couldn’t make it and so the line up was as follows:

    Adele McAlear – Death and Digital Legacy

    Jairus Pryor – How I Stole $15M from the Canadian Mint

    Ian Graham – Coworking

    Sue Murphy – Online Community

    David Akin – Media and Technology

    Kris Joseph – Shakespeare and Oral Culture

    Scott Annan – You Inc.: We’re all freelancers now

    Nick Charney – Public Service Renewal in 5 Minutes

    Al Connors – Improv and Everyday Life

    Death and Digital Legacy

    This is actually something I’ve been thinking about lately and had actually sat down with my boyfriend, given him my passwords and told him that if anything happened to me I’d want him to let people know. I will probably blog about this properly soon. What I hadn’t thought about, and what this talk brought into focus for me is OK, so I die, my boyfriend lets people know – then what? Do I want my Facebook profile to be a memorial? What do I want to happen to my Twitter account, my blog, LinkedIn etc. I still haven’t come up with any answers to that.

    Adele talked about Mac Tonnies who died recently. He had not planned his digital afterlife, as a result the problem of what to do with his archives is ongoing. His family apparently do not own a computer, and did not realize that he’d not just left a website, he’d left a tangible community and online ecosystem – an Amazon affiliate account where money is paid in, and also services that cost, such as hosting.

    Before this talk I realized that we had to think about our digital afterlife. Now, I’m starting to realize how much thought needs to go into it. I have more thinking to do.

    Shakespeare and Oral Culture

    Apparently Shakespeare couldn’t spell. I always thought that was just how people wrote at the time – but apparently it was more than that! Interesting talk and perspective about how rules restrict creativity. Mashups have no rules, and that’s partly why they’re so exciting.

    Coworking

    Fantastic quote from this – “The harder I work, the luckier I get” (originally by Samuel Goldwyn). This was a talk on entrepreneurship. He stressed the importance of small victories – celebrate them. Think you can change the world, because the people who do change the world are the people who think they can. Love what you do. Being an entrepreneur means you can choose who you work with.

    Summary: Work hard, have fun, surround yourself with great people and eventually you will succeed.

    Online Community

    Susan talked a lot about “Superstars”. In the case of her work in a production company, these were the people in the trenches, people with full time jobs spending 18 hours a day working on productions. Everyone working there was a superstar – they finished each others sentances and raised each other up. Acheived the near impossible on a regular basis.

    She started OttawaTonight.com (URL not currently working for me). after noticing the lack of good arts and entertainment information in Ottawa when out with a friend. She thinks that building stronger communities means building the 3 elements of a community, which are: soul (passionate to come together and create), everyone needs to be a superstar, space to come together and share. Concludes – we spend so much time thinking about technology and tools, but it’s not what’s important.

    You Inc.: We’re all freelancers now

    Scott starts by urging us all to quit our jobs, today (even if we don’t tell our bosses). We used to trade our skills and time as an employee so the company would make a profit in return for security, however that security doesn’t exist any more. Hence – we are all freelancers now! In the new reality, we won’t get to retire at 65, and thus rather than trying to earn more money we should instead look at our career as a journey.In Canada, the opportunity to have your own business is better than ever before.

    Focus on skill growth – broad, not deep as this means more industries open to you when you change jobs. Connect with people – social networking enables connections. Your social reputation is increasingly important. Because of connectivity, it’s possible to make a living in a niche market. Authenticity trumps brand. Don’t worry about what you put online, just get online and do something. Do something that’s big and important to you.

    In sum:

    • Dream big.
    • Quit job.
    • Build skills.
    • Build network.

    Recommends Network Hippo as a tool to help manage your personal network.

    Public Service Renewal in 5 Minutes

    Great quote (threat?) from this guy – “or I’ll retire on the job and collect my pay for the next 26 years“. Trying to encourage us to put pressure on the government to change, because it moves so slowly. Talks about how difficult his first year working for the government was, how he was in denial about being in the public service. However, through blogging and finding his personal voice (buried under bureaucratic bullshit) he was able to connect with “fallen comrades” and started to build respect – which he used to try and tear down walls. Finally he started to connect with the job, and now he’s excited to go to work every day. He uses social media technologies to try and make the government more effective but it’s a drop in the bucket. What we can achieve collectively is far greater than what we can do on our own, we need to try and envision new ways to do stuff.

    The goal of his talk was to be a call to action – a demand that we step up our civic participation and get our hands dirty. If you work in the government, be willing to think and act in color in a system that’s black and white. If you’re not in the government, you need to help to change the game – more pressure from the public is needed in order for the government to become more open and transparent – come up with ideas! Public servants need to be more engaged, and make change faster.

    Improv and Everyday Life

    Improv is increasingly popular – businesses want it, although they’re not sure why. Thinking on your feet, being able to work off the cuff and have intelligent things to say is helpful, great skill for job interviews – as such, Al owes every job he ever had to improv, especially those that weren’t improv related.

    Another word is “Yes” – positivity. Things happen when you say yes. If you say no, nothing goes everywhere. He thinks we’re at the start of a trend towards positivity, which will carry us through the next decade. It’s important to say yes because it makes stuff happen. Pessimists make great stand-up comics – but lousy improvs. Accept the challenge, move forward and defeat it. Yes it involves risks, but risks motivate. There’s the potential for failure, but celebrate your failures – if you’re celebrating, the audience is laughing with you. The wost thing to be on stage is boring.

    Concludes: MacGyver was an improv – didn’t worry about what he was going to do, just went for it and it was great. Make more improv in your every day life

  • When 1 Week = 7 Steps Back

    on the infinite staircase
    Credit: flickr / Random Tony

    Last week, and at the start of this week I was feeling really worn out and disillusioned. Things were taking longer than they should, and despite working a lot and effectively I really wasn’t making the progress I wanted to be. I felt like I wasn’t achieving anything. What this really means, is that on Monday I worked from around 8 in the morning to 11pm at night (- perhaps 2 hours) and yet didn’t cross anything off The List. Tuesday I started a little later, but ultimately didn’t cross anything off the list either. Or Wednesday.

    I feel this real need to make progress, achieve something concrete, day in, day out. I’m aware that as a grad student there’s a risk of ending up at this place where you show up but nothing concrete happens, and this continues until you’ve been there for several years and people joke about whether you’re ever going to graduate.

    I don’t want to be that person.

    My far off goal, is finishing my thesis. It’s impossibly far away, and too large to conceptualize, so I have to break it into smaller, manageable tasks that mean I’ll make it, in increments. Like reading a paper a day. Coding a new visualization. Writing up all the papers I’ve read that are covered in notes into my work-in-progress. But then sometimes I end up spending a week on stuff that doesn’t help achieve these goals – like marking, or a ridiculously large assignment for the course I have to take. And then at the end of the week I look back and think, well I worked really hard, and I got this done, but in a months time (or even just another week) will anyone care? Will I care?

    It’s frustrating. And so every day, I set myself an unrealistic list of tasks. If something (for example, the presentation we made this week) takes longer than expected and I don’t achieve them, the following day’s list is even more unmanageable. And it continues. This is why the “Week in Brief” and my “Goals” list are so helpful, because when I’m trying to do 10+ high level tasks in a week I have to give myself a reality check and admit, that’s never going to happen.

    Setting goals that push me but don’t overwhelm me is something I’m working on. Because when I’m overwhelmed I’m not effective, I’m just overwhelmed. I’m not getting stuff done, I’m not motivated, I’m contemplating hiding from the world and wondering if everything would be OK if there were just 30 hours in the day. Panicking because I think I’ve missed an important appointment when I’ve in fact just misread my calendar.

    The irony here? After all that stressing at the start of the week, there’s a chance I might just cross everything off the list this week.

    Lesson? Start big tasks at the start of the week. Postpone smaller ones to the end of the week. Achieving large tasks motivates and inspires me to achieve the smaller ones. Vice versa does not work so well. Spend more time doing and less time scheduling.

  • Java: Building Blocks and an Introduction to Processing

    Update: This will take place on Wednesday 18th and Friday 20th November, 7-9pm. Let me know if you’re interested.

    I’m thinking to run a session on this tomorrow, with discussion going on via Wave. Will start at 10 or 11am EST and run for 2 hours, with another 2 hours in the afternoon.

    Let me know if you’re interested. I know it’s short notice, so I may push back depending on when people want to do it, but this will happen in the next week or so.

    What you’ll need:

    • a Google Wave account
    • Java SDK
    • Eclipse
    • Processing, free download – we won’t be using the IDE that comes with it, but try and locate core.jar

    I’ll assume your computer savvy enough to install Java and Eclipse by yourself as this could take up a lot of time in the session.

    What we’ll cover:

    • Your first program – “Hello World”
    • Simple types (building blocks)
    • What Object Oriented programming means
    • Getting started with processing, displaying stuff
    • Conditions
    • Loops
    • Global vs. Local variables

    This is loosely based on the teaching I’ve done and I have a lot of resources that I’ve created that I’ll share. I have enough to do a whole series of these online workshops, if there’s demand. As it gets cold and nasty outside this could be a good opportunity to learn to code if you’re interested in doing so.

  • Web 2.0 Presentation

    This week my supervisor, two of my office mates (Amir and Payam) and I have been working hard putting together a presentation we’ve recorded for a conference in Algeria on Sunday.

    I laid out the slides in Keynote, using my color scheme (luckily the others were OK with the pink). We’ve been impressed with how easy it has been to record in Keynote, although I think due to the number of takes there are some glitches where the audio doesn’t quite match with the slides.

    It’s taken longer than expected – I think we all got quite perfectionist, and when checking it the playback always started from the beginning – meaning with each additional person it took longer to check everything was working OK! Also – I hate listening to myself present. I say “So…” at the start of every slide!

    The slides are available on slideshare (I’ve embedded it below). You may notice that my section is very similar to the presentation I prepared the other week, although I’ve had to add some text to the slides. You can also download the QuickTime movie here (it’s Benyoucef.mov and note – the first section is in French) my section starts at around 32:30.

    As ever – let me know what you think!

    Web 2.0

    View more documents from Cate Huston.
  • Thinking Like a Programmer

    CA assignment 3 is now out, and in class today we were looking at the stuff we needed for question 2 (which is ex. 7.1 in the textbook). It’s to manually solve the isomorphism for the two graphs below:

    Petersen Graph
    Petersen Graph

    So I start sketching this out, and then it occurs to me that – ooh, I could easily write some code to validate it for me after I’ve worked it out.

    And then it occurs to me that all I’m doing is trying permutations of “abcdefghij” (where the position in the string is the number they’re trying to replace). And if I used Haskell and the handy “permutations” method I could just code it in a brute force manner, and it would solve it for me.

    So of course that’s what I did. This is a programmer thing, I think. We work out how to automate things and then we automate them. Yes, it probably took me longer to write the code than it would have to solve the thing manually. I was quite shocked that it ended up being over 60 lines (including white-space, but still… this is Haskell) although I did include my data (the edges) and methods to validate them. I think it could be done with less code, my Haskell is a little rusty.

    I find programming much more satisfying than drawing the graph countless times until you get the right answer. Also, my code is purring away now generating all the valid permutations.

    In case you’re interested… here are the first 20:

    (‘c’,0),(‘d’,1),(‘e’,2),(‘f’,3),(‘g’,4),(‘b’,5),(‘i’,6),(‘h’,7),(‘a’,8),(‘j’,9)

    (‘e’,0),(‘d’,1),(‘c’,2),(‘b’,3),(‘h’,4),(‘f’,5),(‘i’,6),(‘g’,7),(‘a’,8),(‘j’,9)

    (‘d’,0),(‘e’,1),(‘f’,2),(‘a’,3),(‘i’,4),(‘c’,5),(‘h’,6),(‘g’,7),(‘b’,8),(‘j’,9)

    (‘f’,0),(‘e’,1),(‘d’,2),(‘c’,3),(‘g’,4),(‘a’,5),(‘h’,6),(‘i’,7),(‘b’,8),(‘j’,9)

    (‘a’,0),(‘f’,1),(‘e’,2),(‘d’,3),(‘i’,4),(‘b’,5),(‘g’,6),(‘h’,7),(‘c’,8),(‘j’,9)

    (‘e’,0),(‘f’,1),(‘a’,2),(‘b’,3),(‘h’,4),(‘d’,5),(‘g’,6),(‘i’,7),(‘c’,8),(‘j’,9)

    (‘b’,0),(‘c’,1),(‘d’,2),(‘e’,3),(‘h’,4),(‘a’,5),(‘g’,6),(‘i’,7),(‘f’,8),(‘j’,9)

    (‘d’,0),(‘c’,1),(‘b’,2),(‘a’,3),(‘i’,4),(‘e’,5),(‘g’,6),(‘h’,7),(‘f’,8),(‘j’,9)

    (‘f’,0),(‘a’,1),(‘b’,2),(‘c’,3),(‘g’,4),(‘e’,5),(‘i’,6),(‘h’,7),(‘d’,8),(‘j’,9)

    (‘b’,0),(‘a’,1),(‘f’,2),(‘e’,3),(‘h’,4),(‘c’,5),(‘i’,6),(‘g’,7),(‘d’,8),(‘j’,9)

    (‘c’,0),(‘b’,1),(‘a’,2),(‘f’,3),(‘g’,4),(‘d’,5),(‘h’,6),(‘i’,7),(‘e’,8),(‘j’,9)

    (‘a’,0),(‘b’,1),(‘c’,2),(‘d’,3),(‘i’,4),(‘f’,5),(‘h’,6),(‘g’,7),(‘e’,8),(‘j’,9)

    (‘e’,0),(‘d’,1),(‘c’,2),(‘g’,3),(‘f’,4),(‘h’,5),(‘i’,6),(‘b’,7),(‘j’,8),(‘a’,9)

    (‘e’,0),(‘h’,1),(‘j’,2),(‘g’,3),(‘f’,4),(‘d’,5),(‘b’,6),(‘i’,7),(‘c’,8),(‘a’,9)

    (‘j’,0),(‘h’,1),(‘e’,2),(‘d’,3),(‘i’,4),(‘g’,5),(‘b’,6),(‘f’,7),(‘c’,8),(‘a’,9)

    (‘g’,0),(‘c’,1),(‘d’,2),(‘e’,3),(‘f’,4),(‘j’,5),(‘b’,6),(‘i’,7),(‘h’,8),(‘a’,9)

    (‘d’,0),(‘c’,1),(‘g’,2),(‘j’,3),(‘i’,4),(‘e’,5),(‘b’,6),(‘f’,7),(‘h’,8),(‘a’,9)

    (‘h’,0),(‘j’,1),(‘g’,2),(‘c’,3),(‘b’,4),(‘e’,5),(‘i’,6),(‘f’,7),(‘d’,8),(‘a’,9)

    (‘g’,0),(‘j’,1),(‘h’,2),(‘e’,3),(‘f’,4),(‘c’,5),(‘i’,6),(‘b’,7),(‘d’,8),(‘a’,9)

    (‘d’,0),(‘e’,1),(‘h’,2),(‘j’,3),(‘i’,4),(‘c’,5),(‘f’,6),(‘b’,7),(‘g’,8),(‘a’,9)

  • Week in Brief

    For last week:

    • Finish CA Assignment 2
    • Read 5 papers
    • Code more on Viz
    • Write more on Thesis
    • Get SVN working fully
    • More on website
    • Clear giant e-mail mountain
    • Start tracking morning mood and exercise on Mycrocosm
    • Go to my first hockey game!

    Also:

    • Cleaned out fridge
    • Swam butterfly again for the first time since I injured my knee (super happy about this!)
    • Spent a lot of time debugging other people’s code!
    • Met with the girls from WISE, hopefully we can get some stuff moving.

    Another week where things took longer than they should have (CA Assignment), and plans were derailed (4 hour lab). I’m frustrated at how much I’m getting distracted by this kind of thing, and how it’s cutting into my quiet-focus-time which I need to work on big tasks. I haven’t had a completely clear day since last Monday, and won’t have another until next Monday. This is a problem.

    For this week:

    • Finish putting together presentation, record and upload it.
    • Put together loop exercises for extra session with my DGD group.
    • Start CA Assignment 3 (this one will apparently be shorter) – aim for half done.
    • Marking.
    • Read 5 papers.
    • Join gym (physio says yoga and body pump allowed – finally!!)
    • Clear new email mountain.
    • Code new viz idea.
    • Ignite!
  • 10 Tips for Beginner Programmers

    This week I’ve spent a lot of time debugging other people’s code, and we had some fun bugs in class too. This was my favorite bug (I refused to fix it, but she worked out how). I’ve helped people in C, VB, and Maple – none of which are my favorite languages (I didn’t know Maple at all), and don’t have the great debugging capabilities of Java in Eclipse. As a result, I’ve come up with some tips for beginner programmers as a result of the common errors I’ve seen.

    1. Don’t take your code not running personally. Your code (or your instructor) is not out to get you! Debugging requires calm and rational thinking, the more you get upset that your code isn’t working, the less able you’ll be to fix it.
    2. Google is your friend. Lots of people learning to code have had the exact same problems you’ve had, if you can search you’ll often find potential solutions (just be careful – they may not be good, or exactly what you’re looking for). Online is also where you may be able to find that function you need.
    3. Read error messages. I’m losing track of the number of times that someone calls me over to look at a program, shows me how a compilation error pops up and then hits enter before I can read it. Read the error messages! Even if you can’t fix them yet, once you’ve learned what they mean you’ll know what to look for and be better able to fix them in the future.
    4. What are you declaring and why? Think about your variables – what to you need? What do they do? The type of the variable (String/Integer/Boolean etc) is important.
    5. Frame your problem in terms of behavior. If someone frames their problem well, I know exactly what kind of bug I’m looking for. Explain it briefly, then let me look at the code.
    6. Print statements! So useful to see what’s going on inside in the code. Don’t be afraid to use them – you can always delete them later.
    7. Small things can cause big problems. My friend spent hours trying to fix something in her code yesterday – the problem? She was using assignment equals (=) rather than logical equals (==) in an if statement (you can do this in C). Small distinctions can be really important – pay attention to them.
    8. Turn the monitor off. A blank text-editor filling your screen can distract you from the problem itself. Writing code should be the last step in solving the problem – not the first. Turn off the monitor, think about the problem, and break it down into it’s component parts. Then code it in the parts (but don’t be afraid to break them down again if necessary).
    9. The computer will do exactly what you tell it to do, in exactly the order you tell it. A lot of people forget this, but it’s so important. When the computer is not behaving the way you want it to, reflect on this. It’s important to be clear on what you want to happen first, or what you want to repeat (or don’t want to repeat) in a loop, for example.
    10. If you’re lucky enough to have a TA or friend willing to help you – take advantage of that!

    Anything I’ve missed? Let me know!

  • Great Debate: Is the Catholic Church a Force for Good?

    Sorry – I’m (very) atheist but mostly that remains off this blog. However earlier I saw an excellent debate featuring the awesome Christopher Hitchens and the wonderful Stephen Fry. It’s in 5 parts and it was annoying when the part finished at a climatic moment and I was trying to find the next one, so I thought I’d assemble it in one place before I linked to it.

    I think this debate is worth watching, whichever side you’re on, as it is a focused question and they’re debating the same question. Often when atheist meets religious, they’re talking about different things. That is not the case here. They also polled the audience before and after, and there was a massive change in opinion.

    Part 1: Archbishop and Christopher Hitchens

    Part 2: Christopher Hitchens and Ann Widdecombe

    Part 3: Ann Widdecombe and Stephen Fry

    Part 4: Audience Questions

    Part 5: Summary

  • Very Exciting

    Holiday Science Lecture Poster
    Holiday Science Lecture Poster