Andre Garzia's avatar

Planning A Privacy Day For A Mozilla Club

In this post we’ll share how we organized our Privacy Day here at Rio Mozilla Club, you can use, remix and adapt this to your own setting.

We have two types of activities going on during one of our club meetings.

  • Micro-activities: these are quite simple and only require a flip-chart, sharpie pens or similar and post-it notes. They usually take about 5 minutes to complete.
  • Activities: these are the same activities you find at the Web Literacy Basics curriculum. Most activities take about 1 hour to complete. For the Privacy Day we used activities from the Expanded Privacy Curriculum that is currently in testing phase.

In our events we tend to do a little roller-coaster ride oscillating between micro-activities and full activities to keep the pace cool.

Read More...


Andre Garzia's avatar

Sobre Typescript, Js E Flamewars

Recentemente li um artigo no tableless sobre TypeScript chamado Diga olá ao TypeScript e adeus ao JavaScript e fiquei meio noiado tanto com o que estava escrito quanto com os comentários que eu li sobre a peça.

Eu, assim como o autor do artigo, também sou super fã de TypeScript e acho uma iniciativa mega legal da Microsoft. A linguagem começou a ficar mais famosa aqui no Brasil ao ser adotada pelos desenvolvedores do Angular 2 e assim como tudo mais que acontece no nosso país esse assunto virou briga de torcida organizada onde algumas pessoas parecem acreditar que para gostar de TypeScript é necessário não gostar de JS e vice versa, isso não faz sentido nenhum. Existem vários pontos no artigo e nos comentários que são más interpretações do JS e seu ecosistema. Pretendo falar a respeito de alguns desses pontos.

Read More...


Andre Garzia's avatar

Ferramentas Para Causar Impacto: Matrizes De Planejamento

Uma matriz de planejamento zoada

Planejando para causar impacto

Todo mundo deseja causar mais impacto com suas ações porém as vezes nós não possuímos as ferramentas necessárias para gerenciarmos esses processos. Os Mozillians são muito bons em causar impacto como pode ser visto em nossas ações ao redor do mundo. Neste breve post vamos adicionar uma ferramenta extra na nossa coleção. Ela servirá para desmembrar nosso desejo de causar impacto em pedacinhos pequenos, mensuráveis e metrificáveis. Existem inúmeras metodologías e ferramentas que podemos utilizar, essa é apenas mais uma que você pode adaptar para o seu uso pessoal.

A vantagem principal de utilizar essa ferramenta é que além dela te ajudar a planejar as ações com o foco no impacto que você deseja causar, ela também te ajuda a entender se você conseguiu ou não atingir o seu objetivo. Neste sentido, ela não é boa somente para suas ações futuras mas também para suas métricas. O time de participação utiliza OKRs para o seu planejamento e esses podem ser facilmente extraídos a partir dessas matrizes :-)

Read More...


Andre Garzia's avatar

Tools For Causing Impact: Planning Matrices

One silly badly written planning matrix

More impact through coordinated planning

We all want to cause impact with our actions but sometimes we don’t have the experience or tools needed to manage our actions. Mozillians are very good at causing impact as can be seen by our actions around the world. In this brief post we’ll add one extra tool to our repository with which we’ll break our desire to make impact into manageable and mensurable bits. There are many tools and workflows we can use, this is just a tool that you can adapt to your own usage.

The main advantage of using this tool is that it allows you to plan for the impact you want to promote and also to be sure you achieved it. In this sense this is not only good for your future actions but also for metrics. The Participation Team uses OKRs for its planning which can be easily extracted from these matrices :-)

Read More...


Andre Garzia's avatar

Why You Should Back The New Mips Iot Kickstarter

The Creator Ci40 Kit

Disclaimer: I am not affiliated to Imagination Technologies. They didn’t contact me. They didn’t asked me to do this piece. I really like this kit and want to have it too

Link to kickstarter: Creator Ci40 Kit

Internet of Things is cool

The Internet of Things is many things and basically every group of people has a different definition of it but there is one point they all agree which is that the Internet of Things is coming and it is cool.

IoT Surge

Analysis predicts that more IoT enabled devices will ship in the next years than the combined smartphones and PCs markets but I am not here to tell you that betting in IoT is a sound business decision, I am here to tell you that hacking IoT stuff is really cool.

Web of Things is cooler

The main bad trend I see forming with IoT stuff is the attempt by large stakeholders to establish vertical domination of the market where the IoT board comes from them and the smartphone device to talk to that board also comes from them and they require their app because it is using their proprietary protocol.

This would be like buying a General Motors car and only being allowed to drive in GM roads and having to fill the tank with GM Gas. Thats not really how we want this new born ecosystem to work.

Now imagine if Smart/Connected devices all played by the rules of the Web. When you arrive at someones house and want to interact with their connected device may it be a TV, garden, lights, whatever, you’d just need to fire up a Web Browser and point it to the correct address and a rich web interface would be provided. This system would be agnostic of Operating Systems, it would not require an app installation. It would just work.

How many times you’ve installed an app on your phone to use just once? For example, you go to a friends house and want to fling some content at his Chromecast. You will need to install the Chromecast app. Even if you don’t have one at your own home and will never use it again. This is not good UX.

What you want is to have your phone, laptop, smart thingy, discover devices around you and talk to them using HTTP. Just firing up a web page and playing with it. This is the Web of Things. A Web that is personal, physical and works the way you want it to work.

The Creator Ci40 Kit looks awesome!

