I had a similar thought about 3D printing - particularly extruding mathematically defined shapes in vase mode.
In both of these cases, mathematically generating the points to visit (in gcode) is needed, and we don't care about constant speed - the firmware handles the instruction->motion part.
I am thinking about non-planar printing mostly, but this could also apply to CNC finishing passes.
OpenSCAD is great for functional parts, built of basic components. It can start to be good for moderate complexity components with the BOSL library (I use BOSL2) including chamfers/fillets where needed. And the parametric/customization aspect is second to none - IF it's built with that in mind.
Where it really falls down is when you need to somehow get data OUT of the model to feed to other shapes. I would love to be able to specify a chamfer or fillet along a contact edge of two other shapes, but unless you know the exact contact shape, location, and size a priori you will have a tough time getting anything to line up. If you want to use a mesh or model as a negative, every model's zero coordinate needs to be just right or it will just be entirely misaligned.
I've also tried to spend some time performance optimizing for render/output. It is not cooperative at all. It will just soak CPU time for a minute at a time for not even a complex shape! As pseudosudoer said, it really goes off the rails.
But for functional connectors, adapters, and replicating parts, it's great to be able to leverage my software skills in 3D modeling!
>I would love to be able to specify a chamfer or fillet along a contact edge of two other shapes
Yes, this is how the big cad programs work, they are 'constraint based'. You pick points and lines from other features (or other parts) and add whatever new geometry you want, and a solver fills in the rest. Features build off each other in this way. In OpenSCAD, you are the solver. But, the big programs have a ton of buttons, and scripting, while there, is usually hidden.
It's kind of like the difference between <insert image library> and Photoshop. Photoshop has a ton of useful tools inside, but if all you want to do is crop the bottom 30px from 2000 images, it's better to have a script do that. The scripts can technically do everything that Photoshop can do, but for other things it's easier just to click a few buttons and be done than reinvent the wheel from the ground up each time.
Judging from a recent thing I watched[1] ... ~1.5 mins per nail (as of the 8.5 hr + 352 nail mark), while streaming and talking.
That would bring it down to only ~7 years of labor if we call it 1 min per nail, assuming that you're already working from prepared bar stock. Still a significant expenditure of skilled labor!
A nailer in the US in the 18th century could apparently make 200 nails per hour.[1] One in the UK reported making 3,000 nails/day in the 19th century.[2] Adam Smith reported seeing boys making 2,300 nails/day.[3]
As I understand it, nail making was largely unchanged from the Roman era. One would have to adjust for work hours which differed in the past than today for those, but it like it would take someone 2 years to produce that number working modern hours, though likely less than 1 in the era they were produced.
Apples to oranges, but assuming the equivalent of (say) $10/hour, at 2300 nails / hr * 8 hrs, that would be $80 for 18,400 nails, or $0.004/nail.
Quick google suggests iron was 1/300 the value of silver in the Roman empire, so if we say $40/oz, that makes an oz of iron = $0.13.
a 10-penny nail is about 0.2oz, so $0.026/nail.
$0.026 + 0.004 = $0.03/nail.
If I go to home depot, 1lb / ~80 10-penny nails would cost me $9, or $0.11.
So, astoundingly, it was cheaper in the Roman empire to buy nails(??). That doesn't seem right... Modern nails are different material (galvanized / zinc coated), but still.
Sure. I guess I was pointing out in a roundabout way that one of the assumptions must be wrong. I don't think 2,300/hr feels realistic. 200 seems much more reasonable (or less). I'd be inclined to believe 1 nail per minute (sustained). If you assume $20-40/hr, now we're up $2-4/nail which seems much more reasonable.
I would not use silver to compare prices from that long ago, silver and gold were both cheaper than today.
I would use the salary for a day labor instead. Like if I spend my salary for a day on just nails, vs how many nails a smith could make for the same number of working hours.
Sure, but that means the Roman cost would be even cheaper. If silver was cheaper in Roman times, and iron was 1/300th the cost, then the Roman nail becomes even cheaper (which doesn't make sense)
I'm not sure what the hourly rate for a day laborer would be. $20/hr?
I think the real issues with this calculation are the idea someone can crank out 2,300 nails / hour. I think 1 per minute (sustained) seems much more reasonable.
That makes the labor cost 40x more. And maybe it would be a semi-skilled occupation, so $20/hr or $40/hr makes more sense. So now the labor cost is 150x more.
This is exciting. I am an architect in a startup that has long valued bringing humans in the loop for the moments when only humans can do the work. The key thing missing between the potential seen in the last couple years of LLM-based fervor and realizing actual value for us has been the notion of control and oversight. So instead, we have built workflows and manual processes in a custom way throughout the business. Happy to discuss privately sometime! (email in profile)
Congrats on the launch! I'll be thinking about this for a while to be sure.
P.S., there is a minor typo on the URL in your BIO.
Any recommendations for a privacy-focused app that can handle transaction splitting in ways other than 50/50? Or tracking accounts from multiple people in a household?
Every app I've tried this is painful or unsupported.
I used to really like Splitwise for group expenses, but they at some point throttled the free accounts to 4 transactions/day, which is painful. Paying a monthly subscription isn't worthwhile if I only use it in bursts a couple times a year, so its back to spreadsheets.
I created https://github.com/VMelnalksnis/Gnomeshade for myself, transactions have separate transfers which are between accounts, and purchases, which allows to categorize your spending. This setup also allows to easily handle multiple currencies.
In my experience, gnucash qualified easily as painful. :)
Here's an example of what I'm talking about: suppose you and a housemate decide that an equitable split for the electric bill is 65/35 based on usage habits. One person pays the electric bill every month. All of these finance apps will download the transaction, categorize the electric bill for me, and maybe apply a custom tag. But I have to manually calculate the amount owed to me, and manually reconcile that with the fact that the other person pays the water bill.
I'd love to find an accounting app for shared arrangements, but it seems like most are targeted to solo or completely joint finances. Monarch listed elsewhere in these comments is the closest I've seen, but it also doesn't support reconciling split transactions.
I see. I split my monthly cell phone bill among 8 family members. This is a manual process, but not too bad since I do it on average twice a year (faster to sign in and download 6 PDFs once than to sign in 6 times to download 1 PDF each time, etc.). So a few minutes to download 6 statement PDFs, 10 minutes to key numbers from those PDFs into my spreadsheet, and then 15 minutes to go through and manually split the transactions based on totals from the spreadsheet.
I'm pretty sure I could write a custom importer for Beancount but the breakeven point on time would be years.
I think modifying the CSV importer for Beancount to split certain transactions to certain percentages would be fairly easy--switching to Beancount itself (or other Plain Text Accounting software) would of course be monumental. But it is the ultimate in flexibility.
Part of what you found painful about gnucash is probably that it handles cases like this properly. Not saying it (gnucash) is perfect - far from - but a certain amount of effort is I think a side effect of having both proper accounting practice and configurable account types. Not sure you'll find something really easy that also does it well. In your case different peoples expense accounts would keep a rolling tally and help you figure out what the end of month transaction should be to even things out.
But any tech may be overkill. In a e.g. roommate situation, a paper record per month (plus receipts, if lower trust) works fine.
OJO Labs | Austin, TX USA | Hybrid/ONSITE | Full Time
OJO is an Austin-based real estate technology company partnering with the top real estate agents and teams to deliver value to millions of consumers on its platform. The company’s platform for buying, selling, and homeownership meets people wherever they are on their journey, offering personalized guidance every step of the way. Through a bespoke combination of people and technology, OJO cultivates a deep understanding of individual needs and preferences, matching people with the right tools and trusted providers to equip anyone to unlock the abundant benefits of home ownership.
I've worked at OJO for just over 4 years now, including times of significant change, struggle, success, and a pandemic. It has set the bar as the best place I've ever worked, both for how employees are treated and for the caliber of my coworkers!
My work email is in my profile - if you're sending a serious application to me directly, you should probably take a moment to reference the illustrious Ada Lovelace somewhere in your resume or cover letter!
We're currently seeking:
- Senior Full Stack Software Engineer:
While this position has a heavier lean on the frontend you will still be involved with backend development and spend time at the architectural level designing full stack solutions. Apply at: https://grnh.se/fd7c9fb54us
- Senior Software Engineering Manager:
A mindful, empathetic, and self-aware Senior Engineering Manager who will lead engineers building software in a collaborative development process. Apply at: https://grnh.se/8e7065034us
OJO Labs | Austin, TX (HQ); Minneapolis, MN; San Mateo, CA; Chicago, IL; Toronto, ON | Full-time | REMOTE (some states) and ONSITE | https://www.ojo.com
OJO envisions a world where everyone has what they need to own a home. We know that homeownership is one of life’s most complex decisions and access to trusted advice and expertise can be the difference-maker. Through the fusion of machine intelligence and human expertise, we meet people wherever they are in their home journey to provide deeply personalized guidance and support.
Our intuitive technology learns each individual’s needs and preferences to provide a tailored experience whether they’re buying, selling, or managing their home as an asset. We then help them to move forward when the time’s right — with support, knowledge, and confidence.
From our network of top-rated agents we’ll match homebuyers and sellers with the expert who can best support their specific journey. We introduce agents and loan officers to consumers at just the right time, and underpin the connection with tools and insights to ensure a best-in-class experience.
As part of our team, you’ll help create the experiences that help level the playing field in real estate, so that all people — regardless of race, class, or gender — can experience the gateway to wealth and the security that home provides.
On a personal note - I've been at OJO for 3+ years as a senior tech leader, and there is no team of people I'd rather solve problems with! Empathy is a key attribute here, and I often say that kindness is part of my job description. I'm proud of what we build, but even prouder of how we build it.
Email and LinkedIn are in my profile, or use ojo.com/jobs
I use this documentation aggregator/search in the browser to access most language docs. It might serve as a whitelist starting point! https://devdocs.io/
I'm at 50% delivered for my year-long subscription, one of which I had to specifically request through their support site. These delivery issues are the key thing that has prevented me from extending my subscription or buying Prime for other people.
I want them to succeed and really like the content, but success is self-reinforcing in media.
In both of these cases, mathematically generating the points to visit (in gcode) is needed, and we don't care about constant speed - the firmware handles the instruction->motion part.
I am thinking about non-planar printing mostly, but this could also apply to CNC finishing passes.