Language Selection

English French German Italian Portuguese Spanish


Programming: Firefox 66 Testing, Programming Languages to Learn, Python, Jenkins and More

Filed under

Programming: Google Open sourcing ClusterFuzz, Mozilla Development Updates, Rust and Python

Filed under
  • Open sourcing ClusterFuzz

    Fuzzing is an automated method for detecting bugs in software that works by feeding unexpected inputs to a target program. It is effective at finding memory corruption bugs, which often have serious security implications. Manually finding these issues is both difficult and time consuming, and bugs often slip through despite rigorous code review practices. For software projects written in an unsafe language such as C or C++, fuzzing is a crucial part of ensuring their security and stability.

    In order for fuzzing to be truly effective, it must be continuous, done at scale, and integrated into the development process of a software project. To provide these features for Chrome, we wrote ClusterFuzz, a fuzzing infrastructure running on over 25,000 cores. Two years ago, we began offering ClusterFuzz as a free service to open source projects through OSS-Fuzz.

  • WebRender newsletter #39

    Hi there! The project keeps making very good progress (only 7 blocker bugs left at the time of writing these words, some of which have fixes in review). This means good confidence about our ability to ship in Firefox soon. I expect bugs and crash reports to spike as WebRender reaches a larger user population, which will keep us busy for a short while, and once things settle we’ll be able to go back to something we have been postponing for a while: polishing, adding new features and preparing WebRender for new platforms. Exciting!

  • Refactoring MDN macros with async, await, and Object.freeze()

    In March of last year, the MDN Engineering team began the experiment of publishing a monthly changelog on Mozilla Hacks. After nine months of the changelog format, we’ve decided it’s time to try something that we hope will be of interest to the web development community more broadly, and more fun for us to write. These posts may not be monthly, and they won’t contain the kind of granular detail that you would expect from a changelog. They will cover some of the more interesting engineering work we do to manage and grow the MDN Web Docs site. And if you want to know exactly what has changed and who has contributed to MDN, you can always check the repos on GitHub.

    In January, we landed a major refactoring of the KumaScript codebase and that is going to be the topic of this post because the work included some techniques of interest to JavaScript programmers.

  • Mozilla Heads to Capitol Hill to Defend Net Neutrality

    Today Denelle Dixon, Mozilla COO, had the honor of testifying on behalf of Mozilla before a packed United States House of Representatives Energy & Commerce Telecommunications Subcommittee in support of our ongoing fight for net neutrality. It was clear: net neutrality principles are broadly embraced, even in partisan Washington.

    Our work to restore net neutrality is driven by our mission to build a better, healthier internet that puts users first. And we believe that net neutrality is fundamental to preserving an open internet that creates room for new businesses and new ideas to emerge and flourish, and where internet users can choose freely the companies, products, and services that put their interests first.

  • Rust: A unique perspective

    The Rust programming language is designed to ensure memory safety, using a mix of compile-time and run-time checks to stop programs from accessing invalid pointers or sharing memory across threads without proper synchronization.

    The way Rust does this is usually introduced in terms of mutable and immutable borrowing and lifetimes. This makes sense, because these are mechanisms that Rust programmers must use directly. They describe what the Rust compiler checks when it compiles a program.

    However, there is another way to explain Rust. This alternate story focuses on unique versus shared access to values in memory. I believe this version is useful for understanding why various checks exist and how they provide memory safety.

    Most experienced Rust programmers are already familiar with this concept. Five years ago, Niko Matsakis even proposed changing the mut keyword to uniq to emphasize it. My goal is to make these important ideas more accesssible to beginning and intermediate Rust programmers.

  • Announcing
  • Create Your First Python Web Crawler Using Scrapy
  • Test and Code: 64: Practicing Programming
  • Return the first capital character of a name

Programming: PHP, R and Python

Filed under
  • Remi Collet: PHP 5.6 is dead

    After PHP 7.0, and as announced, PHP version 5.6.40 was the last official release of PHP 5.6

    Which means that after version 7.2.15 and 7.3.2 releases, some security vulnerabilities are not, and won't be, fixed by the PHP project.

  • 7 Useful Free Graphical User Interfaces for R

    R is an open source programming language and software environment for statistical computing and graphics. It consists of a language together with a run-time environment with a debugger, graphics, access to system functions, and scripting.

    R is an implementation of the S programming language, developed by Bell Laboratories, adding lexical scoping semantics. R offers a wide variety of statistical and graphical techniques including time series analysis, linear and nonlinear modelling, classical statistical tests, classification, clustering, and more). Combined with a large collection of intermediate tools for data analysis, good data handling and storage, general matrix calculation toolbox, R offers a coherent and well developed system which is highly extensible.

    Many statisticians and data scientists use R with the command line. However, the command line can be quite daunting to a beginner of R. Fortunately, there are many different graphical user interfaces available for R which help to flatten the learning curve. We’ve restricted this group test to software that’s released under an open source license, and offers Integrated Development Environment (IDEs) facilities. Software like Jupyter Notebook and Radiant interface with R, but they are not IDEs.

  • PyTesseract: Simple Python Optical Character Recognition
  • Python Data: Quick Tip – Speed up Pandas using Modin
  • Exploring the sum-product conjecture
  • My first implementation of VAE in Tensorflow, Python

Programming: GitLab, Embedded Systems Programming Languages, Python and PHP Updates for Fedora/Red Hat

Filed under
  • Getting started as a GitLab contributor

    During that first call, James walked us through how licenses worked in the version we'd be modifying, then we discussed the vision for the feature we'd be implementing. This was to ensure we were all on the same page and everyone understood what was happening. This was really helpful for Aaron and me so we could look back as we went through coding the new feature.

    They also brought in a designer, Sarah Vesselov, to ensure the UX would be right. They were migrating to a new look where we'd be working, so our timing would be an issue. Sarah also made some great mockups for the result and posted them on the GitLab issue.

    During the call, Douwe navigated Aaron and me through the Ruby on Rails code and made some of the initial changes. He served as an experienced guide to make us more familiar with the code, show us the parts we would likely need to change, and help us avoid some pitfalls. Thanks to his thorough explanation, we were able to complete a lot in just an hour.

    After looking through the code, I felt a little nervous. Just a few years ago, I was writing Ruby all day every day, and these weren't simple scripts. I was contributing to complex systems with race conditions and functionality, like creating a directed acyclic graph of tasks and executing them. However, none of that was in Ruby on Rails, and Ruby on Rails looked barely like the Ruby I remember.

  • Top 15 Best Embedded Systems Programming Languages

    As millennials continue to delve more towards a technologically uptight and innovative society, we’re starting to realize the real potential of IoT(Internet of Things) in our day to day life. The IoT devices are renovating our lifestyle in a more subtle way than you may realize. From your latest Kindle to your SmartWatch, each modern-day device is a part of this IoT. These devices also need to be programmed just like a computer or mobile, their more traditional counterparts. Programming such devices are known as embedded systems programming. Programming embedded systems, however, is a bit more tedious task than most developers think. They require low-level system access and need to utilize as fewer resources possible. So, only a select set of languages are suitable for embedded systems programming.

  • Python programming language's top uses, tools: Developers reveal their choices

    Python has grown to become one of the top programming languages in the world, with more developers than ever now using it for data analysis, machine learning, DevOps, and web development.

  • Remi Collet: PHP version 7.2.15 and 7.3.2
  • Python JSON

Programming: LLD, 'Data Science', Frameworks and Languages, Python Leftovers

Filed under
  • A Detailed Look At The Speed Advantages To LLVM's LLD Linker

    The LLVM Linker "LLD" has slowly been gaining more ground as developers try it out as a drop-in replacement to the GNU system linkers. What turns on many developers to LLD is the often "lightning fast" performance compared to the GNU linkers, even the Gold linker.

    Linaro's Peter Smith recently took an extensive look at LLD relative to the other linkers on Linux systems to get a better understanding for the performance advantages and figuring out why that's the case.

    Smith found LLD was faster than the Gold linker by two to three times while faster than the standard ld.bfd linker by five to ten times.

  • New public course on Successfully Delivering Data Science Projects for March 1st

    The next iteration of Successfully Delivering Data Science Projects is online for March 1st, the course has half sold-out already. If you’d like to improve your confidence around the successful delivery of Python data science projects – you’ll want to get a ticket soon. The material I teach is based on years of helping clients from start-ups to corporates to successfully deliver data science projects.

  • What Frameworks and Languages Are Developers Using in 2019?

    Developers have a highly prized skill set, writing the code and applications that power the modern economy. The development skills that are most in demand are not static and change over time.

    In an effort to gauge the current state of developer trends, HackerRank surveyed 71,281 developers to understand what's working and what's not. The end result is the 28-page 2019 Developer Skills Report, which provides insight into the current state of the developer landscape.

    "Hiring and retaining skilled developers is critical for businesses everywhere," Vivek Ravisankar, co-founder and CEO of HackerRank, wrote in a media advisory. "Recruiters and hiring managers need a deep understanding of who developers are, what they care about and what they want from their employers."

  • One Repository To Rule The Source – And Object – Code

    The concept of a single repository for source is not necessarily a new one. When I interviewed with ARCAD back in 2011, I did so at the at the Rational conference called Innovate in Orlando. The research and development team and our chief technology officer were already in dialogue with IBM to resell ARCAD technology alongside its Rational development suite, adding power to Rational Team Concert that development organizations could effectively have a similar repository for IBM i and open source applications.

    At the time, RTC supported the open source world very well, just like Git does now. But back then, Rational was a competitor of ours, and the other commercial offering was Team Foundation Server from Microsoft, what is now called Azure DevOps.

  • Remove the string after the # mark in a website url
  • PyCharm 2019.1 EAP 3
  • Episode #116: So you want Python in a 3D graphics engine?

