whs's recent activity
-
Comment on What are people using instead of VS Code? in ~comp
-
Comment on Leon S. Kennedy is a car salesman now in ~games
whs LinkMy favorite YouTuber remarked that almost every single vehicle (before RE9) that Leon has ridden on didn't end well. And then they just want him to be a car salesman...My favorite YouTuber remarked that almost every single vehicle (before RE9) that Leon has ridden on didn't end well. And then they just want him to be a car salesman...
-
Comment on Is it worthwhile to run local LLMs for coding today? in ~comp
whs Link ParentI'd like to say I don't know much about running models locally. I'm just recently got past the Ollama stage. A tips I'd recommend is that you can add your hardware to HuggingFace which on GGUF...I'd like to say I don't know much about running models locally. I'm just recently got past the Ollama stage.
A tips I'd recommend is that you can add your hardware to HuggingFace which on GGUF model pages it will show whether you can load that specific model. Although loading is just the first step and running it with cache & context window & other workloads (eg. desktop GUI) you'd need to add your own safety margin.
-
Comment on Is it worthwhile to run local LLMs for coding today? in ~comp
whs LinkI went on this route, and even buying a RTX 5090, and I'd say I'm nowhere near usable if you don't have the budget for two of them and probably 128GB memory, all that in in one machine. That being...I went on this route, and even buying a RTX 5090, and I'd say I'm nowhere near usable if you don't have the budget for two of them and probably 128GB memory, all that in in one machine. That being said, people reported some success on Mac Studio's unified memory but due to the slower memory bandwidth it will be slower than proper NVIDIA setup.
The reason this doesn't work is:
- You can test a lot of open weight models on OpenRouter. I'd say Qwen3.5 9B is quite good for getting non-coding tasks done (like querying), for coding Qwen Coder is probably the best model you can run with a single RTX 3090 but it is nowhere near GLM-4.7 (you could point Claude Code to Qwen Coder but it's not as agentic as it should be).
- You need a LOT of VRAM to get the model to load. The top open weight models today, GLM-4.7, Kimi K2.5, MiniMax M2.5, etc. are not possible to be loaded on a single gaming GPU at all.
- I think there are tricks about MoE models that you'd only load specific experts to the GPU, but you still need enough RAM for it (or you can tolerate if it loads from your SSD - I tried HDD and it takes over 5 min to load Gemma3), and it requires some tuning with your LLM runtime.
- There are quantized models that may fit in to consumer GPU, but it will be significantly watered down. Q4, the common variant to run most models on consumer GPUs is about 10% loss.
- Not only you need the VRAM to load model, but you also need RAM to support large context window. I'm not sure if you need VRAM or RAM, because at this point I already have exhausted both of them on my gaming PC. I was planning to get 128GB RAM, but with XMP and doubling memory cost I don't think I'd be doing that any time soon. Currently I think my max context window with Gemma3 27B is about 50-60k compared to Claude and Qwen3.5's max context window of ~200k.
That being said, that one time I used Qwen Coder locally it was the 2nd fastest coding model I've ever seen, only beaten by Copilot's GPT4o (which I suspect that Microsoft probably bought provisioned throughput).
-
Comment on Motorola and GrapheneOS Foundation partnership announced in ~tech
whs LinkI wonder how Google Play certifications process will this phone needs, and also which apps (including Google's) will be preloaded. This could be the first bloatware-free phone with optional Google...I wonder how Google Play certifications process will this phone needs, and also which apps (including Google's) will be preloaded.
This could be the first bloatware-free phone with optional Google Play, zero other Google Apps and no Meta (Facebook) apps. From a previous court case in Europe, Google says they will provide Google Play for a premium if the OEM doesn't want other preloaded Google Apps, but I don't think there is any takers. (Also since you don't preload Google's Chrome, perhaps revenue sharing from ads may be impacted). I suppose Motorola could just push most of the OS development cost to GrapheneOS Foundation to offset the cost.
I would not be surprised if the phone is sold at a premium on top of the Google Play version of the phone, which you could say is the price you pay for privacy. But the vocal group in /r/android would only want a mid/budget range phone without this premium...
-
Comment on What games have you been playing, and what's your opinion on them? in ~games
whs LinkAbout to finish Trails Beyond the Horizon. I'd say after Act 2 this is one of the best Trails in a long while, easily better than CS4. Hitman is on sale currently on Steam, I think there was a...About to finish Trails Beyond the Horizon. I'd say after Act 2 this is one of the best Trails in a long while, easily better than CS4.
Hitman is on sale currently on Steam, I think there was a recent thread saying that this game is easily one of the best game this decade. A Tildes member recommended me that since last month, cross save is in and I can now restore progress from the original game. I don't know why I miss some map achievements though, and I was grinding the first two maps back before the sale.
Finally I've found StarCraft 2 coop relaxing and I try to get a game in daily. I can manage brutal fine and probably can solo it on some commanders, but nowadays I play on casual which give you damage/tank bonus so you can yolo more. If you get matched with a partner playing on hard it's like smurfing.
-
Comment on What games have you been playing, and what's your opinion on them? in ~games
whs LinkI'm playing Trails Beyond the Horizon. I'd say its prologue and Chapter 1 is not good, especially that they want me to patrol all of Edith several times. I'd say the story start picking up at...I'm playing Trails Beyond the Horizon. I'd say its prologue and Chapter 1 is not good, especially that they want me to patrol all of Edith several times. I'd say the story start picking up at Rean/Kevin's route at the end of Chapter 2 and then it only get more interesting from there.
-
Comment on What's a reasonable amount of time to spend on an RPG campaign? in ~games
whs LinkI think there's open world games like Fallout, Grand Theft Auto and Horizon (Zero Dawn/Forbidden West), which you could postpone the story for side quests as much as you wanted and you'll get...I think there's open world games like Fallout, Grand Theft Auto and Horizon (Zero Dawn/Forbidden West), which you could postpone the story for side quests as much as you wanted and you'll get bored at some point.
Then there's Pokemon (I haven't play any games past Emerald) and Death Stranding, where it's an open world but they put unlocks (esp. new map area) on the main quest, so you'd just need to get to the levels you wanted (infrastructure built, in case of Death Stranding) and move on with the main quest.
Finally there are railroaded RPG like Shadowrun games (from Harebrained), Trails (I'm playing!), and I haven't played Expedition 33 and Baldur's Gate but I'd assume they're in this category, where it's not a true open world game (you can't move to other areas freely or they may be void of content)
Personally, I play most of these games because they are narrative driven, and the story make you wonder what will happen next. The moment their narrative no longer interest me I immediately lose interest. This happen in Horizon Forbidden West (the middle part of the game feels like a filler), and Trails Beyond the Horizon's opening (The story starts picks up in Chapter 2)
As for the time, I suppose my play game in all these games are all about 60-100 hours so I suppose that is what the game studios target for. Like, there are too much times where I finish the game at exactly 60 hours...
-
Comment on Diablo | Warlock class cinematic trailer - New class for Diablo II, Immortal, and IV in ~games
whs Link ParentI really like D4, it's a good game to mindlessly play after work. That said, if you want a harder game that is not a series of pinatas smashes this would never be it.I really like D4, it's a good game to mindlessly play after work. That said, if you want a harder game that is not a series of pinatas smashes this would never be it.
-
Comment on 'Right-to-compute' laws may be coming to your state this year in ~comp
whs LinkAnd I thought the name would refer to rights to bootloader unlocking - you bought your own computing device you should be able to run any computing task you want on it.And I thought the name would refer to rights to bootloader unlocking - you bought your own computing device you should be able to run any computing task you want on it.
-
Comment on What programming/technical projects have you been working on? in ~comp
whs LinkI have too much projects and too little time with two long games (soon three as a Tilders told me Hitman is adding cross progression) I intend to play in Q1. This week I added user verification...I have too much projects and too little time with two long games (soon three as a Tilders told me Hitman is adding cross progression) I intend to play in Q1.
This week I added user verification spoofing to KeepassDX, which I already posted a PR. I also added AAGUID spoofing but that will need to be tested. The thing with passkeys is that websites can ask a passkey provider (eg. password manager) to perform a "user verification". Most user friendly ones like OS builtins will perform a fingerprint check or Windows Hello, so many sites interpret this as two factor verification (hardware protected key + whatever used to unlock the key). However, it doesn't make sense to unlock an already unlocked password manager. Also, why do software on our computer listen to random instructions from the internet anyway. So, KeepassXC got a huge drama where they say they will not implement it, and a Keepass committee member says you might be blocked.
KeepassDX's author think they can find a better common ground, so in their implementation you can either be 100% specs compliant where passkey request will requires you to unlock an already unlocked database, or you can disable verification which, if the website "requires" it, the password manager will block you from progressing at all. So, I think it is against open source spirit that such user hostile features are implemented, and I added a new "spoofing" option where if you disable verification, it will still says verification was performed.
Of course the author is not happy to merge it in, so I was planning to add my own CI and release a binary. But yeah, maybe sometimes.
Another project two years in the making is the port of libthai to Rust that I was doing around the new year vacation. libthai is a dependency of Pango, which is a dependency of GTK used by Linux apps. It depends on libdatrie from the same author, which I successfully ported it to Rust (I didn't like the Rust-side API too much, but at least it's working...). However, Rust doesn't have cdylib versioning and I believe it blocked some application compilation, which I have no clue how to debug. As for porting libthai, most of it are pretty easy. I tried comparing Claude Agent (in Jetbrains) output to mine, and I think most of it can be ported by LLM (I did not use LLM in the actual code, only for consulting and code review).
The hardest part in the port is the Thai word segmentation algorithm. The code itself is quite hard to read with pointer arithmetic instead of arrays. I asked the original author and he says that some of it is because that was the only way to write optimized code that would not rely on compiler optimizations, as back in the day some compilers are more primitive. From my understanding, the code use two linked list that acted as a priority queue and a recycle pool. Porting that code 1-1 is doable, as I have done that, but it was impossible to get rid of all
unsafewithout changing the data structure. Rust'sstd::collections::LinkedListis unusable in the real world - you can't even remove object in the middle that you already have, which is the point of using LinkedList over a Vec. And changing to other data structure (like a Vec or Heap) requires understanding the algorithm in full, which also calls to datrie data structure.Sometimes I ask myself why not just make this or Pango a glue to Unicode's ICU, which I believe Qt does use. I searched around, and it seems that in early 2000 IBM did ask Pango about contributing such a patch, but did not receive a reply. libthai's author told me that it might be because Pango's original design was already well thought out to support complicated languages already, and people back then view Pango as corporate-backed open source.
A few weeks ago I was doing the port in a maid cafe. Not exactly the best place to code since the point of such cafe is to interact with the cast members. They asked what are you coding, and I realize they're literally staring at output of word breaking algorithms all the time, yet, no laypeople would realize it is such a complicated piece of code. And yet, you either use the Thai word breaking written by non-Thai people (ICU, OS native, etc.), or libthai which is maintained by a single person in his late 40, who wrote it almost 30 years ago in a team that was demolished almost over 20 years ago.
-
Comment on What programming/technical projects have you been working on? in ~comp
whs Link ParentMy Zojirushi rice cooker pot had a scratch. Zojirushi Thailand's website listed several spare parts. However, the pot is listed as sold out. We called them and they say they'll contact us once it...My Zojirushi rice cooker pot had a scratch. Zojirushi Thailand's website listed several spare parts. However, the pot is listed as sold out. We called them and they say they'll contact us once it is in stock as they needed to import the pot. Two months later, it is still not in stock saying shipment delayed. Three months later it is back in stock and we ordered it.
The box says "Made in Thailand"
-
Comment on As Hitman 3 turns five years old, we surely have enough hindsight to declare it – this is one of the greatest of all time, right? in ~games
whs LinkI really wanted to finish Hitman 3, but I played in Game Pass and they do not allow cross-platform transfer of progress in the cloud, so I'd be forced to start over. I know Peacock can be used,...I really wanted to finish Hitman 3, but I played in Game Pass and they do not allow cross-platform transfer of progress in the cloud, so I'd be forced to start over. I know Peacock can be used, but without grinding to unlock items there's no point in playing it for me as I play for the progression and not the improv.
Freedom Fighters gave me months long burn out, I'm not going to do that ever again.a
-
Comment on Humble Choice - January 2026 in ~games
whs LinkI just realize it's January and I still haven't renew my yearly deal (I thought it'd be on sales around Christmas, but apparently it was on Black Friday) Oh well I probably have like 4 months left...I just realize it's January and I still haven't renew my yearly deal (I thought it'd be on sales around Christmas, but apparently it was on Black Friday)
Oh well I probably have like 4 months left from skippings
-
Comment on <deleted topic> in ~tech
whs Link ParentFrom the last outage I think the problem is Cloudflare refused to be a "done" product. Instead, they needed to upsell new products and added bot management, WAF, access, among others. Some of...From the last outage I think the problem is Cloudflare refused to be a "done" product. Instead, they needed to upsell new products and added bot management, WAF, access, among others. Some of those products run in the critical request path so even if you haven't purchased them or opt into them you're still getting their outages on the shared infrastructure.
The last outage is a bad bot management configuration, a product that costs a lot extra on top of the enterprise plan taking down all plans.
-
Comment on Tips for becoming a tea person in ~food
whs Link ParentUpdate: My dad replaced it with the second generation of the device after the same vendor said they no longer have spare parts for the first one. This version looks a lot smaller than the first...Update: My dad replaced it with the second generation of the device after the same vendor said they no longer have spare parts for the first one.
This version looks a lot smaller than the first one, fixed some of its issues and added some new ones.
The reservoir seems to have the same capacity, although it look much smaller. When you start the machine, it keep pumping water into the upper bowl until it runs dry. They removed the timer, so you're in control of the steep time now - but you'll have to steep it yourself by pushing a button. The water seems to be still at 75C hot. Finally, they added a hot plate at the bottom pot. Since it start warming when the machine start, I assume that if you forgot to steep not only you get worse tea but you will also risk breaking the bottom pot.
-
Comment on Google backpedals on new Android developer registration rules in ~tech
whs Link ParentIt's quite common in Thailand. Most people have their personal information breached from somewhere nobody can identify (my personal hunch is that somewhere along e-commerce chain is breached or...It's quite common in Thailand. Most people have their personal information breached from somewhere nobody can identify (my personal hunch is that somewhere along e-commerce chain is breached or even intentionally sold to black market actors - likely the last mile courier selling)
The attacker calls you saying they're from a major bank (that you're likely a customer of) or they're a police/postal agency and you're under investigation in a remote location. They often tell part of your information like your full name. If it's e-commerce retailer breach they tell you the item you just bought has an issue, along with the item description. (The e-commerce shop in question got a slap on the wrist fine. It was their employee that sold user data) I got a call like that once and they got me to this point, then I realized I should call back and verify.
Then the attacker adapts to various restrictions with new tricks. You can't disable Play Protect while phone calls are ongoing, so they direct you to add them on LINE (a chat app popular in the country) with account using name and logo of the real agency, then move to VoIP. They may have several people using different persona to threaten you to either transfer the money yourself (eg. your money is under investigation, you'll have to transfer to me or get arrested). If it is scam apps, it may use techniques similar to clickjacking to do that - draw on top of real bank apps acting as other app. For example, the electric company needs to verify you to refund your power meter charge, which the app actually draw on top of the bank's facial recognition page.
By this point most government agency are keen on stopping this (I'm not getting into politics much - some people think the top scammers have top politicians in their pocket), you'll see court ruling that banks are at fault here so that the bank apps start spying on your phone more, the Bank of Thailand regulation start cracking down on online banking with transfer limits (that my friends says if you need to increase its very hard to ask than adjusting your credit card limit - and that is limit to your own cash!) and face recognition (ignoring that they block all the blind people from using online banking now)
Unlike the west, I've never seen anyone here asking for any software freedom - it's your phone and your money but you'll need to follow bank's security policy. At least my major bank doesn't check that ADB is enabled, but every single banks barred two do now (as you'd imagine smaller banks don't have actually good security team that actively protest against checklist based security) so it's not like I have much choice to support banks that align with my policy.
-
Comment on Tips for becoming a tea person in ~food
whs LinkPiggy-bagging on the thread, does anyone know how to get tea without manually brewing? Usually I'd drink Itoen-brand jasmine tea. It's ฿30 per bottle which I feel is expensive for just tea leaves...Piggy-bagging on the thread, does anyone know how to get tea without manually brewing?
Usually I'd drink Itoen-brand jasmine tea. It's ฿30 per bottle which I feel is expensive for just tea leaves and water in a PET bottle (sugary tea is less than this) and I could get better tea leaves for the same price. Sometimes I "upgrade" to imported Ayataka from Japan - I really like the drink when I was in Japan around 2018 and it is just ~120 yen but the imported ones I bought this year (~฿70) I felt the quality has dropped. Bottled tea is not an option when you want to drink tea as a replacement for plain old water.
Then I bought an automated tea machine. It has three compartments - you fill water into a reservoir, then press a button. The machine pump the water into hot water and fill the top compartment, which you've added tea leaves. After a minute or so (depending on which button you press) the liquid inside will flow to the lower compartment. This ensures that you don't oversteep the tea which was a problem when I use manual brewers - I'd brew the tea and forgot about it until half an hour later.
The problem with this machine is that the water is only about 75C hot and is non configurable. Its small top compartment only brew about a cup. I wish it would just repeat the process until the bottom compartment is full or allow me to queue orders. Finally, it is past its end of sale and the top compartment broke today.
-
Comment on Blogging in ~comp
whs LinkI rarely blog now. I think Facebook's editor make it easy to write wall of text, compared to my self hosted WordPress blog where I need to upgrade it to latest version and syndicate posts. I'm not...I rarely blog now. I think Facebook's editor make it easy to write wall of text, compared to my self hosted WordPress blog where I need to upgrade it to latest version and syndicate posts. I'm not sure about the engagement on Facebook vs. my blog because some people had told me they read my blog-like Facebook post but didn't drop a like so I don't have the engagement metrics.
The other thing Facebook does well is I could more casually write about in-progress project, rather than summarizing my experience with a project.
My Facebook posts are friends only. I had to do that almost a decade ago where a few "tech influencers" were ridiculed by the Thai tech community as they write bad contents like optimizing an SQL project to make it way faster (by removing correctness!), bad crypto advice and now performance review by ChatGPT. Now when I blog every other paragraphs probably has a link as I had to fact check a lot of things in the blog - just in case it become viral and people start correcting me.
I'm planning that I might revamp the blog soon, but personal projects are very low on my hobby list nowadays as I don't like maintaining software. The current idea is that I add a public folder to my Obsidian vault. A software regenerate public facing pages from the folder. It could also be both blog-like or wiki-like where there's a listing of blog pages but the blog pages can link to other unindexed pages. My previous idea was to rebuild the blog in Gemini (the protocol) and have the web version be a Gemini client. I built a Gemini protocol server, but that's where I lose interest.
-
Comment on What are some interesting landmarks in your neck of the woods? in ~talk
whs LinkMy work is located at one of the office towers at One Bangkok, Wireless Road, Bangkok. It's probably the coolest English road name in Thailand as the Thai name is วิทยุ (Witthayu, meaning Radio)....My work is located at one of the office towers at One Bangkok, Wireless Road, Bangkok. It's probably the coolest English road name in Thailand as the Thai name is วิทยุ (Witthayu, meaning Radio).
Apparently the One Bangkok site were a historical site, and when they were excavating the underground parking lot for the project they also have found parts of the original building that give the name to the road - Saladaeng Radio Telegraph Station, one pair of the first telegraph station in Thailand. If you visit the shopping mall today you can visit the Wireless House which the design is influenced by the original building. This small museum exhibit the history of the original buildings, and show objects found during the excavation. At the back of the building is the actual original radio mast, now reduced in height (you can see the top on 4th floor of the shopping mall - voted one of the most labyrinthine mall in Thailand)
Another lesser known thing of this mall is that the next door of the site is the Australian embassy, which shares a street exit with the project. The driveway is called "Soi Arun McKinnon" (ซอยอรุณมักกินนอน / Arun likes to eat and sleep). The story was that the Australian ambassador Allan McKinnon met with the current king to announce that the embassy has moved. Since the driveway had no name, the king blessed the ambassador's name as the official name.
I find VS Code's AI internal implementation quite interesting even if the UI push it in your face.
The Copilot UI is actually not that coupled with GitHub Copilot (although parts of it still is - they often said in the docs that they will work on remove that). Internally, VSCode has a "Language Model Chat Provider API" which Copilot is one of them. Many other providers do provide alternative provider implementation (and Copilot allow for custom API key as well), so you can switch to your chosen provider.
There is also a Language Model API, which allow extensions to submit request to the provider, so that any extension you install in VSCode can utilize your LLM provider without providing API keys to every extensions. Of course, there are people who built an OpenAI/Anthropic-compatible API server in VSCode so that you can use in any LLM tools. I tried and it seems that you do get the Copilot billing for it (eg. GPT 4o is unlimited even when using the emulated API outside of VSCode).