There's interesting ideas for imaging exo-planets that involve a fleet of satellites past pluto that use the gravity lens of the sun as their lens. A system like that could get an image of an exo-planet.
1,623 karma · joined December 1, 2011
https://www.linkedin.com/in/brianjg/
There's interesting ideas for imaging exo-planets that involve a fleet of satellites past pluto that use the gravity lens of the sun as their lens. A system like that could get an image of an exo-planet.
https://buildingbetterteams.de/profiles/brian-graham/navigat...
> Like it could have mentioned jobs numbers but it didn't. It could have mentioned covid hospitalization statistics but it didn't etc
I would be more interested if the variables were not pre-selected with the knowledge of what was important and could determine things that haven't happened, not because of the prediction but because this means it would understand how to pick the variables that are relevant (like the human did in this experiment).
> It MAY also include minor and patch level changes.
I ultimately understand this as "I can release a patch as a major if I feel like it"
That said, a lot of my personal projects that will never get published are just "foo" messages.
To answer your direct question, in Toronto there was a doctor who wanted to open a pay-for-plasma clinic like they have in the US. In Canada, blood donations are not paid for which is one of the core reasons the supply is considered to be safer than other first world countries. The regulators shut it down and stopped him, not because of cleaning the plasma from the blood, but for policy reasons.
Back to the point about safe blood... Being a person who is allowed to donate blood is not related to this cleaning process but statistics about risk and also related to costs. So this is part of why there are no plasma clinics in Canada.
The blood donation is tested, but the tests don't catch everything. Really horrible diseases can test negative, which is why the process to donate blood includes an interview to categorize a high risk donor. This is why they don't let you donate blood when you have been living in europe for many years, have tattoos, multiple sexual partners, or had male-with-male sex. A lot of people hear about this and are totally outraged and jump to assumptions that the blood donation system is stuck in some anti-gay-rights 1900s puritan mindset, but that's not what's going on.
People regularly walk into blood donor clinics, lie about their high risk factors because they want to "prove a point", the tests for things like HIV can't always catch it all the time (especially in early stages; stages where there are no symptoms), and one blood donation could actually make it to several other people (like a baby, a motorcycle accident victim, and a surgery patient). It happens regularly enough that your nation's blood supply has a "lookback/traceback" program where they have 10-100 people who sit there all day working on cases and sending letters to people who received bad blood, and it can even come up 5+ years later when someone who donated blood in 2015 just got a diagnosis in 2020, all those people in the "bloodline" get notified, banned from the system, and advised to get tested too.
Doctors depend on multiple layers of checks to keep the blood supply clean, one of them is a statistical layer, one is a testing layer, one is the processing to keep the blood clean/safe, another is policy. Please don't interpret my point about plasma being highly cleanable to mean that all blood components in general can be safely received from the homeless.
I think the HN audience understands it at a level of "blood is red cells, white cells, and platelets", but that's really not the whole picture. Blood also has plasma which is composed of gas, nutrients, proteins, ions, and water. We can actually refine blood plasma down to a state where it's basically 100% safe even if someone with "bad blood" donated it.
These 4 different blood components all get seperated at the lab, frozen for storage, and turned into individual products which can be mixed+matched depending on medical need.
Don't get me wrong, growing red cells in a lab is awesome, but I don't see it the same way a lot of comments in this thread do (solving a storage issue, saving a lot of lives, etc).
I think the realistic applications of lab-grown-blood over the next 15 years will be closer to treating rare diseases or possibly rare blood types (some people exist outside the typical A, B, AB, O groupings). I don't see this fixing logistics or supply/demand issues in the next 15 years, especially with how highly regulated the blood supply is in any first world nation.
100% Yes, and the linters are just an experiment I had to see what was possible in terms of "packaging a no-framework framework for distribution".
> And a fairly rigid one at that.
The same problem exists when using a framework. You use the framework's rigid rules and tools or you don't.
> Has this been tested against a more traditional architecture to solve a similar business problem? And if so what were its cons?
I don't know what you consider to be "this" because there's multiple concepts at play in my previous post: (i) "no framework", (ii) the specific "Modular Provider Architecture" ruleset, and (iii) python architecture linter.
What you are looking for in an "against" case? What is a traditional architecture?
https://www.php.net/manual/en/opcache.preloading.php
> preload.php is an arbitrary file that will run once at server startup (PHP-FPM, mod_php, etc.) and load code into persistent memory.
It's interesting to me, because in a big ecomm framework we were getting 80ms PHP page loads, with something like preload it could probably be moved down to 25 or 30ms.
I think using frameworks encourages developers to follow some standards, much the same way everyone was very excited about microservices was a concept that could encourage decoupled software. Somehow we end up with a mess in both, and it's exactly for the point in your link: "There’s a good chance you’ll end up creating an “ad hoc and informally-specified implementation of a framework"". I think this is ultimately true for any element of software design that is not specified and enforced, and over time with enough complexity added to some areas, it creates the mess.
So the real "feature" is formal specification and enforcing the spec. In other words: rules and constraints for designing software. An architecture. You get a kind of "off the shelf" architecture with any framework you pick up and use, and this of course segways into the age old story about outgrowing frameworks and frameworks not being good at some specific problem, the code base slowly got too complicated for what we do, etc. The "spec" the team is using (wittingly or not) doesn't get updated.
When you have two devs implement the same concept in 2 different ways, it's a hidden disagreement about the project. It should get discussed but often it doesn't.
I don't really have this concept written down anywhere like a number of other ideas I have. But, I guess the short version is, if I had to make an elevator pitch or something: No framework is a configuration (maybe "distro" in the linux sense) of concepts (maybe "packages" in the software sense). A concept is either something you might use a framework or library for (and usually it exists somewhere), or it is something you would want a linter to find, and it might even be something that you want to ensure was done correctly at code review. I think this last one is the most accurate idea of what a "concept" is.
Over time I have accumulated a small informal set of "packages" that can be implemented without a helper library in nearly the same amount of code as if you were to use that library anyway. The important part is that the running software doesn't depend on the third party code, but actually the developers depend on a rule book and anything that violates the rules should be treated the same as calling an third party package's API method that doesn't exist. In other words: the dependency remains entirely in concept-space, not disk space.
This link below is not "no framework" but it is something I wrote where you can see the result of "no framework thinking". The concepts are stole from people who are probably smarter than me, have decades of experience and written books on these topics. The only difference is instead of turning it into a library to depend on, it's turned into rules for humans (which I guess is also what the book authors originally did anyway). I combined them and made them into a "distro" and I called it "modular provider architecture" (not very engaging or entertaining, but it does what's on the label).
- https://github.com/Incognito/python-architecture-linter/tree...
That text document is meant to be an example of how developers should write an application. By the way, it has a demo application here which does basically nothing:
- https://github.com/Incognito/python-architecture-linter-demo...
It might be hard to see here because it's pretty silly example, but I managed a small/growing team of 3-5 developers who create over 15 different services following this pattern. They did end up using libraries to do things like send data to/from Kafka or a DB, but the Modular Provider Architecture's rules were always there.
Oh, by the way, that repo I linked to, https://github.com/Incognito/python-architecture-linter/ ... this is a proof of concept for a linter that could implement the "no framework" concept. It is a dev dependency of your project, meaning you have no production framework as a dependency. It is a tool that lets you configure "rules" for your project in the style of any linter you already know of. It's like a linter from hyperspace, you can "lint" rules like.... if a file is 3 levels deep, and depended on by methods anywhere in the project with the word "bob" in the method name name, but those methods don't have if-statements, and also the Afferent coupling of the module itself is less than 0.5 .... fail CI with an explanation why. It also has a feature for you to commit an exemption list.
I used this in my teams once I started managing multiple large teams, and I could do things like generate entire reports across all projects of these really complex metrics that most linters and tools aren't really set up for.
That code is in these files, sorry for the total mess, I was just hacking around and didn't really think of a nice way to structure the definition "API. My main goal was proving the concept.
- https://github.com/Incognito/python-architecture-linter/blob...
- https://github.com/Incognito/python-architecture-linter/blob...
====
So, to summarise:
- "Modular Provider Architecture" is a "Distro" of "No Framework". Others can exist.
- "Modular Provider Architecture" is composed of "concept packages". Many of those packages have actual software libraries as alternatives. Others do not because they are rules about how to write code.
- Really complex ideas in "Modular Provider Architecture" can be enforced via CI.
I think the "beautiful" thing (if you think sofware can also be art), is that there is a clear an obvious structure to the project, but the "framework" is entirely ephemeral, just like types in typescript.
I guess the really important thing here is: enforce your architecture's rules and pick them very carefully in concert, not in isolation.
====
By the way. That's one idea I have for removing dependencies on frameworks. I also have a really crazy idea for eliminating the need for most software by replacing semver, but it takes me over 2 hours to explain it (I have really bad video recordings where I try).
I have a design for a very very boring code base that involves no frameworks or external libs. It works fantastic and has been used by some of the most productive teams I've managed. Those teams can manage "more services than we have people on the team by a scale of 2-4x" (quote from one of the engineers on one of those teams).
But it's crazy boring. There's no frameworks to download, not dependencies to update, no big brand pages. It's just following some very simple rules about where to put different kinds of complexity, very strictly.
It's a hard sell in any programming ecosystem because it has no brand power.
I've debated create the "no framework" spec around this. I even have a tool that can enforce the standards in CI. I just don't know if anyone would actually care.
PHP, Ruby, and Node all use things like cURL or the same PCRE regex lib, but I've seen uninformed or misguided arguments about "how Node is better than PHP at making HTTP requests because of axios", and not "I like Axios more than Guzzle3".