Hacking LanSchool

From Greg Wilson. Hopefully, someone like Rob or Michael (or one of Michael’s students) will step in and provide these kids some pro bono legal advice for dealing with a company looking to manage their online profile. LanSchool has requested that the Tony Targonski and Dan Servos remove the details of an exploit to an old version of their software be removed from the CompSci.ca wiki.

I suspect that someone from LanSchool’s marketing and public relations team is tired of seeing the YouTube post showing up so high for a product that they no longer sell, and for an issue that has been fixed in the next version of their product. The YouTube video showing how to disable the monitoring program, is number 3 in my search for LanSchool. And the compsci.ca forums and wiki are in the top 5 when searching for “lanschool hacks”. (Funny how the compsci.ca don’t even show up in Live.com search).


It is amazing how close the LanSchool software is to the classroom monitoring tools described in Little Brother. It should come as no surprise that I’m for the publication of these exploits, just read my call to action against Bill C-61 as a result of reading Little Brother. Dan has used his programming skills and his brain to learn about how not to program networked computers. By publishing his understanding and knowledge he has shared a bad software design with the intent that others can learn and not make the same mistake. Good work Dan!

I’m sure from a traditional PR perspective this is a challenging situation. You have a product that has been updated to fix this bug among others while adding new features. The “community”, and this is a really funny term, has published a negative review and an exploit that shows vulnerabilities in your software platform. Perhaps the LanSchool marketing folks think that their software is unlike the rest of the world and has no bugs. Perhaps, they think it might be harder for kids to subvert their system if the exploit isn’t in the wild. It is an interesting PR case study, and unlike the Dell Hell experience and changes including IdeaStorm, I think this will just be another example of a large company doing bad PR.

Hopefully our courts will find similar to Dutch courts:

“But the court ruled that the university’s right to publish was part of freedom of speech and that the publication of scientific research on the chip’s faults could help to take appropriate countermeasures.” – InformationWeek July 18, 2008

The publishing of software exploits is a question of freedom of speech.

"Damage to NXP is not the result of the publication of the article but of the production and sale of a chip that appears to have shortcomings" – InformationWeek July 18, 2008

Hopefully we can keep kids like Dan and Tony doing intellectually stimulating things with technology. 

Canwest – Front-End Web Developer

Toronto, ON

Canwest is Canada’s leading multi-media company. Representing a portfolio of world-class brands, the company creates and distributes some of the most compelling and dynamic content across multiple media platforms. Canwest Broadcasting is looking for an experienced, hands-on Front-end Web Developer, located in Toronto. Reporting to the Director, Creative & Production, the Front-end Web Developer will be responsible for building out the front-end experience of various web/interactive projects.  The successful candidate will work with a team of web production experts in the creation of compelling web and multi-platform experiences.


  • work collaboratively with the Web Production Team to conceptualize, develop and execute engaging interactive experiences
  • work collaboratively with project teams to meet business goals
  • contribute to concept development, brainstorming and site documentation
  • development of standards compliant code – html, xhtml, css, javascript, etc.
  • function as front-end development lead on medium and large-scale projects
  • evaluate and debug code to ensure cross browser compatibility and accessibility
  • production for ongoing site maintenance and content updates
  • develop, maintain and adhere to site standards and content templates
  • deliver creative development solutions within existing constraints and limitations
  • accountable for accuracy, project deadlines, and contributing to project completion
  • convey expert knowledge of current web trends, user experience and the project process
  • support and exhibit departmental core values; positive, flexible, enthusiastic and professional
  • demonstrate effective time management, initiation and follow through skills
  • willingness to learn and seek out opportunities
  • other duties as assigned


  • related post secondary education or commensurate experience
  • 5+ years of relevant experience in a busy, demanding studio environment
  • 5+ years professional HTML development, including advanced XHTML, CSS, Javascript, etc.
  • 2+ yrs of experience working in and around backend scripting languages – .ASP, .NET, SQL
  • experience with Enterprise level content management systems an asset
  • proficiency using industry standard tools including; Visual Studio, Photoshop, Illustrator, ImageReady and Adobe Acrobat
  • experience with streaming media technologies – Flash, Windows Media, QuickTime
  • intermediate level Flash experience including Actionscript
  • proven ability to identify, evaluate and develop new ideas with supportable results
  • ability to articulate creative ideas and proven aptitude for quick creative thinking
  • solid analytical thinking – a disciplined and knowledge based approach to decision making
  • ability to anticipate consumer needs and leverage this through all initiatives
  • highly organized and accountable self starter who is able to juggle multiple priorities
  • very strong attention to detail
  • exceptional communication and interpersonal skills – experience communicating technical details to non-technical team members
  • outstanding time management, initiation and follow through skills
  • willingness to learn and seek out opportunities

