tomekowal

Joined 11 years ago

Karma
49
Submissions
27
Member since
Mar 9
Elixir developer. Building quadcopters in my free time: https://www.youtube.com/watch?v=JMEYx5EWji8

[ my public key: https://keybase.io/tomekowal; my proof: https://keybase.io/tomekowal/sigs/qv9zhDhgpK66agt3NYfUJUKVmMUb2Rw4sx4HNjjAKGM ]

View on Hacker News

Recent submissions

Comment · 4 months ago
With qwen3.6-35b-a3b-mtp using lm-studio on RTX 3090, I was getting 120tokens/s. The mtp (multi token prediction) is the key.

I tired coding with Pi and it was much faster than Claude, but for any not-straightforward tasks, it did so so. Either looping itself or not realising easy to spot constraints.

But for exploring codebases and asking questions about big stuff I find it better due to sheer speed.

Comment · 5 months ago
The article says that domain expertise is more valuable now because agents can code well, but not understand the domain well.

I believe there are domains that are very well encoded. The model very often can know that a shift can't be longer than 11h and if you ask an agent for scheduling software it can surprise the developer by encoding that rule.

Both domain knowledge and coding skills became cheaper.

It might depend on the domain. Highly regulated domains like finance have entire books around how they should work.

However, I agree that verification skills became more important in both areas. A domain expert needs to catch 12h work shifts and experienced programmer needs to catch when the LLM accidentally put a route in a section that doesn't require authentication.

Both require some kind of harness and automatic verifications methods.

Comment · 7 months ago
Can it run Doom?
Comment · 8 months ago
Attention! Lawsuit from Blizzard imminent.
Comment · 11 months ago
There is a hidden hypothesis in this article that AI "does not struggle" with things like undefined behaviour, off by one errors and undefined behaviour.

Yes, it can consistently generate code that works and seems to be on top of it all due to a lot of training data. But wouldn't that use up more tokens and computational resources to produce than e.g. the same program in python?

If using more complex languages requires more resources from LLM, the same principles apply. One-off scripts are better in high level languages. Hot paths executed millions of times a second are better in lower level languages with high optimisation potential.

LLMs might slightly shift the correct choice towards lower languages. E.g. a small one-off script in C is much more viable with LLM's help. But the moment one needs to reuse it, it grows, and needs to be modified, one might regret not using higher level language.

Comment · 2 years ago
Awesome! Would it be possible to make checkbox number part of the url? This way, I could send someone a link straight to part of canvas, that I worked on :D
Comment · 3 years ago
Short answer: scheduler.

Long answer: web applications have usually tons of independent request. Each request does its own thing, might never communicate with other requests, touches the DB and returns. You have two choices in such scenarios. You can either maximise throughput or minimise latency. BEAM's scheduler choses the latter which is usually what you want for web. More detailed discussion: https://tkowal.wordpress.com/2015/01/27/the-unintuitive-late...

With:

- per process garbage collection

- one BEAM process per request

- short lived HTTP processes

you might never trigger garbage collection, the whole memory is deallocated at the end of requests.

It basically means, BEAM gives you high level languages like Gleam or Elixir that are fast to write and prototype as Rails or Django, but are almost as performant as handwritten memory managed applications written in low level language.

This is magic sauce in startups: the freedom to go fast, prototype and iterate with scalibility issues popping up waaay later than in Ruby/Python stacks (sometimes never - if your startup is successful without supporting whatsapp's user base :P)

And that's just if you are donig plain old HTTP backend. With new reactive architectures, keeping persistent processes server side and using LiveView instead of JS frameworks can again cut development time.

And then, there is support for AI with LiveBook and NX... It is weird how many hard issues BEAM just makes much easier.

Comment · 3 years ago
Nice idea and cool looking website! I would re-record the video. It is jittery and it makes the top of the website off-putting. Good luck!
Comment · 5 years ago
I see standing desk and a monitor arm. My question is: does the arm wobble much when you adjust height? If not: what kind of arm are you using?
Comment · 6 years ago
My two cents:

1. English is not my first language, and Grammarly helps a lot. Small things like correct punctuation and articles make the text much easier to read for native speakers.

2. I try to make communication "modular". There is tension between over-communicating (giving full context) and under-communicating (leaving out details). The first sentence of each paragraph summarizes the point. If you know that stuff already, you can skip. If you are re-reading, you can quickly get up to speed by skimming first sentences. If you are surprised by the first sentence, read the paragraph.

3. I often use numbers so that my recipient can answer or discuss just one point from my text. That usually starts with "Ad2". You can then "split" the discussion by numbering annotations "Ad2.1". If the conversation gets too long and convoluted, we need to add a summary of what we've written. Both Slack and email have flat conversation structure (Slack threads can go one level deep). That flat structure is usually a good thing for someone following the discussion.

It is very natural, and most people reply in the same way instinctively.

Comment · 7 years ago
I think that object recognition is hard because humans have much more data than computers. People see with two eyes which can focus on different distances, so our brain has 3D data to learn from. We later learn to recognise the same objects on pictures.

Computers usually start from flat pictures, and that trips the learning process.

I have zero data to back it up. Just my hunch :D

Comment · 7 years ago
I would change the part: ``` Do you use source control? Do you test code? Do you use bug tracking? Do you use CI/CD? ``` to ``` How do you use source control? How do you test code? How do you perfrom bug tracking? How do you solve CI/CD? ```

For really good companies asking if they test code seems insulting :P

Comment · 9 years ago
I feel like StarCraft and RTSes in general work really well in this scenario, because they occupy every brain cell available. Concentrating really hard on something non work related totally resets the brain.
Comment · 9 years ago
To me ideas just come unexpectedly and often because I see someone mistaken https://www.xkcd.com/386/

I had a talk where I showed how Elixir and Elm programming languages complement each other and someone in the audience asked what are we using Elixir for in our company. When I said that for payment systems he looked surprised, because he heard about "let it crash" in Elixir and he thought it is unusable for anything critical. That inspired me to talk about how we use Elixir for handling money.

I also answered questions on Stak Overflow for some time. Of course there are many typos or library quirks that are simply missed, but often you see a person that just entirely misunderstood the concept. This is also a target for talks. There might more people struggling with the same thing (especially if your question gets more views).

Pay attention to what surprises people when you are talking with them. If someone didn't know what you find obvious, there is a good chance more people don't know it. We have some kind of bias where we think that what WE know is common knowledge and automatically EVERYONE ELSE is smarter than us (because they know everything we know and some more that we don't). That is obviously not true :)

If you find a topic that surprised couple of people it means you have and idea worth sharing. It doesn't have to be novel! I often put quotes and references from blog posts that I read about given topic to show that this idea is not new at all! Old ideas are often not widely known or forgotten. They are perfect for conferences, because they might be crystalized over years, so it is easy to research them.

Comment · 10 years ago
I am working full time with Elixir and Phoenix for more than one year now and worked with Erlang before that. It is great to see how well thought out all the abstractions are (both in the language and in the framework). I saw couple of companies cautiously introducing Phoenix in their stack and then going all in. One of such stories will be presented at Erlang User Conference: http://www.erlang-factory.com/euc2016/ben-marx

Comparing to Ruby: Phoenix promises to be as productive as Rails, but more performant and it keeps the promise if all the libraries you need are already ported to Elixir. Even if not, people consider writing them from scratch.

Comparing to Erlang: Elixir fixes a lot of problems like encoding or inconsistencies in standard library. It introduces many new concepts borrowed from Ruby so it might be a little overwhelming for Erlang developers (Erlang is really small and simple language - the hard part is OTP).

Learning Elixir is like learning to touch type. Initially it slows you down, because you have your habits. You need to learn new abstractions, because old solutions just don't work. After short period you are as productive as before. After a month you can deliver hight quality code quicker which is the ultimate goal of every programmer :) And it magically scales on more machines or at least utilizes all of the cores.

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton