[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 : 865 points
Date : 2021-05-18 18:47 UTC (1 days ago)
(HTM) web link (blog.thea.codes)
(TXT) w3m dump (blog.thea.codes)
| ehnto wrote:
| > A one-woman company requires a far different approach than any
| sort of company with more than one engineer.
|
| An insight I feel many software projects could learn from, even
| in small to medium teams.
|
| Every tool has overheads in learning, maintenance, edge cases,
| and interoperability. The more abstracted the less agency you
| have over the tool, and time savers become roadblocks. Keep it
| simple, fewest dependencies, and close to where you have the most
| agency.
| 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.
| vfclists wrote:
| Why can't the word "man" be used to apply to both sexes when it
| is clear that it is being used in the sense of "person", ie "The
| tools and tech I used to run a one-person hardware company."
|
| The title somehow implies that some of the choices are a
| consequence of the author's gender when they are in all
| likelihood purely technical.
|
| Women should use "man" to refer to themselves in such instances.
| If it starts bothering "men" aka males, then the need to switch
| to "person" becomes more obvious.
|
| A point to note, there are many languages where the term to
| express "one man" is gender neutral. Perhaps languages like
| English should rethink their usage of such language.
| the_only_law wrote:
| > The title somehow implies that some of the choices are a
| consequence of the author's gender when they are in all
| likelihood purely technical.
|
| This implication reads as pure projection in your part. There
| is absolutely nothing else in the title or article to
| substantiate it. The author as a woman more likely just used
| the term as she is a woman and indeed the sole founder/worker
| of the company.
| vfclists wrote:
| FFS. This is not pure projection or anything.
|
| The simple fact that is in English language "man" is often
| used to apply to both sexes, the most common one being
| "Man"kind, another example being "Chairmanship".
|
| A company being run by a single person is understood to be a
| "one-man" company even if it is run by a woman, because the
| emphasis is on the fact of being run by a single person
| rather than a single person of a particular sex.
|
| PS. Have HN users become a downvote happy bunch in recent
| years, or is it just my imagination?
| globular-toast wrote:
| I have some genuine questions for (biological) women who might be
| reading. Please don't call me out or bury/flag this due to
| language. You know what I mean.
|
| How do you feel when you see posts like this from men claiming to
| be women? Is it inspirational? Are these the role models you
| lack? Would it solve the inequality issue if half of us men just
| started identifying as women?
|
| Oh look... men have flagged this, guess you're not allowed to
| tell me how you feel.
| jrmann100 wrote:
| I really enjoyed getting to know Thea and her work on an episode
| of the Embedded Podcast [1]. She has an infectiously positive
| outlook on open-source development.
|
| [1]: https://embedded.fm/episodes/359
| 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.
| shannongreen wrote:
| > The normal experience with C++ done well is no need for
| debugging
|
| You cannot possibly be saying this with a straight face :)
| ncmncm wrote:
| I guess it depends on who is doing it. If that's not your
| experience yet, it could be. Lean in on the type system, and
| make it work for you. The fewer bugs you leave room for, the
| fewer you get.
| stelcodes wrote:
| I absolutely love this web design omg
| giantg2 wrote:
| This is cool. One thing the article didn't get into, which I
| wonder about, is how she finds clients. It seems to me that this
| isn't a very big market.
| detaro wrote:
| Eurorack is full of small sideproject companies like this. You
| can get your product in front of a good chunk of the market
| just by posting in a few forums (where also blogs etc pick it
| up). + some social media and maybe loaning out a few review
| units.
| 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.
| marsven_422 wrote:
| Saw a PCB with "TRANS RIGHTS" on it, is this a man cosplaying as
| a woman...
| syntaxing wrote:
| I was under the impression most low level firmware is still
| written in C? Is there a new preferred language? (Rust?)
| bacon_waffle wrote:
| C/C++ is the most common IME, but Rust is coming along nicely.
|
| I'm working on a commercial firmware for ATSAMD21 using Rust,
| and have been finding it quite a nice experience. The tooling
| is great, PACs and HALs are at least as good as the last time I
| used the Atmel-provided ones, it's really nice being able to
| just add a line to Cargo.toml to bring in a library rather than
| cribbing from a prior project or writing my own.
|
| That said, the Rust HAL for SAMD21 is certainly not complete;
| I'm working from a forked version of it, and have issued a few
| PRs to extend/fix it and other libraries. There are a few
| areas, DMA in particular, where the community hasn't quite
| decided on the right approach.
| pjmlp wrote:
| C owns this domain, even C++ never managed to win that much of
| the market.
|
| While you might find some C++ compilers, most vendors don't
| have linker scripts that work properly with C++ code, or
| libraries without issues.
| 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.
| backslash_16 wrote:
| Thanks for the great and clear explanation, it makes more
| sense now! (a lot more sense)
|
| I didn't know that Rust support for a LLVM target isn't
| free and didn't realize micro-controller targets are so
| diverse. Very cool.
| sgtnoodle wrote:
| I'm only about a third of the way through the rust manual
| myself, so I can't say with confidence, but I suspect that
| rust's safe memory abstractions don't necessarily scale
| down to the lowest end of MCUs. The machine code
| instructions that make the code efficient simply may not
| exist on an 8-bit segmented memory CPU. That also touches
| on the gaps in LLVM support. I'll bet it's perfectly viable
| these days on any cortex-m MCU, though.
|
| Also, a lot of embedded code consists of peripheral
| drivers, and in rust that likely means "unsafe" code. At
| that point, it's a bit of a wash which language you work
| in. That's especially true since rust can interoperate with
| the C ABI.
|
| I haven't familiarized myself with all of rust's built-in
| data structures yet, and I'm not sure how much stuff
| necessitates allocating on a heap under the hood. That
| would be a compelling reason to carefully consider its use
| in some embedded systems. That's analogous to C++, where
| it's typical to avoid most of the STL data structures.
| steveklabnik wrote:
| Most of Rust's memory safety comes from compile-time
| checks, not runtime code.
|
| You do need some unsafe, but not as much as you may
| assume at first.
|
| Rust doesn't really have any complex built-in data
| structures, and doesn't require a heap at all. That's a
| standard library thing, which you wouldn't be using in
| this context.
| rcxdude wrote:
| Rust on a micro is more than theoretical. You could start a
| commercial firmware project on it today. However it is an
| extremely slow-moving segment of the industry so I wouldn't
| expect to see much of it for a while.
| 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.
| anta40 wrote:
| I guess we have to wait for libraries like USB stack written
| in Rust.... and not to mention LLVM support for embedded
| devices, yes?
|
| Not really sure, though. I'm a mobile dev, and not an
| embedded dev :D
| photojosh wrote:
| Definitely still mostly C. Although currently tossing up
| whether we use some very limited C++ for a new project: some
| templated types to handle memory safety, and some strict
| encapsulation.
|
| I'm quite intrigued by Zig and am hoping to get in and play
| with it, since it aims to be a "better C" (not C++) so it
| remains a small language. See this recent post which triggered
| my curiosity: https://kevinlynagh.com/rust-zig/
|
| (edit: more thoughts on Zig) I am intrigued because I want out
| of a new embedded programming language aligns perfectly with
| their approach. comptime instead of the C preprocessor,
| generics, any allocation is explicit (any memory allocation is
| at initialisation time), etc.
| rcxdude wrote:
| C is still by far the most dominant: even convincing embedded
| developers to use C++ can be a challenge. A subset of the rust
| community is focusing on it for embedded work, and it's very
| interesting for that in a few ways (relatively little technical
| reasons not to use it now: basically if it's an architecture
| LLVM can target you can write rust for it), but it's basically
| not even on the radar of most firmware designers (who as a
| group are fairly conservative and not likely to be looking for
| new languages anyway).
| 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...
| di wrote:
| Even her _theme_ is made with care!
| https://witchhazel.thea.codes/
| livre wrote:
| Thanks so much for this! I've been trying lots of themes over
| the years and nothing seems to be exactly what I want, that
| one looks like it is.
| sen wrote:
| Yeah she has such a clean aesthetic and great eye for design,
| everything from the graphic design to the hardware and
| marketing is just.. slick.
|
| I'd love to get back into synths but my bank account couldn't
| handle delving back into that world these days.
| 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!
| worldmerge wrote:
| > it's really reassuring that it is possible to do something
| like this in "solo" mode
|
| I'm very new to the hardware world but sometimes it feels like
| you need a big team to do it.
|
| Great product!
|
| > 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!
|
| Also would love to hear!
| amenghra wrote:
| Noice. If I were still working in an office, I would 100% get
| one!
| nudgeee wrote:
| Fun concept 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 an interesting contrast is that by day i'm a web/ios
| software engineer where memory and disk is largely plentiful,
| but by night i work on cramming TCP/IP + USB stacks and real-
| time audio decoding threads into less than 80KiB of RAM on a
| Cortex-M4 MCU.
|
| Currently busy ramping up production of a small batch of units
| and adding checkout to the website.
| worldmerge wrote:
| Great product!
|
| >Feels good to follow through from a hobby project to an
| actual shipping product.
|
| I'm currently in the hobby stage of a project. It's great to
| see people going from hobby to shipping.
| [deleted]
| slhomme wrote:
| Very cool. Good luck with the project!
| 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.
| mro_name wrote:
| Thanks for sharing - the writing and pointer to permaculture is
| inspiring.
| the__alchemist wrote:
| Great point on embedded dependencies - In theory they can be a
| time saver, but in Rust land, they're often too.. abstract, and
| full of missing features and bugs. Easier to open the datasheets,
| and send a few bytes down the SPI/I2C etc lines. I haven't been
| able to use any deps without forking. In Rust, popular
| abstractions tend to get in the way too, ie if a rust peripheral
| struct is trying to own a shared bus.
|
| Another good point, re HALs. She skipped the official HAL after
| finding it to be too much trouble. I've found that a good
| peripheral access library generated from SVD files is all you
| need, and is easier to work with than a HAL that's not carefully
| made. Ie an API that provides named register blocks, registers,
| and fields, and knows how many bits go in each, which you can
| read from etc. (Is this what the CMSIS lib she mentioned is?)
|
| Related to the last point: "I write very small, usually project-
| specific, abstractions over that" - If you decide a popular or
| official HAL isn't helping you, you end up writing your own HAL!
|
| > I've chosen to avoid using the Node.js ecosystem in favor of
| just plain JavaScript
|
| Also a choice I agree with.
| unwind wrote:
| CMSIS is Arm's own standard ("Cortex Microcontroller Software
| Interface Standard") for low-level software interfacing.
|
| It's on Github [1], and rather nice. Vendor's middleware can be
| of varying quality, so just using CMSIS seems refreshingly
| nice!
|
| [1] https://github.com/ARM-software/CMSIS_5
| the__alchemist wrote:
| Thank you. It sounds like it's something between a peripheral
| access lib, and HAL, in terms of abstraction level. A
| minimalist HAL.
| stefan_ wrote:
| Something is weirdly rotten in the Rust embedded ecosystem. The
| overarching experience is best described as akin to C++
| template metaprogramming. The final result is that setting a
| GPIO output somehow requires unwrapping an option, as if we
| didn't just set a single bit in some register and there were
| actual meaningful errors with that operation the uC could
| detect.
| the__alchemist wrote:
| Typestates and reliance on `embedded-hal` traits are a
| particular pain. I think we're in a weird spot, where the
| language itself, and some of the build tools (Like those by
| the Knurling team) are outstanding, but the most popular
| libraries have made questionable design decisions, and have
| flaws that show almost immediately.
|
| I'm curious how many teams are developing new projects using
| Rust, but staying away from the open source ecosystem.
| codeflo wrote:
| It's not just crates.io. I have a minimal, no Libc, no
| runtime dependencies Windows project for fun that compiles
| to a tiny executable of only a few kilobytes. If you're
| going down this minimalist/better C route, you increasingly
| have to avoid large parts of the Core library as well,
| which is becoming more bloated by the minute. The culture
| seems to move in the direction of "avoid unsafe at all
| costs" (even where that makes the API so complicated that
| it hurts correctness in practice) and "avoid dynamic
| dispatch at all costs" (even where that hurts performance).
| vbsteven wrote:
| Your comment made me wonder if crates.io is starting to
| show some of the same issues that npm has. Lots of small
| packages, not always consistent, focussed on one use case
| that make other use cases non-optimal.
|
| The recent posts about Rust in Android shows a side of
| this. They are avoiding Cargo in favor of plugging in their
| own build system. Use the language for its benefits and
| avoid the ecosystem (partly).
| rcxdude wrote:
| I think the case with embedded code on crates.io is more
| along the opposite: they're trying to make the experience
| as consistent as possible by defining common interfaces
| for embedded drivers so code can run consistently with
| different hardware or libraries. The problem is it's
| really hard to design such abstractions, especially
| safely, when you can't make many assumptions about the
| hardware it'll be abstracting over and efficiency is
| paramount.
| the__alchemist wrote:
| To address unwrapping the GPIO set: this is caused by a
| (popular) misuse of embedded-hal traits. The traits are
| fallible to be general, but HALs use this as their primary
| API, and make it always pass. So unwrap is effectively
| clutter, and misdirection. The answer is to provide a primary
| API that's decoupled from the traits, and bolt on the traits
| to support generic drivers.
| 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
| TZubiri wrote:
| I haven't done a bayesian analysis, but here's a theorem: if a
| computer nerd identifies themself as a woman on the internet,
| it's equally likely that they are trans or cis.
| ericwood wrote:
| Imagine writing a technical blogpost like this only to have
| people in the comments wanting to discuss your gender. It's
| insulting and off-topic.
| dang wrote:
| I appreciate your sentiment, but "only" is not accurate. Most
| comments have been remarkably positive; the rest come with
| the territory of a large, public internet forum. The
| community has acquitted itself well in terms of downvoting
| and flagging those.
| [deleted]
| ericwood wrote:
| The only was more a turn of phrase, I'm relieved to see the
| comments on this have evened out and ones like this one
| were flagged and removed.
| vga805 wrote:
| And before they cry that gender was mentioned in the title:
| that's just a phrase, and no one would have said anything if
| it said "one-man" company.
| AussieWog93 wrote:
| Hi Thea. I run a one-person OSHW business too. [1]
|
| Assuming your volume is greater than a dozen pcs/month, you're
| doing both yourself and your international customers a massive
| disservice by not outsourcing fulfillment and logistics (at least
| for international buyers).
|
| I went to order a single nut from your store, and the shipping to
| Australia was $35. Of course, this makes small purchases
| prohibitively expensive. But more than that, it shows that you
| don't care about your buyers from outside of the US, and
| conversely shouldn't expect them to care about you.
|
| This especially matters if/when your products become cloned.
| Piracy is a service problem, and any markets you are not serving
| properly will be serviced by the copycats.
|
| [1]https://espotek.com/labrador/
| detaro wrote:
| FWIW, with music gear it is more common that you buy the
| product from local stores carrying it. Only a few production
| runs in is a bit early to have good international coverage for
| that (especially if most of the batch is sold out in preorder
| anyway, which is what I'd guess at), but from the website
| that's clearly in the works.
| Taniwha wrote:
| I manufacturer my OSHW in Shenzhen and ship from there,
| shipping was far cheaper but thanks to Covid that's becoming
| less and less true, largely because the really cheap shipping
| was essentially people filling empty space in air-mail
| containers - and there's so fewer planes flying there just
| isn't that space. I'm now charging my customers a surcharge
| (but eating half the extra cost) - it still costs half of what
| I'd pay if I were shipping from here in NZ.
| analog31 wrote:
| I make a small electronic gadget in the US, and international
| shipping is a nightmare. I'm also a build-to-order business
| with a low sales volume. My recourse has been to simply limit
| myself to domestic sales while sharing my design. I am guessing
| that some of my products "leak" out of the US by people
| ordering through a forwarding company.
|
| There is some kind of insane massive asymmetry in international
| shipping costs that really does make it prohibitive to ship
| anything out of the US.
|
| However, if you've figured out how to do this well, I'd love to
| read more about it. Maybe another blog is in order. ;-) There
| are some things that are mysteries to me, such as what kind of
| inventory level is necessary to make everything run smoothly
| but without losing your shirt.
| AussieWog93 wrote:
| Yeah, I do have a tendency to shit on other people's ideas
| without offering a constructive alternative. I should
| probably stop doing that...
|
| Anyway, I don't know how applicable 3PL is for products that
| are built to order, but for something mass produced it really
| is as simple as putting barcode stickers on them (I use a $50
| desktop label printer for this) and then sending a box of
| them to a Chinese 3PL company (ChinaDivision etc.).
|
| This can and should be done from day 1 (again, probably not
| for bespoke items unless volume is high!), and will cover
| basically every country on Earth except Iran and North Korea
| with cheap and reliable logistics. Loudly trumpet that
| shipping is free (or fixed cost) no matter the buyer's
| location, and you'll get a lot of goodwill from buyers in
| underserviced markets.
|
| The next step from there is to set up an Amazon FBA presence
| in various markets worldwide. Even if you don't sell much
| inventory through their site, you can take advantage of
| Multi-Channel Fulfillment to send stock cheaply from a local
| warehouse. I pay something like US$50 a month to be a part of
| their logistics network, plus around US$5 per package for
| fulfillment and logistics regardless of location.
|
| Regarding inventory levels, if possible I'd recommend always
| holding enough stock to cover 6 months' worth of baseline
| sales at all times. If your product relies on word of mouth
| for discovery, a feature on a site like Hackaday (and the
| ripple effect that causes) could easily cause 3-6 months'
| worth of sales in a week. I learned this the hard way last
| year.
|
| Best of luck with your business, and if you want to have a
| chat about logistics feel free email admin at espotek dot
| com. It's something I really care about and it kills me to
| see so many people do it wrong.
| mellavora wrote:
| AussieWog, bonus points for humility:
|
| This thread is about Eurorack products, and you happen to
| sell a pretty sweet looking low-cost oscilloscope
|
| https://espotek.com/
|
| which you don't mention, because it is irrelevant to your
| super-helpful advice.
| 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.
| dmingod666 wrote:
| It's not a court hearing where things have to be accurate or
| you're lying.
|
| We generally is understood to be - me + project/company
| because the person and the project are not the same thing.
| Code bases do not get updated to reflect me/we grammer as
| people come in and leave.
|
| Also technically a company is an artificial person, even a
| single person project can be we.
| giantg2 wrote:
| It's probably good from a legal perspective as well to separate
| yourself from the company.
| dmingod666 wrote:
| We = me + my company
| spfzero wrote:
| This is how I think about it as well. Though I make the
| decisions, I do that for a corporation. That corporation is
| not the same as "me", though it may have only one owner at
| the moment.
| tdeck wrote:
| Yeah it's been interesting for me too when running a one-man
| SaaS side project. I want to break the mold of obviously being
| one person pretending to be many. When I used a boilerplate
| privacy policy as a starting point for my app, I had to go
| through and edit all the "we" and "our" language to either use
| first person, passive voice, or the name of the app.
| 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 is 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.
| chalst wrote:
| > As written, it sounds like the production assistant is
| separate from the person.
|
| Of course you are the best judge of what English usage is
| ambiguous to you, but your suggestion of introducing a
| comma there is at odds with the convention that you can
| tell whether a noun following a conjunction is a subject
| (i e., starting a new independent clause) or an object
| (ie. the conjunction is bringing together two objects
| into one collection) by whether it follows a comma. I
| think your proposed cure is worse than the disease;
| personally I didn't find lvh's sentence at all difficult
| to parse.
|
| https://www.grammarly.com/blog/comma-before-and/
| sodality2 wrote:
| Alternatively:
|
| > there's one other person- a production assistant- and
| two cats.
| dvt wrote:
| Because we're being pedantic, what you'd want is an em
| dash (--), not a hyphen (-). You would also omit the
| spaces.
|
| > there's one other person--a production assistant--and
| two cats.
| a1369209993 wrote:
| Or a spaced hyphen ( - ), if you want to stick with
| ASCII/keyboard characters.
|
| > there's one other person - a production assistant - and
| two cats.
| iudqnolq wrote:
| A bit pedantic, but a parenthetical can be indicated by
| em dashes, parentheses, or commas.
|
| https://www.bartleby.com/141/strunk.html (rule 3)
| open0 wrote:
| This phenomena where two nouns are placed side by side is
| called apposition:
|
| https://en.wikipedia.org/wiki/Apposition#Restrictive_vers
| us_...
|
| So the source of the confusion is that, in English, non-
| restrictive appositives typically are indicated with
| commas, but so are lists of conjuncts.
| CydeWeys wrote:
| That's fine in isolation, but mixing that inside a comma-
| separated list is not a good idea.
| iudqnolq wrote:
| I agree, but that's a matter of style. It's technically
| correct. I did say pedantic.
| a1369209993 wrote:
| Well, it's technically incorrect in that same way that
| system("echo "Hello, World!"");
|
| is incorrect - it mixes syntax in a
| ambiguous/incompatible way. It's a bit more amenable to
| silent autocorrect though, so YMMV.
| pabs3 wrote:
| system() in general is incorrect, there are much better
| ways to run other programs, like posix_spawn, fork+exec,
| libpipeline etc.
| a1369209993 wrote:
| For a non-constant argument, sure, but I was talking
| about the malformed string literal.
| pabs3 wrote:
| Even for a constant argument; it is better to just start
| the program than to start the shell and tell it to start
| the program like system() does.
|
| Ack about the string literal.
| lmm wrote:
| It's not. There is a C specification that requires quotes
| to be escaped within strings; there is no such
| specification for English. One can write English
| sentences that require arbitrarily distant pieces of
| context to be parsed correctly (much like perl, where one
| can write lines which may or may not be comments based on
| the state of some other part of the program), and such
| sentences may be unwise, but are by no means incorrect.
| lvh wrote:
| Thanks, I've edited my comment.
| felipemnoa wrote:
| >>As written, it sounds like the production assistant is
| separate from the person.
|
| Interesting, when I first read it I did understand that
| the production assistant was the person he was talking
| about. But yes, I can see why it could be confusing.
| anitil wrote:
| Louise and Lily are definitely 10x'ers though.
| 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.
| mateo1 wrote:
| I too love a good comedy.
| stormbrew wrote:
| I suppose this might be a good place to ask:
|
| Are there good beginner resources on working with kicad out
| there? I haven't really found much but maybe I'm just failing at
| my search terms because I'm not as familiar with the field as I
| should be.
|
| Esp. really beginner "baby's first circuit board design" and also
| "making minor modifications to someone else's board".
| _mitch wrote:
| I've found Chris Gammell's (Contextual Electronics) KiCad
| tutorials to be very practical and informative.
|
| https://youtube.com/playlist?list=PLy2022BX6EspFAKBCgRuEuzap...
| 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.
| ChrisMarshallNY wrote:
| The biggest thing that I notice, is the extremely _practical_
| approach she takes.
|
| Decisions based on reality, limits, and resources. Despite all
| that, she's a remarkably capable person that makes it all work;
| regularly, and repeatably.
|
| I've had to make those types of decisions all my adult life. It's
| how we _ship._
| robbmorganf wrote:
| I find it interesting that Thea always uses "Our" with respect to
| "our products", "our firmware". It's super interesting that even
| though it could be "my", she thinks of it as a product of a team.
|
| I also don't see anything that is specific to a "one-woman"
| company vs "one-person". Not that there's anything wrong with
| that; the title is accurate. Just wanted to point out this is
| applicable to everyone regardless of gender.
| RocketSyntax wrote:
| leave gender out of it
| recursinging wrote:
| I just this week shared my Open-Source DIY Eurorack Module [1]
| with the world, so I can fully relate to the article.
|
| It is a TON of work to pull off what Thea is doing here, and then
| to execute it all with such exquisit marketing on top. I'm
| impressed and wish her all the best in this fun (but crowded)
| market.
|
| [1] - https://kxmx_bluemchen.recursinging.com/
| 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
| NietTim wrote:
| Good to see two of them got the title right and didn't bring
| gender into it without any reason, since gender has no bearing
| on what your stack looks like.
| 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
| xupybd wrote:
| I love Lunchmoney but it pains me that roll over budgeting is
| not supported yet. It feels like the perfect personal
| budgeting tool for me only missing one very critical feature.
| 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.
| analog31 wrote:
| Working through her toolchain, step by step, looks like it
| might be a gentle way for me to finally wean myself off the
| Arduino platform.
| photojosh wrote:
| If you have a personal project in Arduino that you really
| like, I'd suggest trying to get that running on a bare metal
| dev environment, As opposed to trying with a brand-new
| project.
|
| In a previous job, we used Arduino (environment+boards) to
| quickly spin up prototypes and testing new peripherals, then
| moved them over to bare metal (avr-gcc+Makefiles, custom PCB)
| for our production.
|
| And if it's not too demanding a project, give this a go with
| AVR first, it's much simpler to move to bare metal than with
| ARM. Feel free to email with any questions.
| thombee wrote:
| ooh also check out kinopio, a tool that I've recently fallen in
| love with
|
| https://pketh.org/how-kinopio-is-made.html
|
| https://kinopio.club/
| warpech wrote:
| Great list. Another meta-entry to your list:
|
| https://github.com/cjbarber/ToolsOfTheTrade
| swyx wrote:
| great rec, will add to my list, thank you
| xbar wrote:
| I applaud all the things here. Mostly, I applaud this (holy
| smokes!): https://youtu.be/wqDm3DLclCk?t=359
| mshroyer wrote:
| This is really cool.
|
| So it looks like the Winterbloom module is taking a "pitch CV"
| input in the range of 0-6V... what would typically generate
| this input in this type of setup? And what do all those other
| modules on the rack do?
| fredoliveira wrote:
| Normally you'd use a sequencing module to send CV to the
| oscillator. I suspect that's where the orange patch cable is
| coming from.
|
| The rest of the modules do a number of things. In the actual
| patch (so, in use) you can see a Quadrax working as an
| envelope generator, a VCA, a pan mixer, a filter (in this
| case Mutable Instruments' Blades). It'd be hard to explain
| modular in a HN comment, but if this interesting to you and
| you don't want to spend a lot of money (modular is
| expensive), give VCVrack a look.
| pbhjpbhj wrote:
| There are a couple of comments in 'dead' relating to using gender
| [a self-identified gender that in this case differs from the
| writer's apparent sex] in order to promote oneself; suggesting -
| reading between the lines - that it's gauche to promote oneself
| based on some otherwise irrelevant characteristics.
|
| It seems to me there's a conversation to have about that, it's a
| shame that a) those comments seem a bit too dismissive and b)
| that HN just hides the controversy rather than talking it over.
| One of the comments in particular laments "steal[ing] the
| achievements of real women" which in tech circles is probably a
| quite important thing to consider.
|
| I think this is particularly interesting as the author writes
| that one of their values is "Don't try hide who I am, especially
| when it becomes difficult." [0] - to me this post goes against
| that value. I'm sure other will disagree.
|
| [1] https://blog.thea.codes/my-personal-values/
| [deleted]
| alex_young wrote:
| > a self-identified gender that in this case differs from the
| writer's apparent sex
|
| Sorry, but this is pretty tone deaf itself. How are you, or I,
| or anyone but the author suited to judge their stated gender?
| Shouldn't we leave that distinction up to them and just move
| on?
|
| The point of this discussion is the tech she is working on, and
| I think that's a really valuable conversation in and of itself.
| globular-toast wrote:
| > Shouldn't we leave that distinction up to them and just
| move on?
|
| No. We believe this is harmful.
| transgressions wrote:
| If that is the point of the discussion, then it should not
| have been framed in terms of a claimed gender, with this
| tacit insistence that we are to all share in this delusion.
| To do so invites such feedback.
| deliveryboyman wrote:
| This reads as if you didn't even read OP's comment.
| jacobian wrote:
| You seem to be saying that Thea isn't a "real" woman. That's
| insulting, gross, and incredibly inappropriate. It's not
| "controversy"; it's insults and hate hidden under this
| plausibly-deniable veneer of "conversation". It's bigotry and
| bullshit. I'm glad those comments are dead, and hope yours
| follows.
| transgressions wrote:
| Transwomen aren't real women, and that includes Thea. I mean,
| it's in the word itself.
|
| That's not to disparage Thea's work, which is both
| interesting and valuable. But this self-promotion as a woman
| is really quite absurd.
|
| It reminds me of the recent Pwn2Own competition, where Alisa
| Shevchenko became the first woman to participate and win a
| category in the contest. Nevertheless, that didn't stop some
| people trying to claim that a transwoman, who had previously
| competed as a man, was somehow the first woman to do this.
| Alisa put them right and was pilloried for it:
| https://twitter.com/alisaesage/status/1381543050476838913
|
| It's sad to see real women having their achievements
| downplayed or shoved aside like this, just to tickle the egos
| of men who don't feel comfortable being men, in this male-
| dominated space.
| globular-toast wrote:
| We don't hate anyone. We hate lies. Truly. Could you perhaps
| find the empathy in you to understand what it's like to hate
| lies and see that it's not the same as hating people?
| [deleted]
| birdyrooster wrote:
| Yeah Thea is as real of a woman as any cisgendered woman.
| It's upsetting that the commenter couldn't realize that there
| are legitimate claims about cisgendered women lack of
| representation in tech, but to come out with hateful language
| derails any useful discussion. They are literally creating a
| flame war while decrying that HN can't talk about certain
| topics. Also I am not sure this comment section is the place
| to talk about it.
| [deleted]
| [deleted]
| 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.
| Ndymium wrote:
| As a (mostly) solo dev of a project, I do switch between I and
| we sometimes confusingly, at least on Twitter. "I" focuses on
| my work (which the project mostly is) but "we" sounds more like
| there is a community (which there is, and others have helped
| me). So I'm not always sure which one to use for things like "I
| am / we are planning this feature".
___________________________________________________________________
(page generated 2021-05-19 23:02 UTC)