Programming: Rust and Python

Filed under

today's howtos and programming leftovers

Filed under

Programming: Futures of Meson, RustPython, CodeReady and Python Leftovers

Filed under
  • Jussi Pakkanen: On possible futures of Meson

    At FOSDEM I talked to a bunch of people about an issue that has been brought up a couple of times recently, specifically that of integrating Rust in existing code bases. Some projects are looking into converting parts (or presumably eventually everything) of their code to Rust. A requirement of this is that for some time there need to be both Rust and C or whatever language within one project at the same time. (The rest of this blog post will use Rust as an example, but the same issues are present in all modern programming languages that have the same build system/dependency setup. In practice this means almost all of them.)

    This would not be such a problem except that Rust by itself has pretty much nothing in the standard library and you need to get many crates via Cargo for even fairly simple programs. Several people do not seem particularly thrilled about this for obvious reasons, but have given up on this battle because "in practice it's impossible to develop in Rust without using Cargo" or words to that effect. As the maintainer of Meson, they obviously come to me with the integration problem. Meson does support compiling Rust directly, but it does not go through Cargo.

    This is where I'm told to "just call Cargo" instead. There are two major problems with this. The first one is technical and has to do with the fact that having two different build systems and dependency managers in one build directory does not really work. We're not going to talk about this issue in this blog post, interested people can find writings about this issue using their favorite bingoogle. The second issue is non-technical, and the more serious one.

  • RustPython Is Implementing Python 3 Within Rust

    RustPython is a new Python 3.x implementation written within the Rust programming language.

    Developers Windel Bouwman and Shing Lyu are leading the charge to re-implement the Python programming language within Rust. This Python interpreter is entirely Rust-based and for implementing Python standard library modules are looking at leveraging existing Rust crates.

  • PyCoder’s Weekly: Issue #354 (Feb. 5, 2019)
  • Red Hat introduces first Kubernetes-native IDE

    CodeReady is based on the open-source Eclipse Che IDE. It also includes formerly proprietary features from Red Hat's Codenvy acquisition.

    This new IDE is optimized for Red Hat OpenShift, Red Hat's Docker/Kubernetes platform and Red Hat Enterprise Linux (RHEL). Red Hat claims CodeReady Workspaces is the first IDE, which runs inside a Kubernetes cluster. There's been other IDEs, which can work with Kubernetes -- notably JetBrain's IntelliJ IDEA with a plugin -- but CodeReady appears to be the first native Kubernetes IDE.

    With CodeReady Workspaces, you can manage your code, its dependencies and artifacts inside OpenShift Kubernetes pods, and containers. By contrast, with older IDEs, you can only take advantage of Kubernetes during the final phase of testing and deployment. CodeReady Workspaces lets you develop in OpenShift from the start. Thus, you don't have to deal with the hassle of moving applications from your development platforms to production systems.

  • Functional Programming in Python

    Functional Programming is a popular programming paradigm closely linked to computer science's mathematical foundations. While there is no strict definition of what constitutes a functional language, we consider them to be languages that use functions to transform data.

    Python is not a functional programming language but it does incorporate some of its concepts alongside other programming paradigms. With Python, it's easy to write code in a functional style, which may provide the best solution for the task at hand.

  • Getting Started with JupyterLab
  • Python NumPy array tutorial
  • Python RegEx
  • Webinar: “Demystifying Python’s async and await Keywords” with Michael Kennedy
  • Python Developers Survey 2018 Results: Learn about the community

Programming: Kubernetes IDE, TensorFlow.js, Interviews, Programming Craft Kit For Kids, Python Bits

Filed under
  • Red Hat Launches CodeReady Workspaces Kubernetes IDE
  • The First Kubernetes-Native Developer Environment

    From a newly introduced technology to a widely relied upon platform in just a few years, Kubernetes has become an integral part of many organization’s cloud-native solutions - including container-based development environments.

    The challenge with building and deploying applications in any Kubernetes distribution is that it’s difficult for a developer to set up a Kubernetes environment that enables fast, iterative development cycles. As a result, some development teams fall back to using containers on their laptops and only seeing how things run in Kubernetes after they’ve merged code back to the origin code repository and triggered a continuous integration (CI) job.

    This is problematic as Kubernetes has unique execution behaviors that might necessitate code changes or optimizations. Waiting to do these until after code is merged back to master is inefficient and can introduce problems in the master branch that affect other developers.

    Red Hat CodeReady Workspaces is the industry’s first Kubernetes-native integrated development environment (IDE). It makes it easy for developers to have a fast, “locally hosted-style” development experience directly inside Kubernetes and helps development teams avoid the “it works on my machine” problem.

  • TensorFlow.js: machine learning for the web and beyond

    If machine learning and ML models are to pervade all of our applications and systems, then they’d better go to where the applications are rather than the other way round. Increasingly, that means JavaScript – both in the browser and on the server.

    TensorFlow.js brings TensorFlow and Keras to the the JavaScript ecosystem, supporting both Node.js and browser-based applications. As well as programmer accessibility and ease of integration, running on-device means that in many cases user data never has to leave the device.

  • Interviewing tips for junior engineer

    Make sure to highlight any interesting project you worked on, technical or otherwise. Recruiters love discussing actual accomplishment. Back when I started, I had a few open source projects and articles written in technical magazines that I put on my resume. Nowadays, that would be a GitHub profile with personal (or professional, if you're lucky) projects. You don't need to rewrite the Linux kernel, but if you can publish a handful of tools you developed over the years, it'll help validate your credentials. Just don't go fork fancy projects to pad your GitHub profile, it won't fool anyone (I know, it sounds silly, but I see that all too often).

    Another thing recruiters love is Hackerrank, a coding challenge website used by companies to verify the programming skills of prospective candidates. It's very likely US companies will send you some sort of coding challenge as part of the interview process (we even do it before talking to candidates nowadays). My advise is to spend a few weekends building a profile on Hackerrank and getting used to the type of puzzle they ask for. This is similar to what the GAFA ask for in technical interviews ("quicksort on a whiteboard" type of questions).

    At the end of the day, I expect a junior engineer to be smart and excited about technology, if not somewhat easily distracted. Those are good qualities to show during an interview and on your resume.

  • Makeblock Neuron Explorer Kit Review: A Pricey Programming Craft Kit For Kids
  • Android apps time out connections after setting up a PAC proxy configuration
  • Modify the enemy sprite’s animation

    After we have finished creating our first animated enemy sprite in the previous chapter we will need to further modify that animation class because I have found numerous shortages in the previous program. In the previous program 1) We only create a single counter to handle the sprite animation for all five enemy objects which is simply unrealistic because during the game not every enemy will move to the same frame on the sprite sheet due to the change of the direction of that enemy. 2) There is no adjustment on the image’s transition speed at all, we need to slow down the image transition process so the image will not change too fast.

Programming: LLVM, GCC, Servo and Python

