Language Selection

English French German Italian Portuguese Spanish

Programming Leftovers

Filed under
Development
  • Manage complex Git workspaces with Great Teeming Workspaces

    Somewhat like Python venv, but for languages other than Python, GTWS handles workspaces for multiple versions of multiple projects. You can create, update, enter, and leave workspaces easily, and each project or version combination has (at most) one local origin that syncs to and from the upstream—all other workspaces update from the local origin.

  • Why developers like to code at night

    If you ask most developers when they prefer to work, many will say their most productive hours are at night. This may be especially true for open source contributors who are contributing to projects outside of their day job (though hopefully within healthy limits to avoid burnout).

    Some like to start in the evening and work till the early hours while others get up super early—say, 4 a.m.—to get most of the programming work done before the daily grind kicks in.

    This work habit may make many developers seem like oddballs and misfits. However, there are quite a few reasons why so many programmers prefer to work during the odd hours:

  • Introducing our new Lua cheat sheet

    Not only is Lua simple in design, but it's also consistent in ways that many other languages are not. It has explicit scoping (so it's not dependent on indentation), it interfaces with C through simple wrappers, and it can accept raw C data as a data type. Lua's syntax is direct and predictable, so once you learn a few structures, the rest is largely intuitive.

    For example, the end keyword is used to close a clause, whether that clause is an if statement, a for or while loop, or a function. The table construct is the sole data-structuring mechanism in Lua, and it can be used to represent ordinary arrays, lists, symbol tables, sets, records, graphs, or trees, and it can even mimic object-oriented classes. Broad statements about Lua are plentiful, and they usually apply equally across the language. There aren't exceptions to the syntax: once you learn something, you can use that principle no matter what you're writing in Lua.

    Lua is simple enough to fit on one side of a single-page cheat sheet, but we created a two-page cheat sheet for notes about syntax, data structures, important variables, and a few tricks and tips. Whether you're new to Lua or you've been using it for years, download our Lua cheat sheet and keep it handy. It'll make Lua (or at least writing it) even faster.

  • Excellent Free Tutorials to Learn Ada

    Ada is a structured, statically typed, imperative, wide-spectrum, multi-paradigm, object-oriented high-level, ALGOL-like programming language, extended from Pascal and other languages. The language was developed in the late 1970s and early 1980s. Ada is named after Augusta Ada Byron (often now known as Ada Lovelace), daughter of the poet Lord Byron.

    Ada has built-in language support for explicit concurrency, offering tasks, synchronous message passing, protected objects, and non-determinism. Ada incorporates the benefits of object-oriented languages without incurring the pervasive overheads.

    Other notable features of Ada include: strong typing, inherent reliability, modularity mechanisms (packages), run-time checking, parallel processing, exception handling, the ability to provide abstraction through the package and private type, and generics.

    Ada is particularly strong in areas such as real-time applications, low-level hardware access, and safety-critical software, as it has specialized design features, and high reliability. Most errors are detected at compile time and of those remaining many are detected by runtime constraints. While Ada was originally targeted at embedded and real time systems, the Ada 95 revision added support for object-oriented (including dynamic dispatch), numerical, financial, and systems programming. With its readability, scalability, and being designed for development of very large software systems, Ada is a good choice for open source development.

    Here’s our recommended tutorials to learn Ada. If you’re looking for free Ada programming books, check here.

  • digest 0.6.24: Some more refinements

    Another new version of digest arrived on CRAN (and also on Debian) earlier today.

    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 889k monthly downloads with 255 direct reverse dependencies and 7340 indirect reverse dependencies) as many tasks may involve caching of objects for which it provides convenient general-purpose hash key generation.

    This release comes a few month after the previous release. It contains a few contributed fixes, some of which prepare for R 4.0.0 in its current development. This includes a testing change to the matrix/array class, and corrects the registration for the PMurHash routine as pointed out by Tomas Kalibera and Kurt Hornik (who also kindly reminded me to finally upload this as I had made the fix already in December). Moreover, Will Landau sped up one operation affecting his popular drake pipeline toolkit. Lastly, Thierry Onkelinx corrected one more aspect related to sha1.

  • Do you CI?

    Continuous integration is often confused with build tooling & automation. CI is not something you have, it’s something you do.

    Continuous integration is about continually integrating. Regularly (several times a day) integrating your changes (in small & safe chunks) with the changes being made by everyone else working on the same system.

    Teams often think they are doing continuous integration, but are using feature branches that live for hours or even days to weeks.

    Code branches that live for much more than an hour are an indication you’re not continually integrating. You’re using branches to maintain some degree of isolation from the work done by the rest of the team.

  • Using Zuul CI with Pagure.io

    I attended Devconf.cz again this year – I’ll try and post a full blog post on that soon. One of the most interesting talks, though, was CI/CD for Fedora packaging with Zuul, where Fabien Boucher and Matthieu Huin introduced the work they’ve done to integrate a specific Zuul instance (part of the Software Factory effort) with the Pagure instance Fedora uses for packages and also with Pagure.io, the general-purpose Pagure instance that many Fedora groups use to host projects, including us in QA.

    They’ve done a lot of work to make it as simple as possible to hook up a project in either Pagure instance to run CI via Zuul, and it looked pretty cool, so I thought I’d try it on one of our projects and see how it compares to other options, like the Jenkins-based Pagure CI.

  • Declarative Systems Take Center Stage

    Declarative systems and languages are different from what we typically think of as computer code. Most computer languages are imperative, not declarative. In imperative systems, code defines a series of steps to be taken which the system then executes. This is the classic programming language paradigm.

    For example, a declarative system may be told to create a virtual machine by declaring the existence of the VM as the expected state of the system.

  • This Week in Rust 325
  • 7 Best Programming Languages for Mobile Apps Development | HokuApps

    Java is probably one of the most popular programming languages out there for mobile app development and is used by a number of mobile app development services. Android OS, which is a widely used operating system, is written in Java; and so, if an app developer is well-versed with Java, then they’ll be able to create all kinds of Android apps.

    Besides Android apps, developers familiar with Java can develop games, embedded space, websites, server apps, and more. Moreover, Java can either be run in a browser window or in a virtual machine that does not require a browser. This is why it’s an extremely flexible programming language in terms of reusing code.

  • Working on these skills can get you high paying jobs
  • ML, data analytics most sought after skills for 2020: Study
  • Tech skills will dominate in 2020

More in Tux Machines

Openwashing Leftovers

'Open' Surveillance 'Apps'

  • Singapore to open-source national Coronavirus encounter-tracing app and the Bluetooth research behind it

    The app, named TraceTogether and its government is urging citizens to run so that if they encounter a Coronavirus carrier, it’s easier to trace who else may have been exposed to the virus. With that info in hand, health authorities are better-informed about who needs to go into quarantine and can focus their resources on those who most need assistance. The app is opt-in and doesn’t track users through space, instead recording who you have encountered. To do so, it requires Bluetooth and location services to be turned on when another phone running the app comes into range exchanges four nuggets of information - a timestamp, Bluetooth signal strength, the phone’s model, and a temporary identifier or device nickname. While location services are required, the app doesn't track users, instead helping to calculate distances between them.

  • Singapore says it will make its contact tracing tech freely available to developers

    Less than a week after launching an app to track potential exposure to the coronavirus, Singapore is making the technology freely available to developers worldwide. The city-state rolled out an app called TraceTogether on March 20 and described it as a supplementary tool for its contact tracing efforts that relied on the recall and memory of infected individuals. Contact tracing is the process of identifying those with close contact with infected patients.

  • Over 600k users installed TraceTogether, app to be made open source

    A mobile application developed by the Government Technology Agency (GovTech) that helps in contact tracing for Covid-19 has been installed by more than 620,000 users since its launch last Friday. With a decision to make the technology behind it available to developers around the world, even more people could stand to benefit. Developed in collaboration with the Health Ministry (MOH), the TraceTogether mobile app works by exchanging short-distance Bluetooth signals between phones.

  • 620,000 people installed TraceTogether in 3 days, S’pore’s open source contact tracing app

    TraceTogether, a mobile app to support contact tracing efforts developed by the Government Technology Agency (GovTech), in collaboration with the Ministry of Health (MOH), was launched on Friday, Mar. 20.

  • The Shield: the open source Israeli Government app which warns of Coronavirus exposure
  • Israel Unveils Open Source App to Warn Users of Coronavirus Cases

    A new Israeli app can instantly tell users if they have crossed paths with someone known to have been infected with the coronavirus. On Sunday, the country’s health ministry unveiled the app, called “The Shield”(“HaMagen”, in Hebrew.) The app takes location data from the user’s phone and compares it with the information in Health Ministry servers regarding the location histories of confirmed cases during the 14 days before their diagnosis.

OSS Leftovers

  • Open source platforms, flexible airframes for new drones

    Multirotor drones excel at vertical lift and hover, while fixed wing drones are great at both distance and wide-open spaces. In February, Auterion Government Solutions and Quantum-Systems announced a two-pronged approach to the rotor- or fixed-wing drone market, with a pair of drones that use the same sensor packages and fuselage to operate as either the Scorpion Trirotor or the Vector fixed wing craft. “As we started to develop our tactical UAS Platform, our plan was only to develop a VTOL fixed wing solution (like our Vector),” said Florian Siebel, managing director of Quantum-Systems. “During the development process we decided to build a Tri-Copter Platform as well, as a result of many discussions with law enforcement agencies and Search and Rescue Units.” Adapting the fixed-wing fuselage to the tri-copter attachments means the drone can now operate in narrow spaces and harsh conditions. Scorpion, with the rotors, can fly for about 45 minutes, with a cruising speed of zero to 33 mph. Put the fixed wings back on for Vector, and the flight time is now two hours, with a cruising speed of 33 to 44 mph.

  • IEEE Standards Association Launches a Platform for Open Source Collaboration
  • Greg Smith on the strengths and drawbacks of open source software

    There are a lot of tire models available in the world. Most are closed source (or black box), meaning the program code behind them is not available to end users. This is understandable as the code can easily be licensed and its development paid for. Everyone’s got to make a living! This approach, however, makes it much harder to get the best out of the models – if you can’t see their internal workings, it’s harder to maximize their usefulness. Other models, such as Magic Formula, are effectively open source, with the equations published in books and journal papers. This means that anyone (if they invest the time) can build and use their own Magic Formula solvers and, in the process, learn the details of how the model works. In April 2015, during a session at the 4th International Tire Colloquium at Surrey University, UK, the general idea of open sourcing was discussed. In attendance were various figures from the commercial tire model development community, representatives from car and tire companies who use the models, and a large group of academics involved in more fundamental research. Issues were raised regarding everything from intellectual property concerns and licensing through to technical advances, development strategies and training. Boiling all this down, most discussions centered on one of two approaches.

  • First open-source AI for driverless agricultural vehicles
  • Huawei announced AI Computing Framework MindSpore as Open Source

    During the Huawei 2020 Developer Conference continues online, bringing the latest progress of The Wei Peng and Yan Teng Ecology. According to the agenda of the meeting, the first day of the developer conference (March 27) will focus on Peng Peng, the next day (March 28) will focus on The Teng.

  • New Chinese open-source AI platform launched

    Megvii Technology Limited has announced the launch of a new open-source artificial intelligence platform for developers, Shanghai Daily learned on Thursday. Other firms offering such platforms include tech giants like Google, Amazon, Facebook, Microsoft and Baidu.

  • Open-source AI infrastructure to boost innovation in China

    From smart fever-screening at subway stations to scan-reading diagnosis, artificial intelligence (AI) is on the frontline of China's battle against the novel coronavirus. Behind the smart systems are deep-learning frameworks that emulate the way the human brain learns, like recognizing patterns and coping with ambiguity.

  • Megvii makes deep learning AI framework open-source as China moves to reduce reliance on US platforms
  • Noble.AI Contributes to TensorFlow, Google's Open-Source AI Library and the Most Popular Deep Learning Framework

    Noble.AI, whose artificial intelligence (AI) software is purpose-built for engineers, scientists, and researchers and enables them to innovate and make discoveries faster, today announced that it had completed contributions to TensorFlow, the world's most popular open-source framework for deep learning created by Google.

  • Google open-sources framework that reduces AI training costs by up to 80%

    Google researchers recently published a paper describing a framework — SEED RL — that scales AI model training to thousands of machines. They say that it could facilitate training at millions of frames per second on a machine while reducing costs by up to 80%, potentially leveling the playing field for startups that couldn’t previously compete with large AI labs.

  • A case study: Improving patient outcomes with Open Source

    South London and Maudsley NHS Foundation Trust (SLaM) provides the widest range of NHS mental health services in the UK with 52 inpatient wards, outpatient, and community services. As recognition of their digital accomplishments, SLaM have been awarded GDE (Global Digital Exemplar) status. Following a two-year pilot of Open-eObs software, the trust had proven the long-term benefits of an open source approach and needed a supplier to further drive their digital ambition.

