CompSci.ca/blog » CompSci.ca http://compsci.ca/blog Programming, Education, Computer Science Fri, 30 Jun 2017 02:31:52 +0000 http://wordpress.org/?v=2.8.4 en hourly 1 Addictive Tower Defense with Martin Kess http://compsci.ca/blog/addictive-tower-defense-with-martin-kess/ http://compsci.ca/blog/addictive-tower-defense-with-martin-kess/#comments Sat, 07 Nov 2009 05:35:42 +0000 Tony http://compsci.ca/blog/?p=825 Martin Kess, one of the founding members of CompSci.ca, has been busy working on a fantastic looking game for the BlackBerry platform: Addictive Tower Defense. This isn't the first of the quality games to come from the CompSci.ca community members, but it certainly raises the bar once again.

I caught up with Martin to talk about the game. Related posts:
  1. Sample requirements to break into the game industry
  2. Treating video games as software
]]>

Martin Kess, one of the founding members of CompSci.ca, has been busy working on a fantastic looking game for the BlackBerry platform: Addictive Tower Defense. This isn’t the first of the quality games to come from the CompSci.ca community members, but it certainly raises the bar once again.

I’ve been playing the beta version of the game for a while, and I am blown away by the level of detail put into this game, just by a couple of indie developers. So I caught up with Martin to talk about the game.

What inspired you to make a commercial game, while still being a student?

Well, my main goal in life is to have a wikipedia page that doesn’t get deleted within 30 minutes of its creation.

I was working at Sybase, and Mike, my boss at the time, decided that in his spare time he wanted to do a project on the BlackBerry, and so we started throwing game ideas back and forth. The real inspiration thought were stories of John Carmack and John Romero (co-founders of id Software and yes, those are links to their Wikipedia pages) putting everything aside to make awesome video games.

And why commercial? Well, I thought that there was an off chance that I could retire a little bit of this quickly growing mountain of student debt.

One of 6 towers

Currently attending the same school with Martin, I had to ask how that played in with making games.

How do you feel that your 5 years of doing CS at Waterloo impacted the development of the game?

Well, co-op especially has turned me into a very productive programmer, so I think that I am pretty good at cranking out a lot of code. To be clear though — I mostly worked on gameplay and tools, Mike did the engine.

CS241 (Foundations of Sequential Programs, also known as “baby compilers”) was pretty relevant — I wrote a little scripting language to define the levels.

CS341 (Algorithms) and CS466 (Advanced algorithms) taught lots about algorithms , which was probably the most useful.

Math, being a touchy subject when it comes to video game development, also came into question:

What about the Math courses, did any of them come in useful in either development of the game or balancing out the gameplay?

The math was actually pretty straightforward — it wasn’t much beyond Calculus 1. Though MATH 239 (Combinatorial Analysis and Graph Theory) also came in handy. We used just the Dijkstra’s algorithm to find the shortest path for the enemies to take, but we also made a nifty flood-fill algorithm to update the shortest paths quickly when a tower got built. It was too expensive to rebuild the shortest paths every time a tower was placed.

Table of <a href='http://www.addictivetowerdefense.com/game/towers/'>upgrades</a>

Table of upgrades

Anything else?

English classes were very important! I did most of the writing on the site and in the game.

So to wrap this up… What’s next?

Next? *laughs* Next I have to rock this CS488 (Introduction to Computer Graphics) project.

We’re going to keep releasing maps for the game, and likely we’ll start working on Game #2, although we aren’t sure what that will be, and will probably take a break until Christmas at least to get caught up on sleep and other such things.

Tower Defense gameplay

Tower Defense gameplay

So there it is. A story about indie game development, a Computer Science student in debt, and one of the most polished mobile games I had a chance to play. Check out the game’s website for more details — AddictiveTowerDefense.com.

Related posts:

  1. Sample requirements to break into the game industry
  2. Treating video games as software

]]>
http://compsci.ca/blog/addictive-tower-defense-with-martin-kess/feed/ 26
Legal status update http://compsci.ca/blog/legal-status-update/ http://compsci.ca/blog/legal-status-update/#comments Wed, 20 Aug 2008 00:59:16 +0000 Tony http://compsci.ca/blog/legal-status-update/ served a legal notice by LanSchool, the matter has since been resolved; rather quickly at that.