This kit by Imagination Technologies looks awesome to play with the Web of Things for the following reasons:

  • It has a powerful MIPS CPU and it runs Linux, so it can serve a Web interface pretty easily.
  • You have Bluetooth (and BLE), WIFI and 6LoWPAN, so you’re extremely connected.
  • You have so many pins and ports and interfaces that makes it easy to interface with basically anything
  • Imagination is already doing the Web thing with their software stack.

Bonus point that the kit comes with some clicker boards that can help you interface with the physical world. If you check the price and the potential of that kit then it becomes really easy. Assembling a collection of Raspberry Pis, shields, arduinos, and the necessary connectivity adapters will quickly sum up to similar prices. I am not trying to place this kit agains Pis or start a flamewar, I am saying that this kit alone, when you check how much you are paying and the potential you have to start your own Web of Things projects is really good.

The board will connect to basically anything and has enough power to serve smart web interfaces. You can create lots of cool personal projects with it. From automated watering of your home garden to the first connected laundry machine. This is a very good opportunity.

You still have 23 hours to back up this kit, you may need to hurry.

Link to kickstarter: Creator Ci40 Kit

Read More...


Andre Garzia's avatar

Alternativas Ao Whatsapp

Gente que não sabe mais viver sem Whatsapp

Tem muita gente desesperada no Brasil nesse exato momento com o bloqueio de 48h do Whatsapp. Existe muita desinformação a respeito dos motivos que levaram ao bloqueio e ao que parece o acesso já está em vias de ser restaurado. Muita gente sabe que eu não curto o Whatsapp por inúmeras razões mas a verdade é que o app caiu no gosto do Brasileiro que sendo um ser de memória de peixinho dourado não se lembra que existem um milhão de alternativas mais bacanas a esse app.

Muita gente aqui se lembra do ICQ, MSN, Yahoo! Messenger e outros programas que foram muito populares no passado. Hoje em dia temos além desses, uns tantos outros como por exemplo o Telegram, LINE Viber, Facebook Messenger, Skype, etc. Muita gente já usou vários desses e foi migrando de um para o outro conforme seus amigos migravam também. A verdade é:

Não existe fidelidade em programas de IM

Aparecendo algo melhor você irá trocar de app! Se seus amigos forem para outro app, você irá junto. O lance é que muita gente acredita que o Whatsapp é o último biscoito do pacote e que nenhum app contém as mesmas funcionalidades. Isso não é verdade, tem muito app bacana no mundo pra gente usar. Nesse breve post falaremos um pouquinho sobre o que as pessoas estão fazendo quando ao bloqueio, sobre alternativas ao Whatsapp e sobre soluções melhores que essas alternativas para o ecosistema da Internet.

Read More...


Andre Garzia's avatar

Mozfest 2015: Pathfinding, Coffee And Web Stuff

MozFest 2015 group photo

So it was that awesome part of the year again, the one time we all wait for, Mozilla Festival time! This was my second time being a part of this amazing event (you can read more about my first encounter with it here) and this time I was a pathfinder there.

There were 1700 attendees at the event and I have the firm belief that if you pick a group of 20 random people there and asked them what is the Mozilla Festival you’d receive 20 different answers. There will be a common theme to the answers though which is the creative nature of the event.

Mozilla’s annual, hands-on festival (affectionately known as MozFest) is dedicated to forging the future of the open Web.

MozFest is a celebration of creativity, the Web and the people who ♡ it. It is the culmination of our motto of a Web made by users for users and a place where you can learn, explore and create new things and boldly take your Web stuff to places no one though sane before!

The famous tree

This event is not like you usual tech convening. MozFest is a practical event where instead of being passive watching someone talk, people engage in practical activities exploring new ideas, prototypes and connecting to other awesome people. Roughly one in three people were there as facilitators meaning they were there to help others. There were sessions about basically everything, from scaling a program such as the Mozilla TechSpeakers to learning how to play the musical instrument known as Pandeiro which is a frame drum from Brazil. The Mozilla Festival will have something for everyone.

Read More...


Andre Garzia's avatar

A Simple Way To Plan A Club Meeting

In this post we’ll share how we organize our meetings here at the Rio Mozilla Club, you can use, remix and adapt this to your own setting.

We have two types of activities going on during one of our club meetings.

  • Micro-activities: these are quite simple and only require a flip-chart, sharpie pens or similar and post-it notes. They usually take about 5 minutes to complete.
  • Activities: these are the same activities you find at the Web Literacy Basics curriculum. Most activities take about 1 hour to complete.

In our events we tend to do a little roller-coaster ride oscillating between micro-activities and full activities to keep the rythim cool.

Read More...


Andre Garzia's avatar

Why Teach The Web?

Digital Inclusion

There is a lot of talk about digital inclusion in Brazil and in general people are supportive about it but we don’t always stop to think about why it is important. There are those that think that digital inclusion is only a way to add value to your resumé so to become a more interesting hire, I disagree with this notion because I believe that digital inclusion goes way beyond professional opportunities.

For a real digital inclusion we need to talk about a bit about web literacy. In Portuguese we have two distinct concepts to use when talking about literacy. We call alphabetization the techniques of reading and writing and literacy the social practice involving those techniques. Someone who is alphabetized might not have literacy the same way an knowledgeable person might not be wise. The current web situation is similar to an old epoch when alphabetization was not wide spread and literacy was even less accessible. A time where scribes had domain over technique and common folk where unable to preserve their voices to future generations. The great majority of people experience a disconnected situation regarding their web usage, they are able to use part of the web but are unable to truly understand what is happening behind the scenes and they do not possess the techniques to put their own creations online.

The Web is the only mass communication media where the public is able to distribute their own content.

