Last week, I got an email from Microsoft. It told me I’d be paying 46% more for my Office subscription, starting next month.

But when I tried to cancel, it offered me the same price I was already paying — without the generative AI features I never asked for in the first place.

This isn’t just deceptive; it’s an abuse of market power. I’ve had it with Microsoft.

disconnect.blog/p/ive-had-it-w…

#tech #microsoft #office #generativeai #deception #ai

นั่งกรีดร้อง 30 ปี Gundam Wing มาเป็นชั่วโมงละ จะขอกรีดร้องต่อไป
.
.
.

แกรรรรรรรรรร Rhythm Emotion เวอร์ใหม่ภาพสวยมากกกกกกกก เมสเสจครบ ตัวละครครบ และมี Episode Zero กับ Frozen Teardrop มาให้ด้วยแน่ะ!!!!

ภาพแรก - ภาค Frozen Teardrop : มิโล พีซคราฟต์, โทรว่า โฟบอส, แคทเธอรีน วินเนอร์, ดูโอ แม็กซ์เวล (จูเนียร์)

ภาพ 2-4 - Episode Zero : ซิธ เมอร์ควิซ (คาทริน่า พีซคราฟต์), โอดิน เลอว์, นาตาคุ

จะไม่ให้ดิฉันกรีดร้องได้เยี่ยงไร กันดั้มสโนว์ไวท์โผล่แว้บ ๆ มาแล้วแน่ะ! เชื่อดิฉัน ทอลกีสเฮเว่นมันต้องมีมาชัวร์ ซ่อนใต้ผ้าคลุมไหนสักผืนแน่ ๆ ล่ะ!

SukinoVERSE reshared this.

in reply to SukinoVERSE

@sukino ส่วนเราก็ตั้งความหวังว่าปัญหาลิขสิทธิ์จะเคลียร์ได้เร็ว ๆ อยากอ่านภาคน้ำตาเล่มต่อไปแล้ว ค้างคามานาน ไม่จบเสียที เศร้า

0. อ่านสิ่งนี้
1. แล้วคิดว่าก็การไม่มี empathy ง่ายกว่าการมีเยอะเลย ก็แค่สนแค่ตัวเองก็พอ
2. นึกไปถึงคำถามว่ามนุษย์เกิดมาพร้อม empathy มั้ย → ถ้า empathy เป็นเรื่องที่ต้องเรียนรู้+ควบคุมตัวเองให้ทำ แปลว่า empathy ไม่ใช่ nature แต่เป็น nurture
3. ทำยังไงให้คนมี empathy มากพอที่จะยอมเสียประโยชน์ส่วนตัว เช่น จ่ายภาษี เพื่อประโยชน์ส่วนรวม
4. นึกถึง parasite ที่บอกว่าก็เพราะรวยเลยใจดีได้
5. การที่คนไม่สามารถมี empathy ให้คนอื่นได้ แคร์แต่เรื่องที่กระทบตัวเอง เป็นเรื่องผิด (morally wrong) ไหม
6. แต่ประชาธิปไตยเหมือนจะตั้งอยู่บน premise ว่าในสังคมมีคนที่มี empathy aka ยอมเสียประโยชน์เพื่อคนอื่นได้เสมอ

Linux Will Finally Be Able To Reboot Apple M1/M2 Macs With The v6.17 Kernel

While there have been various elements of the Apple M1 and M2 SoC support in the mainline Linux kernel along with support for various Macs, different features have been missing from the upstream kernel such as the Apple GPU kernel graphics driver as one big example. On a more fundamental level, the upcoming Linux 6.17 kernel is going to cross off another low-level expe…
phoronix.com/news/Linux-6.17-A…

Grab the Sniper Elite Classics Collection in this new Humble Bundle gamingonlinux.com/2025/07/grab…

#SniperElite #Gaming #PCGaming #LinuxGaming #SteamOS #SteamDeck

แมวจรที่รับมาเลี้ยงตั้งแต่เด็ก มันจะมี 2 ตัวที่มาด้วยกันพี่น้อง นิสัยแย่มากๆ ไม่รู้จะทำยังไงกับมันดี :nkoFacepalm:

โหมดดีก็น่ารัก โหมดนิสัยเสียก็คือแย่

ม่านที่บ้านพังหมดก็เพราะสองตัวนี้ ตัวอื่นไม่ทำเลย

ล่าสุดเราช่วยเอาแมวน้องมาเลี้ยงชั่วคราวเพราะย้ายงาน หนึ่งในสองตัวนี้ก็ไปกัดไปรังควาญเค้าไม่หยุดไม่หย่อน คือชอบพุ่งเข้าไปหาแล้วก็ตีกัน

