Language Selection

English French German Italian Portuguese Spanish

Development

today's howtos and programming leftovers

Filed under
Development
HowTos

Build Your Own Internet Radio Receiver

Filed under
Development
OSS

When I get home at night, I like to tune into the world with the push of a button. I've lived in lots of different places—from Dunedin, New Zealand, to Santa Fe, New Mexico—and in each town, I've come to love a radio station (usually a community radio station) that embodies the spirit of the place. With the push of a button, I can get a bit back in sync with each of these places and also visit new communities, thanks to internet radio.

Why build your own internet radio receiver? One option, of course, is simply to use an app for a receiver. However, I've found that the most common apps don't keep their focus on the task at hand, and are increasingly distracted by offering additional social-networking services. And besides, I want to listen now. I don't want to check into my computer or phone, log in yet again, and endure the stress of recalling YAPW (Yet Another PassWord). I've also found that the current offering of internet radio boxes falls short of my expectations. Like I said, I've lived in a lot of places—more than two or four or eight. I want a lot of buttons, so I can tune in to a radio station with just one gesture. Finally, I've noticed that streams are increasingly problematic if I don't go directly to the source. Often, streams chosen through a "middle man" start with an ad or blurb that is tacked on as a preamble. Or sometimes the "middle man" might tie me to a stream of lower audio quality than the best being served up.

So, I turned to building my own internet radio receiver—one with lots of buttons that allow me to "tune in" without being too pushy. In this article, I share my experience. In principle, it should be easy—you just need a Linux distro, a ship to sail her on and an external key pad for a rudder. In practice, it's not too hard, but there are a few obstacles along the course that I hope to help you navigate.

Read more

today's howtos and programming

Filed under
Development
HowTos

today's howtos and programming

Filed under
Development
HowTos

Programming: JavaScript, Perl, Python and C++

Filed under
Development
  • SD Times Open-Source Project of the Week: Knockout

    This week’s open-source project is Knockout (KO) and it works purely on JavaScript. KO is a JavaScript MVVM (a modern variant of MVC) library that enables developers to create rich, desktop-like user interfaces with JavaScript and HTML.

    KO uses “observers” that help the UI stay in sync with an underlying data model and declarative bindings to enable productive development, according to Knockout’s page on GitHub.

  • Why I love Perl 6

    love Perl 6 because, if that solution seems too scary to you
    (too infinite, too lazy, too concurrent, too pipelined, too Unicoded,
    too declarative, too functional, too much like something that
    an Erlang guru would code), then Perl 6 will equally allow you
    to write a plain and simple version: one that's imperative, iterative,
    block structured, variable-driven, pure ASCII, and more-or-less
    exactly what you'd write in Perl 5, or even in C: [...]

  • Python's creator thinks it has a diversity problem [Ed: Python has Microsoft entryism problems (far more urgent than this)]
  • Evennia: Creating Evscaperoom, part 1
  • Evennia: Creating Evscaperoom, part 2
  • Dissecting boost::astar_search

    Right now, I am having a hard time understanding BGL’s (the Boost Graph Library) template spaghetti, so decided to write a blogpost while I decipher it, one at a time, documenting the whole thing along the way.

  • KTextEditor/Kate Bugs – Scratch Your Own Itch

Programming Leftovers

Filed under
Development

Programming/Development: Python Natural Language Processing, DevNation Federal, KTextEditor/Kate, Blender3D

Filed under
Development
  • Top 10 Python NLP Libraries For 2019

    With the help of Natural Language Processing, an organisation can gain valuable insights, patterns, and solutions. Python is one of the widely used languages and it is implemented in almost all fields and domains. In this article, we list down 10 important Python Natural Language Processing Language libraries.

  • DevNation Federal brings open source to the Beltway

    On June 27th, Red Hat will not only be hosting one of the best technical gatherings of 2019, but it will be doing so in Washington D.C. — not San Francisco, Seattle, or ... DevNation Federal conference will bring together industry experts and key maintainers of popular open source projects in a one-day immersive conference for federal developers.

  • KTextEditor/Kate Bugs – Help Appreciated

    The bug report count of KTextEditor (implementing the editing part used in Kate/KWrite/KDevelop/Kile/…) and Kate itself reached again some value over 200.

    If you have time and need an itch to scratch, any help to tackle the currently open bugs would be highly appreciated.

    The full list can be found with this bugs.kde.org query.

    [...]

    The team working on the code is small, therefore please be a bit patient if you wait for reactions. I hope we have improved our reaction time in the last months but we still are lacking in that respect.

  • Blender3D User interface and API Freeze

    In the last month, we’ve polished the user interface and added the last planned features to Blender 2.80. The details can be found in the weekly development notes.

    Now we are freezing the user interface, so that there is a stable base for creating documentation and tutorials. Settings will stay in the same place and screenshots should remain valid for the final 2.80 release. A handful of menu entries may be added, or a tooltip might be improved, but nothing major that would break documentation.

  • Blender 2.80 Reaches Its API & UI Freeze

    In order to meet the July release target for Blender 2.80, there is now an API and user-interface freeze on this next feature update for this leading open-source, cross-platform 3D modeling software.

    Blender 2.80 has now entered its UI and API freeze milestone for the 2.80 release. The Blender settings should also be maintained now moving forward for the Blender 2.80 release and its Python API compatibility, including for add-ons.

Programming: SVE2, Graphical Interface, Guile, Python and More

Filed under
Development
  • Arm SVE2 Support Aligning For GCC 10, LLVM Clang 9.0

    Given the significant performance benefits to Arm's Scalable Vector Extension 2 (SVE2), they are working on ensuring the open-source Linux compiler toolchains support these new CPU instructions ahead of SoCs shipping that support this big addition.

    Arm announced Scalable Vector Extension 2 (SVE2) recently as their latest advancement around SIMD programming and increasing data-level parallelism in programs. SVE2 is designed to ultimately deliver better SIMD performance than their long-available Neon extensions and to scale the performance with vector length increases as well as enabling auto-vectorization techniques. More details in this post on SVE2.

  • Intake: Discovering and Exploring Data in a Graphical Interface

    Do you have data that you’d like people to be able to explore on their own? Are you always passing around snippets of code to load specific data files? These are problems that people encounter all the time when working in groups and using the same datasources or when trying to distribute data to the public. Some users are comfortable interacting with data entirely programatically, but often it is helpful to use a GUI (Graphical User Interface) instead. With that in mind we have reimplemented the Intake GUI so that in addition to working in a jupyter notebook, it can be served as a web application next to your data, or at any endpoint.

  • lightening run-time code generation

    The upcoming Guile 3 release will have just-in-time native code generation. Finally, amirite? There's lots that I'd like to share about that and I need to start somewhere, so this article is about one piece of it: Lightening, a library to generate machine code.

  • Python Language Creator: “Male Attitude” Is Hurting The Programming Space

    Guido van Rossum is a famous name in the programming world. He is the creator of the Python programming language which was developed back in 1989. It is only since the last few years when this general-purpose programming language started gaining popularity.

    The number of Python users has increased significantly and it was not only named as the best programming language by IEEE but also the most asked-about language on Stack Overflow, overthrowing JavaScript — the all-time winner for decades.

  • Avant-IDLE: an experiment

Programming: GCC, C++, Python and PHP

Filed under
Development
  • AMD GCN GPU Target Continuing To Improve For The GCC 10 Compiler

    With the recent release of the GCC 9 stable compiler there is the initial "AMD GCN" GPU target/back-end merged. However, for this GNU Compiler Collection release the AMD GCN target isn't all that useful but continued work on it gives us hope of seeing it in good shape for next year's GCC 10 release.

    With the GCC 9.1 release, the AMD GCN back-end can only handle running basic single-threaded programs... Not exactly useful for graphics cards. The GCC 9 code supports targeting the Fiji and Vega 10 GCN instruction set architecture.

  • IBM Begins Plumbing "Future" Processor Into GCC Compiler - POWER10?

    IBM engineers have landed initial support for "-mcpu=future" into the GCC compiler... As they say in the commit message, "a future architecture level, as yet unnamed."

    This IBM "future" processor is being added to the POWER architecture code succeeding POWER9. More than likely, its the early enablement work for POWER10.

  • Little Trouble in Big Data – Part 1

    A few months ago, we received a phone call from a bioinformatics group at a European university. The problem they were having appeared very simple. They wanted to know how to usemmap() to be able to load a large data set into RAM at once. OK I thought, no problem, I can handle that one. Turns out this has grown into a complex and interesting exercise in profiling and threading.

    The background is that they are performing Markov-Chain Monte Carlo simulations by sampling at random from data sets containing SNP (pronounced “snips”) genetic markers for a selection of people. It boils down to a large 2D matrix of floats where each column corresponds to an SNP and each row to a person. They provided some small and medium sized data sets for me to test with, but their full data set consists of 500,000 people with 38 million SNP genetic markers!

  • Why precompiled headers do (not) improve C++ compile times

    Would you like your C++ code to compile twice as fast (or more)?

    Yeah, so would I. Who wouldn't. C++ is notorious for taking its sweet time to get compiled. I never really cared about PCHs when I worked on KDE, I think I might have tried them once for something and it didn't seem to do a thing. In 2012, while working on LibreOffice, I noticed its build system used to have PCH support, but it had been nuked, with the usual poor OOo/LO style of a commit message stating the obvious (what) without bothering to state the useful (why). For whatever reason, that caught my attention, reportedly PCHs saved a lot of build time with MSVC, so I tried it and it did. And me having brought the PCH support back from the graveyard means that e.g. the Calc module does not take 5:30m to build on a (very) powerful machine, but only 1:45m. That's only one third of the time.

    In line with my previous experience, on Linux that did nothing. I made the build system support also PCH with GCC and Clang, because it was there and it was simple to support it too, but there was no point. I don't think anybody has ever used that for real.

    Then, about a year ago, I happened to be working on a relatively small C++ project that used some kind of an obscure build system called Premake I had never heard of before. While fixing something in it I noticed it also had PCH support, so guess what, I of course enabled it for the project. It again made the project build faster on Windows. And, on Linux, it did too. Color me surprised.

  • KDAB at CppCon 2019

    CppCon is the annual, week-long face-to-face gathering for the entire C++ community – the biggest C++ event in the world. This year, for the first time, CppCon takes place in the stunning Gaylord Rockies Hotel and Convention Center in Aurora, Colorado, very near Denver International Airport.

  • Clear Linux Discovers Another AVX2/AVX512 Fix/Optimization To Yield Better Performance

    For those running a system with AVX-512 support, Clear Linux builds as of this week should be yielding even better performance on top of their existing AVX2 and AVX-512 optimizations.

    The Intel developers working on Clear Linux uncovered an issue how the new GCC 9 compiler has been building the important libm math library poorly in AVX2/AVX-512 mode. This poor code compilation yielded slowdowns in various math functions since the switch to the GCC 9 compiler.

  • Building Machine Learning Data Pipeline using Apache Spark
  • It is easier to gather package meta-data from PyPI package ecosystem, once know the right way
  • Python 2.7 vs Python 3.4 ─ What should Python Beginners choose?
  • Be Quick or Eat Potatoes: A Newbie’s Guide to PyCon
  • Remote Development with Wing Pro

    In this issue of Wing Tips we take a quick look at Wing Pro's remote development capabilities.

  • Data School: Data science best practices with pandas (video tutorial)
  • PHP extensions status with upcoming PHP 7.4
Syndicate content

More in Tux Machines

today's leftovers

  • Hardware Review - The ZaReason Virtus 9200 Desktop
  • Chrome OS 76 will disable Crostini Linux backups by default
    Essentially, this is still a work in progress feature. And I shouldn’t be terribly surprised by that, even though in my experience, the functionality hasn’t failed me yet. That’s because we know that the Chromium team is considering on a way to backup and restore Linux containers directly from the Files app on a Chromebook. That proposal is targeted for Chrome OS 78, so this gives the team more time to work that out, as well as any other nits that might not be quite right with the current implementation.
  • Andrei Lisita: Something to show for
    Unfortunately along with the progress that was made we also encountered a bug with the NintendoDS core that causes Games to crash if we attempt to load a savestate. We are not yet 100% sure if the bug is caused by my changes or by the NintendoDS core itself. I hope we are able to fix it by the end of the summer although I am not even sure where to start since savestates are working perfectly fine with other cores. Another confusing matter about this is that the Restart/Resume Dialog works fine with the NintendoDS core and it also uses savestates. This led me to believe that perhaps cores can be used to load savestates only once, but this can’t be the problem since we re-instantiate the core every time we load a savestate. In the worst case we might just have to make a special case for the NintendoDS core and not use savestates with it, except for the Resume/Restart dialog. This would sadden me deeply since there are plenty of NintendoDS games which could benefit from this feature.
  • OSMC's June update is here with Kodi v18.3
    Team Kodi recently announced the 18.3 point release of Kodi Leia. We have now prepared this for all supported OSMC devices and added some improvements and fixes. Here's what's new:

OSS Leftovers

  • A comparison of open source, real-time data streaming platforms
    A variety of open source, real-time data streaming platforms are available today for enterprises looking to drive business insights from data as quickly as possible. The options include Spark Streaming, Kafka Streams, Flink, Hazelcast Jet, Streamlio, Storm, Samza and Flume -- some of which can be used in tandem with each other. Enterprises are adopting these real-time data streaming platforms for tasks such as making sense of a business marketing campaign, improving financial trading or recommending marketing messages to consumers at critical junctures in the customer journey. These are all time-critical areas that can be used for improving business decisions or baked into applications driven by data from a variety of sources.
  • Amphenol’s Jason Ellison on Signal Integrity Careers and His Free, Open Source PCB Design Software
    Ellison, Senior Staff Signal Integrity Engineer at Amphenol ICC, gives his insight on the importance of networking, giving to the EE community, and his open-source signal integrity project. How does signal integrity engineering compare to other EE fields? What are open-source resources worth these days? What makes for a good work life for an engineer? Learn this and more in this Engineer Spotlight! Jason Ellison started down the path to becoming an electrical engineer because someone told him it was "fun and easy if you're good at math." In this interview with AAC's Mark Hughes, Ellison—a Senior Staff Signal Integrity Engineer at Amphenol ICC—describes how his career has grown from these beginnings into the rewarding and diverse work of signal integrity engineering.
  • Cruise open-sources Webviz, a tool for robotics data analysis [Ed: Releasing a little tool that's part of proprietary software so that it 'feels' more "open"]
    Cruise, the self-driving startup that General Motors acquired for nearly $1 billion in 2016, generates an enormous amount of data by any measure. It orchestrates 200,000 hours of driving simulation jobs daily in Google Cloud Platform, spread across 30,000 virtual cars in an environment running on 300,000 processor cores and 5,000 graphics cards. Both those cars and Cruise’s fleet of over 180 real-world autonomous Chevrolet Bolts make thousands of decisions every second, and they base these decisions on observations captured in binary format from cameras, microphones, radar sensors, and lidar sensors.
  • EWF launches world’s first open source blockchain for the energy industry
    The Energy Web Foundation this week announced that it has launched the world’s first public, open-source, enterprise-grade blockchain tailored to the energy sector: the Energy Web Chain (EW Chain). More than ten Energy Web Foundation (EWF) Affiliates — including utilities, grid operators, and blockchain developers — are hosting validator nodes for the live network, according to the company.
  • Pimcore Releases Pimcore 6.0, Amplifying User-Friendly Digital Experiences Through Open Source
    Pimcore, the leading open-source platform for data and customer experience management, has released the most powerful version of the Pimcore platform, Pimcore 6.0. The updated platform includes a new user interface that seamlessly connects MDM/PIM, DAM, WCM, and digital commerce capabilities to create more advanced and user-friendly experiences quickly and efficiently.
  • VCV Rack reaches version 1.0.0: free and open-source modular synth gets a full release
    VCV Rack is a free, open-source modular software synth that’s been gaining ground for a couple of years, but only now has it reached the significant milestone of version 1.0. Designed to replicate the feeling of having a hardware modular synth on your desktop, VCV Rack enables you to add both free and paid-for modules, and now supports polyphony of up to 16 voices. There’s MIDI Output, too with CV-Gate, CV-MIDI and CV-CC modules enabling you to interface with drum machines, desktop synths and Eurorack gear.
  • Flying Above the Shoulders of Giants
    Thanks to open-source platforms, developers can stand on the shoulders of software giants to build bigger and better things. Linux is probably the biggest...
  • MIT Researchers Open-Source AutoML Visualization Tool ATMSeer
    A research team from MIT, Hong Kong University, and Zhejiang University has open-sourced ATMSeer, a tool for visualizing and controlling automated machine-learning processes. Solving a problem with machine learning (ML) requires more than just a dataset and training. For any given ML tasks, there are a variety of algorithms that could be used, and for each algorithm there can be many hyperparameters that can be tweaked. Because different values of hyperparameters will produce models with different accuracies, ML practitioners usually try out several sets of hyperparameter values on a given dataset to try to find hyperparameters that produce the best model. This can be time-consuming, as a separate training job and model evaluation process must be conducted for each set. Of course, they can be run in parallel, but the jobs must be setup and triggered, and the results recorded. Furthermore, choosing the particular values for hyperparameters can involve a bit of guesswork, especially for ones that can take on any numeric value: if 2.5 and 2.6 produce good results, maybe 2.55 would be even better? What about 2.56 or 2.54?
  • Open-Source Cybersecurity Tool to Enhance Grid Protection
    A revolutionary new cybersecurity tool that can help protect the electric power grid has been released to the public on the code-hosting website GitHub.
  • Quick notes for Mozilla Whistler All Hands 2019
  • Deeper into the data fabric with MongoDB
    However, to gain access to rich search functionality, many organisations pair their database with a search engine such as Elasticsearch or Solr, which MongoDB claims can complicate development and operations — because we end up with two entirely separate systems to learn, maintain and scale.

Raspberry Pi 4 is here!

The latest version of the Raspberry Pi—Raspberry Pi 4—was released today, earlier than anticipated, featuring a new 1.5GHz Arm chip and VideoCore GPU with some brand new additions: dual-HDMI 4K display output; USB3 ports; Gigabit Ethernet; and multiple RAM options up to 4GB. The Raspberry Pi 4 is a very powerful single-board computer and starts at the usual price of $35. That gets you the standard 1GB RAM, or you can pay $45 for the 2GB model or $55 for the 4GB model—premium-priced models are a first for Raspberry Pi. Read more

Open Data, Open Access and Open Hardware

  • DoD’s Joint AI Center to open-source natural disaster satellite imagery data set
    As climate change escalates, the impact of natural disasters is likely to become less predictable. To encourage the use of machine learning for building damage assessment this week, Carnegie Mellon University’s Software Engineering Institute and CrowdAI — the U.S. Department of Defense’s Joint AI Center (JAIC) and Defense Innovation Unit — open-sourced a labeled data set of some of the largest natural disasters in the past decade. Called xBD, it covers the impact of disasters around the globe, like the 2010 earthquake that hit Haiti. “Although large-scale disasters bring catastrophic damage, they are relatively infrequent, so the availability of relevant satellite imagery is low. Furthermore, building design differs depending on where a structure is located in the world. As a result, damage of the same severity can look different from place to place, and data must exist to reflect this phenomenon,” reads a research paper detailing the creation of xBD. [...]

    xBD includes approximately 700,000 satellite images of buildings before and after eight different kinds of natural disasters, including earthquakes, wildfires, floods, and volcanic eruptions. Covering about 5,000 square kilometers, it contains images of floods in India and Africa, dam collapses in Laos and Brazil, and historic deadly fires in California and Greece.

    The data set will be made available in the coming weeks alongside the xView 2.0 Challenge to unearth additional insights from xBD, coauthor and CrowdAI machine learning lead Jigar Doshi told VentureBeat. The data set collection effort was informed by the California Air National Guard’s approach to damage assessment from wildfires.

  • Open-source textbooks offer free alternative for UC Clermont students
    Some UC Clermont College students are avoiding paying hundreds of dollars for textbooks — and getting the content for free — thanks to online open-source textbooks, a growing trend among faculty at the college and throughout higher education. UC Clermont Dean Jeff Bauer, who is also a professor of business, said the benefits of open textbooks are many. “All students have the book on the first day of class, it saves them a lot of money, and the information can be accessed anywhere, anytime, without carrying around a heavy textbook,” Bauer said. “They don’t need to visit the bookstore before or after each semester to buy or sell back books, either.”
  • Open Source Computer Controlled Loom Knits Pikachu For You
    The origin story of software takes us back past punch card computers and Babbage's Difference Engine to a French weaver called Joseph Marie Jacquard.
  • Successful open-source RISC-V microcontroller launched through crowdfunding
    X-FAB Silicon Foundries, together with crowd-sourcing IC platform partner Efabless Corporation, launched the first-silicon availability of the Efabless RISC-V SoC reference design. This open-source semiconductor project went from start of design to tape-out in less than three months employing the Efabless design flow produced on open-source tools. The mixed-signal SoC, called Raven, is based on the community developed ultra-low power PicoRV32 RISC-V core. Efabless has bench-tested the Raven at 100MHz, and based on simulations, the solution should operate at up to 150MHz.
  • Open Hardware: Open-Source MRI Scanners Could Bring Enormous Cost Savings
    Wulfsberg explore the possibilities of open source MRI scanning. As open-source technology takes its place around the world—everywhere from makerspaces to FabLabs, users on every level have access to design and innovation. In allowing such access to MRI scanning, the researchers realize the potential for ‘technological literacy’ globally—and with MRIs specifically, astronomical sums could be saved in healthcare costs. The authors point out that medical technology is vital to the population of the world for treating not only conditions and illnesses, but also disabilities. As so many others deeply involved in the world of technology and 3D printing realize, with greater availability, accessibility, and affordability, huge strides can be made to improve and save lives. Today, with so many MRI patents expiring, the technology is open for commercialization.