Showing posts with label computer geekdom. Show all posts
Showing posts with label computer geekdom. Show all posts

Sunday, December 1, 2013

Byzantine Bettors

Last year I had an idea to work my way through Dennis Shasha's book: Puzzles for Programmers and Pros.  Well, it's been a busy year and I didn't quite get around to it.  But, since we had a holiday this week, I had some time to play around and managed to finish another one.  As promised, I'll write about it here.

In this problem, you have some advisors, some who always tell the truth and some who may or may not lie.  The idea is you can make a bet, from $0 to $100, on whether a number on a piece of paper (face down) is 0 or 1.  The goal is to figure out how much you are guaranteed to win.

In the first case, you have two advisors out of four who always tell the truth.  You start with $100.  I figured out that the amount you are guaranteed to win is $400.  Here is how I worked it out:


The second part is a bit trickier: how much are you guaranteed to win if you start with $100 but there are only three advisors, and only one of them always tells the truth.  The answer I got is $266.69 - which I got by working out the different cases you would encounter and working through the possibilities.  I used a flow chart to do that:


I'm enjoying the book and hopefully will get around to posting a few more problems soon!

Friday, March 15, 2013

Grace Hopper 2013 Proposals

This year I'm part of three panel proposals for GHC13.  GHC submission time always brings out the Women in Tech community, and this year was no different.  I joined the first proposal via a large email thread I got added to by a colleague and found it contained people from many great companies doing lots of interesting work!  For the second two proposals I put out requests on the Systers community, Twitter, and this blog for contributors and was overwhelmed with the response.

Here are the abstracts for our proposals.  Good luck to everyone else who submitted!

Native or Web, Which App Should I Build? A Mobile Developer’s Dilemma
Chaitrali Amrutkar, Georgia Institute of Technology
Tracy Chou, Pinterest
Sara Haider, Twitter
Kate Tsoukalas, Microsoft
Jane Wang, Etsy

The difference between the capabilities of web-based and native mobile apps is increasingly being blurred. While building an app for mobile users, developers need to make several considerations such as platform specificity, speed, user experience and commercial opportunities. This panel will discuss design principles, best practices, tools, security considerations and trade-offs in development of native and web apps on mobile devices. Our panel consists of experts from academia and industry.

Thinking Big about Careers in Test: Driving Your Career in Forward
Kery Laughter, Space Dynamics Laboratory
Kate Tsoukalas, Microsoft
Mirkeya Capellan, Sogeti USA / Pace University
Kavita Maheshwari, Trilixx.com
Iccha Sethi, Rackspace

Although the role of software testing in ensuring software quality is well established, the concept of a Test Engineer is relatively novel. There is an increased need for Engineers who can fill this role, but most institutions do not formally teach Test skills and many tech workers still do not clearly understand Testing. In this panel we explain technical specifics of Test skills, role, and directions for Test careers.

Thinking big about great mobile experiences: Smart development and test techniques drive us forward!
Rosario Robinson, Anita Borg Institute
Kate Tsoukalas, Microsoft
Leanne Waldal, OTIVO
Jennifer Wong, Wyley Interactive
Foghor Tashi, Nigerian Breweries Plc

As the number of mobile technology user is increasing, developers need to switch their thinking from designing applications for a desktop environment to cater to the specific needs, limits, and opportunities of mobile devices. However, many developers of mobile websites and applications repeat common mistakes that result in a poor user experience. This panel aims to raise awareness of these pitfalls and provide developers with strategies to overcome them.

Wednesday, March 13, 2013

GHC13 Panelists Needed for Mobile Tech Panel


Yesterday I wrote about a proposal I'm working on for GHC13.  Luckily I got a great response from my post and found more than enough panelists.  

However, I have a second proposal entitled "Thinking big about great mobile experiences: smart development and test techniques drive us forward!".  Here's the abstract:

