Kissaki

joined 2 years ago
MODERATOR OF
[–] Kissaki@programming.dev 2 points 1 month ago (1 children)

In what way did they “gamify” their unit tests? You mean through presentation of test state/successes?

[–] Kissaki@programming.dev 2 points 1 month ago (2 children)

I always read the weekly post title and am tempted to write and comment. I've written an entire post before. But then I notice it's in c/cybersecurity - which my work is not in specifically. 😅

[–] Kissaki@programming.dev 2 points 1 month ago

Now if only I had the motivation and commitment to create something similar!

[–] Kissaki@programming.dev 2 points 1 month ago

In my interpretation, the gains will be

  1. Google Store apps will have identities linked, making it harder to mass-produce and mass-publish scam apps
  2. Enabling app installs outside of the Google store will have an additional barrier to combat scammers interactive pressure, maybe a cooldown of 24 hours or something like that
[–] Kissaki@programming.dev 4 points 1 month ago

So they're addressing students and private hobbyists, but not open source and hobbyists willing to publish.

Sounds like it will be a kind of sideloading onto your own devices.

that allows experienced users to accept the risks of installing software that isn't verified

So for F-Droid, a vetting and curating publisher, users will have to go through this expert process. The announcement that activation under pressure will be prevented makes me thing of a time cooldown, like activate now, and it becomes active by tomorrow, 24 hours later.

Scamming is a real problem, and to a degree, it may end up being a good thing. As long as Google does not take this opportunity to push hidden agenda of increasing accessibility and choice, to seize more control not for security but as market and platform strategy.

F-Droid says they don't want to impersonate other projects in order to be able to publish their projects, arguably decreasing security, which is a valid concern. As long as there's a setting to allow this kind of sideloading and the use of F-Droid like before, I guess it is what it is, and may be acceptable.

If only they had started from where they are now. It's plainly obvious there's these kinds of users and use-cases. Did they really need "the community feedback" to learn about everything outside of their primary "linear" users?

[–] Kissaki@programming.dev 22 points 1 month ago* (last edited 1 month ago) (1 children)

Godot is certainly the easiest and simplest to install in terms of full engine and game dev IDE.

Whether they wanted to showcase or deliberately chose it for how it looks or not, I think the simple install onto a presentation desk/PC/Steam Machine may have been a reason as well.

[–] Kissaki@programming.dev 3 points 1 month ago* (last edited 1 month ago)

On AniDB I can enter dd.MM.yyyy or yyyy-MM-dd (text input), which I like a lot. I often prefer reading and writing yyyy-MM-dd.

Some time ago I changed my Windows number format settings to show me yyyy-MM-dd formats. Unfortunately, that broke my webbrowsers date input / datepicker. :( So I had to go back to the standard culture format (de in my case).

The worst is when you work with dates and don't know what is what, or when the behavior is unexpected.

Probably everyone knows about the Excel shitshow of implicitly converted values.

In SQL Server, what do you think 0000-00-00 is when converted to a date, explicitly or implicitly? Well, unfortunately, yyyyMMdd is a safer format than yyyy-MM-dd.

SET LANGUAGE 'us_english'
SELECT CONVERT(date, '2025-12-13')
--SELECT CONVERT(date, '2025-13-12') -- err
SELECT CONVERT(datetime, '2025-12-13 07:00:00')
--SELECT CONVERT(datetime, '2025-13-12 07:00:00') -- err

SET LANGUAGE 'Deutsch'
SELECT CONVERT(date, '2025-12-13')
--SELECT CONVERT(date, '2025-13-12') --err
--SELECT CONVERT(datetime, '2025-12-13 07:00:00') --err !!
SELECT CONVERT(datetime, '2025-13-12 07:00:00')

No, yyyy-dd-MM is not a common or valid German date format. That's usually dd.MM.yyyy.

But worst of all, it changes behavior of the date parsing between date only and date + time types.

[–] Kissaki@programming.dev 4 points 1 month ago (3 children)

Your question was very unspecific and broad, and despite that, now it goes into a direction I have not foreseen. Your question would have been much more useful and you would have received a lot better answers if you had provided some context, established a premise, been more specific about what you're asking.

You asked about PC. Given that Windows is the prevalent PC operating system, I'll answer for that.

While Windows has a Microsoft Store app store now, traditionally and still prevalent, most software and applications is installed and managed not through this "app store", but manually or with other non-OS-integrated software.

I feel like the premise of the question is from a very different understanding of how things work or are.

[–] Kissaki@programming.dev 3 points 1 month ago* (last edited 1 month ago)

I regularly write code.

My customer gave the go-ahead to use LLM in our project very recently. We'll be trying it out. I'm interested to scope out its use and limitations especially. I'm skeptical it will increase efficiency for me overall. The project is too complex, my/our requirement on quality too high, and I'm thorough to the last var name and code formatting for readability and obviousness. I'm not sure whether I could find it acceptable to compromise on those.

Between customer communication, planning, review-prep, guiding and helping my team members, and doing reviews, and other tasks within the company, time for my own work can be reduced by a lot. Still, I have tasks I work on, and that includes coding.

[–] Kissaki@programming.dev 10 points 1 month ago

Microsoft pushes cloud and AI with increasingly negative side-effects. Eventually, EU regulation steps in to require offline-capable OS with fair and obvious choice. Microsoft tries to argue security, but ultimately fails.

Microsoft continues to push and connect their services as one, with synergy effects. Eventually EU regulation and prosecution steps in, requiring a neutral OS that must not pre-install software or point to other products in OS settings and apps, etc. Integrations must be openly standardized first, before implementing their own.

Despite all this, and despite a move from EU and EU-national institutions to sovereignty through shared open source solutions, Microsoft retains their strong/prevalent market position because the market as a whole is not as strategic and concerned, and Microsoft products like office, onedrive, Teams, and their other business software and services remain a predominant and grab-first choice, and the security promise of big enterprise software, battle-tested, with strong established auth etc remains a big selling point for them.

[–] Kissaki@programming.dev 5 points 1 month ago

Yes, living without any PC at all is possible.

[–] Kissaki@programming.dev 2 points 1 month ago (1 children)

At work, I set up convco for automated commit checks and changelog generation with custom/slightly adjusted configuration of conventional commits (types) and changelog template.

 

Scrolling through this webpage is an adventure.

 

Yesterday programming.dev was down for hours.

I checked https://status.programming.dev/ and it is indeed a working status page, but with no monitors added.
Which is already surprising.

But even more confusing is the consequential claim of "All Systems Operational", even when the instance is down/unreachable.

What's the state and plan for the status page?

 

cross-posted from: https://programming.dev/post/36983916

Freund wasn’t looking for a backdoor when he noticed SSH connections to his Debian testing system taking 500 milliseconds longer than usual. As a database engineer benchmarking PostgreSQL performance, he initially dismissed the anomaly. But the engineer’s curiosity persisted.

The backdoor’s technical sophistication was breathtaking. Hidden across multiple stages, from modified build scripts that only activated under specific conditions to obfuscated binary payloads concealed in test files, the attack hijacked SSH authentication through an intricate chain of library dependencies. When triggered, it would grant the attacker complete remote access to any targeted system, bypassing all authentication and leaving no trace in logs.

The backdoored versions 5.6.0 and 5.6.1 had been released in February and March 2024, infiltrating development versions of Fedora, Debian, openSUSE, and Arch Linux. Ubuntu’s upcoming 24.04 LTS release, which would have deployed to millions of production systems, was mere weeks away.

The technical backdoor was merely the final act of a three-year psychological operation that began not with code, but with studying a vulnerable human being.

 

Freund wasn’t looking for a backdoor when he noticed SSH connections to his Debian testing system taking 500 milliseconds longer than usual. As a database engineer benchmarking PostgreSQL performance, he initially dismissed the anomaly. But the engineer’s curiosity persisted.

The backdoor’s technical sophistication was breathtaking. Hidden across multiple stages, from modified build scripts that only activated under specific conditions to obfuscated binary payloads concealed in test files, the attack hijacked SSH authentication through an intricate chain of library dependencies. When triggered, it would grant the attacker complete remote access to any targeted system, bypassing all authentication and leaving no trace in logs.

The backdoored versions 5.6.0 and 5.6.1 had been released in February and March 2024, infiltrating development versions of Fedora, Debian, openSUSE, and Arch Linux. Ubuntu’s upcoming 24.04 LTS release, which would have deployed to millions of production systems, was mere weeks away.

The technical backdoor was merely the final act of a three-year psychological operation that began not with code, but with studying a vulnerable human being.

 

Over the years, our server has been racking up costs, and the now-unsupported software it was running on finally gave out.

All online services have now been migrated into permanent offline features. We made sure nothing was lost.

  • The Level Editor now saves levels directly to your disk […]
  • All community-created levels […]
  • All-time high scores have been immortalized […]
  • New high scores are saved locally […]

The game Dual Snake on Steam is free and was released in 2018.

 

Explores how the Lean programming language handles 2 + 2 = 4, which other programming languages collapse into a bool, but Lean considers a Proposition, and requires Proof.

How does provably correct programming look? This article seems to give a good introduction and example.

 

Explores how the Lean programming language handles 2 + 2 = 4, which other programming languages collapse into a bool, but Lean considers a Proposition, and requires Proof.

How does provably correct programming look? This article seems to give a good introduction and example.

 

Pike is a dynamic programming language with a syntax similar to Java and C. It is simple to learn, does not require long compilation passes and has powerful built-in data types allowing simple and really fast data manipulation.

int getDex()
{
  int oldDex = Dex;
  Dex = 0;
  return oldDex;
}

private void
show_user(int|string id, void|string full_name)
{
  write("Id: " + id + "\n");
  if (full_name)
    write("Full name: " + full_name + "\n");
}
 

The Go 1.18 release introduced generics and with that a number of new features, including type parameters, type constraints, and new concepts such as type sets. It also introduced the notion of a core type. While the former provide concrete new functionality, a core type is an abstract construct that was introduced for expediency and to simplify dealing with generic operands (operands whose types are type parameters). In the Go compiler, code that in the past relied on the underlying type of an operand, now instead had to call a function computing the operand’s core type. In the language spec, in many places we just needed to replace “underlying type” with “core type”. What’s not to like?

Quite a few things, as it turns out! To understand how we got here, it’s useful to briefly revisit how type parameters and type constraints work.

For the Go 1.25 release (August 2025) we decided to remove the notion of core types from the language spec in favor of explicit (and equivalent!) prose where needed. This has multiple benefits: …

 

However, there are some important features that WinSock just doesn’t expose. […]

Rust’s current async ecosystem is built atop a particularly cursed concept. It’s an unstable, undocumented Windows feature. It’s the lynchpin of not only the Rust ecosystem, but the JavaScript one as well. It’s controversial. It’s efficient. […] Without it, it’s unlikely that the async ecosystem would exist in its current form. It’s called \Device\Afd, and I’m tired of no one talking about it.

 

However, there are some important features that WinSock just doesn’t expose. […]

Rust’s current async ecosystem is built atop a particularly cursed concept. It’s an unstable, undocumented Windows feature. It’s the lynchpin of not only the Rust ecosystem, but the JavaScript one as well. It’s controversial. It’s efficient. […] Without it, it’s unlikely that the async ecosystem would exist in its current form. It’s called \Device\Afd, and I’m tired of no one talking about it.

 

However, there are some important features that WinSock just doesn’t expose. […]

Rust’s current async ecosystem is built atop a particularly cursed concept. It’s an unstable, undocumented Windows feature. It’s the lynchpin of not only the Rust ecosystem, but the JavaScript one as well. It’s controversial. It’s efficient. […] Without it, it’s unlikely that the async ecosystem would exist in its current form. It’s called \Device\Afd, and I’m tired of no one talking about it.

view more: ‹ prev next ›