Please note this is not a web designer position. It is a technical role that involves extensive custom web development and coding.

Apply at www.getacooljob.com

From Sketch to Prototype

sketchinguserexperiences“If sketching is about asking questions, prototyping is about suggesting answers. Sketching takes place at the beginning of the development process, prototyping only later.” – Jessie Scanlon reviewing Buxton’s Sketching User Experiences in Business Week

As a designer I find that the most productive parts of a project are the exploration phase, the very early part where your are researching, sketching, exploring ideas and concepts trying to formulate an approach. It has always been really easy to grab my notebook and pen and begin drawing sketches of user experiences or find a whiteboard where you can sketch and erase and snap a picture when you’re done. Showing the initial designs to people, gathering feedback and making annotations. It has always been much more difficult and time consuming to build wireframes, screen flows, conceptual models, etc. There is a certain envy to being able to do low fidelity prototypes with a level of basic interactivity (if only because a number of past clients were not co-located and scanning sketches and providing written context was never enough, however, it might be a lot easier to share and annotate these days using ConceptShare, Octopz, Cozimo or DimDim).

denim_storyboard It was tools like DENIM that first showed the power of sketching for web design. It provided a set of tools for creating sketches and adding interactivity to initial designs. DENIM allows users to create site maps, page flows, interaction scenarios and page designs using sketches. It works best with a tablet PC or a Wacom tablet. It works very similar to a paper notebook and can export the pages and links to HTML upon completion. The biggest challenge was that the integration with other tools was not significantly better than paper and pencil.

Today I found Balsamiq Mockups, a tool for creating mockups and designs using predefined sketched controls. No need to move to your tablet machine. No need to connect the Wacom. Just fire up Balsamiq and start laying out user interfaces. While sketched design templates are available for Graffle and Visio (check out Garrett Dimon’s Templates & Stencils; or Graffletopia; or YUI Stencil Kit). Balsamiq Mockups also makes it easy to integrate into a development workflow by allowing designers to export and integrate their designs into Confluence, Jira and TWiki.


I also discovered the Pencil Project. The Pencil Project is an open source tool aimed at diagramming and UI prototyping. It’s less of a tool for sketching and more of a replacement for Photoshop, Illustrator, Visio and Graffle that we’ve all become accustomed to using for creating higher fidelity interface mockups. The Pencil Project is available as a Firefox addon or as a standalone application using XULRunner. Pencil Project includes stencils for GTK controls, XP controls. It’s a great alternative to the existing tools.

Designers are starting to see fantastic new tools like Blend and Thermo and Axure. And there continues to be an evolution of mashup tools like DreamFactory, and javascript frameworks like SproutCore, that make it easier for designers and developers to build next generation web applications. I am curious to see the next generation of design tools for cloud based services (Apatar, Popfly, Pipes, Sprout, etc.). 

Sketching User Experiences: Getting the Design Right and the Right Design (Interactive Technologies)
by Bill Buxton

Read more about this book…

Uptime Software – Software Developer

Toronto, ON

Job Description and Duties

As part of the development team, you will be responsible for the development
and maintenance of our software products, which are written in Java and PHP and
integrate with many operating systems and databases. The position involves
close interaction with other developers and the QA team. A strong development
background is required.

Main Duties

  • Development and maintenance of our software products.
  • Write and maintain automated JUnit tests using Test Driven Development.
  • Participate in daily team meetings and weekly delivery schedules.
  • Support other team members in their work, including pair programming.
  • Test the performance of code against large data sets.
  • Reproduce and fix bugs escalated from the Support department.

Required Skills

  • Expert in Java (5+), PHP (5.2+) and Oracle (10g+).
  • Fluency in Unix command line (Linux or Solaris).
  • Familiarity with mysql 5.
  • Excellent verbal communication skills in English.
  • Desirable Skills
  • Strong Windows programming experience (C# or Visual C++).
  • SQL Server experience.
  • Javascript / AJAX experience.
  • Agile development experience

Background Requirements

  • Bachelor’s degree or above.
  • 5+ years in a development role.
  • 3+ years with PHP, Java and Oracle as a primary focus.
  • Knowledge of the systems management industry is an advantage.


Apply for this job online at http://www.uptimesoftware.com/careers.php?jobId=11

About Us

uptime software inc. is headquartered in Toronto, Ontario, has corporate clients
around the globe in more than 30 countries and is a leading innovator in performance
management technology. Our flagship product up.time provides organizations
with continuous server performance, availability monitoring, historical analysis,
reporting capabilities, help with problem isolation, capacity planning and
server consolidation. Uptime software helps organizations reduce system management
costs by having the organization take control of its IT infrastructure and
make more efficient use of server and personnel resources. To learn more about
uptime software and our successes please visit: www.uptimesoftware.com .

Teehan+Lax – Senior Front-End Web Developer

Toronto, ON

Teehan+Lax Inc. is currently seeking a motivated, hands-on web developer to help our front-end development group on a 3 month contract, with possible extension. Developers are involved throughout our process and are encouraged to work through ideas and solutions with the entire design team.

Required experience

  • 5+ years development experience
  • Expert hands-on knowledge of XHTML,CSS, Javascript, AJAX, XML
  • Experience translating comps and wireframes into flexible and usable code templates
  • Knowledge of developing cross platform/browser compatibility for dynamic web applications
  • Adherence to web standards and object oriented programming
  • Experience with source/version control software is a plus
  • Self-motivated, and able to multi-task
  • Build a technology practice to support the work being done in both the programs and platforms sides of the business.
  • Work with T+L processes and methodologies that deliver quality work
  • Work with clients and third party technology groups to deliver great work
  • Work with Dev team internally to create and deliver great work


  • Experience with Flash
  • Experience with Javascript frameworks
  • Experience with server technologies bonus (PHP, MySQL)

What’s different about working at Teehan+Lax

We focus exclusively on front end user experience design for the digital channel. There are no technical build teams, no offline divisions. Everyone you’ll be working with desires to create best in breed online user experiences. In fact, 90% of the staff here hold creative positions. That means no Account Managers, no Managing Directors, no Business Analysts. We maintain very little hierarchy. There are two roles at Teehan+Lax: Partners and Associates. The people with the right skills are put on the right projects. We’re small and nimble. There are no pitch teams, no “B” teams. All of our staff work directly with our clients, so if a client has a question that relates to IA they’ll speak to the Associate or Partner who worked on it – not an
account manager.

How to apply

If you’re talented, smart, hard-working and dedicated, we’ll enable you to do the best work of your career.

Send us a resume and portfolio of your work to “jobs [at] teehanlax [dot] com”. Suitable candidates will be contacted promptly.

Avid Life Media – Rubyist

Toronto, ON

Avid Life Media is looking for great senior developers in Toronto that are interested in working full time with Ruby and Merb. We are a small team in Toronto that is extremely well funded and profitable. Our sites, in aggregate, serve over a billion page views a month!

What we are looking for

  • Extensive experience with web development and an excellent understanding of web technologies and databases.
  • Ruby experience
  • MySQL or Postgres experience.
  • Unix experience
  • Basic knowledge of Front end development (XHTML/CSS/JS)
  • Familiar with OOP principles

Nice things to have

  • Merb experience
  • Rails experience
  • Jquery/Prototype or other JS framework experience
  • Agile/Scrum dev experience
  • Familiarity with BDD/TDD (rspec rocks)

What we offer

  • A good environment for learning new technologies. We like to try new things here! All of us contribute to open source projects. We recently switched to Git from SVN and we think it is awesome 🙂
  • Opportunity to build a new property in merb from the ground up.
  • The ability to make a large difference in what our company does.
  • Build highly engaging properties with tens of thousands of concurrent users
  • Competitive salary and full benefits
  • A sweet computer with huge external screen (Most of use macbook pro’s with 24" external screens)


For me details contact me via email raja [at] avidlifemedia (dot) com.

E-axis.com Inc. – Flash Developer

Markham, ON

Located in Markham, we are an established interactive design and communications firm specializing in corporate communications, interactive marketing campaigns, and developing new tools and information management systems for the digital world. Our expertise includes award-winning web, Flash and on line game design, creative content development, copywriting, CD ROM and DVD media presentations, web application development, software design and streaming media solutions.

Great ideas come from talented people working in a fantastic environment. Our team consists of adept and enthusiastic professionals including creative Designers, Programmers and Strategists working in an environment that fosters and encourages creativity at it is fullest. In this environment the importance of expertise, passion and experience remains constant. We have worked hard to create this environment. we are proud of that.

We are seeking a full time developer to join our team. Experience is an asset but if you have the skills and recently finished from school we would still like to hear from you.

Main responsibilities include Flash programming and production.

Required Skills

  • Your strong organizational and time management Skills enable you to manage a varied array of time sensitive projects.
  • You have solid communication skills and are fluent in English as you will be required to communicate with clients directly on occasion
  • You are experienced in Action Script 2 and or 3 + OOP programming.
  • Previous online Flash game development considered an asset.
  • You have strong creative toolset knowledge (i.e. Adobe Photoshop, Illustrator, etc.)
    3D, PHP knowledge is considered a definite plus, but not a requirement


  • Compensation commensurate with experience and ability.

Please send a resume, including Salary Expectations and your portfolio and or sites and projects you have worked on, only qualified applicants will be contacted.


Send resumes to: george at e-axis dot com

Level Platforms – UI Developer

Full-Time Position – Ottawa, ON

Level Platforms Inc. (LPI) seeks an experienced and hands-on full time UI  Developer. You will architect web pages and code these pages as HTML/XHTML/CSS templates and associated Javascript/ AJAX. You will perform analysis, design, documentation, implementation and unit testing as part of the software development lifecycle. You will provide on-going support and enhancements. You will be a part of the UI development team working with new Web 2.0 technologies as well as enterprise-class ASP.net.

Key Accountabilities

  • Responsible for the full life-cycle development of the front end from a technical perspective from requirements phase through the QA phase.
  • Responsible for the technical design, coding and unit testing of GUI related features and functionality.
  • Required to create design specifications for all feature implementations as well as document code.
  • A tireless advocate for the user: both in terms of valued functionality, and usability.

Skills, Abilities and Qualifications

  • College/University degree or equivalent experience.
  • 5+ years of professional development experience
  • Expert hands-on knowledge of HTML, XHTML, CSS, Javascript, AJAX, XML
  • Experience developing Web 2.0/AJAX based applications
  • Experience in ASP.Net & C#
  • Familiarity with relational databases and SQL
  • Experience translating wireframes / UI sketches into flexible and usable code templates
  • Adherence to web standards
  • Knowledge of developing cross platform/browser compatibility for dynamic web applications
  • Graphic and layout sensibility
  • Ability to manage and coordinate work flow and handle multiple assignments
  • Have a passion for usability
  • Excellent problem solving/debugging skills
  • Team player and work well in a team environment
  • Strong communication skills both written and oral

To Apply

If you have what it takes to be successful in this position, please send your CV’s (Word or PDF) to hr@levelplatforms.com.

The Platform is the Core


Live Mesh was launched yesterday at Web2Expo in San Francisco.

Our design goals for Live Mesh are to have…

  • …your devices work together
  • …your data and applications available from anywhere
  • …the people you need to connect with just a few clicks away for sharing and collaborating
  • … the information you need to stay up-to-date and always be available

I’m really excited about Live Mesh as a platform. It really is one of the first services above the level of a single device. The integration of experiences across devices is really interesting and important. I started to realize the power of creating a device mesh when I switched from my Blackberry to a Windows Mobile device and Microsoft Exchange. I am able to access my email service using my Palm 750, my Mac Book Pro running Entourage, my new Dell m1330 or my old Thinkpad x60 running Outlook, or when I’m connected over the web running Outlook Web Access. The devices are really irrelevant to me, what is most important is my data. My contacts. My calendar. My email.

Live Mesh is an early platform that allows the abstraction of data and data synchronization with applications, the web, and the cloud. It is a platform for developers to begin building the next generation of applications for the web, devices, rich clients, gaming platforms, media devices, etc.

  • Services Are the Core of the Platform – the Live Mesh platform exposes a number of core services including some Live Services that can all be accessed using the Live Mesh API; these include Storage (online and offline), Membership, Sync, Peer-to-Peer Communication and Newsfeed.
  • Same API on Clients and in the Cloud – the programming model is the same for the cloud and all connected devices, which means a Live Mesh application works exactly the same regardless of whether it’s running in the cloud, in a browser, on a desktop, or on a mobile device.
  • Open, Extendable Data Model – a basic data model is provided for the most common tasks needed for a Live Mesh application; developers can also customize and extend the data model in any fashion that is needed for a specific application.
  • Flexible Application Model – developers can choose what application developer model best fits their needs. .

Mike Zintel, from the Live Mesh team, describes the locus of control is with end users. People are given a platform where they have the control over the devices, the communication, the storage and the membership to the network.

The mesh is the foundation for a model where customers will ultimately license applications to their mesh, as opposed to an instantiation of Windows, Mac or a mobile account or a web site.  Such applications will be seamlessly installed and run from their mesh and application settings persisted across their mesh. The device ring inside of the Live Desktop is a simple visualization of the mesh, and provides a view of all devices and current device availability. The Live Mesh platform provides the ability for applications to connect to any other device, regardless of network topology (network transparency), within the mesh. This infrastructure enables the Live Mesh Remote Desktop experience today.

It is a great way to start to build above the level of a single device. Being able to abstract devices, membership lists, connections between devices, and then an underlying pub/sub infrastructure for awareness and sync is a very empowering framework. I can’t wait to start enabling more of my personal data between my devices (namely music, videos and photos shared between my laptops and music players, and if I’m lucky my TiVO because I can already share from my Mac to my XBox360 via Rivet or Connect360). Ewan Spence covers the hackable power of the underlying “RSS and XML derived data exchange”. This looks like a really good first direction for a Software+Services platform that enables developers beyond the context of a single device.

As Live Mesh is a limited Technology Preview, but it is a great start to building cloud connected applications.

For more information, go to LiveMesh.com. For more Live Mesh coverage:

FreshBooks – Agile Web Development Manager

FreshBooks is a company that really believes in great customer service. We want our product to reflect that by shipping frequently, staying bug-free, and building exactly what our customers want and need.

The magic of web development is that you can do a lot with a few dedicated developers and designers. Do you really know how to do more with less? Have you been in the trenches? Have you learned first hand how to invest in your development team to keep delivering the highest quality code? Are you a proven manager who has led a team of web developers and is looking to step into an important leadership role here at FreshBooks?

You will:

Be a leader and manager of our product and our development team. You will work together with other business groups to drive product enhancements and new products to help grow the FreshBooks service and online community. You will be unafraid to ask the tough questions of both other managers as well as product developers. You know how to get the most out of people and have a keen sense of “what counts” when it comes to product and business decisions.

We need you to have:

  • Real-life experience developing web applications in the trenches
  • A strong desire to build a development team and optimize their performance
  • Technology, product, and market vision.
  • Zeal for agile development
  • Experience listening to users, translating their needs to the business owners, and helping the developers build the right thing.
  • A developer’s heart
  • An ability to teach, mentor, coach other people in the Tao of Development

How to apply

If you are a proven web development manager who is ready to lead the FreshBooks product into the future, and you’d like to work with a great team in our bright Toronto office, get your resume and cover letter in to us at careers@freshbooks.com today!