While on TV, radio and press, the democratic and accessible distribution of content is not possible. On the Web such distribution is a cybercafe away. Even without your own computer, you can still interact and benefit from the Web from libraries, schools and cybercafes. Teaching people how to use the Web both as readers and content producers is an essential factor for participation in the 21st century. Imagine living in a world where people knew how to read but only 10% of the people knew how to write. This is the kind of world we live now regarding Web usage. Knowing the basics about writing is important even if you don’t have aspirations of becoming a bestseller author immortalized in classic collections for the next couple centuries. In this brief article we’ll talk a bit about some interesting consequences of web literacy.

Read More...


Andre Garzia's avatar

Por Que Ensinar A Web?

Inclusão digital

Muito se fala sobre inclusão digital no Brasil e em geral todo mundo apoia a idéia porém nem sempre paramos para analisar o porque isso é importante. Tem gente que pensa que a inclusão é somente uma forma de agregar valor a um currículo e se tornar mais interessante profissionalmente, eu discordo disso pois acredito que a inclusão digital vai muito além das oportunidades profissionais.

Read More...


Andre Garzia's avatar

Playing Well With Others

My previous post about WhatsApp Web Client generated a lot of feedback and polarizing opinions. From all the comments I’ve received since then there was a point of view expressed by a minority that worried me a lot: some people seem to believe that releasing something only for Google Chrome is the correct thing to do and that is one of the topics I plan to address with this post.

Many who were not web designers or web heavy users during the 90s don’t recall the horrible experiences that were common back them. Stuff such as designed for Internet Explorer and best viewed in 800x600 in Internet Explorer, on a Sunday, in the northern hemisphere, while closing one eye and wearing a funny hat (well this last one was not that common).

Lots of websites back then were designed exclusively for a single browser and made use of non-standard technologies such as ActiveX and others. It was like the wild west but with cities not communicating with one another.

It was not until Mozilla decided to fight monoculture that standards started gaining more importance but thats another tale. The tale today is about monocultures and the horrors that spawn from it.

Read More...


Andre Garzia's avatar

Whatsapp Doesn't Understand The Web

Today WhatsApp launched their web client in a way that is sure to upset and disappoint a lot of people. WhatsApp is a very popular instant message solution competing on the same market as LINE, Telegram and others. Here in Brazil WhatsApp is basically ubiquitous since its cheaper to send IM messages than to send SMS.

Unfortunately while other companies embrace the web and third party clients such as Telegram which has a list of official and unofficial clients and a public API, WhatsApp is actively waging war against third-party developers and their users. Last year they issued DMCA takedowns to all popular Github repositories hosting third-party clients and/or libraries interfacing with their API.

WhatsApp provides clients for many platforms but not for all platforms. Users of webOS, Firefox OS, Maemo, Sailfish, Ubuntu Touch had to use third-party libraries and also users of other platforms where there is an official client preferred using a third-party client because of many reasons.

After the takedowns, WhatsApp started banning users that connected to their network using third-party client, a move so evil that deserves a post in its own and the reason I stopped using their service. Since the takedowns and the banishments people waited for the release of a web client that would enable other platforms to use their service thru the beautiful of the world wide web.

Well, they finally launched their web offerring but its such a poor offerring that one wonders if anyone at WhatsApp actually understand the power behind the web. Lets analyse some parts of their launch post from their company blog:

To connect your web browser to your WhatsApp client, simply open https://web.whatsapp.com in your Google Chrome browser. You will see a QR code — scan the code inside of WhatsApp, and you’re ready to go. You have now paired WhatsApp on your phone with the WhatsApp web client. Your phone needs to stay connected to the internet for our web client to work, and please make sure to install the latest version of WhatsApp on your phone. Unfortunately for now, we will not be able to provide web client to our iOS users due to Apple platform limitations.

I added some emphasis to the quote above. Lets count their mistakes:

Read More...


Andre Garzia's avatar

The Web Will Be Televised

Introduction

The past few days we’ve seen lots of news regarding the current trends in SmartTV platforms. CES coverage is bringing in a lot of new tendencies and I’d like to talk a bit about the current convergence I see happening in the market.

It all starts with LG webOS

webOS TV

LG rocked the world when it shipped webOS on SmartTVs. With the objective of making TVs simple again without reducing features or restricting potential. The LG webOS SmartTVs are a joy to use both as an end user and as a developer.

webOS has a rich history and legacy. It influenced the current mobile operating systems much more than people usually give credit for. This legacy of shaping the industry can be felt again in the SmartTV ecosystem. webOS pioneered the idea that mobile apps could be built using web technologies and while SmartTVs are a bit less mobile than smartphones they still share the foundation technologies with its older siblings from HP webOS and Palm webOS.

Enyo

Apps for webOS TVs are built using the webOS SDK and web applications are a first class citizen in the system. The apps are built with good old Apache Cordova. The most impressive part of the SDK is the EnyoJS Framework which is able to build cross-platform apps that goes from Smartphones to SmartTVs with ease. The moonstone UI library for Enyo was created specifically for SmartTVs and the spotlight library allows easy navigation and input using different types of TV remote. It becomes much easier to deploy apps on TVs once you have a ready to use UI and input library.

LG with the killer combo of webOS + Enyo based apps raised the bar for the competing platforms. Finally building applications for a SmartTV was as easy as developing web pages.

Beanbird

Then it becomes open with Firefox OS

Blaze your own path