อีกนิดจะหาวัดให้ละนะเด็กเปรตตตตต :angry_mob:

Intel Quietly Sunset Its PlaidML Open-Source Deep Learning Software

Another hit to the open-source Intel software ecosystem this year was the company formally archiving/discontinuing work on the PlaidML deep learning software. PlaidML was the deep learning framework that Intel acquired back in 2018 as part of their acquisition of Vertex.AI. PlaidML had a goal of "deep learning for every platform" but unfortunately those ambitions didn't mate…
phoronix.com/news/Intel-PlaidM…

Linux 6.16 Is Exciting For Open-Source NVIDIA, OpenVPN DCO & More Performance

The Linux 6.16 kernel is expected to be released as stable this coming Sunday, 27 July, barring any last minute issues that cause Linus Torvalds to have reservations over issuing v6.16 stable and to instead do a v6.16-rc8 test release. With Linux 6.16 imminent, here's a reminder about some of the most interesting features in this next Linux kernel version...
phoronix.com/news/Linux-6.16-F…

Euphonica is a new(ish) Rust-based MPD frontend for Linux with 'bling' as a key feature. It's currently in beta, but fans of flashy music players will want to keep an eye on this.

omgubuntu.co.uk/2025/07/euphon…

#mpd #rust #opensource

Garry's Mod now has lots of Counter-Strike: Source and Half-Life 2 content included gamingonlinux.com/2025/07/garr…

#GarrysMod #Gaming #PCGaming #Steam #Valve #Facepunch

Team Fortress 2 adds 10 new maps for a summer event and more bug fixes gamingonlinux.com/2025/07/team…

#TeamFortress2 #TF2 #Gaming #Steam #Valve #FreeGame

THE FINALS devs confirm (again) continued compatibility for Linux / Steam Deck with Proton gamingonlinux.com/2025/07/the-…

#THEFINALS #FPS #AntiCheat #SteamOS #Linux #SteamDeck

Heroic Games Launcher 2.18 adds GE-Proton prioritisation, improved UI navigation and new analytics gamingonlinux.com/2025/07/hero…

#HeroicGames #Linux #SteamOS #SteamDeck #LinuxGaming

วันนี้เป็นวันแรกที่ย้ายไฟล์จำนวนมากผ่าน Nextcloud จากโทรศัพท์ (ไม่ใช่อัลบั้มภาพด้วยนะ เพราะมันออกจะใหญ่เกิ๊น) ไปยังคอมพิวเตอร์ของตัวเอง ไม่รู้ทำแบบนี้ทำไม ซึ่งถ้าเอาสายมาเสียบน่าจะไวกว่า

แต่ว่าอยากรู้ว่าขีดจำกัดมันอยู่ตรงไหน ทำเยอะแล้วจะพังไหม ปรากฎว่าโฟลเดอร์ที่ไม่ได้ใหญ่มาก (200-300 MB) นางก็ทำหลุดหลายรอบเลย บอกว่าเน็ตตัดบ้าง บอกว่า error บ้าง

Final Benchmarks Of Clear Linux On Intel: ~48% Faster Than Ubuntu Out-Of-The-Box

Last week Friday the unfortunate news came down that Intel was discontinuing their Clear Linux project effective immediately. For the past ten years Intel software engineers have been crafting Clear Linux as a high performance distribution that is extensively optimized for x86_64 processors via aggressive compiler tuning, various patches to the Linux kernel an…
phoronix.com/review/clear-linu…

GOG Preservation Program adds Heroes of Might and Magic titles and more gamingonlinux.com/2025/07/gog-…

#GOG #RetroGaming #RetroGames #Gaming #PCGaming

Game store itch.io has "deindexed" adult content due to payment processor scrutiny gamingonlinux.com/2025/07/game…

#itchio #Gaming #PCGaming

in reply to Liam @ GamingOnLinux 🐧🎮

Steam did it as well. Here is very good explained how the whole case works and who's exactly responsible for the entire junky situation.
youtu.be/DEflTJjtn5w

NVIDIA reveal more GPU driver security issues for July 2025 gamingonlinux.com/2025/07/nvid…

#NVIDIA #Linux #Gaming #PCGaming #Security

Ähm .. warum nicht?

Deutschland will Palästina vorerst nicht anerkennen

tagesschau.de/inland/innenpoli…
#Israel #Palästina

Threadripper 9000 Series Available On 31 July, 9980X For $4999 USD

