Hacker Newsnew | past | comments | ask | show | jobs | submit | erjiang's commentslogin

Be aware that the way OpenSCAD works (CSG) makes a lot of things difficult compared to "normal" CAD programs. A lot of common operations, such as arbitrary fillets on various edges, are simply hard to express or do.

The more powerful option is something built on the open-source Open Cascade geometry kernel: FreeCAD, cadquery, or build123d. This also gives you interop with the broader CAD ecosystem by enabling you to import and export STEP files. (Your favorite LLM can advise you on or drive these options as well.)


That's because you are thinking in the way you would with conventional cad systems, you are doing your operations sequentially a bit like a sculptor would: take a blank and then remove bits piece by piece. The trick to working effectively with OpenSCAD is to generate what you want, not to iteratively chip away at something.


There is no trick way to solve the fillet problem or about 100 other common necessary things in openscad.

Don't get me wrong, I love it myself and use it as much as possible simply because it's outstanding to be able to express a complete design in 1k of plain text which is readable, diffable, gittable.

You can get a lot done, and some things you can do even easier and simpler than anything else, and you can work-around some things, and you can get a good-enough almost-what-you-want other times, and it's practically ideal for certain classes of jobs as long as you're willing to live within the limits.

But "live within the limits" is not something a general purpose tool gets to say.

You can get some fillets easy sometimes if the geometry just happens to lend itself to some boolean op like making a rounded corner hollow box by hulling 8 spheres (which you can populate effortlessly with translate,copy,mirror) and then cutting another smaller copy. Voila, all kinds of interior and exterior fillets in like 10-15 short lines of plain text code. And the whole thing fully parameterized with dead simple variables sitting off by themselves with human descriptive names at the top of the file.

But that does not mean anything. That's a choice showcase example, and all the other infinite real life cases are somewhere between agonizing to code, to agonizing to code and agonizing for the computer (minkowski), to flat impossible.

I love openscad but this implication that it's just a matter of using it right is false.


The fillet problem is not a problem. It is a problem if you try to apply fillets after you have created something complex. But if you generate it out of variations on the primitives that already have filets it gets much easier to keep control over the resulting shape. What OpenSCAD makes next to impossible is to first combine a bunch of primitives and then to do one more operation on the resultant shape. That's really fighting the tool. But if instead you define a layer just above your primitives that already have the edges the way you want them to be then you can combine them and the filets will stay where they were on the primitives. The problem that remains is to blend them if you need to, I've found a really simple trick for that: define spheres with the fillet radius and create hulls over sets of these. That allows you to fill in the gaps if there are any.


That works to some degree but you will quickly run into trouble because you can't get things 100% right. I don't think anybody is using OpenSCAD for professional use where you have to collaborate and have to produce exact shapes.


May be it is just the matter to compose a few good HOW-TOs. What I gave up on once was creating slabs with rounded edges. Basically imagine a slab which looks like an iPhone icon: you have in the plane of the slab rather a large corner radius, but for rounding the edges of the resulting slab, a much smaller one.

Writing now about it, I think I could do it with a torus, where the radius of its cross section is the small radius, the torus radius is the large one, take two of them, add two cylinders to only keep one quarter edge and then take a quarter of the resulting bevelled disk.


Those tricks won't help when the design calls for G2 (or higher) fillets or surfaces.


Incorrect. I repeat what I already said since you didn't say anything new either.


I have found that a combination of the two approaches works best for me. In some cases it is easiest and most practical to combine (union) shapes to get to what you want, and in others it easiest to subtract (difference or intersect).


But then you won't be able to bevel complex shapes at all, which means that you won't be able to describe the object that you will end up with. "Good" CAD means that the representation in the computer is as close to the object you want to produce as you can make it. This makes it possible for downstream systems to accurately select nozzles and toolheads to get you what you want. If you produce an impossible object then your slicer or path computer will give you an approximation. That can be fine in some cases but usually your objects need to mate and if you mate two approximations you'll find quickly that that does not really work.


Most hobbyist are using CAD for 3D printing and not for CNC


