Language Selection

English French German Italian Portuguese Spanish

Development

Programming: Rust, Top Languages and Studying Developers

Filed under
Development
  • [Rust] Diagnosing A Weak Memory Ordering Bug

    For the first time in my life I tracked a real bug's root cause to incorrect usage of weak memory orderings. Until now weak memory bugs were something I knew about but had subconciously felt were only relevant to wizards coding on big iron, partly because until recently I've spent most of my career using desktop x86 machines.

    Under heavy load a Pernosco service would assert in Rust's std::thread::Thread::unpark() with the error "inconsistent state in unpark". Inspecting the code led to the disturbing conclusion that the only way to trigger this assertion was memory corruption; the value of self.inner.state should always be between 0 and 2 inclusive, and if so then we shouldn't be able to reach the panic. The problem was nondeterministic but I was able to extract a test workload that reproduced the bug every few minutes. I tried recording it in rr chaos mode but was unable to reproduce it there (which is not surprising in hindsight since rr imposes sequential consistency).

  • IEEE Survey Ranks Programming Languages

    It's been said that programming languages are akin to religion. Engineers and developers will go out of their way to defend the use of their favorite language. (Perhaps it's more the pain of learning a new language that keeps us using the old). Surely you've seen many surveys on programming language preferences. As with all surveys, the results depend on who was asked.

  • Programming Languages May Finally Be Reaching a Status Quo

    The analyst firm RedMonk has tracked programmers' interest in various programming languages since 2011. During that time, Swift and Kotlin grew faster than any other language the firm tracked, including Google's Go and Mozilla's Rust. Earlier this year Swift, which Apple released in 2014, managed to tie with Apple's much more established Objective-C language for tenth place in RedMonk's rankings.

  • Machine learning algorithms can identify anonymous programmers

    Rachel Greenstadt, associate professor of computer science at Drexel University, and Aylin Caliskan, an assistant professor at George Washington University, have found that code can be a form of stylistic expression, a bit like writing, reported Wired.

    As such, the researchers developed a machine learning algorithm to recognise the coding structure used by individual programmers based on samples of their work and spot their traits in compiled binaries or raw source code.

Programming: OSM, WebGL and New Research

Filed under
Development
  • Vector Tile Support for OpenStreetMap’s iD Editor

    Protocolbuffer Binary Format(.pbf) and Mapbox Vector Tiles(.mvt) are two popular formats for sharing map data. Prior to this GSoC project, the iD editor in OSM supported GPX data. GPX is an XML schema designed as a common GPS data format for software applications. It can be used to describe waypoints, tracks, and routes.

  • Beautiful maps in minutes: Meet Kepler.gl

    Shan He may hold Silicon Valley's most meta job.

    "When I started out, I was building maps. Then I moved on to build tools to build maps, and now I'm doing tools to do tools that build maps."

    He, who dumped brick-and-mortar architecture studies for computational design, joined Uber as founding member of the data visualization team in 2014. She went on to construct Kepler.gl, a tool that helps make "beautiful maps in like 10 seconds"—without any coding. Built using the deck.gl WebGL data visualization framework, the ride-sharing company recently open sourced the geospatial toolbox that can be used with QGIS, Carto, and Mapbox Studio. Given its origins, it's easy to see why Kepler excels at large-scale visualizations centering on geolocations.

  • Machine Learning Can Uncover Programmers’ Identity

    Just like a painter or author, programmers tend to have their unique style in which they code. As they line up thousands of lines of code, they leave behind a sort of personal “signature” in it.

Programming/Development: Git-cinnabar Release and Programming Language Rankings

Filed under
Development
  • Announcing git-cinnabar 0.5.0

    Git-cinnabar is a git remote helper to interact with mercurial repositories. It allows to clone, pull and push from/to mercurial remote repositories, using git.

  • The RedMonk Programming Language Rankings: June 2018

    They’re a month overdue, and from the volume of inbound questions about when the language rankings would drop, it’s been noticed. As always, these are a continuation of the work originally performed by Drew Conway and John Myles White late in 2010. While the means of collection has changed, the basic process remains the same: we extract language rankings from GitHub and Stack Overflow, and combine them for a ranking that attempts to reflect both code (GitHub) and discussion (Stack Overflow) traction. The idea is not to offer a statistically valid representation of current usage, but rather to correlate language discussion and usage in an effort to extract insights into potential future adoption trends.