The new mobile operating system by Mozilla brought a refreshing openness and power to the mobile operating system ecosystem. Smartphones with Firefox OS have been released in 29 countries are able to run in devices with specs as low as 128 MB of RAM. The new system is the only mobile operating system in the world that is developed in the open. And before you start shouting Android remember that even though most of the Android versions had their source released at some point in time, some did not. Also Android is not developed in the open, you can’t go to a roadmap or issue tracker and start contributing to the next release (or help shape it by adding new features).

Firefox OS is developed in plain sight. Anyone can fetch the source tree and help make the system what they want it to be. All the roadmap and all the source for all the system, built-in apps and backend services are published. Contribution is encouraged and lots of partners already jumped in. The promise of an open operating system with no strings attached and full source code is very appealing to hardware developers.

Read More...


Andre Garzia's avatar

Creating Enyojs Apps With Yeoman

EnyoJS Logo

What is Enyo JS

Enyo JS is a framework for building native-quality HTML5 apps that run everywhere! It begun its life in HP webOS (my favorite system ever) and was released as an open source project in the aftermath of the fiasco.

What is known as Enyo 1.0 is tied closely to webOS (a.k.a. a webkit based system). The Enyo team decided that with the open source release they should rewrite Enyo from the scratch to be compatible with other systems thus Enyo 2.x was born.

The current release is Enyo JS 2.4.0 and it is a gorgeous release sporting bindings, mvc, components, and more.

I will write more about Enyo JS as soon as I can but lets try to give you readers a glimpse of what it is all about.

Enyo is about components. Its about building reusable/shareable code into self contained components that may contain other components. Your app is a collection of these components structured in a elegant way.

I could go on for hours on why Enyo is a very elegant system but let me just give you one reason: Enyo JS core libraries and components are built in Enyo JS so if you know how to use the framework you can debug it, also if you read the framework source code you become a better Enyo coder.

You can check A Tour of Enyo to get a quick look at its features

There is a quick tutorial available at github wiki for enyojs/enyo and its very easy to follow.

Read More...


Andre Garzia's avatar

A Free Agent At Mozfest 2014

MozFest

It has been some days since I’ve been back from the amazing Mozilla Festival and its time to post about all the amazing things I’ve seen and done over there. This event was probably the most engaging “tech” event I’ve ever been. The whole mindset of sessions and facilitators is something that we should replicate all around the globe. In my humble opinion this event represents the best of the Mozilla mission and spirit and in these brief words I will try to explain a bit of my wonderful experience over there.

A Free Agent (or being a bit lost)

I am a Mozilla Rep and love working on Web related stuff. I’ve been to many events around the globe but this was my first MozFest. This event is very different than all other events I’ve been to and part of my experience was shapped by how I got there.

MozReps making their scary face

There was an application form for Mozilla Reps that were interested in going to the event. I’ve filled it. There was also a public call for sessions and I’ve submit my proposal about teching how to run Mozilla Appmaker on a Raspberry Pi. My session was reject but my trip was approved. So in essence, I was going but I had no idea what I was going to do there.

Read More...


Andre Garzia's avatar

A New Firefoxos Book About Game Development

Book Cover

A new book focused on Game Development

I am almost reaching the point where I can almost release the book. My idea is to release it as an early unfinished preview and allow readers to send feedback and enjoy it while I am still building it.

The Google Summer of Code is all about open source creations and its my belief that open source should also be open development so by releasing this book in early form I am able to invite you all to contribute to it.

Read More...


Andre Garzia's avatar

Some Toughts Regarding The Firefox Os Tablet Keyboard

In this brief article I will expose my impressions about the keyboard used in the current Firefox OS version used in tablets. Please be aware that these tablets are reference designs used to improve Firefox OS in tablet form factor. What we see and discuss here is not what the final product will be.

This article is for the benefit of the Tablet Contribution Program run by Mozilla. This project aims to improve Firefox OS for tablet usage. An initial run of reference designs were seeded to many contributors who are bringing back improvements.

Since we’re Mozilla, we do everything in the open and thats why this article is published here and not on some private walled garden.

Read More...


Andre Garzia's avatar

Let The Games Begin! (Or Gsoc 2014 Starts)

Playful Red Pandas

I’ve been accepted in Google Summer of Code 2014 as a student working with Mozilla.

My project (that can be seen here) is about creating game samples, an ebook and some reusable libraries to aid game developers working with Firefox OS.

My mentor is Soledad Penadés who is fantastic and builds awesome stuff at Mozilla. Check out her creations at 5013. I am pretty happy with this match because I will learn tons of stuff. :-)

Why games?

Games count for 50% of the app usage on mobile devices. Let that sink for a bit… Of all app categories, games count for half of the usage and all the other types of app share the remaining fifty percent. Games are so important that many developers distinguish between games and non-games application as being from different realms. No one places spreadsheets app and project management apps in different realms but people think of games as something so broad, so large, that it deserves its own category.

If games are so important for mobile platforms then it makes sense that we have great tools and documentation to aid new developers in becoming game developers. The fact is that even though we do have lots of documentation, it is all spread multiple MDN pages and wiki links and personal blogs. We lack a comprehensive collection of knowledge that can be easily followed, understood and shared by new developers.

If a game developer wants to learn something about Firefox OS itself then he can just browse MDN Game Development Zone for the information he needs. New developers that want to become game developers have no easy path to follow.

To solve this we’re going to build a set of resources that when used together will teach new developers how to develop 2D casual games for Firefox OS.

Lets see what we’re going to build…

Read More...


Andre Garzia's avatar

Thinking About Eme/drm

I think people on the interwebs are confusing the smoke for the fire.

For those that haven’t read how the new EME/DRM stuff will work: Firefox will have a sandbox to run the binary blob. The blob will not come installed on Firefox. The blob will not have access to the hardware or be able to fingerprint you. The sandbox is open source and can be compiled separate from Firefox so that people who want to make sure their sandbox has not been tampered by NSA/MAFIAA will be able to do so.

