change mode: short full normal
last updated on 03 Sept 2010 at 10:36 am PST
(another post that should be in Portuguese. Sorry about that)
Here are the slides I made for the presentation I was asked to give at ISEL Tech 2010 last tuesday.
If you're wondering why there's very little reference to browser support, it's because the support now will make little difference on the big scheme of things. Things are evolving so rapidly, with more and more features being supported in the modern browsers at each release (you know, Firefox, Safari and Opera).
Any questions or remarks, leave 'em in the comments, please. They're very welcomed.
(in portuguese)
Check out the slides on slideshare. or if you prefer Download the pdf (28MB).
It's no secret I'm keeping an eye out for all developments on the HTML5 front, for a good while now. Thus, it was with humility and appreciation that I accepted the invitation to talk at ISEL Tech '10 on that very same topic, HTML5.
The session—entitled HTML5 so far—will cover why we need a new language in the first place, what the spec entails and when can we start using parts of the spec. It's scheduled for next tuesday, May 25th at 5pm. It's going to be in Portuguese, which makes me feel odd writing this in English! note to self: you need a new blog in Portuguese!.
So, if you have any doubts, questions or simply pure skepticism about HTML5... drop by! We'll have a nice chat and feel free to put me on the spot with tough questions. ;)
Download to your Calendar, visit the Facebook page of the event or check the schedule.
Now I think I should get back to Keynote.app! ;)
See you there!
And here we are.
2009 is slowly crawling to its ultimate demise.
SAPO Codebits has, once again, rocked the geek calendar.
Christmas and the new year are just around the corner...
So what better time than now to launch a new project? ;)
Yes, that's right. During 2009, I was invited to join susy to help her with the challenge of making the dream of iGIVE come to life.
She presented her idea back in SAPO Codebits 2008 even though an idea was all she had at the time. Billy jumped aboard initially but then had a child, so priorities changed a bit for him. She asked me if I was available and the idea quickly won me over.
Thus, over the course of 2009 iGIVE become more than just an idea. With the support of SAPO, it became a tangible project!
Well, if you have something cluttering your home, it's probably because you don't need it. But someone might.
That's the goal of iGIVE. It enables people to say what they have to give and what they are looking for. This way, you can find someone who will find a better use for your ___________ (fill in blank) other than collecting dust!
The website is entirely in Portuguese and geographically focused in Portugal. Here, have a looksie!
check out my profile or see a bigger screenshot
We have great plans for the website and the community. We really want to make a difference and help people help other people. :)
If you have any feedback, do send it our way. You can use the GetSatisfaction page we setup or e-mail me directly.
On the backend, it uses the typical Linux, Apache, PHP, MySQL combination. Memcached for cache and a homegrown CMS.
On the frontend, the HTML5 doctype (nothing fancy though), CSS (including CSS3 smartass-eries) and not an ounce of javascript. For now. ;)
The design was entirely Susana's work. Kudos to her! I merely helped with the rest.
Am particularly proud of the progressively-enhanced <button>s.
Even though we're not completely dedicated to the website (we still have day jobs), we are wholeheartedly committed to the project and will are already enhancing the website and contacting people that can help us prove that the web and computers can actually bring us closer to each other.
Hope to have your help along the way.
Last week, a guy from work who can afford to only support webkit browsers—hey Luis, I'm looking at you!—, had hit kind of a brick wall and was asking for help on the company design mailing list... my spidey sense kicked in. I hope this doesn't sound too cocky, but I love the smell of a challenge in the morning.
He wanted to have the <li>s from an <ul> to occupy the entire width regardless of how many they were. If there was only one list item, it would have a width of 100%. Two would have 50% each and three of them, 33.33%.
Also, he wanted to accomplish this using CSS only, without having to figure out the number either using javascript or a server-side language and apply a class accordingly (a natural and understandable cop-out if you have to support all browsers). But this is 2009 and he was looking at webkit. There has to be a way
, I thought.
So after scratching my head for a bit, I put together a test page and started throwing selectors together and attempting to figure it out.
With the pseudo-class :nth-child you can easily select elements based on their position in the list of children. This allows you to select one element at a time.
But you need an extra something to take into account how many siblings it has. That was the whole point.
In comes :nth-last-child. The difference between the two is that nth-child applies to the nth child counting from the top (ie, the child that has n-1 elements before it) while the nth-last-child applies to the nth child counting from the bottom (ie, the child that has n-1 elements after it!).
That said, we could use both of this pseudo-classes together to create sets of rules that would only apply when there are one, two or three items in the list!
Here's the code.
/* one item */
li:nth-child(1):nth-last-child(1) {
width: 100%;
}
/* two items */
li:nth-child(1):nth-last-child(2),
li:nth-child(2):nth-last-child(1) {
width: 50%;
}
/* three items */
li:nth-child(1):nth-last-child(3),
li:nth-child(2):nth-last-child(2),
li:nth-child(3):nth-last-child(1) {
width: 33.3333%;
}I wish I could find one rule that would automatically figure out the width regardless of the number, instead of enumerating them all. Or even find an expression of the type an+b that would collapse all those selectors into one... But for now, this'll do.
You can test it if you have either Safari or Firefox 3.5 (beta) on this demo page.
What made CSS2 so successful or powerful wasn't just what was written in the spec. It was also the myriad of articles that popped up all over the web that showed how to combine little aspects of the spec to amount to pretty amazing things.
In conclusion, the sliding doors, the faux columns or the running with sprites articles of CSS3 are still waiting to be written.
So, what are you waiting for? Push the envelope and try to discover new ways of using the properties, selectors and media queries to achieve something otherwise impossible.
Just let us know when you do.
As some of you might have heard already, SAPO is doing a series of talks on interesting subjects and have dubbed such events as SAPO Sessions. As part of my newly acquired job functions, I gave a talk a few weeks ago entitled Javascript Done Right. Although the title is a bit cocky, I did try to share a few concepts that, if taken seriously, can make the web a little better for all of us, the users.
I talked about progressive enhancement [alistapart.com] and how writing unobtrusive javascript can help you enhance your websites without creating barriers for your users, in terms of both usability and acessibility.
If the previous paragraph spiked your interest, then go ahead and watch the video. I do apologize for sounding so arrogant at times, but I hope you bear with me 'til the end.
I know I should have written this post in Portuguese, but I'm not mixing up languages until I have setup a proper language filter on the blog. Either that or a separate blog written in Portuguese... Anyway, moving on.
If you have any questions, suggestions or criticism, don't hesitate to send them my way either on the comments, via email or twitter.
After a year and a half in the making, Streeter made his move!!
The great part of this is that the Prank War is back on!
BTW, if you haven't seen these guys' original videos, you're so missing out. Best comedy show I've seen online. I recommend the Hardly Working series. ;)
For the past few weeks, I've been making my usual effort to watch the most of the movies that have been nominated this year. Yeah, I know, I'm a sheep. But gladly so.
For reference, I've watched the following movies (in no particular order): Doubt, The Dark Knight, Changeling, The Reader, Revolutionary Road, The Wrestler, Milk, Benjamin Button, Slumdog Millionaire, Tropic Thunder, WALL-E, Kung-Fu Panda, Happy-Go-Lucky and, of course, a few others non-nominated movies.
So, without further ado, here are my predictions:
My hunch: Mickey Rourke FAIL
My hunch: Heath Ledger EPIC WIN!! (see my review of the Black Knight)
Winner: Heath LedgerMy hunch: Kate Winslet FTW! (best acceptance speech of the evening)
Winner: Kate WinsletMy hunch: Viola Davis FAIL
My hunch: WALL-E FTW!
Winner: WALL-EMy hunch: Changeling FAIL
My hunch: The Curious Case of Benjamin Button FAIL
My hunch: The Curious Case of Benjamin Button FAIL
My hunch: Slumdog Millionaire FTW!
Winner: Simon Beaufoy (Slumdog Millionaire)My hunch: WALL-E FAIL
My hunch: Slumdog Millionaire FTW!
Winner: Slumdog Millionaire
I couldn't leave out the best movie I've watched in recent years, which, IMHO, deserved the Best Picture award this year: SEVEN POUNDS!!!
What do you think? Any comments? :)
It's right around the corner! A once in a lifetime event! Actually, it won't happen again!!! The UNIX timestamp is approaching yet another landmark. It will be 1234567890 seconds counting from midnight 1st January 1970 aka UNIX Epoch!!
And check this out... our good friend Gamboa threw us a webparty! Let's all open our browsers during this historical event and party on!
He has built a countdown timer that will throw a bunch of fireworks when the time comes... and it will log everyone who's viewing any page that includes his tiny javascript counter! He'll publish the list of websites who hosted this timer & respective count of atendees! :)
So here's mine. But there are plenty other websites joining the party!
(if you're reading this in an rss reader, jump on over to the website!)
To participate, just add this tiny script to your page:
<script type="text/javascript" src="http://pdvel.com/happy1234567890/happy1234567890.js"></script>
May this turn-of-page event bring you good fortune on your geeky endeavours!
Cheers!
I write this post with a very heavy heart.
Hopefuly when you click that link, you'll see the usual Ma.gnolia beautiful homepage... but most likely, you won't.
The fact that the wording on that open letter is so careful not to commit to any date or feed any hope of total recovery, outright scares me. It's like they're preparing us for the worst...
The problem is... I've grown to love ma.gnolia. That's right, love. I've never liked del.icio.us. It demo-ed the social power of the web, but it was fugly and messy from the start! When I started using a website to store my bookmarks, I fell for Ma.gnolia. Few other websites made me feel as warm inside, just by using them. Not only they had a better experience, but they've always been more than open to new trends and technologies (openid, eaut, microformats, etc.) but they also treated the users very warmly. Something I never saw from del.icio.us/Yahoo!.
So it's not surprising that I feel something very close to what you feel when you lose a harddrive with very important data, because in the end, the result is pretty much the same. Loss of data.
I'm refraining from hoping there will be a full recovery just so I won't be disappointed. I actually have a theory that involves sql injections and a loose policy on backups, but... we'll leave that for some other time.
The good news is that since I setup my lifestream to republish my ma.gnolia bookmarks, I managed to salvage 263 bookmarks. The oldest of them is from August 2007. Not that bad.
Whatever comes out of this fiasco, it has certainly taught me a valuable lesson. Treat the data you put up in the cloud as you would treat an external drive. Back up ma.gnolia (*insert new bookmarking website*) to del.icio.us and SAPO Links. Keep a local copy of all the Flickr photos and upload a copy to Photobucket and smugmug.
Of course I'm not gonna do this overnight, that's why services like tarpipe are very well positioned to bring this to the average user with the least amount of effort. All I have to do is create workflows that put my content on more than one place. If Amazon, Yahoo! and SAPO all fail at the exact same time... we're probably being invaded by Aliens or something, so losing your online content might be the smallest of your problems.
Alcides reminded me to include a few examples of workflows that could achieve this. Here they are.
Workflow to submit photos to Flickr, Photobucket and 23hq. (possible now)
Workflow to submit links to del.icio.us, ma.gnolia and SAPO links. (fictional workflow)
Just want to send wishes of happy entrance in 2009 to anyone who might read this.
This year, 2008, was easily my best year so far, in various aspects, so I hope I'm not pushing my luck by hoping that 2009 be even better.
As far as resolutions go, I'll:
In review, 2008 was a great year, filled with great music. Kings of Leon and Get Cape. Wear Cape. Fly. (best name for a band, ever) take the top spots on my shortlist.
As for movies, I'm going to have to agree with pecus, Into the Wild was the best movie I watched all year (it premiered in 2008 in Portugal, so it counts). Followed by TDK and Before the Devil Knows You're Dead.
And that's a wrap! :-)
Photo by Pedro Cavaco
SAPO Codebits 2008 has come and gone... and let me tell you, what a 3 day experience it was.
Let's start from the beginning.
I was up very early in the schedule, so I gave the talk, Microformats - putting together the pieces of the puzzle (roughly translated title) on the second slot of the first day. It was nice being able to stop worrying about it very early in the event.
From all the feedback I've gathered, right then and there and also later on the web, I think it went very well. It's nice seeing people saying:
The truth is that I’ve already heard a lot about microformats, but I’ve never had the chance to search and read something more detailed about it. (...) So, now that I caught some interest in Microformats, I’ll soon be applying them on my web projects.
—Rogério Vicente
If you want, take a peek at the slides at my last post or view them on slideshare (they're in Portuguese, though).
I handed out a few stickers, but if you want some for you, either ask me or create your own at Moo
(created by Brian Suda).
The fact that some talks I was interested in were at the same time, presented the usual difficulties.
Which talk should I go to?
The ones I liked best were:
There were a few others I missed but I'll try to watch them as SAPO start releasing the videos (yes, there will be videos).
Right. Since this was heavily inspired in Yahoo! Hackday, the highlight is the coding competition.
This year I teamed up again with my pal Pedro Eugénio and we implemented a basic prototype of an idea we had during the event. Little did we know what was in store for us!
Here's the pitch.
We thought that one feature that was lacking on all major analytics packages was being able to see what your users were actually doing on your websites. So we wrote a little demo that captured the mouse movements and mouse clicks of each user and played it in the admin area (using comet, which was our first attempt at using it), all merged into one replica of the website.
This would allow site owners to perform usability tests on users without affecting their behaviour by telling them they're being tested. Also, client support can use this to provide some remote assistance on-the-fly with no setup required. There's a whole bunch of use-cases for this, really. And some of them might actually pull some money behind it.
If you're interested, watch the screencast we used during the 90 seconds and see the picture of a visual enhancement we did after recording the video below.
We thought the idea was great and as we shared it with everyone who was kind enough to hear us, we started getting very positive feedback... namely from Bruno Pedro, Pedro Melo, Nuno Mariz, etc. That's always a great motivator. Also, Bernardo Mota helped us a lot with his experience with client support. Thank you all for the help.
Well... The best was yet to come, as this little demo granted us the ___th prize! (we were so taken by surprise that we didn't actually remembered to ask which prize we got! It was either 6th or 5th, I think.) 4th place I couldn't believe it! We won a prize!! And what a prize it was! We each got a brand new Macbook, a motorola Q 9h and 2x books. I grabbed one that I've been wanting ever since I saw Ann McMeekin presenting at <HEAD>: Design Accessible Web Sites. Pedro got a huge bible on Ajax. Awesome (the Eddie Izzard kind of awesome) prizes, I tell you. Great partners Codebits has. ;)
So thank you all who helped us, the jury for supporting us and now, we're off to find out the best way to get this online ASAP. I'll keep you posted.
One wish for 2009, though... I hope to see a lot less (or... none?) projects presented that were not developed within the 24 hours. There were still a good deal of projects that were clearly developed outside codebits and just used them at the competition... I know it's not that polite to critique if you're one of the winners, but the whole spirit of the event is to see what you can come up with in 24 hours...
So kudos to everyone who did their stuff at the event and as far as my favourite projects go, well, here's a list.
A last word to the organizers, who happen to be the company where I work at. Well done boys. It makes us proud to be part of the family with such a stunning event.
Also, I met a good deal of people throughout the 3 days and let me tell you, it feels good to see so many people getting together around the common interest, technology, and still be able to have a good time, laugh, sing, play, etc.
It's a proof that when it comes to geeks, there's more than meets the eye. ;)
Here it is, the presentation I just gave at Codebits 2008. English-speaking readers, I'm sorry but the presentation was in Portuguese...
Feedback more than appreciated.
Also, I forgot to say I'll be hanging out with cheatsheets during the hacking competition. On top of that, I have some moo stickers to hand out. Ask me for them... I'm also looking for more stickers, so if you have some, let me know.
Happy hacking, folks.
This post will be written in Portuguese, since it's a local event. It's heavily inspired by the Yahoo! Hackday, but if you want to know more, please, leave a comment and I'll be happy to answer.
Estamos naquela altura do ano. Altura do Codebits! O ano passado, a primeira edição garantiu um lugar especial no coração de geeks por todo esse Portugal. Pelos pequenos teasers que foram sido lançados no Blog do evento, este ano ainda vai ser melhor!
E claro, não podia deixar de lá estar. Cá está o meu perfil na Intra do evento. Graças ao Celso, aquilo está carregadinho de XFNs e hCards. :D
Este ano, fui convidado a fazer uma workshop sobre um tema que me interessa bastante e que não deverá ser surpresa para quem lê o blog — microformatos. Na altura tive receio de ficar marcado como "O gajo que não se cala com microformatos", mas uma vez que nunca fiz nenhuma sobre este tema num espaço público (ambas as vezes foram formações internas), aceitei o convite.
Aqui fica a sinopse publicada no site do Codebits:
Os microformatos têm-se vindo a afirmar nos últimos anos como uma peça vital no futuro da web. Dada a sua facilidade de implementação e o aumento do suporte destes formatos em várias frentes, há cada vez mais sites a produzirem conteúdos com estes formatos embebidos.
Nesta workshop iremos dar uma introdução ao conceito, uma visão geral dos formatos mais predominantes e mostrar várias formas de os consumir _hoje_ na web.
Vai ter por base a apresentação que publiquei há umas semanas, no entanto, foi alterada para estar mais próxima da realidade do codebits. Para além disso, foi actualizada com algumas novidades que sugiram entretanto. Também irá incluir uma série de exemplos e possibilidades para talvez despertar a imaginação dos participantes e poderem assim criar projectos para o concurso do Codebits que tirem partido da miríade de microformatos que existem por essa web fora.
Ora tomem lá um sneak-peek:
Se tens dúvidas ou críticas sobre os slides que publiquei, aparece e coloca questões!
Até lá? ;)
Mal posso esperar pela edição de 2009. Ano passado: quadrados. Este ano: cubos. Próximo: hipercubo? :D
"Back? Where did you go??"
— read on, you'll know in a minute.
I've had a couple of websites hosted at PowWeb since 2005. Even tough I had had other hostings before that, their plan really looked promising, at the time.
For the first year, everything went smoothly. After that, the lack of SSH and their poor handling of a few issues I had with my account really started to bug me.
When the yearly invoice was approaching, I really wanted to move everything elsewhere, but I ended up staying simply because it was too much of a trouble. Didn't want to move the whole set of websites, since, if I recall correctly, it was during some busy busy weeks.
But come on... this is 2008, the 21st century! No one should have their websites hosted on hosts they don't like. That's why this year, I got off my ass and moved everything to slicehost. Yes, I'm finally free of PowWeb! And that makes me smile.
On the table, I had mediatemple's (gs), slicehost and gandi. I decided to grab a slice and see how it goes. I'm on a monthly basis, so if I want to pick up and leave, I will. And yes, I know they were just bought by RackSpace. I'm an optimist.
With the total control over the machine, comes a lot more work. Since I've never worn the admin hat very seriously, some of you might have felt a few *hiccups* on either one of my hosted domains:
If you find something out of place, it's either a glitch in the Matrix or I've overlooked something.
Give me a shout, will ya? Thanks.
A week ago today I was arriving from a weekend spent amongst the Portuguese geekdom. I attended my very first Barcamp, in Coimbra. So, in the spirit of the event I prepared a talk about something that have been on my mind recently.
Instead of repeating the presentation about microformats, which is nothing more than an attempt to push adoption of microformats to increase semantics on websites, I decided to look at it from a different angle and show how you can muster the value of semantic content, available TODAY on our users' other websites/services.
If you're interested, check the presentation below. I gave the talk in Portuguese, but since there were so few slides, I translated them to English.
Feel free to give some feedback in the comments below.
For those of you who didn't attend, I wrote a tiny little script over two nights that acts as proof of concept. It simply scrapes a given page and tries to gather data of the user's attention profile.
The goal would be to be able to provide content in which the user is interested right off the bat, as soon as they sign up. I described the harvesting algorithm in one of the slides, but here is a small list of the steps:
rel-tagsrel-next, rel-previous or rel-archives.
You can test it for yourself at: http://workshop.andr3.net/tageater/
If you want the code, it's available for download as zip file. I didn't put it up on SVN or anything because it's just an example. It's written in PHP (5.0), requires curl, DOM and SimpleXML.
It uses the microformats transformer Optimus, written by Dmitry Baranovskiy.
It includes a very basic cache mechanism, based on the filesystem. Make sure the ./cache/cache folder has the right permissions, if you want to use it.
I'm releasing all this under the MIT License, but remember this is only a proof of concept, or in another words, do not use this in production.
Here's a few tests I made with it. First, and this is included in the script eve though it's deactivated, I pointed it at the all the URLs specified by the BarcampPT attendees. On top of that, to avoid skewing the results by grabbing URLs owned by fellow geeks, I pointed it towards 5 of the highlighted blogs at SAPO Blogs at the time.
A very important question came up from the audience right at the end.
If you have some more questions, shoot. :)
While debugging yet another IE6 rendering issue, I noticed one thing in the CSS my good friend Billy wrote. He also uses astronomic z-indexes to make sure it's on top of every other element on the page. Since webdevelopers are human as well and not elephants, we need some help.
That's why, while developing a fancy pantsy webapp, I wrote a handy bookmarklet for Firefox that shows the maximum z-index on the page.
So, here it is, just drag it onto your bookmarks toolbar:
(or like me, the bookmarklet folder in the toolbar)
Let me know if you run into some bugs or if it fails to pick up any element. Worked for me on Firefox 3, but should work on other browsers as well.
(the code of the demo I used at barcamppt is in the oven, should be ready soon.)
Unless you're literally living under a rock, you've already heard the commotion about the big announcement on the interwebs today: Google released an OS and named it a "browser"
–mvalente.
It includes V8, the javascript virtual machine and — lo and behold &mdash WEBKIT.
So you can guess my surprise when I opened my own site and I saw this:
What you're seeing there is the comparison between Safari 3.1.1 and Google Chrome, running inside VMWare. I have ClearType enabled, so I have no idea why border-radius has no f—— anti-aliasing!!
Also, where's text-shadow??
Google Chrome has got to be using a very stale version of Webkit... because it FAILS at basic CSS3 stuff!
While it's enough to mop the floor with IE 6, 7 and 8, it's not enough to bear the name of "webkit".
Apart from that, it's impressive. Hope everyone using Windows grabs a copy. Dad, I'm not looking at you, stick to Firefox! ;D
Let me just state upfront that I LOVED Pan's Labyrinth. Despite not being a huge fan of (the) comics, I caught Hellboy 2 this past weekend, majorly because I wanted to test Guillermo.
Last thing I had heard about The Hobbit was that it was going to be a Guillermo del Toro project... and that made me uneasy. The work he had done with Labyrinth, sure spoke volumes as to how boundless his imagination really is. But it spoke nothing of his ability to adapt a 50 years old literary masterpiece that has been loved and cherished throughout the decades - by adults and children alike.
Before watching his latest movie, I caught a making-of in which Mike Minogla, the creator of the comics, mentioned Guillermo was always the one who kept adding new stuff to the story.
That worried me.
If you add that to the similarity between all del Toro's monstrous creatures - which you can see on the picture on the right; the top is from Hellboy 2 and the bottom one is from Pan's Labyrinth - things are definitely not looking good for The Hobbit, are they?
That's what I thought when I came out of the movie.
(I actually liked it.)
At least until I came online and searched for news about The Hobbit.
Peter Jackson and Guillermo del Toro writing Hobbit themselves, not only that, they're teaming up with Fran Walsh and Philippa Boyens, the same gals who aided Peter "The Hobbit" Jackson put together the pretty outstanding adaption of the three volumes of The Lord of the Rings.
There. I can sleep at ease until 2011.
That shot in Hellboy 2 when they enter the "earth", sure had some resemblance with the Misty Mountains... hadn't it?
Well... The Dark Knight managed to live up to almost a whole year of anticipation and hype. It did not disappoint. However, it is just a movie. Not even close of being the best one ever made (albeit pretty impressive that it gathers such an unanimous opinion), but it is certainly a landmark for the movie industry.
With all that said... I'd just like to add this picture, and let it speak for itself:
It hurts even more to see now how much talent was lost that night.
This feels weird to write in English, since the talk was in lang="pt" but while I don't get around to getting a Portuguese blog up and running, this will have to do.
Earlier today I gave a training session at
link
iyhy
gproxy