"As the number of mobile technology user is increasing, developers need to switch their thinking from designing applications for a desktop environment to cater to the specific needs, limits, and opportunities of mobile devices. However, many developers of mobile websites and applications repeat common mistakes that result in a poor user experience. In this talk, we will:
  • Share important guidelines for developing better mobile applications and websites such as: planning principles, design modeling principles, coding principles and concepts and others.
  • Analyze and present common pitfalls, bugs, and design flaws made by mobile developers
  • Present strategies and techniques for testing mobile-focused products
  • Provide a forum for members of the audience to share their mobile testing/developer experience"
Right now we have two panelists and are looking for up to two more panelists and one moderator.

Please let me know if you are interested!

Tuesday, March 12, 2013

GHC13 Panelists Needed for Testing Proposal


I have a proposal for a panel for GHC13: "Developing Your Career in Test".  Our idea is to give real-world examples of testing techniques via demos and also to give advice on career development.  Right now we have two panelists and are looking to add:

- a moderator
- a Tester from another company (we are from Microsoft and Pace University)
- [optional] a panelist who tests as part of their role but whose title is not necessarily Test/QA

Please let me know if you are interested, time is getting short!

Tuesday, December 18, 2012

72 Hours with Surface RT

This Wednesday, on December 12, a day four months in the making, I received what is probably my most hotly anticipated Christmas present: the Surface RT.  I have spent several hours a day since then exploring it and wanted to share some of my initial thoughts.

The Hardware
 
The hardware is pretty slick.  The keyboard makes a satisfying 'click' when it snaps into the surface, just like in the commercial (the kickstand, however, is not as loud):


I wasn't really sure I would like the Touch Keyboard; I was skeptical about its thinness.  However, after about an hour with the device I began to get more comfortable with it and can now type almost as fast as I can on a real keyboard.  I am really impressed with its responsiveness.

Squee!  My shiny new surface!
As for the kickstand, it works great for putting your Surface in 'pseudo laptop' mode on a hard surface.  Even when reclining in my favorite chair and resting it on my legs, the keyboard and angle work well.  A hard surface does make it easier to type lightly on the keyboard but all in all this is a very usable position from which to type.

One other hardware/software combo that works so smoothly is the built in forward facing camera and Skype.  The calls I've made so far have had much better quality than my desktop PC and webcam combo, with less feedback and a clearer picture.  Awesome!

Software Features
I haven't had a chance to explore fully Windows 8 RT, but here are a few of the things I love:
  • Microsoft Account: I love using my Microsoft account to sign in, sync music, pictures, and documents across all my devices using skydrive.  Signing in this way also syncs your settings across other Win8 devices, which makes things seamless when transitioning from one device to another.
  • Xbox: Similarly, signing into the Games hub with my Xbox ID means all my achievements track across my devices.  Also, the platform for games is solid; I tried a new game called Adera (a  very entertaining game, by the way!) and found the graphic-heavy playback smooth and very performant. 
  • Switching between apps: I thought the charms and gestures one can use to navigate between apps might be hard or awkward to learn, but I found myself fairly up to speed within 30 minutes of using the device.  I've learned a few tricks since then and it is only getting better!  Being able to switch between desktop mode and the Start screen with all my live tiles is so handy.
  • Battery life: this device lasts me all day without charging. There are days when I forget to plug it in overnight and it is awake and ready for me in the morning.
I am leaving on vacation next week and plan to bring the Surface with me.  I'm so excited to have a great replacement for my netbook!

Friday, January 13, 2012

A Few CES-Related Items...

Are you following the latest tech coming out of CES this year?  I was going to post about some of the cool new tech being shown there, but I found two interesting videos related to CES and Women in Tech that I wanted to share instead (even though the new Nokia 900 with Windows Phone is pretty exciting!)...

First up is a piece by the BBC which explores the effect CES' 'Booth Babes' has on attendees of both genders.  It's interesting to hear the perspective of women working in tech at CES - I thought they did a great job of expressing their discomfort in a way that (hopefully) all viewers of the video can relate to.

Second there is a video of a panel on Women in Tech with panelists Padmasree Warrior of Cisco, Marissa Mayer of Google, Caterina Fake of Hunch, and Lindsey Turrentine of CNET.  Their conversation is interesting and ranges across many aspects of the issue, from when to start educating students on CS, work-life balance, and how to succeed in the tech industry.

