133 karma · joined February 13, 2010
Just stop working on this site for 3-4 days and get your mission statement together. Maybe put some pictures of actual test fixtures if you test boards or any of your rework equipment. Every PCB/PCBA shop out there puts rework videos on its 'gram. It's just really hard to understand your business with this edgy/terse hustler kind of talk. Or your careers page where I get the sense that move fast and break things is the backend philosophy. Not a good look for someone who wants PCBs fast.
I so want this to work but holy cow I can't even understand where you guys are coming from.
1) First issue: I do not know what your manufacturing constraints are for PCBs...the number of layers is not documented. I don't even know if you support FlexPCBs.
2) I suppose I could figure out if you could make my boards in seven days if I played your upload game...but I should have to do that. Even the following site, with its clunky UI, makes it more clear what they can or can't do: https://quickturnpcb.co.kr/
3) You say you ship "tested" boards, but what does that mean? Firmware testing? Emissions testing? If you ultimately choose the MPNs, does that mean you own the failures if the board doesn't come up?
4) It's not clear if you accept consigned parts. It's not even clear if you are properly storing the parts you are kitting with respect MSL, ESD, etc.
5) In the end, what makes you any different from a typical broker like Millenium Circuits Limited? (Not that I am endorsing them, as I have had terrible experience from them as well)
6) If you are owning testing and promising quick turnarounds, I would assume you are actually shipping test fixtures to the CM before they ship so they can rework if necessary. But again unclear from your description
So if someone is telling you not to trim the lead...I'll let you draw your own conclusion.
Negative lengths are not compatible with unsigned representation.
A system implementing invalid string values must choose a text encoding such as UTF-8 that supports the concept of an invalid character. Null termination is too flexible. As such is simple length prepending.
Let's take strstr, which finds a matching substring needle in a haystack string.
-returns a NULL string if the needle is not in the haystack. -returns pointer to first matching substring.
Extend strstr with VALIDITY
Understood behaviour if both are valid.
Say the haystack is INVALID...as the return value is NULL or a strict substring of haystack, should return INVALID. A poison haystack should poison dependent strings.
Say the haystack is valid but the needle is INVALID...should return NULL. A valid string never contains an INVALID string as a subsequence.
I would say let an INVALID string be length 0. Then accept that catting a valid and invalid string would result in a shorter length.
Which one do you think is safer?
I understand how one could shoot down implementations, but none has made a convincing argument about shooting down the idea.
memcpy and company are strictly for raw unencoded buffers.
We have the empty string: "\0"
We have the null string: NULL
There is no concept of an INVALID string, as float has NAN.
This would be the result of trying to copy a string to a buffer that is too small.
Or sprintf() into a small buffer.
Or a raw string parsed as UTF-8 and is invalid.
Correctness over efficiency.
#include "Protocol.h"
#include "comms/comms.h"
namespace cc = comms_champion;
namespace demo
{
namespace cc_plugin
{
Protocol::~Protocol() noexcept = default;
const QString& Protocol::nameImpl() const
{
static const QString& Str("Demo");
return Str;
}
} // namespace cc_plugin
} // namespace demo // Put this in header to help user calculate allocation needs but hide size from user
size_t LIBNAME_alloc_size(param1, param2, ...);
// Put this in the header to hide the size from user code but allow inlined size calculations
extern const size_t LIBNAME_ALLOC_X;
// Put this in the header to make size known to user (for static const allocation)
#define LIBNAME_ALLOC_Y ((size_t)42)The following videos of my pig demonstrate this.
Video 2: Pig is first learning the task.
Video 3: Pig has slightly optimized the task.
Video 1: Pig has mastered the task.
https://www.dropbox.com/sh/37f48azh2bt4xk4/Wy3iHDMp1e?previe...
It looks interesting but what makes this library any better than what's come before? Why should I learn Rust to use it or really for any computational geometry problem?
Here's an excerpt from an Bre Pettis interview in 2011:
Does funding change the commitment to open source hardware? The funding doesn’t change our commitment to being open source. Why would we change a winning strategy? Being open is the future of manufacturing, and we’re just at the beginning of the age of sharing. In the future, people will remember businesses that refused to share with their customers and wonder how they could be so backwards.
http://makezine.com/2011/10/06/makes-exclusive-interview-wit...