Category Archives: conferences

Devoxx Belgium 2017 – Submit Talks for Cloud, Containers and Infrastructure Track

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.

devoxx-be-2017

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.
  • All talks recorded and released on youtube.
  • No need to pre-register for a session, just show up and watch. If you miss it, then just watch the replay on youtube later.
  • Community votes on whiteboard – Attendees gets a chance to vote on topics ranging from their favorite non-Java language, operating system, or anything you like.
  • Thursday night movie
  • Fries with mayo
  • Belgian beer and chocolates
  • We are called Devoxxians!

I’m sure there are other cool things that can be said :)

Conference’s Call for Papers (called as Call for Passion) is running. There are multiple tracks:

  • Big Data & Machine Learning
  • Cloud, Containers & Infrastructure
  • Mind the Geek
  • Java Language
  • Programming Languages
  • Methodology & Culture
  • Mobile & IOT
  • Architecture & Security
  • Server-side Java
  • Modern Web

Descriptions for each track is explained at cfp.devoxx.be.

I’m helping with the Cloud, Containers and Infrastructure track. Here are some suggested topics that we are looking in that track:

  • FaaS + Serverless (101, 201, 301, debugging dev/test, different cloud providers)
  • Serverless in Production (ideally from a customer, different cloud providers)
  • Latest deep dive on Docker, Kubernetes, ECS, DC/OS
  • Setting up container pipeline using Chef/Puppet/Salt/Ansible
  • Continuous Delivery of Microservices using Containers
  • Microservices using Netflix OSS
  • Docker and Java (cores, memory, packaging, base image etc)
  • gRPC
  • Service discovery in microservices (different approaches, w/ and w/o containers –
  • Prometheus, NewRelic, DataDog, Weave, etc)
  • Monitoring containers in production
  • Migrating from VMs to Containers
  • Design patterns and Anti-patterns
  • Gotchas, Tips & Tricks for AWS, Google Cloud, Azure and other providers
  • Any other topic that you feel is relevant

Make the job of the program committee extremely difficult. CFP ends Jul 7.

Submit your passion today!

Docker, Minecraft, Rx Java, CI/CD, Couchbase at JavaOne 2016

javaone2016-session-catalog

JavaOne 2016 Session Catalog is now live!

There are 400+ sessions from Sep 17 (Saturday) through Sep 22 (Thursday). Here are some of the places where you’ll find me:

Day/Date Time Title Co-speaker
Saturday, Sep 17 8am – 5pm JavaOne4Kids Several
Sunday, Sep 18 10:30am – 11:15am Dive into the Newest, Latest, and Cutting-Edgiest Technologies in the NetBeans IDE [UGF6434]  @mr__m
 Monday, Sep 19 8:30am – 10:30am Docker for Java Developers [TUT1887]  –
Monday, Sep 19 12:30pm – 1:30pm Docker Support in NetBeans, Eclipse, and IntelliJ [CON4236]  –
Monday, Sep 19 TBD O’Reilly Media Book Signing
Monday, Sep 19 5:30pm – 6:30pm Mobycraft: Manage Docker Containers by Using Minecraft [CON1931]  @aditya_g
Wednesday, Sep 21 1pm – 2pm Full-Stack Reactive Java Applications with Docker [CON3987]  @nraboy
Thursday, Sep 22 2:30pm – 3:30pm Building a Private CI/CD Pipeline with Java and Docker on Oracle Cloud [CON7609]  @jbaruch

And then there is “hallway track”, parties, Couchbase booth (#5002), O’Reilly Media book signing, Java Hub, and other places.

Where will I see you?

j1-125x125-i-like-this-3089434j1-125x125-im-attending-3089435j1-125x125-im-speaking-3089437j1-125x125-im-demoing-3089436j1-125x125-see-me-here-3089441j1-125x125-join-me-3089439j1-125x125-we-exhibiting-3089443  j1-125x125-register-now-3089440

Complete set of these images are available at JavaOne Speaker Toolkit.

Source: blog.couchbase.com/2016/july/docker-minecraft-rxjava-cicd-couchbase-javaone-2016

Couchbase Connect 2016 Call for Papers

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!

connect16-save-the-date

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!

Submit your talks at: info.couchbase.com/Connect_2016_call_for_papers.html.

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.

Sessions from Connect 2015 can be viewed at connect15.couchbase.com/sessions/.

Check out some pictures from Connect 2015:

connect15.1 connect15.2
connect15.3 connect15.4
connect15.5 connect15.6
connect15.7 connect15.8
connect15.9 connect15.10

If pictures are any indication, Connect will be a complete NoSQL geekgasm. You don’t want to miss the party and all the fun!

Couchbase Connect References

Source: blog.couchbase.com/2016/july/couchbase-connect-2016-call-for-papers

Docker for Java Developers with IntelliJ IDEA Webinar Replay

Video recording from Docker for Java Developers webinar is now available:

Here are answers to the questions asked:

  • What do you think of Kubernetes compared to Docker and Docker Swarm? Kubernetes or Docker Swarm? Which way to go?

    It depends 😉

    Docker Swarm has a much simpler learning curve as opposed to Kubernetes. Kubernetes is very opinionated but can be very powerful once you understand how it works.

    Some of the points worth considering are:

    • Easy to setup/start
    • Need to learn new concepts or aligned with Docker
    • How can it be aligned with your existing workflow
    • Single or multiple master
    • Support for multiple clouds
    • Cluster across multiple clouds
    • Dynamic scaling up/down
    • Rescheduling containers on node/container failure
    • Pluggable scheduler strategies (if you want to go fancy)
    • Service discovery
    • Persistent volumes

    If this question was asked a few months ago, then Kubernetes would have been the obvious choice. But Docker Swarm is really cranking out releases and features and has caught up well. Check out Docker Swarm Exceeds Kubernetes Performance at ScaleHackernews has some interesting discussion on this topic as well. Also read Evaluating Container Platforms at Scale.

    In addition, you should also look at Mesos+Marathon or DC/OS.

    Here are some blogs to get started:

  • 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.

  • How do we attach a debugger to a Java process running in a container?

    Read this great blog entry by Daniel Bryant on Debugging Java Applications running in Docker.

  • 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.

    Some more interesting discussions are at StackOverflow and Quora.

    To make this whole equation further interesting, Vagrant can be backed by Docker containers instead of VMs!

  • 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.

    Read more details in (3-months old blog) xhyve vs VirtualBox driver benchmarks. This area is fast evolving and keep an eye on blog.docker.com for more details.

  • In Docker Compose, how do I update only one container, does it lose the “link” do I need to redeploy everything?

    Docker Links are now legacy. It’s highly recommended to migrate your application to use Docker Networking. The main difference between Links and Networking are:

    1. Connect containers to each other across different physical or virtual hosts
    2. Containers using Networking can be easily stopped, started and restarted without disrupting the connections to other containers
    3. 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.

  • Official Java Docker image (OpenJDK-based) is not TCK certified. What do you suggest in this case?
    OpenJDK is the Reference Implementation of Java SE and so is TCK compliant. Official Java Docker image is based on OpenJDK.Azul Systems provide commercial support for OpenJDK. Another option is to use OpenJDK images available from Azul systems. These are fully tested and compatibility verified builds of the latest versions of the OpenJDK 8, 7, and 6 platforms.

    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.

    Running Java on Docker? You’re breaking the law provides a good summary of why Oracle JDK-based image should not be pushed to Docker Hub.

  • 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:

Here are some more references:

Source: http://blog.couchbase.com/2016/may/docker-java-intellij-idea-webinar-replay

DevRelCon San Francisco 2016 is a wrap!

DevRelCon San Francisco 2016 is a wrap!

DevRelCon

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:

DevRelCon Tweets

Generated using TalkWalker social media search.

Here are some tweets that capture the feedback from #DevRelCon

We are pleased with the results for a community-driven, volunteer-based first shot at this conference in the US!

Content and the speakers are the backbone of any conference. A very warm thanks to @beardigsit, @adamd, @timfalls, @DevRelChap, @gracefr, @codepo8@kestelyn, @joshmarinacci, @grepory, @jbaruch, @rhatr, @dn0t, @qiqing, @bwest for taking time out for our inaugural event and showing that #DevRel matters!

Many thanks to all the great sponsors – @twilio, @mparticles, @intuitdev, @developer_media, @bemyapp, @awscloud, @hitchhq, @devrelco, @atlassian, @sendgrid, @microsoft, @oreillymedia, @sv_code_camp, @heavybit and @womenwhocode. We are glad that they believed in our first time event and showed their enthusiasm and support. This allowed us to not put our personal $$ 😉

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.

And of course, this was not possible without countless hours put in together along with @mewzherder and @matthewrevell.

Over all, a very satisfying, humbling and an extreme learning experience!

Check out the complete photo album.

All sessions were recorded and will be released in the coming weeks.

Where do you find further information?

Stay tuned!

Couchbase Mobile at Xamarin Evolve

Couchbase Mobile Xamarin Evolve 2016

Couchbase Mobile will be at Xamarin Evolve 2016!

Couchbase Mobile comes with three components:

  • Couchbase Lite – A fully functional, on-device, lightweight, native, embedded NoSQL database.
  • Sync Gateway – Everything you need to securely sync on-device Couchbase Lite with Couchbase Server in the cloud.
  • Couchbase Server – A high performance, scalable, always-on NoSQL database in the cloud.

Couchbase Mobile can be installed on iOS, Android, Xamarin and a variety of other platforms.

Zack Gramana is Couchbase Mobile Product Manager. In this brief interview, he talks about why Couchbase Mobile is the right choice as a mobile database on Xamarin:

Here are the specific questions that are discussed:

  • Quick introduction to Couchbase Mobile
  • Why Xamarin developers should care about Couchbase Mobile?
  • How can Xamarin developers get started with Couchbase Mobile?
  • What are other mobile databases typically run on Xamarin? How is Couchbase different?
  • What talk are you giving at Xamarin Evolve? Why should developers attend that talk?
  • What are you showing at the booth?

Want to get started? Follow to developer.couchbase.com/mobile.

Make sure to stop by the Couchbase booth at Xamarin Evolve!

Source: http://blog.couchbase.com/2016/april/couchbase-mobile-xamarin-evolve

JavaOne4Kids 2015 Wrapup – Devoxx4Kids and Oracle Academy Together!

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:

javaone4kids-2015-boys-girls

A survey was sent to the attendees and some of them responded back. 95% of responses rated were happy with the event:

javaone4kids-2015-rate

90%+ would recommend JavaOne4Kids to a friend:

javaone4kids-2015-recommend

Instructors seem to have done a good job with 97% presenting in good, very good, and excellent way:

javaone4kids-2015-clear-way

Minecraft Modding continues to be the top rated workshop:

javaone4kids-2015-course

Here are some pictures from the event:

 
 Oracle Oracle
 Oracle Oracle
 Oracle Oracle
 
 

Check out the complete album:

JavaOne4Kids 2015 Album

Picture is worth a thousand words, and a video is worth a million words. Check out kids in action from the event, and then subsequently in JavaOne Community Keynote:

It takes a village to run an event like this. This was certainly not possible without the impeccable support from Oracle team, instructors, and volunteers who helped us through out the event!

Do we expect these kids to come back to again next year? Yes, absolutely!

At least, 88% of them want to come back :)

javaone4kids-2015-another-event

Don’t forget to join the local meetup.com/devoxx4kids-bayarea for local events in Bay Area.

Docker, Kubernetes, and Microservices Replay from Devoxx 2015

Devoxx 2015 BE Arun

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.

Docker 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?

I had the privilege of delivering a 3-hour university on Docker and Kubernetes followed by a 3-hour hands-on lab. The replay of the university session is now available:

Slides for the university are available at: github.com/javaee-samples/docker-java/tree/master/slides

The contents from the hands-on lab are available at bit.ly/dockerlab.

In addition, I also gave a 3-hour university on Refactor your Java EE Applications using Microservices and Containers. This session explained:

  • Basic characteristics of Microservices
  • Showed a simple shopping cart monolithic application, and how it was refactored to multiple microservices (github.com/arun-gupta/microservices)
  • Talked about transactions, event sourcing and CQRS
  • How KumuluzEE was used to create standalone JARs
  • Explained how such microservices can be deployed using Docker

Slides from this session are available at: github.com/arun-gupta/microservices/tree/master/slides

Replay is available at:

The response on twitter was quite positive:

And in case you are interested, watch a quick interview with Voxxed team:

Enjoy!

 

Couchbase at JavaOne 2015

JavaOne Logo

JavaOne 2015 is just a couple of weeks away. Why you should attend?

  • 450+ sessions over a wide variety of topics around Java
  • 5 days of geekgasm with toys, technology, and discussions
  • Best of the best developers gather here
  • Special 20th edition of the event is going to be cherished for ever
  • Venue is the most lovely city in the world – San Francisco!

Couchbase, one of the leading open-source, NoSQL, document datastore company is going to be there with a few talks. Here is where you’ll find us:

Saturday, Oct 24

JavaOne4Kids Day – Arun Gupta (@arungupta)
5pm – 8pm: Chinascaria (invite only)
7pm – 11:30pm: NetBeans Party (invite only)

Sunday, Oct 25

8am – 9:30am: Java Champions/JUG Leaders Brunch – Arun Gupta (@arungupta)
6:30pm – 7:30pm: WildFly, Hadoop, JavaFX and HTML5 in the Enterprise (UGF10306) – Arun Gupta (@arungupta)
8pm – 10pm: NetBeans, GlassFish, and Payara Party (Thirsty Bear)

Monday, Oct 26

8:30am – 10:30am: Docker and Kubernetes Recipes for Java Developers (TUT1708) – Arun Gupta (@arungupta)
12:30pm – 1:30pm: Refactor your Java EE Applications with Microservices and Containers (CON1700) – Arun Gupta (@arungupta)

Tuesday, Oct 27

12:30pm – 1:30pm: Build Scalable And Secure Mobiles with Java That Work Offline (CON11281) – Wayne Carter (@waynecarter), Ali LeClerc (@ali_leclerc)
5:15pm – 7:15pm: JavaOne Ignite – Arun Gupta (@arungupta)

Wednesday, Oct 28

4:30pm – 5:30pm: SQL for JSON: Rich, Declarative Querying for NoSQL Databases and Applications (CON11282) – Keshav Murthy (@rkeshavmurthy), Gerald Sangudi (@sangudi)

Of course, we’ll also be running the “hallway track” and so feel free to meet us there.

8 Things About Couchbase is a good place to start learning about Couchbase!

Couchbase Logo

If you’ve any doubts about San Francisco being the most beautiful city, go visit Golden Gate, Fisherman’s Wharf, Crooked Street, Alcatraz Island, Cable cars, Chinatown, MOMA, and much more :)

Couchbase 4.0 Server: N1QL (SQL + JSON), Multi-dimensional scaling, Global secondary index, more

Couchbase is an open source, document-oriented NoSQL database for modern web, mobile, and IoT applications. It is designed for ease of development and Internet-scale performance.

Couchbase Logo

Couchbase 4.0 is a major release of the NoSQL database server  that includes significant advances in both architecture and features.

Download Couchbase Server 4.0 now!

The key features introduced in this version are:

  • 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:

  • Developer-Focused
  • Consistent High Performance
  • Elastic Scalability
  • Always-On Availability
  • Enterprise Grade Administration
  • Data Mobility

and a lot more. Read more details each of these features in About Couchbase Server or Announcing Couchbase Server 4.0.

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.

N1QL Logo

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.

The following query:

will give the result as:

Try yourself in this interactive N1QL tutorial.

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 Cheat Sheet provides a concise summary of the basic syntax elements. 
  • N1QL Reference Guide contains details about N1QL syntax and usage.
  • N1QL Forums or N1QL at Stackoverflow is a community resource where you can ask questions, find answers, and discuss N1QL with other developers and the Couchbase team.

Difference between SQL and N1QL highlights the key difference between two.

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.

Multi-dimensional Scaling

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.

Multi Dimensional Scaling in Couchbase

 

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.

http://www.couchbase.com/press-releases/database-scaling-redefined-by-couchbase-multi-dimensional-scaling-outperforms-one-dimensional-scale-limitations-of-oracle-mongodb-and-cassandra

Global Secondary Index

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:

Here is some media coverage:

Couchbase Server 4.0 – Develop with Agility and Operate at any Scale.

Minecraft Modding at Schools and Libraries

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:

We were also able to coach some additional volunteers and hopefully spread the Java fever to a wider audience.

Here are some pictures from the event delivered at West Valley San Jose Public Library over the weekend:

 
   
 
   

Check out complete photos at meetup.com/devoxx4kids-bayarea.

Minecraft Modding and You

Would you be interested in delivering this workshop at your local school, library, or corporate event?

Would you like teachers in your school to be trained for Minecraft Modding?

If you are in Bay Area, how about make this a social activity at your workplace for a weekend? Invite us to deliver this workshop.

If you are not in Bay Area, send us an email at info@devoxx4kids.org and we’ll hook you up with the local Devoxx4Kids chapter lead who can then help you get started.

Devoxx4Kids is a NPO and 501(c)(3) and we love to ignite that spark in kids for technology!

Minecraft Modding Resources

  • Workshop instructions are available at minecraftmodding.org.
  • 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.
     
  • Minecraft Modding Video Tutorial
  • Course Curriculum for School

 

 

Silicon Valley Code Camp for Kids 2015 – Submit and Register

SVCC 10

Silicon Valley Code Camp is reaching its 10th anniversary this year!

When? Oct 2nd, 3rd & 4th, 2015 (Friday through Sunday)
Where? Evergreen Valley College (3095 Yerba Buena Rd, San Jose, California 95135)
What? Paid workshops on Friday, FREE sessions on Saturday/Sunday, Kids Sunday

What can you do?

  • Register for the event
  • Submit a session for FREE sessions or Kids workshops
  • What kind of sessions can be submitted? 

    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!

Any other questions? Ask them at service2015@siliconvalley-codecamp.com or ask here.

Docker and Kubernetes Workshops in Fall 2015

Docker and Kubernetes workshops is going to 4 continents and 9 countries this Fall!

Lets talk about:

  • Get started with Docker and Kubernetes for packaging your applications
  • Microservices using Docker and Kubernetes
  • Clustering architectures
  • Migrating existing applications to Docker and Kubernetes
  • Tooling
  • Debugging tips

I’ll share some of what I know and will learn a lot more from you!

Here is the complete circuit so far:

 Sep 9 -10  javazone-2015
 Sep 15  goto-london-2015
Sep 17 redhat-forum-london-2015
Sep 29 Red Hat Forums, Argentina
 Oct 2  codestars-summit-2015
 Oct 24 – 29  javaone-logo
 Nov 5  Drukwerk (tentative)
 Nov 7  javaday-kiev-2015
 Nov 9 – 13  devoxx-be-2015
 Nov 16 – 18  devoxx-morocco-2015
 Nov 18 – 22  buildstuff-2015

Where will I see you?

Would you like to run with me at any of these events? 5k, 10k, 10mile, half marathon, marathon … you pick the distance and we run together!

 

Minecon 2015 Wrapup

minecon2015-logo

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.

Here are a couple of tweets:

All the instructions for minecraft modding are at minecraftmodding.org.

Many thanks to Mark Little and his son Adam, and my son for helping with a successful workshop. Its very important that kids feel comfortable to play with open source tools, and be willing to hack!

Using Mods for Teaching Panel

I also got the opportunity to lead a panel on Using Mods for Teaching with @DorineFlies, @YouthDigital, and @_moonlapse.

Here are some of the questions we addressed:

  1. How are you involved with modding?
  2. How many students/kids have you reached out so far?
  3. What languages/platforms do you use?
  4. Can modding be the right medium for first introduction to programming?
  5. What is an appropriate age to start modding?
  6. What can be done to fundamentally change STEM education in schools?
  7. What would you like from Mojang to improve the modding experience?

The panel was recorded and should be made available at youtube.com/user/TeamMojang/videos. I’ll update this blog when the exact link is available.

Minecraft Youtubers

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:

Minecon 2015 Cape

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!

Hopefully we get invited to Minecon 2016 again :)

 

DevNation and Red Hat Summit 2015 Wrapup

RedHat Summit Logo DevNation Logo

Red Hat Summit and DevNation is a wrap!

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!

Complete set of slides are available at redhat.com/summit/2015/presentations. Here are links to the slides from my sessions:

Watch the middleware keynote by Craig Muzilla:

Watch Burr Sutter geek show starting at ~19:00.

Learn/understand more about our middleware offerings using Accelerate, Integrate, and Automate.

Some pictures from the event …

 
 
   
   
 

Complete album …

Here are some other photo albums:

Enjoy!