Last month AMD detailed the Ryzen Threadripper 9000 series as the new Zen 5 Threadrippers. After the Threadripper PRO 9000WX Series debuted this week, AMD announced today that the Threadripper 9000 series will begin hitting retailers next week...
phoronix.com/news/AMD-Threadri…

ZDFheute live - Ukrainische Beamte von Putin gekauft?
Mit Nico Lange

Mit einem neuen Gesetz entzieht die Ukraine zwei Anti-Korruptionsbehörden die Unabhängigkeit. Die Kritik im In- und Ausland ist groß, auch an Präsident Selenskyj.
Faktisch sollen das Nationale Antikorruptionsbüro (NABU) und die Spezialisierte Antikorruptionsstaatsanwaltschaft (SAP) dem Generalstaatsanwalt unterstellt werden. Der wiederum wird von Selenskyj ernannt.

zdf.de/video/magazine/zdfheute…
#Ukraine #ZDF

Create Unit Test on Nuxt with vitest


Sample Code for Test - useCommonUtil.ts
export default () => { const isItemInListByType = <T>( list: T[] | undefined, key: keyof T, value: T ): boolean => { if (!list || list.length === 0) { console.error("List is empty or undefined."); return false; } const itemIndex = list.findIndex((item) => item[key] === value[key]); if (itemIndex === -1) { console.error(`Item with ${String(key)}=${value} not found in the list.`); return false; } return true; }; return { isItemInListByType, };};
Here is a step to add unit test in Nuxt Project


Setup For Test


  • Add Required Lib


bun add -d vitest @vitest/ui @vue/test-utils jsdom

  • Update your package.json to include a test script for running Vitest with Bun (Line 7)


"scripts": { "build": "nuxt build", "dev": "nuxt dev", "generate": "nuxt generate", "preview": "nuxt preview", "postinstall": "nuxt prepare", "test": "vitest"}

  • Configure Vitest - Create a vitest.config.ts file in the root of your project


import { defineConfig } from 'vitest/config';export default defineConfig({ test: { globals: true, environment: 'jsdom', setupFiles: './vitest.setup.ts', // Optional: Add setup file for global configurations },});

If you need to configure global settings (e.g., mocking or extending Jest matchers), create a vitest.setup.ts file


import '@testing-library/jest-dom';

Create a Test File


create a test on the same level as useCommonUtil.ts > useCommonUtil.test.ts
import useCommonUtil from './useCommonUtil';import { describe, it, expect } from 'vitest'describe('useCommonUtil', () => { const { isItemInListByType } = useCommonUtil(); const sampleList = [ { id: 1, name: 'Item 1' }, { id: 2, name: 'Item 2' }, { id: 3, name: 'Item 3' }, ]; it("should return true if the item exists in the list by key", () => { const result = isItemInListByType(sampleList, "id", { id: 2, name: "Item 2" }); expect(result).toBe(true); }); it("should return false if the item does not exist in the list by key", () => { const result = isItemInListByType(sampleList, "id", { id: 4, name: "Item 4" }); expect(result).toBe(false); }); it("should return false if the list is empty", () => { const result = isItemInListByType([], "id", { id: 1, name: "Item 1" }); expect(result).toBe(false); }); it("should return false if the list is undefined", () => { const result = isItemInListByType(undefined, "id", { id: 1, name: "Item 1" }); expect(result).toBe(false); }); it("should return false if the key does not match any item in the list", () => { const result = isItemInListByType(sampleList, "name", { id: 1, name: "Nonexistent Item" }); expect(result).toBe(false); }); it("should handle objects with additional properties gracefully", () => { const extendedList = [ { id: 1, name: "Item 1", extra: "Extra 1" }, { id: 2, name: "Item 2", extra: "Extra 2" }, ]; const result = isItemInListByType(extendedList, "id", { id: 1, name: "Item 1", extra: "Extra 1" }); expect(result).toBe(true); });});

Run Tests

bun test
Sample Run Result
bun test v1.2.2 (c1708ea6)composables\useCommonUtil.test.ts:✓ useCommonUtil > should return true if the item exists in the list by keyItem with id=[object Object] not found in the list.✓ useCommonUtil > should return false if the item does not exist in the list by keyList is empty or undefined.✓ useCommonUtil > should return false if the list is emptyList is empty or undefined.✓ useCommonUtil > should return false if the list is undefinedItem with name=[object Object] not found in the list.✓ useCommonUtil > should return false if the key does not match any item in the list✓ useCommonUtil > should handle objects with additional properties gracefully 6 pass 0 fail 6 expect() callsRan 6 tests across 1 files.

Reference


#nuxt #Nuxt3 #unitTest