There are more low-cost 3D printers than inexpensive CNC machines, so that's a given.

That said, it's pretty easy to just output an STL from OpenSCAD, open it in a 3D CAM tool (Kiri:Moto is a free option, MeshCAM (ob. discl., I work for a distributor) paid) and get toolpaths.

Folks have worked up various other approaches --- I've been using PythonSCAD to output a DXF which can then be used for making toolpaths:

https://github.com/WillAdams/gcodepreview


I used both OpenSCAD and cadquery, and I find the latter be effectively the same but with a cleaner more expressive syntax and some helper functions that people would commonly expect to be there.

If I have to build points up by hand, why not skip OpenSCAD and directly write python scripts that create your OBJ files? The point of OpenSCAD et.al. is to programmatically create geometry. Making exactly that easier is a feature in my eyes. And that means you provide/support multiple modeling paradigms that can expressively combined.


That approach makes it hard for folks to collaborate, and makes every sharing into a security evaluation and is a _lot_ more difficult than just scanning the cheat sheet and typing in some code and iterating.


Generating what you want rather than chiseling _is_ the thinking for most cad systems.


to be a bit tautological, openscad is nice but only for the things openscad is nice for. I prefer freecad for almost everything except highly parametric shapes. Plus you can do openscad inside of freecad.


The great thing about OpenSCAD is that it makes modeling using cubes, spheres, cylinders, and placing or stretching them mathematically easy.

The awful thing about OpenSCAD is that one's capabilities in it are bounded by one's fluency in using math to place or stretch cubes, spheres, and cylinders.


I suck at math but I can do pretty neat stuff with OpenSCAD that would take me 10x longer with 'the usual suspects' in CADland. It took me a while to get the hang of it though, I think the bigger issue with using OpenSCAD is a shift of perspective. From the outside it looks like solid modeling with primitives, but once you 'get it' the method changes completely, it is probably easier to explain with an example:

If you want to make a complex gear that has to mate with another gear you can do this in two ways: you can start with two discs intersecting at the right angle and then to chop out the teeth so the resulting object will be a gear and then you could subtract via a similar operation from the other disc to end up with two mating gears.

The - in my view much more effecient - alternative is to start off with just the supports as the discs and then to parametrically add the gear teeth onto the supports taking into account all of the clearances and the contact faces. This will get you much better gears because you are parametrically describing the surfaces that really matter and it will allow you to do nice things such as small fillets on everything to make the object far closer to what eventually will roll out of your manufacturing process (machining, 3D printing). It is a bit more work to define all of the parameters but the end result is much better and far less likely to have imperfections because you are generating what you want, not removing what you don't want. OpenSCAD can be used for sculpting, but that's not the best way of using it.


Not sure I buy this. CAD is both additive and subtractive simultaneously, so if you tell me it is purely about subtraction I don't think you are very experienced with CAD.


On the bright side it refreshed my knowledge of trigonometry...



There’s a new Physics book in this series:

https://www.makershed.com/products/make-physics?variant=5041...


The pre-order has June 2026, but apparently it's running behind?!?


I am not sure I know what is going on there. It’s listed as in stock in print and on Kindle in the UK Amazon store though.


It shipped, so mystified by the not yet printed statement on the web page.


Thanks!

I went ahead and placed an order.

Hopefully it will arrive in a reasonable timeframe.


i did ton of projects in open scad in the past (8+yrs ago), even having access to freecad and solidworks. I was even sending patches to some 2d features on freecad.

but what made me use scad was reliability. i knew the time i put writting in vim would translate (heh) into a viable stl file i could send to manufacturing. while with both other options half the time was dealing with bugs and crashes and bad exports.

but how did i miss some convenience tools indeed. most could be solved with opensource methods (e.g. bevel, joiners with easing, threads)


Dude freecad 8y ago was indeed crashy and buggy but it’s far better these days.


yeah i know. it was so raw then that i was contributing out of desperation. it by no means my areas of expertise.bi think most code was python proof of concept then. they indeed progressed awesomely fast.

to be honest, my anger was much heavier on solidworks for being so expensive (i had a student licensw tho) and buggy.


