Viognier’s big comeback – July 23rd

Posted by Andrés on July 20, 2010

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.

Here are most of the photos taken from the Viognier episode of GPDWATTE. Sorry, no soft nudes:
http://www.rebeccabaran.com/TWG_July2010/

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

JSONimal – Elegant DOM construction with jQuery

Posted by jamie on July 16, 2010

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

Rails Web Developer Quiz

Posted by Dominic on July 13, 2010

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:

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
class Monkey &lt;&lt; ActiveRecord::Base
has_many :bananas, :order =&gt; '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 =&gt; 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

R or RoR:
—-

1. Ruby:
Given:
a = ‘foo’
b = nil

first = a && b
second = a and b
Are first and second equal?
No. first one equals nil, second equals foo

2. Ruby:
True or false: 1/2 == 0.5
false 1/2 is int, .5 is float
1/2 is equal to zero because it is an int divided by an int, they don’t have the precision to give the correct answer

3. Ruby:
If (’1′..’10′).to_a returns :

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

what does (’2′..’10′).to_a return?

answer: empty array because ’10′ precedes ’2′

It’s ordering by string representation, not integer

4. Rails:

class Monkey << ActiveRecord::Base has_many :bananas, :order => ‘size ASC’

named_scope :starting_from_massive, :order => ‘size DESC’
end

What is the SQL for

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

Answer:
1: select * from monkeys order size ASC
2. select * from monkeys order size ASC, size DESC
3. select * from monkeys order size ASC

5. What does the H in DHH stand for? Spell it?
Hein

—-
4. XHTML:
The DOCTYPE declaration has no closing tag
False

5. All XHTML tags and attributes must be in lower case
true

6. There is a way of describing XML data, how?
Document Type Definition

7. What does DTD stand for?
Document Type Definition

Javascript:
—-
8. What is the purpose of the the swf object javascript library?
To work around the judgement against Microsoft regarding the Eolas patent defining “Embedded Objects Linked Across Systems”.

Ajax:
A little bit tougher now: AJAX functionality is achieved by using what object?
XMLHttpRequest

CSS:
—-
1.
Should you clear floats?
yes

2.
How do you properly clear floats?
overflow: hidden;
_height: 1%;

3.
How do you write ie specific css?
_element are for ie6
*element are for ie7

Bonus: what is the problem with this?

Multiple Choice

Which of the following is not a form helper method?

text_field_tag
text_input_tag
text_area_tag
hidden_field_tag

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

PUT
UPDATE
POST
PUSH

Which of the following is not a core Rails package?

ActionMailer
ActionController
ActiveRecord
ActiveResource

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

to_a
to_i
taint
hash

Which of the following is not a valid render option?

:update
:partial
:string
:file

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

before_filter
clear_filter
after_filter
around_filter

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

before_create
before_validation_on_create
after_destroy
before_validation_on_destroy

Simple Answers

This is the “H” in “DHH”.

What is Heinemeier?
(Spelling can count)

XML is to XHTML as this is to HTML.

What is SGML?

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

What is String?
or
What are Strings?

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

What is “I’m a teapot”?
// ]]>