Tool use(or function calling) is completely different from MCP.
MCP:
Function discovery and calling protocol.
tool use:
1. The ability to select tool/function.
2. Parse tool/function execution result.
@tracyloisel@AlexYarotsky It will wait until this lock is released or timeout.
Use "FOR UPDATE NOWAIT" if you don't want others to wait. This will immediately raise an error:
Account. transaction do
account = Account. lock("FOR UPDATE NOWAIT"). find(id)
...
end
Functors: Map values in a context.
Applicative functors: Combine independent computations in a context.
Monads: Chain dependent computations in a context. This is also called "chaining" or "piping".
Monoids: Accumulable. Reduce or fold
#FunctionalProgrammingPatterns
The best way to prepare a dev environment on macOS is to create an OrbStack Machine with cloud-init.
- Env isolation & reproducible
- Can be put into external storage
- Work with native containers running on OrbStack
- High performance
Exciting news! 🎉 Darwinia Name is now live! 🚀 Users can now register their unique "abc.darwinia.eth" names on the Darwinia chain. Visit https://t.co/7wDxhrC8n4 to get started and secure your personalized domain today! #Darwinia#ENS#Blockchain
Do you know "Security Keyboard Entry" feature of Mac? I just learned this from @t3dotgg's video(https://t.co/UZtLvNlq8m). Here is how to enable it for your Terminal.
AI may make experienced programmers more valuable. Because it will be more difficult to produce senior programmers in the future. Only senior programmers can become AI tamers. Junior programmers will become dispensable.
https://t.co/sE6IyRX77j
2. Become a self-employed person and become a business owner. AI makes it possible. This is not an easy task for traditional programmers, and they need to have a better business sense.
DeepSeek R1 taught me how the AI editor works. I was shocked by its ability. This made me think about what kind of programmers the world will need in the future? Maybe we won’t need programmers in the current sense anymore. So, what can we do?
1. Become a super programmer, one person can do the work of a team. The most important thing in this direction is to have comprehensive ability and sensitivity to details.
tip0: blocking means blocking the thread.
tip1: auto switching to non-blocking if the code is inside Async/Sync.
tip2: task.wait does not block the thread but rather yield control to other task(fiber). This is what confused me.
Async ruby introduces the Reactor pattern to Ruby while keeping the code almost the same as blocking code, without having to write `async`, `await` like syntax. It is much more elegant than async in other langs.