FreeCAD has picked up things at an incredible pace lately.


Why is there a carve out for parametric shapes? Freecad is a parametric CAD tool. OpenSCAD is just a worse version that has limited macro capability compared to build123d and can only ever export solid bodies with flat faces. Seriously, why does anyone talk about a CAD tool that cannot export curved surfaces?


Because FreeCAD has a terrible UI and a community that can't handle criticism at all. So developers who see the awful UX and the awful community think it is a lost cause and then pick something else "Oh I know programming in text and OpenSCAD lets me programm my CAD!"

And then the worse is better trap gets them and they don't even bother looking for true programmatic CAD like build123d.


> Because FreeCAD has a terrible UI and a community that can't handle criticism at all

I think that's an unfair assessment. It has rough spots (as I'm sure all CAD software does) but it's functional and UX is improving rapidly with every release. It feels like it's built up a lot of momentum since I picked it up a few years ago.

It can do everything I need it to do. I mostly use the Part Design workbench, Part, Sketcher, Assembly, Lattice2, Fasteners, Spreadsheet; occasionally Curves and Curved Shapes workbenches. If I run into an issue the solution is almost always easy to find on their wiki, on Youtube, or by asking in their Discord server - the community is friendly and helpful in my experience.


It's hard to approach learning FreeCAD seriously when one spends real money on a book which is billed as covering v1.1 on the cover and advertised thus, but once one gets to the actual text on the application, it says "1.0 or later" and all the screengrabs and terminology are for 1.0.


A terrible UI compared to no UI? OpenSCAD doesn't compete yet is treated like a competitor. Compare FreeCAD to NX and simply ignore OpenSCAD until it begins to become something other than a waste of time.


OpenSCAD supports spheres, cylinders, cones, and stretching/scaling them --- granted, they get exported as a triangle mesh, but with small enough triangles and clever enough 3D CAM software things can look pretty smooth, and for projects of an inexpensive CNC there is inevitably some post-processing/sanding.


I have been moving from fusion 360/eagle to FreeCAD+Kicad for mixed electronic/mechanical designs and never looked back. Since 1.0 assemblies work better in FC than 360, less crashes at least for my limited cases. Also an order of magnitude faster to boot. Didn’t have any issue with open cascade kernel, even with weird filets etc. Kicad is a joy to use compared to eagle, and library is even better.

Never tried OpenSCAD, maybe I’m old fashioned but graphic workflow works better for me.


This matches my experience.

One use case I was interested in: coming up with a (simple) box with cavity in it, and having this CNC'd. (For a simple custom keyboard shell).

Although OpenScad can express the geometry of the geometry without difficulty, it was burdensome to export the .step file that the CNC manufacturer wanted. To my understanding, CSG's model is just fundamentally different than what .step wanted. And re-using the geometry for a technical drawing to communicate e.g. threading wasn't something OpenScad could handle smoothly.

I haven't quite ported this to build123d. But, from a cursory look asking an LLM to do port my code, I was given the impression that it could manage the task. (Certainly build123d was better suited to technical drawings).


This is my problem with any system that doesn't create parametric geometry. You are limiting your precision and eliminating the ability to easily modify geometry later. STEP is the defacto format for this as any 3D CAD or CAM system can open it (Parasolid is also great, especially if the person you are sharing it with is using SolidWorks).

I absolutely despise STL as a format and think it doesn't have any place it should be used.I have a hard time taking OpenSCAD seriously due to this.


> A lot of common operations, such as arbitrary fillets on various edges, are simply hard to express or do.

As a long-time OpenSCAD user, I don't disagree with you but would also point out that LLMs can now make it very easy to do a lot of this sort of thing while still using OpenSCAD.

I actually find Gemini/agy to be the best of the ones I've tried when it comes to working with OpenSCAD code. And I don't recommend trying to use LLMs to one-shot geometry of anything complicated, but they are great for things like "take this OpenSCAD code and generate a fillet along these edges, abstract the fillet into its own module and make it parametric so I can easily modify the radius".

Granted, selecting a few faces or edges in a GUI CAD program and clicking a button is even easier than that, but only once you've spent a lot of time learning how to use the CAD GUI (which, IMO, are nearly universally very unintuitive until you've spent a lot of time working with them).


I started playing with this not long ago. Using pythonSCAD is way easier for LLMs and it can generate functional tests for it. Claude was able to one shot a relatively complex assembly of multiple custom parts where it made nonsense in pure openSCAD


I've been using PythonSCAD for a third approach:

- treat the CSG as merely a 3D preview, output a DXF, use a traditional CAM tool to create toolpaths from that file --- I did work up support for arcs, and am looking into more general curve support


To be fair, arbitrary fillets/blends on edges is a hard problem in general for Parasolid/ACIS because you are trying to mutate arbitrary topology, essentially guessing vertices/edges/faces and trying to stitch the back together.


This is true, but in things like OnShape I can do it with two clicks whereas in OpenSCAD it's always at least 20 minutes of thinking and trying out.

OpenSCAD is super cool and my go-to for simple things, but for anything more involved than a cube or cylinder with some cutouts I tend to revert to "normal" CAD programs.



Concur. It's worth explaining this, as someone new to CAD would get the impression the various tools in CAD are on even ground, and may assume "I know programming, so OpenSCAD sounds like the right choice". I would love some day for programmatic and/or free/cheap CAD to be competitive, but we're not there. Solidworks, Fusion, Inventor etc still outclass FreeCAD, which outclasses OpenSCAD.


I agree with your ordering of the various programs out there but FreeCAD 26.3 is now available as a release candidate with a wonderful collection of improvements. I'd think for many people, FreeCAD is now "good enough" for a lot of things. I'm building a virtual pinball cabinet and the whole thing is modeled in FreeCAD.

Mango Jelly's overview of some of the biggest new features: https://www.youtube.com/watch?v=WdTyFHY-5r4


Will there be an update of all documentation?

I tried to follow along w/ a book which was purportedly for 1.1, but it turned out to actually cover 1.0


The FreeCAD wiki is very good. The release notes for 26.3 are at https://wiki.freecad.org/Release_notes_26.3 and those entries link to relevant sections of the wiki that go into more detail. For example, changes to the Measurement tool on that page link to https://wiki.freecad.org/Std_Measure where you'll see notes like "introduced in 26.3".

The wiki tells you what the tools do. For learning how to use those tools to model something, YouTube channels like Mango Jelly's are a better bet. The pace of FreeCAD development has definitely picked up since the 1.0 release


>The FreeCAD wiki is very good.

In the past when I've looked there were a _lot_ of pages tagged as needing to be updated to 1.1 --- a quick search seems to indicate that enough pages have been updated that I couldn't quickly find any tagged as needing that for 26.3 which is a marked improvement.

I'm not patient enough for videos (though I have watched a fair number, they're just not clicking) --- I do far better with traditional documentation where I can walk through things at my own pace --- but I need for said docs to correspond with the UI of the application I'm trying to learn (hence my disappointment in the afore-mentioned text).


I hear what you're saying but good written stuff takes longer to produce than a video so there's that much less of it.

What I've found pretty handy for learning FreeCAD is finding an existing model and messing around with it to see how the original creator did stuff. That's where I started with my pinball cabinet. Once you get the basics down it is much easier to pick up on new features, many of which are enhancements to existing functionality.


Yeah, that's why I was willing to pay for a book.

That's an interesting approach, and I'll definitely keep it in mind --- maybe 26.3 will finally be the version where I learn FreeCAD.

I will note that I was moderately successful w/ Dune 3D on the basis of its quite nice textual documentation:

https://docs.dune3d.org/en/latest/simple-part.html


The mcp integration may be seen as both a blessing and a curse but tbh, it’s very interesting :) and hopefully as folks post and comment on more models that are generated with it, we can get a better training set.

I actually still use the freecad gui because it’s cheaper but I can totally see how someone new might just wanna use the MCP.


Ty! I will give it a shot. I last did 2 years ago.


Like others mention in comments below, it's better to first design the shape how it should be in the end, fillets included, than doing them afterwards.