Programming/Development: Julia 0.7 and Rust

Filed under
Development
  • Julia 0.7 arrives but let's call it 1.0: Data science code language hits milestone on birthday

    Julia, the open-source programming language with a taste for science, turned 1.0 on Thursday, six years after its public debut in 2012. The occasion was presented on YouTube, live from JuliaCon 2018 in London.

    Created by Jeff Bezanson, Stefan Karpinski, Viral Shah, and Alan Edelman, the language was designed to excel at data science, machine learning, and scientific computing.

    That's a niche – a rather substantial one these days – also served by Python and R, among other languages. However, the Julia aspires to be better, undaunted by being ranked 50 on Tiobe's programming language popularity index for August 2018. For what it's worth, Python presently sits at number 4 while R comes in at 18.

  • Julia 1.0 Programming Language Released

    Julia, the LLVM-based, speed-focused, dynamic and optional typing, full-featured programming language focused on numerical computing has reached the version 1.0 milestone.

    The Julia language has been in the works for nearly a decade while now the 1.0 milestone has been reached. Julia remains committed to its key focus areas for the language. With Julia 1.0 the developers are committing to language API stability.

  • Rust's Low-Level Graphics Abstraction Layer Is Showing A Lot Of Potential

    The Rust programming language's "GFX-RS" initiative that is backed by Mozilla continues working on exposing a universal "Vulkan-like" graphics API within Rust that in turn would have back-ends for Vulkan, OpenGL, Metal, and Direct3D 11/12 in order to reach all major platforms. Early benchmark results are quite promising for GFX-RS.

Julia 1.0

Filed under
Development

The much anticipated 1.0 release of Julia is the culmination of nearly a decade of work to build a language for greedy programmers. JuliaCon2018 celebrated the event with a reception where the community officially set the version to 1.0.0 together.

[...]

Try Julia by downloading version 1.0 now. If you’re upgrading code from Julia 0.6 or earlier, we encourage you to first use the transitional 0.7 release, which includes deprecation warnings to help guide you through the upgrade process. Once your code is warning-free, you can change to 1.0 without any functional changes. The registered packages are in the midst of taking advantage of this stepping stone and releasing 1.0-compatible updates.

The single most significant new feature in Julia 1.0, of course, is a commitment to language API stability: code you write for Julia 1.0 will continue to work in Julia 1.1, 1.2, etc. The language is “fully baked.” The core language devs and community alike can focus on packages, tools, and new features built upon this solid foundation.

Read more

Also: Julia 1.0 Released, 2018 State of Rust Survey, Samsung Galaxy Note 9 Launches Today, Margaret Dawson of Red Hat Named Business Role Model of the Year in Women in IT Awards and Creative Commons Awarded $800,000 from Arcadia

Programming: State of Rust Survey and Python Development

Filed under
Development
  • Launching the 2018 State of Rust Survey

    It’s that time again! Time for us to take a look at how the Rust project is doing, and what we should plan for the future. The Rust Community Team is pleased to announce our 2018 State of Rust Survey! Whether or not you use Rust today, we want to know your opinions. Your responses will help the project understand its strengths and weaknesses and establish development priorities for the future.

    Completing this survey should take about 10 to 15 minutes and is anonymous unless you choose to give us your contact information. We will be accepting submissions until September 8th, and we will write up our findings a month or so afterwards to blog.rust-lang.org. You can see last year’s results here.

  • Perform robust unit tests with PyHamcrest

    At the base of the testing pyramid are unit tests. Unit tests test one unit of code at a time—usually one function or method.

    Often, a single unit test is designed to test one particular flow through a function, or a specific branch choice. This enables easy mapping of a unit test that fails and the bug that made it fail.

    Ideally, unit tests use few or no external resources, isolating them and making them faster.

  • Adding None-aware operators to Python?

    A PEP that has been around for a while, without being either accepted or rejected, was reintroduced recently on the python-ideas mailing list. PEP 505 ("None-aware operators") would provide some syntactic sugar, in the form of new operators, to handle cases where variables might be the special None value. It is a feature that other languages support, but has generally raised concerns about being "un-Pythonic" over the years. At this point, though, the Python project still needs to figure out how it will be governed—and how PEPs can be accepted or rejected.

  • The Grumpy Editor's Python 3 experience

    LWN has been running articles for years to the effect that the end of Python 2 is nigh and that code should be ported to Python 3 immediately. So, naturally, one might expect that our own site code, written in Python, had been forward-ported long ago. Strangely enough, that didn't actually happen. It has mostly happened now, though. In the process of doing this work, your editor has noticed a few things that don't necessarily appear in the numerous porting guides circulating on the net.

    One often-heard excuse for delaying this work is that one or more dependencies have not yet been ported to Python 3. For almost everybody, that excuse ran out of steam some time ago; if a module has not been forward-ported by now, it probably never will be and other plans need to be made. In our case, the final dependency was the venerable Quixote web framework which, due to the much appreciated work of Neil Schemenauer, was forward-ported at the end of 2017. Quixote never really took the world by storm, but it makes the task of creating a code-backed site easy; we would have been sad to have to leave it behind.

    Much of the anxiety around moving to Python 3 is focused on how that language handles strings. The ability to work with Unicode was kind of bolted onto Python 2, but it was designed into Python 3 from the beginning. The result is a strict separation between the string type (str), which holds text as Unicode code points, and bytes, which contains arbitrary data — including text in a specific encoding. Python 2 made it easy to be lazy and ignore that distinction much of the time; Python 3 requires a constant awareness of which kind of data is being dealt with.

Programming: Licensing FUD, NASA, Rust and Curl

Filed under
Development
  • Dual Licensing for Open Source Components: Yeah or Meh? [Ed: Microsoft partner speaks out against GPL or spreads fear, as usual]
  • Flexera Adds Big Automation Boost to Open Source Software Scanning, Compliance and Protection
  • NASA wants you to build your own Mars rover

    It's just not practical for a private citizen to own an actual car-sized NASA Mars rover, as cool as that would be. But with an assist from NASA's Jet Propulsion Lab, you can build a mini version to explore your own backyard.

    The JPL Open Source Rover Project tells you everything you need to know to build a scaled-down rover. 

    While the actual Curiosity rover cost into the billions in US dollars, NASA estimates you can makes its mini-me for about $2,500 (£1,900, AU$3,400) using off-the-shelf parts. JPL published the detailed open-source design on GitHub.

  • Explore New Worlds With JPL's Open Source Rover

    NASA Jet Propulsion Laboratory’s Mars rovers have a special place in my heart. I loved seeing pictures of Sojourner nuzzling up to rocks, and I still wonder whether it managed to drive around the Pathfinder lander after contact was lost. Spirit going silent was heartbreaking, and Opportunity continues to inspire so far beyond its expected lifetime, even as a dust storm threatens to starve it to death. And I particularly remember thinking how insane it was that Curiosity was going to drop onto the surface from a hovering robotic sky crane (!), and then being entirely overwhelmed to watch it happen flawlessly from the media room at JPL.

  • This Week in Rust 246
  • Daniel Stenberg: much faster curl uploads on Windows with a single tiny commit

    These days, operating system kernels provide TCP/IP stacks that can do really fast network transfers. It's not even unusual for ordinary people to have gigabit connections at home and of course we want our applications to be able take advantage of them.

    I don't think many readers here will be surprised when I say that fulfilling this desire turns out much easier said than done in the Windows world.

Pleasant programming playground paves popular Python path

Filed under
Development

To help aspiring programmers start writing code, researchers from the Georgia Institute of Technology in the US have developed a free web-based platform called Code Shrew.

The site – built with Django (Python 3), PostgreSQL, the Skulpt in-browser Python interpreter and the JavaScript-based CodeMirror editor widget – relies on a Python-based syntax to teach basic object-oriented programming concepts using drawing and animation.

Python is among the world's most popular programming languages, thanks in part to its utility for data science and AI-oriented disciplines. The creators of the site hope that the lessons learned through Code Shrew will help students whether they pursue Python or some similar language.

Read more

Dart 2.0 Released

Filed under
Development
  • Dart 2

    Dart 2 has a few key differences from earlier versions of Dart. This page briefly covers those differences and gives general advice on migrating your code to Dart 2.

  • Dart 2.0 Released As A "Reboot" To The Programming Language

    Google developers spearheading the Dart programming language that is intended for general purpose programming, including web applications and can be trans-piled to JavaScript, have issued their second major stable release.

    Dart 2.0 is now available as a big update for this programming language that doesn't receive nearly as much attention as Google's Go or other modern language alternatives. With Dart 2 there have been significant improvements to its type system, Dart no longer has a checked mode, there are various changes to the language itself and its core libraries, and other enhancements.

  • [Old] Announcing Dart 2: Optimized for Client-Side Development

    Today, we’re announcing Dart 2, a reboot of the language to embrace our vision of Dart: as a language uniquely optimized for client-side development for web and mobile.

Programming: JPL, PHP, .NET, Flexera, LLVM, GitHub Woes

Filed under
Development
  • JPL releases plans for build-your-own Mars rover

    NASA's Curiosity lander touched down on the surface of Mars in August, 2012, and its rover payload rolled out shortly after to begin its meandering mission. While the intrepid explorer did its thing, NASA needed an educational project to help explain the technology and the mission to the general public. That role was filled by a scaled down version called ROV-E, and now tinkerers, students, part-time scientists and the rover curious can build their very own mini Mars rover for exploring backyard craters and vast garden mountain ranges.

  • PHP 7.3 Beta Benchmarks Showing Good Performance

    Following last week's PHP 7.3 beta release, which also marks the feature freeze for this next PHP7 update, I've been running some performance benchmarks on a couple different Linux systems.

    My latest PHP 7.3 benchmarks using the first beta copy jive with my earlier PHP 7.3 benchmarks showing this next PHP7 iteration being a nice evolution to the performance and continuing to run much better than during the PHP5 days.

  • 6 ways programmers from underrepresented countries can get ahead

    Becoming a programmer from an underrepresented community like Cameroon is tough. Many Africans don't even know what computer programming is—and a lot who do think it's only for people from Western or Asian countries.

    I didn't own a computer until I was 18, and I didn't start programming until I was a 19-year-old high school senior, and had to write a lot of code on paper because I couldn't be carrying my big desktop to school. I have learned a lot over the past five years as I've moved up the ladder to become a successful programmer from an underrepresented community. While these lessons are from my experience in Africa, many apply to other underrepresented communities, including women.

  • Microsoft Issues .NET Framework Fixes To Address July 10 Patch Problems [Ed: Microsoft software is so absolutely fantastic that it can break itself; article by longtime Microsoft booster doing 'damage control']
  • Flexera simplify OSS license compliance and vulnerability protection

    Flexera has released FlexNet Code 2018, according to their press release, this makes it easier for software suppliers to add a new layer of trust and transparency into their software supply chain.

    New functionality allows suppliers to analyse software assets and create an inventory Bill of Materials (BOM).

  • LLVM 7.0 RC1 Compiler Stack Available For Testing

    While the sources have been tagged in Git for several days now, the binaries are now available too with LLVM 7.0 RC1 now officially being announced.

    Hans Wennborg has announced the availability of LLVM 7.0 RC1, including sub-projects like Clang 7.0 RC1. Downloads of LLVM 7.0 RC1 are available from here.

  • Developer Perception to Microsoft’s Acquisition of GitHub

    What contributors of Linux distributions and BSD families think

Syndicate content

More in Tux Machines

Red Hat: OpenShift and Awards

  • OpenShift Commons Briefing: OpenShift 3.11 Release Update with Scott McCarty (Red Hat)
    In this briefing, Red Hat’s Scott McCarty and numerous other members of the OpenShift Product Management team gave an in-depth look at Red Hat’s OpenShift’s latest release 3.11 and some insights in to the road ahead.
  • Awards roll call: Red Hat awards, June to October 2018
    Depending on the weather in your region, it’s safe to say that the seasons are changing so it’s a good time to look back at what was a busy few months for Red Hat, especially when it came to industry awards for our technical and product leadership. In recent months, Red Hat products and technologies took home twenty awards, highlighting the breadth and depth of our product portfolio as well as the expertise that we provide to our customers. In addition, Red Hat as a company won five awards recognizing its growth and culture as a leader in the industry.
  • More advice from a judge - what it takes to win a Red Hat Innovation Award
    Last year I penned the below post to provide insight into what the judges of the Red Hat Innovation Awards are looking for when reviewing submissions. Looking back, I would give almost the identical advice again this year...maybe with a few tweaks. With all the stellar nominations that we receive, the question I often get is, “how can we make our entry standout?” There’s no magic formula for winning the Red Hat Innovation Awards, but there are things that the other judges and I look for in the entries. Overall, we’re looking for the project that tells a compelling story. It’s not just about sharing what Red Hat products and services you used, we want to hear the full narrative. What challenges did you face; how you implemented the project; and ultimately, what was the true business impact and transformation that took place? Submissions that are able to showcase how open source culture and values were key to success, or how the project is making a difference in the lives of others, are the entries that most often rise to the top.

today's howtos

OSS Leftovers

  • How to be an effective and professional member of the Samba user and development Community
    For many years we have run these lists dedicated to developing and promoting Samba, without any set of clear guidelines for people to know what to expect when participating.  What do we require? What kind of behavior is encouraged?
  • Blockcerts Updates Open Source Blockchain Architecture
    Learning Machine is making changes to its Blockcerts Credential Issuer, Verifier and Wallet to enable native support for records issuance and verification using any blockchain. Blockcerts was launched by Learning Machine and MIT Media Lab in 2016 as new way to allow students to receive digital diplomas through an app, complementing a traditional paper degree. Blockcerts was originally designed to be blockchain-agnostic, which means that open standards can be used to anchor records in any blockchain. The Blockcerts Universal Identifier recognizes which blockchain is being used and verifies accordingly. Currently, the open source project has added support for bitcoin and Ethereum blockchains, but anyone can add support through the project's GitHub page.
  • First full featured open-source Ethereum block explorer BlockScout launched by POA Network
  • Amsterdam-based ING Bank Introduces Open-Source Zero Knowledge Technology
  • ING Bank Launches Open Source Privacy Improvement Add-On for Blockchains
  • Imec tool accelerates DNA sequencing 10x
    As a result, in a typical run, elPrep is up to ten times faster than other software tools using the same resources. It is designed as a seamless replacement that delivers the exact same results as GATK4.0 developed by the Broad Institute. elPrep has been written in the Go programming language and is available through the open-source GNU Affero General Public License v3 (AGPL-3.0).
  • On the low adoption of automated testing in FOSS
    A few times in the recent past I've been in the unfortunate position of using a prominent Free and Open Source Software (FOSS) program or library, and running into issues of such fundamental nature that made me wonder how those issues even made it into a release. In all cases, the answer came quickly when I realized that, invariably, the project involved either didn't have a test suite, or, if it did have one, it was not adequately comprehensive. I am using the term comprehensive in a very practical, non extreme way. I understand that it's often not feasible to test every possible scenario and interaction, but, at the very least, a decent test suite should ensure that under typical circumstances the code delivers all the functionality it promises to. [...] Most FOSS projects, at least those not supported by some commercial entity, don't come with any warranty; it's even stated in the various licenses! The lack of any formal obligations makes it relatively inexpensive, both in terms of time and money, to have the occasional bug in the codebase. This means that there are fewer incentives for the developer to spend extra resources to try to safeguard against bugs. When bugs come up, the developers can decide at their own leisure if and when to fix them and when to release the fixed version. Easy! At first sight, this may seem like a reasonably pragmatic attitude to have. After all, if fixing bugs is so cheap, is it worth spending extra resources trying to prevent them?
  •  
  • Chrome for Linux, Mac, and Windows Now Features Picture-in-Picture by Default
    Chromium evanghelist at Google François Beaufort announced today that Picture-in-Picture (PiP) support is now enabled by defualt in the Google Chrome web browser for Linux, Mac, and Windows platforms. Google's engineers have been working for months to add Picture-in-Picture (PiP) support to the Google Chrome web browser, but the long-anticipated feature is finally here, enabled by default in the latest version for Linux, Mac, and Windows operating systems. The feature lets you detach a video in a floating window so you can watch it while doing something else on your computer.
  • Teaching With an Index Card: the Benefits of Free, Open-Source Tools
  • Decentralized Authentication for Self-Sovereign Identities using Name Systems
    The GNU Name System (GNS) is a fully decentralized public key infrastructure and name system with private information retrieval semantics. It serves a holistic approach to interact seamlessly with IoT ecosystems and enables people and their smart objects to prove their identity, membership and privileges - compatible with existing technologies. In this report we demonstrate how a wide range of private authentication and identity management scenarios are addressed by GNS in a cost-efficient, usable and secure manner. This simple, secure and privacy-friendly authentication method is a significant breakthrough when cyber peace, privacy and liability are the priorities for the benefit of a wide range of the population. After an introduction to GNS itself, we show how GNS can be used to authenticate servers, replacing the Domain Name System (DNS) and X.509 certificate authorities (CAs) with a more privacy-friendly but equally usable protocol which is trustworthy, human-centric and includes group authentication. We also built a demonstrator to highlight how GNS can be used in medical computing to simplify privacy-sensitive data processing in the Swiss health-care system. Combining GNS with attribute-based encryption, we created ReclaimID, a robust and reliable OpenID Connect-compatible authorization system. It includes simple, secure and privacy-friendly single sign-on to seamlessly share selected attributes with Web services, cloud ecosystems. Further, we demonstrate how ReclaimID can be used to solve the problem of addressing, authentication and data sharing for IoT devices. These applications are just the beginning for GNS; the versatility and extensibility of the protocol will lend itself to an even broader range of use-cases. GNS is an open standard with a complete free software reference implementation created by the GNU project. It can therefore be easily audited, adapted, enhanced, tailored, developed and/or integrated, as anyone is allowed to use the core protocols and implementations free of charge, and to adopt them to their needs under the terms of the GNU Affero General Public License, a free software license approved by the Free Software Foundation.
  • Make: an open source hardware, Arduino-powered, 3D-printed wire-bending machine
    How To Mechatronics has pulled together detailed instructions and a great video explaining how to make an Arduino-powered, 3D-printed wire-bending machine whose gears can create arbitrary vector images out of precision-bent continuous lengths of wire.
  • RApiDatetime 0.0.4: Updates and Extensions
    The first update in a little while brings us release 0.0.4 of RApiDatetime which got onto CRAN this morning via the lovely automated sequence of submission, pretest-recheck and pretest-publish. RApiDatetime provides seven entry points for C-level functions of the R API for Date and Datetime calculations. The functions asPOSIXlt and asPOSIXct convert between long and compact datetime representation, formatPOSIXlt and Rstrptime convert to and from character strings, and POSIXlt2D and D2POSIXlt convert between Date and POSIXlt datetime. This releases brings asDatePOSIXct as a seventh courtesy of Josh Ulrich. All these functions are all fairly useful, but not one of them was previously exported by R for C-level use by other packages. Which is silly as this is generally extremely carefully written and tested code.
  • 6 JavaScript books you should know
    If there was ever the potential for a giant book list it's one based on our favorite Javascript books. But, this list is short and easy to digest. Maybe it will help you get started, gently. Plus, check out three of our top Javascript articles with even more books, resources, and tips.

Security: Telstra, Google+ and Facebook Incidents, and Latest Updates