The Power of Choice

[I have talked about Jelastic in my Java&Cloud presentations for a long time. Their multi-datacenter, multi-partners, Java-standard based business model intrigued me from the start. Because of that, Jelastic invited me to write for their "Most Interesting Developer in the World" series. The post bellow was first published in Jelastic's blog some months ago. Since then, I got a chance to do a lot of work with their team, and met many of them in person. I've learned that not only they have a great business, but they are also a cool company, with an amazing talented team! Keep coding!]

I don’t remember who said it, but I once heard that “Cloud Computing is economically inevitable”. This may sound like an over-enthusiastic claim made by cloud vendors eager for our business. But, the more I think about it, the more it looks like a true statement. It is also a scary one! Cloud Computing is a powerful idea. Vendors created impressive infrastructures that already have huge, positive impact on developers and companies. But, it also concentrates computing power in the hands of a small number of players. And we’ve seen this happening in other infrastructure areas, and the negative results it can bring.

It is not an accident that vendor lock-in ranks high among the concerns when considering Cloud Computing. If Cloud Computing is indeed economically inevitable, the only way that we can have a healthy system is with strong and widespread competition. And for that, we need to be able to choose, and then, some time later, we need to be free to choose again. That is why our choices for application development need to reduce vendor lock-in from the start.

Several Cloud Computing concerns have vendor lock-in as the underlining issue. If we’re locked-in to a supplier, we need to wonder if it will be around for a long time, so we have to worry about longevity or credibility. Government regulations and location of data and code execution is another common concern. Applications in the Cloud can run anywhere. If we can’t move to a different vendor, regulations from governments or changes in customer needs may prevent us from doing business. Being able to walk away from a vendor, either to another one or back to your own facilities, is an important exit strategy. All this shows that we need to be able to choose a vendor now, and then able to choose another vendor down the road. This is a fundamental prerequisite that will allow us to move into “the Cloud”

Solving vendor lock-in is a major advantage for a technology. Java showed that when it arrived in the computer scene. Not surprising. Creating code and products is one of the most important assets that a company has these days. One of the major benefits that Java Technology brings is its platform and vendor independence. Java’s promise of “write once, run anywhere” was always about breaking vendor lock-in. From hardware platforms to databases. From virtual machines to application servers. From IDEs to frameworks. The Java ecosystem has always thrived on many choices. Neither the consolidation that happened among vendors nor the powers that Oracle acquired did diminish this benefit. In fact, what the last few years show is an increase in the options developers have when using Java.

And now we see this power of choice in action where the coffee meets the cloud. Java Technology is today considered a prime language in almost every cloud provider. Higher abstraction platforms like Java EE and Spring are the cornerstone of the majority of cloud vendors. Java’s portability is a reassuring ally in your cloud strategy.

On the other side, cloud vendors want to show they are a safe choice. To convince enterprises and startups to make the effort, and climb the beanstalk towards the cloud, vendors need good answers for those concerns. Making sure customers have an exit strategy and are not locked-in is a great way to make them come and stay. The safer choice the vendor wants to be, the more compatible and standards compliant it needs to prove itself. Java plays an important role here, and many vendors are using Java to show how easy it is to bring existing applications to the cloud.

Vendor and cloud independence is a worthy goal, pursued through many ways. Apache jClouds, Cargo, Open Shift Cartridges, Docker are just a few examples of open source projects that foster cloud independence. Providing ways to deploy Java applications to many vendors helps everyone. Cloud providers attract more developers. More competition creates a powerful, compatible and widespread ecosystem. The combination of Java, application servers and cloud independence tools may not be perfect. But they provide a level of freedom of choice that is workable in real world projects.

And this is where we get to Jelastic. Among the many cloud vendors, Jelastic has an interesting business model. Focused on standard Java and Java EE environments, the service allows applications to run unchanged. From internal infrastructure to a cloud environment is an easy migration. More interesting, Jelastic is a community of partners. Data centers across the globe provide the computing capabilities to run the platform as a service offering. You get a choice of different vendors, in several locations and regulated by different government and laws. But you also have the freedom to take your application back to your premises or even to other vendors that support Java.

The freedom to choose to leave is why you can confidently choose to stay. It reduces concerns and increases competition. This is the power of the Java ecosystem. The power of choice.

Posted in Cloud, DevOps, English, Java | Tagged , , , , , | Leave a comment

Combining Continuous Deployment, Containers and JavaOne

Continuous Deployment

In a presentation (I think it was from Rundeck) I heard the phrase “service is software running”. It makes a lot of sense. Software is useful when it is deployed and functional. Deploying software — getting the code running, solving real problems for their users (even if it is just one!) is a software developer’s pride and goal.

Yet, we many times leave the deployment process for later. Tomorrow. Next week. When the code is ready. Or we shy away, and let others take care of it. Too frequently, deployment happens because marketing mandates… Deployment is linked to “stability”, and change is seeing as a bad thing. We are kept at bay, since development equals change. Many times we developers just don’t want to take the responsibility…

It is refreshing to see that we are reacting! Just see the Agile, Lean, Craftsmanship, DevOps and other similar movements. Developers are assuming their responsibility and are increasing their participation in the deployment process. Under the banner of “Continuous Deployment”, we are learning tools and techniques to embrace change instead of preventing it. When change is a main part of the process, we can create stability without stagnation.

JavaOne

