HN user

joefreeman

256 karma

http://joef.uk

Posts5
Comments102
View on HN

I've been building a text editor. It uses a server-client model, with native/terminal/web clients using a shared (local) server instance. It integrates LSP/tree-sitter/ripgrep/Git/etc, and has a concept of 'workspaces' to easily switch between projects.

I spend less time in an editor now, but it's been satisfying being able to take features I've enjoyed from other editors and customise - and it's oriented a bit more towards exploring code than editing. Key-bindings are arranged such that bare letters are for motions, Shift- variants are then used to extend selections, Ctrl- bindings are for buffer mutations, and leader-prefixed bindings are application level (e.g., opening pickers).

https://github.com/joefreeman/aether

The workflow orchestration tools I've used over the past have been consistently unsatisfying, so I've been building my own. With Coflux (https://coflux.com), workflows are defined declaratively in plain Python with decorated functions (tasks). Workers connect to the orchestration server and get assigned work - calls to other tasks get intercepted and then re-scheduled by the server onto (potentially different) workers. Tasks are executed in pre-warmed, isolated processes, with low latency.

Beyond standard features (retries, caching, timeouts - enabled with attributes on the decorator), Coflux supports more novel features - like suspense (where a task can choose to go to sleep and get restarted when a result it depends on becomes available), memoisation (where steps within a run are aggressively cached so that you can re-run steps in a workflow without re-running upstream steps), and the ability to re-run a step in a different workspaces (with updated code, or in a different environment).

It turns out this works great for implementing agentic systems - you can provide references to tasks as tools to an LLM call and have the AI drive - tasks can be easily sandboxed. And Claude is very capable of using the CLI to interact with the orchestration server to submit workflows, investigate failed runs, make updates to workflows and re-run steps.

I'm trying to make sure it's easy to try out - there's a self-contained CLI that can be used to start the server (a single Docker container), run worker processes, and then interact with the server. The dev mode automatically restarts the workers as you make local changes. There's also a hosted UI for observing runs in real-time, where you can see the execution graph, access logs/metrics/assets/etc - it works without creating an account - the browser interacts with your orchestration server directly.

Genpax | Full-stack/product engineer | London, UK | ONSITE (hybrid/flexible) | https://www.genpax.co/

We're building a game-changing bacterial analysis platform. Using bioinformatics, we can help hospitals take early and effective action against outbreaks of MRSA and other pathogens.

Our goal is to radically increase the utility, scalability, and speed with which whole genome sequencing (WGS) data delivers infection control solutions for human and animal healthcare worldwide. This will enable proactive control at early stages of outbreaks, and appropriate responses to more dangerous or more antibiotic resistant strains. We have developed a unique solution to address the challenges and our goal is to provide access to these solutions in a fully scalable system.

I'm looking for an experienced full-stack (/'product') engineer to join our small engineering team - initially to focus on building out a novel interactive tree-based UI. There are some interesting challenges throughout the stack. We're using Python, GraphQL, React/TypeScript, Postgres and AWS, but open minded to adopting technologies that make sense.

Ideal candidates would:

  - Have an interest in working in BioTech/HealthTech (experience not necessary)
  - Have a strong academic background
  - Be based in/around London
  - Be self-motivated, and have experience working in a high-output team
  - Mention these things when getting in touch (and not be CC-ing every e-mail address on this page!)
£55-100k + equity, based on experience.

jfreeman+hn@genpax.co

I think Maslow's Hierarchy of Needs is good place to get inspiration for this. It's guided my last two job roles in agritech and biotech. But I'm becoming aware that there seems to be an (inverse) correlation between how much money/funding is available as you go down the triangle.

Genpax | Full-stack/product engineer | London, UK | ONSITE (hybrid/flexible) | https://www.genpax.co/

We're building a game-changing bacterial analysis platform. Using bioinformatics, we can help hospitals take early and effective action against outbreaks of MRSA and other pathogens.

Our goal is to radically increase the utility, scalability, and speed with which whole genome sequencing (WGS) data delivers infection control solutions for human and animal healthcare worldwide. This will enable proactive control at early stages of outbreaks, and appropriate responses to more dangerous or more antibiotic resistant strains. We have developed a unique solution to address the challenges and our goal is to provide access to these solutions in a fully scalable system.

I'm looking for an experienced full-stack (/'product') engineer to join our small engineering team - initially to focus on building out a novel interactive tree-based UI. There are some interesting challenges throughout the stack. We're using Python, GraphQL, React/TypeScript, Postgres and AWS, but open minded to adopting technologies that make sense.

Ideal candidates would:

  - Have an interest in working in BioTech/HealthTech (experience not necessary)
  - Have a strong academic background
  - Be based in/around London
  - Be self-motivated, and have experience working in a high-output team
  - Mention these things when getting in touch (and not be CC-ing every e-mail address on this page!)
£55-100k + equity, based on experience.

jfreeman+hn@genpax.co

TypeChat 3 years ago

It's unfortunately easy to get a response that includes { "name": "grande latte" }

    type Item = {
        name: string;
        ...
        size?: string;
I'm not really following how this would avoid `name: "grande latte"`?

But then the example response:

    "size": 16
> This is pretty great!

Is it? It's not even returning the type being asked for?

I'm guessing this is more of a typo in the example, because otherwise this seems cool.

Genpax | Full-stack/frontend/product engineer | London, UK | ONSITE (hybrid/flexible) | https://www.genpax.co/

We're building a game-changing bacterial analysis platform. Using bioinformatics, we can help hospitals take early and effective action against outbreaks of MRSA and other pathogens.

Our goal is to radically increase the utility, scalability, and speed with which whole genome sequencing (WGS) data delivers infection control solutions for human and animal healthcare worldwide. This will enable proactive control at early stages of outbreaks, and appropriate responses to more dangerous or more antibiotic resistant strains. We have developed a unique solution to address the challenges and our goal is to provide access to these solutions in a fully scalable system.

I'm looking for an experienced frontend (or full-stack/'product') engineer to join our small engineering team - initially to focus on building out a novel interactive tree-based UI. There are some interesting challenges here (and throughout the stack). We're using Python, GraphQL, React/TypeScript, Postgres and AWS, but open minded to adopting technologies that make sense.

£55-100k + equity, based on experience.

jfreeman+hn@genpax.co

Genpax | Full-stack/frontend/product engineer | London, UK | ONSITE (hybrid/flexible) | https://www.genpax.co/

We're building a game-changing bacterial analysis platform. Using bioinformatics, we can help hospitals take early and effective action against outbreaks of MRSA and other pathogens.

Our goal is to radically increase the utility, scalability, and speed with which whole genome sequencing (WGS) data delivers infection control solutions for human and animal healthcare worldwide. This will enable proactive control at early stages of outbreaks, and appropriate responses to more dangerous or more antibiotic resistant strains. We have developed a unique solution to address the challenges and our goal is to provide access to these solutions in a fully scalable system.

I'm looking for an experienced frontend (or full-stack/'product') engineer to join our small engineering team - initially to focus on building out a novel interactive tree-based UI. There are some interesting challenges here (and throughout the stack). We're using Python, GraphQL, React/TypeScript, Postgres and AWS, but open minded to adopting technologies that make sense.

£55-100k + equity, based on experience.

jfreeman+hn@genpax.co

Genpax | Full-stack/frontend/product engineer | London, UK | ONSITE (hybrid/flexible) | https://www.genpax.co/

We're building a game-changing bacterial analysis platform. Using bioinformatics, we can help hospitals take early and effective action against outbreaks of MRSA and other pathogens.

Our goal is to radically increase the utility, scalability, and speed with which whole genome sequencing (WGS) data delivers infection control solutions for human and animal healthcare worldwide. This will enable proactive control at early stages of outbreaks, and appropriate responses to more dangerous or more antibiotic resistant strains. We have developed a unique solution to address the challenges and our goal is to provide access to these solutions in a fully scalable system.

I'm looking for an experienced frontend (or full-stack/'product') engineer to join our small engineering team - initially to focus on building out a novel interactive tree-based UI. There are some interesting challenges here (and throughout the stack). We're using Python, GraphQL, React/TypeScript, Postgres and AWS, but open minded to adopting technologies that make sense.

£55-100k + equity, based on experience.

jfreeman+hn@genpax.co

Genpax | Full-stack/frontend/product engineer | London, UK | ONSITE (hybrid/flexible) | https://www.genpax.co/

We're building a game-changing bacterial analysis platform. Using bioinformatics, we can help hospitals take early and effective action against outbreaks of MRSA and other pathogens.

Our goal is to radically increase the utility, scalability, and speed with which whole genome sequencing (WGS) data delivers infection control solutions for human and animal healthcare worldwide. This will enable proactive control at early stages of outbreaks, and appropriate responses to more dangerous or more antibiotic resistant strains. We have developed a unique solution to address the challenges and our goal is to provide access to these solutions in a fully scalable system.

I'm looking for an experienced frontend (or full-stack/'product') engineer to join our small engineering team - initially to focus on building out a novel interactive tree-based UI. There are some interesting challenges here (and throughout the stack). We're using Python, GraphQL, React/TypeScript, Postgres and AWS, but open minded to adopting technologies that make sense.

£55-100k + equity, based on experience.

jfreeman+hn@genpax.co

Genpax | Engineers (full stack, frontend/backend, product, devops) | London, UK | ONSITE (hybrid/flexible) | https://www.genpax.co/

Genpax is building a game-changing bacterial analysis platform. Using bioinformatics, we can help hospitals take early and effective action against outbreaks of MRSA and other pathogens. This is an opportunity to have a real-world impact on thousands of lives each year.

At Genpax our goal is to radically increase the utility, scalability, and speed with which whole genome sequencing (WGS) data delivers infection control solutions for human and animal healthcare worldwide. This will enable proactive control at early stages of outbreaks, and to respond appropriately to more dangerous or more antibiotic resistant strains. We have developed unique solutions to address the challenges and our goal is to provide access to these solutions in a fully scalable system.

There are really interesting engineering problems to be solved: scaling and optimising our analysis pipeline and the bioinformatics algorithms we use; building out our interactive graph-based user-facing product; developing cryptographic techniques for analysis of anonymised data. At the moment we're using Python, GraphQL, React/TypeScript, Postgres and AWS.

£45-95k + equity, based on experience.

jfreeman+hn@genpax.co

Genpax | Engineers (full stack, frontend/backend, product, devops) | London, UK | ONSITE (hybrid/flexible) | https://www.genpax.co/

Genpax is building a game-changing bacterial analysis platform. Using bioinformatics, we can help hospitals take early and effective action against outbreaks of MRSA and other pathogens. This is an opportunity to have a real-world impact on thousands of lives each year.

At Genpax our goal is to radically increase the utility, scalability, and speed with which whole genome sequencing (WGS) data delivers infection control solutions for human and animal healthcare worldwide. This will enable proactive control at early stages of outbreaks, and to respond appropriately to more dangerous or more antibiotic resistant strains. We have developed unique solutions to address the challenges and our goal is to provide access to these solutions in a fully scalable system.

There are really interesting engineering problems to be solved: scaling and optimising our analysis pipeline and the bioinformatics algorithms we use; building out our interactive graph-based user-facing product; developing cryptographic techniques for analysis of anonymised data. At the moment we're using Python, GraphQL, React/TypeScript, Postgres and AWS.

£45-95k + equity, based on experience.

jfreeman+hn@genpax.co

Thanks for posting this, and your learngenomics.dev resource looks great - I'm looking forward to reading this though. I recently started working as an engineering manager/lead in a genomics startup (https://www.genpax.co), and I've been picking this up as I go. I've also started working my way through the 'Micro binfie' podcast, which is great.

Our company values software quality and we're very product focussed. We're actively hiring in London: https://news.ycombinator.com/item?id=33423547

Genpax | Engineers (full stack, frontend/backend, product, devops) | Notting Hill, London, UK | ONSITE (hybrid/flexible) | https://www.genpax.co/

Genpax is building a game-changing bacterial analysis platform. Using bioinformatics, we can help hospitals take early and effective action against outbreaks of MRSA and other pathogens. This is an opportunity to have a real-world impact on thousands of lives each year.

At Genpax our goal is to radically increase the utility, scalability, and speed with which whole genome sequencing (WGS) data delivers infection control solutions for human and animal healthcare worldwide. This will enable proactive control at early stages of outbreaks, and to respond appropriately to more dangerous or more antibiotic resistant strains. We have developed unique solutions to address the challenges and our goal is to provide access to these solutions in a fully scalable system.

There are really interesting engineering problems to be solved: scaling and optimising our analysis pipeline and the bioinformatics algorithms we use; building out our interactive graph-based user-facing product; developing cryptographic techniques for analysis of anonymised data. At the moment we're using Python, GraphQL, React/TypeScript, Postgres and AWS.

£45-95k + equity, based on experience.

jfreeman+hn@genpax.co

Genpax | Engineers (full stack, frontend/backend, product, devops) | Notting Hill, London, UK | ONSITE (hybrid/flexible) | https://www.genpax.co/

Genpax is building a game-changing bacterial analysis platform. Using bioinformatics, we can help hospitals take early and effective action against outbreaks of MRSA and other pathogens. This is an opportunity to have a real-world impact on thousands of lives each year.

At Genpax our goal is to radically increase the utility, scalability, and speed with which whole genome sequencing (WGS) data delivers infection control solutions for human and animal healthcare worldwide. This will enable proactive control at early stages of outbreaks, and to respond appropriately to more dangerous or more antibiotic resistant strains. We have developed unique solutions to address the challenges and our goal is to provide access to these solutions in a fully scalable system.

We already have a world-class scientific team of bioinformaticians, and we're building out an engineering team to match. There are really interesting engineering problems to be solved: scaling and optimising our analysis pipeline and the bioinformatics algorithms we use; building out our interactive graph-based user-facing product; developing cryptographic techniques for analysis of anonymised data. We're still in early stages - so far we’re using Python, GraphQL, React/TypeScript, Postgres and AWS.

£45-95k + equity, based on experience.

jfreeman+hn@genpax.co

Genpax | Engineers (full stack, frontend/backend, product, devops) | Notting Hill, London, UK | ONSITE (hybrid/flexible) | https://www.genpax.co/

Genpax is building a game-changing bacterial analysis platform. Using bioinformatics, we can help hospitals take early and effective action against outbreaks of MRSA and other pathogens. This is an opportunity to have a real-world impact on thousands of lives each year.

At Genpax our goal is to radically increase the utility, scalability, and speed with which whole genome sequencing (WGS) data delivers infection control solutions for human and animal healthcare worldwide. This will enable proactive control at early stages of outbreaks, and to respond appropriately to more dangerous or more antibiotic resistant strains. We have developed unique solutions to address the challenges and our goal is to provide access to these solutions in a fully scalable system.

We already have a world-class scientific team of bioinformaticians, and we're building out an engineering team to match. There are really interesting engineering problems to be solved: scaling and optimising our analysis pipeline and the bioinformatics algorithms we use; building out our interactive graph-based user-facing product; developing cryptographic techniques for analysis of anonymised data. We're still in early stages - so far we’re using Python, GraphQL, React/TypeScript, Postgres and AWS.

£45-95k + equity, based on experience.

jfreeman+hn@genpax.co

Genpax | Engineers (full stack, frontend/backend, product, devops) | Notting Hill, London, UK | ONSITE (hybrid/flexible) | https://www.genpax.co/

Genpax is building a game-changing bacterial analysis platform. Using bioinformatics, we can, for example, help hospitals take early and effective action against outbreaks of MRSA. This is an opportunity to have a real-world impact on thousands of lives each year.

At Genpax our goal is to radically increase the utility, scalability, and speed with which whole genome sequencing (WGS) data delivers infection control solutions for human and animal healthcare worldwide. This will enable proactive control at early stages of outbreaks, and to respond appropriately to more dangerous or more antibiotic resistant strains. We have developed unique solutions to address the challenges and our goal is to provide access to these solutions in a fully scalable system.

We already have a world-class scientific team of bioinformaticians, and we're building out an engineering team to match. There are really interesting engineering problems to be solved: scaling and optimising our analysis pipeline and bioinformatics algorithms; building out our interactive graph-based user-facing product; developing cryptographic techniques for analysis of anonymised data. We’re still in early stages - so far we’re using Python, GraphQL, React/TypeScript and AWS.

£45-95k + equity, based on experience.

jfreeman+hn@genpax.co

I alternate between a (now ageing 9350-model) XPS 13 running Ubuntu and a (newish) MacBook Pro (for work), so perhaps my experience is interesting to some.

I like both, but switching between the two is a bit jarring. The different keyboard layout is particularly annoying. Maybe this is worse with a British keyboard though. I switched the Mac to use the 'PC' layout, which helps a bit, but adapting between the cmd-ctrl-fn is difficult. And there are inconsistencies in the readline behaviour that I haven't worked out. I'm fairly indifferent to the feel of the keyboard - maybe a slight preference for the XPS.

I like the 16:9 ratio of the XPS, but not a big deal.

The 20.04 update has been such an improvement. The fan used to be constantly running, maybe because of the previously-experimental fractional scaling, but since the update this runs so smooth. If anyone from Gnome/Ubuntu reads this: thank you!

The trackpad on the MacBook is obviously nice: support for gestures and the bigger area. I can't stand the touch bar - I'm constantly accidentally pressing buttons. TouchID is nice - the fingerprint reader in this new version sounds good.

Few other things that are better on the MBP: speakers, brightness (especially the auto-adjusting brightness), and webcam (this version of the XPS has the webcam below the screen, which sucks).

I don't make any use of the touchscreen on the XPS and I haven't got around to turning it off from the BIOS. Seems kind of wasteful.

The coil whine on the XPS is really bad. Interested to know if this is fixed/better on the newer models?

I replaced the battery on the XPS recently, but turns out the battery isn't as official as Amazon promised so the LED occasionally does an angry flashing sequence. But yay for being able to replace this.

Also the Dell support turned out to be pretty good. At one point there was an issue with my screen and they sent a guy to my house to replace the screen for free.

HireHand (www.hirehand.co.uk) | Software Engineer | London | Onsite | Full time

HireHand is a labour platform that puts people first. We use AI-enabled technology to connect businesses in rapidly automating industries with skilled individuals looking for flexible work. We work primarily in the food retail sector in London today, but are expanding into other geographies and industries.

There are currently two of us in the tech team - both ex-SwiftKey, and our founder is ex-McKinsey. Our tech stack is built on event sourcing, most of the backend is in Elixir, we have a GraphQL API, a Rails/React web app for business booking, and a chat-oriented React Native app for the workers. We've just closed our seed round, and looking for a generalist developer to join us.

careers+hn@hirehand.co.uk

HireHand (www.hirehand.co.uk) | Software Engineer | London | Onsite | Full time

HireHand is a labour platform that puts people first. We use AI-enabled technology to connect businesses in rapidly automating industries with skilled individuals looking for flexible work. We work primarily in the food retail sector in London today, but are expanding geographically and vertically.

There are currently two of us in the tech team - both ex-SwiftKey, and our founder is ex-McKinsey. Our tech stack is built on event sourcing, most of the backend is in Elixir, we have a GraphQL API, a Rails app for business booking, and a chat-oriented React Native app for the workers. We're just closing our seed round, and looking for a generalist developer to join us.

careers+hn@hirehand.co.uk

On the homepage, on the left of the page it says, "thanks to its error handling model you will never have to worry about unexpected runtime errors" - then, one of the examples on the right says:

    # This will produce a runtime error,
    # because `Integer + String` is not valid:
    dynamic(2, 'oops')
So, we don't have to worry about this runtime error because it's expected?
Questions 8 years ago

Why are certain things getting so much more expensive?

I recently read Graeber’s Bullshit Jobs, and suspect the answer lies in there. The examples Patrick lists are all service industries driven by labour costs. This probably influences the following two questions too (project delays and GDP).

Good article. I've spent the last year migrating to an event sourced system, so thought I'd share some thoughts.

On the eventual consistency point, I've found you can get quite far with having the read model managing the race condition. This probably doesn't work everywhere, but in our system, multiple users can accept an invitation, so we have something like `InvitationAccepted{invitation_id, user_id}`. It's possible that multiple users might accept the invitation at roughly the same time, but the command-side doesn't really have to be concerned with this - it can happily allow multiple users to accept an invitation. It's up to the read model to ask, 'has this invitation already been accepted?' - if not, the acceptance is successful and will be indicated when queried, otherwise the acceptance is unsuccessful (and as a bonus, we can separately record who unsuccessfully tried to accept it). From the user's point of view, when they accept the invitation, they see a spinner until we confirm with the read model one way or the other (this could be done by polling the read model, but in our case we have an event sent back to the client).

Coming up with the event schema and versioning/granularity are hard. We have version numbers on all our events to make this a bit more manageable/explicit (`InvitationAccepted1`, for example). Storing events in a relational database does make it a bit easier to go back and edit/upgrade/delete them (sort-of cheating, but also relevant for GDPR). Also, I think we're going to end up suffering a bit from the 'whole system fallacy', but at the moment namespacing all the events (keeping in mind their expected volume) makes it a lot easier to manage.