Tag Archive for c

Week 2 – The Spy++ Who Loved Me

This week, I learned about a fantastic tool integrated into Visual Studio called Spy++.  Many people are (painfully?) familiar with this tool, but it is new to me.  Spy++ allows you to target a UI component in a GUI application, and it will then show you a stack trace of that component.  It has already helped me a ton in figuring out how the VISTAS UI code works, as I can identify specifically what class each UI component represents and jump right to the code which generates it.  

Spy++ UI Trace

Just a taste of Spy++.

I also sat down with the application and had another brainstorm session on desired features that are within the scope of this project, which I’ll enumerate here.


Short term:

  • Fix the “Add” buttons on the Data & Visualizations tabs. Right-clicking is not intuitive to a new user. This could be simple as a small “+” or “Add” button next to
  • Project Visualizations/Project Data.
  • Add ability to delete items from Data & Visualizations tabs. Currently, removing a scene requires rebooting VISTAS.
  • Cleanup of VISTAS .ico file — remove white pixels from edge of image to beautify
  • Change default icon in titlebar of main window frame to be the VISTAS icon
  • Tooltips/mouse hover context information need to be added across the board.

Medium term:

  • Add “Help” section with integrated quick start guide
  • Revamp the Tool Bar. Re-evaluate overall layout, icon choices and functionalities present.

Longer Term:

  • Revamp the Menu Bar. Right now there is a bare minimum of functionality here, and several existing buttons don’t work.
  • “About” as its own item, and not nested under File — to be discussed.
  • Functionality to Save & Open projects needs to be implemented.  Nik has assigned himself to this.
  • Functionality to close the current project/create a new project needs to be implemented.
  • Adding/removing Viewers could perhaps be done in a more intuitive way.
  • Bundle a small sample data set with VISTAS so that a new user can experiment with the program without committing to downloading a large data set & going through all the steps of setting up the visualization. Ideally this would come in the form of a sample project include with VISTAS, so the ability to Save & Open projects needs to be implemented first.
  • Ability to take a screenshot of the viewer window, either via right-click or perhaps a button in the toolbar. Ability to copy screengrabs to clipboard for easy insertion into documents/emails/whatever.
  • Optional camera controls on the viewer window might be nice. At least a zoom control– Shift+mouse zooming is not always intuitive nor precise for fine camera movements.
  • Ability to click on colors in Legend and change them.

— whew!  I better get to work.

Week 12 – Fond Farewells… and Cake!

This week marked my last week as an intern at Wizards of the Coast.

Knowing the end was near, I got a bit manic about wrapping up my work and ended up staying late almost every day this week.  I managed to tune up quite a bit of test automation and finally resolved a persistent issue with data file imports that had been plaguing me.

I released a new version of a C# tool which assists in debugging a particular database issue that was previously onerous to troubleshoot.  This tool has already proven quite popular within my department, and is my parting legacy.

I also wrote up a “QA Intern New Hire Resource Guide”, which was basically a knowledge dump of all the best links to helpful resources & tools I’d found, both inter-company and from the web at large.  Hopefully this will help out the next batch of interns to work at Wizards.

My team held a little farewell party for me:

Goodbye Cake

I count myself blessed that it didn’t say “Get Out Justin”.

It was a bit sad to pack up my office, but I am grateful that I was able to network with so many fantastic people in my time there, and I can check “Work at Wizards” off of my bucket list.

Week 11 – Back to Baselines

My internship at Wizards is winding down, with just one more week to go. Hard to believe the summer has flown by so fast!

This week, I worked with Hazera (fellow performance engineer) to create some new baseline analytics for our load testing. The baseline is basically a load scenario which represents a typical day of virtual traffic for all of our web applications, which gives us a constant to run comparison runs against. I found myself grateful that I’d just taken a Statistics class, as that is what a lot of this boils down to.

I also did some troubleshooting for a web test plugin we use in our automation which extracts strings from our test email inbox. It wasn’t cleaning up after itself property, causing the inbox to periodically fill up. I ended up doing a little IMAP programming in C#, and I ended up additionally creating a load test plugin to clear the mailbox as needed. I was surprised at how easy the built-in C# classes make this.

One of the applications I’ve been helping do the performance testing on is called Planeswalker Points, and they had a major new feature release launch this week which went very smoothly. I couldn’t be prouder of the team!

This week marked my supervisor’s birthday. He is a big fan of Batman, so we literally covered his cube in Batman decorations and brought in a heap of desserts.

Next week, I’ll be going through my exit paperwork & interview, and doing my best to dump all that I’ve learned into documentation to help the next batch of interns along.

Prolog implementation of a C-lite parser

Wrote a Clite parser– in Prolog!
Read more