Language Selection

English French German Italian Portuguese Spanish

Development

Programming Leftovers

Filed under
Development
  • NumFOCUS and Tidelift partner to support essential community-led open source data science and scientific computing projects

    NumFOCUS and Tidelift today announced a partnership to support open source libraries critical to the Python data science and scientific computing ecosystem. NumPy, SciPy, and pandas—sponsored projects within NumFOCUS—are now part of the Tidelift Subscription. Working in collaboration with NumFOCUS, Tidelift financially supports the work of project maintainers to provide ongoing security updates, maintenance and code improvements, licensing verification and indemnification, and more to enterprise engineering and data science teams via a managed open source subscription from Tidelift.

  • Python Plotting With Matplotlib

    A picture is worth a thousand words, and with Python’s matplotlib library, it fortunately takes far less than a thousand words of code to create a production-quality graphic.

    However, matplotlib is also a massive library, and getting a plot to look just right is often achieved through trial and error. Using one-liners to generate basic plots in matplotlib is relatively simple, but skillfully commanding the remaining 98% of the library can be daunting.

  • Nominations for 2019 Malcolm Tredinnick Memorial Prize

    Malcolm was an early core contributor to Django and had both a huge influence and large impact on Django as we know it today. Besides being knowledgeable he was also especially friendly to new users and contributors. He exemplified what it means to be an amazing Open Source contributor. We still miss him.

    The DSF Prize page summarizes the prize nicely:

    The Malcolm Tredinnick Memorial Prize is a monetary prize, awarded annually, to the person who best exemplifies the spirit of Malcolm’s work - someone who welcomes, supports and nurtures newcomers; freely gives feedback and assistance to others, and helps to grow the community. The hope is that the recipient of the award will use the award stipend as a contribution to travel to a community event -- a DjangoCon, a PyCon, a sprint -- and continue in Malcolm’s footsteps.

  • Dirk Eddelbuettel: pkgKitten 0.1.5: Creating R Packages that purr

    This release provides a few small changes. The default per-package manual page now benefits from a second refinement (building on what was introduced in the 0.1.4 release) in using the Rd macros referring to the DESCRIPTION file rather than duplicating information. Several pull requests fixes sloppy typing in the README.md, NEWS.Rd or manual page—thanks to all contributors for fixing these. Details below.

Programming: Picolibc, NGT, Tryton, OCaml, GNOME and KDE

Filed under
Development
  • Picolibc Updates (October 2019)

    Tiny stdio in picolibc uses a global variable, __iob, to hold pointers to FILE structs for stdin, stdout, and stderr. For this to point at actual usable functions, applications normally need to create and initialize this themselves.

    If all you want to do is make sure the tool chain can compile and link a simple program (as is often required for build configuration tools like autotools), then having a simple 'hello world' program actually build successfully can be really useful.

    I added the 'dummyiob.c' module to picolibc which has an iob variable initialized with suitable functions. If your application doesn't define it's own iob, you'll get this one instead.

  • NGT: A library for high-speed approximate nearest neighbor search

    Different search methods are used for different data types. For example, full-text search is for text data, content-based image retrieval is for images, and relational databases are for data relationships. Deep learning models can easily generate vectors from various kinds of data so that the vector space has embedded relationships among source data. This means that if two source data are similar, the two vectors from the data will be located near each other in the vector space. Therefore, all you have to do is search the vectors instead of the source data.
    Moreover, the vectors not only represent the text and image characteristics of the source data, but they also represent products, human beings, organizations, and so forth. Therefore, you can search for similar documents and images as well as products with similar attributes, human beings with similar skills, clothing with similar features, and so on. For example, Yahoo! Japan provides a similarity-based fashion-item search using NGT.

  • Tryton Spanish Days 2019: In Alicante on the 27th & 28th of November

    The Tryton Foundation is happy to announce the venue and date of the next Tryton Spanish Days.

  • 6 Excellent Free Books to Learn OCaml

    Caml is a general-purpose, powerful, high-level programming language with a large emphasis on speed and efficiency. A dialect of the ML programming language, it supports functional, imperative, and object-oriented programming styles. Caml has been developed and distributed by INRIA, a French research institute, since 1985.

    The OCaml system is the main implementation of the Caml language. It has a very strong type-checking system, offers a powerful module system, automatic memory management, first-class functions, and adds a full-fledged object-oriented layer. OCaml includes a native-code compiler supporting numerous architectures, for high performance; a bytecode compiler, for increased portability; and an interactive loop, for experimentation and rapid development. OCaml’s integrated object system allows object-oriented programming without sacrificing the benefits of functional programming, parametric polymorphism, and type inference. The language is mature, producing efficient code and comes with a large set of general purpose as well as domain-specific libraries.

    OCaml is often used for teaching programming, and by large corporations. OCaml benefits from a whole range of new tools and libraries, including OPAM (package manager), optimizing compilers, and development tools such as TypeRex and Merlin.

    OCaml was written in 1996 by Xavier Leroy, Jérôme Vouillon, Damien Doligez, and Didier Rémy at INRIA in France.

  • Build win32/win64 nightlies using Gitlab CI

    A week ago after getting Dia nightlies published on GNOME’s new Flatpak nightlies infrastructure I was discussing with Zander Brown, the new maintainer of Dia, of the possibility to publish Windows nightlies through Gitlab the same way we do with Flatpak bundles. A few minutes later I was already trying to cargo-cult what Gedit had to build Windows bundles.

    It took me a bit of time to figure out how things work, especially that I wanted to make it easier for you to set up a win32/win64 build for your project without much work and as we already use a CI template for Flatpak builds, I ended up doing something pretty similar, but a bit more complex under the hood.

  • Additions and Corrections

    FreeBSD official ports has KDE Frameworks 5.63, Plasma 5.17 and Applications 19.08.2 so it’s right up-to-date with the main KDE releases and it makes a great development platform.

Programming: Bash, Python, Java, Encodings

Filed under
Development
  • How to program with Bash: Logical operators and shell expansions

    Bash is a powerful programming language, one perfectly designed for use on the command line and in shell scripts. This three-part series (which is based on my three-volume Linux self-study course) explores using Bash as a programming language on the command-line interface (CLI).

    The first article explored some simple command-line programming with Bash, including using variables and control operators. This second article looks into the types of file, string, numeric, and miscellaneous logical operators that provide execution-flow control logic and different types of shell expansions in Bash. The third and final article in the series will explore the for, while, and until loops that enable repetitive operations.

    Logical operators are the basis for making decisions in a program and executing different sets of instructions based on those decisions. This is sometimes called flow control.

  • Initializing arrays in Java

    People who have experience programming in languages like C or FORTRAN are familiar with the concept of arrays. They’re basically a contiguous block of memory where each location is a certain type: integers, floating-point numbers, or what-have-you.

    The situation in Java is similar, but with a few extra wrinkles.

  • Python array list’s count method

    In this example, we will use the count method from the Python array list to decide which phrase to return from a function that will accept an array list consists of good and bad ideas.

    In the below example, you need to decide which phrase to return from the array list which consists of good ideas ‘good’ and bad ideas ‘bad’. If there are one or two good ideas, return ‘Publish!’, if there are more than 2 return ‘I smell a series!’. If there are no good ideas, as is often the case, return ‘Fail!’.

  • Jakarta EE: What’s in store for Enterprise JavaBeans?

    Enterprise JavaBeans (EJB) has been very important to the Java EE ecosystem and promoted many robust solutions to enterprise problems. Besides that, in the past when integration techniques were not so advanced, EJB did great work with remote EJB, integrating many Java EE applications. However, remote EJB is not necessary anymore, and we have many techniques and tools that are better for doing that. So, does EJB still have a place in this new cloud-native world?

    Before writing this post, I did an informal survey via Twitter poll to hear what the community thinks about it. In this article, I’ll share the results of the survey as well as some discussion that emerged as part of the poll. Additionally, I’ll share my opinions on the topic.

  • Dirk Eddelbuettel: digest 0.6.22: More goodies!

    digest creates hash digests of arbitrary R objects (using the md5, sha-1, sha-256, sha-512, crc32, xxhash32, xxhash64, murmur32, and spookyhash algorithms) permitting easy comparison of R language objects. It is a fairly widely-used package (currently listed at 868k monthly downloads) as many tasks may involve caching of objects for which it provides convenient general-purpose hash key generation.

    This release comes pretty much exactly one month after the very nice 0.6.21 release but contains five new pull requests. Matthew de Queljoe did a little bit of refactoring of the vectorised digest function he added in 0.6.21. Ion Suruceanu added a CFB cipher for AES. Bill Denney both corrected and extended sha1. And Jim Hester made the windows-side treatment of filenames UTF-8 compliant.

  • Pleasures of Tibetan input and typesetting with TeX

    Many years ago I decided to learn Tibetan (and the necessary Sanskrit), and enrolled in the university studies of Tibetology in Vienna. Since then I have mostly forgotten Tibetan due to absolute absence of any practice, save for regular consultations from a friend on how to typeset Tibetan. 

    [...]

    In former times we used ctib to typeset Tibetan, but the only font that was usable with it is a bit clumsy, and there are several much better fonts now available. Furthermore, always using transliterated input instead of the original Tibetan text might be a problem for people outside academics of Tibetan. If we want to use one of these (obviously) ttf/otf fonts, a switch to either XeTeX or LuaTeX is required.