What are your thoughts on CES?  I'd be interested to hear from anyone who has actually been there in person!

Thursday, January 5, 2012

Kindle: Waterproofed!

First post of 2012!  I've been quite busy with the holidays and visiting friends and family, so I haven't had time to put much together for my blog.  However I did get a Christmas present worth talking about: this waterproof case for my Kindle:

Why the need for such a funny looking case?  Well, a few months ago my first Kindle suffered a bath time misadventure, and no amount of rice-bag drying would resurrect it.  I loved my Kindle so much I got a second one, but did some thorough researching and decided to get this case to protect it from any further mishaps.

Yes, the straps are a bit hokey, and the seal at the top is basically a double zip-lock that rolls up and snaps, but  I have now tested it and it's pretty awesome.  I doused it pretty well with water and although there some got into the roll-up part of the case, none managed to get inside and my Kindle was safe.  From the other reviews on Amazon, yours should be too should you decided to take the...plunge.  Happy New Year! :-)

Saturday, December 10, 2011

A Sweet Tooth, cont...

So I didn't quite finish off the problem I talked about in my last post.

The next part asks how much Jeremy's advantage increases by if you increase the number of cakes.  You might say, have 7 cakes.  Would Jeremy still come out ahead using the rules in the previous challenge?

I just used some extrapolation to do this one.  It's not quite as thorough as the solution in the book, but we end up at the same place.  First, I looked at the case where there are two cakes, n = 2.  Then Jeremy's advantage over Marie is 5/4 - 3/4 = 1/2.  Next, I looked at the case where there are three cakes, n = 3.  Then Jeremy's advantage over Marie is 15/8 - 13/8 = 2/8 = 1/4.  You can keep increasing n and you will see a trend, which works out to the following equation: A = 1/2(n-1).

I wrote a little code in C++ to let us easily extrapolate:
#include "stdafx.h"
#include "math.h"
#include <iostream>
using namespace std;

int _tmain(int argc, _TCHAR* argv[])
{
 double advantage;
 int numCakes;

 cout << "Enter number of cakes: ";
 cin >> numCakes;
 advantage = 1.0/(pow(2.0, numCakes - 1));
 cout << "Jeremy's advantage is: " << advantage << endl;
 
 return 0;
}

The question then asks if there's a way to make sure both players of this game get an equal amount of the cake.  That part is easy!  As we noticed when Marie goes first, Jeremy always cuts that cake in half.  If she can always go first, they'll always get an equal amount of cake.

Thursday, December 8, 2011

A Sweet Tooth

