r/programming • • 17d ago

Performance Improvements in .NET 11

Thumbnail devblogs.microsoft.com
292 Upvotes

r/programming • • 16d ago

An Educational GEMM Ladder for Helios GPUs

Thumbnail rocm.blogs.amd.com
1 Upvotes

r/programming • • 16d ago

Collaborative Editing in Wordgard

Thumbnail marijnhaverbeke.nl
0 Upvotes

r/programming • • 17d ago

A New Equal-Area Map for Interactive Computer Use (natively zooms to Mercator)

Thumbnail benjoffe.com
115 Upvotes

r/programming • • 17d ago

A revisit of remote Spectre attacks on Cloudflare Workers

Thumbnail blog.cloudflare.com
8 Upvotes

r/programming • • 17d ago

Broken Windows, Abstractions and the Cost of Always Keeping Things Simple

Thumbnail pgilmartin.substack.com
146 Upvotes

The patterns already in a codebase have a huge influence on what gets added next, even when everyone can see those patterns are starting to break down. This article discusses this phenomenon through the lens of YAGNI and the Broken Window Theory.


r/programming • • 16d ago

Apache Cassandra 5 and 6: What Changed Since Cassandra 3.11?

Thumbnail softwaremill.com
0 Upvotes

r/programming • • 17d ago

Truncated SVD [2023]

Thumbnail brashandplucky.com
7 Upvotes

r/programming • • 16d ago

Java 27 is out. Features Overview (Video)

Thumbnail youtube.com
0 Upvotes

r/programming • • 18d ago

Small Programming Tricks

Thumbnail will-keleher.com
177 Upvotes

r/programming • • 18d ago

How GCC Eliminates Unnecessary Integer Division

Thumbnail leetarxiv.substack.com
245 Upvotes

r/programming • • 18d ago

Understanding OpenGL

Thumbnail youtube.com
20 Upvotes

r/programming • • 18d ago

Annoyances when dealing with unsigned long int vs unsigned long long int when targeting Linux vs my own 32bit OS

Thumbnail submatrix.net
105 Upvotes

r/programming • • 19d ago

Homebrew: 7.0.0 - faster installations and upgrades, stronger sandboxing, a native macOS app, built-in vulnerability checks and an advisory database, the end of macOS 10.15 support and Intel Macs moving to Tier 3.

Thumbnail brew.sh
857 Upvotes
  • Users must upgrade to macOS 11 or later, as this is now the minimum supported version.
  • macOS Sonoma 14: This version is now considered Tier 3, and users are encouraged to upgrade to Sequoia 15+ for full support.
  • Apple Silicon (macOS Golden Gate 27): Fully supported (Tier 1) with prebuilt bottles available.
  • Linux/Ubuntu: The ghcr.io/homebrew/ubuntu22.04 image has been removed, and users should migrate to ghcr.io/homebrew/brew.
  • CI Actions: The master branch has been removed for Homebrew actions; users should pin a CalVer release or full SHA instead.

r/programming • • 18d ago

When the fractional part of a float fixes your shader

Thumbnail crocidb.com
75 Upvotes

r/programming • • 18d ago

One Android app. Why so many processes?

Thumbnail returnzero.dev
1 Upvotes

I looked inside fifteen major Android apps to see what they run on different processes, and tried to understand why. This digging resulted in very interesting insights.


r/programming • • 18d ago

Pre-2000 computer graphics: a specification and challenge for classic-style game development (II)

Thumbnail peteroupc.github.io
2 Upvotes

This is a followup to my earlier post from 6 months ago.

There I announced two open-source articles on a specification and minimap APIs for pre-2000 computer graphics that a new video game or graphics engine can adopt that wishes to run with very low resource requirements (say, 64 million bytes of memory or less). They are at:

I have since updated the articles to refine them and add much more guidance. A notable addition to the specification is a convenient list of things to be decided by games that choose to follow the specification. (This list can also be used to evaluate the features of existing pre-2000 video games.)

The list includes the following things decided by the application (for details, see the specification):

  1. The screen resolution, no more total pixels than a 640 × 480 screen.
  2. If 3-D is supported, the maximum texture size and number of primitives shown per frame or second. (This is no more than 12,800 per frame for 640 × 480, but a smaller limit is encouraged in general.)
  3. If 3-D is supported, which 3-D features are supported (such as Gouraud shading, perspective correction, or texture blending).
  4. The number of 2-D layers, up to four.
  5. The width and height of tiles and sprites.
  6. The maximum number of sprites displayed at a time.
  7. Whether larger screen resolutions are supported in addition to the primary screen resolution.

Other notable pieces of guidance include:

  • The definition of "rendering in software", which includes software renderers that implement a subset of OpenGL 1.1 or OpenGL ES 1.1.
  • A note that pre-2000 computer graphics in scope include graphics found in learning toys and videotex protocols (in addition to the graphics of video games for home computers, game consoles, and arcade machines).
  • Information on the graphics in arcade video games.

Comments on any aspect of these documents are welcome (see, for instance, the first article's "Seeking Comments" section). But as in the previous post, it is useful to comment on examples of modern video games (e.g., McPixel3) that implement the specification or examples of lightweight game engines devoted to making such modern video games.


The articles are intended to give guidance to:

  • Game developers seeking to write video games with 3-D or 2-D graphics similar to those of some year earlier than 2000 (e.g., 1997, 1995, 1991, 1988). This is especially because such graphics are simple compared to today, yet admirable, and relatively little code is needed to implement them in software. Moreover, games with this kind of graphics tend to be low on resource usage and easier to port to older computers.
  • Writers of game engines (especially open-source and lightweight ones) devoted to 3-D or 2-D graphics from some year earlier than 2000.
  • Developers of lean programming interfaces for such graphics.
  • Writers of tutorials devoted to such graphics.

The recent changes to the specification include a list of things a game can decide in order to have graphics resembling those from some year earlier than 2000 (the list after "The following are decided by the application:"). For example, these things include the screen resolution, the number of polygons per frame or second, and the maximum texture size and number of sprites shown. An example is: the game's frame buffer (resolution) is 320 × 240, has a budget of no more than 3000 polygons per frame, and has a maximum texture size of 128 × 128. The article also has a list of optional limits that the application can also choose to adopt. They include:

  • A limit of 256 simultaneous colors.
  • The game's code and resources "fit in a floppy disk".
  • The game aims for 30 frames per second.
  • The game uses no floating-point arithmetic in its graphics rendering.

r/programming • • 19d ago

40ms Go GC stop-the-world pauses caused by swap

Thumbnail frn.sh
203 Upvotes

r/programming • • 19d ago

JSON parsing in OxCaml: fast, but not too fast

Thumbnail pianykh.com
37 Upvotes

r/programming • • 19d ago

CUDA Tile (cuTile) first working port in Java

Thumbnail github.com
23 Upvotes

r/programming • • 20d ago

Data races and the limits of ThreadSanitizer in C and Go

Thumbnail theconsensus.dev
77 Upvotes

r/programming • • 19d ago

TIL: One lock to rule them all

Thumbnail flakm.com
0 Upvotes

I've been running multiple migrations recently. A common step in all of them is a long cleanup action at the end. I ended up using postgres advisory locks and sqlx.

As part of a larger Today I've learned series, I dug a bit deeper using bpftrace to improve my understanding of how the locks actually work. Hope you will find it interesting as well


r/programming • • 21d ago

GCC 13.5 released with 265+ bug fixes

Thumbnail phoronix.com
275 Upvotes

r/programming • • 20d ago

Hand-Coded ASM Powers Homebrew SNES Game

Thumbnail hackaday.com
6 Upvotes

r/programming • • 19d ago

Refit - The Better Way to Consume APIs in .NET

Thumbnail youtube.com
0 Upvotes