Programming Leftovers

Filed under
Development
  • Python Script Invalidates Hundreds Of Papers

    This news item is interesting not just because it is a lesson to us all, but because of the way it is being reported as "Bug In Python Script ..." with the suggestion that Python is the cause of the problem. The truth is, in fact, much more interesting.

    The script is about 1000 lines of Python and hence it isn't a small program. It has been in use since 2014 and was created by Patrick Willoughby, Matthew Jansma, and Thomas Hoye to take raw data and calculate NMR shifts. In the journal Nature Protocols the subject is referred to as the "Willoughby-Hoye" scripts.

  • Future-Proof Code

    Y2K was the nerdy disaster that wasn’t. The fear was that the moment 1/1/00 rolled around, some computers would think it was Jan. 1, 1900. What could go wrong? Maybe highly computerized hydroelectric dams would open their floodgates! Or maybe all date math trying to subtract from 00 would end up negative, and suddenly your mortgage would have been paid off dozens of decades ago!

    The world freaked out. Software engineers stayed up late. In the end, Y2K had some terrible real-life consequences, but it also didn’t turn out to be a complete catastrophe that required stockpiling ammunition and MREs. After airplanes didn’t fall out of the sky, everyone breathed a sigh of relief. The problem, as the public learned so well in the run-up to the New Year, was that for decades, software engineers had left out the century to save on space when storing dates. It was as though they had assumed their software would always run in a year that began with 19. For many who were still just getting used to dial-up internet, Y2K was their first exposure to the potential fragility of software.

  • Current qutebrowser roadmap and next crowdfunding

    Now I'm employed around 16h/week at the same place, mainly helping out with the operating systems course (in other words: I spend my time staring at LaTeX/C/Assembler/Python and teaching students).

    Like already mentioned in the earlier mail, this means I now have a lot more time than before for working on open-source projects. I'm in the process of founding my own one-man company and already have some work lined up - but as soon as everything is set up, I plan to spend much more time on qutebrowser. Certainly a lot more than what I've been able to during my studies in the past years.

    However, that means I don't have a lot of recurring income (enough to pay for rent, food and other bills - but not much more than that). This is why I plan to start another qutebrowser fundraising very soon. There will be shirts and stickers available again, as well as some other swag. This time, I'll focus on recurring donations, but I also plan to offer a way to contribute via one-time donations instead.

  • Introduction to PyTorch for Classification

    PyTorch and TensorFlow libraries are two of the most commonly used Python libraries for deep learning. PyTorch is developed by Facebook, while TensorFlow is a Google project. In this article, you will see how the PyTorch library can be used to solve classification problems.

    Classification problems belong to the category of machine learning problems where given a set of features, the task is to predict a discrete value. Predicting whether a tumour is cancerous or not, or whether a student is likely to pass or fail in the exam, are some of the common examples of classification problems.

    In this article, given certain characteristics of a bank customer, we will predict whether or not the customer is likely to leave the bank after 6 months. The phenomena where a customer leaves an organization is also called customer churn. Therefore, our task is to predict customer churn based on various customer characteristics.

  • Arduino With Python: How to Get Started

    Microcontrollers have been around for a long time, and they’re used in everything from complex machinery to common household appliances. However, working with them has traditionally been reserved for those with formal technical training, such as technicians and electrical engineers. The emergence of Arduino has made electronic application design much more accessible to all developers. In this tutorial, you’ll discover how to use Arduino with Python to develop your own electronic projects.

  • Eclipse Vert.x 3.8.1 update for Red Hat Runtimes

    The latest update to Red Hat Runtimes has arrived and now supports Eclipse Vert.x 3.8.1.

    Red Hat Runtimes provides application developers with a variety of application runtimes and enables them to run on the Red Hat OpenShift Container Platform.

  • Robotic process automation (RPA): How it works

    “Do more with less” might be a timeworn excuse for a business mantra, but robotic process automation (RPA) is a tool that could actually help teams do just that in the right circumstances.

    That’s the big selling point of RPA. The phrase itself might sound complicated or scary, but the possible benefits of RPA are pretty simple: Use software to automatically handle repetitive (and often boring) computer-based tasks that previously hogged a person’s time.

    Moreover, the processes that make good fits for RPA usually take up human hours with work that requires minimal (or no) skill or creativity. It’s ultimately about efficiency.

