you're right: in the RR case: currently this is not merged yet, but a RR contributor works on persistent checkpoints; they can act as snapshots
HN user
alehander42
I like language development. Some of my stuff: https://github.com/alehander92
We're working on Windows support for the scripting and blockchain languages.
I am sorry if the headline felt misleading or the current support disappointing: we do have experimental Ruby support, that you can try right now if you record a `<somepath>.rb` program.
We do design the frontend, trace format/lib and backends to support multiple languages. Ruby is already having experimental support, and we try to keep various other languages/usecases in mind. We hope to find a model that lets us work more on supporting many more scripting languages. We'd also love contributors/the community adding support for languages or codetracer itself!
We also do have a closed source backend based on RR[1] that has partial C/Rust/Nim support, but it is not yet ready. It might be released as a proprietary solution. (However if we find an alternative sustainable business model, it would be great to be able to open source it.)
The scripting/blockchain languages backend is more db-like: it collects a trace by hooking in tracing API-s or instrumenting/patching vm-s (the trace is later postprocessed before replay).
The system languages backend is based on RR[1] recordings currently.
We'd be happy to discuss more usecases or languages!
Nim is the original language we use. Zahary is a prolific contributor to Nim, and we have a good relationship with the Nim community, they've helped a lot!
Nim and some Python are used for our closed source rr backend currently, and the frontend is written in Nim (compiling to JavaScript).
The backend for blockchain and scripting language which is open sourced, is newer and we used Rust there for several reasons. One of them is related to the fact that many blockchain languages are implemented in Rust and this makes it easier to interoperate/contribute. There are other aspects as well: both languages have pros and cons.
Some pros of Nim are e.g. it's metaprogramming support; the ability to share easily code/types between backend and frontend(it's an alternative to both e.g. C++/Go and TypeScript for us).
We're thankful to both language communities!
the support for system languages (the rr integration "backend") is currently closed source.
It's not ready yet, and it might be proprietary: it would be great if we can open source it, if we find a sustainable business model for that
Very impressive! Lisp people are always good at tooling.
True! The next major version of the format should use a more optimized format, as mentioned.
However, some of the important optimizations, that we're preparing are not related so much to the format, but to record more specific things and reconstruct more in the postprocessing.
We'd love additional contributors! We also have some more detailed plans for such an extension. If you're interested in chatting about it, you can join our discord[1] (or we can expand here/in a github issue as well)
We are currently working on two "backends" where recording works in different ways.
For the scripting languages and smart contract/ZK languages, we instrument the interpreters using high level hooking API-s or direct patches, and we produce a trace.
For system languages, we directly build on top of RR[1] recordings for now: RR can record multiple processes, and it works in userland. IIRC it doesn't support modifications of shared memory outside of the recording. It's very well documented in their paper: Engineering Record And Replay For Deployability: Extended Technical Report[2].
A contributor to the D language helped us for many aspects of the project. He would really like to see D support haha!
We are building our future support for the system languages for now directly on top of RR recordings: credit to Robert(roca) and Kyle and all other contributors for RR and Pernosco, they're amazing technologies.
We've researched possible alternative approaches/tools as well, especially keeping in mind Windows/Mac support.
The traces for Noir and the scripting languages work in a completely different way, capturing all the relevant data which is later indexed into a db-like structure. With some future optimizations this can be very useful for various shorter programs in scripting languages, and generally for blockchain languages(as the running time there is usually low) and we hope that eventually with flexible record filtering it can be practical even for capturing important segments/aspects of long-running real world projects.
We are also planning to develop a distributed tracing platform, similar to Jaeger and OpenTelemetry, that continuously records the execution of many distributed processes (e.g. micro-services).
Unlike the existing platforms, which capture only message flows and require you to make educated guesses when some anomaly is observed, our system will let you accurately replay the processing code for each message to quickly identify the root cause for the anomaly.
This would rely on our ability to jump to the specific moment in time when a certain incoming message starts being processed. This moment can be identified either by a log line with a specific format or by a call to some special tracking function (e.g. track_incoming_message(request_id)).
For the system languages, the RR[1] recordings try to be practical by capturing only the non-deterministic events in the program execution. You can pair this with a ring buffer that discards the data after a certain retention period.
For the scripting languages(or any implementation using the db-like traces) we might add some advanced record filtering options.
(But maybe we are misunderstanding the question?)
Thank you!
The Python initial prototype is not yet finished. It's easy to play with, so anyone interested can actually work on it! Currently, in the experimental tracers, Ruby is usable for smaller programs, so one can try Ruby immediately.
I do plan on improving some of the prototypes, and on adding additional ones: for Lua, but JavaScript: e.g. v8 is also a good target. Scripting language users that find it useful, are welcome to discuss/chat with us, or even directly contribute or propose support for new languages.
A form of record filtering is planned indeed.
We have experimented with automatic chart visualizations of some things, we've planned custom visual representation as well, great to see interest in those
Most Bulgarians are actually proud of their country, often sharing that the Cyrillic originated there, and focusing proudly on the old history and all kinds of inventors/achievements, even on stuff like the uniqueness of our yoghurt: so I have the opposite impression, as a Bulgarian
Well, we can't and we shouldn't find agreement if our base beliefs are different. I only also disagree with any vitriol against the professor.
I have my doubts: even the comment you were critiquing, it seems to me that you read it with bad faith, assuming ill intentions which leads me unconvinced that you could argue objectively from the Biblical viewpoint in other cases.
I had my share of non-christian worldview for many years, so there is sadly not much surprising about your arguments except for the stubbornness in applying interpretations on Scripture that no normal christian through the ages or even scholar probably held.
I know we all go through different periods in our lifes, so I hope you find Christ again. He loves all of His lost sheep. See you.
A soul is infinitely more important than a temporal sickness and God is infinitely more merciful and wise than our limited capacity/knowledge can comprehend. And yes, Christ came to destroy death on the Cross: and yet, before His resurrection He lived through every joy and pain other humans do. And I am glad that He did gave His words of Life, flesh and blood, instead of a biology textbook.
John 3:16-21 "16 For God so loved the world that he gave his one and only Son, that whoever believes in him shall not perish but have eternal life. 17 For God did not send his Son into the world to condemn the world, but to save the world through him. 18 Whoever believes in him is not condemned, but whoever does not believe stands condemned already because they have not believed in the name of God’s one and only Son. 19 This is the verdict: Light has come into the world, but people loved darkness instead of light because their deeds were evil. 20 Everyone who does evil hates the light, and will not come into the light for fear that their deeds will be exposed. 21 But whoever lives by the truth comes into the light, so that it may be seen plainly that what they have done has been done in the sight of God."
Christianity is what actually fulfilled Second Temple judaism. There was no need for such a Temple anymore, as now people themselves were becoming living temples. Lord Jesus, apostle Paul and Hebrews explain all of this way better than I can.
Obviously rabbinical judaism believers see themselves as the actual following: and that's where we disagree. However their explanation seems stranger than the christian one: we stopped having major prophets because the Son of God Himself came to reveal the Father and to save us, we don't need animal sacrifices and a Temple from human hands, because they were just a shadow to the Cross, prophesies from OT were fulfilled with the promised Messiah. The rabbinical judaism: they don't have prophets, because ..? Why would God let their temple be destroyed, if they were right about Jesus? Where is their messiah?
He wasn't talking about the hygiene of washing hands. He is God, he understood. He was making an obvious point about human traditions a which the Gospels even clarify with context.
The Scripture is full of similar scenes. Peter sees a vision with a sheet with unclean animals ready for eating. The focus was on evangelizing the people who eat those foods tho: the gentiles.
The destruction of the Second Temple was prophesied by Christ, and apostles started serving in the Church only 50 days after His resurrection, on Pentecost. So yes, rabbinical judaism has been a reaction to the destruction of the second temple, but the Church was already active and persecuted in the center of the roman empire, many epistles were already written and there were churches through greece and rome
Every interpretation which focuses on Jesus as a "interesting teacher" ignores half of the things he actually said and demonstrated. Paul wasn't more radical than the man who claimed to be greater than the Temple, one with the Father. Christ claimed that Abraham rejoiced for His day, Moses wrote for Him and the Scriptures pointed to Him.
He saw His own flesh as the bread of life, greater than the manna in the desert.
I am not sure we can easily comprehend how out there this was.
He resurrected people and died for the sins of every human. His teaching wasn't just a list of debates, but it was full of claims and events that you can't honestly compare to other "rabbies"
Not really. The Scripture is very good at showing what's in our heart: we have freedom to interpret some non-obvious things wrongly, to not put effort at actually understanding it and into deluding ourselves. However especially the Gospels have a lot of very obvious spiritual teachings.
But very often the truth reason that we don't like them is not because of our intelligence(you can find genius people believing in almost every kind of faith or ideology), but because of trauma, misunderstanding or the fact that often deep down we want to be our own gods, but we just end up being slaves to our own fragility and animal-like passions.
Hebrews 4:12
"For the word of God is living and active. Sharper than any double-edged sword, it pierces even to dividing soul and spirit, joints and marrow. It judges the thoughts and intentions of the heart. "
(edit: also, my point is: if you ignore all the things you shouldn't ignore, it's easy to leap to wrong interpretations. you shouldn't ignore them! end of edit)
All of this is really not very relevant to the New Testament. Sadly I feel people back then had in some ways a better grasp of symbolism, proverbs and Scripture than us today.
Why? Rabbinical judaism is not the same as the Second Temple faith. Research its history and if it preserved the same interpretation of OT
I actually almost haven't commented about the professor: I empathize with his frustration. I commented here not because of him, but because of the misrepresentation and misinterpretation of the Gospel.
I am a protestant. Despite that, I actually wanted to defend catholicism in the sentence you reference. Because many hollow critiques of christianity draw this caricature of gloom and hopelesness which is totally contrary to it, even to catholicism imho
I find it bizarre to focus on endless discussion of hygiene and misunderstood Biblical quotes which replace the actual focus on deep problems in the fallen human nature with filler. This happens all the time: the flesh is very happy to discuss every non-important detail leaping over the actual narrative and meaning.
The problem of humans is sin and separation from God: only Christ can fill the yearning for truth, meaning and actual love, not the emotional comfort zone filler that we often call love these days and only He can save us from being slaves to sin and our passions.
Today's judaism is very different from Second Temple judaism. My impression is that it is probably more different from it than some forms of Christianity, e.g. Eastern Orthodoxy. It seems that it has evolved as a reaction against Christianity and morphed into a very different religion.
Also, no, this is not the message in the Gospel. Here is an example commentary of the scene if you actually want some context: https://biblehub.com/commentaries/ellicott/matthew/15.htm
this is a problem: your interpretations contradict.
Yes, if it was only about hygiene, this would seem strange. But the actual passages are more complex: and naturally, ignoring symbolism, ignoring the whole context, the huge difference between Law and human rules, the giant focus on sin in thousands of years of Scripture, Christ's ministry and the Law, Israel society, one can leap to any interpretation he wants.
We can also add James epistle , James 4:8-9: "Come close to God, and God will come close to you. Wash your hands, you sinners; purify your hearts, for your loyalty is divided between God and the world."
I don't think any mortal human should behave as he is God. It's good to try to not get sick/prevent diseases.
However, you took this sense out of context: the context is "There is something worth non 0 value of living in a society who accepts you despite being sick or 'dirty', and is willing to take the risk of having those who are tainted amongst them. I feel that's an attitude that comes from a place of strength not weakness."
This is much more nuanced. Nobody should be forced to do this! And after all, it's someone's interpretation. The OT specifically instructed people for such diseases as you might know. Christ helped the sick not naively, but knowing he can heal them. Doing things naively is not always good.
The picture you draw sounds like a strawman of catholicism. Well, "The heart is deceitful above all things" says Jeremiah: our flesh is very proud and letting the ego go is extremely hard for it. However this is more similar to the frustration of a child wanting to create it's own society far away from parents and then going and living in the jungle in utter helplesness and self-delusion.
There is a paradoxical beauty in the eternal which is hard to even articulate and those materialistic arguments ring hollow. I can totally see how it might look like that, but I'd say it's a look from someone who haven't yet actually tasted the beauty of Christ and the faith, see the peace in the Word or the saints. I've been in a boat similar to yours many years(and yes, you can have read the Scriptures 10 times and led 200 discussions, information is just information)
I mean, it's simply very strange to read this through the lens of some kind of "rules of hygiene" outlook. Nobody took it that way: jews weren't some kind of naive children, traditions and rituals were deeply embedded in their culture. The gospel account gives the actual context and explicitly shows it has nothing to do with hygiene. He never tells them not to wash their hands: I've had OCD so at least to me it's painfully obvious it's more like "don't do X hoping this will clean your soul", they explicitly talk of defiling which is a spiritual concept.
Christ was not against the concept of God's ceremonial rules/law: after all, He was the one instituting it in the beginning, my understanding is that He was against hypocrisy and burdening people with custom rabbinic rules instead of focusing on the spirit of the Law.
You can just take a look at the excess of some modern rabbinical judaism ceremonial rules for proof.
Again: it's very hard for me to understand how you can read those passages with such a strange mindset: material things were often just shortcuts to spiritual conversations, they already had thousands of years of Scripture in that direction
Just to clarify my comment, I was answering your second paragraph: it seemed to ignore to me the context of the original related Bible sections that started the discussion.
If you totally ignore the context of a text and read it in a way almost no one ever read it, you can give it any meaning you want
God gives eternal life. In this case, the biggest problem we have isn't really sickness, or even physical death: it's separation from the Him: the Source of all that's actually good, and being enslaved to everything opposing Him.
Christ himself wasn't spared a brutal death in this life: many apostles and martyrs in a similar way, and this wasn't by accident. Earthly comfort or even health isn't the goal of christianity. Being re-united to God and stop being slaves to sin is more important: but this is a question of free will imho.
(as apostle Paul says in 2 Corinthians: 1 For we know that if the earthly tent we live in is destroyed, we have a building from God, an eternal house in heaven, not built by human hands. 2 Meanwhile we groan, longing to be clothed instead with our heavenly dwelling,..)
The faith doesn't make sense, if one believes only in the material world. It's central point is the Resurrection: "If only for this life we have hope in Christ, we are of all people most to be pitied." (1 Cor 15:19)
[1] 1 Corinthians https://www.biblegateway.com/passage/?search=1%20Corinthians...
It is about the actual purpose of the Law and it references ritual purification. It's about human traditions vs God's Law. We don't need to wash our hands as a spiritual ritual before eating, we absolutely can wash them if it makes sense to wash them, e.g. hygiene.
Read Mark 7:
1 The Pharisees and some of the teachers of the law who had come from Jerusalem gathered around Jesus 2 and saw some of his disciples eating food with hands that were defiled, that is, unwashed. 3 (The Pharisees and all the Jews do not eat unless they give their hands a ceremonial washing, holding to the tradition of the elders. 4 When they come from the marketplace they do not eat unless they wash. And they observe many other traditions, such as the washing of cups, pitchers and kettles.[a]) 5 So the Pharisees and teachers of the law asked Jesus, “Why don’t your disciples live according to the tradition of the elders instead of eating their food with defiled hands?”
larger second EDIT:
The focus is of course, spiritual, and it is on the actual things that defile people, for example:
20 He went on: “What comes out of a person is what defiles them. 21 For it is from within, out of a person’s heart, that evil thoughts come—sexual immorality, theft, murder, 22 adultery, greed, malice, deceit, lewdness, envy, slander, arrogance and folly. 23 All these evils come from inside and defile a person.”