If you don’t use services that use DRM such as Netflix, Hulu and Amazon then your Firefox will still be free from the evil binary DRM blob. If you decide to utilize such services then you authorize (explicit user action, like press a button and there is a message) the installation of the binary blob at the time you try to use the said services.

“As plugins today, the CDM itself will be distributed by Adobe and will not be included in Firefox. The browser will download the CDM from Adobe and activate it based on user consent.” – Andreas Gal, Mozilla CEO in Reconciling Mozilla’s Mission and W3C EME

If you’re among the group that is against DRM on the web then instead of going into flamewars and hatred about Firefox having the EME spec you should just stop using DRM enabled services and show them where your convictions are. If on the other hand you want to consume said content then you will have the only open source sandbox that protects you agains hardware access and fingerprinting. Firefox still the best alternative even with EME/DRM.

Read More...


Andre Garzia's avatar

Pensando Sobre Eme/drm

Acho que a galera nas interwebs está confundindo fumaça com fogo.

Pra quem não leu como vai funcionar o lance do DRM: O Firefox vai ter uma sandbox para rodar o blob. O blob não vai vir instalado no Firefox. O blob não tera acesso a nada do hardware e não poderá ser utilizado para fazer fingerprint. O código fonte do sandbox é open e você poderá compila-lo separadamente se quiser ter certeza que o seu sandbox não foi macumbado pela NSA.

Se você não utilizar os serviços que usam DRM tais como Netflix, Hulu e Amazon então seu Firefox continua livre do dito blob. Se você quiser utilizar esses serviços então você autoriza a instalação do blob de DRM quando você vai assistir alguma coisa.

“As plugins today, the CDM itself will be distributed by Adobe and will not be included in Firefox. The browser will download the CDM from Adobe and activate it based on user consent.” – Andreas Gal, Mozilla CEO in Reconciling Mozilla’s Mission and W3C EME

Se você é daqueles que são contra DRM na web então em vez de ficar brigando para não ter os hooks no Firefox basta não utilizar os tais serviços. Se você é daqueles que quer assistir os tais videos na internet então você tem a única sandbox open source incapaz de fazer fingerprint. Continua melhor que as alternativas.

Read More...


Andre Garzia's avatar

Segunda Firefox Games Hackathon Da Telefônica

todo mundo

Aconteceu entre os dias 26 e 27 de Abril de 2014 a segunda Firefox OS Games Hackathon da Telefônica. Esse evento conta uma série de palestras no início do primeiro dia e então com 24 horas de competição. O mais legal deste tipo de evento não é competir pelos prêmios mas sim ter um jogo pronto ou um experimento funcionando com algumas horas de trabalho.

Assim como no ano passado a maior parte do público era composta de estudantes universitários relacionados aos diversos cursos de games oferecidos pelas universidades de São Paulo. Queria eu que o Rio de Janeiro estivesse tão bem servido de cursos assim. Tinhamos desde formados em game design à alunos do primeiro período. Apesar de contarmos com um público menor que no ano anterior, os times que estiveram lá aproveitaram bastante.

Read More...


Andre Garzia's avatar

Referências Para Programação De Jogos No Firefoxos/html5

Esta acontecendo agora a hackathon de desenvolvimento de jogos para Firefox OS organizada pela Telefônica VIVO junto com a Qualcomm. Voce pode assistir a hackathon ao vivo clicando nesse link.

Para facilitar a vida dos participantes do evento, estou disponibilizando alguns links aqui que são do interesse de quem quer desenvolver jogos em HTML5 e mais especificamente para o Firefox OS.

Read More...


Andre Garzia's avatar

Mais Referências Para Programação De Jogos No Firefoxos/html5

Esta acontecendo agora a segunda hackathon de desenvolvimento de jogos para Firefox OS organizada pela Telefônica VIVO.

Para facilitar a vida dos participantes do evento, estou disponibilizando alguns links aqui que são do interesse de quem quer desenvolver jogos em HTML5 e mais especificamente para o Firefox OS.

Read More...


Andre Garzia's avatar

Mozilla At Campus Party Brasil 2014

Mozilla at Campus Party

This year we took 15 people (Volunteers + Staff) to Campus Party Brasil which is probably the largest tech event/gathering in the world with eight thousand people camping at the venue and an unknown number of people floating at the expo area. Even though this event was organized at the nick of time, it was one of our best events ever. We had numerous activities planed among them 3 talks at the normal schedule (a.k.a. during the day), 5 talks during community schedules (a.k.a. so late it is almost day again), 1 workshop and 1 hackathon.

These activities were all great but they were not our main mission at Campus Party for we had a secret plan in our mind…

Read More...


Andre Garzia's avatar

Mozilla Na Campus Party Brasil 2014

Mozilla na Campus Party

Esse ano levamos quinze pessoas para a Campus Party Brasil entre voluntários e funcionários da Mozilla. Apesar de termos organizado tudo na última hora, esse foi um dos eventos com o maior número de atividades da Mozilla realizados nos últimos tempos. Foram 5 palestras na trilha de comunidades, 2 palestras na programação normal, 1 workshop e 1 hackathon.

Essas atividades todas foram ótimas porém elas não eram a nossa missão na Campus, nós tinhamos um plano em mente…

Read More...


Andre Garzia's avatar

Ajude A Salvar O Torresminho

Torresminho Galã

Era uma vez um gatinho assustado e magrelo. Batizado “Torresminho” (porque se criou na Rua Noronha Torrezão, em Santa Rosa), o bichinho um dia resolveu trocar o pneu de um carro em movimento.

Não deu certo. O motorista, bravo, não gostou do serviço e foi embora sem olhar para trás.

Tio Andre e tia Lili passavam na hora e recolheram o que sobrou do gatinho chorão-semi-moído para levar ao veterinário correndo.

Como a reforma do Torresminho ficou cara, eles resolveram pedir que vocês que ajudem a continuar essa história com um final feliz. :)

O que aconteceu de fato

O Resgate do Torresminho

Simples, estavamos eu e Lili voltando de carro pela Noronha Torresão quando vimos um gatinho deitado no meio da rua. Conseguimos desviar e paramos o carro para Lili buscar o filhote. Ela fez sinal para o carro que vinha atrás da gente desviar ou parar enquanto ela pegava o gato. A SUV ignorou e passou por cima do Torresminho e nem parou.

Pegamos o gatinho quebrado e ensanguentado e levamos para o Pet & Vet onde ele se encontra até agora.

A Vakinha

Assim que resgatamos o Torresminho e colocamos ele sob os cuidados da Pet & Vet fizemos uma Vakinha para juntar uma grana para garantirmos o tratamento dele.

Nossa Vakinha deu certo porém nós subestimamos o valor dessas coisas. Criamos essa campanha sem saber o qual era o estado dele e portanto não sabíamos quanto pedir. Acabamos pedindo o suficiente para cubrir os custos do primeiro dia de internação e os primeiros exames. Não foi o suficiente.

Conseguimos R$890 porém já gastamos mais de R$1000. Por isso estamos fazendo uma nova campanha agora que sabemos melhor o estado do Torresminho.

O Estado do Torresminho

Torresminho UTI

Após fazer vários exames (Raio X, Ultrasom) foi constatado que por dentro o Torresminho está bem porém ele está com a bacia e o femur quebrado e a para esquerda dianteira luxada. Ou seja, a bacia e o lado esquerdo do Torresmo estão quebrados.

O primeiro Raio X do Torresminho mostra um gato estraçalhado que não deveria querer se movimentar. A realidade mostra um gatinho muito diferente. O Torresminho levanta, tenta andar, quer brincar e quer carinho. Ele não pode nos ver que já quer ficar aninhado e começa a ronronar antes mesmo de encostarmos nele. Não só ele é um gatinho muito bonito como ele é super carinhoso e carente.

Queremos que o Torresminho se recupere de forma correta e para isso ele precisa sofrer uma cirurgia e talvez vire um gato ciborgue com plaquinhas de metal. Se ele não fizer a operação, ficará provavelmente manco, com uma pata mais curta que a outra provavelmente dobrada em L igual uma pintura de Picasso. A operação custa em torno de R$1500.

O Torresminho Precisa De Você!!!

Torresminho Apelando

Eu e a Lili estamos fazendo o possível pelo Torresminho porém não temos esse dinheiro, para vocês terem uma idéia, enquanto eu escrevia esse post, um funcionário da Sky veio aqui recolher o aparelho pois estamos cancelando a assinatura para cortar gastos. Então se estamos até cancelando a TV a cabo da para vocês terem uma idéia de como está complicado pagar pelo tratamento do Torresminho.

Você pode ajudar o Torresminho doando dinheiro através do link abaixo. Se você não puder contribuir de forma monetária para a recuperação do gato super lindo e fofo que ele é então pelo menos obrigue todos os seus amigos e inimigos a contribuir.

O PayPal aceita todos os tipos de cartão e outros trecos. Nos ajude a ajudar o Torresminho. Ele já perdeu umas 3 vidas sendo atropelado pela SUV agora ele precisa da gente para não perder as poucas que restam.

Andre & Lili

PS: Quem quiser confirmações sobre o estado do torresminho ou o envio de exames ou coisa semelhante, basta enviar um email para andre@andregarzia.com que eu mando.

Read More...


Andre Garzia's avatar

Help Save Torresminho The Cat

Torresminho Looking Sharp

Once upon a time, there was a frightened and skinny cat named Torresminho, because he raised himself at Noronha Torrezão street, who decided one day to help an SUV driver and change the tire of a moving car.

It didn’t work. The driver, mad with the bad service drove away never looking back.

Uncle Andre and Aunt Lili who were passing by rescued what was left of the crying-half-broken kitten and drove quickly to the vet clinic.

Even though we can rebuild him, we have the technology we can’t actually afford to pay the surgeries and treatment that he needs. Thats why we need your help to make sure this story has a happy ending.

What Actually Happened

Torresminho after rescue

Now in plain half-decent English: We were driving back home when we saw a little kitten lying down resting in the middle of the road. We managed not to hit him and stopped our car to rescue to little clueless cat. Lili, my wife, waved the car behind us that she was going to grab the cat. The car was an SUV that was far enough to stop or dodge our group. They never changed course and hit the 45 days old kitten. The driver never stopped, just drove away.

We picked the bloodied broken cat and drove to Pet & Vet clinic where he is undergoing treatment.

The Initial Crowdfunding Campaign

As soon as we rescued him and placed him under the care of the clinic we started a crowdfunding campaign to help treat him but we were naive in how much it would cost and we asked for way less money than we needed. Our initial campaign is already closed and we got 110% of our target which was close to USD 400. This was enough to pay for the first three days of treatment and the initial exams.

That first campaign got us about USD 400 but by the end of the week we had already spent close to USD 500. The costs started piling up and thats why we’re making this page and a new appeal.

The State of Torresminho

Torresminho UTI

After many exams (X Ray, Ultrasound) we learn that Torresminho is OK inside (aka no broken internal organs) but his hips, left femur and front left leg are broken. Basically his left side and hips are a mess.

The first X Rays of Torresminho displays a Cat so broken that would not be willing to move but the reality is a bit different. Torresminho stands up and tries to walk, he loves to play and is in constant look for food and being pet. He purrs at the mere sight of us and one of the mostly friendly cat we’ve ever seen. Our little needy playful friend looks pretty sharp and we want him to heal completely.

Our whishes to see Torresminho treatment complete means that he needs to undergo surgery to fix his femur, Torresminho will become a hero to all cats because he is going full cyborg with some tiny metal plates. He could even pose as a pro bike racer or something after surgery. If we don’t go to surgery, he’ll limp, probably not be able to jump and one of his legs will be on an L shape like a Picasso painting. We’d like the Cyborg version better than the Picasso version. Unfortunately the surgery costs about USD 800 and we can’t afford it.

Torresminho Needs You!!!

Torresminho Awwwnnn

Me and Lili are doing all we can do for Torresminho but we simply don’t have enough money. To paint a clear picture into your mind, while I was writing this post, the cable TV guy came here to pick the Sky STB because we’re canceling the cable TV to cut costs. If we’re cutting cable, imagine how hard it is for us to pay for his treatment.

You can help Torresminho by donating money using the PayPal button below. If you can’t contribute in a financial form to help this gorgeous sweet kitten then at least force all your friends and enemies to do it.

PayPal accepts all major credit cards. Help us help Torresminho. He already lost 3 lives by being hit by an SUV and surviving. He needs your help not to lose the few remaining lives he has.

Andre & Lili

PS: Whoever wants an update or see exam results from Torresminho can get them by sending me an email at andre@andregarzia.com.

Read More...


Andre Garzia's avatar

Conhecendo O Novo Nitrous.io

O Nitrous.io é um novo PaaS para desenvolvimento de aplicativos web em Node, Django, Rails e Go. Ele é diferente de um Heroku da vida pois não fornece somente o servidor mas sim um ambiente integrado online de desenvolvimento que é especialmente útil para quem esta trabalhando com colaboradores.

O foco do Nitrous.io é ser um ambiente colaborativo de desenvolvimento web, ou seja, não é para um ambiente para o deploy final do seu projeto, para isso continue utilizando os Linodes e Herokus. Acredito que para um projeto pequeno desses que é utilizado pelos seus amigos ou pelo seu departamento na empresa, o deploy do nitrous.io atende sim.

Diferente da maioria dos PaaS, o Nitrous.io funciona com o conceito de pontos N2O. Cada novo usuário começa com 150 pontos N2O e pode utilizar esses pontos para montar sua máquina virtual (eles chamam de box). Como o esperado, os 150 pontos são o minímo necessário para montar um box com 384 mb de RAM e 750 GB de HD. Esses valores podem parecer modestos mas lembrem-se, o foco é o desenvolvimento. Para aumentar os specs da sua máquina você precisa gastar mais pontos N2O e para conseguir mais pontos você pode cumprir umas tarefas tais como tweetar e dar like no Facebook e você também tem um link de afiliado que você pode espalhar por ai e cada pessoa que entrar no sistema via o seu link lhe da um bonus de N2O. Por exemplo, neste artigo eu estou utilizando o meu link de afiliado, se vocês assinarem o Nitrous.io por esse link, eu ganho uns N2O para utilizar no meu box.

Read More...


Andre Garzia's avatar

A Simple Publisher/subscriber Library For Livecode

This is a simple library I made to use in a game we’re making where we needed a way for objects to interact with each other without hard coded object references. This pattern is known as the publisher/subscriber pattern or the observer pattern.

In this pattern objects can register themselves as listeners for specific events. Once an object triggers an event, all objects that we’re listening for such event will receive a callback message. You can use this pattern to allow controls to react to events in your program without the need to hard code dispatch/send messages. A good example is a progress bar that listens for a message that is triggered by a download operation. The download routine would trigger this message without the knowledge of the progress bar, it is just broadcasting it like: “hey, I am downloading something” and the progress bar will listen for this broadcast and react to it. The code could be like:

on openCard
  put the long id of scrollbar "progress" into tTarget
  addEventListener "downloadProgress", "downloadProgressCallback", tTarget

  libURLSetStatusCallback "urlstatus"

  load URL myURL with message "downloadComplete"
end openCard

on urlstatus pURL, pStatus
  switch item 1 of pStatus
  case "loading"
    put 0 into tDataA["start"]
    put item 3 of pStatus into tDataA["end"]
    put item 2 of pStatus into tDataA["progress"]
    trigger "downloadProgress", tDataA
    break
  end switch
end urlstatus

on downloadComplete
  ## this is just cosmetic to guarantee that
  ## the progress bar goes to 100% once the download
  ## is completed.

  put 0 into tDataA["start"]
  put 100 tDataA["end"]
  put 100 into tDataA["progress"]
  trigger "downloadProgress", tDataA
end downloadComplete

In the given scrollbar script:

on downloadProgressCallback pDataA
  set the startValue of me to pDataA["start"]
  set the endValue of me to pDataA["end"]
  set the thumbpos of me to pDataA["progress"]
end downloadProgressCallback

This way we can change the UI that reacts to the download without touching the urlstatus message implementation. We could have many controls listening for the downloadProgress event. Also check out how both the urlstatus message and the downloadComplete message trigger the downloadProgress event. None of these messages have any prior knowledge of whom is receiving this event and nothing is hardcoded.

Using such patterns, you can decouple your user interface from the inner workings of your application easier than before. In our little game we have stuff such as objects broadcasting events like “exploded” and “died” so that other objects can react. Since in games you tend to create and destroy objects at runtime a lot, this library makes our life easier.

This library is released in the public domain. Use it as you see fit, can’t sue me. To download this library, use the link on the sidebar (or link below if you’re using a mobile device).

Read More...


Andre Garzia's avatar

A Brand New Site

Welcome to my brand new site. Even tough I liked my previous system, I decided that it was no longer fit for my current work. My previous site was built on the early days of LiveCode server using a mix of RevIgniter and RevSpark frameworks. That site served me well for the best part of five years but the architecture I built was showing its age.

My previous site was built with a beautiful template but was not responsive and most of my current work deals with HTML5 and responsive web. Even though no one complained, I felt bad about selling mobile web sites and having a site that would not offer a good experience on smartphones or tablets. Then, a holiday came and I decided that labor day was a good day to build a new website for the next five years.

I decided to use DocPad which is a beautiful static page generator built on top of NodeJS. Even though I don’t know much CoffeeScript I was able to patch the system and add the features I wanted. With a bit more than a days work, my site was running and I was ready to move my legacy content.

The new architecture

The new site is built using DocPad and the new pages are written in Markdown. DocPad generates all the static files and I upload them to the server using rsync. Since the site is no longer dynamic, I don’t worry about performance.

The new layout is based on Twitter Bootstrap and is responsive. I can browse my website using my Geeksphone Keon running Firefox OS or my Android tablet running Firefox Aurora. My site has no admin interface so I don’t worry about hackers exploiting the newest Wordpress zero-day or anything like that. In the end it is a new system that gets out of my way so that I can create new content with ease. I am very thankful to Benjamin Lupton for creating and releasing DocPad. It is a wonderful new tool for my work.

What about the legacy content

Some readers may be worried that I am leaving LiveCode. Don’t be! I have firm roots in the LiveCode community and will keep providing my tools and developing new things. I still think that LiveCode is the best tool for creating Desktop cross-platform software fast and with a great ROI. The new LiveCode Community Edition is a dream come true. I plan to keep using LiveCode for a long time.

I ported some of my legacy content to the new site but not all of it. Some pages had outdated information that is no longer relevant to the current state of LiveCode. Among the ported content are all my current LiveCode commercial and open source projects.

The future

I am now a Mozilla Rep and am working closely with the Brazilian Mozilla Community to spread Firefox OS. Most of my current work is mobile web related and I spent my days inside HTML5/CSS/JS acronyms. So far it has been a wonderful ride and developing for Firefox OS is very fun and productive. I am looking forward to more volunteer work in conferences and gatherings. Soon my little mobile apps will be flocking the Firefox Marketplace.

I hope you all enjoy the new site. It will be more updated than the old one, mostly because its a much more interesting time to live on with all these new platforms and technologies emerging. Stay tunned for updates and send any feedback to my email

Read More...


Andre Garzia's avatar

Db Lib Goes Open Source With Gpl

DB Lib is a minimalistic database library for LiveCode that works on Desktop and Mobile and allows you to build database-savvy apps without writing SQL directly. For example consider the following code:

dbWhere "country", "Brazil"
put dbGet("contacts") into tDataA
set the dgdata of control "contacts" to tDataA

It picks all records from the contacts table that have the country field equals to Brazil and set a datagrid to it. It’s very easy to use. A more involved example:

on mouseUp
   -- assemble array
   put dbCardToArray("contacts") into tDataA

   -- check if we're adding a new record
   -- or updating an existing one.
   --
   -- this check depends on the record id being present.
   if field "id" is empty then
      get dbInsert("contacts", tDataA)
      if it is not a number then
         answer error it
      else
         answer "New Record Saved"
      end if
      go card "contact list"
   else
      dbWhere "id", field "id"
      get dbUpdate("contacts", tDataA)
      if  it is not a number then
         answer error it
      else
         answer "Record Updated"
      end if
      go card "contact list"
   end if
end mouseUp

In this code first we pick the data from a card using dbCardToArray(), a function that magically picks data from fields, buttons and other controls, and assemble an array that is used to insert or update a given record depending on the presence of an id field.

This is just a quick glimpse of what you can do with DB Lib. It is basically a ORM for LiveCode.

Read More...


Andre Garzia's avatar

Vivendo No Futuro

Futurecom

Já passou algum tempo desde o final da Futurecom e agora com a cabeça mais fresca eu posso rever esses dias tão importantes onde lançamos o Firefox OS. A Futurecom é o maior evento voltado para empresas de telecomunicações e Internet da América Latina. Este ano ele aconteceu no Riocentro e teve a presença de basicamente todo mundo que atua nesse segmento (fabricantes, operadoras, provedoras de serviços, etc).

Em parceria com a Telefonica VIVO nos montamos uma área destinada ao Firefox OS no stand. Tinhamos quatro aparelhos para demonstrar o sistema, dois Alcatel One Touch Fire e dois LG Fireweb. Tinhamos a raposa correndo pelo evento também e algum swag na forma de adesivos e moleskines genericos. Nosso espaço era compartilhado com outras iniciativas da Telefonica VIVO como por exemplo o Zuum que é um cartão pre-pago Mastercard e forma de pagamento de celular para celular e o Thinking Things que é um sistema M2M bastante interessante com várias aplicações possíveis.

Futurecom

A bolsa mais fofa da Futurecom

Nesse post vou falar um pouco sobre nossa caminhada esse ano e o feedback dos últimos dias desde o lançamento.

Read More...