Python Programming Leftovers

Filed under
Development
  • Pylint: Making your Python code consistent

    Pylint is a higher-level Python style enforcer. While flake8 and black will take care of "local" style: where the newlines occur, how comments are formatted, or find issues like commented out code or bad practices in log formatting.

    Pylint is extremely aggressive by default. It will offer strong opinions on everything from checking if declared interfaces are actually implemented to opportunities to refactor duplicate code, which can be a lot to a new user. One way of introducing it gently to a project, or a team, is to start by turning all checkers off, and then enabling checkers one by one. This is especially useful if you already use flake8, black, and mypy: Pylint has quite a few checkers that overlap in functionality.

  • PyDev of the Week: Sophy Wong

    This week we welcome Sophy Wong (@sophywong) as our PyDev of the Week! Sophy is a maker who uses Circuit Python for creating wearables. She is also a writer and speaker at Maker events. You can see some of her creations on her Youtube Channel or her website. Let’s take a few moments to get to know her better!

  • Erik Marsja: Converting HTML to a Jupyter Notebook

    In this short post, we are going to learn how to turn the code from blog posts to Jupyter notebooks.

Programming: News About GNU Compiler (GCC 10)

Filed under
Development
GNU
  • GCC 10 Switches Arm's Scheduling-Pressure Algorithm For Better Performance

    A minor optimization was merged into GCC 10 last week for benefiting those on Arm compiling their code with the GNU Compiler Collection.

    Prominent Arm toolchain developer Wilco Dijkstra of Arm has changed the default scheduling-pressure algorithm used by their back-end with GCC

  • GCC 10 Has C++20 Concepts Support In Order

    Concepts is one of the big features of the forthcoming C++20 that extends the language's templates functionality to add type-checking to templates and other compile-time validation. The existing concepts support in GCC was updated to reflect differences between the years old technical specification and the version being introduced as part of C++20.

    After review, that C++20 concepts support was merged earlier this month for GCC 10 as well as the libstdc++ updates.

Qt 3D Discussed

Filed under
Development
KDE
  • Qt 3D Will Still Be Improved On Alongside Qt Quick 3D

    While Qt Quick 3D has been talked up a lot recently with The Qt Company's plans for that new 3D module inside the current Qt5 and future Qt6 tool-kits, Qt 3D itself is not going away.

    Qt Quick 3D will offer 3D support to Qt Quick via QML and C++ APIs but the existing Qt 3D support isn't going to be eliminated and in fact will be improved upon as we near the Qt 6.0 release in about one year's time.

  • The Future of Qt 3D

    As you will have read, a new module called Qt Quick 3D will begin offering 3D capabilities to Qt Quick via a QML API (and a planned C++ API for Qt 6). What does this mean for Qt 3D and where will it fit in the Qt ecosystem? Hopefully this blog post and the following one will help answer that question as well as give some insights into what we are working on in Qt 3D. This blog post will focus on the changes coming with Qt 5.x and the following article will details some of the research we are doing to improve Qt 3D on the Qt 6 timescale.

  • Qt 3D: One too many threads

    Qt 3D makes heavy use of threads, as a way to spread work across CPU cores and maximize throughput, but also to minimize the chances of blocking the main thread. Though nice on paper, the last case eventually leads to added complexity. Sometimes, there are just one too many threads.

    In the past, we’ve been guilty of trying to do too much within Qt 3D rather than assuming that some things are the developer’s duty. For instance there was a point in time where we’d compare the raw content of textures internally. The reason behind that was to handle cases where users would load the same textures several times rather than sharing one. This led to code that was hard to maintain and easy to break. Ultimately it provided convenience only for what can be seen as a misuse of Qt 3D, which was not the the original intention.

    We had similar systems in place for Geometries, Shaders… Part of the reason why we made such choices at the time was that the border between what Qt 3D should or shouldn’t be doing was really blurry. Over time we’ve realized that Qt 3D is lower level than what you’d do with QtQuick. A layer on top of Qt 3D would have instead been the right place to do such things. We’ve solved some of these pain points by starting work on Kuesa which provides assets collections.

