️ Free TryHackMe Jr Penetration Tester Roadmap with Resources and Labs
A free, TryHackMe-inspired roadmap with resources and labs to kickstart your penetration testing journey.
[Continue read … ⌘ Read more
Kernel prepatch 6.15-rc3
The 6.15-rc3 kernel prepatch is out for
testing. “There’s absolutely nothing of huge note here as far as I can
tell. Just a fair number of small fixes all over the place”. ⌘ Read more
WAF Bypass Masterclass: Using SQLMap with Proxychains and Tamper Scripts Against Cloudflare &…
A hands-on guide to understanding and testing WAF evasion techniques usin … ⌘ Read more
3 Free Auto-Clickers for Mac
Auto-clickers are sort of niche software, typically associated with repetitive tasks with data entry, gaming, or software testing, but have gained some broader popularity with many people working from home. If you need an auto clicker for Mac, there are a variety of free autoclicker options for Mac, and we’ll point you to a few … Read More ⌘ Read more
si4er3q. See https://twtxt.dev/exts/twt-hash.html, a timezone offset of +00:00 or -00:00 must be replaced by Z.
Scratch that, no bug in jenny. There’s actually a test case for this. Python normalizes -00:00 to +00:00, so the negative case never happens.
Hacking and Securing Docker Containers: A Deep Dive into Common Vulnerabilities and Test Cases
Disclaimer: This document is for educational purposes only. Exploiti … ⌘ Read more
Hahaha! And now they show tiny! I had to reload the page. So, I see the problem on iOS and macOS Safari too. I have no other browser to test with, I exclusively use Safari.
** OWASP Top 10 for LLMs in 2025: Security Test Cases You Must Know**
As Large Language Models (LLMs) continue to integrate into critical systems, securing them has become a top priority. In 2025, OWASP…
[Continue reading on I … ⌘ Read more
Vim Golf test thread ⌘ Read more
Beta 2 of iOS 18.5, MacOS Sequoia 15.5, iPadOS 18.5 Released for Testers
New betas are available as iOS 18.5 beta 2, MacOS Sequoia 15.5 beta 2, and iPadOS 18.5 beta 2, for users who are participating in the beta testing programs for Apple system software. No notable new features or major changes are expected in these beta versions, at least thus far, suggesting they’re likely focused on … [Read More](https://osxdaily.com/2025/04/14/beta-2-of-ios-18-5-macos-sequoi … ⌘ Read more
Kernel prepatch 6.15-rc2
Linus has released 6.15-rc2 for testing.
“Nothing particularly stands out to me, but it’s early in the release
yet, so let’s see how it goes.” ⌘ Read more
@eapl.me@eapl.me You asked me for private keys for testing purposes. I have added it to the bottom of this page: https://dm-echo.andros.dev/
It will soon be running. It won’t be long now.
Test
Hmmm? Test?
Yup, it is certainly something on the codebase here. /end of test
@bender@twtxt.neteapl.me@eapl.me test
@bender@twtxt.neteapl.me@eapl.me just testing this mention, to see which random nick will be picked. Related, I agree, those animations are truly awesome!
Introducing Docker Model Runner: A Better Way to Build and Run GenAI Models Locally
Docker Model Runner is a faster, simpler way to run and test AI models locally, right from your existing workflow. ⌘ Read more
iOS 18.4.1 Update Coming Soon for iPhones
Apple employees are testing iOS 18.4.1 for iPhones, according to the MacRumors visitor logs, which have been a reliable indicator of upcoming iOS versions. The software update will likely be released in a week or two, if not sooner.
As the version number implies, iOS 18.4.1 will obviously be a minor update that addresses software bugs and/or security vulnerabilities.
There ar … ⌘ Read more
Topaz Tz170 J484 Development Kit with 256 Mbit x32 LPDDR4 at 1.6 Gbps & MIPI D-PHY
The Topaz Tz170 J484 Development Kit is a compact platform for evaluating and prototyping with the Efinix Tz170 FPGA. It integrates onboard memory, configurable I/O, and a preloaded reference design, providing a practical setup for testing and demonstration across a range of FPGA applications. The development kit is built around the Tz170 FPGA, which uses […] ⌘ Read more
FreeDOS 1.4 released
Version\
1.4 of FreeDOS has been
released. This is the first stable release since 2022, and
includes improvements to the Fdisk hard-disk-management program, and
reliability updates for the mTCP set of TCP/IP applications for
DOS.
This version was much smoother because Jerome Shidel, our
distribution manager, had an idea after FreeDOS 1.3 that we could have
a rolling test release that collected all of the changes that people
mak … ⌘ Read more
Test:
this is a code block
[2025-04-08 17:50:00] with a timestamp in brackets
The end.
Test: An emoji 🐧
Test: Just ASCII
Sometimes, we spend months stuck in inertia, distracted by screens and routine. So I’d like to give you a simple reminder: creating-in whatever form-is what makes you feel alive.
The beauty of working on projects is not in their ‘success’, but in the simple act of working on them. Whether it’s writing, cooking, programming or redecorating the house: play with ideas without pressure, engage in an activity to test, fail and discover without judgement.
In the end, what remains is not a perfect product, but the satisfaction of completion and valuable lessons.
Find a project, no matter how small, and let it take you without expectations.
I did :source $VIMRUNTIME/syntax/hitest.vim for test and now I don’t want it any more How do I return to :no source it? ⌘ Read more
Prosodical Thoughts: Prosody 13.0.1 released
We are pleased to announce a new minor release from our stable branch.
As is the tradition with software, here is our first patch release following
shortly behind our major 13.0.0 release announced a few weeks ago. It fixes
some important bugs that were discovered after the release.
Many thanks to everyone who reported issues and helped with testing the fixes
for this release. We appreciate it!
For those of you on 0.12.x who haven’t upgraded yet, skip 13.0.0 and jump
stra … ⌘ Read more
Apple Releases Safari Technology Preview 216 With Bug Fixes and Performance Improvements
Apple today released a new update for Safari Technology Preview, the experimental browser that was first introduced in March 2016. Apple designed Safari Technology Preview to allow users to test features that … ⌘ Read more
XMPP Interop Testing: Enabling Tests
Our project creates a framework that allows anyone to easily add XMPP standards compliance tests to the test phase of
their build pipeline. Prior to our most recent release (version 1.5.0) a test execution would basically run all tests
in the test suite. We provided an option to exclude certain tests, but in essence, the bulk of tests would execute.
This behavior is generally preferable when testing an XMPP server implementation. A benefit of exclusion-based
… ⌘ Read more
OLED iPad Mini Display in Testing Reportedly Made by Samsung
Apple is currently evaluating a new small-sized OLED display for its next iPad mini model, according to a Chinese leaker with sources in Apple’s supply chain.
Weibo-based account Digital Chat Station today made the claim in a brief preview of upcoming tablets from different brands. The leaker wen … ⌘ Read more
1st Beta of iOS 18.5, MacOS Sequoia 15.5, iPadOS 18.5 Released for Testing
While Apple may have just released the final versions of MacOS Sequoia 15.4, iOS 18.4, and iPadOS 18.4 to the general public, they’re already back on the beta train. This time around we’ve got the first beta versions of iOS 18.5, iPadOS 18.5, and MacOS Sequoia 15.5. It’s not clear what the focus of these … [Read More](https://osxdaily.com/2025/04/02/1st-beta-of-ios-18-5-macos-sequoia-15- … ⌘ Read more
[$] An update on GCC BPF support
José Marchesi and David Faust kicked off the BPF track at the 2025 Linux Storage,
Filesystem, Memory-Management, and BPF Summit with an extra-long session on what
they have been doing to support compiling to BPF in GCC. Overall, the project is slowly working
toward full support for BPF, with most of the self-tests now passing using
Faust’s in-progress patches. However, the progress toward that goal has turned up
a number of problems with how Clang supports BPF that needed to be discussed at
length to … ⌘ Read more
PorteuX 2.0 released
Version\
2.0 of PorteuX, a distribution based on Slackware Linux, has been
released. This release adds the ability to test experimental Wayland
sessions for the Cinnamon, LXQt, and Xfce desktops. PorteuX 2.0
updates the Linux kernel to 6.14 and includes many package updates and
bug fixes. Users have the choice of PorteuX stable or its rolling release
called current. See the [install.txt](https://github. … ⌘ Read more
Apple Begins Testing iOS 18.6 Update for iPhones
Apple this week began testing iOS 18.6, according to our website’s visitor logs, which have been a reliable indicator of upcoming iOS versions. The update is currently limited to Apple’s software engineers, with no developer or public beta available yet.
The first iOS 18.6 beta will likely be made available in May or June, and the update should be released to the gen … ⌘ Read more
Second Release Candidate of iOS 18.4 and iPadOS 18.4 Available for Testing
Apple has issued a second release candidate (RC) build of iOS 18.4 and ipadOS 18.4, a day after releasing a 2nd RC build of MacOS Seqouia 15.4. Earlier in the week Apple introduced the first RC builds of these system software versions. iOS 18.4 and iPadOS 18.4 gain some new features and improvements to Apple … [Read More](https://osxdaily.com/2025/03/28/second-release-candidate-of-ios- … ⌘ Read more
Second Release Candidate of MacOS Sequoia 15.4 Available for Testing
Apple has provided a second Release Candidate build of MacOS Sequoia 15.4 for users enrolled in the beta testing program, arriving just a few days after the first release candidate build of Sequoia 15.4, iOS 18.4, and iPad 18.4 were issued. Release Candidates typically match the final version of software that is released to the … [Read More](https://osxdaily.com/2025/03/27/second-release-candidate … ⌘ Read more
Use Apple AirPods Pro 2 to perform medically certified hearing test
One of the most hyped new features Apple announced last year was the potential to use the existing Apple AirPods Pro 2 to perform a hearing test - and that feature is rolling out in Australia today. ⌘ Read more
I now subscribed to most feeds in my Go tt reimplementation that I already followed with the old Python tt. Previously, I just had a few feeds for testing purposes in my new config. While transfering, I “dropped” heaps of feeds that appeared to be inactive.
This might motivate me to actually “finish” the new client, so that it could become my daily driver. No need to use the old software stack any longer. Let’s see how bad this goes.
Apple AirPods can now be used as hearing aids in Australia
From Wednesday, users with a set of $400 AirPods Pro 2 can self-administer a hearing test and use their earbuds as an over-the-counter hearing aid. ⌘ Read more
Release Candidate of iOS 18.4, iPadOS 18.4, MacOS Sequoia 15.4, Available for Testing
Apple has issued the Release Candidate builds of iOS 18.4, MacOS Sequoia 15.4, and iPadOS 18.4. Release Candidate (RC) builds are typically the last version of a beta cycle before the software gets issued to the general public, indicating that final versions of iOS 18.4, MacOS Sequoia 15.4, and iPadOS 18.4 are coming soon, possibly … [Read More](https://osxdaily.com/ … ⌘ Read more
Apple Watch Blood Pressure Feature Hits More Snags in Apple’s Testing
Apple’s plan to bring blood-pressure tracking to the Apple Watch is still hitting snags, according to Bloomberg’s Mark Gurman.
Writing in his latest Power On newsletter, Gurman says that … ⌘ Read more
@eapl.me@eapl.me Thank you for this!
I cast a test vote. Did it work? :-)
@kat@yarn.girlonthemoon.xyz UPDATE I DID IT!!!!!!! you will now see a cute anime girl that is behind the scenes testing if you are a bot or not in a matter of seconds before being redirected to the site :) https://superlove.sayitditto.net/
I put 27 life-changing habits to the test ⌘ Read more
Here’s How the iPhone 16e’s C1 Modem Stacks Up Against the iPhone 16 Qualcomm Modem
The iPhone 16e includes Apple’s first custom-designed C1 modem, and since it’s a new chip category for Apple, there have been questions about how the C1 measures up to the Qualcomm modems that Apple has been using for years. As it turns out, the iPhone 16e performs almost as well or better than the iPhone 16 in many speed tes … ⌘ Read more
Apple Still Working to Expand AirPods Hearing Aid Feature to Canada
While the AirPods hearing aid and hearing test features received Health Canada approval at the federal level in December, the features are not yet available in Canada. According to reports from CTV News and the [Toronto Star](https://www.thestar.com/life/he … ⌘ Read more
Beta 4 of iOS 18.4, iPadOS 18.4, MacOS Sequoia 15.4, Available for Testing
Apple has released the fourth beta version of iOS 18.4, MacOS Sequoia 15.4, and iPadOS 18.4, all of which are set to be fairly minor software updates but do include a handful of new features, and will also include the usual round of bug fixes and security enhancements. New features currently being tested in these … [Read More](https://osxdaily.com/2025/03/17/beta-4-of-ios-18-4-ipados-18-4 … ⌘ Read more
Goodbye GNU/Linux, Hello Rust/Linux
Ubuntu plans to ditch the battle-tested GNU Coreutils (chmod, Is, kill, & others), in favor of an unfinished Rust-based re-write, in the next few months. ⌘ Read more
Shift-Left Testing with Testcontainers: Catching Bugs Early with Local Integration Tests
Learn how integration tests can help you catch defects earlier in the developers inner loop and how Testcontainers can make them feel as easy as unit tests. ⌘ Read more
New article: “E2E Testing with TestCafe on Docker.”
I’ll show you how to get started with TestCafe, a framework for performing E2E tests.
https://programadorwebvalencia.com/pruebas-e2e-con-testcafe-sobre-docker/
#docker #testcafe #e2e #testing #javascript #webdev
Today I learned how to use TestCafé. It is a E2E framework.
I needed it because I wanted to write a script that would launch a browser in the background, log me in with a username and password, and return the cookie value with the token ID. The goal is to perform tests with the token.
https://testcafe.io/
Expanding Open-Source Support for MediaTek’s Genio IoT Platforms with Collabora
MediaTek continues to strengthen upstream support for its Genio IoT platforms through its collaboration with Collabora. Following the initial efforts to integrate Genio EVKs into the open-source ecosystem, recent updates bring improvements to the Linux kernel, Debian-based images, and automated testing frameworks. These enhancements ensure broader compatibility and long-term support for … ⌘ Read more
selsta posts February 2025 Monero dev report
selsta1 has posted a monthly CCS progress report2 for February 2025, which includes several Monero dev updates.
Milestone 3:
* v0.18.4.0 is code-ready and currently in testing phase
* Traced down a bug in a recently merged PR that is part of v0.18.4.0
* Handle the recent DDoS attempt on public nodes
Note that misc work is not explicitly mentioned in these updates. The full list of changes can be found on Github3’[4 … ⌘ Read more
3rd Beta of iOS 18.4, MacOS Sequoia 15.4, iPadOS 18.4, Available for Testing
Apple has released the third beta version of MacOS Sequoia 15.4, iOS 18.4, and iPadOS 18.4, for users who are participating in the beta testing programs for Apple system software. These beta builds are working on a variety of new features and capabilities, including refinements to Apple Intelligence, the controversial and frustrating sorted Mail Categories … [Read More](https://osxdai … ⌘ Read more
#testing @ Hi Bob, nice to meet you!
Thanks, @xuu@txt.sour.is, great explanation. In another project I’ve structured it exactly like you wrote. The mock storage over there extends the SQLite storage and provides mechanism to return errors and such for testing purposes:
- storage/ defines the interface
- sqlite/ implements the storage interface
- mock/ extends the SQLite implementation by some mocking capabilities and assertions
- sqlite/ implements the storage interface
Here, however, there are no storage subpackages. It’s just storage, that’s it. Everything is in there. The only implementation so far is an SQLite backend that resides in storage. My RAM storage is exactly that SQLite storage, but with :memory: instead a backing file on disk. I do not have a mock storage (yet).
I have to think about it a bit more, but I probably have to do exactly that in my tt rewrite, too. Sigh. I just have the feeling that in storage/sqlite/sqlite_test.go I cannot import storage/mock for the helper because storage/mock/mock.go imports and embeds the type from storage/sqlite. But I’m too tired right now to think clearly.
@lyse@lyse.isobeef.org OK. So how I have worked things like this out is to have the interface in the root package from the implementations. The interface doesn’t need to be tested since it’s just a contract. The implementations don’t need to import storage.Storage
- storage/ defines the
Storageinterface (no tests!)
- storage/sqlite for the sqlite implementation tests for sqlite directly
- storage/ram for the ram implementation and tests for RAM directly
- storage/sqlite for the sqlite implementation tests for sqlite directly
- controller/ can now import both storage and the implementation as needed.
So now I am guessing you wanted the RAM test for testing queries against sqlite and have it return some query response?
For that I usually would register a driver for SQL that emulates sqlite. Then it’s just a matter of passing the connection string to open the registered driver on setup.
https://github.com/glebarez/go-sqlite?tab=readme-ov-file#connection-string-examples
@lyse@lyse.isobeef.org OK. So how I have worked things like this out is to have the interface in the root package from the implementations. The interface doesn’t need to be tested since it’s just a contract. The implementations don’t need to import storage.Storage
- storage/ defines the
Storageinterface (no tests!)
- storage/sqlite for the sqlite implementation tests for sqlite directly
- storage/ram for the ram implementation and tests for RAM directly
- storage/sqlite for the sqlite implementation tests for sqlite directly
- controller/ can now import both storage and the implementation as needed.
So now I am guessing you wanted the RAM test for testing queries against sqlite and have it return some query response?
For that I usually would register a driver for SQL that emulates sqlite. Then it’s just a matter of passing the connection string to open the registered driver on setup.
https://github.com/glebarez/go-sqlite?tab=readme-ov-file#connection-string-examples
Cake Wallet v4.23.3 pre-release available for testing
Cake Labs1 has released Cake Wallet beta version 4.23.32 for public beta testing:
Changes overviewThis release brings a few minor bug fixes, migrates Quantex -> SwapTrade and re-enables them by default for swaps, and adds a new exchange called Kryptonim for buying and selling crypto in many jurisdictions.
Token whitelisting to better protect against scams
SwapTrade exchange enabled by default
UI enhancement ... ⌘ [Read more](https://monero.observer/cake-wallet-v4.23.3-pre-release-available-testing/)
Desktop 4.39: Smarter AI Agent, Docker CLI in GA, and Effortless Multi-Platform Builds
Docker Desktop 4.39 brings Docker AI Agent for real-time help, plus Bake for faster builds and Multi-Node Kubernetes for better testing. Learn more! ⌘ Read more
@xuu@txt.sour.is My layout looks like this:
- storage/
- storage.go: defines a
Storageinterface
- sqlite.go: implements the
Storageinterface
- sqlite_test.go: originally had a function to set up a test storage to test the SQLite storage implementation itself:
newRAMStorage(testing.T, $initialData) *Storage
- storage.go: defines a
- controller/
- feeds.go: uses a
Storage
- feeds_test.go: here I wanted to reuse the
newRAMStorage(…)function
- feeds.go: uses a
I then tried to relocate the newRAMStorage(…) into a
- teststorage/
- storage.go: moved here as
NewRAMStorage(…)
- storage.go: moved here as
so that I could just reuse it from both
- storage/
- sqlite_test.go: uses
testutils.NewRAMStorage(…)
- sqlite_test.go: uses
- controller/
- feeds_test.go: uses
testutils.NewRamStorage(…)
- feeds_test.go: uses
But that results into an import cycle, because the teststorage package imports storage for storage.Storage and the storage package imports testutils for testutils.NewRAMStorage(…) in its test. I’m just screwed. For now, I duplicated it as newRAMStorage(…) in controller/feeds_test.go.
I could put NewRAMStorage(…) in storage/testutils.go, which could be guarded with //go:build testutils. With go test -tags testutils …, in storage/sqlite_test.go could just use NewRAMStorage(…) directly and similarly in controller/feeds_test.go I could call storage.NewRamStorage(…). But I don’t know if I would consider this really elegant.
The more I think about it, the more appealing it sounds. Because I could then also use other test-related stuff across packages without introducing other dedicated test packages. Build some assertions, converters, types etc. directly into the same package, maybe even make them methods of types.
If I went that route, I might do the opposite with the build tag and make it something like !prod instead of testing. Only when building the final binary, I would have to specify the tag to exclude all the non-prod stuff. Hmmm.
maybe even an internal that has the shared test stuff
maybe even an internal that has the shared test stuff
Dang it! I ran into import cycles with shared test utilities again. :-( Either I have to copy this function to set up an in-memory test storage across packages or I have to put it in the storage package itself and guard it with a build tag that is only used in tests (otherwise I end up with this function in my production binary as well). I don’t like any of the alternatives. :-(
Beta 2 of iOS 18.4, MacOS Sequoia 15.4, iPadOS 18.4, Available for Testing
The second beta versions of iOS 18.4, iPadOS 18.4, and MacOS Sequoia 15.4 are available for users enrolled in the beta testing programs for the Apple operating system suite. The latest beta builds continue to refine Apple Intelligence features, add a new Ambient music feature from Control Center, and for iPadOS and MacOS include the … [Read More](https://osxdaily.com/2025/03/03/beta-2-of- … ⌘ Read more
Beta 2 of iOS 18.4, MacOS Sequoia 15.4, iPadOS 18.4, Available for Testing
The second beta versions of iOS 18.4, iPadOS 18.4, and MacOS Sequoia 15.4 are available for users enrolled in the beta testing programs for the Apple operating system suite. The latest beta builds continue to refine Apple Intelligence features, add a new Ambient music feature from Control Center, and for iPadOS and MacOS include the … [Read More](https://osxdaily.com/2025/03/03/beta-2-of- … ⌘ Read more
selsta submits CCS proposal for 3 months of Monero dev work until end of May 2025
selsta1 has submitted a new CCS proposal2 to continue working part-time on Monero development for 3 more months, until the end of May 2025:
Work for 30 hours per week over the next 3 months (from March to end of May) at a rate of 50€ / hour. At 210€ / XMR this makes ~93 XMR.
Total funding: 93 XMR.
ETA: (end of) May 2025.
The dev will continue testing and reviewing PR’s, Mone … ⌘ Read more
Monero Dev Activity Report - Week 9 2025: 20 PRs, 9 Issues
This weekly report aims to provide a big picture view of Monero development activity, increase community support for existing devs and, hopefully, encourage new contributions.
Opened (4)
monero-project/monero:
HeliBoard might be the first one of these fully open source Android keyboards, that doesn’t suck, idk, I’m still in the process of testing it, but I already like it a lot more than any of the ones I used before it.
Setting it up was somewhat clunky, but once you set it all up and dile in the settings, the keyboard itself, feels really great to use.
Amd of course, TDD! I tried that, but it doesn’t work all that great for me in its strict form. I have the feeling that coming up with a single new failing test, making it pass, maybe some refactoring, rinse and repeat wastes significantly more time than doing it in – what they call – the “bundle” approach. Coming up with several tests in advance and then writing the code or vise versa is usually much quicker. I do find that more enjoyable, it also helps me to reduce smaller context switches. I can focus on either the tests or the production code.
As for the potentially reduced code coverage with a non-TDD approach, I can easily see which parts are lacking tests and hand them in later. So, that’s largely a specious argument. Granted, I can forget to check the coverage or simply ignore it.
I agree with John, TDD results in less elegant code or requires more refactoring to tidy it up. Sometimes, it’s also not entirely clear at the beginning how the API should really look like. It doesn’t happen often, but it does happen. Especially when experimenting or trying out different approaches. With TDD, I then also have to refactor the tests which is not only annoying, but also involves the danger of accidentally breaking them.
TDD only works really well, if you have super tiny functions. But we already established that I typically don’t like tiny methods just for the purpose of them being extremely short.
When fixing a bug, I usually come up with a failing test case first to verify that my repaired code later actually resolves the problem. For new code, it depends, sometimes tests first, sometimes the productive code first. Starting off with the tests requires the API to be well defined beforehand.
iPhone 16e’s Battery Capacity Revealed in Real-World Battery Life Test
In its announcement video for the iPhone 16e, Apple said the device features a new internal design that allowed for a larger battery.
Apple does not publicly advertise mAh battery capacities for iPhones. In his [iPhone 16e review video](https://www.youtube.com/watch?v=w-Wh … ⌘ Read more
@andros@twtxt.andros.dev Just before the pandemic, we watched Uncle Bob videos once a week in the lunch break. While almost all of my old teammates agreed with his views, I partially found them to be very odd and even counterproductive.
I didn’t come across John Ousterhout or any of his work before, at least not deliberately. So, this document is my first contact.
I only finished the chapter on comments and I totally agree with John so far. This document just manifests to me how weird Bob’s view is on certain subjects.
I always disagreed with the concept of a maximum method length. Sure, generally, shorter functions are probably better, but it always depends. And I’ve certainly seen super short methods that just made the code flow even worse to follow. While “one function should only do one thing” is a nice general rule, I’m 100% in team John with the shown examples. There are cases, where this doesn’t help readability at all. Not even close.
To me, a function always has to justify its existence. Either by reusing it at least at another place or by coming up with dedicated tests for it. But if it is just called once and there are no tests, I almost always decide against it. Personally, I don’t mind longer methods. We just recently had a discussion about that and I lost against two other workmates who are more in Uncle Bob’s camp, they refactored one medium sized method into three very short ones. Luckily, we agree on most other topics.
Lol, what!? The shorter the method, the longer the variables inside? I first thought I misread or the writeup mixed it up. I’ll always do it the other way around.
I’ve been also bitten badly by outdated comments in the past, but Bob must have worked on really terrible projects to end up with such an attitude to dislike comments. Oh well. No doubt, I’ve come across by several orders of magnitude more useless comments, in my experience (autogenerated) JavaDocs fall in the category more frequently than not. So, I know that there are different types of comments. A comment doesn’t automatically mean that it is good and justified.
But I also partially agree with Bob and John and think that a good name has a proper chance to save a comment. Though, when in doubt, I go John’s route and use a shorter name with a comment rather than use a kilometer long identifier. Writing good comments typically takes some time, sometimes much longer than writing the code. It regularly takes me several minutes. It’s a hard art.
I perhaps should read up on John’s work. He seems to be more reasonable and likeminded. :-) Let me continue to complete this document.
This document is the result of a series of discussions between Robert “Uncle Bob” Martin and John Ousterhout, held between September 2024 and February 2025. The text addresses three main topics: method length, comments, and Test Driven Development (TDD).
https://github.com/johnousterhout/aposd-vs-clean-code/blob/main/README.md
This is something to read and reflect on for days.
Testing out this image upload feature…
Testing the World’s Thinnest Foldable Smartphone
Chinese smartphone maker Oppo recently came out with the Find N5, which is a super thin and lightweight foldable smartphone. It’s thinner and lighter than Samsung’s foldable devices, and Apple’s non-foldable ones.
_Subscribe to the MacRumors YouTube channel for more videos._
The Find N5 has a 6.62-inch display when closed, and an 8.12-inch display when open, so when unfolded, it’s just a bit smalle … ⌘ Read more
使用 Go Convey 做 BDD 測試的入門指南
前面在「Go 代碼測試時怎麼打樁?給大家寫了幾個常用案例」中我們介紹了在單元測試中使用gomonkey爲代碼進行打樁的各種方法。今天我們介紹在 Go 單元測試中另外一個很好用的工具庫goconvey,上面說的gomonkey屬於在 Test Double 方面提供能力,也就是我們通常說的mock,用它們可以自定義一套實現來替換項目中的代碼實現。而goconvey則是一個幫助我們組織和管理測試用例的 ⌘ Read more
My hypothesis about that thing breaking my twts is that it might have something to do with the parenthesis surrounding the root twt hash in the replay twt-A when I replay to it with fork-twt-B; I imagine elisp interpreting those as a s-expression thus breaking the generation precess of hash (#twt-A) before prepending it to for-twt-B … but then I’m too ignorant to figure out how to test my theory (heck I couldn’t even recalculate the hashes myself correctly in bash xD). I’ll keep trying tho.
@andros@twtxt.andros.dev yes, that usually happens when twts get edited and we just made a gentlemen agreement to avoid edits as much as possible (at least for the time being). But the thing is, That is not what’s happening with my broken twts’ hashes. Since I’ve bee mostly replaying to my own twts as a test and I know for sure that I haven’t edited any. (I usually fork-replay instead of edit a twt when needed)
the hash in that test replay should have been s243lua instead 🤷
@andros@twtxt.andros.dev Here’s that twtxt-el test replay to my last twt! let’s see how it goes.
@andros@twtxt.andros.dev hmmm… pretty strange, isn’t it? replaying to threads worked perfectly, I’ve only had that problem trying to replay to a twt that was part of a thread.
As an example, this one is a Fork-Replay from Jenny. My next twt will be a replay to this exact twt but from twtxt-el as a test.
Then I’will file an issue if it doesn’t behave the way it’s supposed to. Cheers!
Beta 1 of iOS 18.4, iPadOS 18.4, MacOS Sequoia 15.4, Available for Beta Testers
Apple has released the first beta version of iOS 18.4, iPadOS 18.4, and MacOS Sequoia 15.4, for users enrolled in the beta testing programs for Apple system software. The new beta updates look to add some additional features to Apple Intelligence for all eligible devices, add the polarizing Mail Categories feature from iPhone to iPad, … [Read More](https://osxdaily.com/2025/02/2 … ⌘ Read more
@bender@twtxt.net Don’t panic. I’ve just been testing my implementation. The great advantage of Twtxt is it’s openness, I think. So DM spamming would contradict to this feature I like. ❤
@andros@twtxt.andros.dev Here is everything written down I know to this stuff: https://github.com/upputter/testing-twtxt-dm/blob/main/README.md
@eapl.me@eapl.me @andros@twtxt.andros.dev Eureka! It works! https://github.com/upputter/testing-twtxt-dm
PBKDF2_KEY_SIZE = 48 was the turning point! My dirty little crypt.class.php can en- and decrypt, accoridng to the OpenSSL standard and options used in https://twtxt.dev/exts/direct-message.html
[ ↳ Reply to twt ] button?
I don’t think so, at least the tests I did passed. If you’re pretty sure it’s a bug, please create an issue in the repository with the specific case and I’ll investigate it.
There are 2 buttons to make replicas, one makes a replica in the thread where the twt is located (this is the one that should be used the most, as it serves a thread), the other creates a replica to a specific twt.
I’ll let you know a bit about the status: I’m just now implementing the thread screen. There you can be sure where you are. It’s a bit confusing right now, sorry. I think the client is still in alpha. When I’ve finished what I’m doing, and the direct message system, I’ll freeze development and focus on creating more tests, looking for bugs and making small visual adjustments.
Test Test… is this Borked too!? 🤔
Alleged Display Sizes Leaked for Apple’s Book-Style Foldable iPhone
Another week, another alleged leak regarding Apple’s fabled foldable iPhone. We’ve been hearing rumors about an iPhone that folds in half for over eight years now. While they have lacked consistency, they do suggest that Apple has tested various prototypes, with the hinge seemingly the biggest challenge Apple has been trying to overcome. Apple wants to el … ⌘ Read more
@eapl.me@eapl.me Here is what I’ve got so far: https://github.com/upputter/testing-twtxt-dm
There is a “00_well_known_message.enc” file, which I have the encryption paremters for (https://github.com/upputter/testing-twtxt-dm/blob/9fdf3be6aa8fe810a4cb275375dbb3d4a2a958ee/wellknown_test.php#L28).
According to my finding, I assume, that the saltsize in openssl is “8” and the PBKDF2 algo is “sha256”.
@arne@uplegger.eu Hi! I love that you’re implementing it! Maybe, when we’re both done, we could test the clients by communicating both.
I don’t think I’m going to be able to help you much, my knowledge of OpenSSL and PHP is not as high as I’d like it to be.
Maybe the OpenSSL version uses SHA-1 by default in PHP. Or that the IV is derived together with the key (not generated separately). But I’m not able to answer your questions, sorry.
I’m invoking the commands directly, without any libraries in between. Maybe that would help you?
@andros@twtxt.andros.dev I have really tried to get behind it. For an implementation for my TwtxtReader (PHP) I simply lack the knowledge of the standard-openssl parameters.
All my solution approaches require “nonce” or “initialization vector” on one or the other side. In addition, the “magic numbers” (“Salted__”) were not consistent in my tests.
WhatsApp Testing ‘Clear Badge’ Feature for Unread Messages
WhatsApp is testing a new setting that automatically clears the unread message count badge on its Home Screen icon every time the app is launched.
WABetaInfo reports that the feature is controlled by a new toggle in WhatsApp’s iOS notification settings, called “Clear Badge.” The se … ⌘ Read more
Monero Dev Activity Report - Week 7 2025: 40 PRs, 9 Issues
This weekly report aims to provide a big picture view of Monero development activity, increase community support for existing devs and, hopefully, encourage new contributions.
Opened (3)
monero-project/monero:
- #97951 tests: Speed up p2p reorg test (iamamyth)
- #97982 CoC: do not allow Maintainers to tag releases, unless core is not available within a reasonable time (tobtoht)
monero-proj ... ⌘ [Read more](https://monero.observer/monero-dev-activity-report-week-7-2025/)
The project is a POC (Proof of Concept) that went into production and the company has customers who are using it. The developers had been working for several years, without testing, structure, isolation and so on. The company hired me to transform the project into a real product. There are in my hands 422 python files to transform that they beg me a refactore, architecture and testing. Every developer’s bad dream.
My first step is to read and understand the tree because there are apps inside other apps call each other. I am very determined to work on a new repository.
Fedora’s Code of Conduct: 200 Day Response Time, Only Protects You if Red Hat Likes You
Lunduke tests Fedora Linux’s Code of Conduct. The results are just as ridiculous as you’d expect. ⌘ Read more
1st thought… Run!
Well, I’ve heard you have plenty of experience with Unit Testing and TDD. Perhaps designing a few tests before refactoring?
I’ve heard of Snapshot testing, but have never tried it: https://github.com/spatie/phpunit-snapshot-assertions
Also, what kind of refactor are you trying to do?
@andros@twtxt.andros.dev I suggest to not touch it and work on a different project instead. :-D
No, in all seriousness, that’s a tough one. Try to figure out the requirements and write tests to cover them. In my experience, if there is no good documention, tests might also be lacking. It goes without saying that you have to understand the code segments first before you can begin to refactor them. Commit even earlier and more often than usual, this will help you bisecting potentially introduced bugs later on. Basically baby steps.
But it also depends on the amount of refactoring required. Maybe just scrap it entirely and start from scratch. This might not be feasible due to e.g. the overall project size, though.
Testing the limits of our new 5G internet connection at home with pushing 1.5GB docker images into the cloud a bunch of times day…
iPhone 16 Pro Max Beaten by Samsung Galaxy S25 Ultra in App Loading Speed Test
Apple’s iPhone 16 Pro Max has been comprehensively beaten by the Samsung Galaxy S25 Ultra in a real world app speed test conducted by PhoneBuff, with the Snapdragon 8 Elite chip and 12GB of RAM winning out over the A18 Pro chip and 8GB of RAM in Apple’s smartphone.
The performance test measured how long it took each phone to open and process tasks across a ser … ⌘ Read more