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

> OpenSCAD isn't really parametric CAD. It's a programming language; it's parametric for that reason. But it's not really CAD

Maybe this is pedantic, but why wouldn't OpenSCAD qualify as CAD exactly? It's still "Computer-Aided Design"? Sure, the UI/UX is different, but is there some qualifier to CAD around the UI/UX?.


It's me being picky about the meaning of the word "aided".

CAD is software to help people make complex things without having to do complex geometry/trig/general maths.

OpenSCAD doesn't really "aid" you much with this. It's a 2D/3D shape generator with boolean operations, but because it doesn't let you do constraint operations on 2D geometry, and it doesn't let you do further operations on the fundamental geometry (faces, edges, vertices) of the generated 3D solids either, it never liberates you from most of the difficult work.

I'm not even sure how much it aids you with "design": it doesn't support chamfers or fillets, it offers no tools for adding drafts or making truly uniform thicknesses. And it only generates meshes.

OpenSCAD is useful. I'm not saying it's not. But it is useful mostly for drawing strongly geometric or mathematically-derived solids and producing a mesh from it.


This highlights something that I wish was more prevalent, Path Coverage. I'm not sure of what testing suites handle path coverage, but I know XDebug for PHP could manage it back when I was doing PHP work. Simple line coverage doesn't tell you enough of the story while path coverage should let you be sure you've tested all code paths of a unit. Mix that with input fuzzing and you should be able to develop comprehensive unit tests for critical units in your codebase. Yes, I'm aware that's just one part of a large puzzle.


> For example, in OpenAPI 3.1, the type field of a schema can be a single string (e.g., "string") or an array of strings (e.g., ["string", "null"]).

> In a statically typed language like Go, this is usually handled by using interface{} (which loses type safety) or complex pointer logic.

Having worked on JSON Schema parsing in go very recently, I disagree with this assessment. You create a `Type` in one of a few (2?) ways, depending on your specific needs. The simple method being that it's a `[]string` under the hood with a custom UnmarshalJSON receiver function. If reproducing the exact input structure is important you can cover that by making `Type` into a struct with a `[]string` and a `bool` to track if it was originally a single or an array. Then you have custom MarshalJSON and UnmarshalJSON receiver functions. That is, in fact, how I've seen multiple existing go JSON Schema libraries handle that variable type. No use of `any` or complex pointers.


Having just swapped to a new TV on my Harmony setup I was concerned if it was still going to work. Lucky me, it did.

I really REALLY want someone to manufacture the thin harmony RF remote with a simple receiver puck with an open firmware. That's all we'd need because the HA crowd would be all over it and have it doing anything you want.


Why not render the markdown as HTML in this scenario?


Markdown is readable as-is I didn’t see the need to add more complexity here.


Just keep in mind, that could block legit users who are outside the country. One case being someone traveling and wanting to buy something to deliver home. Another case being a non-resident wanting to buy something to send to family in the service zone.

I'm not saying don't block, just saying be aware of the unintended blocks and weigh them.


Also consider tourists outside of their home country. If, eg I'm in Indonesia when Black Friday hits and I'm trying to buy things back home and the site is blocked; shit. I mean, personally I can just use my house as as a VPJ exit node thanks to Tailscale, but most people aren't technical enough to do that.


Great comment - thank you.


Their point was that WotC doesn't get the same flak that Value does when MtG is worse, by far, than cosmetic loot boxes.


Yes, I'm calling that questionable. Says who? TCGs have entire formats designed in opposition to the high cost random booster shit. I think that's pretty good evidence that there's high negative sentiment.

Valve is simply larger and took legal heat for people misusing the API.


I'm saying based on sentiment I see as a gamer.

There's plenty of outrage about paid loot boxes and viewing them as terrible, terrible gambling that exploits consumers and ought to be regulated/banned. Not everyone agrees with this take, but it's still fairly widespread.

Now, you do see people pointing out that trading card games are basically still gambling -- and no one really disagrees with that -- you just don't see the same level of outrage about it. What you usually see is grudging acceptance, ala "what're ya gonna do, that's just how these card games are".


Plastic dental picks work great for cleaning USB-C ports.


just don’t apply too much pressure or the center segment can bend over time, becoming weak and prone to potentially snapping off.

It happened to me at least.


I've never had an issue with this with Samsung. Hell, I don't think I've even cleaned out lint once on my current S24U over a couple years. Idk how you other people are brutalising your phones tho.


If you put your phone in your pocket, little bits of lint get in the port. Just tiny little bits. Then, when you use a USB-C plug, those tiny bits get compacted. Over time this results in a thin layer of compacted lint in the bottom of the port. Eventually this layer is thick enough that the USB-C cable won't positively lock onto the port. It'll still work, but it'll disconnect if you move it sometimes and just start to feel finicky.

I have to clean my port maybe once a year or so. I wait until the cables aren't locking and then I clean it out. The dental pick makes it easy and you are just dislodging that compacted mat of lint and removing it. Conversely, my wife never has the problem. Her phone never goes into a pocket, just her purse.


Haven't encountered that yet. But I always try to be extra careful and also look for the thinnest ones I can find. Seems like a product niche right there. Rigid, thin, non-conductive picks.


Yeah you want to focus on the outside corners of the port and be gentle with the inside contacts.


I love netguard. Some apps refuse to work without network access, but most work fine. The lack of ads is great.


They really should just let me spoof all the permissions and associated data for apps if I don't want them to have the access.


Some time ago, I used a module for Xposed on Android called XPrivacy which did exactly that. Yes, creepy app, you can have my location. It's Antarctica.

It does look like Xposed has successors, but my current approach is to just be selective about installing apps.


I use netguard and forbid network access by default for all apps. Mildly annoying for apps that need network access as I have to approve, but it's worth it.


The vast majority of apps need to use the network, at least sometimes. Eg turning network on to download podcasts then off to listen to them is annoying.


Depends on what apps you are installing. I love denying access to the network for games. It removes almost all ads from them. Even beyond full deny access, NetGuard gives you a lot around the conditions in which an app can access the network. I'd prefer if I didn't have to do any of this and the OS was on my side though.


On an unrooted Android you could use App Ops to do some of that with Shizuku.

I assume they don't expose it to users because once most people start to do that apps would start to implement detections, like if it spoof your location to a certain area then that area will get you "permission denied" error anyway, or I believe some apps do check that if your contact book is empty it assume you didn't give the permissions. It'd become a lot of work to implement a convincing spoof for most permissions to be blocked.


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

Search: