Devoxx Belgium is the one of the finest developer conferences in Europe. This year it’s running from Nov 6-10 in Antwerp, Belgium. I certainly have the privilege of being involved with the conference for a several years now.
What are some of the cool things about this conference?
Rock star speakers from around the world with 3 hrs Deep Dive sessions, Conference Session, Birds of Feather, Hands-on Lab, Ignite, Quickie and of course an inspiring opening and closing keynote.
Pioneers of theater-style seating – This not only provides comfortable seating
for each attendee but the screens are very clearly visible to everybody in the room.
Couchbase Connect is an event where the best Devs and Ops mind in NoSQL get together!
Inviting all developers, architects, administrators, and CxOs to Save The Date for Couchbase Connect. This event is happening in the beautiful Bay Area and could be your excuse to visit Silicon Valley! And if you are living near by, then there is no excuse not to attend!
You will hear from best speakers in the NoSQL industry. You’ll also get an opportunity to meet Couchbase Product Managers, Engineers who build the technology, Developer Advocates, Community Champions and Experts, Executive Team of Couchbase, and many more. Who knows which discussion will help you replatform your application and get ready to meet the demands of Digital Economy!
You’ll not only learn about the some of the coolest features in Couchbase, but also get to hear about our product roadmap. There will be hands-on workshops, sessions by practitioners, quick tips, informal Birds of Feather discussions and a lot more. And of course, the hallway track will allow you to socialize with attendeesand other Couchbasers.
Couchbase Connect 2016 Call for Papers
Are you using Couchbase and would like to share your success story? We’d love to have you submit a talk.
Some of the suggested topics are …
Build a polyglot application with microservices and using Couchbase
Deploy Couchbase container using any of the orchestration frameworks like Docker Swarm, Kubernetes, Mesos, and AWS ECS
Using Couchbase Mobile in a creative way
Making Couchbase Mobile offline work for you in an interesting environment
Provisioning, managing, scaling, and monitoring Couchbase clusters
Integration with Big Data platform such as Hadoop, Spark, and Kafka
Any interesting tools that you’ve built around Couchbase
Migration from RDBMS or other NoSQL databases to Couchbase
Using Couchbase in production with hundreds of nodes and multiple clusters
Connecting edge/IoT devices using Couchbase Mobile and Server
And these are only a suggestion. Feel free to get creative and go crazy!
Each talk is usually 40 mins long. But you can submit a lightning talk for 10 or 20 mins as well. The Call for Papers end on Sep 1, but don’t delay. Start thinking about those abstracts and submit a session today!
All speakers will be invited to a VIP dinner, get some exclusive swag, and a whole lot more.
What is the best practice to develop against a docker WildFly container if you do not want to bundle the WAR file after each change but use an exploded archive instead in order to just repackage static resources for example?
Docker allows mapping directories on your filesystem as volumes in the container. This can be used to develop your application against a WildFly container without the need to be bundle the WAR with each change. This is explained in more detail at Deploy to WildFly Docker from Eclipse.
Does IntelliJ Idea support native docker on Mac OS/Windows?
Andrey: Not yet but it’s on the roadmap.
What are pros and cons of providing environment variable vs link like consul:consul?
Docker Links are legacy and so environment variables and Docker Networking are the recommended way to build any new applications. Read more details in another answer below.
What is the relation between Docker and Vagrant? Can both work together? Is docker a substitute of Vagrant?
Docker and Vagrant solve different problems.
Vagrant allows you to provision Virtual Machines independent of the host machine. This is done by using a hypervisor, such as VirtualBox. The definition for the VM is stored in a Vagrantfile, and defines how to setup the VM and what scripts to provision the environment. These VMs can be created on Linux, Windows or Mac.
Docker allows you to create containers. It is a native Linux technology based upon lxc and coming to Windows Server 2016 this Summer. Docker for Mac provides development environment for Mac.
If you need to provision a Docker Engine, then you can create a Vagrantfile that provisions Ubuntu or CentOS using Virtual Box. Then run apt get or yum install scripts to install Docker Engine. If a new version of Docker Engine is available, then you are responsible for updating the Vagrant image as well, or run the script again.
Another option is to use Docker Machine and use VirtualBox driver to create a machine that will have Docker Engine installed. The docker-machine script has commands like upgrade that simply upgrades the Docker Engine.
Docker tool window is missing in my IntelliJ IDEA 15. Plugin is installed.
Andrey: The separate tool window was added in 2016.1. Before that Docker was a part of the Application Servers tool window.
Is it possible to change index.jsp and see the change in the browser without building the image again? In the spirit of update resources action in IntelliJ IDEA?
Andrey: Sounds like a great idea. Please submit it as a feature request to tracker: https://youtrack.jetbrains.com/issues/IDEA.
Is there a performance increase for using xhyve/Hyper-V over VirtualBox?
Docker for Mac runs Docker Engine in Alpine Linux distribution on top of xhyve Virtual Machine for Mac OS X or on Hyper-V on Windows. xhyve is built on Hypervisor.framework in OS X 10.10+. Some of the primary advantages of using a native technology as opposed to a Type 2 hypervisor is native look-and-feel, better performance, and better volume management.
Connect containers to each other across different physical or virtual hosts
Containers using Networking can be easily stopped, started and restarted without disrupting the connections to other containers
You don’t need to create a container before you can link to it. With Networking containers be created in any order and discover each other using their container names
How can one expose a host port to a container running on the host?
Ports in a container are exposed on the host using -p with docker run. Ports on the host can be accessed using <host-ip>:<port> directly.
Oracle publishes Dockerfile for JDK but don’t publish the images. Note that this definition uses oraclelinux:latest as the base image and you may want to use ubuntu, centos or alpine. In this case, you can create your own Dockerfile.
How do you have a container with WildFly use a container with the db on another server?
Docker Links are legacy and only allow containers to talk to each on the same host. The recommended way for two containers to communicate is using Docker Networks.By default, Docker Swarm cluster creates an overlay network that allows multiple containers to talk across hosts. Multi-container and multi-host applications using WildFly and Couchbase shows how to connect WildFly with Couchbase where each container is running on two separate hosts on a Docker Swarm cluster.Here is the Compose file for reference:
This event was started as a one day single track conference for technical evangelists, developer advocates and anyone interested in developer relations in London by @matthewrevell. @mewzherder and I partnered with him to bring the event to the United States.
The inaugural event had 15 speakers, 15 sponsors, 100+ attendees from 10 different countries (from the United States of America and around the world to Japan).
The craft of #DevRel has become mainstream in the past few years. You can call us as a technology evangelist, developer advocate, API evangelist, platform evangelist, or any other name. And yes we can passionately debate about what is the right name. But essentially we help other users, whether they are developers, customers, architects, partners, or any body else, be an effective user of our technology/stack/product. We have our tools, tricks, metrics, highs and lows, common issues and connect at multiple levels. But still there is no event that talks about us a community.
This effort is to provide #DevRel community a platform to come together and discuss the topics that matter to us.
What makes this conference unique?
This event is by #DevRel, for #DevRel, and to #DevRel
Learn from the leading practitioners in the craft of #DevRel
You learn best practices, horror stories, and lessons learned from the trenches
You meet similar minded people – whether you are a one person startup or leading/participating in a team of 100s of #DevRel. Everybody learns!
No selling products, services, and surveys. Sponsors surely play an important role but as organizers, we are leaving and breathing #DevRel every day. This is our passion and purpose!
Twitterverse was quite active through out the conference! ~1500 tweets were well scattered through out the day with the highest frequency during @codepo8‘s session:
A special thanks to @MSFTReactor for their generosity with time, $$ and space. @TobiahZarlez stayed on site all day for streamlined operations at the facility.
It takes a village to run a conference! And this event was certainly not possible without the support of fantastic and very helpful volunteers. In particular, @nlycskn, @yenerm, @c_r_w,@jbaruch and @gwendalpointeau were very instrumental in making sure the attendees were well fed, speakers were micd, sessions were recorded, and they were finishing on time. And there were plenty of students from the University of San Francisco (@usfca) to help out as well.
JavaOne4Kids is focused on promoting technology to next generation of developers; kids who want to learn more about programming, robotics and engineering.
Oracle Academy collaborated with Devoxx4Kids to bring kids content that includes several topics like Minecraft Modding, Java, Python, Scratch, Raspberry Pi, Arduino, NAO robot, LEGO Mindstorms, Greenfoot, Alice, and others at JavaOne 2015.
The attendance grew 3x from last year and it was certainly very heartening to see that!
If you live in/around San Francisco Bay Area, and want a more continued experience through out the year, then its highly recommend to join meetup.com/Devoxx4Kids-BayArea/!
Here are some statistics from the event:
A survey was sent to the attendees and some of them responded back. 95% of responses rated were happy with the event:
90%+ would recommend JavaOne4Kids to a friend:
Instructors seem to have done a good job with 97% presenting in good, very good, and excellent way:
Java gives us Write Once Run Anywhere (WORA) because of the common abstraction provided by Java Virtual Machine. The binary byte code produced by Java is understood by the JVM running on multiple operating systems. This allows Java code to run on any operating system. But deploying such applications typically requires to tune the JVM, setup application server, install appropriate database drivers, other similar configuration. Docker nicely complements WORA by defining a way to package Java applications, and include all the configuration in a an easy to describe format. This can be called as Package Once Deploy Anywhere, or PODA.
Do you want to learn more about how Docker helps with PODA?
How do you create multi-container applications using Docker Compose?
How do you deploy this multi-container application on multiple hosts running in a Docker Swarm cluster?
What new features Docker introduced in 1.9 release – particularly multi-host networking and persistent storage?
How do you deploy Docker containers using Kubernetes?
How does Kubernetes help with scaling applications?
How does Docker Swarm compare with Kubernetes?
N1QL (pronounced “nickel”): SQL-compatible query language for JSON documents
Multi-dimensional Scaling (MDS): Allows enterprises to isolate different workloads and independently scale the index, query, and data services.
Global Secondary Index: is a new access path to your data for faster lookup and higher throughput
Enhanced Security: Simplified compliance with security standards, LDAP integration, and auditing capabilities
Geospatial Indexes for location-aware applications
ForestDB, a new database engine
New filtering capabilities on Cross Data Center Replication (XDCR) allowing specific data to be replicated to specific geographical locations
With MDS and N1QL, Couchbase 4.0 becomes the first and only database to combine the powerful query capabilities of a relational database with the performance, scalability, and flexibility of a NoSQL database.
This is in addition to already an existing set of impressive features:
Lets look at some of the major features introduced in this version.
N1QL = SQL + JSON
N1QL is a comprehensive, declarative query language that brings SQL-like query capabilities to JSON documents. N1QL provides a rich set of features that let you retrieve, manipulate, transform, and create JSON document data.
Common SQL statements such as SELECT statement, Data Manipulation Language (DELETE, INSERT, UPDATE, UPSERT), Indexes, Primary Key Access, Aggregations, Joins, Nesting, Unions, Sub-queries, Union, Intersect, and much more can now be applied to JSON. Just use your knowledge of SQL and apply it to JSON documents.
A later blog will show how to get started with N1QL using Couchbase 4.0. But in the meanwhile, here are some resources to get started with N1QL:
Interactive N1QL Tutorial is an online interactive tutorial that runs in a browser and allows you to learn about N1QL without having Couchbase Server installed in your own environment. The tutorial covers SELECT statements in detail, including examples of JOIN, NEST, GROUP BY, and other typical clauses.
N1QL has full compatibility with the SQL ecosystem via connectors and standard JDBC/ODBC drivers. This allows enterprises for the first time to connect popular ETL, reporting, and BI tools to Couchbase. Companies like Databricks, Looker, Simba Technologies, Informatica, Tableau, and Metanautix are all partnering with Couchbase to provide supported integrations.
Query, Index, and Data are the three key database services. Query is CPU-intensive operation and so require a faster processor. Index is disk heavy and so require a faster solid state drive. Data needs to be read/written fast and so require more memory.
The needs for these services is quite different but yet existing databases put them together on a single node causing resource contention. For example, storing data and executing queries on the same node will cause CPU contention. Similarly, storing data and indexes on the same node will cause disk IO contention. There is network over head if a query needs to run by distributing to every node or an index needs to be stored on every node.
Couchbase 4.0 introduces innovative multi-dimensional scaling that enables to separate, isolate, and scale individual services – Query, Index, and Data – to improve application performance and resource utilization. This is in contrast to one-size-fits-all approach used by other NoSQL vendors.
This is quite different from Oracle, MongoDB and Cassandra’s one-size-fits-all one dimensional scaling. It helps in improved performance, reduced hardware costs, and enables enterprises to support a much broader set of applications with a single database: Couchbase Server.
Traditional local secondary indexes reside with data on every node of a Couchbase cluster. They’re great when you need to query all of the data, but because they query every node every time — even to return data that’s stored on a subset of the nodes — performance gets worse as the number of nodes increases.
Global Secondary Indexes (GSI) provide a new access path to your data for faster lookup and higher throughput. It’s a global index, so index lookup is much easier — there’s no need to query a local index on each data node and aggregate the results.
Learn more about GSI in this presentation from Couchbase Connect 2015:
Subsequent blogs will provide more details about each of these features and how to use them.
Here are some top-level links for you to get started:
Introduction to programming languages to kids need to be gamified. They typically seem to like it, and in the process, they also develop a liking for the language. They also have a better understanding of the typical code and run steps that is common in a software developer’s life.
Getting Started with Java for Kids
As part of Devoxx4Kids, my son and I have been teaching Minecraft Modding workshop for 2+ years now. We’ve personally reached out to 2000+ kids in Bay Area and other parts of the world, and help them write first Hello World program for Java. And its not the conventional public static void main, its a Minecraft Mod. This workshop has also been used at several other Devoxx4Kids chapters around the world.
As part of our workshops, “code” to kids is copy/pasting the text from the website and understanding it. “Build” is just clicking a button in Eclipse bringing Minecraft launcher. Once the game comes up, they know how to play it and see instant modifications. They don’t have to wait for Hello World to appear on their screen. They type “potato” and see a stack of 64 potatoes in their inventor, or they spawn an Ender Dragon from dragon egg or they make skeletons fight with each other. This is the new Hello World!
The installation of JDK, Eclipse or NetBeans, and Forge typically takes ~45 minutes. But after that initial hump, kids are able to build 3-4 mods in a total of ~2 hrs. Our philosophy is more on the lines of teaching them how to think to mod. Yes, we do teach them a few mod but we enable them to create their own mods as well.
Java is often complained about being a verbose language. But Forge decompiled code in Java makes it much easier to read the code, and help kids understand how to change it to make modifications.
The fact that kids love playing the game, this allows the workshop to just leverage their passion and help them in their journey towards becoming a Java programmer. It really helps lowering the average age of Java developer!
Minecraft Modding over Summer
Over the Summer, we delivered Minecraft Modding workshops at:
Minecraft Modding with Forge book from O’Reilly. This book is targeted at 8+ year old who has no prior programming experience. Parents with no technical background have also found this book to be a great resource.
Each session is 75 mins long.For adults, look at the existing list of sessions and think about submitting what would make your session unique.
For kids, any hands-on session would be great. The facility will only provide classroom style seating with power adapters for laptops to be plugged in. The kids typically bring their own laptops. Any software installation instruction on laptop needs to be included in the abstract and will be shared with the attendees.
Internet is typically unreliable at such facilities. DO NOT rely upon it!
How do I sign up as volunteer?
Make sure to select “Volunteer to Help” checkbox on www.siliconvalley-codecamp.com/Register/IndexStep2. The exact volunteer jobs will be posted closer to the event and you’ll be notified. You’ll need to pick the exact job at that time.
How do I sign up my kid for a workshop?
Each kid require a parent/guardian to sign up. Parents need to stick around for the entire duration of the event.
The kid signs up for the entire day and then can signup for a particular workshop once the schedule is available. Each kid registration requires to pay $50. This mostly goes towards logistics of the kids event.
Make sure to register a parent/guardian first as that will be needed during kid’s registration.
When will kids workshop and schedule be available?
In the next few days!
From a gathering of ~50 people in 2010, Minecon 2015 with 10,000 attendees created a new world record for the biggest convention for a single game.
Minecon 2015 Experience
Do you want to know what what it feels like to be at Minecon?
Minecraft Modding Workshop
Devoxx4Kids was fortunate to give Minecraft Modding workshops to ~200 kids at Minecon 2015. Feedback from all the parents and kids was quite outstanding. Glad we were able to ignite spark in some kids and get them excited in programming, and open source tools like Java, Eclipse, and Minecraft Forge.
One of the big craze, and genuine one, in the Minecraft world is about youtubers who produce video of game plays and most of them have 1m+ subscribers. Several of them were attending Minecon and we were fortunate to meet a few of them:
As Lydia walked around the main hall, most of the kids were super excited to meet their favorite youtubers!
Minecon 2015 Cape
Every Minecon attendee also get a cape that their in-game character can wear it and show-off the fact you attended a big celebration! Theme for this year was Iron Golem and it looks like as shown:
Minecraft Characters with Snaak
We also met the team behind Snaak and played around with creating some of the Minecraft characters using it.
Minecraft and HoloLens
A re-run of HoloLens and Minecraft video was also shown during one of the keynotes, and a preview is available here:
Here is the complete opening ceremony animation:
Minecon 2015 Photo Album
Check out some pictures from our trip:
And the complete photo album:
To me the highlight of the conference was meeting @SeargeDP. If there is one name that is responsible for starting modding in Minecraft, that would be him! Many thanks to him for giving us a chance to deliver minecraft modding workshops at Minecon.
And then, of course, meeting @lexmanos who is the lead developer for Minecraft Forge. We’ve authored an O’Reilly book (targeted at 8+ years old kid) and video on this topic. Several Devoxx4Kids chapters around the world have delivered workshops using the instructions based on Minecraft Forge and explained at minecraftmodding.org.
Check out a nice credential about book from one of the parents we met:
And last, but not the least, many thanks to the Mojang team for keeping the release cadence and supporting different modding communities.
Minecraft is truly a revolutionary game and allows to introduce Java programming to kids at a very early age!
It took two full night sleep and a long afternoon nap to fully recover from the excitement, stimulation, and exhaustion that sets in after meeting awesome developers, customers, partners, colleagues, and geeks from around the world. The fact that I gave four talks, one hands-on lab, participated in two panels, ran Devoxx4Kids event, talked to a lots of analysts, book signing, breakfasts/lunches/dinners/receptions, ran every morning by Charles river – all within 6 days added to the exhaustion as well 😉
In the end, it was very rewarding and inspiring to see the work others are doing!