As I mentioned in yesterday's post, I've been working through a book of puzzles for programmers.  The title of the first problem is 'A Sweet Tooth', and is very apropos since I had a visit to the dentist this morning (I should probably visit the dentist more and do puzzles less, but that's another matter).

In the problem, there are two children playing a game of cutting cakes and trying to get the largest pieces.  Dennis Shasha, the author, does a pretty good job of explaining the problem, but the hints he gives are a bit wordy and I think those who haven't done a lot of math proofs before might not bother with them.  I think it's easier to state assumptions and separate out the reasoning into cases, working through the math for each methodically.  I like to write mine out on a white board and I wrote out all the algebra, but ended up with the same solution as the one in the book.

I'm too lazy to type it out, but thanks to my handy cell phone you can see how I did it here.  Here's my answer to the first problem:


And here's my answer to the second:


I think it would be fun to code up a generic solution for x number of cakes.  I'll try to post it here when I do.

Wednesday, December 7, 2011

Practicing Problem Solving

I've been looking at Dennis Shasha's book "Puzzles for Programmers and Pros", which combines two of my favorite activities: programming and puzzles!  Going through the book is fun and a good way to brush up on those languages one doesn't use on a regular basis, and I may post my experiences with it going forward.  Have you tried the puzzles in the book?  What did you think?

Sunday, December 4, 2011

CS Education Week Is Here!

This week is CS Education Week.  The idea is to celebrate and raise awareness of the impact of computing science and the need for CS education.  You can find out more here.

My first experience with CS education was terrible.  It was Grade 10 and I was enrolled in the pre-IB program (a preparation year for the full IB program which started in Grade 11).  I had chosen CS as an elective as I was generally interested in computers and programming, but had no background or training in either.  The first day the teacher gave out the assignment:

"OK, you guys are going to code a database, and you will be able to sort, save, search, and print records.  Go."

Can you imagine my shock and panic?  I had no idea what to do, but it seemed like all the other students in the class (all  boys, incidentally) did.  They confidently started up their IDEs and began typing away.  There was no textbook and the teacher did not offer any kind of useful help, and there was no internet so I could not search for examples or tutorials there either.

Well, I made it through the year (I had to, since by that time it was too late to transfer and nothing else fit into my schedule) but vowed never to take another CS course again.  I didn't feel like I learned anything except HTML programming and was very annoyed by the experience.  The next year I switched to Physics and managed to avoid CS courses almost entirely in my undergraduate studies.

Luckily I realized later how important CS would be for me and went back to school to study it - but I imagine that there must be many students like me who get turned off early on and never come back.  My experience highlights a few things that are currently missing from CS education in my opinion:
  • Programming is not CS: That is, programming is a tool of CS, but at its roots CS is much more than just writing code.  CS to me is all about modeling solutions to problems using algorithms and data structures.  It's about how to think abstractly, how to analyze problems and their solutions to come up with the most efficient one, and it's how to communicate those solutions to users in a sensible way.  When I took my first course in algorithms and data structures, I fell in love, but that wasn't until long after completing my undergraduate studies.  It seems to me we have the order of things backwards here.
  • CS is everywhere: There are so areas of education that CS could impact.  Bringing up CS when teaching about other topics could help inspire students or at least get them thinking about it more broadly.  Algorithms are an easy example when it comes to mathematics, and pretty natural when you think about the programmable graphing calculators students are encouraged to use these days.  We can start even earlier; even kids in elementary school could be learning how to sort using various algorithms (there is a neat demo using blocks and weights, or discs).  There are all sorts of applications of CS to art (digital painting, photomanipulation, using computers in art installations, graphics displays, etc).  There is a lot of literature around computing these days.  I'm thinking of Cyberpunk books like Neuromancer or Cryptonomicon.  How about artificial intelligence?  When I was a kid one of my favorite discussions on this topic was whether the character Data from "Star Trek: The Next Generation" was alive or not:
  • Teachers need CS, too: In my (admittedly limited) experience, few teacher training programs have little if any focus on CS (or even STEM subjects in general).  How can we attract people with the necessary technical skills to teaching, when the technology sector provides numerous better-paying jobs?  But it's not just technical skills we need in the classroom - we need a special blend of the ability to teach and instruct in addition to the necessary subject knowledge.  At my university they had a course which was in effect 'Math for Teachers'.  Maybe we need something similar for CS.  Greater awareness of CS in general among teachers could help them integrate it into more traditional subjects, especially when CS-specific courses are not available.
Are you supporting CS Education Week in some way?  If so, please sign the pledge and talk about it!  If not, please consider how you can help raise awareness.  I don't think my experience is all that uncommon, and if so we must be losing an awful lot of talent to other fields.  Let's do what we can to help make things better!

Monday, November 28, 2011

Teaching Your Kids Science

There was a very good piece this afternoon on CBC's afternoon program, On the Coast, about getting parents to encourage their kids to study science.  The guest gave some helpful resources, such as Let's Talk Science and Curiosity.ca. I wholeheartedly agree with most of what they discussed - parents should encourage their kids even if they themselves struggled themselves with math or science, and shouldn't emphasize that to their kids, but rather encourage their children's natural curiousity and thirst for knowledge.

The only problem came towards of the interview when the host asked "What about science fiction, is reading that or watching Star Trek enough".  This happens at about 6:39 into the interview.  The guest talks about how this is great for encouraging boys.  What the heck?  Lots of girls (like me, growing up) love science fiction, volacanoes, and yes, even farting dogs (which the host gives as an example).  Worse yet, she goes on to talk about how we should make science relevant to our 'youth', and how websites like curiousity.ca show lots of examples of cool 'guys' doing science.

These initiatives are generally great and yes, we need to do everything we can to ensure our population has a good grasp on scientific literacy.  But we need to make sure we are encouraging everyone, regardless of gender, and that means showing examples of all kinds of role models and making sure we don't discourage one group of people from pursuits they enjoy just because of their gender.

Tuesday, November 22, 2011

Escher Stairs! And Other Finds...

Today brought another sunny day in San Francisco with lots to see and do.  Mathematics kept popping up in different places throughout the day...first, we had coffee and snack in a park near Octagon House (Allyne Park).  Later I found a set of Escher Stairs at the SF library downtown.  Compare:

My Escher Stairs!
Original Escher Stairs!
Along with many numerical streets (6th, 7th, 10th) as we made our way from Twin Peaks to Zynga to downtown and beyond.  We ended the day with a delicious Cantonese food dinner at R & G Lounge with my old lab-mates Ming and Bin.  One of the dishes was 'Three Treasures with Black Bean Sauce' - the perfect end to a great day! 

Friday, November 18, 2011

Logicomix Review

This morning I finished "Logicomix", a graphic novel I picked up in Portland at Powell's Books.  


I really enjoyed the book and finished the entire thing in about six hours.  The story takes place on three levels: first, there are the authors contemplating how best to tell the story.  Second, there is Bertrand Russel giving a lecture in 1939 to US isolationists on logic, and third, there is the story of Russel's life as told through his lecture.  The 'meta' aspects of these layers of story is quite unique and engaging, and help the authors portray some of the philosophical ideas more easily and in a more consumable format for lay people.

If you're looking for a fast read, this is a fun book that lays the groundwork for modern CS.  Actually near the end Christos Papadimitriou mentions that he would like to do another novel concerning Von Neumann and Alan Turing, which I am eagerly awaiting!

Monday, November 7, 2011

Playing with Portal 2

For the past few weeks I've been working my way through Portal 2 on Xbox.  I'm really enjoying the elements of story and puzzle-solving, so I thought I'd share a bit of my experience so far here.


Since I normally find it hard to fit hours of time in front of the TV into my busy schedule, I end up going through games pretty slowly.  I've never finished Mass Effect 2, and my pace at Portal 2 is about one chapter per every 1.5 weeks.  I also had an initial setback having downloaded the game for PC and hit the Data Execution Prevention problem, which eventually made it impossible to play.  I like the game on Xbox much better anyway; I find the controls much easier to use than a keyboard/mouse combination.


For some reason I don't really enjoy solitary gaming either, so in the past I've spent more time playing board and card games with friends rather than playing video games.  I'm not a huge FPS fan (I'm not coordinated enough to run, shoot, and look around at the same time, although I'm great at doing one or even two of these actions at once, and I also don't like the feeling of being snuck up on).  The nice thing about Portal 2 is that (at least so far) it doesn't really have the traditional FPS elements.  It also has a very entertaining cooperative mode that lets you play with a friend and truly work together to solve puzzles.  I also like that the puzzles you solve in cooperative mode aren't straight copies of the single-player mode puzzles, but rather the experience is completely designed to be most appropriate for the mode you choose to play in.


