[HN Gopher] The tools and tech I use to run a one-woman hardware... ___________________________________________________________________ The tools and tech I use to run a one-woman hardware company Author : todsacerdoti Score : 394 points Date : 2021-05-18 18:47 UTC (4 hours ago) (HTM) web link (blog.thea.codes) (TXT) w3m dump (blog.thea.codes) | ModernMech wrote: | > I initially started with Makefiles, but it quickly became hard | to work with. Makefiles are wonderful, but at a certain level of | complexity it makes more sense to move to an actual turing- | complete language. | | Small nit, Makefiles are Turing complete. This of course does not | negate the stated reasons for moving to Ninja -- despite being | Turing complete Makefiles _are_ frustrating at a certain level. | rightbyte wrote: | I guess she uses Python to generate Ninja files. If she thought | makefiles were unwieldy writing Ninja seems strange. | ncmncm wrote: | All this makes sense, except that programming microcontrollers | without C++ leaves you in a world of pain. Most of what one uses | C++ for, in that environment, happens at compile time, automating | stuff that is bound to go wrong if you keep trying to do it by | hand. | | So, no virtual functions, no memory allocations, no smart | pointers, probably no exceptions. But, templates that earn their | keep. The normal experience with C++ done well is no need for | debugging. Debugging microcontroller code is a royal pain, so | preventing whole orders of possible bugs is worth a lot. | stelcodes wrote: | I absolutely love this web design omg | transgressions wrote: | Interesting post, not a woman though. | | Just a man in a frock, see: | https://twitter.com/theavalkyrie/status/1124493829510447107 | | Let's not steal the achievements of real women by pandering to | men playing dress-up. | williesleg wrote: | I hate assholes who use their gender or color to push their | point. | syntaxing wrote: | I was under the impression most low level firmware is still | written in C? Is there a new preferred language? (Rust?) | sgtnoodle wrote: | C and C++ still seem to be prevalent. At least in my | experience, rust on a microcontroller is still mostly | theoretical. There's plenty of obscure languages, though, both | compiled and interpreted / virtual machine based. | | For "embedded" linux grade CPUs, rust is starting to gain some | practical traction. A few years ago the idea of writing | application level glue code in it was still a bit silly, but | these days it's starting to actually get linked into production | systems. It all seems to be done in a way that's interoperable | with existing C/C++ codebases, though. | backslash_16 wrote: | Explaining my experience - I haven't done any hardware or | firmware programming besides messing around with Ardunios. I | have written a low amount of C (tiny VM for toy language) and | a moderate amount of Rust (a couple thousand lines for | various projects, mostly console apps that needed to run | fast). | | It sounds like you have some experience in this and I have | been curious for a long time why Rust can't or doesn't run on | almost every micro-controller? Is it based on the compiler? I | thought that because Rust has no runtime/produces a binary | which does not require a runtime that as long as the Rust | compiler emits the right backend instructions it should just | work? | | Adding to my confusing, I think rustc uses LLVM which is a | way of separating a language's frontend from the backend code | emitted, so I thought any micro-controller supported by LLVM | would work for Rust. | steveklabnik wrote: | My day job is writing Rust code for microcontrollers. | | What you're saying isn't wrong, it's just that... embedded | development is _incredibly_ diverse. LLVM doesn 't support | as many platforms as GCC does, and even once LLVM gets | support for something, we need to do some work in Rust to | get things working; support isn't automatic. | | If you get to pick what your hardware is, Rust is | fantastic. If you don't get to pick... it's a roll of the | dice. | luma wrote: | Not really, C is pretty deeply entrenched in the embedded | world. Unless you want to bitbang something like a USB host, | you'll be relying on vender libraries, and those libraries are | overwhelmingly developed in C. Same is true for pretty much the | entire build chain, debug tools, etc. | tgflynn wrote: | Kind of. Rust seems to be becoming quite popular. It has | features that allow low-level programming while maintaining as | much type safety as possible. There's even talk of using it in | the Linux kernel. | | EDIT: I'm not sure why you ask that here though. Rust doesn't | appear to be mentioned in this post. | matheist wrote: | Not OP, but probably this bit: | | _> I write our firmware using C. While some might gasp at | using such an "old" language, it turns out that the | combination of my familiarity with C, the maturity of its | resources and tooling, and the low-level nature of writing | firmware means that C happens to be a joyful language for me | to write firmware in._ | | Which has the flavor of defending the choice of C as if it | weren't the standard choice. | smackeyacky wrote: | Realistically for most micro controllers it's the only | choice other than machine code. Basically because it's the | only one offered by the manufacturers. | mc42 wrote: | Thea's work is immaculate, and always an interesting read. Her | synthesizer modules use FR4 PCBs as the front panels as well, a | technique that's pretty popular but executed so well it's | beautiful. [1] Even her documentation is made with care; when I | have more disposable to spend I'm definitely buying a module. | | [1] - | https://twitter.com/micktwomey/status/1383527521744867338/ph... | slhomme wrote: | Very inspiring. I'm myself starting a similar journey with my | first hardware product (https://getgumball.com) and it's really | reassuring that it is possible to do something like this in | "solo" mode. We hear a tone of people doing it in the SaaS work, | but not so much in hardware - if anybody here knows other similar | examples, I'd love to hear about it! | amenghra wrote: | Noice. If I were still working in an office, I would 100% get | one! | nudgeee wrote: | Nice one, and congrats on the product! | | I've shipped out the first few units of my solo project a | couple of weeks ago (a super niche tool for DJ's): | | https://cardinia.net/mini/ | | Feels good to follow through from a hobby project to an actual | shipping product. Its been fun re-igniting all the things | learnt during electronic engineering classes back in | university. | | What is a fun contrast is that by day i'm a web/mobile software | engineer, where memory and disk is large and plentiful, and by | night i work on cramming a TCP/IP stack, USB stack and audio | decoding threads into 80KiB of RAM :) | | Currently busy ramping up production of a small batch of units | and adding checkout to the website. | zdw wrote: | Looks cool! | | FYI, the About/FAQ/Pre-Order links at the top of your site are | currently broken. | slhomme wrote: | Oh thanks! Yes, this website is still very much a work in | progress I do it the "#buildinbuplic" way, so some content on | the website still needs to be created / improved. | goatcode wrote: | Hats off to this lady for running a one-person tech company. | Doing all the tech stuff would be easy, but handling bookkeeping, | taxes, supplies, logistics, vendor relationships, sales, customer | relations, everything... I'd actually die. Loads of energy! | deltaeerie wrote: | Winterbloom's documentation is also truly amazing. So much | polish. E.g. https://gemini.wntr.dev/ | walshemj wrote: | Realy nice link - I have just put together a korg nts1 kit | monphonic synth. | | I remember looing at the early acorn computers that where in | eurorack modules - this is the one before the Acorn Atom | codazoda wrote: | I find her use of the words "me" and "our" refreshing. I've | created a bunch of mostly unsuccessful businesses(1) and haven't | really resolved this language for myself. Here are a couple | quotes from the first paragraph... | | > exactly one engineer - me | | followed by | | > our current tech stack | | This is something I struggle with when I'm writing about my own | business or product. Sometimes "our" feels like the right thing | to say but I know it's really just "me". She seems to have | resolved this herself and uses "our" when speaking about the | company, the technology, company philosophy, etc. It's kind of | refreshing and she might have just helped me decide it's okay to | say "our" as a solo maker. | | 1: https://joeldare.com/how-to-lose-money-with-25-years-of- | fail... | GuB-42 wrote: | As I said in a downvoted post, I disagree. The post is a | technical writing with an emphasis on setting up an environment | for a single person. | | For a technical writing, I would treat it like code, use the | most accurate word possible, and here it is "me". | | Even more confusing since by looking at the company website, | there is more than one person involved. For example "When we | use a third-party library, we pull its source directly into the | firmware's source tree" implies that someone else has access to | the repository when it doesn't seem to be the case. | anotherevan wrote: | Although she is the only engineer, I'm assuming she is not the | only person in the company, so the use of "our" might be a | reference to the tech stack "used by the company" in that | context. | lvh wrote: | Correct: there's one other person, a production assistant, | and two cats. [0] | | [0]: https://winterbloom.com/about | a1369209993 wrote: | > there's one other person, a production assistant, and two | cats. | | A bit pedandic, but since we're talking about grammar | anyway, that should probably be: | | > there's one other person (a production assistant), and | two cats. | | As written, it sounds like the production assistant is | separate from the person. | zinckiwi wrote: | The royal we serves an excellent purpose. A rule of thumb could | be: imagine you hired an employee. What would stay "we" and | what would stay "me"? In the former case, the fact that you are | solo is an implementation detail and should be abstracted from | your audience. | ramshanker wrote: | Our is the two together : Speaker/Writer + Reader/Audience. | When I am writing something with the mindset of explaining it | to others, even code comments, ours feels more natural to me. | Imaging a person sitting across the table, and we are | demonstrating something. So instead of saying, "Now I am going | to turn this nob", it feels more natural to me to say "Now We | are going to turn this nob". | valbaca wrote: | I agree. I think one thing that helps is what would change if | another person joined. | | Who started the company? Well, that would still be you and will | never change, so use "me". | | Who owns the tech stack? Right now it's "me" but after another | hire it would be *us*. | ChrisMarshallNY wrote: | Thanks for sharing that! | | I love this: https://winterbloom.com/about | | My HR department is twice the size of hers. | | I too, am a one-person (gender difference) company, and there's a | _ton_ of stuff I do that would not work with a team. | steve_adams_86 wrote: | Without knowing much about the hardware scene, this was | incredibly easy to follow, informative, and generally really | interesting. This is a cool overview. | | Also very impressive. What an undertaking. I can see why someone | like this would succeed - she seems exceptionally organized, | knowledgeable, and competent. | | I have dreams of getting into hardware sometimes, then people | like this really temper that thought. I don't have anywhere near | the chops and brain power to pull something like this off. | kingsuper20 wrote: | Without looking at any pictures or researching, I have a strong | feeling that this is a dude. | xupybd wrote: | Interesting writing style. I like the switching between I and we, | it reenforces that this is a company of one. | shrimpx wrote: | It's similar to academic writing in single author papers. | Generally you'd use "we" but specify "I" in cases where you're | emphasizing a personal choice. Also, "we" is often broad enough | to include the reader, too. | canadianfella wrote: | I don't like that at all. "We" means more than one. | bambax wrote: | I was wondering about this. Is it a company of, like, two | people, where she's the engineer and there's someone else doing | other stuff like marketing? Or is she alone, and if yes, why | the plural? | | Amazing project and superb writing in any case. | slx26 wrote: | https://winterbloom.com/about | milesvp wrote: | As someone who's been thrust into the embedded world for the | last couple years, I have to say that her posts are a breath of | fresh air. Her other articles are well worth the time if you're | interested in the topic. | swyx wrote: | ah the solo dev tech stack! a very popular category, but this is | the first one that is hardware focused. | | software ones i have collected: | | - https://draculatheme.com/pro/journey | | - https://www.indiehackers.com/post/launched-my-first-course-e... | | - https://panelbear.com/blog/tech-stack/ | | - https://jake.nyc/words/tools-and-services-i-use-to-run-my-sa... | | - https://www.listennotes.com/blog/the-boring-technology-behin... | | - https://anthonynsimon.com/blog/one-man-saas-architecture/ | | - https://news.ycombinator.com/item?id=25614966 | purerandomness wrote: | Jen built https://lunchmoney.app (a budgeting and personal | finances tracking app with a great UX) all by herself. | | https://lunchmoney.app/about | herodoturtle wrote: | Fellow solo SaaS owner here. | | I'm only part way through reading all of your linked articles, | and so far they're absolutely great! | | Just wanted to say thanks for collecting and sharing. | swyx wrote: | haha thanks. i collect it for my paid community | #shamelessplug https://codingcareer.circle.so/c/creators- | mastermind a small group of fellow creators and indiehackers | here. i started with an infoproduct myself (made $120k so | far, def recommend it to everyone before tackling your own | SaaS), looking to work my way up to saas someday but am being | patient with it. | GuB-42 wrote: | I am a bit confused about the writing. Sometime it is "I", | sometimes it is "we". | | Does it means there are other people involved? Contractors maybe. | | Edit: | | Answered my own question. Design is indeed a one-woman job, but | helped by one other woman (and two cats) for production. | | And looking at the downvotes, it looks I was the only one | confused. I was wondering about it for the repository aspect. | Working alone is an entirely different experience compared to | having even a single other person on the same codebase. ___________________________________________________________________ (page generated 2021-05-18 23:00 UTC)