Programming Leftovers

Filed under
Development
  • Codeplay Launches Open-Source 'SYCL Academy' To Learn This Increasingly Popular Standard

    While SYCL has been around for five years as a Khronos standard providing a single-source C++ programming model for exploiting OpenCL, it has yet to reach its prime but demand for it is picking up with Intel working to upstream their SYCL back-end in LLVM, SYCL becoming part of their programming model with oneAPI and Xe Graphics, and other vendors also jumping on the SYCL bandwagon. Codeplay has now provided an open-source SYCL learning code for those interested in this higher-level alternative to straight OpenCL programming.

  • Open-Source Build and Test Tool Bazel Reaches 1.0

    Derived from Google's internal build tool Blaze, Bazel is a build and test tool that offers a human-readable definition language and is particularly aimed at large, multi-language, multi-repositories projects. Originally open-sourced in 2015, Bazel has now reached 1.0.

    One of the major implications of reaching version 1.0 for Bazel is the promise of greater stability and backward-compatibility guarantees. This has been a historical pain point for Bazel users, who often found themselves in the situation of having to rewrite part of their build rules due to frequent breaking changes in Bazel or its ecosystem. Accordingly, the Bazel team has committed to following semantic versioning for future Bazel releases, meaning only major versions will be allowed to include breaking changes. Furthermore, the team committed to maintaining a minimum stability window of three months between major versions.

  • DevOps Deeper Dive: DevOps Accelerates Open Source Innovation Pace

    That rate of innovation has increased dramatically in the last few years. However, much of that innovation would not have been possible if large swaths of the open source community hadn’t been able to employ best DevOps practices to collaborate, said CloudBees CEO Sacha Labourey.

    [...]

    None of this shift has been lost on IT vendors. As the demand for proprietary code slackened, many found it profitable to offer support services for open source software. The more there is to consume, the more the support services contracts grew. Now every vendor from IBM to small IT services providers such as Fairwinds has launched open source projects that help drive demand for IT services expertise.

    “There’s pain around integrating a lot of disparate open source projects,” said Robert Brennan, director of open source software for Fairwinds. “Organizations may be getting software for free, but there’s usually not a lot of help around.”

    Now almost every IT vendor in the world is making software engineers available to work on open source projects. All that talent focused on open source projects has led to the development of new platforms such as Jenkins, GitHub, Kubernetes and, more recently, a raft of smaller projects. With the rise of containers and cloud-native applications, open source software projects are entering another era that will see many of those same software engineers leveraging DevOps practices more broadly to drive even more innovative projects at increasingly faster rates.

  • Find your next developer from open source communities

    Meanwhile, demand for data scientists is rising as companies seek AI-based solutions to stay competitive. Demand is reflected in salary offers. Companies competing to hire and retain data experts are offering on average more than US$100,000, making it one of the most highly paid professions in the States.

    For companies lacking the budget to hire or train in-house staff to fill the role, they may find themselves struggling with maintaining technological infrastructure or moving forward with plans for digitization.

    Therefore, open source learning and further development of communities could be the solution to this gap.

    An IBM grant to support open source communities such as Girls Who Code, a non-profit organization offering coding lessons for women in the US, is a step forward to filling in a shortage of software developers.

Programming: Automation, Python, Rust and More

Filed under
Development
  • Introducing your friends to automation (and overcoming their fear)

    Another fear that I face often from friends is that they don’t know any programming languages, and believing that if they don’t know how to code, then they can’t do automation. While I think we can all agree that knowing Bash, Python, Perl, or even PowerShell is useful when defining these processes to reduce human interaction, it is not always needed.

    Today we have the tools at our disposal to implement such processes without the absolute need to know a traditional programming language. For example, tools like Red Hat Ansible Tower and Azure DevOps let us take advantage of already created playbooks or plugins. Rarely do we see where one tool fits all, but just getting started with one tool is sometimes enough to get a feel for automation. In turn, that beginning is enough to gain confidence and see the true benefits of automating, which encourages us just enough to try learning something new.

  • Python 2.7.17 released

    Python 2.7.17 is now available for download. Note Python 2.7.17 is the penultimate release in the Python 2.7 series.

  • Python 2.7.17

    Python 2.7.17 is a bug fix release in the Python 2.7.x series. It is expected to be the penultimate release for Python 2.7.

  • Python 3.7.4 : Usinge pytesseract for text recognition.
  • Started a newsletter

    I started a newsletter, focusing on different stories I read about privacy, security, programming in general. Following the advice from Martijn Grooten, I am storing all the interesting links I read (for many months). I used to share these only over Twitter, but, as I retweet many things, it was not easy to share a selected few.

  • Indent datastructure for trees

    It is a preorder traversal of the conceptual tree, aggregating (depth, name) tuples into a list to form what I am calling the indent tree datastructure as it captures all the information of the tree but in a different datastructure than normal, and can be extended to allow data at each node and might be a useful alternative for DB storage of trees.

  • Daniel Silverstone: A quarter in review - Nearly there, 2020 in sight

    I have worked very hard on my Rustup work, and I have also started to review documentation and help updates for the Rust compiler itself. I've become involved in the Sequoia project, at least peripherally, and have attended a developer retreat with them which was both relaxing and productive.

    I feel like the effort I'm putting into Rust is being recognised in ways I did not expect nor hope for, but that's very positive and has meant I've engaged even more with the community and feel like I'm making a valuable contribution.

    I still hang around on the #wg-rustup Discord channel and other channels on that server, helping where I can, and I've been trying to teach my colleagues about Rust so that they might also contribute to the community.

    So initially an 'A', I dropped to an 'A-' last time, but I feel like I've put enough effort in to give myself 'A+' this time.

  • Dirk Eddelbuettel: RcppGSL 0.3.7: Fixes and updates

    A new release 0.3.7 of RcppGSL is now on CRAN. The RcppGSL package provides an interface from R to the GNU GSL using the Rcpp package.

    Stephen Wade noticed that we were not actually freeing memory from the GSL vectors and matrices as we set out to do. And he is quite right: a dormant bug, present since the 0.3.0 release, has now been squashed. I had one boolean wrong, and this has now been corrected. I also took the opportunity to switch the vignette to prebuilt mode: Now a pre-made pdf is just included in a Sweave document, which makes the build more robust to tooling changes around the vignette processing. Lastly, the package was converted to the excellent tinytest unit test framework.

  • Styled output in Poke programs

    I just committed support for styling in printf. Basically, it uses the libtextstyle approach of having styling classes that the user can customize in a .css file.

Programming and Devices/Enthusiasts

Filed under
Development
Syndicate content

More in Tux Machines

today's howtos

MX Linux 19 'Patito Feo' is here!

In the classic story The Ugly Duckling by Hans Christian Andersen, a bird is bullied and tormented by a bunch of mean ducks -- simply because his appearance is different, and he is perceived as ugly. Spoiler alert: he grows up to be a beautiful swan and has the last laugh. Take that, mean ducks! In many ways, Linux users have been like that bullied bird -- made fun of for being different, but as time marches on, it is clear that they are the true swans of the computing world. And so, how appropriate that MX Linux 19, which is released today, is code-named "Patito Feo," which is Spanish for ugly duckling. Yes, following some beta releases, the increasingly popular Debian 10 Buster-based distribution is finally here. The operating system features kernel 4.19 and uses the lightweight Xfce 4.14 desktop environment. It even features a patched sudo, so you don't need to worry about that nasty security vulnerability that had some folks worried. Of course, there is a bunch of great software installed, such as Firefox 69, Thunderbird 60.9, LibreOffice 6.1.5, VLC 3.0.8, GIMP 2.10.12, and more! Read more

Red Hat is positioning itself as the digital transformation partner of the enterprise

Although the concept of digital transformation isn't new, the way in which companies are leveraging technology to make changes to their day-to-day business is constantly evolving, according to Red Hat senior vice president of cloud platforms Ashesh Badani. Using packaging and logistics giant UPS as his example, Badani said the organisation has been working with Red Hat on how it can make its monolithic architecture more modern, in a way that can support them into the future, but also allow for faster innovation. "Essentially take processing to the edge to improve the way they schedule packages, deliver them, increase efficiency routes," he told Red Hat Forum in Melbourne last week. "Be able to do that quickly, because every customer wants personalisation, and they want to be able to make sure that they can see where their packages are." Badani said UPS is now taking advantage of micro services-based technologies, which he said allows for the analytics to take place at the edge, useful in places such as distribution centres that are closest to the actual customers. Read more

Android Leftovers