HN user

totalperspectiv

1,038 karma
Posts50
Comments210
View on HN
news.ycombinator.com 1y ago

Show HN: Ish – Grep-like text search with optimal alignment, built with Mojo

totalperspectiv
1pts0
news.ycombinator.com 1y ago

Show HN: Ish – a grep like CLI tool using SIMD/GPU alignment, built with Mojo

totalperspectiv
2pts1
github.com 1y ago

Show HN: Ish - Grep-like text search with optimal alignment, built with Mojo

totalperspectiv
3pts1
ducktape.blot.im 1y ago

Learning about FNV Hash

totalperspectiv
2pts1
fable.io 4y ago

Fable Is Adding Rust and Python as Compilation Targets

totalperspectiv
1pts0
github.com 4y ago

Show HN: Crabz – a multithreaded compression CLI tool written in Rust

totalperspectiv
11pts0
github.com 4y ago

Show HN: Crabz – Like Pigz but Rust

totalperspectiv
1pts1
github.com 4y ago

Show HN: Crabz – Like Pigz, but Rust

totalperspectiv
1pts0
github.com 4y ago

Show HN: Crabz – A fast, cross platform, multi-format, tool inspired by pigz

totalperspectiv
8pts1
github.com 5y ago

Show HN: Hck – a fast and flexible cut-like tool

totalperspectiv
151pts34
dl.acm.org 6y ago

Origins of the D Programming Language

totalperspectiv
1pts0
news.ycombinator.com 6y ago

Ask HN: Paper demonstrating program performance difference based on user

totalperspectiv
1pts0
github.com 6y ago

Show HN: Nython, Seamless Nim Extension Modules for Python

totalperspectiv
4pts0
github.com 6y ago

Show HN: Include Nim in Poetry Build

totalperspectiv
3pts0
news.ycombinator.com 6y ago

Ask HN: Make an elevator pitch for old languages

totalperspectiv
3pts2
github.com 6y ago

Show HN: Generate Nim Bindings for Rust Libs

totalperspectiv
2pts0
news.ycombinator.com 6y ago

Ask HN: Examples of User Maintainable Software?

totalperspectiv
3pts1
news.ycombinator.com 6y ago

Ask HN: Non-tech companies that benefit from open sourcing their software?

totalperspectiv
2pts0
eliasdaler.github.io 6y ago

LuaVela – A LuaJit Fork

totalperspectiv
2pts0
news.ycombinator.com 6y ago

Ask HN: How do you build applications that require zero maintenance?

totalperspectiv
119pts95
news.ycombinator.com 6y ago

Ask HN: How do you negotiate working on open source projects in your free time?

totalperspectiv
1pts4
news.ycombinator.com 6y ago

Ask HN: Have you ever refused to work on a project?

totalperspectiv
1pts1
news.ycombinator.com 6y ago

Ask HN: Generic guidelines on when to turn hyperthreading off?

totalperspectiv
1pts2
news.ycombinator.com 7y ago

Ask HN: How do you follow blogs / curate a content stream for yourself?

totalperspectiv
7pts6
news.ycombinator.com 7y ago

Ask HN: Recommendations for Books Like 'Hundred Page Machine Learning Book'

totalperspectiv
2pts0
news.ycombinator.com 7y ago

Ask HN: What are your thoughts on C# on Linux?

totalperspectiv
18pts15
news.ycombinator.com 7y ago

Performance Improvements in .Net Core 3.0

totalperspectiv
1pts0
medium.com 7y ago

High Performance Tensor Library in Nim

totalperspectiv
3pts0
ducktape.blot.im 7y ago

Choosing a Language for Bioinformatics

totalperspectiv
5pts3
news.ycombinator.com 7y ago

Ask HN: Where Is the C Community?

totalperspectiv
11pts4
Mojo 1.0 Beta 2 months ago

That's fair, I think I should have just said "comparable to Zig". The type'd ness is what I was thinking of, but having actually written some zig in the last few days to play with their Io model / see what passing around an allocator is like, Zig is pretty fantastic.

I still prefer the structure in Mojo, but boy do I miss if/switch as expressions.

Mojo 1.0 Beta 3 months ago

"requires" is a strong word, but I implemented an alignment kernel that can do alignments on the GPU.

Overall I think there is going to be a lot of "old" gpu compute hanging around, and now that writing kernels is a lot easier than it has been, we might as well try and see what algorithms we can get working there.

I originally picked up Mojo for the SIMD, not for the GPU kernels. The SIMD usability in Mojo is outstanding.

Paper on the tool I wrote: https://doi.org/10.1093/bioadv/vbaf292

Mojo 1.0 Beta 3 months ago

