Programming Leftovers
-
Optical Algorithm Simplifies Analog AI Training
Researchers have developed a range of analog and other unconventional machine learning systems in the expectation that they will prove vastly more energy efficient than today’s computers. But training these AIs to do their tasks has been a big stumbling block. Researchers at NTT Device Technology Labs and the University of Tokyo now say they’ve come up with a training algorithm (announced by NTT last month) that goes a long way toward letting these systems meet their promise.
-
Data transformation and standardization in r
Often economic and other Machine Learning data are of different units or sizes making either estimation, interpretation or visualization difficult. The solution to these issues can be handled if the data can be transformed to unitless or data of similar magnitude. When the need to transform thus arises, then one finds it difficult to get handy function to achieve that.
-
Letting Dependabot merge
About a year ago I hit 100% code coverage on an open source project known as Leaf. I blogged about this when I hit that coverage marker and after a year its worked out quite well. Adding new large features is a pain from all the requirements, but little changes here and there I've now got full confidence in whether they regress or break the site.
-
SPQA: The AI-based Architecture That’ll Replace Most Existing Software
AI is going to do a lot of interesting things in the coming months and years, thanks to the detonations following GPTs. But one of the most important changes will be the replacement of our existing software.
-
Want an unfair advantage in your tech career? Consume content meant for other roles
In my opinion, one of the greatest tools to gain competitive advantage in a tech career is hidden in plain sight: it’s the wealth of information out there made for people in roles you work with.
-
Jussi Pakkanen: My book is finally available for purchase
A major difference between software and book projects is that the latter have a point when they can be considered complete and finished. For my debut novel, that time has come.
[...]
The text block has been created with a "mini-LaTeX" DTP program that I wrote basically from scratch. This caused "fun" things to happen. For example I got an email from the printing house some four days before the unveiling event that the book contains words that were not hyphenated according to recommended style guides. I was aware of said style guides, had added handling for those and even had unit tests to ensure that they work. And yet in production they did not work. This lead to a very stressful debugging session where you know that the only person in the world that can fix it is you, and that there is a very strict and personal deadline.
The actual PDF generation was done with Cairo and Pango. Surprisingly there were zero issues with them, the printer accepted them just fine and the printout looks great. The cover was made with Scribus and it did have several issues none of which had anything to do with Scribus itself, just that doing a full color managed print job is to this day a bit tricky. did have to postprocess Cairo's output with Ghostscript because Cairo only produces PDFs in the RGB colorspace whereas printers require grayscale PDFs.
-
How to hire engineering talent without the BS
As a candidate in my early career, I experienced all sorts of technical interviews, ranging from being asked to write an algorithm on a piece of paper with an ink pen (not kidding) to doing leet coding in an IDE. Looking back, the best experiences were when the interviewer wanted me to succeed, was empathetic, and presented me with a problem that reflected how I would solve problems in the real world without gotchas.
Since then, I’ve been on both sides of the table hundreds of times and reflected a lot about the problem that plagues technical hiring: how to assess whether a candidate is both technically proficient and has the right mindsets and behaviors to succeed in your organization.
Most organizations have a technical interview process that attempts to evaluate both qualities to varying degrees of success. They may also use platforms like HackerRank or Karat to assess technical strength. But all too often, these approaches can lead to suboptimal outcomes, filtering out great talent or, worse, providing a poor candidate experience that hurts the company’s reputation.
-
Flipper Zero Mayhem Hat Adds Camera, More Radios
For a device advertised as the “Multi-tool Device for Hackers”, the Flipper Zero already offers a considerable list of onboard capabilities. But some hard decisions had to be made to get the retail price down, so features like WiFi and Bluetooth had to be left off. Luckily, there’s an expansion interface along the top of the device which makes it possible to plug in additional hardware.
-
Relative line number in Neovim (Lua)
To enable relative line number, add the following line to your init.lua. Save this file by doing a :w or Shift + z repeat z. The next time you open Neovim, you should see the relative line number enabled.
-
Getting a Python 2 virtual environment (in 2023's twilight of Python 2)
Suppose, not entirely hypothetically, that you need to create a new Python 2 virtual environment today; perhaps you need to install some package to see how its old Python 2 version behaves. With Python 3, creating a virtual environment is really easy; it's just 'python3 -m venv /tmp/pytest'. With Python 2 today, you have two complications. First, Python 2 doesn't have a venv module (instead it uses a 'virtualenv' command), and second, your installed Python 2 environment may not have all of the necessary infrastructure already set up since people are deprecating Python 2 and cutting down any OS provided version of it to the bare minimum.
-
Safety and Soundness in Rust
Rust is designed around safety and soundness. Roughly speaking, safe code is code that doesn't use the unsafe keyword,What we mean by "safe" depends on context, which is partly what this post is about.
-
Java Performance on Linux vs Windows
Java is a cross-platform language, which means that Java applications can run on a variety of operating systems, including Linux and Windows. The performance of Java applications can depend on a variety of factors, including the specific implementation, the hardware and software environment, and the workload of the application.
-
Php Vs Java In Regards to Performance
The performance of PHP and Java can depend on a variety of factors, including the specific implementation, the hardware and software environment, and the workload of the application. In general, Java is considered to be a faster and more efficient language than PHP.
-
How to Develop Securely In Java
There are several good security practices to follow when developing Java applications. Here are some of the most important ones: By following these best practices, you can help ensure the security of your Java applications and protect against common security threats.
-
How to Rewrite JSP Pages In Java
SP (JavaServer Pages) pages are essentially HTML files with embedded Java code. To rewrite JSP pages in Java, you will need to extract the Java code from the JSP pages and refactor it into Java code files that can be compiled and run independently.
-
New Features in Java 17 and Comparison to Java 11
Orcacle releases new Java versions quite often and the current one is 19. However, plenty of production code is still running on older Java versions as even Java 8 is still supported.
-
Quick Win Hints for Refactoring Java code
There are several quick wins that can be achieved through refactoring Java code: Overall, refactoring can help improve the quality of Java code, make it easier to maintain, and reduce the risk of introducing bugs.
-
Useful Mockito withSettings() Methods For Testing
In one of our previous articles How to Mock Variables for Interfaces and Casts in Java we described how to use the method withSettings().extraInterfaces() in order to add more interfaces / implementations to mocked objects.