Latest Tech News

Stay updated with the latest in technology, AI, cybersecurity, and more

Filtered by: expression Clear Filter

Murex – An intuitive and content aware shell for a modern command line

Murex carries tons of unique features. Some highlights include... Content Aware Native support for manipulating data formats such as JSON, YAML, CSV, and others. This allows for seamless integration and manipulation of data in various formats. Data types can be explicitly cast and reformatted, but also inferred if preferred. Expressions Smarter handling of variables and expressions to avoid accidental bugs caused by spaces or incorrect syntax. Resulting in a more reliable and predictable

The Expression Problem and its solutions

The craft of programming is almost universally concerned with different types of data and operations/algorithms that act on this data . Therefore, it's hardly surprising that designing abstractions for data types and operations has been on the mind of software engineers and programming-language designers since... forever. Yet I've only recently encountered a name for a software design problem which I ran into multiple times in my career. It's a problem so fundamental that I was quite surprised

The Expression Problem and its solution

The craft of programming is almost universally concerned with different types of data and operations/algorithms that act on this data . Therefore, it's hardly surprising that designing abstractions for data types and operations has been on the mind of software engineers and programming-language designers since... forever. Yet I've only recently encountered a name for a software design problem which I ran into multiple times in my career. It's a problem so fundamental that I was quite surprised

Python f-string cheat sheets (2022)

Python f-string cheat sheets See fstring.help for more examples and for a more detailed discussion of this syntax see this string formatting article. All numbers The below examples assume the following variables: >>> number = 4125.6 >>> percent = 0.3738 Example Output Replacement Field Fill Width Grouping Precision Type '4125.60' {number:.2f} .2 f '4,125.60' {number:,.2f} , .2 f '04125.60' {number:08.2f} 0 8 .2 f ' 4125.60' {number: 8.2f} 8 .2 f '4.1e+03' {number:.2g} .2 g '4125.6' {number:

Improvements to OCaml code editing: the basics of a refactor engine

Refactoring features have contributed to the popularity of editors like IntelliJ, as well as certain programming languages whose editor support offers interactive mechanisms to manage code — Gleam being an excellent example. Even though OCaml has some features related to refactoring (such as renaming occurrences, substituting typed holes with expressions, and case analysis for pattern matching), the goal of my internship was to kickstart work on a robust set of features to enable the smooth inte

NativeJIT: A C++ expression –> x64 JIT (2018)

NativeJIT NativeJIT is an open-source cross-platform library for high-performance just-in-time compilation of expressions involving C data structures. The compiler is light weight and fast and it takes no dependencies beyond the standard C++ runtime. It runs on Linux, OSX, and Windows. The generated code is optimized with particular attention paid to register allocation. The compiler was developed by the Bing team for use in the Bing search engine. One important use is scoring documents contai

NativeJIT: A C++ expression –> x64 JIT

NativeJIT NativeJIT is an open-source cross-platform library for high-performance just-in-time compilation of expressions involving C data structures. The compiler is light weight and fast and it takes no dependencies beyond the standard C++ runtime. It runs on Linux, OSX, and Windows. The generated code is optimized with particular attention paid to register allocation. The compiler was developed by the Bing team for use in the Bing search engine. One important use is scoring documents contai

Coccinelle for Rust progress report

In collaboration with Inria (the French Institute for Research in Computer Science and Automation), Tathagata Roy shares the progress made over the past year on the CoccinelleForRust project, co-sponsored by Collabora. Coccinelle is a tool for automatic program matching and transformation that was originally developed for making large-scale changes to the Linux kernel source code (i.e., C code). Matches and transformations are driven by user-specific transformation rules in the form of abstract

Coccinelle for Rust Progress Report

In collaboration with Inria (the French Institute for Research in Computer Science and Automation), Tathagata Roy shares the progress made over the past year on the CoccinelleForRust project, co-sponsored by Collabora. Coccinelle is a tool for automatic program matching and transformation that was originally developed for making large-scale changes to the Linux kernel source code (i.e., C code). Matches and transformations are driven by user-specific transformation rules in the form of abstract

A different take on S-expressions

[about document] Peculiar kind of S-expressions specification document [intended audience] beginners in programming table of contents 1. introduction S-expressions (Symbolic Expressions) are a fundamental concept in computer science and programming language theory. S-expressions are a simple, yet powerful notation for representing nested list data structures and code in a parenthesized form. They are commonly associated with the Lisp family of programming languages, where they serve both as