Language Selection

English French German Italian Portuguese Spanish

Programming Leftovers

Filed under
Development
  • How the Integrated Gradients method works? - Vincent Lequertier's blog

    For artificial intelligence (AI) transparency and to better shape upcoming policies, we need to better understand the AI’s output. In particular, one may want to understand the role attributed to each input. This is hard, because in neural networks input variables don’t have a single weight that could serve as a proxy for determining their importance with regard to the output. Therefore, one have to consider all the neural network’s weights, which may be all interconnected. Here is how Integrated Gradients does this.

  • Want a piece of GitLab? It's going to cost you: IPO price per share settles at $77

    The one-stop shop approach by DevOps darling GitLab appears to have attracted an Initial Public Offering price of $77, giving the loss-making biz a potential valuation of $11bn

    GitLab finally filed for an IPO in September and this week upped the estimated price per share to between $66 and $69. The eventual price has turned out to be $77, well above the initial $55 to $60 first estimated.

    8.42 million shares of Class A common stock are being sold. Founder and CEO Sytse Sijbrandij is selling another 1.98 million shares, according to the filing. Should that $77 price survive the start of trading today, GitLab's market value will nudge past $11bn.

  • Functional vs. object-oriented programming: The basics

    Committing to a programming paradigm is an important step in any application development effort. While they are hardly the only two options when it comes to overarching development models, the choice between functional programming and object-oriented programming is one that an increasing number of developers face today.

  • There is no 'printf'.

    Pop quiz! What will the following program return?

  • Malicious packages mitmproxy2 and mitmproxy-iframe removed from PyPI directory - itsfoss.net

    The author of mitmproxy , a tool for analyzing HTTP / HTTPS traffic, drew attention to the appearance of a fork of his project in the Python Package Index (PyPI) directory. The fork was distributed under the similar name mitmproxy2 and the non-existent version 8.0.1 (current release of mitmproxy 7.0.4) with the expectation that inattentive users will perceive the package as a new version of the main project ( typesquatting ) and wish to try the new version.

    In terms of its composition, mitmproxy2 was similar to mitmproxy, with the exception of changes in the implementation of malicious functionality. The changes were reduced to the termination of setting the HTTP header ” X-Frame-Options: DENY “, which prohibits the processing of content inside the iframe, disabling protection against XSRF attacks and setting the headers ” Access-Control-Allow-Origin: * “, ” Access-Control- Allow-Headers: * “and” Access-Control-Allow-Methods: POST, GET, DELETE, OPTIONS “.

  • Perl Weekly Challenge 134: Pandigital Numbers and Distinct Term Count
  • Sourcing vs executing in Bash

    What if, from the shell prompt, I could source the script, to bring the function definitions into my current environment, and then manually invoke the check function on a single pull request?

    Sourcing the script as it is would have the unwanted effect of running checks on all the pull requests, because the last line in the script actually invokes main, as it’s supposed to.

  • Rust-Based Cloud-Hypervisor 19.0 Released With Improved Live Migration, Faster Boot Time - Phoronix

    Cloud-Hypervisor 19.0 debuted this week as the Intel-led open-source VMM focused on supporting modern cloud workloads and written in the Rust programming language while leveraging the Linux's KVM virtualization code or the Microsoft MSHV hypervisor on Windows.

    Cloud-Hypervisor 19.0 continues to focus on only supporting 64-bit software, providing a minimal attack surface and other security improvements in part by leveraging Rust, and other modern-focused design principals.

  • Dyn async traits, part 6

    A quick update to my last post: first, a better way to do what I was trying to do, and second, a sketch of the crate I’d like to see for experimental purposes.

More in Tux Machines