Programming: Java, Python, Perl and More

  • Azul Systems Extends Open Source Java Offerings with a new Zulu Distribution of OpenJDK 14
  • Azul Systems brews up fresh blend for open source Java

    Java runtime solutions company Azul Systems has announced the general availability of its Zulu release of OpenJDK 14 builds. [...] All Zulu 14 JDKs and JREs are verified against and pass the TCK certification tests required to ensure the correct execution of Java SE 14 applications.

  • Python File I/O

    Start writing here..In this article, you'll learn about Python file operations. More specifically, opening a file, reading from it, writing into it, closing it and various file methods you should be aware of. What is a file? File is a named location on disk to store related information. It is used to permanently store data in a non-volatile memory (e.g. hard disk). Since, random access memory (RAM) is volatile which loses its data when computer is turned off, we use files for future use of the data.

  • Python: Pros and Cons of Lambda

    lambda is a keyword in Python, we use it to create an anonymous function. So we also call lambda functions as anonymous functions.

  • Learning pandas by Exploring COVID-19 Data

    The European Centre for Disease Prevention and Control provides daily-updated worldwide COVID-19 data that is easy to download in JSON, CSV or XML formats. In this tutorial, we will use the pandas data analysis tool on the comma-separated values (CSV) data to learn some of the basic pandas commands and explore what is contained within the data set.

  • Rotation in R^2 - CY's take on PWC#053 Task 1

    This is a part of Perl Weekly Challenge(PWC) #053 and the followings are related to my solution. If you want to challenge yourself on Perl, go to https://perlweeklychallenge.org, code the latest challenges, submit codes on-time (by GitHub or email) if possible, before reading my blog post.

  • Perl Weekly Challenge 053: Rotate Matrix and Vowel Strings
  • IoT Adoption Survey Reveals Open Source Rules

    The Eclipse Foundation's IoT Working Group has issued a report that reveals that for commercial organizations the IoT is real and adoption is growing, albeit with a degree of caution. As far as IoT is concerned, the open source model clearly dominates. Conducted online between October and December 2019, with 366 respondents, the IoT Commercial Adoption Survey was the first exercise of its kind. Its aim was gain a better understanding of the IoT industry landscape by identifying the requirements, priorities, and challenges faced by organizations that are deploying and using commercial IoT solutions. It can be seen as the counterpart of the IoT Developer Survey, which since 2015 has been an annual exercise reporting on the programming languages, platforms, infrastructure and tools used for building IoT solutions.

  • What happens when the maintainer of a JS library downloaded 26m times a week goes to prison for killing someone with a motorbike? Core-js just found out

    In November 2019, Denis Pushkarev, maintainer of the popular core-js library, lost an appeal to overturn an 18-month prison sentence imposed for driving his motorcycle into two pedestrians, killing one of them. As a result, he's expected to be unavailable to update core-js, a situation that has project contributors and other developers concerned about the fate of his code library.

  • [Old] When to assume neural networks can solve a problem

    The question: “What are the problems we should assume can be solved with machine learning?”, or even narrower and more focused on current developments “What are the problems we should assume a neural network is able to solve?”, is one I haven’t seen addressed much.

    There are theories like PAC learning and AIX which at a glance seem to revolve around this, as it pertains to machine learning in general, but if actually applied in practice won’t yield any meaningful answers.

    However, when someone asks me this question about a specific problem, I can often give a fairly reasonable confidence answer provided I can take a look at the data.

    Thus, I thought it might be helpful to lay down the heuristic that generate such answers. I by no means claim these are precise or evidence based in the scientific sense, but I think they might be helpful, maybe even a good start point for further discussion on the subject.

  • Uber Open Sources Piranha Stale Code Remover

    Uber has released an open source version of Piranha, a tool that scans source code to delete code related to stale, or obsolete, feature flags. Piranha is run at Uber in an ongoing pipeline for its Android and iOS codebases and has been used to remove around two thousand stale feature flags and their related code. Uber says it has led to a cleaner, safer, more performant, and more maintainable code base.

  • Piranha Is An Open Source Tool That Automatically Deletes Obsolete Code