Filed under
  • Using LLVM Clang To Compile The Linux Kernel Is Heating Up Again Thanks To Google

    Interest in building the mainline Linux kernel with LLVM Clang as an alternative to GCC seemed like it waned for several years, but in recent months that effort has been moving forward thanks to Google's involvement.

    Back during Linux Plumbers Conference 2018, two Googlers talked about their use of building the kernel with Clang and even how their Pixel 2 and Pixel 3 devices are running their Linux kernel built under Clang on Android. Besides select Google Pixel devices having their kernels built with LLVM/Clang, ChromeOS also started shipping Clang-built kernels in 2018. Google engineers presented at FOSDEM 2019 over the weekend on this effort.

  • GCC's Potential GSoC Projects Include Better Parallelizing The Compiler

    While in some areas it's still an extremely cold winter, many open-source projects are already preparing for their participation in Google's annual Summer of Code initiative. The GNU Compiler Collection (GCC) crew that always tends to see at least a few slots for interested student developers has begun formulating some potential project ideas.

    For GSoC 2019 some of the ideas they have listed for potentially interested students to consider include support for the OpenMP Debug Interface (OPMD), expanding the math built-in functions, and even supporting AIX 7.2 by Binutils.

  • This Week In Servo 125
  • Linked Lists in Detail with Python Examples: Single Linked Lists
  • Dense matrices implementation in Python
  • Table of Contents for Creating GUI Applications Book
  • Python class decorator - part II - with configuration arguments
  • Scrape the web with Python and get updates on Telegram
  • Sum of all the non-negative and non-zero numbers in a list

    Hello, we are supposed to start a new project today but because I am busy doing something else, therefore, I only post a simple solution for one of the questions on codewars. We will start our next python project in the next chapter.

    Codewars is the place you all will want to visit to brush up your python skill if you are really serious about learning python. Although some questions on codewars are really tricky and some of them make people hard to understand but overall speaking this is the only place which provides real deal for those python programmer who wants to perfect their python skill. If you find out that some questions on codewars have provided a wrong answer and make your head spins like crazy then just ignore that one and move on to the next one instead.

  • Issues with how we teach

    What we are taught are the tools but not the theory behind the tools. If we don’t learn how the basic tools are made then how can we expect someone to improve or invent new tools in any meaningful way?

    Everything in Maths, Physics and Computer Science is connected. All the formulas and theorems are derived from the basic concepts we already know and are familiar with.

    I used to believe that this is exactly how I am supposed to be taught. I am just not smart enough to figure out the relationship between all of this stuff myself.

  • The repository hosting platform now provides support for mercurial repositories

    If you feel like the git version control platforms out there are great but don’t quite have what you are looking for, we are here to provide you with the newest alternative.

Syndicate content

More in Tux Machines

Plasma Pass 1.0.0

Last year I wrote about Plasma Pass, a Plasma applet for the Pass password manager. Over the couple last months I got some emails from packagers from various distributions asking for a proper release so they can package it…so here it is, proudly announcing Plasma Pass 1.0.0. Read more

Games: King of Cards, GOG, Blade Symphony and Monster Logic

  • Shovel Knight's final two expansions King of Cards and Showdown have been delayed
    Yacht Club Games originally announced the final two expansions would be released in April but they've decided to delay them. For those not up to speed, King of Cards is the next and final expansion for Shovel Knight: Treasure Trove. You take on the role of King Knight, through 4 new worlds and more than 30 all new courses. Then we have Showdown, which is a mix of multiplayer madness for up to 4 players as well as giving another new story mode. Both are going to be free updates when released!
  • GOG has another sale on for the 'Lantern Festival' with some good Linux games going cheap
    It seems there's a game sale for every possible event in the world now, not that I am complaining as it's good for our wallets. The current sale over on GOG is their 'Lantern Festival' to celebrate the Year of the Pig. So you too can pig-out out on some of the great deals going. This time, there's not a huge selection for Linux gamers, so I've picked out a few of the best deals.
  • Blade Symphony patch 7 is out with experimental asset streaming, free to play release next month
    Some big news for Blade Symphony today, not only do they have another major patch release they've also announced the free to play release date. On March 7th, the flood gates will officially open on Steam for everyone to jump into Blade Symphony completely free. This is a huge milestone for Puny Human, something they've been solidly working towards for some time now.
  • Monstrous programming puzzle game 'Monster Logic' is coming to Linux this year
    While it has no clear release date other than this year, Monster Logic certainly looks like a sweet programming puzzle game that's coming to Linux.

All-in-One Messaging Application Franz 5 Sees First Stable Release

After 24 beta releases, Franz, an all-in-one messaging application, has reached version 5.0.0 stable. Besides being the first Franz 5 stable release, the latest 5.0.0 version brings automatic spellcheck language detection, an option to quit Franz from the Windows taskbar, updated Electron to version 4.0.4 (from 4.0.2), and small bugfixes and improvements. Franz is a free Electron application for Windows, Linux and Mac that combines almost 70 chat and messaging services into a single window that can run in the background, with multi-account support, notifications and a system tray, spell checking, and other useful features. Read more

5 Good Open Source Speech Recognition/Speech-to-Text Systems

A speech-to-text (STT) system is as its name implies; A way of transforming the spoken words via sound into textual files that can be used later for any purpose. Speech-to-text technology is extremely useful. It can be used for a lot of applications such as a automation of transcription, writing books/texts using your own sound only, enabling complicated analyses on information using the generated textual files and a lot of other things. In the past, the speech-to-text technology was dominated by proprietary software and libraries; Open source alternatives didn’t exist or existed with extreme limitations and no community around. This is changing, today there are a lot of open source speech-to-text tools and libraries that you can use right now. Here we list 5 of them. Read more