The GNU Toolchain is a collection of programming tools produced by the GNU Project. The tools are often packaged together due to their common use for developing software applications, operating systems, and low-level software for embedded systems.
This blog is part of a regular series covering the latest changes and improvements in the components that make up this Toolchain. Apart from the announcement of new releases, however, the features described here are at the bleeding edge of software development in the tools. This does mean that it may be a while before they make it into production releases, and they might not be fully functional yet. But anyone who is interested in experimenting with them can build their own copy of the Toolchain and then try them out.
Continue reading “Sprint 2017 GNU Toolchain Update”
Google Summer of Code (GSoC), for those who are not familiar, is an initiative led by Google to encourage students to participate in Open Source projects during their summer break. Projects like JBoss Community, Eclipse Vert.X or Fedora apply to be a mentoring organization and if selected by Google, are paired with students with whom they will mentor. Selected and successful students will receive a stipend from Google for their participation.
The JBoss community has been participating in GSoC for the past several years, with outstanding success, and I am happy to announce that the JBoss community has once again been selected as a mentoring organization for GSoC 2017. I have written about last year’s results in the past.
We have posted a list of ideas for proposals for students, but students are also encouraged to submit their own ideas.
Continue reading “JBoss participates in Google Summer of Code 2017”
Why use RPMs (distribution packages in general) at all ?!
Distribution RPMs enables you to get signed curated content, with security updates, bug fixes, general updates, some level of testing, and known ways of reproducing the build locally. Of course, it has its cost mostly in the package size overhead and packaging infrastructure overhead (yum, dnf, apt….).
Continue reading “Basics of Go in Fedora”
A few months ago, I had to write some internal GCC passes to perform static analysis on the GNU C Library (glibc). I figured I might as well write them as plugins since they were unlikely to see the light of day outside of my little sandbox. Being a long time GCC contributor, but having no experience writing plugins I thought it’d be a good way to eat our own dog food, and perhaps write about my experience.
Continue reading “Diagnosing Function Pointer Security Flaws with a GCC plugin”
Everything around us has a name, I mean everything, otherwise, how would we be able to refer to them, particularly in programming. From our project name, directories, variables, and more, a name must be associated with every item or else we lose their meaning and use.
Continue reading “Naming Matters”
As a web developer, being able to run a Linux distro alongside your pre-existing mobile OS on your android phone is a very enticing offer. With a fully functional Linux program in your pocket at all times, you can begin to utilize your phone for various processes including powering a LAMP server and turning the device into a portable network, troubleshooting tool, and pen-testing device.
Continue reading “Installing Linux on an Android Phone”
So, my first programming job was part of the Duke Basketball IT department, while I was enrolled as an undergraduate. To be fair, it wasn’t really a programming job, mostly just churning out scouting reports and videos, but it was a lot of fun. I really liked basketball back then. I wasn’t any good at it but I enjoyed playing all the same, and I had a lot of fun watching it. And as most people know, the culmination of the college basketball season is a 68-team single elimination tournament called March Madness. And it is just that, Madness; employee productivity plummets, players, coaches, and spectators spend thousands of dollars traveling all over the country with a single day’s notice, and a lot of scouting reports get generated. Most people look forward to it, both the participants and the fans, but due to a series of mistakes and poor decisions, I have grown to dread March Madness…
Continue reading “A Post Mortem on Madness, or Why Process Matters”
In programming, documentation is not only about documenting our code, but also the steps, processes, and architecture around how things work. We are most familiar with documentation from the aspect of the code, which is something that should be encouraged. But as developers look for greener pastures and move from one job to another, the idea of documenting every aspect of programming is important so that the effect of the bus factor does not set in for any organization when a programmer decides to leave.
Continue reading “Why Software Documentation is the Next Big Thing”
I came across Linux in 2005, it was Debian. Then followed a love affair with Ubuntu, for which in March 2009 I purchased a netbook Asus EeePC 1000. In 2010, I began to contribute to ALT Linux participating in the “School Project” and even became a basic256 package maintainer.
The last few years my EeePC with Ubuntu peacefully rested deep in my cupboard. Then there was a chance to clean off the dust. There was a task to get acquainted with CentOS Linux and test examples for my webinar “Apache Ant – quick start”.
Continue reading “Preparing CentOS 6.8 for Work”
Many developers are (or should be) aware that Java processes running inside Linux containers (docker, rkt, runC, lxcfs, etc) don’t behave as expected when we let the JVM ergonomics set the default values for the garbage collector, heap size, and runtime compiler. When we execute a Java application without any tuning parameter like “java -jar mypplication-fat.jar”, the JVM will adjust by itself several parameters to have the best performance in the execution environment.
This blog post takes a straightforward approach to show developers what they should know when packaging their Java applications inside Linux containers.
Continue reading “Java inside docker: What you must know to not FAIL”