carrigan
Joined 13 years ago
Joined 13 years ago
I'm fairly bearish on direct capture solving much though. It requires so much capital and energy just to replicate the carbon capture that we can already do just by growing plants. I hope that companies like Charm will also get significant funding to pursue using plants for the capture part.
I have worked for a significant time in my career as both an embedded engineer as well as a backend engineer, and in general I find that the backend code is way easier to read, maintain, and extend. Embedded code is seldom properly tested and most of it is written in C where people can abuse a library's contracts or the preprocessor. It is not uncommon to find functions that are over a thousand lines in the embedded world. Compare this to Rails where there are a ton of standards, short and succinct functions, and good support for testing.
I guess it depends on your definition of "quality code". If you mean code that is dependable and will do one thing well on one platform for the rest of time, then embedded code could be considered high quality. I would debate that these items have more to do with the binary than the code though. If you mean code that conveys how a program works well to other programmers, is under test, and follows some standard structure, I would pick modern app development as typically being much higher quality.
Remote: Yes
Willing to relocate: No
Technologies: Backend Development (Ruby, Elixir, and Python), Embedded Device Development (Firmware in C and C++, design and layout in Eagle and many others), Frontend Development (vanilla HTML+JS+CSS preferred but also experienced with React)
Resume/CV: https://www.linkedin.com/in/briancarrigan/
LinkedIn: https://www.linkedin.com/in/briancarrigan/
GitHub: https://github.com/carrigan
Email: [email protected]
I have been working as a mixed web and connected device freelance professional since last September and am open for contract based work or a full-time position at a hardware or IoT focused product shop.
Remote: Yes
Willing to relocate: No
Technologies: Embedded C/C++, Ruby, Elixir, Python, HTML, CSS, Javascript, PCB Layout
Résumé/CV: https://www.linkedin.com/in/briancarrigan/
Email: [email protected]
GitHub: https://github.com/carrigan
---
I started out my career as an embedded engineer for 5+ years, writing firmware in C/C++ and laying out circuit boards. During this time, I worked on learning web development and working with some friends on a real estate startup, and eventually made full-stack web development my full time job for the last 3 years.
I recently left my day job to begin freelancing on full-stack IoT projects. If you are a software company looking to make a device or a hardware company looking to bring your device's data online, I'd love to talk. I'm also available for full-stack web development work in any of the languages listed above.
Remote: Yes
Willing to relocate: No
Technologies: Embedded C/C++, Ruby, Elixir, HTML, CSS, Javascript, PCB Layout
Résumé/CV: https://www.linkedin.com/in/briancarrigan/
Email: [email protected]
GitHub: https://github.com/carrigan
---
I got my degree in Electrical Engineering and practiced as an embedded engineer for 5+ years, writing firmware in C/C++ and laying out circuit boards. I spent my spare time learning web development and working with some friends on a real estate startup, and eventually made full-stack web development my full time job for the last 3 years.
I recently left my day job to begin freelancing on full-stack IoT projects. If you are a software company looking to make a device or a hardware company looking to tie your device into the web ecosystem, I'd love to talk.
In addition to the HAL annoyances that turbinerneiter talked about, I wound up giving up this time because I could find no way to manipulate strings in a static buffer. In C I could just allocate two 17 byte strings statically and then `sprintf` to them, but there seems to be no equivalent in Rust.
I'd be curious to know what limitations others have run into when trying this and if I was just doing it wrong.
STV Algorithm: https://github.com/carrigan/elixir-stv Phoenix API: https://github.com/carrigan/vote-service