Home Blog Page 429

Source{d} Applies Machine Learning to Help Companies Manage Their Code Bases

If you go to GitHub, the most popular developer platform today, and search for a piece of code, it is a plain-text search.

“It’s like how we used to search on the web in 1996,” said Eiso Kant, CEO and co-founder at source{d}, a startup focused on applying machine learning on top of source code.

“We have been writing trillions of lines of source code across the world, but none of the systems or developer tools or programming languages we’ve designed actually learn from all the source code we have written.”

A compiler that translates a programming language into machine code that executes on the device uses a large set of rules that never take into account actual language, he said.

Read more at The New Stack

What is Agile Methodology? Modern Software Development Explained

Every software development organization today seems to practice the agile software development methodology, or a version of it. Or at least they believe they do. Whether you are new to application development or learned about software development decades ago using the waterfall software development methodology, today your work is at least influenced by the agile methodology.

But what exactly is agile methodology, and how should it be practiced in software development?

Agile was formally launched in 2001 when 17 technologists drafted the Agile Manifesto. They wrote four major principles for developing better software:

  • Individuals and interactions over processes and tools
  • Working software over comprehensive documentation
  • Customer collaboration over contract negotiation
  • Responding to change over following a plan

Read more at InfoWorld

Get Started with Your New Raspberry Pi

Creating amazing projects is easy with a Raspberry Pi, but first you need to plug it in and set up Raspbian, the default operating system.

This guide will get you up and running in no time.

The Raspberry Pi is a wonderful microcomputer that brims with potential. With a Raspberry Pi you can build robots, learn to code, and create all kinds of weird and wonderful projects.

Hackers and enthusiasts have turned Raspberry Pi boards into fully automated weather stations, internet-connected beehives, motorised skateboards, and much more. The only limit is your imagination.

But first, you need to start at the beginning. Upon picking up your Raspberry Pi for the first time, you’re faced with a small green board of chips and sockets and may have no idea what to do with it. Before you can start building the project of your dreams, you’ll need to get the basics sorted: keyboard, mouse, display, and operating system.

Creating projects with a Raspberry Pi is fun once you’ve mastered the basics. So in this guide, we’re going to take you from newbie zero to Raspberry Pi hero. Grab your Raspberry Pi and let’s get started.

Read more at MagPi

7 Tips to Help Your Company Succeed in the Cloud

The growing footprints of public cloud providers are changing the way we view deploying and delivering digital services. This transformation was brought to light in a single sentence in an article  about transformations and change at Etsy: “The emphasis on go-it-alone craftsmanship meant Etsy managed its own data centers, instead of using more efficient options like Amazon Web Services or Google Cloud.”

That statement is a reflection of the state of our industry: companies and investors are looking to improve the focus on delivering and developing a product and less time and investment on maintaining infrastructure. The needs of our products have not changed – but how we create and maintain them has. As Linux and open source professionals of all types, we are at the center of this revolution. Not only is Linux the “foundation” for most public cloud providers; studies show a steady dominance of Linux deployments in the cloud and the growth of container technologies such as Docker further grow the number of active Linux installs.

The Linux and Dice Open Source Jobs Report echoes the importance of open source in companies today, with 60 percent looking for full-time professionals with open source experience. Plus, nearly half (47 percent) of hiring managers said they’ll pay for certifications just to bring employees up to speed on open source projects.

In short, Linux professionals are uniquely positioned to help the success and operation of public cloud deployments.  We can help organizations succeed in public cloud deployments. Here are a few things that I have learned over the course of several cloud migrations for Linux professionals:

1. Understand systems in context and scope

We have to realize that in more modern environments, the way that we deploy and administer software can be widely varied.  Some deployments to a public cloud can follow a traditional pattern of “standing up a server or two” and focusing on systems administration (upgrade schedules, patch management, etc.). In this case, not much changes — and not much really has to change. On the other hand, this approach can quickly introduce issues in scaling technology — and personnel. As systems grow from tens to hundreds, repeatability and manageability is a primary concern. Adding container deployments means that approaching systems administration through automation is important. “Success” in the cloud largely depends on the scope and context of what we deploy.

2. Learn how to effectively use source control

Being able to repeat tasks from source has long been noted as an important tool for infrastructure teams. The ability to expand and shrink a compute footprint in the public cloud requires that we can repeat the creation of our instances and deployment of software quickly and automatically. Source control systems (such as git, SVN, etc.) give us the capabilities for repeating and controlling how we deploy systems.  Effective use of source control to keep and promote changes allows us to create easily repeatable systems.

3. Master a programming language

As the public cloud is often reliant on programming interfaces (APIs) for provision and management, learning how to effectively use those APIs is an important skill.  Most public cloud providers publish libraries for accessing and interacting with infrastructure – typically with scripting languages such as Ruby and Python, or even compiled languages such as Go, Java and C languages.  It may be preferable to choose a language that compliments other tooling, but know that deep mastery of one language will teach concepts that can apply to other languages and runtimes. (Note that traditional “shell scripting” languages do not interact at API levels – making things more difficult than they might need to be.)

4. Brush up on basic monitoring and troubleshooting

As the number of Linux installations grows, so does the complexity of monitoring and troubleshooting issues. Having a good handle on troubleshooting techniques (such as the USE Methodology) and some basic tooling can help you diagnose performance issues. Public cloud vendors will often have some basic monitoring in place — such as network and CPU statistics, but detailed information about the state of the operating system is typically left to the user.

5. Create repeatable systems

Being able to recreate the state of systems from source control or templates is key to taking advantage of the pricing models of the public cloud — paying for only what you might need as the usage patterns of your systems change.  There are a number of approaches to configuration management — the key to selection is choosing a tool that meets the needs of your infrastructure and development teams.

6. Avoid restrictive licensing policies

The great advantage of the public cloud is being able to use systems and software that allow you to grow a computing footprint as needed.  Choosing open source software allows you to deploy software to as many instances as needed without being concerned about licensing cost; many vendors that offer commercial extensions or support to open source tools will also offer flexible license policies that allow you to autoscale or expand that compute footprint on reasonable license terms. Inflexible software licensing and installation can make cloud infrastructures significantly more difficult to manage over time.

7. Develop an approach to learning from and mentoring others

Adopting new technologies and methods of managing systems can often be challenging for individuals and teams. In the cloud migrations that I have been a part of, there have always been tensions and anxiety caused by the unfamiliar. Make sure that team members feel valued and that moving to new methods of operation is a learning process for everyone.  While the skills and experience of Linux professionals is invaluable in cloud deployments, the exact type of skills required and the focus of day-to-day work will certainly change.

Download the full 2017 Open Source Jobs Report now.

Six Cyber Threats to Really Worry About in 2018

Hackers are constantly finding new targets and refining the tools they use to break through cyberdefenses. The following are some significant threats to look out for this year.

More huge data breaches

The cyberattack on the Equifax credit reporting agency in 2017, which led to the theft of Social Security numbers, birth dates, and other data on almost half the U.S. population, was a stark reminder that hackers are thinking big when it comes to targets. Other companies that hold lots of sensitive information will be in their sights in 2018. Marc Goodman, a security expert and the author of Future Crimes, thinks data brokers who hold information about things such as people’s personal Web browsing habits will be especially popular targets. “These companies are unregulated, and when one leaks, all hell will break loose,” he says.

Read more at MIT Technology Review

Overcoming Challenges When Building Great Global Communities

Global open source communities often face language barriers, cultural differences, and other challenges. Here’s how to overcome them.

Global communities: 3 common challenges

Anyone who’s ever worked in a group knows that differences of opinion can be difficult to overcome. In online communities, language barriers, different time zones, and cultural differences can also create challenges.

Read more at OpenSource.com

How Log Analysis Can Bring Front-End Engineers on Call

At the time series-focused Influx Days in San Francisco, presenters offered many unique views of log data. From talks on better analyzing log streams to bitter warnings against identifying what’s “normal,” the one-day event featured a range of ways enterprises can apply new techniques. The goal: get their arms around the near-infinite supply of logging and monitoring data their systems generate.

Emily Nakashima, a front-end engineer at Honeycomb.io, gave a talk specifically targeted at bringing JavaScript front-end developers into the problem mitigation workflow. To do that, she said, you’ll need to extend your logging analysis all the way to the front-end JavaScript.

Her talk, titled, “What Your JavaScript Does When You’re Not Around,” offered many tips and hints for teams looking to bring front-end issue catching into the daily purview of JavaScript developers. 

Read more at The New Stack

Introduction to Modern Network Load Balancing and Proxying

It was brought to my attention recently that there is a dearth of introductory educational material available about modern network load balancing and proxying. I thought to myself: How can this be? Load balancing is one of the core concepts required for building reliable distributed systems. Surely there must be quality information available? I searched and found the pickings are indeed slim. The Wikipedia articles on load balancing and proxy serverscontain overviews of some concepts but not a fluid treatment of the subject, especially as it pertains to modern microservice architectures. A Google search for load balancing primarily turns up vendor pages that are heavy on buzzwords and light on details.

In this post I attempt to rectify the lack of information by providing a gentle introduction to modern network load balancing and proxying. This is, frankly, a massive topic that could be the subject of an entire book. In the interest of keeping this article (somewhat) blog length, I try to distill a set of complex topics into a simple overview; depending on interest and feedback I will consider more detailed follow up posts on individual topics at a later point.

With a bit of background on why I wrote this out of the way — here we go!

Read more at Medium

Linus Torvalds Wishes Everyone a Happy New Year, Releases Linux Kernel 4.15 RC6

Linus Torvalds doesn’t take a break, not even on New Year’s Eve, and he just announced the release of the sixth RC (Release Candidate) milestone of the upcoming Linux 4.15 kernel series.

It looks like the development of Linux kernel 4.15 wasn’t interrupted by the winter holidays, nor the new year’s celebrations, so public testers can now get their hands on the sixth Release Candidate, which brings lots of x86 updates, updated USB, RDMA, networking, and sound drivers, some perf tooling, as well as core networking and IRQ fixes. 

“One last RC at the end of the year – and a Happy New Year to everybody,” says Linus Torvalds in the mailing list announcement.

Read more at Softpedia

The Essential Open Source Reading List: 21 Must-Read Books

Is your organization looking to build out an open source program or are you already managing one? If so, you’re probably already considering the kinds of tools and guidance that can make your program a holistic success. That is why, in this article series, we have been covering tools for managing open source programs and providing advice from leading experts.

Now, to take your program to the next level, we offer a free guide containing an essential open source reading listThis list can help any organization launch and maintain a thriving open source program.

Read more at The Linux Foundation