At JavaOne next week me and Edson Yanaga will discuss this. We’ll present the talk “The Deploy Factory: Open Source Tools for Java Deployment“. We’ll travel from roadblocks preventing us from embracing change, to actions we can do to solve some of those issues. Our focus is a lot on creating the infrastructure where deployment happens. Tools like Ansible, Puppet and Chef can script and automate our deployments. They show we can have a deeper influence in the end-to-end deploy process.

Containers

But something was missing… More and more we are entering the discussions around containers. Docker is grabbing all the attention. Containers offer new ways of creating managed environments, that are easy to use. PaaS and IaaS providers are consolidating their platforms, offering a powerful environment for developers. Although we do touch on some of those things in the talk, we think there are more things we can explore…

There is a vendor that we know well on the Java space that uses containers to provide a PaaS platform for developers. Jelastic. I was always intrigued on how Jelastic offers standards-based solutions in datacenters around the world. This does bring freedom and choice for developers. But both me and Edson have always focused on the “automate your own infrastructure” aspect, not on PaaS. As our talk at JavaOne suggests, we are pretty skeptical that a PaaS solution can provide the flexibility needed by developers.

Lets combine it all!

What brings us to this post… A few weeks ago, we met with Jelastic founder and CTO Ruslan Synytsky in his first trip to Brazil. Ruslan insisted on how the usage of containers can indeed create a flexible alternative in a PaaS solution. So, we decided to take it for a spin! Helped by Locaweb, a Brazilian cloud provider, we set up our own “personal cloud”. We are using Jelastic Private Cloud product, to test how far a solution based on containers can take us.

This was all the time we had before JavaOne, but the plan is to try it out in the next few weeks, and stress test it. Not for performance (after all, our private cloud is pretty limited), but for developer focus. Can a container-based solution provide developers with what they need? Can it be flexible, easy to use, provide control? Can it help out with deployment without limiting options? Does it support any architecture we are using in our projects? Will it lock me in to a specific vendor?

Those are valid questions that we would like to discuss. Jelastic and Locaweb are helping out, providing the necessary technical support. But the possibilities that containers bring to our projects go way beyond a single vendor. It impacts how we develop software!