Me too! I've been using it for bioinformatics related work, and it is absolutely fantastic. I can't wait for it to hit fully open source status so it can be easily recommended.

Mojo 1.0 Beta 3 months ago

Having written a lot of Mojo over the last two year, just for fun, it's a really cool language. Ownership model adjacent to Rust, comptime that is more powerful than Zig, Rich type system, first class SIMD support, etc.

Performance wise it's the first language in long time that isn't just an LLVM wrapper. LLVM is still involved, but they are using it differently than say, Rust or Zig.

Very excited for Mojo once it's open sourced later this year.

a testament to the massive gap in perceived vs actual programming ability of the average bioinformatician.

This is not really a fair statement. Literally all of software bears the weight of some early poor choice that then keeps moving forward via weight of momentum. FASTA and FASTQ formats are exceptionally dumb though.

Because I was originally writing some very CPU intensive SIMD stuff, which Mojo is also fantastic for. Once I got that working and running nicely I decided to try getting the same algo running on GPU since, at the time, they had just open sourced the GPU parts of the stdlib. It was really easy to get going with.

I have not used Triton/Cute/Cutlass though, so I can't compare against anything other than Cuda really.

They allow you to write a kernel for Nvidia, or AMD, that can take full advantage of the Hardware of either one, then throw a compile time if-statement in there to switch which kernel to use based on the hardware available.

So, you can support either vendor with as-good-vendor-library performance. That’s not lock-in to me at least.

It’s not as good as the compiler being able to just magically produce optimized kernels for arbitrary hardware though, fully agree there. But it’s a big step forward from Cuda/HIP.

I think you hit the nail on the head with the mental model part. I really like this method of thinking about programming "Programming as Theory Building" https://gist.github.com/onlurking/fc5c81d18cfce9ff81bc968a7f...

I don't mind when other programmers use AI, and use it myself. What I mind is the abdication of responsibility for the code or result. I don't think that we should be issuing a disclaimer when we use AI any more than when I used grep to do the log search. If we use it, we own the result of it as a tool and need to treat it as such. Extra important for generated code.

ish is a CLI tool for searching records using alignment methods. It’s record-type aware and supports lines, FASTA, and FASTQ. I was really pleased with the dev experience using Mojo. It’s still pre-1.0 and missing a few things, but overall it came together smoothly. Performance-wise, Mojo held up well. There's no direct apples-to-apples comparison for ish as a whole, but the core alignment algorithms are on par with the C++ reference (faster in one case, see preprint linked above). Writing and shipping a GPU kernel as part of a CLI was especially cool. This was my first time with GPU programming, and Mojo made it feel first-class, though I don't have much CUDA experience to compare. Excited to see where Mojo goes. Once the compiler is open-sourced, the possibilities look wide open.

ish is a CLI tool for searching records using alignment methods. It’s record-type aware and supports lines, FASTA, and FASTQ.

I was really pleased with the dev experience using Mojo. It’s still pre-1.0 and missing a few things, but overall it came together smoothly.

Performance-wise, Mojo held up well. There's no direct apples-to-apples comparison for ish as a whole, but the core alignment algorithms are on par with the C++ reference (faster in one case, see preprint linked in repo).

Writing and shipping a GPU kernel as part of a CLI was especially cool. This was my first time with GPU programming, and Mojo made it feel first-class, though I don't have much CUDA experience to compare.

Excited to see where Mojo goes. Once the compiler is open-sourced, the possibilities look wide open.

In the coarse graining code, you use an @parameter-for. Doesn’t that lead to some pretty large code size unrolling that? Or is that less of an issue on GPU?

Great write up! I learned a lot!

My impression is that this is on purpose on their part. They’ve repeatedly stated that by 2026 they will open source the compiler, and I think they’ve wanted a slow adoption ramp in order to spend some more time getting it right first.

Possibly rose-tinted glasses on my part, but I’m optimistic for 2026. Chris Lattner has a pretty strong track record of getting these things right.

Bio-Rad Labs | Software Engineer | Full-time | Boulder, Colorado

This position for a small team in Boulder working on instrument development. You would help to build and maintain the data processing pipelines and internal tooling used by research and development for evaluating instrument performance. Portions of this architecture will eventually ship on the instrument itself.

Qualifications:

  * Experience building data processing pipelines / applications and managing data
  * Fluent in Python
  * Experience with relational databases
  * Experience with Docker
  * Comfortable at a command line
  * Comfortable in a Unix environment
Opportunity exists for working in TypeScript, C++, C, and Rust codebases if interested.

Please note, the job req linked here has out of date qualifications, but is the link to apply through: https://careers.bio-rad.com/jobs/software-developer-ii-pytho...