Call us at (416) 850-2500 - Visit us at 639 Queen St. W, Suite 502, Toronto, Ontario M5V 2B7
  Posted by Andrés on July 20th, 2010

Viognier’s big comeback – July 23rd

good people drinking wine and  talking to each other

This Friday July 23rd TWG will host our third installment of ‘good people drinking wine and talking to each other’. This event has quickly become a beloved tradition around the office. It’s our chance to gather a group of good people – friends, colleagues, and super interesting bon-vivants – to drink and learn about a great wine, eat some delicious things, and enjoy three short, yet spell-binding, presentations.

THIS FRIDAY’S PRESENTERS:

Dominic Bortolussi: Will recount the exhilarating tale of a white grape that was driven to near extinction from abuse and neglect. Viognier, a perfumed, and delicious white wine from the south of France is my summertime guzzler.. maybe you’ll like it too. Why not find out.

Shamez Amlani (La Palette, Kensington Sundays): Topic: Social engagement. Shamez stirs a lot of pots these days, between running La Palette to helping organize Kensington Pedestrian Sundays. Shamez will regale us with real-life stories from the trenches and remind us why it’s important to stay connected to community.

Mike Schaus (stichmedia.ca): Mike will present a synopsis and razor sharp analysis of the recent Old Spice commercial and online campaign. He’s pretty sure that online branding just jumped the shark with this one, and he wants to argue loudly with anyone who disagrees.

Pete Forde (dataliteracy.org): Pete believes that Open Data isn’t just for geeks and economists anymore, and that Data Literacy for all would change the world. He’s writing a future Oprah’s Book Club title about how to get rich, expose corruption and win the Order of Canada using just Excel, some rope and a stick of gum.

Rebecca Baran (rebeccabaran.com): Who takes great photos of great people, in natural light, and who has recently launched her own website, will (very likely) be here at the studio, taking photo portraits of the fully clothed or soft nudes.

Interested in attending future events? Sign-up at: twg.ca/wine

  Posted by jamie on July 16th, 2010

JSONimal – Elegant DOM construction with jQuery

As part of my co-op term here at TWG, I’ve had the opportunity to try out new technology, approach interesting technical problems, and develop useful bits of code outside of client work. JSONimal was created on one of my ‘lab days’ focused on innovation and experimentation.

The purpose of JSONimal is to take the pain out of constructing HTML using Javascript.

What’s it do? This example should demonstrate my goal fairly well.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
$(function() {
    $.mktag("#demo").jsonimal([
        ["h1", {text: "JSONimal!"}],
        ["table",{style: 'border: 1px solid black'},[
            ["thead",[
                ["tr",{style: 'text-transform: uppercase'},[
                    ["th", {text: "one"}],
                    ["th", {text: "two"}],
                    ["th", {text: "three"}]
                ]]
            ]],
            ["tbody", [
                ["tr",[
                    ["td", {html: "<u>a</u>"}],
                    ["td", {text: "b"}],
                    ["td", {text: "c"}]
                ]],
                ["tr",[
                    ["td",[
                        ["a", {href: "http://www.google.ca", text: "Google"}]
                    ]],
                    ["td", {text: "b"}],
                    ["td", {text: "c"}]
                ]],
                ["tr",[
                    ["td", {text: "a"}],
                    ["td", {text: "b"}],
                    ["td", {text: "c"}]
                ]]
            ]]
        ]]
    ]).appendTo("body");
});

Which will add this to the body:

JSONimal!

one two three
a b c
Google b c
a b c

For more information and examples, check out the github page: JSONimal @ github.

I also posted it as on the jQuery plugins page – but that just points to the github page anyway. JSONimal @ plugins.jquery.com

  Posted by Dominic on July 13th, 2010

Rails Web Developer Quiz

Here’s a quiz we ran last year, at Employment.nil, Toronto first Ruby job fair.

See if you can get them all, I’ll post the answers in a couple weeks, and if you have your own favorite trick questions, post them here.

Javascript

1. An external JavaScript must contain the <script> tag, true or false?

2. What is the purpose of the the SWFObject javascript library?

Ruby

3. Given:

1
2
3
4
5
a = 'foo'
b = nil

first = a && b
second = a and b

Are first and second equal?

4. True or false?

1
1/2 == 0.5

5. If ('1'..'10').to_a returns:

["1", "2", "3", "4", ..... "10"]

What does ('2'..'10').to_a return?

Rails

6. Given the following class:

1
2
3
4
5
class Monkey << ActiveRecord::Base
has_many :bananas, :order => 'size ASC'

named_scope :starting_from_massive, :order => 'size DESC'
end

What SQL is generated for the following queries:

1
2
3
@monkey.bananas
@monkey.bananas.starting_from_massive
@monkey.bananas.all(:order => nil)

XHTML:

7. The DOCTYPE declaration has no closing tag, true or false?

8. All XHTML tags and attributes must be in lower case, true or false?

9. There is a way of describing XML data, how?

10. What does DTD stand for?

AJAX:

11. AJAX functionality is achieved by using what object?

CSS:

12. Should you clear floats?

13. How do you properly clear floats?

14. How do you write IE specific css?
Bonus: what is the problem with this?

Everything – Multiple Choice

15. Rails: Which of the following is not a form helper method?

a. text_field_tag
b. text_input_tag
c. text_area_tag
d. hidden_field_tag

16. What’s the default REST HTTP action verb for updating an existing record?

a. PUT
b. UPDATE
c. POST
d. PUSH

17. Which of the following is not a core Rails package?

a. ActionMailer
b. ActionController
c. ActiveRecord
d. ActiveResource

18. Which of the following is not an instance method of Object?

a. to_a
b. to_i
c. taint
d. hash

19. Which of the following is not a valid render option?

a. :update
b. :partial
c. :string
d. :file

20. Which of the following is not a valid ActionController filter declaration?

a. before_filter
b. clear_filter
c. after_filter
d. around_filter

21. Which of the following is not a valid ActiveRecord callback type?

a. before_create
b. before_validation_on_create
c. after_destroy
d. before_validation_on_destroy

22. XML is to XHTML as this is to HTML.

23. The keys of a model’s attributes are stored using this data type.

24. This is the RFC 2324 definition for HTTP status code 418.

24. Bonus: what does this do???

1
data.gsub(/[^\d]/, '').split('').reverse.enum_with_index.collect{|x, i|  (i%2!=0)? (x.to_i*2).to_s.split('').inject(0){|sum, i| sum + i.to_i} :  x.to_i}.inject(0){|sum, i| sum + i}%10 != 0