So… what would you like us to probe? What fears do you have today when adopting solutions like PaaS, private clouds, containers, that we could test out? Do you have an application that you want to run in this environment? Get in contact (or tweet to @AskDevOps or #AskDevOps) and lets see what we can explore together! If you’re at JavaOne, come to our talk, lets experiment were this is all going!

Posted in Cloud, DevOps, English, Java, Open Source | Tagged , , ,

Devoxx4Kids Brasil: kids, teens and beyond!

Any ideas on how to spending an amazing time in a nice, hot, sunny, summer day Sunday with your whole family? How about spending the day indoors, in front of computer screens, with the window shades down, together with a hundred kids of all ages in a closed space? Sounds like fun?

You bet it is! We had a great time during Devoxx4Kids Brasil, that happened this past Sunday, in Globalcode’s São Paulo offices. The event was organized by Globalcode, with support from SouJava. A hundred kids filled the corridors and lab rooms, with their laughter and enthusiasm. In front of computers, in singles, doubles and manys, kids of all ages learned about programming, internet of things, robotics, LEDs, games, sensors, computer languages, electronics, Java, and much more!

Kids had a blast! The most asked question I heard that day was variations of “when are we having the next one?”. Like the kid wanting to know if the course was going to happen every Sunday! Even the parents wanted to now “what’s next”.

Several choices, one great fun day!

Lara and Yara at the Scratch workshop. Fun for all ages! (picture by Luis Bicudo, Globalcode)

No wonder they wanted more! There was a choice of classes, each one with its own “WOW” factor. Kids could join the funny class presented by Yara Senger that taught programming using the scratch language. By creating virtual Harlem Shakes with digital monsters or crazy Zebras that followed the lead of a famous flappy-game, kids learned programming skills in a fun, light environment. But maybe they were more into games, and joined Paulo “JCranky” Siqueira on his Minecraft classes. Do you also like to play it? But kids really went crazy with the possibility of creating extra-strong TNTs, infinity-deep holes, and other funny tweaks of their beloved game. My personal favorite was the mixture of programming, robotics and electronics that happened on Vinicius Senger‘s Internet of Things class: what can beat the excitement of building your… your own… robo-stuff-house-light-thing-that-does-really-what? All you need was a quick peek at any of those rooms to hear and see the extreme fun the kids were having.

Karina (right) talks with one of the kids, during the coffee break (photo by Luis Bicudo, Globalcode)

Once the corridors and common spaces became silent and no little critter could be seen dangerously running between other larger beings, it was our turn to join the action. On the aptly named “Bill Joy” room, we got to work on providing some fun for those that have to pay the bills! Me and my wife, Karina Souza, gathered all the parents — that honestly, were a bit lost without their little ones nearby — to discuss ideas for getting involved in their kids computer and programming explorations. I think the famous Bill to whom the room was named after would be proud to see the interest of those big kids in learning and sharing their own experiences.

Parents need help to help our kids!

Lets face it, even for us, developers and nerds, it is not easy to teach our kids to explore the vast array of the computer programming world. OK, OK, there are some of us that are amazing teachers! But for the most part, our kids wonder what is that we actually do! (I remember when my older daughter had a “what your parents do” class, and was very happy to report that “Daddy stays home all day, playing games on the computer”. I’m glad my boss didn’t get that report!). So, while organizing Devoxx4Kids, we were worried about what those poor parents would do, once they went back home and had kids wanting to do more, or telling them that they now “had to” play 10 hours of Minecraft a day, or deciding to see how many LEDs they could pluck from inside the big “LED TV” sitting idly in the living room…

Devoxx4Kids-4-Parents room was packed! Lots of discussions. (photo by Luis Bicudo, Globalcode)

For lack of a better name, our Devoxx4Kids-4-Parents parenting discussion was a lot of fun also. The first thing we need to realize is that just because kids stay all day in the computer, it does not necessarily means they are “computer wizards”, nor it means they are learning highly valuable skills. One father rightly remind everyone that even we, grownups, many times have a hard time focusing. We sit on the computer needing to crank some code, and a few hours later, we’re still reading emails, updating our Facebook status or trying to correct one more person that is wrong on the Internet! Although it is important that they can explore, kids dealing alone with the digital world won’t magically know how to find more meaningful entertainment.

Keeping up with kids digital activities can be a lot harder for parents that don’t have a technical background. That’s why I brought to the discussion the experiments done by Sugata Mitra in his “Hole in the Wall” project. Sugata experimented how kids learn by themselves, and his studies give us some great insights on how we can help our own children to explore and learn things. Many from my generation did experiment that, when we started learning computers when it was a mystery, and our parents supported us, even not knowing what that thing was. We need to support our kids the same way: coach them and probe them to explore and build.

Build. Ship. Look for meaningful entertainment.

Because in the end, it does boils down to building. The Internet is an infinite source of easy, effortless entertainment, that won’t add anything to our kids. We need to encourage them to build, to take the effort of doing something, and delivering what they created. Steve Job’s quote “real artist ship” comes to mind here: “shipping”, be it a video we shoot and edited or a small app we developed, is an important skill for our children to learn. And the Internet is also the most amazing publishing platform, that can give our kids infinite resources to express and build. But we need to help them choose the harder, but more satisfying, entertainment, by building instead of simply watching.

Vinicius, Pedro, Maricy and Bruno (photo by Luiz Bicudo, Globalcode)

At the Devoxx4Kids-4-Parents discussion, we touched in all of this and more. An amazing example of helping our children succeed in things we don’t know about came from Maricy Padilha, when she told us the experience she had with her son. She had tried to get him interested in sports and music and a host of other things that she knew about, but when he wanted to learn computers, she helped him find training (at Globalcode), and he started down a path that she didn’t understand, but that didn’t prevent her from supporting, spending time, and being proud of him (and with him!). During Devoxx4Kids, her now 15 years old son, Pedro, was a co-instructor, helping out Vinicius Senger on the IoT classes.

Time is better than toys. True in the Internet too!

Bruno and Marcelo talk to parents at Devoxx4Kids-4-Parents discussion (photo by Vinicius Senger)

Parents highlighted the importance of spending time with our children, like Marcelo Souza, that told us about when he gave his 8-year-old son his first computer. Starting with a beaten down computer, he and his son worked together to clean, rebuild, reinstall, remake the computer. The time you spend with your kid is more important then the price or the capabilities of the machine. Marcelo has now built a RaspberryPi computer, that he and his son can hack on both hardware and software, and they are now working together on programming. Marcelo said that by having a less generic computer, built specifically to teach programming, it helps cut down on all the distractions, what paradoxically, gives his son more freedom to experiment and explore what really matters.

Kids know what they like. Listen. Adjust.

Juliana (middle) and Manfredo (right) have Saturday classes with Bruno. Here, they are at the IoT Workshop. (photo by Luis Bicudo, Globalcode)

Karina Souza and I talked a bit about what we do with our kids at home, where we host computer classes during Saturdays. We found out that having external friends joining in helps increase the excitement, and contrary to expectations, it also increases the focus on the activities. Sometimes we try to do things our way, meaning the best, but I learned that asking our daughters what they like and what they don’t is very insightful. They know exactly! Our kids prefer activities where they try to solve a problem together, instead of the times they each have to do their own thing. They also prefer to go after larger projects, with several little problems to solve, instead of learning from the little disconnected, educational only activities. It is interesting that Sugata Mitra’s research shows exactly this, but my kids had to tell me before I really “got it”.

More resources to come…

From the things me and my wife tried to everything other parents suggested, we gathered a nice list of resources. There is an wealth of good stuff out there for parents to help their kids going into programming and computers. Since this post is already too long, I’ll compile a list of what we got, and will add as a separated post, to make it easy for parents to find and refer.

Time flew during the discussions, and when we least expected, the Devoxx4Kids-4-Parents activities got to the end. The laughter and noise of the kids outside in the corridor is impossible to ignore, specially since parents have a special ear for that. Before we knew, we all joined them in that moment of happiness! Devoxx4Kids planted the seed. It was amazing to be part of it and we hope that the enjoyment and the energy that parents and kids received that hot, sunny, summer-day Sunday will continue to bring us closer to our kids, so we can learn and build with them the future wonders of the digital world!

Many thanks to the Devoxx4Kids team, for making this possible. And thanks to the amazing friends Yara and Vinicius Senger, for hosting and putting together a memorable event, that will improve each one of our families!

P.S.: There are many more pictures of the event here!

Posted in English, Events, Family, Java User Groups

LinguÁgil – Multi-language, Agile Event

I’m now coming back from a trip to Salvador, a beautiful city in the Northeast of Brazil where I went to speak at the LinguÁgil event. LinguÁgil, as the name implies, is a clever mixture of “Language” and “Agile”. The event joins together many communities that are traditionally not engaged, and mixes many language communities — Java, Ruby, Python, C# and others — all under the common theme of Agility and software development best practices.

Bruno at the opening talk of LinguÁgil (photo by Rodrigo Souza, LinguÁgil)

Bruno at the opening talk of LinguÁgil (photo by Rodrigo Souza, LinguÁgil)

The event is run by several User Groups, and the Java community is represented by JavaBahia. This collaboration between groups is the strength of the event, that not only shows that working together is possible, but also makes the event more relevant, more interesting for attending developers and also more rewarding for potential sponsors. With all the difficulties associated with the making of an event, Java User Groups should consider the benefits of teaming up with other local groups — both Java and also from other technologies — to create something that is larger, more meaningful, and as such, able to attract better speakers. LinguÁgil is a fine example of success doing just that!

Other events in the near future here in Brazil that have achieved success by the joint efforts from multiple communities include The Developer’s Conference (TDC), that brings together many developer-focused communities, and the Fórum Internacional Software Livre (FISL), that attracts many Free and Open Source communities from all over the world.

Pre-event activities: time with friends!

Before the event started, I got to spend quite some time with Serge Rehem, a friend since the time I joined the Brazilian Income Tax Application Java team. With his untiring energy, Serge used to be the instigator behind many activities around Java in Salvador, and was one of the original wranglers that lassoed the diverse communities into working together to make LinguÁgil. Serge also worked on many other initiatives that helped improve the state’s position in the Brazilian development scene. A mixture of developer, entrepreneur, manager, marketeer, Serge has interest and experiences all over the spectrum! It was an amazing time discussing with him marketing ideas for startups and his ideas on how to grow my own startup, ToolsCloud. Serge is the mastermind behind my recent series of videos around open source development tools (pt-br), and we spent time discussing other cool ideas. Be it swimming in the beach in Guarajuba or eating an amazing “Shrimp Bobó” (Bahia definitely has the best sea food dishes I ever had!) we discussed so many things! From new ideas of software products, to parenting and what we can do to help our kids learn about computers and programming, to new business and even religion. I have to thank Serge’s family — specially his wife Larissa — for putting up with our endless conversations!

Tutorials: deep dives into technology

LinguÁgil starts with 2 full days of tutorials. Spread over many parallel tracks, speakers have a chance to present 4 and 8 hours tutorials, diving into a specific topic. My talk was a tutorial on Application Lifecycle Management with Open Source Tools (slides in pt-br), showing how projects of any size can benefit from the amazingly powerful open source tools that exist today, that can consistently reduce project risk while being unintrusive and helping improve developers satisfaction.

Bruno and Edson talk about ALM Open Source tools at LinguÁgil (photo by Rodrigo Souza, LinguÁgil)

Bruno and Edson talk about ALM Open Source tools at LinguÁgil (photo by Rodrigo Souza, LinguÁgil)

I was lucky that Edson Yanaga also came early to the event, and had the pleasure to have him co-presenting the tutorial with me. Edson is a believer of the Software Craftsmanship movement, and his usage of the toolset to promote better development is a burst of energy to those listening.

After my presentation, at the hallway right outside the tutorial rooms, we ended up in the middle of a very diverse group, composed by Java, .NET and Linux developers. That made for a lively conversation! It is always interesting to see how developers in a live setting can discuss and share experiences, that many times is impossible to do online on lists and forums (because it quickly degenerates) or even in traditional events where one technology is dominant. That one discussion proved the success of LinguÁgil’s approach!

A full day of talks: the power of simplicity!

Saturday is the day where the talks happen. One auditorium, one track, one day. The power of this simplicity is sometimes lost when we try to make really large events with lots of parallel activities. But with a single room, developers get to watch the whole set of speakers, and everyone enjoys it. One-track events happening on Saturday is a great way to do something easy to organize, but powerful. In the case of LinguÁgil, it also foster the merging of the communities. Developers don’t self-separate on their own tracks and communities, and everyone has a chance to learn from the success of everyone else.

Bruno and Edson opening talk at LinguÁgil (photo by Rodrigo Souza, LinguÁgil)

Bruno and Edson opening talk at LinguÁgil (photo by Rodrigo Souza, LinguÁgil)

For the speakers, it is great to be able to give talks that span multiple communities, and be able to reach developers from all areas. Together with Edson Yanaga, I did the opening presentation of the event, “Jack, the Giant Slayer, a Cloud Computing Story” (in pt-br: “Escalando o Pé de Feijão”). Going higher and higher into cloud technologies, we spoke about the importance of automation on software development, and how you can benefit from virtualization and cloud technologies to achieve higher levels of automation in your projects, improving both the development side, but also fostering DevOps practices. Although we are Java developers, our focus was on language-agnostic open source tools and ideas, and from the questions and comments, that was appreciated by the crowd.

Using time wisely

Whenever you have time to meet with other developers and friends, better use the time wisely. Since we were meeting face to face, me and Edson submitted a joint talk to JavaOne. I don’t think I ever submitted so early before, and felt really good, glad we found some time to do it! If you have not submitted your talk to JavaOne 2014 yet, why not submit this week?

All in all, it was a great and fun event! I’d like to thank Otávio Santana, director of SouJava and JavaBahia, for the invite to the event, and also, many thanks to Oracle and the Java Champions program for making my presence there a reality! To the LinguÁgil team that received me so well: congratulations guys, you did an amazing event, and I truly enjoyed being part of it!

This slideshow requires JavaScript.

Posted in English, Events, Java, Java User Groups, Open Source

The Year is about to Start!

A couple of days ago a friend of mine told me that “the year is finally about to start”. He was repeating a popular saying that we have in Brazil, that the year only starts after Carnival. That is, today. It is true that the period between New Years and Carnival tends to be slow for projects and activities. But, when my friend said that, it got me thinking… So many things already happened in 2014! The year started with such high energy, that I’m really impressed that we’re just after Carnival!

Start with videos…

January started for me as a crazy time, because I had launched a series of videos to push developers to use better tools for software development. The initial idea of recording 3 videos ended up growing to 6 videos, 2 webinars, 2 interviews, many external participations and several side activities like events and discussions (sorry, those were all Portuguese!). In the end, more the 1500 people followed the “New Year, New Project” series, it was quite a start of 2014!

Add some JCP face to face discussions…

Right in the middle of this, the JCP face to face meeting happened, together with the User Group Summit, in California. At the JCP meeting it was great to work together with Mohamed Taman and Badr Elhouari, representatives of Morroco JUG, the new elected JUG that joined the JCP Executive Committee and also with Jim Gough, London Java Community’s new JCP representative. Together we presented new ideas for more community activities around Adopt-a-JSR and other cool things that companies can do to engage better with JUGs worldwide. For JUGs, there are great ideas on the presentation that will surely help to improve existing or new Adopt-a-JSR efforts.

And several Java User Groups!

Tori Souza and Bruno Wieldt (or vice versa) at the JUGs Summit

Tori Souza and Bruno Wieldt (or vice versa) at the JUGs Summit

In the same venue, and basically at the same time of the JCP meeting, was happening Oracle’s User Group Summit, with a large presence of Java User Groups. So, it is not surprising that many of the conversations during the summit were around Adopt-a-JSR. Besides getting to know what is being done by other groups, we had a great discussion about using Gamefication (led by Jim Bethancourt) and how we are seeing a stronger interest from developers on interactive activities. It was the general feeling that JUGs should consider implementing Hackatons, Competitions, and similar activities for their Adopt-a-JSR efforts and also during events and monthly meetings, that this will help grabbing developers attention.

Insert barbecue here…

The “Chinascaria”, hosted by Steve Chin, Executive Chef Bruno Souza (picture by Steve Chin)

Right before the JCP and JUGs meetings, I joined Stephen Chin in hosting an amazing barbecue at his house. I came straight from the airport, with a brand new Brazilian rotating rotisserie grill, and landed in Steve’s house just minutes before the crowd arrived. Steve and Sharat had amassed an incredible list of typical supplies, from Brazilian cuts to sausages, famous drinks (both alcoholic and non), deserts and more! With the help of Jim Weaver and many others (not to mention the infinite support and patience from Steve’s family!), we sprung a full, authentic, Brazilian barbecue in the hearth of Silicon Valley. That’s Steve’s “Chinascaria”, and you should come if you ever have the chance!

Sprinkle some hackatons and a very very very large event…

Tents at Campus Party: 7 days, 24 hours, 8000 geeks == FUN! (picture by Campus Party)

And talking about hackatons, this is exactly what we did right after the Summit! I’m the President of the Campus Party Institute, and help organize one of the world’s largest gathering of Internet geeks and nerds, the Campus Party Brazil event, in São Paulo. Campus Party is a 24h, non-stop event where thousands of Internet enthusiasts camp for a full week to discuss and experiment the Internet.

Vinicius Senger and Angela Caicedo present on SouJava’s RaspberryPi Hackaton (picture by Globalcode)

During the event, SouJava organized and run a RaspberryPi hackaton, supported by Oracle. The competition highlighted the benefits of doing an around the clock event, and the teams worked for 3 days, with little sleep, to produce some incredible applications! It was great to work with Vinicius and Yara Senger, and all the SouJava team, on making this happen!

Vinicius Senger helps hackaton teams: 3 days, very little sleep! (picture by Globalcode)

Bruno Souza, Vinicius Senger, Edson Yanaga and Priscila Mayumi discuss ALM and Automation in Campus Party (picture by Campus Party)

The RaspberryPi challenge was just one of dozens of activities I was part of in Campus Party. Besides giving several talks, about Cloud Computing, Application Lifecycle Management, Open Source and Startups (talks in pt-br), I’m also responsible for the main stage of the event, and this year I got to receive some great speakers. It was nice to meet Bruce Dickinson, lead singer of Iron Maiden, and watch his must see presentation about entrepreneurship. Another speaker that I really enjoyed watching and talking with was Silvio Meira (talk in pt-br), one of the great promoters of technology and startups in Brazil. There are many things that need to be done in this country to support new ideas and innovative companies, and Silvio knows them all. Very inspiring!

After 7 days living inside Campus Party, I was really ready for the year to end… How come it didn’t even start yet?

More Adopt-a-JSR!

But there was more things happening! Adopt-a-JSR activities are picking up, and CloJUG did a nice hangout with a few JUGs, to share experiences, organized by Alexis Lopez. Most of it was in Spanish (bad Portunhol in my case), but Jim Gough spoke in English. I also added some English notes in the link above. SouJava also started 2014 reinvigorating its Adopt-a-JSR efforts, and with more then 100 participants on the program, we are now running by-weekly meetings, that are going pretty well, thanks to SouJava’s JCP EC representative Fábio Velloso rounding up the participants!

And more hackatons!

IMG_5607

Panel of judges in the IBM Mobile Hackaton (picture by Globalcode)

Proving that developers are interested in more hands-on activity, I helped in one more hackton, this time supported by IBM. On the Mobile Hackaton, developers worked to create mobile applications for large events, like the World Cup. The applications created in 3 days were pretty impressive, and the judges had a though job! The event was masterfully organized by Yara Senger, from Globalcode.

Even a new application server?

SouJava also hosted RedHat’s WildFly launch. We had presentations from Fábio Velloso, SouJava Director, and Arun Gupta, RedHat’s Evangelist. The event was transmitted live (partially in pt-br) from inside the Free Software Competency Center of the University of São Paulo.

Startups! Don’t forget the startups!

Another topic that is attracting a lot of developers lately is the discussions around entrepreneurship and startups. Campus Party had a large area dedicated to the topic, and

Bruno Souza talks about his experiences during Sebrae's StartupWorld event

Bruno Souza talks about his experiences during Sebrae’s StartupWorld event (picture by Camila Vilhena)

every hackaton ends up agitating this discussion also. Recently I was invited to talk about my experiences at StartupWorld, an event hosted by Sebrae, the Brazilian Service of Support for Micro and Small Enterprises. The energy and interest of the startups was very exciting, and I talked about how Cloud and Internet technologies can be effectively used to support and foster innovation.

And now, the year can really start!

Looking at my friend, I wasn’t sure exactly where to start explaining to him how many things already happened in 2014… So, I told him that I’m looking forward for the year to start, because it looks like it will be really really busy! And I’ll jump start it by submitting a talk to JavaOne! That should be a good first move!

So, how does your 2014 looks like? Maybe we can meet somewhere for a barbecue?

Posted in English, Events, Java, Java User Groups, JCP

Ler Inglês é Fundamental para o Desenvolvedor!

(This post is in the Portuguese category. Apologies to my English-reading friends, but the topic is the importance of reading in English!)

Você é ou pretende ser um desenvolvedor de software? Você precisa ler e escrever inglês. Se você não se interessa em ler inglês, não pretende aprender, ou acha que pode aprender mais pra frente, então, talvez você precise procurar outra carreira… Deve haver alguma profissão em que ler inglês não seja importante. Desenvolvimento de software não é uma delas…

Imagine você, desenvolvendo em Java, e precisa usar uma biblioteca. Na sua ferramenta de desenvolvimento, você digita o nome de um objeto e um “.” para ver os métodos que pode utilizar… E vê algo assim:

MetodosEJavaDoc

Quem não tem fluência no inglês, fica perdido… É como se fosse uma espécie de analfabeto no mundo da programação. E isso é o básico. Sem falar em aprender através de artigos na Internet, acesso a livros, participar de projetos open source, trocar experiências com outros desenvolvedores, e muito mais.

Não dá pra fugir: é sua obrigação como desenvolvedor ler inglês tão bem quanto você lê português. E também escrever inglês… Pelo menos tão mal quanto você escreve português! (É, eu sei… escrever bem não é o nosso forte…)

Não deixe para amanhã. E não fique tentando aprender só no trabalho, com livros e artigos técnicos. As dicas são simples, qualquer um pode seguir. Se você já sabe um pouco, é mais fácil. Mas mesmo que você não saiba nada, você pode mudar a sua carreira de desenvolvedor nos próximos poucos meses, seguindo 4 dicas simples!

Dica #1: Leia em Inglês algo que Você Goste

Começe com algo simples, que seja voltado para pessoas de vocabulário médio. Livros leves para crianças e adolescentes são uma boa pedida (Harry Potter, The Hobbit, I Robot, Percy Jackson, Narnia). Escolha coisas que você gosta, como livros de ficção, de esportes, culinária, revistas em quadrinhos, livros de RPG, artigos sobre filmes, sei lá! Algo que voce goste e queira ler. E leia em inglês. Leia com dicionário do lado (um dicionário no seu celular ajuda!), traduzindo palavra por palavra se for o caso. Leia. E quando acabar, leia outro. E outro. Quanto mais você ler, menos palavras precisará traduzir. Lembre-se, seu objetivo tem que ser ler inglês tão bem quanto você lê português, por isso você precisa ler muito. Se possível, abandone a leitura do português um pouco: leia notícias, blogs e tudo o mais em inglês.

Faça isso por no mínimo uma hora por dia. Leia por 25 minutos, focado, sem interrupções. Se for interrompido, começe o tempo de novo. Pare, descanse por 5 minutos: leia email, vá beber água, assista um filme no YouTube (ei! 5 min só!). Faça mais 25 min de leitura. Focado. Faça isso todos os dias, pelo menos até você conseguir ler um livro recorrendo pouco ao dicionário. Nessa uma hora, não leia coisas técnicas nem nada relacionado ao trabalho, muito menos algo que você tenha um prazo. Leia algo que você queira! Ao ler algo que você gosta e se interessa, você não vai considerar isso obrigação, e vai fazer até nas horas vagas e fins de semana. É isso mesmo: todos os dias. Quanto você puder. Esse é um investimento que vai mudar sua carreira como desenvolvedor, então, quanto mais melhor!

Dica #2: Assista Filmes em Inglês, Legendados em Inglês

Assisitir filmes em inglês, legendados em inglês também ajuda bastante. Mas você precisa ter um pouco de vocabulário pra começar, senão, não dá pra entender nada, e não tem como usar o dicionário. Observe que o objetivo é treinar a leitura! Por isso, leia a legenda! O filme ajuda porque são diálogos mais curtos, menos descrições, o visual dá o contexto, te obriga a ler rápido. Assista o mesmo filme várias vezes. Assista filmes que você já assistiu em português. Repetição é importante, é por isso que as crianças gostam tanto de ver o mesmo filme milhões de vezes! Assista algo que você goste, mas procure desenhos animados e coisas pra crianças e adolescentes. Não faça isso com filmes densos, policiais, de mistério, com diálogos difíceis e trocadilhos… Filmes leves e divertidos te ajudam a continuar.

Dica #3: Instale o Jogo Duolingo

Baixe no seu celular o jogo gratuito “Duolingo“. Sempre que quiser jogar um joguinho, jogue o Duolingo. Na fila do banco. Enquanto espera o ônibus. No elevador. Enquanto espera o build terminar… O Duolingo é um jogo feito para ensinar línguas. É viciante, divertido, e realmente funciona. Só cuidado que uma hora de Duolingo não substitui a sua hora de leitura. Use ambos!

Dica #4: Aprenda as Palavras mais Usadas do Inglês

Rubens Queiroz de Almeida publicou na Unicamp um estudo em ’99 mostrando como é possível aprender a ler inglês em 4 meses. A idéia é bem bacana e vai na linha do dicionário que falei acima. Ele pegou as 2000 palavras mais usadas no inglês (ordenando todas as palavras de todos os livros do Projeto Gutenberg) e criou um programa de ensino onde você aprende as palavras na ordem que elas são mais usadas, e publicou um livro sobre isso. A idéia é boa, e se você combinar isso com a dica de ler algo que você goste e queira (porque só ficar lendo palavras é beeeeem chato…), isso vai te dar um foco excelente no seu aprendizado! Você pode baixar uma versão gratuita do livro com as primeiras 750 palavras, que já é um bom começo!

Dica extra: Projeto Gutenberg

Vale um parênteses aqui… O Projeto Gutenberg é o mais antigo projeto colaborativo da Internet, e fornece dezenas de milhares de livros gratuitos, em formato texto, ebooks e até audio books. A maioria dos livros está em inglês, e você pode ler maravilhas da literatura infanto juvenil como Alice’s Adventures in Wonderland, Grimms’ Fairy TalesPeter PanThe Wonderful Wizard of OzThe Life and Adventures of Robinson Crusoe e Aesop’s Fables. Ou então clássicos da literatura e da ficção científica como The Time MachineThe War of the WorldsThe Adventures of Sherlock Holmes. Alguns, como Around the World in Eighty Days, estão também disponíveis em audio books que você pode usar para treinar seu ouvido! Tudo isso de graça, presente de milhares de voluntários. Escolhe um desses, e começe seu estudo!

Sem Inglês Não Dá… Eu já Passei por Isso!

Quando eu aprendi inglês, eu não sabia dessas dicas… Eu era muito ruim em inglês… Estudei o primeiro grau em uma escola que ensinava francês e quando mudei de escola, apesar de ser um aluno razoável no geral, quase reprovei de ano por não saber inglês. Minha mãe tentou e depois me tirou de um curso externo de inglês porque o professor disse que ela estava jogando dinheiro fora: eu não aprendia nada, e só ia mal nas provas…

Mas eu jogava um jogo chamado “Advanced Dungeons & Dragons“, o AD&D, uma espécie de “avô” dos RPGs modernos. Não existiam livros em portugês, e  jogávamos com cópias xerox trazidas por um amigo meu, que, filho de diplomatas, estudava na Escola Americana. Eu sempre queria ser um “Magic User” (na época não chamava “Mage” nem “Wizard” ainda), que era o personagem que mais precisava do inglês: tinha que ler e conhecer um monte de mágicas! Até hoje eu tenho os livros, com páginas inteiras traduzidas palavra a palavra (escrito em letras minúsculas entre as linhas). Quando eu tive a oportunidade de passar um tempo nos Estados Unidos, eu falava pouco, entendia quase nada, mas tinha muito vocabulário e lia inglês com fluência suficiente para ir à escola. Sem saber e sem querer, eu tinha aplicado as dicas desse artigo, e já não era analfabeto em inglês, o que me permitiu realmente aprender inglês!

Minha filha passou por algo similar. Só que em vez de um jogo, ela curte música. E lia (e traduzia palavra por palavra) todas as músicas em inglês que gostava. Lendo e ouvindo música, ela conseguiu um vocabulário de dar inveja. Hoje, com 15 anos, eu passo pra ela livros e textos, que ela acha que não vai conseguir ler, mas lê sem nenhum problema. Ela lê e resolve pendências no Issue Tracker da empresa, que estão todas em inglês. Isso sem nunca ter feito curso de inglês fora da escola. No mês passado, ela fez uma prova para entrar oficialmente em um curso de inglês, e entrou direto no penúltimo ano do curso avançado. Lendo e ouvindo música.

Hoje o inglês é parte fundamental da minha carreira. Foi por ler e escrever inglês que eu pude me envolver com Java quando a tecnologia se tornou pública em ’95, quando tudo que existia era um site e uma lista de emails. Ser capaz de aprender as tecnologias Java enquanto elas são criadas, através das discussões e especificações do JCP sempre me deram uma vantagem competitiva, e me permitiram crescer na profissão como desenvolvedor e evangelista. E vai ajudar você também a crescer na sua carreira!

Leia!

Resumo: leia em inglês. Tudo. Pare de ler em português por um tempo. Leia com dicionário do lado, coisas que você gosta de ler, para que você faça isso com prazer e não como obrigação. Uma hora por dia. Todos os dias. Não se preocupe o quanto você leu, o importante é fazer por pelo menos uma hora.

É isso. Não dói, garanto. Daqui a 4 meses, quando você estiver lendo em inglês assim como você lê em português, você vai descobrir novos horizontes para a sua carreira!

É só querer. E ler! Vale a pena.

Posted in Portugues | Tagged , | 6 Comments

Java 7 has launched!! Congra… What is this now?

I have been traveling quite a lot in the last few months, specifically to help with the Java 7 launch. During very important events, like the International Free Software Forum, FISL, and the very successful The Developer’s Conference, TDC, where SouJava also hosted the Brazilian participation of the pre-launch of Java 7, I and many other JUG leaders, gave talks about Java 7, promoted the good will of the community around Oracle’s efforts, dispelled doubts that Java is losing its importance and promoted the openness represented by OpenJDK.

The party has been fun, with the participation of many Java User Groups, hundreds worldwide. In Brazil, Mauricio Leal, Yara Senger and others from SouJava worked with JUG leaders to help them get giveaways and speakers and to organize more then 20 events. I traveled to several places, side by side with Java’s amazing, (nearly) untiring globetrotter Roger Brinkley, and we worked hard to reached as many developers as possible. In Brazil we had Arun Gupta (that also visited many cities), Simon Ritter, Dalibor Topic, Sharat Chander and others. Many traveled around the world.

This is an important release, Java is really moving forward! So important that despise the fact that several in SouJava expressed concerns about issues in the JCP, we have collectively decided to put those aside and vote for Java 7. We are all putting our credibility in this, to push the technology forward.

I then traveled to OSCONJava, in Portland, and with Fabiane Nardon, talked about the Future Java Developer, playing along with the jokes of “the future Java developer is a retired developer!”. We don’t think so, Java is an exciting technology and has a strong, vibrant future. And Java 7 was really release during OSCON! Very well received into the community, with many “congratulations” messages from JUG Leades, Java Champions and from the NetBeans Dream Team. Lots of twitter posts, and praises from all around! We were all somehow part of this huge milestone for the Java Community! This is the first release ever to be based on an open source project, and OpenJDK is now the Reference Implementation!

But… what is this now? With all those travels (and I’ve visited Seattle and now Pittsburgh), I pretty much missed the next few days… and surprise… Java 7 has a bug, that corrupts data? Looks like it is because it uses by default some new HotSpot optimization? Ok, there is a workaround, I’m sure the workaround has been set by default in all new downloads? No? There is a warning? No? Georges Saab has sent an email to the Java Champions, this is good. But I could not find an Oracle statement for the general public. I did a quick (totally non-scientific) poll with 8 developers that were online. All of them knew there was a bug in Java 7, none of them knew what Oracle said about it. One of them searched and sent me a link that describes the problem. This is not good…

There are timid public mentions: Henrik quotes (in the comments!) Mark Reinhold’s info that it will be fixed (try!) in update 2. Another timid Oracle response came in the OpenJDK mailing list, where Vladimir Kozlov says “we’ll try… can’t promise…”. Outside from Oracle, both Cay Horstmann and @myfear wrote wisely that this is a minor issue. And of course, Uwe, from Lucene, is quoted saying “Oracle took action by changing the priority of the related bugs”. If you go to the known issues on JDK 7 you can see it there, but it does not really tell you that this can corrupt data, and please don’t run without the workaround! Not very hopeful posts…

And I agree with Stephen Colebourne (whose message was the first I saw alerting to this fact): no one seems to be talking about it… Are we afraid to damage this important release? This does not look like a huge a technical issue: the bug has already been identified, an workaround has been produced. But it affects at least one prominent and widely used project. This is political, and the response we see from Oracle is what will define the fate of this. It is Oracle’s response that we’ll be able to quote and replicate. It is the decisive, immediate, steps that Oracle takes to fix this, that will stop the rumors from spreading. And so far, from what I can see, the response is minimal… The news that there is a flaw in Java 7 that corrupts data will hunt us for many years. Unless it can be clarified now. And not soon, immediately. Before the blogosphere spreads this even more!

Not coming forward damages the credibility of a technology that powers the world’s largest enterprises. It damages the credibility of ever JUG leader, Java Champion, Java developer, JCP member, NetBeans Dreamer, that have spent the last couple of years fueling the excitement for the new release. It damages the Java team at Oracle, and the OpenJDK project. Please Oracle, do it, and say it, loud and clear, whatever needs to be done and said. And we can all go back to the party. There are still several “post-launch” events that are happening around the globe, lets make sure developers on those events hear the right message — and that they can download a Java 7 that they can trust.

Posted in English, Java, Java User Groups, JCP | Tagged , , , ,