Hardware: ESP32, x86, ARM, SAMD21, and More

  • The SHA2017 Badge Just Keeps On Giving, This Time It’s A Solar Monitor | Hackaday

    The SHA badge used an ESP32 as its processor, and paired it with a touch keypad and an e-ink screen. Its then novel approach of having a firmware that could load MicroPython apps laid the groundwork for the successful open source badge.team firmware project, meaning that it remains versatile and useful to this day.

  • Recreating MS Paint For The ESP32

    Microsoft Paint was one of the first creative outlets for many children when they first laid hands on a computer in the 1990s. Now, [Volos Projects] has brought the joy of this simple application to a more compact format on the ESP32!

  • Apollo Lake edge AI mini-PCIe offers up to two Myriad X VPUs

    Nexcom’s Linux-ready “AIEdge-X 100-VPU” edge AI mini-PC combines an Apollo Lake SoC with up to 2x Myriad X VPUs. Key specs include 2x GbE, 2x HDMI 2.0, 2x USB 3.0, and an M.2 M-key slot. The fanless, 179.5 x 106 x 37mm AIEdge-X 100-VPU, which follows other AIEdge-X systems such as Nexcom’s larger, 9th Gen Coffee Lake powered AIEdge-X 300, is primarily designed for smart retail applications such as smart signage, automated checkout machines, QSRs (Quick Service Restaurants), drive-thru kiosks, and endless aisles, which refers to online shopping from a brick-and-mortar store. Other applications include license plate recognition, body temperature checking, transit kiosks, and other smart city and edge AI tasks.

  • Coreboot Merges Support For Intel's Arm-Based PSE Offload Engine - Phoronix

    As of yesterday Intel's contributed Programmable Services Engine "PSE" support has been merged into mainline Coreboot for supporting this Arm-based dedicated offload engine found within select Intel processors.

  • Reject Modernity; Return To Tamagotchi | Hackaday

    Browsing through the recent projects on Hackaday.io, we’ve found this entry by [NanoCodeBug]: a single-PCB low-power trinket reviving the “pocket pet” concept while having some fun in the process! Some serious thought was put into making this device be as low-power as possible – with a gorgeous Sharp memory LCD and a low-power-friendly SAMD21, it can run for two weeks on a pair of mere AAA batteries, and possibly more given a sufficiently polished firmware. The hardware has some serious potential, with the gadget’s platform lending itself equally well to Arduino or CircuitPython environments, the LCD being overclock-able to 30 FPS, mass storage support to enable pet transfer and other PC integrations, a buzzer for all of your sound needs, and an assortment of buttons to help you create mini-games never seen before. [NanoCodeBug] has been working on the hardware diligently for the past month, having gone through a fair few revisions – this is shaping up to be a very polished gadget!

  • Remoticon 2021 // Voja Antonic Makes You A Digital Designer | Hackaday

    [Voja Antonic] has been building digital computers since before many of us were born. He designed with the Z80 when it was new, and has decades of freelance embedded experience, so when he takes the time to present a talk for us, it’s worth paying attention. For his Remoticon 2022 presentation, he will attempt to teach us how to become a hardware expert in under forty minutes. Well, mostly the digital stuff, but that’s enough for one session if you ask us. [Voja] takes us from the very basics of logic gates, through combinatorial circuits, sequential circuits, finally culminating in the description of a general-purpose microprocessor.

  • Robotic Xylophone Makes Music with MIDI Magic

    The MIDI format has long been used to create some banging electronic music, so it’s refreshing to see how [John P. Miller] applied the standard in his decidedly analog self-playing robotic xylophone. Framed inside a fetching Red Oak enclosure, the 25-key instrument uses individual solenoids for each key, meaning that it has no problem striking multiple bars simultaneously. This extra fidelity really helps in reproducing the familiar melodies via the MIDI format. The tracks themselves can be loaded onto the device via SD card, and selected for playback with character LCD and rotary knob. The software transposes the full MIDI music spectrum of a particular track into a 25-note version compatible with the xylophone. Considering that a piano typically has 88 keys, some musical concessions are needed to produce a recognizable playback, but overall it’s an enjoyable musical experience.

  • The Eclipse Oniro Project aims to deliver consumer & IoT software that works across multiple operating systems - CNX Software

    So basically I understand Oniro aims to provide a vendor-agnostic platform to develop software that runs on various operating systems and hardware in order to reduce fragmentation in the consumer and IoT device industry. I will not insert an xkcd meme here, but you know what I mean. Right now, Oniro relies on the Poky/Yocto Project build system and supports three operating systems with Linux, ZephyrOS, and FreeRTOS allowing it to be used in application processors and microcontrollers.

India's government may foster home-grown mobile OS

India's minister of state for Electronics and IT Rajeev Chandrasekhar has revealed the nation's government intends to develop a policy that will encourage development of an "indigenous mobile operating system". Speaking at the launch of a policy vision for Indian tech manufacturing, Chandrasekhar said India's Ministry of Electronics and Information Technology believes the market could benefit from an alternative to Android and iOS and could "even create a new handset operating system" to improve competition, according to the Press Trust of India. "We are talking to people. We are looking at a policy for that," Chandrasekhar told local media, adding that start-ups and academia are being considered as likely sources of talent and expertise to build the OS. "If there is some real capability then we will be very much interested in developing that area because that will create an alternative to iOS and Android which then an Indian brand can grow,” he added. The minister offered no timeframe for a decision on whether to proceed with the policy, nor the level of assistance India's government might provide. Nor did he say much to suggest he knows that past attempts to create alternative mobile operating systems, or national operating systems, have cratered. Even Microsoft, famously, failed to make an impact with Windows Phone despite throwing billions at the OS and acquiring Nokia to ensure supply of handsets to run it. Mozilla's Firefox OS was discontinued after efforts to crack India's mobile market with low-cost devices failed. The Linux Foundation's Tizen hasn't found a lot of love. Read more

Keyboard Hacks With Raspberry Pi and Arduino

  • Turn On Sarcasm With the Flip Of a Switch

    Sarcasm is notoriously difficult to distinguish in online communities. So much, in fact, that a famous internet rule called Poe’s Law is named after the phenomenon. To adapt, users have adopted several methods for indicating implied sarcasm such as the /s tag, but more recently a more obvious sarcasm indicator has appeared that involves random capitalization througout the sarcastic phrase. While this looks much more satisfying than other methods, it is a little cumbersome to type unless you have this sarcasm converter for your keyboard. The device, built by [Ben S], is based around two Raspberry Pi Pico development boards and sits between a computer and any standard USB keyboard. The first Pi accepts the USB connection from the keyboard and reads all of the inputs before sending what it reads to the second Pi over UART. If the “SaRcAsM” button is pressed, the input text stream is converted to sarcasm by toggling the caps lock key after every keystroke.

  • Reverse engineering an '80s NeXT keyboard | Arduino Blog

    Working with vintage computer technology can feel a bit like the digital equivalent of archeology. Documentation is often limited or altogether absent today — if it was ever even public in the first place. So you end up reverse engineering a device’s functionality through meticulous inspection and analysis. Spencer Nelson has a vintage NeXT keyboard from the ’80s and wanted to get it working with modern computers via USB. To make that happen, he reverse engineered the protocol and used an Arduino as an adapter. NeXT was a computer company founded by Steve Jobs in the ’80s, in the period after he left Apple. A little over ten years later, Apple bought NeXT and Jobs rejoined the company. NeXT only released a few computers, but they are noteworthy and desirable to collectors. This particular keyboard is from 1988 and worked with the first generation NeXT Computer. Unlike modern keyboards that share the USB protocol, keyboards from this era utilized proprietary protocols. This particular model had an enigmatic protocol that Nelson became obsessed with deciphering.

  • Reverse Engineering The NeXT Computer Keyboard Protocol | Hackaday

    The NeXT computer was introduced in 1988, with the high-end machine finding favor with universities and financial institutions during its short time in the marketplace. [Spencer Nelson] came across a keyboard from one of these machines, and with little experience, set about figuring out how it worked. The keyboard features a type of DIN connector and speaks a non-ADB protocol to the machine, but [Spencer] wanted to get it speaking USB for use with modern computers. First attempts at using pre-baked software found online to get the keyboard working proved to be unreliable. [Spencer] suspected that the code, designed to read 50 microsecond pulses from the keyboard, was miscalibrated.

KDE Plasma 5.24 Will Be the Next LTS Release Receiving Support Until KDE Plasma 6

KDE Plasma 5.24 (currently in public beta testing) is set to be the next LTS release of the acclaimed and widely used desktop environment for GNU/Linux distributions, replacing the KDE Plasma 5.18 LTS series, which reached end of life in October 2021. Set to arrive on February 8th, 2022, two years after the release of Plasma 5.18 LTS, the Plasma 5.24 LTS series promises cool new features like support for fingerprint readers to unlock the screen or authenticate in apps that require administration password or with sudo on the command-line. Read more