I would like to personally thank Greg Wilson and Jon Erickson for helping us greatly with this issue; and I'd like to extend this thanks to Anthony Aziz, David Crow, Gianni Chiappetta, and everybody else who helped out, gave advice, or simply offered support. You guys are great! Related posts:
  1. LanSchool threatens compsci.ca with legal actions
  2. Bullshit legal threats for online identity management
  3. Copyrighting a Programming Language (syntax and other Intellectual Property)
]]>
Pavig Lok’s “Intellectual Property Garden”
Original image by Pavig Lok

After having been served a legal notice by LanSchool, the matter has since been resolved; rather quickly at that.

I would like to personally thank Greg Wilson and Jon Erickson for helping us greatly with this issue; and I’d like to extend this thanks to Anthony Aziz, David Crow, Gianni Chiappetta, and everybody else who helped out, gave advice, or simply offered support. You guys are great!

Since we posted the original legal notice that we received, it’s only fair to continue the process of openness and transparency.

Computer Science Canada (“CompSci.ca”) and myself have always respected the intellectual property of others and taken steps to remove any content we believe to be in violation of Canada’s intellectual property laws. However, we also respect Fair Dealings and freedom of speech and will not remove content from our site when we believe it is not infringing or is covered under fair use, which I believe to be the case in this incident. As such, we are not prepared to censor the review, author’s opinions, or comments. Nor are we prepared to destroy the intellectual property of the author, in the form of the proof-of-concept source code and the compiled application “LanSchooled”.

Emphasis added.

Lawyers were dropped and this kicked off an email discussion, which is now posted on the wiki page that sparked this ordeal. The issue was quickly resolved, and both sides reconciled.

take notes
Image cropped from: kishimoto

I’ve also learned a few things from this experience.

  1. This community rocks! Seriously.
  2. Legal letters mean someone is angry enough with you to spend money on a lawyer. It’s not yet a reason to panic, but take caution. Which leads me into the next point:
  3. A serious letter calls for a serious response. I get this feeling that LanSchool might not have completely intended what was said in the letter, and that some of the “standard issue” legal scare tactics simply slipped in pass the review. Though accountability goes both ways, so one should be prepared to take responsibility if their legal construct is not sound.

EFF coder’s rights logo

A number of useful resources came up during the research of the situation. So if anyone else is getting in trouble over similar issues, take note.

  • onlinerights.ca — “Online Rights Canada (ORC) is a grassroots organization that promotes the public’s interest in technology and information policy.”
  • eff.org — “EFF is the leading civil liberties group defending your rights in the digital world.”
  • and an exceptionally specific

  • EFF’s coders’ rights project — “protects programmers and developers engaged in cutting-edge exploration of technology in our world.”

And as promised, since this issue did not escalate to a lawyer wielding fight, we’ve given the received donations, all $18.22 of them, to EFF.

donations redirected to EFF

Related posts:

  1. LanSchool threatens compsci.ca with legal actions
  2. Bullshit legal threats for online identity management
  3. Copyrighting a Programming Language (syntax and other Intellectual Property)

]]>
http://compsci.ca/blog/legal-status-update/feed/ 8
LanSchool threatens compsci.ca with legal actions http://compsci.ca/blog/lanschool-threatens-compscica-with-legal-actions/ http://compsci.ca/blog/lanschool-threatens-compscica-with-legal-actions/#comments Wed, 06 Aug 2008 03:49:10 +0000 Tony http://compsci.ca/blog/lanschool-threatens-compscica-with-legal-actions/ Dan, myself, and all of the Computer Science Canada community is being threatened with legal actions, courtesy of LanSchool -- a classroom management software, that monitors students' activity ("now available with USB Limiting and Keystroke Monitoring"). Related posts:
  1. Legal status update
]]>
The matter seems to have been resolved. See the followup post here.

