HNHacker News
TopNewBestAskShowJobs

bdg

1,623 karma · joined December 1, 2011

Working on http://BuildingBetterTeams.de/ .

https://www.linkedin.com/in/brianjg/

submissionscomments
bdg··on JWST gets best view yet of planet in hotly pursued star system
I suspect it's a measurement and not a photo. Something they could put on a chart but that's about it.

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.

bdg··on GPT-4 identifies SVB’s biggest risk & gives good advice using 2021 balance sheet
I discuss this topic briefly in a post I recently made where I call it "decorative knowledge" and try to pinpoint exactly what GPT is doing and fails to do.

https://buildingbetterteams.de/profiles/brian-graham/navigat...

bdg··on GPT-4 identifies SVB’s biggest risk & gives good advice using 2021 balance sheet
Your view is the one with less evidence.
bdg··on GPT-4 identifies SVB’s biggest risk & gives good advice using 2021 balance sheet
This is the major "magic wow factor" behind GPT. It has a basic level of knowledge in every topic which is enough to convince an average human that the AI produced a good result If-And-Only-If the human is unskilled in that topic.
bdg··on GPT-4 identifies SVB’s biggest risk & gives good advice using 2021 balance sheet
Elsewhere in this discussion thread there's a few examples from im3w1l who saw this problem too:

> Like it could have mentioned jobs numbers but it didn't. It could have mentioned covid hospitalization statistics but it didn't etc

bdg··on GPT-4 identifies SVB’s biggest risk & gives good advice using 2021 balance sheet
A problem I have with this type of experiment is that it's almost pre-messaging the bot what to say. Simply filtering down to very specific variables leads the outcomes in a very strong way. I suspect this exact approach will not work well for finding future problems.

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

bdg··on GPT-4 identifies SVB’s biggest risk & gives good advice using 2021 balance sheet
The models have cutoff dates that are explained in the docs.
bdg··on Curl 8.0.0
I would expect to see guidance exactly for that claim. I don't see it as ambiguous, I see it as a misunderstanding. The rules are not "must not contain no breaking changes".
bdg··on Curl 8.0.0
I don't think it violates SEMVER.

> 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"

bdg··on Punctuation Matters: How to use the en dash, em dash and hyphen
I'm just going to leave this here for you https://en.wiktionary.org/wiki/firstable
bdg··on The Dot Essay (1923)
Really cool project, and I love the idea of non-traditional algebras. Have you seen the one graph algebra before? https://github.com/snowleopard/alga
bdg··on Autonomous restructuring of asteroids into rotating space stations
Have we solved how to make one spider?
bdg··on AI Commits – a CLI that writes your commit messages for you
Something I learnt about good commit messages over my career was that the more useful messages don't summarize what is in a change, but why the change was needed. Usually everyone can quickly figure out what changed if the commit is of some kind of reasonable size, but why it was changed is lost forever.

That said, a lot of my personal projects that will never get published are just "foo" messages.

bdg··on Ask HN: Those making $0/month or less on side projects – Show and tell
ProdDuck: feedback for PMs on their user stories and Jira tickets

https://prodduck.buildingbetterteams.de/

bdg··on Cybiko
I got one when I was a kid, but wow was I disappointed when I couldn't find a single connection to another device anywhere at all.
bdg··on Freecomputerbooks.com
Whenever sites like this pop up, the really valuable thing to me is finding a book that's a synthesis of two topics. I can find many specific books with code examples here for things like financial maths, portfolio management, etc.
bdg··on Kite is saying farewell and open-sourcing its code
Automating software is a really hard problem. I think I can imagine a possible roadmap to it, but it's so hard to explain it in under an hour, it would require several sequential new technologies, and some of it hinges on parts of information theory I don't know enough about, and statistical ML isn't part of the core.
bdg··on Air Force, FBI raid homes in probe of Area 51 website
I don't live in the US and I only set foot in the country once in my life. Is it really an orwellian nightmare with a boot stomping in your face forever, or is it merely a threat that it could become this for everyone, with isolated incidents of different branches over-stepping and being held accountable later?
bdg··on Air Force, FBI raid homes in probe of Area 51 website
I think the major difference is you can post that kind of media, it's just not in the outlets owned by the billionaires donating to spacs. In china if you generate media that goes against the CCP you'll find yourself living with Jack Ma and Peng Shuai.
bdg··on Air Force, FBI raid homes in probe of Area 51 website
I highly suspect the poster you were responding to was more likely upset with the concept of journalistic integrity and being unbiased, not a definition of the job. I don't think this is a very large leap to make given the context and generally popular narrative around this topic.
bdg··on Lab-grown blood given to people in world-first clinical trial
I'm concerned that someone might take my previous statement and assume this means all blood donations are safe -- they're not. Without a bunch of steps in place they're horrifyingly risky, and our screening technology is not good enough. I'll explain more in a moment.

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.

bdg··on Lab-grown blood given to people in world-first clinical trial
Blood is highly complicated.

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.

bdg··on How boring should your team's codebases be
> Feels a lot like a framework to me, albeit it more by convention and enforced by linters instead of skeletal code

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?

bdg··on Show HN: FrankenPHP, an app server for PHP written in Go
It's a cool idea but I haven't explored this in detail so I don't have a good answer. I haven't touched PHP in 2 years but they have a new feature which might achieve some of those design goals you mentioned:

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.

bdg··on How boring should your team's codebases be
I agree with you in general but I disagree in the specific case.

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.

bdg··on How boring should your team's codebases be
I think I grossly oversold this thing because there's a lot of comments here asking for something.

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

bdg··on How boring should your team's codebases be
> I would prefer to work on a codebase that solves problems effectively than a codebase that is novel.

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.

bdg··on How boring should your team's codebases be
I understand the annoyance of it being replaced for a more complex more expensive system, but I would also like to know: What was the reasoning provided and what did decision makers truly believe about the whole thing?
bdg··on Everyone going to World Cup must have this app, experts are sounding the alarm
I was thinking more about before/after the event to avoid it reaching to more details about your private life outside of that specific timespan, text messages, whatever tictoc harvests these days, etc.
bdg··on Show HN: FrankenPHP, an app server for PHP written in Go
In general I wish the "culture" of programmers would differentiate the "language" itself from the "things it is linked with" and "the ecosystem of available packages". We get a lot of pointless arguments where person 1 is talking about case 2, and another is thinking about case 3.

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".

← PreviousPage 2 of 14Next →