[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)