It appears that Dan, myself, and all of the Computer Science Canada community is being threatened with legal actions, courtesy of LanSchool — a classroom management software, that monitors students’ activity (“now available with USB Limiting and Keystroke Monitoring”).


It seems the cause for concern is this 2 year old review of their software.

Please note that the author of the review and questioned software, Dan, is dyslexic, so excuse the spelling, where applicable.

This page detials a proof of conspect expolite of the lanschool program. CompSci.ca and Hacker Dan do not support, condone or recomend the use of it in real life (So don’t send us e-mails asking how to get it working or how to hack your schools network). Also since this expolit was found and lanschooled was created, lanschool has upgraded there software so it may no longer be expolitable from the attack desrcibled on this page.

The security flaw, revolving around insecure communication channels, has first been diligently reported to the software’s developer, along with suggestions for a fix. The response essentially stated that the security should be enforced at the school-student level, citing “suspension”. So after some time, the review (along with a proof-of-concept application) has been published online.

It seems that in the last two years LanSchool has released a new version of their software, claimed to have fixed the published security issue, but has now decided to threaten legal actions anyway.

Claims include:

  1. “unauthorized use of its trade-mark” — even though they have no registered trademark in Canada.
  2. “unauthorized use of its logo” — using their logo to refer to the company should fall under fair use.
  3. “In other postings you offer detailed advice about how to use “LanSchooled” to breach the security inherent in our client’s software.” — but earlier in the document they stated “you identified and made LanSchool aware of a potential security flaw in LanSchool version 6.5 (which does not exist in the current version 7.1).”
  4. “you describe our client’s software as a “trojan horse type program that is used by many school boards in Ontario to spy on their students as well as controlling one or all computers in a given lab … LanSchool has many flaws in its design, and thus many security holes….”" — this would amount to defamation only if the statement was untrue. Though considering that LanSchool is designed to allow remote access to the system, to monitor and log activity, I feel like that is an accurate description. Furthermore LanSchool’s #1 FAQ question is :

    My Anti-Virus software is reporting LanSchool as a virus, what should I do?

    Suggesting that the LanSchool software indeed acts in a manner similar enough to a malicious program, to trigger some Anti-Virus applications. The flaws in the design were demonstrated by the proof-of-concept application in question, and were true at the time of publication.

  5. “It is evident that you have intentionally set out on a course to harm our client’s software and business.” — absolutely not. The original review explicitly states that “This page detials a proof of conspect expolite of the lanschool program. CompSci.ca and Hacker Dan do not support, condone or recomend the use of it in real life”. Once again, the company has been made aware of the issue well before the publication.

The demands include:

  1. Removal of the critical review of their software.
  2. Destruction of author’s intellectual property, in the form of the proof-of-concept application.
  3. Not making use of any of LanSchool’s software in the future.

What I find interesting in this legal document, is that it asks:

We must caution you not to destroy any records, electronic or otherwise, including website records and logs, and copies of the software in your possession…

Directly contradicting with their demand to “destroy under oath all copies, whether in print or electronic, of your “LanSchooled” software”. I’m not sure what to think of this.

Since they were aware of the issue for quite some time, I’m not sure why it took them 2 years to address the review and discussion around it. I wonder if we are their only legal target, or if this will turn into a full-scale censorship sweep that would name larger companies such as Google, for hosting a YouTube video on disabling their software (or another, this time with an anti-virus.)

I believe it is within our right to publish critical reviews of software products, and so we plan on getting a lawyer to consult with, in order to defend the author, the community, and the right to critical review in Canada.

In the mean time you could leave us a comment with an advice, or let LanSchool know what you feel regarding this issue. PayPal donations towards our legal fees will be appreciated. In an event that LanSchool will not proceed with legal actions further, any unused donations will be donated to EFF.org — “the leading civil liberties group defending your rights in the digital world.”

The matter seems to have been resolved. See the followup post here.

Related posts:

  1. Legal status update

]]>
http://compsci.ca/blog/lanschool-threatens-compscica-with-legal-actions/feed/ 26
re: CompSci.ca Survey. http://compsci.ca/blog/re-compscica-survey/ http://compsci.ca/blog/re-compscica-survey/#comments Mon, 14 Jul 2008 03:08:41 +0000 Tony http://compsci.ca/blog/re-compscica-survey/
  • Take the CompSci.ca Survey, Win Prizes!
  • ]]>
    funny hat used for compsci’s raffle draw
    Photo by Dan Servos.
    Yes, the draw was pulled out of a funny hat.

    The results of the CompSci.ca survey are in, and the draw for the raffle has taken place. First of all I would like to thank everybody who took part, especially those of you who decided to leave additional feedback with suggestions for the community. The response has been phenomenal; Dan and I will be discussing the suggestions and how they will apply to the community.

    And now, the winners.

    1. compuwiz
    2. Sage_Aurora
    3. Cavetroll

    There were 225 responses; and it seems that we get a very nice bell curve distribution around the end-of-high-school / beginning-of-university education level. Though it spans from grade 7 to PhD. graduates. What I found interesting is that very few of the high school students have heard about the community from their teachers. Judging by some of the comments, and numbers, it seems like a lot of people who might benefit from our community are simply not aware that such resources exist.

    If anyone feels like emailing their current (or look up their old) Computer Science teacher, and advising students about resources that could supplement and help with their CS studies — consider that to be your public service announcement.

    The bulk (49%) have ended up joining us through their own efforts on search engines. Sometimes friends. My favourite anonymous entry was:

    I want to read whatever Greg Wilson is linking to

    Apparently having Greg write about you, is guaranteed to increase your subscriber count at least by one. Nice.

    Here is the official forum announcement. If you have missed the original survey, but want to share some of your stats and suggestions (because you are such a nice person) anyway, the survey will stay up for a while longer. Though the prize has already been claimed. Sorry.

    Related posts:

    1. Take the CompSci.ca Survey, Win Prizes!

    ]]>
    http://compsci.ca/blog/re-compscica-survey/feed/ 6
    Take the CompSci.ca Survey, Win Prizes! http://compsci.ca/blog/take-the-compscica-survey-win-prizes/ http://compsci.ca/blog/take-the-compscica-survey-win-prizes/#comments Fri, 20 Jun 2008 02:48:24 +0000 Tony http://compsci.ca/blog/take-the-compscica-survey-win-prizes/
  • re: CompSci.ca Survey.
  • ]]>
    Tony’s avatarDan’s avatar

    1. $25 gift certificate from amazon.com
    2. 1000 bits
    3. 500 bits

    What are bits? It’s user points, on the forums. You don’t need to be registered to participate, though a username is require to win (register now!).

    We are just trying to get a better sense of the community, and this anonymous and short survey would help us at that.

    The prize has been claimed, but if you feel like sharing your view anyway, the survey is still up. Just 11 questions, mostly MC. Win.

    Original announcement, and full rules, are found in forum news.

    Related posts:

    1. re: CompSci.ca Survey.

    ]]>
    http://compsci.ca/blog/take-the-compscica-survey-win-prizes/feed/ 2
    University of Waterloo Tour 2008 http://compsci.ca/blog/university-of-waterloo-tour-2008/ http://compsci.ca/blog/university-of-waterloo-tour-2008/#comments Fri, 14 Mar 2008 04:24:14 +0000 Tony http://compsci.ca/blog/university-of-waterloo-tour-2008/
  • University of Waterloo Tour + Wings 2007
  • it’s a Student Life
  • Getting into University of Waterloo
  • ]]>
    us standing around at DC during UW tour

    This year’s unofficial University of Waterloo tour coincided with UW’s own Open House event, and took place on Tuesday, March 11th. Which just happened to be on the same date as the last year’s tour. This was my 3rd year organizing and hosting such campus orientations, and it was the best yet.

    More people came out this year, though that also meant that it was harder to get a hold of everybody. It didn’t help that I was meeting most of the group, in person, for the first time. The planning stage was rushed, and I know that some people weren’t able to make it out due to conflicting plans. Sorry guys.

    A.J. playing speed-chess

    The theme for this year was “standing around in a circle”. We stood around in the Student Life Center, waiting for everybody to show up. We stood around in the DC Library waiting for late people to show up. And there was more standing around at various locations on campus, for a variety of reasons. Though we did manage to cover the Math/CS part of the campus, as well as a couple of residences. There was also a side-quest through the Robotics Club of Waterloo’s Engineering. There A.J. has managed to sneak in a game of speed-chess, for no apparent reason.

    Wings at Molly Blooms during Waterloo tour

    And as a tradition, now 3 years in the making, we finished with a round of wings at the Molly Blooms pub, on campus plaza. What I find the best about such tours, is that they are very social events, not scripted “sell this University to students” guides. Over food, the entire group discusses the tour, the impressions of campus, the quirks specific to this University, but also why we still stick around. It’s a good mix of prospective high school students with University undergrads that generate a compelling discussion.

    For combo points, everybody was also a compsci.ca member, so it was an excellent chance to meet and get to know the people in the community. Besides the Waterloo’s campus, we also got to discuss the Canadian Computing Competition, DWITE, obviously Computer Science and Programming, but also the structure of the Universe and the elective courses one can take to understand it all better.

    It’s been great fun. I’ll be putting together another University of Waterloo campus tour in March 2009, let me know if you are interested in joining us for some wings!

    Related posts:

    1. University of Waterloo Tour + Wings 2007
    2. it’s a Student Life
    3. Getting into University of Waterloo

    ]]>
    http://compsci.ca/blog/university-of-waterloo-tour-2008/feed/ 13
    Download Turing 4.1.1 http://compsci.ca/blog/download-turing-411/ http://compsci.ca/blog/download-turing-411/#comments Wed, 28 Nov 2007 09:13:21 +0000 Tony http://compsci.ca/blog/download-turing-411/
  • OpenT : A Free Alternative to Holtsoft’s Proprietary Turing IDE
  • Copyrighting a Programming Language (syntax and other Intellectual Property)
  • Plagiarizing code for computer programming assignments
  • ]]>
    Turing logo

    The Turing (winoot) programming language has gone freeware. Dr. Holt himself, of Holt Software, has let us know of that in an email:

    We have just posted a free copy of PC Turing on the company website http://www.holtsoft.com/

    We’ll investigate putting various books published by the company on the web for free as well.

    Holt Software’s Turing 4.1.1 IDE and compiler are available for download, “free of charge for personal, commercial, and educational use”, from their website. It is also mirrored here.

    There’s a mixed reaction in the community. While most welcome the free distribution of the latest version of Turing, the future of this programming language is now less certain. It is likely that the only future development will come through the OpenT initiative.

    It would be interesting to see if Ontario school boards will start looking for another commercialized introductory programming language, to replace the now obvious lack of official “support” for the Turing programming language. Though until that happens, the free availability of the compiler and additional resources can only benefit the students. Standardization of the language’s version number will also make peer support more universal.

    So get your free copy of Turing 4.1.1 and head over to the community forums.

    Related posts:

    1. OpenT : A Free Alternative to Holtsoft’s Proprietary Turing IDE
    2. Copyrighting a Programming Language (syntax and other Intellectual Property)
    3. Plagiarizing code for computer programming assignments

    ]]>
    http://compsci.ca/blog/download-turing-411/feed/ 26
    Catproofing your code. Also DWITE. http://compsci.ca/blog/catproofing-your-code-also-dwite/ http://compsci.ca/blog/catproofing-your-code-also-dwite/#comments Fri, 16 Nov 2007 09:21:49 +0000 Tony http://compsci.ca/blog/catproofing-your-code-also-dwite/
  • DWITE – Fifth Season
  • DWITE 2006 – now with Ruby
  • DWITE 2008-09 Contest Season
  • ]]>
    The round two of the DWITE programming contest was a success. Mr.S. himself approves:

    Excellent work with the new DWITE format. The website is easy to use and the contest questions are at level appropriate for high school students. Keep up the great work and looking forward to December DWITE.

    Mr.S.

    A record setting 113 high school teams have taken part in the programming contest this week. We’ve learned a lot from the previous round, so a lot of the issues were corrected. The most noticable improvement should have been that all of the submissions were marked and returned much faster. Dan has commented on some technical details:

    There seemed to be a lot less bugs in this version of the judge and things got marked a lot faster tho we did have some server lag when every one was refreshing the page over and over at the beginning. The biggest issue of this round was a cat that manged to jump on the keyboard of the computer running the judge and crashing it for a few minutes.

    That’s right, we forgot to catproof the code. Ops.

    DWITE lolcat

    Lesson learned. It should be an easy fix for the future. Right now we’ve got to figure out how to handle the load generated by 100 student teams constantly reloading the website in the first few minutes of the contest.

    For anyone interested, DWITE 2007 Round 2’s questions, test cases, and results are available online. CompSci.ca trivia fact: Dan’s cat’s name is Tigger.

    Related posts:

    1. DWITE – Fifth Season
    2. DWITE 2006 – now with Ruby
    3. DWITE 2008-09 Contest Season

    ]]>
    http://compsci.ca/blog/catproofing-your-code-also-dwite/feed/ 0
    it’s a Student Life http://compsci.ca/blog/its-a-student-life/ http://compsci.ca/blog/its-a-student-life/#comments Tue, 02 Oct 2007 05:15:37 +0000 Tony http://compsci.ca/blog/its-a-student-life/
  • Blogging along with Clayton Shier
  • University of Waterloo Tour + Wings 2007
  • Increasing interest in Computer Science: Programming is about manipulating data
  • ]]>
    student residence
    Student Life

    Questions about University or College, University ratings, and day to day student life discussion

    There’s a new addition to the Computer Science Canada forums – Student Life. It’s hard to talk about Computer Science without also talking about how and where it is taught.

    In fact, we’ve already been talking about this for years. I’ve collected the relevant topics into this new forum. Turns out there were over 1000 posts on the subjects of choosing a major, applying to Universities, and events of interest.

    One does not have to be interested in Computer Science to be a student. I think this will be a good source of information for anyone interested in their pursuit of education.

    Related posts:

    1. Blogging along with Clayton Shier
    2. University of Waterloo Tour + Wings 2007
    3. Increasing interest in Computer Science: Programming is about manipulating data

    ]]>
    http://compsci.ca/blog/its-a-student-life/feed/ 7
    The effective bandwidth of a speeding Toyota Matrix http://compsci.ca/blog/the-effective-bandwidth-of-a-speeding-toyota-matrix/ http://compsci.ca/blog/the-effective-bandwidth-of-a-speeding-toyota-matrix/#comments Thu, 12 Jul 2007 02:45:35 +0000 Tony http://compsci.ca/blog/the-effective-bandwidth-of-a-speeding-toyota-matrix/ Map from Waterloo to Thunder Bay

    CompSci.ca is moving onto a dedicated server. This means that this blog, forums, and other projects will run blazingly fast as soon as they move out of the crowded shared host. This also means that we need to start thinking about our own off-site backup system. That happens to be located in Dan’s basement, Thunder Bay, Ontario.

    Trying to keep ourselves “could-get-hit-by-a-bus proof” has brought up a discussion of an unlikely scenario of Dan going to our data centre for a tour, and a bus running into a building, simultaneously taking out both our server and the unfortunate system administrator who keeps all the backup data. Ouch. Fortunately I will remain intact, yet frustrated about /blog’s downtime. Waterloo, Ontario.

    University to University, Google says there are 1,476 kilometers of road in between us, suggesting a 16 hour drive. Assuming speed limit, caffeine pills, and having the 500 GB external hard drive be full of useful data (lets say backup files and personal media), it was interesting to figure out the effective bandwidth of such a road-trip. The math is disappointingly easy.

    Given information:

    • 16 hour drive * 2 way trip = 32 hours on the road
    • 500 GB of data to loot
    500 GB / 32 hours = 4,551 kilobytes per second

    My broadband Internet peaks out at about 4,500 kilobits per second, making this ridiculous road-trip have an effective bandwidth 8 times higher than what my DSL modem could possibly pull in. Outrageous! I demand to have fiberoptics installed.

    No related posts.

    ]]>
    http://compsci.ca/blog/the-effective-bandwidth-of-a-speeding-toyota-matrix/feed/ 8