Category: Development

  • Entering any technical field is very challenging and requires a high amount of commitment, passion and grit to be successful. Yet, the work is highly rewarding and fulfilling, which makes the payoff completely worth the effort. In this article, I will share my journey into the highly technical software engineering/open source field as a woman, explaining how I stayed focused and motivated to find my way into vital software projects and endeavors.  My hope is that my story can inspire others who may be unsure whether they should take on this challenge to go for it! My Choice to Launch an Engineering Career Every career has a beginning, and mine started with the conscious decision to become an engineer when I was young. I loved math, physics and chemistry, and I tended to gravitate toward analytical and logical pursuits. There were some doubters and detractors, including my grandfather who said […]

    Read More
  • June 8, 2015 - Luis de Bethencourt

    Getting Things Done at the 2015 GStreamer Hackfest

    Over the weekend of March 13-15th, the Samsung Open Source Group office in Staines-upon-Thames, UK, hosted 34 developers of the GStreamer  project for a hackfest. GStreamer is a library for constructing graphs of media-handling components, and its uses range from simple music file playback and audio/video streaming to complex audio mixing and video processing. A lot of familiar faces showed up, as well as an unusual number of new people, and it was a very productive hackfest. While everybody hammered away on laptops, we worked on and discussed a variety of topics related to both the framework and applications. Discussions to Be Had… Some of the discussions that took place on the framework side included: How to move forward with the DASH common encryption – Patches have been sitting in Bugzilla for this for a while. An agreement was reached on how to simplify things and make them more generic so its possible […]

    Read More
  • There are many companies shipping products based on ARMv8 today, including AMD, Samsung, NVIDIA, Cavium, Apple, Broadcom, Qualcomm, Huawei, and others.  What makes ARM unique is the differentiation between vendors; while a majority of features are based on the ARM reference processor and bus architectures, additional custom features may be introduced or reference features may be omitted at the vendor’s discretion. This results in various profiles that are tailored to specific products, making it extremely difficult for another architecture to compete against such a wide selection of choices. As ARMv8 matures, it’s moving out of mobile and embedded devices into Industrial IoT (Internet of Things), network routers, wireless infrastructure, and eventually, the cloud. For those of you not familiar with KVM, it stands for Kernel Virtual Machine. It’s a Linux Kernel hypervisor module. KVM is the primary open-source-based hypervisor, and is the default for Openstack, a popular cloud computing software […]

    Read More
  • June 1, 2015 - Mike Blumenkrantz and Lars Bergstrom

    Servo: The Countdown To Your Next Browser Continues

    Huge progress is being made on the Servo browser engine, and development continues moving forward at full speed. Now, it’s even possible to write applications that embed Servo to display web content, and these applications can drop Chromium in at any point, with very few changes, in order to have a more functional product while Servo continues its heavy development. This article will take a look at the new code that provides this detection ability to toggle functionality based on the running engine, in addition to the new improvements that have been introduced to Servo’s rendering and embedding capabilities. Detecting Servo to Work in Harmony With Chromium Detection of the engine is made possible by a symbol added into Servo’s embedding library, which can be detected in C with a bit of code like this:

    This returns the address of the symbol and sets a boolean variable “servo” based […]

    Read More
  • May 26, 2015 - Derek Foreman

    When is a Keyboard Not a Keyboard?

    Much of my day-to-day work revolves around Wayland and Weston. Wayland is a protocol for communication between display servers and their clients, and Weston is a reference implementation of a Wayland display server. Simplistically (and I really can’t stress enough that this is an oversimplification), Wayland is similar to the X protocol and Weston is much like a combination of an X server and a window manager. Lately I’ve been working on Weston’s text input implementation – specifically how Weston deals with on-screen keyboards. Currently, applications directly control whether the virtual keyboard should be displayed or hidden, and I’ve been adding a way for applications to request that Weston auto-hide the virtual keyboard based on whether or not a real keyboard is present. Keyboards, Keyboards Everywhere… Wayland’s input model is based on the concept of a “seat,”  a collection of input devices that would be present in front of a single user’s seat at an office. […]

    Read More
  • May 18, 2015 - Ben Lloyd Pearson

    Get Started With Tizen Development On Linux Mint 17

    Tizen is a great platform to develop apps for if you are someone who comes from a web development background. The ability to write apps for wearable devices and smartphones using nothing more than HTML/CSS and JavaScript makes building simple applications a breeze. Tizen extends the functionality of these languages by giving them access to all of the sensors found in many wearable devices and smartphones, which allows developers to build unique apps using simple languages. This guide is tested on Linux Mint 17, and most of it should also work for Ubuntu. Note: Any red text in this guide might be different based on your own configurations or the software versions you download. Prerequisites You will need to download two things before you start. The installer for the latest version of the Tizen SDK for Ubuntu (2.3 at the time of this article) The latest version of the Oracle […]

    Read More
  • After three month of pleasure and pain, version 1.14 of the Enlightenment Foundation Libraries has finally been released. This is the sixth release I’ve managed as well as the sixth release to follow our time based release schedule. How We Got Here We aim for two months of development and one month of final stabilization. This can get problematic if we find problems late in the process, so we allow for some leeway here regarding the final release. We try to keep the delay within a week, and for 1.14 we have been two days late while chasing some of the bugs we considered to be show stoppers. Setting such a short release cycle helps our users get quicker access to the newest features and fixes, and after 18 months of following this schedule, we seem to have found a good balance. To be successful with such a rapid release […]

    Read More
  • May 1, 2015 - Adenilson Cavalcanti and Lars Bergstrom

    Servo Continues Pushing Forward

    Servo is a new prototype web browser layout engine written in Rust that was launched by Mozilla in 2012 with a new architecture to achieve high parallelism on components like layout and painting. It has been progressing at an amazing pace, with over 120 CSS properties currently supported, and work is ongoing to implement the remaining properties. For a full list of the current set of CSS properties with initial support in Servo, check out the Google Docs spreadsheet servo team is using to track development. The current supported properties allow Servo to be mostly operational on static sites like Wikipedia and GitHub, with a surprisingly small code footprint. It has only about 126K lines of Rust code, and the Rust compiler and libraries are about 360K lines. For comparison, in 2014 Blink had about 700K lines of C++ code, and WebKit had around 1.3M lines, including platform specific code. […]

    Read More
  • April 27, 2015 - Guy Martin and Ben Lloyd Pearson

    GearVRf: The Journey from Proprietary to Open Source

    The Open Source Group recently provided technical and strategic consulting to a Samsung team that has developed an exciting new Virtual Reality Framework. GearVRf is a rendering library to help speed application development on VR-supported Android devices. The team had a desire to launch an open source project around this code, and in this post we’ll share the process we went through to help them make this happen. We believe sharing this experience is important for two main reasons. First, readers with less experience in this area will gain a sense of what’s required to take internal code, make it available under an open source license and then drive its adoption by growing a developer community. Second, readers with more experience will hopefully give us feedback on how we can do this better the next time. What Does it Take to Launch a Successful Open Source Project? Our process started […]

    Read More
  • April 24, 2015 - Jon A. Cruz

    The Tangled Terms of Testing

    Overview When it comes to testing, most developers admit they probably don’t do as much as they should. Developers, testers and even end users get blocked for various reasons, but one of the initial reasons is becoming overwhelmed by the various terms and approaches. Buzzwords abound, including phrases like: black box, white box, unit, incremental integration, integration, functional, system, end-to-end, sanity, regression, acceptance, load, stress, performance, usability, install/uninstall, security, compatibility, comparison, alpha and beta. Using testing related terms can even influence developers to do the opposite of what they need to. Getting a handle on what exactly “unit testing” means can help break through the quagmire and move on to being more productive. The two subjects being covered here are “levels” of testing and automated/build-time testing. Levels of Testing First, it helps to group a few related terms and lay out their basics. If you group testing by levels, it […]

    Read More