Another element to this game that I think help keeps players engaged, and that is the clever writing, particularly the lines delivered by GLaDOS, such as: "Sorry about the mess. I've really let the place go since you killed me. By the way, thanks for that.".  If you like puzzles, problem-solving, crazy physics, and most of all dark humour/sarcasm delivered by an affectionate robotic voice, you'll probably enjoy Portal 2!  Give it a try and let me know your thoughts!

Sunday, November 6, 2011

Course Review: Presenting Data and Information by Edward Tufte

A few months ago I had the opportunity to attend Presenting Data and Information, a one-day course taught by Edward Tufte.  If you have an interest in user interfaces, HCI, or data analysis, this is definitely the course for you!

The main point Tufte makes is that there is an abundance of poorly presented data that leads to bad business decisions.  He provides many examples, the most convincing being the Columbia shuttle accident, where a risk assessment using data that was ambiguous at best was presented in such a way as to lead NASA engineers to approve the shuttle to land.  The course provides tools and guidelines for analyzing data and presentations, presenting your own data more effectively and convincingly, and analyzing the design of the interfaces we work on so that we can make better business decisions.

Tufte opens the day with a visualized piece of music, like this one:


This is used to illustrate how including multiple types of information in a single graphic/visualization can be much more useful than what is usually done - narrowing down information until we have only one or two metrics shown.  Here the visualization helps the consumer distinguish the different instruments heard, the length of the notes, and value of the notes themselves (a low C from a middle C, for example).  This theme occurs again and again throughout the course - Tufte also uses the Minard Map as a good example of how to visualize multiple data points and metrics in a single place:


Edward Tufte has a reputation for disliking Powerpoint (OK, he did write an article on how it is 'evil'...).  He has a section on this in his course, but to me it seems his dislike is not so much for the tool itself as much as how it is used.  Specifically, he states that the problem is:
  • people often show too little data on slides (due to the limited space they provide)
  • many people simply re-read the bullet points when presenting, rather than supplementing them with additional information
  • powerpoint slides can be dictatorial/autocratic: the leader often reads the info to the audience, but the audience doesn’t have the notes/background material that went into creating the slides, only what is presented on them
Of great interest to me was the section of the course on mobile interfaces.  Most notably, Tufte has provided some criticism on both iPhone and Windows Phone 7.  He appears to like the former much more than the latter.

There are some really nice things about how Tufte presents the material in this course.  First, I like that he shows pictures and talks to/about them, rather than showing bullet points and reading from them.  The course ends up much more like a dialogue than like a lecture because of this.  Second, students are given all four of Tufte's books on data visualization, which is a great resource that helps continue attendees' education well after the course has ended.  Finally, Tufte uses all four books liberally throughout the day, so attendees get a good overview in the content contained in each; now when I have a question or point of interest I need to look up, I have a better idea of where to find the answer in his books, which has saved me a lot of time since.

Overall I would highly recommend this course.  The training on presenting data is very useful - I've implemented his recommendations and received positive feedback on several of the reports I wrote using it. The information on layouts and interfaces was also very helpful.  My one hope is that more technical people outside of user experience designers and researchers find the time to attend - engineers of all sorts, from developers and testers to Q/A engineers could all benefit.

Tuesday, November 1, 2011

Getting Back Into Blogging

You've probably noticed various tweets and posts about Nanowrimo, which just started today.  I've always wanted to try it and have made a few attempts in the past, but given a pretty hectic schedule this year I'm giving it a miss.  I am, however, going to try to step up my blogging, and do at least one post a day (I got a head start and posted twice in October, but, being November 1st, today is my first official post).


To kick us off, I thought I'd share a bit about some cool things I've seen lately (Twitter and Facebook mostly).  Topics generally fall into a few different themes:

Technology News
  • Bendy screens: This week I saw press about bendy screens from both Samsung and Nokia.  Excited to see what cool things they build with it next!
  • Kindle Fire: The latest offering from Amazon and their entry into the tablet space.  I'm very curious to see how this is going to work out and just how good the device will be.  Although I find tablets in general to be very cool and a tempting purchase, I can't quite justify them to myself as anything more than a toy just yet.
  • Kinect Ads: I was impressed with this ad.  Not only is it really well put together and beautifully done, but it tells a compelling story about the product (and it's obvious what the product is).  
Women in STEM/Business & Related Issues
A couple of interesting articles I read recently include:
I also heard about Sheryl Sandberg's latest investment in Levo League, which is dedicated to helping Generation Y women rise professionally.  It's a great idea, but I wonder if they will branch out to other generations if the initial effort is successful.

Other Useful Resources
  • Catalyst: Catalyst provides research on various aspects of women and business.  Their articles are informative and help bring issues like the gender wage gap to light.  I quite like their blog.
  • Spark: This program on CBC Radio styles itself as an 'ongoing conversation on technology and culture'.  Not only does host Nora Young provide excellent commentary and interviews with leading experts on subjects such as human computer interaction, robotics, and social networks, but she always makes an effort to pop in items related to women in technology (and the relative lack thereof), which is very cool.  You can find podcasts here.

Saturday, October 29, 2011

Site Update

For the last few months I've received a few messages from my old school that I will soon be cut off from using their web hosting for this site.  I can't complain seeing as I graduated in mid-2009 and it's now nearly the end of 2011!

I debated what to do - should I get my own domain and find storage somewhere else?  Instead, I found another solution - Blogger Pages.  This [somewhat] new feature allows users to create static pages in addition to their blogs, and with a little template magic I was able to pretty much clone the old pages - apart from the URLs I think the migration has been pretty seamless, and am quite pleased with the results.

Since I have pretty much written my own template and gotten rid of almost everything except the bare minimum blogger-related code, I had a few challenges in migrating to the new page system.  First of all, I was using CSS before to switch the tabs' appearance when you switched pages, so the current tab was always emphasized.  In the new setup, I had to do this all within the template.  What I did was use conditional blogger tags. Before, the list that forms my tabs looked something like this:

<li id='current'><a href='http://kjtsouka.blogspot.com/p/home.html'>Home</a></li>
<li><a href='http://kjtsouka.blogspot.com'>Blog</a></li>
<li><a href='http://kjtsouka.blogspot.com/p/academic.html'>Academic</a></li>
<li><a href='http://kjtsouka.blogspot.com/p/professional.html'>Professional</a></li>
<li><a href='http://kjtsouka.blogspot.com/p/personal.html'>Personal</a></li>
<li><a href='http://kjtsouka.blogspot.com/p/contact.html'>Contact</a></li>

Now that I have a single template, I needed to use the conditional blogger tags to put a tab 'switcher' within the template itself. Looks like this:

<div id='menu'>
<ul>
  <b:if cond='data:blog.url == "http://kjtsouka.blogspot.com/p/home.html"'>
    <li id='current'><a href='http://kjtsouka.blogspot.com/p/home.html'>Home</a></li>
    <li><a href='http://kjtsouka.blogspot.com'>Blog</a></li>
    <li><a href='http://kjtsouka.blogspot.com/p/academic.html'>Academic</a></li>
    <li><a href='http://kjtsouka.blogspot.com/p/professional.html'>Professional</a></li>
    <li><a href='http://kjtsouka.blogspot.com/p/personal.html'>Personal</a></li>
    <li><a href='http://kjtsouka.blogspot.com/p/contact.html'>Contact</a></li>
  </b:if> <b:if cond='data:blog.url == "http://kjtsouka.blogspot.com/p/academic.html"'>
    <li><a href='http://kjtsouka.blogspot.com/p/home.html'>Home</a></li>
    <li><a href='http://kjtsouka.blogspot.com'>Blog</a></li>
     <li id='current'><a href='http://kjtsouka.blogspot.com/p/academic.html'>Academic</a></li>
     <li><a href='http://kjtsouka.blogspot.com/p/professional.html'>Professional</a></li>
     <li><a href='http://kjtsouka.blogspot.com/p/personal.html'>Personal</a></li>
     <li><a href='http://kjtsouka.blogspot.com/p/contact.html'>Contact</a></li>
  </b:if> <b:if cond='data:blog.url == "http://kjtsouka.blogspot.com/p/professional.html"'>
     <li><a href='http://kjtsouka.blogspot.com/p/home.html'>Home</a></li>
     <li><a href='http://kjtsouka.blogspot.com'>Blog</a></li>
     <li><a href='http://kjtsouka.blogspot.com/p/academic.html'>Academic</a></li>
     <li id='current'><a href='http://kjtsouka.blogspot.com/p/professional.html'>Professional</a></li>
     <li><a href='http://kjtsouka.blogspot.com/p/personal.html'>Personal</a></li>
     <li><a href='http://kjtsouka.blogspot.com/p/contact.html'>Contact</a></li>
  </b:if> <b:if cond='data:blog.url == "http://kjtsouka.blogspot.com/p/personal.html"'>
     <li><a href='http://kjtsouka.blogspot.com/p/home.html'>Home</a></li>
     <li><a href='http://kjtsouka.blogspot.com'>Blog</a></li>
     <li><a href='http://kjtsouka.blogspot.com/p/academic.html'>Academic</a></li>
     <li><a href='http://kjtsouka.blogspot.com/p/professional.html'>Professional</a></li>
     <li id='current'><a href='http://kjtsouka.blogspot.com/p/personal.html'>Personal</a></li>
     <li><a href='http://kjtsouka.blogspot.com/p/contact.html'>Contact</a></li>
  </b:if> <b:if cond='data:blog.url == "http://kjtsouka.blogspot.com/p/contact.html"'>
     <li><a href='http://kjtsouka.blogspot.com/p/home.html'>Home</a></li>
     <li><a href='http://kjtsouka.blogspot.com'>Blog</a></li>
     <li><a href='http://kjtsouka.blogspot.com/p/academic.html'>Academic</a></li>
     <li><a href='http://kjtsouka.blogspot.com/p/professional.html'>Professional</a></li>
     <li><a href='http://kjtsouka.blogspot.com/p/personal.html'>Personal</a></li>
     <li id='current'><a href='http://kjtsouka.blogspot.com/p/contact.html'>Contact</a></li>
  </b:if> <b:if cond='data:blog.pageType != "static_page"'>
     <li><a href='http://kjtsouka.blogspot.com/p/home.html'>Home</a></li>
     <li id='current'><a href='http://kjtsouka.blogspot.com'>Blog</a></li>
     <li><a href='http://kjtsouka.blogspot.com/p/academic.html'>Academic</a></li>
     <li><a href='http://kjtsouka.blogspot.com/p/professional.html'>Professional</a></li>
     <li><a href='http://kjtsouka.blogspot.com/p/personal.html'>Personal</a></li>
     <li><a href='http://kjtsouka.blogspot.com/p/contact.html'>Contact</a></li>
   </b:if>
</ul>
</div>

Have you found conditional tags useful in your blog(s)? I think this is pretty cool and in a way makes me less reliant on the various css, javascript, and html hacks I was using before to achieve the same effects.

Monday, October 3, 2011

A trip to Ada

**This post sort of coincides with the arrival of Ada Lovelace Day (on October 7 this year, get ready!).**

I've walked past Ada's Technical Books a few times in the last few months and noticed some very cool window display items (such as Neal Stephenson's Reamde), but I was always there when it was closed. Yesterday however, I happened to be in the area when it was open and got a chance to finally browse inside.

Outside Ada's Technical Books on Capital Hill in Seattle, WA

This store is so neat! It's named for Ada Lovelace, widely thought to be the first female computer programmer. There were little references to technical women throughout the store, including a book about Grace Hopper in the biography section, greeting cards featuring technical women at the front of the store, and of course the name of the shop itself. Besides this, there is a very nice selection of technical books, quirky puzzles and games, biographies about famous scientists, programmers, and mathmeticians, and even a small sci-fi and young adult section. In the latter I spied a Marvel comic version of Orson Scott Card's Ender's Game - have any of you read it? Would you recommend it?

I really enjoyed my visit to this shop and if you are in the area, I'm sure you will too. :)

Sunday, May 22, 2011

A Few Updates!

Just realized I haven't blogged for a while and wanted to add some updates!

I'm attending Edward Tufte's course (Presenting Data and Information), which I've heard a lot of good things about. For those of you who haven't heard of him, Edward Tufte is an expert on data/information presentation and is well known in UX design circles. I'll try to have a review of the course up here soon!

I noticed recently that I've been neglecting to look after my website, and it seems broken on some browsers. I'll be working on that in the coming weeks!

Finally, in other news, I've updated my resume.