A friend built this service to solve the following problem: if you’ve ever built a voice agent or chatbot that needs to call into real phone systems, you know how painful testing can be. https://testvoice.ai/ makes that process simple. You can buy a real phone number, build dialplans visually, and make or record real calls in just a few minutes.
It’s designed for developers working on voice AI or IVR traversal. You can map call flows, test how your agent handles prompts, and verify latency or routing. All from a web interface.
Under the hood it runs on Freeswitch , postgres, python/ Fastapi, and nextjs, and includes features like call recording, versioned dialplans, and IVR traversal testing.
Importantly, both Awlaki and his teenage son who was later targeted in another drone strike, were both American citizens. You can argue as much as you like in favor of the joys of murder and assassination as a way of organizing the world, but there is no conceivable argument that this is constitutional.
Cicada 3301 is fascinating. Taken at face value (and that's a huge assumption to make) it appears to be a self-styled
"cypherpunk freemasonry" of sorts. Care to cite or summarize the evidence and case for a satoshi/cicada link (other than "hey wouldn't that be so awesome if...")?
I don't know why no one has answered this (it is brought up a few places in this thread) but if I had to guess why they didn't want to go this route I would say it's the trade-off of not not having your data be native. They presumably have a somewhat highly involved pipeline/topology of computations that data flows through. In the interests of good readable and maintainable code, having a nice declarative data representation is a big plus, and doing the computation with native Java data structures is apparently fast enough for their needs.
In Clojure the data structures work consistently across the language, which to me is one of many reasons why Clojure is a better Lisp than Common Lisp (but CL has its place).
> Moreover, those Lisp experts I have learned from didn't even mention Clojure.
On the contrary, Clojure is and has since its inception been praised and often adopted by prominent users of Scheme and Common Lisp (the list is too long, but for example the late Daniel Weinreb declared Clojure the future of Lisp). The Clojure conference in Portland this last few days is a perfect example of the cross-fertilization between the Racket/Scheme logic programming subcultures and the Clojure logic programming subcultures.
Come on. Arrays are absolutely necessary for certain algorithms, so, they are here, so are efficient hash-tables. Structures (records) were standardized, but they are nothing but a bunch of macros. And that is good-enough.)
I'm a virtual student of prof. Brian Harvey (and reader of pg and Norvig).
And there is nothing special in trying to "port" the ideas form the "old" Lisp world to Clojure and present them as a new. Simple trick. All those logic programming buzz is from karen, query language of datatomic is from old expert systems, etc.
This whole "I used the language for 2 weeks so now I am qualified to change it radically" attitude is well-established in the Lisp community (yes I know Steve Yegge is a veteran lisper, but this still applies, especially to some of the other commenters). The authority on this is Brucio, the fictional author of "Lisp at Light Speed" http://replay.web.archive.org/20080722232746/http://brucio.b... Bruce's First Law of Lisp is "If it does not do exactly what you expect with zero hours consideration or experience, it is a bug in Lisp that should be fixed."
One way is that Rich's example compilation units (forms input at a REPL) don't all exist at the same time, like compilation units that are files often do.
I agree, JavaScript development can be maddening, even with (and because of!) helpful plug-ins like Firebug. Lispers spoiled by swank/slime in emacs may like https://github.com/ivan4th/swank-js as a JavaScript dev environment.
It’s designed for developers working on voice AI or IVR traversal. You can map call flows, test how your agent handles prompts, and verify latency or routing. All from a web interface. Under the hood it runs on Freeswitch , postgres, python/ Fastapi, and nextjs, and includes features like call recording, versioned dialplans, and IVR traversal testing.