HN user

igorhvr

697 karma

I enjoy learning, building stuff (software), and helping other people do the same.

Do you love Scheme?

Checkout out this library: http://github.com/igorhvr/bedlam

Posts16
Comments94
View on HN

I use PI ( https://pi.dev ) and ( https://hermes-agent.nousresearch.com/ ) as the main drivers together with deepseek-v4-pro as the main model (~10M/day tokens overall there).

Hermes basically rules my personal life at this point - it is a _very_ useful personal assistant.

I also use it at work (integrated at Slack) and at this point it answers most of both my emails and slack messages (I calibrated https://github.com/blader/humanizer with a large corpus of my own voice to make it less annoying for the others). My routine now involving walking in circles while exchanging messages with hermes directing it how to answer this or that... Hermes uses an llm-wiki ( https://gist.github.com/karpathy/442a6bf555914893e9891c11519... ) as a source of information when drafting suggested replies - I have a cronjob that feeds it all emails, slack messages, meeting minutes every single day.

Claude Code with Opus 4.6 for multimodal/vision, design and writing tasks ("Create a crisp memo from this meeting transcription" is a prompt that will bring great results with either Opus 4.6 or GLM-5.1) - very recently I started to use https://github.com/anomalyco/opencode occasionally with opus models too (I am forcing myself a little bit because it is hard to help people with a tool you are unfamiliar with).

For building software automatically I currently use one of the harness above for for launching https://tamandua-tetradactyla.nfshost.com/ feature-dev-merge-worktree runs (it provides workflows on top of PI+deepseek).

Where it comes from: until recently I used https://steve-yegge.medium.com/welcome-to-gas-town-4f25ee16d... for automatic software building but while planning an AI bootcamp I concluded that teaching Gas Town along with everything else would be impossible (too hard/complex), and decided to teach https://github.com/snarktank/antfarm instead but did not want to add OpenClaw as one more dependency - so I built Tamandua ( https://github.com/igorhvr/tamandua ) and I ended up using it all the time! I now every single day before going to sleep launch a couple of runs and it is very cool waking up to see them done.

For autoresearch-like, optimization, and other tasks with a very clear measurable goal (such as increasing test coverage, changing things from one programming language to another, etc) I use https://github.com/davebcn87/pi-autoresearch (100% of the time on top of deepseek-v4-pro).

For debugging or very hard problems I use codex w/ GPT5.5. I don´t like its personality (lazy) but I do think it is smartest model available. As evidence, here is a commit of a problem where I tried Opus 4.8, Deepseek-v4-pro and a couple of other models and they all failed to understand what the bug was: https://github.com/NousResearch/hermes-agent/pull/38198/chan... - once the bug was found within codex I launched from it a tamandua bug-fix-merge-worktree run on top of deepseek-v4-pro that created the commit itself...

As a web application I use OpenWebUI and I am specially fond of the notes feature ( https://docs.openwebui.com/features/notes/ ) which I did not find anywhere else.

Last but not least, I love playing with local models. https://huggingface.co/Qwen/Qwen3-Coder-480B-A35B-Instruct is my current favorite for coding and deepseek-r1 for general tasks. I also started yesterday testing https://github.com/antirez/ds4 - it works _very_ well from what I could see so far.

What comes next? Trying to figure out what is the "deepseek-v4-pro of multimodal" model (frontier performance, efficient/comparatively cheap to run, support for image/audio/video/etc). Currently using kimi-k2.6, will test Minimax M3 soon.

Ah, almost forgot: https://huggingface.co/microsoft/VibeVoice-ASR will give you AMAZINGLY good meeting transcriptions (my hermes vibecoded a program to use it). Seriously, night and day difference from what the big players provide natively in their platforms. Have 8 people talking in 3 different languages? No problem - you will need a bit of patience and beefy hardware, only..

On the contrary, they could have stated their points much more bluntly and strongly than they did in the post. I had the same impression upon reading it.

Milquetoast perfectly describes it, I am happy to see less common words used around here (specially when the convey the intended meaning this precisely), and I find claiming "affectation" of the person who used it unnecessarily rude.

This is so cool - thank you! I have a very (ahem) useful purpose for this: I use a command line application that calls back to a browser during authentication and that alone prevented me from doing what I needed/wanted from an ssh terminal... I will now happily laugh my ass off as it launches firefox from inside my terminal every time I use it.

The thing is they change/deprecate/retire paid-for services too (in a brutal contrast with the competiton).

Two quotes from one of the posts referenced in the submission (from Steve Yegge):

...I know I haven’t gone into a lot of specific details about GCP’s deprecations. I can tell you that virtually everything I’ve used, from networking (legacy to VPC) to storage (Cloud SQL v1 to v2) to Firebase (now Firestore with a totally different API) to App Engine (don’t even get me started) to Cloud Endpoints to… I dunno, everything, has forced me to rewrite it all after at most 2–3 years, and they never automate it for you, and often there is no documented migration path at all. It’s just crickets. And every time, I look over at AWS, and I ask myself what the fuck I’m still doing on GCP. ...

... Update 3, Aug 31 2020: A Google engineer in Cloud Marketplace who happens to be an old friend of mine contacted me to find out why C2D didn’t work, and we eventually figured out that it was because I had committed the sin of creating my network a few years ago, and C2D was failing for legacy networks due to a missing subnet parameter in their templates. I guess my advice to prospective GCP users is to make sure you know a lot of people at Google… ...

About deprecation: the gold standard is what AWS is doing with SimpleDB: essentially, never.

The thing here is that if you run hundreds of services in production - many of which work smoothly and you don't need to touch often, you will find that Google's habit of forcing you to change how to use their tooling will generate a huge burden...

They discourage you from using it and make it clear that for every use case some other tool at AWS would be best, and have been doing so for several years now... They wont even list it anymore under https://aws.amazon.com/products/databases/ ..

Still, they support it ( https://aws.amazon.com/simpledb/ ) because there are customers with legacy systems that depend upon this service.

While I personally never used Node-Red to build anything, I am now a fan of this technology for a simple reason: I saw non-developers happily creating & deploying working and reasonable-quality solutions with it (more than I can say about several tools to supposedly allow non-developers to build working software).

When someone in the business team mentioned they were using this tool to automate a few flows I assumed it would be an abject failure (as happened in so many similar projects I saw before - in some cases in multi-million deployments with huge teams of tools such as PEGA ).

Fast forward a couple of weeks and to my surprise an entire pipeline of needs from the operation where solved/fulfilled with almost no interaction from anyone in the development team. More than that: the end result is understandable.

Cavet emptor, maybe other teams will build horrible piles of crap with it, etc, etc but overall I am still impressed.

Exactly! In the past I asked high level/generic questions and often got very little out of it. Shallow responses or no responses at all in some cases.

Nowadays I send the email I will paste below to every new hire after a couple of months in the team..

Some people never bother to schedule the conversation (less than 20%) and I leave it at that. For the other folks - the big majority - I had great conversations/results from this effort. Learned a ton of surprising things, found hidden talents within the team, found and then went to fix serious problems.

The email:

Subject: Talk.

Oi <Joe>, how are you doing?

I would like to establish a communication channel between us, and as a first step towards this have a conversation - can you please schedule a 30 minutes conversation with me using https://<my-own-url>.youcanbook.me/ ? Feel free to pick any available slot there - if it is open it means I will be available and working at this time. We can talk using <videoconferencingservice> (if we happen to be at the same building we can have the conversation personally).

Before the conversation I would like to ask you to please think carefully about the following questions, and be prepared to discuss what you understand as most important:

- How can I help you?

- Is there anything you would like to tell me?

- Is there anything you would like to ask me?

- What is your profile? What are your strenghts that you like to mention? What do you like doing the most? What motivates you?

- If you were in my place, is there anything you would change? What?

- Who are the 2 people you most admire within the company? Why?

- What information you assume I don't have that you can give me and will allow me to do my work better?

- Where do you inconsistencies between what we preach and what is in our culture document at <URL> and between day-to-day practice?

- Is there anything you would change in our culture document? Is there anything missing that you judge it is important?

- What are you current attributions? Do you judge you day-to-day challenging enough and do you see the company helping you grow or do you feel you need more space?

- Is there any self-managed project ( <URL-TO-EXPLANATION> ) that you would like to establish?

- What do you understand as key to grow in our company?

- Do you receive enough feedback to grow and improve performance?

- Do you consider your leadership micromanages you, stays pretty far, or typically can find right balance in each situation?

- Do you feel your leadership cares about you?

- In your view does your leadership communicate very clearly what are the objectives to be achieved? Does it support the team in staying focused on what is most important?

- How do you evaluate the quality of the company information you receive? Do you feel you regularly receive relevant information from senior leadership to understand where we are going? How do you evaluate your own participation in setting the company direction?

- Do you feel your leaders have the necessary technical skills to manage your work effectively?

- Would you recommend your leader to other people in the company?

- What feedbacks you have to give me? What concerns you the most in my work? What makes you happy and you want to make sure I continue doing?

Regards,

I don't think that is a fair assessment of him, even then.

At any case, I hired him fairly recently for a security audit and he worked quickly, and was very effective (he found several important vulnerabilities and reported them in a crystal clear manner). He was also a pleasure to deal with (no bullshit stance, something I find enjoyable).

The 4000 USD for ~20 hours of work were definitely well spent!

This is really cool. Thanks for releasing it to the world!

Of course it is as secure as the virtualbox Sanbox is, but some variation of this statement would also be true for Flash, for Java and a host of other technologies that despite whatever flaws they had did allow a lot of interesting things to be built.

I am here musing, trying to come up with something nice I could build once the Linux-packaged version is made available...

Nonsense - their service is extremely cheap.

For the record, I paid their top tier price (actually more than that - they created a custom plan just for us because we had over 50 users) happily for several months (and would have paid 2x more).

First, they have this nice web UI, which means hardcore geeks in the company could use their IRC clients while other people just using the channels ocasionally to get support (not all of them technical staff) can use the web version instead.

If that saved one hour of my infrastructure staff overall (and I am sure it saved quite a bit more than that) it was worth it - hiring first class infrastructure staff is very challenging, so their time is worth gold.

OTOH, sadly the service was unstable/crashed a lot and eventually we gave up and migrated to xmpp.

I actually wish they had charged more, because maybe with that they could have fixed those issues more quickly and I could have avoided another painful migration...

What works for me is:

a) Making the candidate interested - I want them to be really interested in being hired, to ensure he will give his best shot (this is much easier when hiring with a specific spot in mind, which is not always the case);

b) Using a coding test that the candidate can do remotely at the time most convenient for him (http://www.codility.com/ currently - they are really good for this) as a first filter. This establishes basic programming skills, and allows me to...

c) Call the candidate for an in-person conversation and spend much more time discussing higher level questions, validating problem solving skills, and understanding the candidate past history. Unless it is remote position, in which case this will be a phone screening - notice I say an phone and not some kind of crappy can-barely-hear with-echo-or-lag-or-some-other-crap VOIP solution.

Finally, keeping this in mind has helped a lot: http://news.ycombinator.com/item?id=3690544

In the tests I did (including compression of an entire filesystem image), xz always compresses better for the same effort (amount of time).

One example (using the standard tools, not the multithreaded ones):

  igorhvr:tmp/ $ ls -la co_2011-08_import.mdb*
  -rw-r--r-- 1 igorhvr igorhvr 261832704 2011-10-11 07:19 co_2011-08_import.mdb
  igorhvr:tmp/ $ sudo time nice -n -20 bzip2 -k co_2011-08_import.mdb
  42.85user 0.14system 0:43.16elapsed 99%CPU (0avgtext+0avgdata 31968maxresident)k 112inputs+0outputs (3major+2268minor)pagefaults 0swaps
  igorhvr:tmp/ $ sudo time nice -n -20 xz -3 -k co_2011-08_import.mdb
  30.99user 0.19system 0:31.48elapsed 99%CPU (0avgtext+0avgdata 130640maxresident)k 96inputs+0outputs (2major+8389minor)pagefaults 0swaps
  igorhvr:tmp/ $ ls -la co_2011-08_import.mdb*
  -rw-r--r-- 1 igorhvr igorhvr 261832704 2011-10-11 07:19 co_2011-08_import.mdb
  -rw-r--r-- 1 igorhvr igorhvr  24020243 2011-10-11 07:19 co_2011-08_import.mdb.bz2
  -rw-r--r-- 1 igorhvr igorhvr  23949408 2011-10-11 07:19 co_2011-08_import.mdb.xz
In this case xz compressed roughly to the same size (slighly better than bzip2, actually) using only 72% of the time. This is often the case.

You are right. The .pdf version of the user manual of pigz (at http://zlib.net/pigz/pigz.pdf ) has a few details (the bottom of this answers your question):

"Pigz compresses using threads to make use of multiple processors and cores. The input is broken up into 128 KB chunks with each compressed in parallel. The individual check value for each chunk is also calculated in parallel. The compressed data is written in order to the output, and a combined check value is calculated from the individual check values.

The compressed data format generated is in the gzip, zlib, or single-entry zip format using the deflate compression method. The compression produces partial raw deflate treams which are concatenated by a single write thread and wrapped with the appropriate header and trailer, where the trailer contains the combined check value.

Each partial raw deflate stream is terminated by an empty stored block (using the Z_SYNC_FLUSH option of zlib), in order to end that partial bit stream at a byte boundary. That allows the partial streams to be concatenated simply as sequences of bytes. This adds a very small four to five byte overhead to the output for each input chunk. The default input block size is 128K, but can be changed with the -b option. The number of compress threads is set by default to the number of online processors, which can be changed using the -p option. Specifying -p 1 avoids the use of threads entirely. The input blocks, while compressed independently, have the last 32K of the previous block loaded as a preset dictionary to preserve the compression effectiveness of deflating in a single thread. This can be turned off using the -i or --independent option, so that the blocks can be decompressed independently for partial error recovery or for random access.

Decompression can’t be parallelized, at least not without specially prepared deflate streams for that purpose. As a result, pigz uses a single thread (the main thread) for decompression, but will create three other threads for reading, writing, and check calculation, which can speed up decompression under some circumstances. Parallel decompression can be turned off by specifying one process ( -dp 1 or -tp 1 )."

I also just updated the article with this info.

Who knows - if they keep pushing, it might eventually become true.

I remember at one point being part of the crowd that laughed at "Write once, run anywhere" slogan that Sun used for Java ("Write once, debug everywhere" was the joke back then). If you look at how things stand today, however, it has become mostly true (for server side applications).

Beware that there is no consensus that this is a good thing.

From Daniel Bernstein(qmail creator) at http://cr.yp.to/qmail/qmailsec-20071101.pdf

"I have become convinced that this “principle of least privilege” is fundamentally wrong. Minimizing privilege might reduce the damage done by some security holes but almost never fixes the holes. Minimizing privilege is not the same as minimizing the amount of trusted code, does not have the same benefits as minimizing the amount of trusted code, and does not move us any closer to a secure computer system."

You are assuming that the patent system as it stands rewards people who have ideas (more than the alternative of having no patents at all would).

I think there is a good chance that this is not true at all.

Some possibilities:

Maybe the system rewards people with the best lawyers? Perhaps the system rewards people who are more worried at shooting the other runners instead of running as fast as he possibly can? It could also be that it rewards large companies (since worrying about patents is mostly outside the radar of small companies), making good people want to join them?

Ideas will not ever become worthless, if only because often it takes a certain mindset to extract value out of them.

> CompressionLevel 9 Just one note regarding the above line: this only works with SSH version 1. This functionality was removed in version 2 of the protocol (in the newer version there is only a single default compression level).