Posts

Showing posts from February, 2025

Asus PRIME B650-PLUS motherboard: a disappointing experience

Image
I am retiring from academia, so I had to burn some remaining cash and settled on building a new computer. After the latest troubles with Intel processors, I decided to look around for an AMD processor and motherboard. I wanted to have a generous amount of RAM as I have been playing a lot with different IA projects. So, I chose a 4nm Ryzen 7 9700X processor (8 cores, 40 MB cache), and I trusted the good reviews of the inexpensive Asus PRIME B650-PLUS , which I checked supported 128 HB of DDR5 RAM.  The build was easy, and I was quickly running Windows 11 and Ubuntu 24.04, but something fishy was going on: My DDR5 DRAM was only running at 3600 MHz, which the manufacturer marketed as 5200 MHz. I contacted the seller's support, and I was told that while the board could do 128 GB and 5200MHz memory, it could not do both at the same time, and the BIOS was choosing a more conservative frequency for the memory if I was using the four DRAM SIMMs (which I was). I could have taken the loss ...

DatagramPacket setLength() tricky business

Image
Java Network Programming uses the DatagramPacket class as the data representation for UDP datagrams. Whether you want to send or receive it, it will be a DatagramPacket . In a recent exam, we asked our students to create a simple UDP echo server.   The logic of such a server is that it waits endlessly until it receives a UDP datagram and then sends it back to the same address (IP and port number) from which it came. Nothing complicated, but the devil is in the details, and some students wrote a program that would create a new DatagramPacket for each datagram received. It is not wrong, as it works, but it is a bit wasteful, as it places more stress on memory allocation and garbage collection than needed.  However, I was surprised when chatGPT commented on the code I got from DeepSeek-R1 as a sample solution, where a call to setLength() was made after each iteration. It did not make sense to me, but chatGPT went on for quite a while, reasoning why it was needed. Eventually...