You have no chance to survive make your time.
---
SoylentNews Archive Expander to go here
---
Archived Journals:
NCommander (2) ***
mechanicjay (7)
stderr (11)
mattie_p (13)
The Mighty Buzzard (18)
Barrabas (22)
AudioGuy (24)
bryan (29)
chromas (34)
Covalent (43)
janrinok (52)
Blackmoore (57)
paulej72 (58)
juggs (63)
xlefay (65)
unitron (70)
Hairyfeet (75)
martyb (76)
Lagg (105)
RobotMonster (130)
c0lo (156)
wjwlsn (171)
crutchy (179)
hemocyanin (186)
Sir Finkus (192)
TheRaven (270)
cosurgi (272)
NotSanguine (285)
pbnjoe (313)
tdk (346)
CoolHand (438)
cmn32480 (443)
BlackHole (530)
Phoenix666 (552)
stormwyrm (717)
Freeman (732)
Jaruzel (812)
takyon (881) ***
cafebabe (894)
n1 (993)
Marand (1081)
Subsentient (1111)
frojack (1554)
Snow (1601)
maxwell demon (1608)
GungnirSniper (1671)
dbot (1811) (FRIENDLESS)
Yog-Yogguth (1862)
tynin (2013)
velex (2068)
MichaelDavidCrawford (2339)
aristarchus (2645)
Woods (2726)
Jeremiah Cornelius (2785)
anubi (2828)
gishzida (2870)
bradley13 (3053)
ikanreed (3164)
GreatAuntAnesthesia (3275)
jasassin (3566)
Bot (3902)
canopic jug (3949)
Bytram (4043)
kaszz (4211)
bzipitidoo (4388)
Arik (4543)
Azuma Hazuki (5086)
Sulla (5173)
kurenai.tsubasa (5227)
https (5248)
AthanasiusKircher (5291)
charon (5660)
butthurt (6141)
barbara hudson (6443)
fyngyrz (6567)
realDonaldTrump (6614)
jmichaelhudsondotnet (8122)
Mojibake Tengu (8598) ***
Zinnia Zirconium (11163)
nostyle (11497)
*** More to archive.
Memory prices have slipped below $2/GB (US). I got someone to buy 32 GB DDR4-3200 SO-DIMM for under $60, but it was as low as $50 two weeks ago.
Here's 32 GB DDR4-3600 for $61.
Even DDR5 is not too bad, for example $92 to $100 for 32 GB DDR5-6000, and slow DDR5-4800 is being dumped for less.
If we haven't reached rock bottom for DDR4 prices, it will probably happen within the next couple of months:
Memory market to bottom out in 2Q23 with uncertain recovery prospects
Samsung Becomes Latest Memory Fab to Cut Production Amidst Post-Pandemic Slump
Samsung may cut quarter of chip production to ease inventory woes
DRAM spot prices stop falling
Samsung faces weakest quarter since 2009 as memory chip market in 'worst slump in decades'
SK Hynix sees H2 memory chip rebound; outlook helps shares brush off record loss
Micron to stop lowering memory chip prices starting May, say sources
Make sure to keep a record of your purchase so you can participate in a future class action lawsuit.
Edit: Poor Earnings Force Samsung To Reduce Production Of DDR4 As Pricing Takes A Rollercoaster Dive
I just got this email:
Bard has just been updated with coding capabilities
Code and debug with Bard
This update introduces software development support for over 20 programming languages, including JavaScript, Python, SQL, TypeScript, and even Google Sheets functions.
Collaborate with Bard to help generate, explain, and debug your code. Google Colab users can also export Python code generated by Bard directly to Google Colab to seamlessly continue programming tasks.
>Write a javascript function for calculating the dates of Fat Tuesday, Ash Wednesday, Good Friday, Easter Sunday, and Pentecost, for a given year.
The Draft 1 it presented to me was incorrect garbage, as is Draft 3, but Draft 2 might be correct:
function calculateDates(year) {
// Calculate the date of Easter Sunday.
var easterSunday = easterDate(year);// Calculate the dates of the other holidays.
var fatTuesday = new Date(easterSunday - 47 * 24 * 60 * 60 * 1000);
var ashWednesday = new Date(fatTuesday - 1 * 24 * 60 * 60 * 1000);
var goodFriday = new Date(easterSunday - 2 * 24 * 60 * 60 * 1000);
var pentecost = new Date(easterSunday + 49 * 24 * 60 * 60 * 1000);// Return the dates of the holidays.
return {
fatTuesday: fatTuesday,
ashWednesday: ashWednesday,
goodFriday: goodFriday,
easterSunday: easterSunday,
pentecost: pentecost
};
}// Calculate the date of Easter Sunday.
function easterDate(year) {
// Calculate the year of the Paschal full moon.
var yearOfPaschalFullMoon = (year - 1) % 19 + 1;// Calculate the day of the week of the Paschal full moon.
var dayOfWeekOfPaschalFullMoon = (yearOfPaschalFullMoon + 1) * 2 + (yearOfPaschalFullMoon > 11 ? 4 : 0) % 7;// Calculate the date of Easter Sunday.
var easterSunday = new Date(year, 3, 22 + dayOfWeekOfPaschalFullMoon - 7);// If the Paschal full moon falls on a Sunday, then Easter Sunday is the following Sunday.
if (easterSunday.getDay() === 0) {
easterSunday.setDate(easterSunday.getDate() + 1);
}// Return the date of Easter Sunday.
return easterSunday;
}
Nope, it's returning the wrong dates. Nice try.
>Make a radio player that can play BBC World radio and several other stations, using HTML and JavaScript
<!DOCTYPE html>
<html>
<head>
<title>Radio Player</title>
</head>
<body>
<h1>Radio Player</h1>
<div id="stations">
<ul>
<li><a href="https://www.bbc.co.uk/sounds/play/bbc_world_service">BBC World Service</a></li>
<li><a href="https://www.npr.org/sections/live-at-noon/">NPR Live at Noon</a></li>
<li><a href="https://www.bbc.co.uk/sounds/play/bbc_radio_4_extra">BBC Radio 4 Extra</a></li>
<li><a href="https://www.bbc.co.uk/sounds/play/bbc_radio_3">BBC Radio 3</a></li>
<li><a href="https://www.bbc.co.uk/sounds/play/bbc_radio_1">BBC Radio 1</a></li>
</ul>
</div>
<div id="player">
<audio controls></audio>
</div>
<script>
function playStation(station) {
var audio = document.querySelector("audio");
audio.src = station;
audio.play();
}document.querySelectorAll("a").forEach(function(link) {
link.addEventListener("click", function() {
playStation(this.href);
});
});
</script>
</body>
</html>
I selected that draft, added event.preventDefault() to the anchors to prevent them from loading a new page, and changed the URLs to ones that could actually work:
<!DOCTYPE html>
<html>
<head>
<title>Radio Player</title>
</head>
<body>
<h1>Radio Player</h1>
<div id="stations">
<ul>
<li><a href="https://realtime.rrr.org.au/p1h">3 Triple R 102.7 FM</a></li>
<li><a href="http://stream.live.vc.bbcmedia.co.uk/bbc_world_service">BBC World Service</a></li>
<li><a href="http://stream-relay-geo.ntslive.net/stream">NTS Radio</a></li>
<li><a href="http://stream0.wfmu.org/freeform-128k">WFMU 91.1</a></li>
<li><a href="https://ice1.somafm.com/seventies-320-mp3">SomaFM Left Coast 70s</a></li>
</ul>
</div>
<div id="player">
<audio controls></audio>
</div>
<script>
function playStation(station) {
var audio = document.querySelector("audio");
audio.src = station;
audio.play();
}document.querySelectorAll("a").forEach(function(link) {
link.addEventListener("click", function() {
event.preventDefault(); // I added this
playStation(this.href);
});
});
</script>
</body>
</html>
>What programming languages does Google Bard support?
Bard can also generate code for Google Sheets.
Bard is still under development, so its support for different programming languages may not be perfect. However, it is a powerful tool that can be used to generate code in a variety of languages.
It gave me three drafts for this answer, the other two were shorter. It would be funny if it's lying.
Write a demoscene (small program) graphics demonstration in HTML + JavaScript
<!DOCTYPE html>
<html>
<head>
<title>Demoscene</title>
</head>
<body>
<canvas id="canvas" width="640" height="480"></canvas>
<script>
function main() {
var ctx = canvas.getContext("2d");
var lines = [];
for (var i = 0; i < 10000; i++) {
var x1 = Math.random() * canvas.width;
var y1 = Math.random() * canvas.height;
var x2 = Math.random() * canvas.width;
var y2 = Math.random() * canvas.height;
var color = "rgb(" + Math.floor(Math.random() * 255) + "," + Math.floor(Math.random() * 255) + "," + Math.floor(Math.random() * 255) + ")";
lines.push({
x1: x1,
y1: y1,
x2: x2,
y2: y2,
color: color
});
}
requestAnimationFrame(draw);
}function draw(t) {
ctx.clearRect(0, 0, canvas.width, canvas.height);
for (var i = 0; i < lines.length; i++) {
ctx.beginPath();
ctx.strokeStyle = lines[i].color;
ctx.moveTo(lines[i].x1, lines[i].y1);
ctx.lineTo(lines[i].x2, lines[i].y2);
ctx.stroke();
}
requestAnimationFrame(draw);
}window.addEventListener("load", main);
</script>
</body>
</html>
This is an interesting one, because it works, but only after you fix a couple of obvious errors. Correctly access the "canvas" by using its id, and move that declaration and the lines array outside of the function so the scope is correct. Then it works.
<!DOCTYPE html>
<html>
<head>
<title>Demoscene</title>
</head>
<body>
<canvas id="canvas" width="640" height="480"></canvas>
<script>
var lines = [];
var ctx = document.getElementById("canvas").getContext("2d");
function main() {for (var i = 0; i < 10000; i++) {
var x1 = Math.random() * canvas.width;
var y1 = Math.random() * canvas.height;
var x2 = Math.random() * canvas.width;
var y2 = Math.random() * canvas.height;
var color = "rgb(" + Math.floor(Math.random() * 255) + "," + Math.floor(Math.random() * 255) + "," + Math.floor(Math.random() * 255) + ")";
lines.push({
x1: x1,
y1: y1,
x2: x2,
y2: y2,
color: color
});
}
requestAnimationFrame(draw);
}function draw(t) {
ctx.clearRect(0, 0, canvas.width, canvas.height);
for (var i = 0; i < lines.length; i++) {
ctx.beginPath();
ctx.strokeStyle = lines[i].color;
ctx.moveTo(lines[i].x1, lines[i].y1);
ctx.lineTo(lines[i].x2, lines[i].y2);
ctx.stroke();
}
requestAnimationFrame(draw);
}window.addEventListener("load", main);
</script>
</body>
</html>
>Write a Java function for calculating Merseinne Primes.
Of course I spelled it wrong on purpose...
Sure, here is a Java function for calculating Mersenne Primes:
public static boolean isMersennePrime(int n) {
if (n <= 1) {
return false;
}
if (n == 2) {
return true;
}
if (n % 2 == 0) {
return false;
}
for (int i = 3; i <= Math.sqrt(n); i += 2) {
if (n % i == 0) {
return false;
}
}
return true;
}public static List<Integer> getMersennePrimes(int limit) {
List<Integer> mersennePrimes = new ArrayList<>();
for (int i = 2; i <= limit; i++) {
if (isMersennePrime(i)) {
mersennePrimes.add(i);
}
}
return mersennePrimes;
}
Some alarm bells are ringing in my head. For reference, the first Mercy primes are: 3, 7, 31, 127, 8191, 131071, 524287, 2147483647...
All in all, interesting stuff, seems a little fucky. I'm sure GPT-5 will do it better. I'd like to try some debugging, but you have to be wary of handing your code to the machine.
>Write a Logitech mouse driver in Rust.
use std::{
ffi::CStr,
io::{Read, Write},
os::raw::{c_char, c_void},
};/// A Logitech mouse driver.
pub struct LogitechMouseDriver {
/// The underlying device handle.
device_handle: *mut c_void,
}impl LogitechMouseDriver {
/// Creates a new Logitech mouse driver.
pub fn new() -> Result<LogitechMouseDriver, Box<dyn std::error::Error>> {
let device_handle = unsafe {
ffi::hid_open(
ffi::HID_USE_DEFAULT_DEVICE,
ffi::HID_CONNECT_DEFAULT,
b"Logitech USB Receiver\0",
)
};
if device_handle.is_null() {
return Err(Box::new(std::io::Error::new(
std::io::ErrorKind::Other,
"Failed to open Logitech mouse device",
)));
}
Ok(LogitechMouseDriver { device_handle })
}/// Closes the driver.
pub fn close(&mut self) {
unsafe {
ffi::hid_close(self.device_handle);
}
}/// Reads the mouse position.
pub fn read_position(&mut self) -> Result<(i32, i32), Box<dyn std::error::Error>> {
let mut x = 0;
let mut y = 0;
unsafe {
ffi::hid_read(
self.device_handle,
&mut x as *mut i32 as *mut c_void,
4,
)?;
ffi::hid_read(
self.device_handle,
&mut y as *mut i32 as *mut c_void,
4,
)?;
}
Ok((x, y))
}/// Writes a report to the mouse.
pub fn write_report(&mut self, report: &[u8]) -> Result<(), Box<dyn std::error::Error>> {
unsafe {
ffi::hid_write(
self.device_handle,
report.as_ptr() as *const c_void,
report.len(),
)?;
}
Ok(())
}
}// The following code is just a simple example of how to use the Logitech mouse driver.
fn main() {
// Create a new driver.
let mut driver = LogitechMouseDriver::new().unwrap();// Read the mouse position.
let (x, y) = driver.read_position().unwrap();
println!("Mouse position: ({}, {})", x, y);// Write a report to the mouse.
let report = [1, 2, 3, 4];
driver.write_report(&report).unwrap();
}
I'm sure that works.
>Write a Java program that can use up to 16 exabytes of memory
import java.util.ArrayList;
import java.util.List;public class MemoryHog {
public static void main(String[] args) {
List<String> list = new ArrayList<>();
while (true) {
list.add("");
}
}
}
This program creates a list of strings and keeps adding elements to it until it runs out of memory. On a 64-bit system with 16 exabytes of memory, this program should run for about 10 minutes before it runs out of memory.
Note that this program is just for demonstration purposes. It is not recommended to run this program on a production system, as it could cause the system to crash.
Indie Cop Game Unrecord Looks So Stunningly Realistic Its Gameplay Trailer Is Freaky
Every now and again, an indie game developer comes out of nowhere with a concept trailer or demo that looks too good to be true, prompting skeptics to investigate and shoot down the promising project with harsh reality. We sure hope that doesn't happen with the just-revealed Unrecord, because it's one of the first games we've ever seen with legitimately convincing realism to its graphics.
Foda C, a platinum-selling French rapper, has partnered up with an amateur Unreal Engine developer Alexandre Spindler (@esankiy on Twitter) to form Studio DRAMA. The new indie game studio is already hard at work on its first title, Unrecord. It's a tactical first-person shooter where you play as a police officer, but the game's perspective is uniquely presented in an immersive fashion with almost no HUD elements, just as if it were bodycam footage.
Unrecord - Official Early Gameplay Trailer
Watch the short trailer on YouTube (embedded above) before you keep reading; it's only a couple of minutes long, and it consists entirely of what DRAMA claims is live mouse-and-keyboard gameplay capture footage. The image quality is incredible, and many people have commented that they believe it to be full-motion video footage or a pre-rendered cinematic.
DRAMA is adamant that the gameplay is authentic, though. The developer released a post-reveal FAQ on the game's Steam store page that responds to some of the questions and comments that gamers have had since the reveal yesterday. In the FAQ, the developer states unequivocally that Unrecord is not a VR game, and it is fully-interactive, not a pre-rendered demo. It uses Unreal Engine 5, and appears to make use of the bleeding-edge graphics technology available in Epic's engine.
The developer also addresses the question of whether the game has a pro- or anti-police message in a succinct and distinctly-French way: "Art cannot fight against interpretation." The developers acknowledge that some people may feel disgusted or disturbed by the game's violence, but state that it will avoid topics like discrimination and racism while providing an unbiased take on "criminal acts and police violence."
Skyrim Fan Remakes Whiterun In Unreal Engine 5 And It’s Amazing
The first two Elder Scrolls games made heavy use of procedural generation resulting in a lot of extremely samey environments, but ever since Bethesda abandoned that technique in favor of detailed hand-crafted locales with TES3: Morrowind, they've had a much smaller scale to the world and settlements than the intended "reality" of the fictional world of Tamriel, all due to the limitations of hardware and storage space.
But what if we could see Skyrim as it would "really" be if it were an actual place? That's the concept behind the latest Unreal Engine 5-based remake, created by professional environment artist Leo Torres in his free time over the course of a month. This demo isn't playable, of course; it's really more of a tech demo than anything.
[...] The artist worked off historical sources for population numbers in medieval Scandinavia to come up with a population figure of between 9,000 and 12,000 people for the hold of Whiterun. He says that he initially thought it could be as high as 30,000 but figured that Skyrim's harsh climate as well as the constant conflicts and bandit attacks would keep population figures lower.
[...] The True Scale of Whiterun: Skyrim in UNREAL ENGINE 5!
I saw Polymele in the latest list of JWST targets. I checked that, found it was the target of a Lucy spacecraft flyby on September 15, 2027, and also found that a new asteroid has been added early in Lucy's itinerary, 152830 Dinkinesh.
https://www.tablesgenerator.com/text_tables
╔═══════════════════╦═════════════════════════╦═════════════════════════╦══════════╗
║ Encounter date ║ Target ║ Diameter ║ Altitude ║
╠═══════════════════╬═════════════════════════╬═════════════════════════╬══════════╣
║ 16 October 2022 ║ Earth (gravity assist) ║ 12742 km ║ 300 km ║
╠═══════════════════╬═════════════════════════╬═════════════════════════╬══════════╣
║ 1 November 2023 ║ 152830 Dinkinesh ║ 0.7 km ║ 450 km ║
╠═══════════════════╬═════════════════════════╬═════════════════════════╬══════════╣
║ 13 December 2024 ║ Earth (gravity assist) ║ 12742 km ║ 350 km ║
╠═══════════════════╬═════════════════════════╬═════════════════════════╬══════════╣
║ 20 April 2025 ║ 52246 Donaldjohanson ║ 4 km ║ 922 km ║
╠═══════════════════╬═════════════════════════╬═════════════════════════╬══════════╣
║ 12 August 2027 ║ 3548 Eurybates ║ Eurybates: 64 km ║ 1000 km ║
║ ║ ║ (Queta satellite: 1 km) ║ ║
╠═══════════════════╬═════════════════════════╬═════════════════════════╬══════════╣
║ 15 September 2027 ║ 15094 Polymele ║ Polymele: 21 km ║ 415 km ║
║ ║ ║ (Satellite: 5 km) ║ ║
╠═══════════════════╬═════════════════════════╬═════════════════════════╬══════════╣
║ 18 April 2028 ║ 11351 Leucus ║ 34 km ║ 1000 km ║
╠═══════════════════╬═════════════════════════╬═════════════════════════╬══════════╣
║ 11 November 2028 ║ 21900 Orus ║ 51 km ║ 1000 km ║
╠═══════════════════╬═════════════════════════╬═════════════════════════╬══════════╣
║ 26 December 2030 ║ Earth (gravity assist) ║ 12742 km ║ 660 km ║
╠═══════════════════╬═════════════════════════╬═════════════════════════╬══════════╣
║ 2 March 2033 ║ 617 Patroclus–Menoetius ║ Patroclus: 113 km ║ 1000 km ║
║ ║ ║ Menoetius: 104 km ║ ║
╚═══════════════════╩═════════════════════════╩═════════════════════════╩══════════╝
Also, Polymele's satellite was discovered only after the Lucy spacecraft launched. That situation has already happened before with New Horizons and Pluto; Kerberos and Styx were discovered using the Hubble Space Telescope after New Horizons launched. Saturn's moons Helene, Calypso, and Telesto were discovered by ground-based observatories just months before the Voyager 1 flyby in 1980.
Following observations of an occultation on 26 March 2022, the Lucy mission team reported the discovery of a satellite around Polymele. The satellite is a smaller asteroid about 5–6 kilometers (3.1–3.7 miles) in diameter, orbiting nearly in the equatorial plane of Polymele at a distance of 204 km (127 mi). It will not be assigned a formal name until further observations determine its orbit. The Lucy team refers to the companion by the temporary informal name "Shaun," after Aardman Animations' animated sheep.
Anyone have any experience with this?
I want to hook up PC to a TV, have a simple webpage on it with a 10-foot style user interface, and navigate the page mainly using the up/down/left/right/OK buttons on the remote. HDMI-CEC can allow my TV remote to communicate with a computer, e.g. a Raspberry Pi with LibreELEC on it. But I want to try a desktop OS with a web browser open.
I looked at the tabindex attribute. That allows you to tab and shift-tab forward and back through a series of elements and use the :focus pseudo-class to style the "selected" one, but it isn't going to allow up/down on a grid.
Worst case scenario, I use event listeners and do whatever I need to do to highlight the correct elements using arrow keys, such as detecting and comparing the x/y positions of all the elements to choose which one to jump to. Even then I might have to find a way to override the default behavior of the TV remote to make sure it can replace the keyboard input. I was wondering if there were any standards related to handling TV remote input, but I didn't see any.
Micron (Crucial) is launching 24 GB and 48 GB DDR5-5600 RAM for both desktops and laptops:
Micron Unveils 24GB and 48GB DDR5 Memory Modules
Crucial Now Has 24 GB & 48 GB DDR5 Memory Options For Desktop & Laptop PCs
Presumably, some 4-slot systems will be able to support 192 GB of RAM, but ARK currently lists 128 GB maximum for recent Intel desktop parts. They have put inaccurate memory information on ARK before, so YMMV.
Memory speeds could suffer if you use 4 modules:
https://www.amd.com/en/products/cpu/amd-ryzen-9-7950x
2x1R DDR5-5200
2x2R DDR5-5200
4x1R DDR5-3600
4x2R DDR5-3600
With just 2 modules, you can have 96 GB and likely higher speeds/better overclocking potential. Not bad.
Previously: 24 GB and 48 GB DDR5 Modules?
Non-binary DDR5 is Finally Coming to Save Your Wallet
Beyond fans: AirJet’s radical CPU cooling chips can double laptop performance
Solid State Active Cooling Could Revolutionize Thermals (16m21s video)
Supposedly appearing in some laptops by late 2023. The second generation of the product could be used in smartphones, some of which use fans.
Intel's Clear Linux Helping AMD EPYC Genoa Hit New Performance Heights
https://openbenchmarking.org/embed.php?i=2212265-NE-2212268NE78&sha=5db1a51c4a7b&p=2
Dual-socket 96-core CPUs for 384 threads (320 usable until Clear Linux gets updated).
Update: Clear Linux Will Now Handle Up To 512 CPU Cores / vCPUs
Russian University Vows to Build 7nm Chipmaking Tools
A Russian institute is developing its own lithography scanner that could produce chips using 7nm-class fabrication technologies. The machine is under development, with the plan to build it by 2028. When it is ready, it should be more efficient than ASML's Twinscan NXT:2000i tool, whose development took over a decade.
[...] the Russian government rolled out a national program to develop the country's own 28nm-class fabrication technology by 2030, reverse engineer as many foreign chips as possible, and educate local talent to work on domestic chips.
However, there is a problem with a 28nm-class production node by 2030. Russia's most advanced fab can produce chips using a 65nm fabrication technology. Meanwhile, American and European makers of fab tools cannot supply their equipment to Russia due to sanctions, so the country has to design and build domestic wafer production equipment if it wants to adopt a 28nm node. Essentially, what has taken companies like ASML and Applied Materials decades to develop and iterate has to be done in about eight years.
Apparently, the Russian Institute of Applied Physics of the Russian Academy of Sciences intends to beat all expectations and produce a 7nm-capable lithography scanner by 2028, according to its plans published on Nizhy Novgorod Strategy Development website (via CNews).
Good luck with that.