Also, in many cases, extruding an SVG works wonders. Just design the flat projection in something like Inkscape, interactively, and then import and extrude. You can do this for many shapes, then combine or subtract, etc.

But the other thing is, I have found that in many cases I don't need fillets at all; when printing small parts on a consumer-grade 3D printer, the relatively low precision of the printer is enough to round the edges.


I think there’s evidence found for the origin of “彁” as the result of a poor scan of a newspaper article. Look up “彁 新聞” to find some japanese sources about this.


Ghost characters reveal something about the joint semantic and phonetic nature of most Chinese characters. I know 彁 isn't real: but it still insists on a pronunciation: ka in Japanese, (gē or gé Mandarin). And it hints at meaning: bowed weapon, sound, elder brother; but your guess is as good as mine!


> I know 彁 isn't real: but it still insists on a pronunciation: ka in Japanese, (gē or gé Mandarin).

Huh? How do you pronounce 切?

> And it hints at meaning: bowed weapon, sound, elder brother; but your guess is as good as mine!

Why is "elder brother" a meaning hint if you've already assumed that 哥 is the phonophore?


A component can contribute meaning as well as pronunciation. 沌 is pronounced like 屯 and they both have a kind of "gather" "clog" meaning


That is not a method of character construction. It could happen, but you would never expect it.

Also... there is no "gather" or "clog" sense of 沌? There's a "gather" sense of 屯...


According to https://kotobank.jp/word/%E6%B2%8C-2789579#goog_rewarded 沌 has a meaning "gather, water gathers"

There are other meanings to it.

I admit I had a hard time finding an example.


> I admit I had a hard time finding an example.

Where did you get the original 'example' of 沌 / 屯 from? Most people prefer to use examples that they have some kind of personal knowledge of.

> There are other meanings to it. [沌]

Not as many as you might expect. It's (part of) a mythological term referring to the state of the universe before it took the form we can observe today. It has a couple of other metaphorical meanings coming from that, or from traditional sayings related to that.

I see that wiktionary lists 沌がる as an alternate spelling of 塞がる "be blocked" [塞 - obstruct / block / plug], which looks like the closest thing we're likely to find to your earlier claim. Obvious problems using this to support your comment are:

- There's still no "gathering" or "accumulating" sense. (Nor is there an "obstruct" sense of 屯.)

- This is a meaning assigned long after the character came into existence, which means it cannot have informed the construction of the character.


I learned about 沌 quite a while ago when I studied the first few chapters of Genesis in Japanese (混沌 was used to describe the earth in Gen 1:2) and something jogged my memory when I was looking for examples.

The dictionary link I posted had あつまる、水があつまる in the first definition. I don't know if that's a reliable dictionary. Maybe you think it's not?

> - This is a meaning assigned long after the character came into existence, which means it > cannot have informed the construction of the character.

I don't know anything about which meanings were used first and which were added later, but what you say sounds believable.

> - There's still no "gathering" or "accumulating" sense. (Nor is there an "obstruct" sense of 屯.)

Let me clarify. Even without the first sense for 沌 in the above dictionary (あつまる、水があつまる) some of the other definitions for 沌 had "gather" included in it conceptually, namely clog and joined together without distinction.

This phenomenon we are talking about is called 会意兼形声文字 and this site seems to have a lot of accurate examples: https://okjiten.jp/20-kaiikenkeiseimoji.html#google_vignette

I confirmed a few, and they seem correct. I thought 界 was the most easily understood example. 介 means being between two things and contributes the pronunciation. 界 means region, span, separate, division.


> This phenomenon we are talking about is called 会意兼形声文字

There are no kana in that word, but if you search baidu for it you'll find a total of zero uses. It's not difficult to understand what the phrase means - "a character that is simultaneously 会意 and 形声" - but it's not an existing term. It looks more like a joke, the way English speakers will sometimes talk about "autoantonyms".

There is a list of six traditional categories of character construction, and we still understand what five of them mean:

象形 - a character that literally pictures its referent, as 日 depicts the sun or 木 depicts a tree.

指事 - a character that metaphorically pictures its referent, as 刃 indicates the edge of a blade by placing a mark next to 刀 ["knife"], or 本 indicates roots by placing a mark at the bottom of 木 ["tree"].

会意 - a character whose meaning derives from the interaction of two semantic components, as 明 ["bright"] pictures the sun and the moon, or 休 ["rest"] pictures a man next to a tree.

形声 - a character with one component indicating the meaning and another component indicating the pronunciation. The vast majority of characters are in this class, but we may use the example 河 ["river" or specifically "the Yellow River", today pronounced hé], in which the semantophore is 氵["water"] and the phonophore is 可 [a modal verb having to do with permission or ability, today pronounced kě].

假借 - a character that is borrowed from some other word (because it shares the same pronunciation). These have tended to be "corrected" over time, but an example would be the tendency in ancient texts to write 女 ["female"] for the word that is today written 汝 ["you"].

(The other category is 转注. We don't know what it means, but we are given an example - it means whatever the relationship between 考 and 老 is.)

> I confirmed a few, and they seem correct.

Really?

Really?

--- EDIT - my discussion of 与 is flawed. There is an ancient 与, and it is given as sharing its pronunciation with 與, while 與 is said to be 会意 with 与 as one of the components. 與 could be fairly called "both 会意 and 形声", though 与 can't. ---

The first example on the page is 与. This is a simplified form (from 與) and it doesn't carry any phonetic or semantic weight. It's a representation of that bit in the top middle of the older form. I can be sure that the page meant to list the simplified form, though, because it's in the category of "three strokes".

----------------------

Moving to the "four stroke" category, we can see 切 ["cut", today qiē]. This is as clear as they come: it has a phonetic component 七 [today qī], and a semantic component 刀 ["knife"]. There is absolutely no possibility that it could be interpreted as 会意, because the meaning of the phonetic component is "seven".

円 is another simplified form. It means "round" (like a circle). The older form is 圓, which does have two components: the semantic component 囗, and the phonetic component 員. The meaning of the phonetic component is "staff; personnel". I'm not seeing the case for how that contributes to expressing roundness.

攴 ["strike; beat"] is another 形声 character with a phonetic component 卜 and a semantic component 又 ["again" - the connection here isn't obvious to me]. The phonetic component on its own refers to divining the future, a concept unrelated to 攴.

(仁 appears to be a fair call. It is identified as a 会意 character for what I assume are good mystical philosophical reasons. But equally it's true that 仁 shares its pronunciation with its lefthand component 人 (and this was also true in the past).)

In the "five stroke" category, we find 氷 ["ice"]. This character doesn't have two components and therefore cannot be 会意 or 形声. Today it is more commonly represented as 冰, which does... sort of... have two components. However, it's a weird case, because the component on the left, 冫, is usually understood as the combining form of 冰 itself, making this character infinitely recursive. The ancient form of the character had 仌 on the left, but I haven't been able to determine to my own satisfaction what that signified. As best I've been able to tell, 仌 by itself is now considered an archaic variant of 冰, and it means "ice", making the ancient character self-recursive in the manner of the modern one. 冰 (or rather the older form 仌水) is identified as a 会意 character, and I guess you can see it that way - you have a character meaning "ice" built from components meaning "ice" and "water" - but since it seems to be identical with its own left component I have difficulty calling it 形声.

At this point, I really don't see any value in looking further into the page.


> Moving to the "four stroke" category, we can see 切 ["cut", today qiē]. This is as clear > as they come: it has a phonetic component 七 [today qī], and a semantic component 刀 > ["knife"]. There is absolutely no possibility that it could be interpreted as 会意, because > the meaning of the phonetic component is "seven".

Originally, 七 meant to cut vertically and horizontally (confirmed on a few sources).

Regarding 與 and 与, the site shows the breakdown for the former and shows how it was the older form for the latter. I guess you didn't actually click on the characters and look for the explanation. The analysis shows it comes from 牙+口+舁. The last is the meaning as well as pronunciation, the meaning being "hold up, carry together"

> > I confirmed a few, and they seem correct.

> Really?

Yes I did click through and read a couple of explanations.

As for 圓, according to the site the inner portion actually represents a picture of a 鼎 (ding). It is surprising to me, and a lot of this is theoretical and there will be more than one opinion. That same site doesn't say 員 itself is related to ding.

> if you search baidu for it you'll find a total of zero uses

There is a page on it right here. I cannot read Chinese but putting the first section into Google translate there is nothing surprising here. It also has examples. https://baike.baidu.com/item/%E4%BC%9A%E6%84%8F%E5%85%BC%E5%...


It is true that most hanzi are phonosemantic compounds; however, Japanese-created kanji are mostly semantic compounds. You can still guess the meaning, but good luck trying to guess the pronunciation.

https://en.wikipedia.org/wiki/Kokuji


The article mentions "an example of 彁 mistakenly used in a digitized Taisho newspaper due to a faded printing of 彊", but to me that implies the symbol already existed before then.


Isn't that backwards? The nonexistent character is in the -digitized- version so presumably OCR or something got 彊 wrong, that's not saying that 彁 was used in the -print- version.

Indeed, the source link is about exactly this: a crappy scan appears to have 彁 but a better copy reveals it was 彊.


I think you're both saying the same thing: the digitization of the article wouldn't have been the source, since 彁 would have had to exist before the digitization happened in order for the OCR to misread 彊 as 彁.


Most kanji are a combination of several smaller parts called "radicals" in English. If you look at these two kanji through this lens, you will see that it's actually a very simple mistake, one existing radical is replaced by another existing radical. It is very easy to imagine software that was working exactly like that: interpreting kanji as a combination of radicals rather than individual unrelated symbols


This reminds me of the pregnant man emoji [0] but it turns out they decided to handle that in an unusual way [1] so not really.

[0] https://emojipedia.org/pregnant-man

[1] https://www.reddit.com/r/technology/comments/u7x3l9/comment/...


The API lets you directly choose the model you want. Automatic thinking is a ChatGPT feature since ChatGPT has always been a “GPT wrapper” in that sense.


The list of models to be retired is about ChatGPT. Those models are still in the API.


Yeah, I'm very aware which is why I was replying to "I do wonder how long they will take to deprecate these models via API though..."


On the ChatGPT website, there should be an option to enable the legacy models in your user settings.


I don't think the dialog as described in the article is accurate and I can't find a screenshot of Windows NT that says "Windows has been shut down." The only screenshots I can find say, "It is now safe to turn off your computer." The confusion around the Restart button is understandable, but the framing of the story seems to imply that the old dialog led to the later phrase, "It is now safe to turn off your computer."


Looking at the photos, that calculator wheel on the back looks wonderful. Certainly better than the contemporary paper calculator wheel that I got with my Argus.


It is really great and always where you need it. The shutter on these things is amazing and solves all problems with leaf shutters, filth has little effect on it and even if it gets dirty enough to inhibit function you can just open the back of the camera and click the shutter and stop its rotation with your finger so you can clean it, it is like 1/16" thick steel so you are not going to hurt it unless you actively try. The only real problem with the shutter is the spring will need replacing every 10k photos or so, but that is a simple matter and even if you ignore it all that happens is that the shutter speed is slightly slower than it should be. This camera convinced me that leaf shutters should not exist.


In my case, I wanted to edit some HDR environment maps. They are a 360deg image of the environment used for 3D work. They need to be floating-point so that arbitrary brightnesses can be captured and used to calculate the lighting in the scene correctly.


Totally, and Racket is cool because you can see it as a framework for creating languages.

But Racket is built on top of Chez Scheme so you can also use that directly if you just want a Scheme.


This is interesting... when I visited recently I realized that Suica on Apple Wallet was more convenient than the physical card. The top reason is that you can use Apple Pay to top up your Suica whenever and wherever you are, without downloading any special app or needing to login to something.

However, one of my credit cards didn't work for that with no clear reason given, but a different one worked almost every time.


Consider applying for YC's Winter 2027 batch! Applications are open till November 2.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: