HNHacker News
TopNewBestAskShowJobs

SquareWheel

5,684 karma · joined November 8, 2011

submissionscomments
SquareWheel··on Google is building its own DeX: First look at Android's Desktop Mode
I flagged earlier because the first submission appeared to be blogspam by a new account posting only from that domain. The replacement article from Android Authority is much better.
SquareWheel··on Plain Vanilla Web
Totally different caching techniques. MPAs have a built in mechanism called back/forward cache. It works automatically on most sites, though some invalidate the cache. https://web.dev/articles/bfcache

SPAs need to hold onto the data themselves, and correctly transition it between pages/components. Poorly-built ones will simply refresh it every time, or discard it if the data is too large.

Both mechanisms can allow for immediate page loads if they've been correctly implemented. They just require a different approach.

SquareWheel··on Open source Google Analytics replacement
According to the author, Rybbit hashes IPs with a daily rotating salt.

https://www.reddit.com/r/selfhosted/comments/1kgytl4/i_built...

SquareWheel··on How to vibe code for free: Running Qwen3 on your Mac, using MLX
It's not uncommon on HN! We frequently have people chiming in as CEOs, insiders, and experts in various fields without much proof. Generally, it hasn't been a problem. Or at least I've not seen any examples of having wool pulled over our eyes in this fashion.
SquareWheel··on Running Qwen3 on your macbook, using MLX, to vibe code for free
They likely mean that the submitter, avetiszakharyan, should disclose their relationship to Localforge.
SquareWheel··on An update to our pricing
I tried Windsurf for the first time last week, and I had pretty mixed results. On the positive side, sometimes the tool would figure out exactly what I was doing, and it truly helped me. This was especially the case when when performing a repetitive action, like renaming something, or making the same change across multiple related files.

Most of the time though, it just got in the way. I'd press tab to indent a line, and it'd instead jump half-way down the file to delete some random code instead. On more than one occasion I'd by typing happily, and I'd see it had gone off and completely mangled some unrelated section without my noticing. I felt like I needed to be extremely attentive when reviewing commits to make sure nothing was astray.

Most of its suggestions seemed hyper-fixated on changing my indent levels, adding braces where they weren't supposed to go, or deleting random comments. I also found it broke common shortcuts, like tab (as above), and ctrl+delete.

The editor experience also felt visually very noisy. It was constantly popping up overlays, highlighting things, and generally distracting me while I was trying to write code. I really wished for a "please shut up" button.

The chat feature also seemed iffy. It was actually able to identify one bug for me, though many of the times I'd ask it to investigate something, it'd get stuck scanning through files endlessly until it just terminated the task with no output. I was using the unlimited GPT-4.1 model, so maybe I needed to switch to a model with more context length? I would have expected some kind of error, at least.

So I don't know. Is anyone else having this experience with Windsurf? Am I just "holding it wrong"? I see people being pretty impressed with this and Cursor, but it hasn't clicked for me yet. How do you get it to behave right?

SquareWheel··on Ironwood: The first Google TPU for the age of inference
Must be part of that Preoccupy Wall Street movement.
SquareWheel··on Technicalities of Homeworld 2 Backgrounds
This is absolutely adorable. Thank you for sharing!
SquareWheel··on How I accepted myself into Canada's largest AI hackathon
You can also slap this in your head to make it discoverable by readers.

    <link rel="alternate" type="application/rss+xml" title="fastcall's Blog" href="/index.xml">
SquareWheel··on Memory safety for web fonts
I've recently been learning about how fonts render based on subpixel layouts in monitor panels. Windows assumes that all panels use RGB layout, and their ClearType software will render fonts with that assumption in mind. Unfortunately, this leads to visible text fringing on new display types, like the alternative stripe pattern used on WOLED monitors, or the triangular pattern used on QD-OLED.

Some third-party tools exist to tweak how ClearType works, like MacType[1] or Better ClearType Tuner[2]. Unfortunately, these tools don't work in Chrome/electron, which seems to implement its own font rendering. Reading this, I guess that's through FreeType.

I hope that as new panel technologies start becoming more prevalent, that somebody takes the initiative to help define a standard for communicating subpixel layouts from displays to the graphics layer, which text (or graphics) rendering engines can then make use of to improve type hinting. I do see some efforts in that area from Blur Busters[3] (the UFO Test guy), but still not much recognition from vendors.

Note I'm still learning about this topic, so please let me know if I'm mistaken about any points here.

[1] https://github.com/snowie2000/mactype

[2] https://github.com/bp2008/BetterClearTypeTuner

[3] https://github.com/microsoft/PowerToys/issues/25595

SquareWheel··on CSS Custom Functions are coming
It seems like the spec draft itself offers a much better example than the article.

https://drafts.csswg.org/css-mixins-1/

I do think it's strange that using a wrapper like var() wasn't required here. Like func() or such. I'd actually rather that var() hadn't existed to begin with, but it should be consistent, at least.

SquareWheel··on Critics say new Google rules put profits over privacy
> They were just never given choice.

There was Google Contributor[1], which they tried three launching three different times before giving up on it. It seems like nobody was interested in paying to remove ads on the web.

[1] https://en.wikipedia.org/wiki/Google_Contributor

SquareWheel··on A couple CSS tricks for HTML Dialog elements
I used this same approach in a recent web app and it worked great. You can also use scrollbar-gutter: stable, which disables scrolling but maintains the preserved space to avoid content reflows.
SquareWheel··on Grayjay Desktop App
Yep, as a user I didn't find it confusing at all. F-Droid is designed for and around adding custom repos. FUTO links to their own repo and it all works fine.

I'd definitely consider this as being "available on F-Droid".

SquareWheel··on Broward Co. to vacate convictions for buying crack made by Sheriff's Office
That doesn't seem too difficult.

- Maintenance of roadways and bridges - Governments don't create wear and tear, vehicles and weather do.

- Food safety standards - Governments aren't harvesting lettuce with e. coli or selling diseased meat.

- Public healthcare - Governments don't create disease, but they ensure access to healthcare (at least the good ones do).

- Building codes - Governments rarely build houses themselves, but they do enact requirements for acceptable building materials, wiring standards, safe insulations, and so on.

- Environmental regulation - It's not entirely accurate to say that governments create zero pollution, but it's an insignificant factor compared to the industries for which they control regulations.

I'm sure some could try to argue each of these points with very narrow counter-examples, or try to stretch the meaning of "have a hand in creating" to be so wide as to encompass everything. Governments are a major part of society, after all. But on the whole, these are solutions created in response to problems in society that emerged naturally, without government oversight, programs, or committees behind them.

SquareWheel··on jQuery UI
Complexity has to live somewhere. We use abstraction to better manage it, and keep our codebases scalable and manageable. Yes it's not as efficient as it would be if every single function call were carefully planned for and orchestrated, but that's not feasible for modern applications that do many things.

It's the same way on the desktop side. Writing everything in assembly instructions would technically be the least "complex", but it'd also be utterly insane and error-prone to do it that way. Even mid-level abstractions like C++ are hard to get right. It's why many modern apps are built in higher-level abstractions, because they're easier, more reliable, and fast enough.

It's really no different for a website. You can put all of your state in one place, bridge different libraries, and manually sync DOM changes, but you're essentially just frontloading the complexity. Abstraction is an important concept in structuring your codebase into clean and maintainable code, even if it is technically more complex.

I won't argue that React doesn't get overused for otherwise-simple pages, but many pages are not simple. The web today is full of interactions, tabs, dropdowns, search bars, notifications, modals, and tooltips. It all needs to respond to your device's form factor and input method. Every network request requires error handling. It needs to be routed, cached, and served smoothly and correctly.

It's a lot. It's a lot to manage in one layer. I am content to let some of that complexity be managed by Vue, or React, or whichever framework we're discussing. If it lets me worry just about my application's logic, and it simplifies the templating, error handling, routing, and so on, that makes things easier and less error-prone for me.

Honestly, I've written plenty of web apps in vanilla JS. I've experimented enough with closures, IIFEs, classes, and other techniques for managing state. It really doesn't matter how careful you are, any sufficiently-complex project will always turn into spaghetti. Frameworks help us stave that off, at least for a little while. Their component-based architecture makes relationships more explicit, and much easier to isolate. I particularly like Vue's Single-File Component (SFC) concept which organizes components into logic, template, and styling.

Not all frameworks require a build system though, and there's plenty of options available for tackling smaller problems. Alpine is great for reactive data. htmx helps manage apps with many server calls. You don't necessarily need the full React or Vue package, if your app isn't so complex.

But if it is, I think you'll be glad to have them.

SquareWheel··on jQuery UI
I would say that it is structured complexity. Modifying a reactive variable is more complex than editing the DOM directly, true, but it minimizes the number of sources of truth. The developer no longer has to worry about keeping the on-page elements and JS variables in sync; that happens automatically.

Managing just your application's state, while letting some template logic know where to embed that info into the app, scales far better.

If you measure complexity strictly by the amount of code running, then a React or Vue app will likely be more complex. If you consider just the actual application logic, it's usually far simpler. This is especially true if you utilize components, which lend themselves well to rapid development with fewer side effects.

SquareWheel··on Is Chrome the New IE? (2023)
pnacl was an example of Google throwing away their homebrewed solution in favour of a common standard (Web Assembly). That seems like a strong argument that they don't push proprietary extensions.
SquareWheel··on Support for Claude Sonnet 3.5, OpenAI O1 and Gemini 1.5 Pro
Huh, look at that. I completely mixed them up too. Thankfully they have an article which "helpfully" clarifies things:

> We’ve noticed that there’s been some confusion between our company, Codium (now Qodo (formerly Codium)), and another company, Codeium.

https://www.qodo.ai/blog/codiumai-or-codeium-which-are-you-l...

SquareWheel··on Support for Claude Sonnet 3.5, OpenAI O1 and Gemini 1.5 Pro
It seems like their new name is literally "Qodo (formerly Codium)", parenthetical included. At first I thought they were just including it in the blog post for clarity, but they literally write it out that way a dozen times. It's also included as part of their new logo and in the site title.

I've never seen anything like that before. It feels like a search+replace operation gone awry.

SquareWheel··on Show HN: Pumpkin – A Modern Minecraft server written in Rust
I remember Notch talking about the lighting calculations being one of the hardest parts to program, so I can understand that being a challenge.

Mojang made large improvements to the lighting engine in 1.20, bringing it in line with the performance mods Phosphor[1] and Starlight[2]. Despite being deprecated now, they might still offer some useful insight into how to approach such a system in a performant way. You'll need to be mindful of the licenses, but it's likely easier than reverse-engineering Minecraft (even with mappings).

[1] https://github.com/CaffeineMC/phosphor-fabric

[2] https://github.com/PaperMC/Starlight

SquareWheel··on Show HN: Pumpkin – A Modern Minecraft server written in Rust
The performance differences look pretty impressive from the benchmarks. I do notice that world generation and saving features are missing though, and these tend to be pretty expensive operations. Chunk gen especially can bring a weaker VPS to its knees. I'm sure the benchmarks were taken at an idle state, but I'd be curious to see how it compares once those features are included and being used.

I don't see it listed, but is there support for block breaking/placing yet? Presumably this would require light recalculation and a chunk update on the server.

Finally, do you plan to add advanced features like scoreboard, teams, or command block parsing in general? Mojang has at least open-sourced Brigadier for that.

Cool project. Hope to see it mature to the point of making servers easier to run on low-end hardware.

SquareWheel··on Nintendo Files Suit for Infringement of Patent Rights Against Pocketpair, Inc
Tools like Stable Diffusion didn't even exist when Palworld and its creature designs were being shown. Unless you have evidence they were somehow AI generated, it sounds like you're just spreading falsehoods.
SquareWheel··on Using the Topics API (Chrome Only, Opposed by Firefox/Safari)
Do you mean in Chrome? You can disable it from the settings. There should have been a prompt to review the features' settings when it was first introduced.
SquareWheel··on Google Has Officially Killed Cache Links
Didn't they do that like... six months ago? Thus why they partnered with the Internet Archive recently.
SquareWheel··on QUIC is not quick enough over fast internet
There's clearly advantages to writing a web app as an SPA, otherwise web devs wouldn't do it. The idea that web devs "don't care" (about what exactly?) really doesn't make any sense.

Moving interactions to JSON in many cases is just a better experience. If you click a Like button on Facebook, which is the better outcome: To see a little animation where the button updates, or for the page to reload with a flash of white, throw away the comment you were part-way through writing, and then scroll you back to the top of the page?

There's a reason XMLHttpRequest took the world by storm. More than that, jQuery is still used on more than 80% of websites due in large part to its legacy of making this process easier and cross-browser.

SquareWheel··on Godot on iPad, Toolbars, Importers, Embedding, Debugger
I doubt they'd see it as a slight, considering Epic themselves have helped fund Godot.

https://godotengine.org/article/godot-engine-was-awarded-epi...

SquareWheel··on CrowdStrike accepting the PwnieAwards for "most epic fail" at defcon
Did you click through to the video? Because the acceptance speech seemed to show the opposite of hubris to me. Specifically in owning up to the mistake, and using the award as a reminder to do better in the future.
SquareWheel··on Australia starts peanut allergy treatment for babies
> If they make money by identifying allergies and then treating those people for those allergies, as opposed to parents giving their children 2 peanuts a week, then their livelihood is under threat.

I find that view to be overly pessimistic, and not reflective of what health care providers actually do. Practitioners of all sorts work hard to cure and prevent diseases every day. Every time a cancerous tumour is removed, it significantly reduces the chances of that person needing follow-up care. Every vaccine that is given reduces future hospital visits. Every piece of good advice to exercise and eat right keeps somebody away from the doctor, rather than turning them into a repeat customer.

Doctors aren't evil. They aren't scheming to lock patients in by offering suboptimal treatments. They provide the best care that they're able, within the limits of the knowledge and resources available to them.

SquareWheel··on Open source AI is the path forward
> who says open source colloquially?

There is a large span of people between gray beard programmer and lay person, and many in that span have some concept of open-source. It's often used synonymously with visible source, free software, or in this case, open weights.

It seems unfortunate - though expected - that over half of the comments in this thread are debating the OSD for the umpeenth time instead of discussing the actual model release or accompanying news posts. Meanwhile communities like /r/LocalLlama are going hog wild with this release and already seeing what it can do.

> any software developer should have a firm grip on the terminology and details for legal reasons

They'd simply need to review the terms of the license to see if it fits their usage. It doesn't really matter if the license satisfies the OSD or not.

← PreviousPage 3 of 34Next →