Mohammad Alaggan, Ph.D. (@malaggan) header
Mohammad Alaggan, Ph.D. (@malaggan) profile picture

Principal Engineer at @AWSCloud (CloudFront). Opinions are my own.

Toronto, Canada
Joined October 2009
Photo by Mohammad Alaggan, Ph.D. (@malaggan)Photo by Mohammad Alaggan, Ph.D. (@malaggan)Photo by Mohammad Alaggan, Ph.D. (@malaggan)Photo by Mohammad Alaggan, Ph.D. (@malaggan)Photo by Mohammad Alaggan, Ph.D. (@malaggan)Photo by Mohammad Alaggan, Ph.D. (@malaggan)Photo by Mohammad Alaggan, Ph.D. (@malaggan)Photo by Mohammad Alaggan, Ph.D. (@malaggan)
Mohammad Alaggan, Ph.D. retweeted
Arabic is my first language. After a decade across UI frameworks, support is getting better, but far from solved With Latin scripts, you barely think about text. Build anything serious in Arabic and you see the cracks Built this to help patch one of those cracks
10
19
2
186
6,697
Mohammad Alaggan, Ph.D. retweeted
仮定を鍵、結論を扉と見立てて、ダンジョン探索が「証明」になっていくブラウザゲーム「Proof Dungeon: 自然演繹の迷宮」を作りました。パズル感覚で論理学や自然演繹を学べるブラウザゲームです。日本語と英語に対応しています。 kihara-logic.github.io/proof…
14
450
38
1,799
100,959
Mohammad Alaggan, Ph.D. retweeted
I'm looking for someone with a PhD (or decently into one), or 10+ years in systems programming, anywhere in the world Remote allows me to pay, to publish a monthly column for @theconsensusdev selecting and putting a CS research paper in context. $600 per article. No particular length requirement as long as it's well done. Use AI for whatever you want but you must write by hand and own correctness (I'm checking too of course). Please pass along. [email protected]
9
50
3
266
19,191
Mohammad Alaggan, Ph.D. retweeted
Okay, let's do this. Isabelle, Lean, and Rocq (formerly Coq*) are theorem provers. They are meant to prove mathematical theorems. We use them for formal verification by either 1) translating a program to the theorem prover (risking a translation error) or 2) using a language built into the theorem prover that extracts into a working binary. Fizzbee, TLA+, Spin, Alloy, Quint, and P are specification languages. They are meant for checking high-level blueprints of programs. After checking the blueprint, you still need to make sure your program matches it, which is a hard problem. Specification languages differ in what they make easy to express. P, Spin, and Fizzbee are designed to be closer to the code implementations. P looks like interacting state machines, Spin looks like C with CSP, Fizzbee looks like a dialect of Python. It's easier to use a codelike specification language and refine it to code, but you can't do as much with it. Alloy, TLA+, and Quint are more abstract. Alloy looks like a bunch of algebraic relationships, TLA+ is a much of logical formula, and Quint is a programmer-oriented (and statically typed) condensation of TLA+. Abstract modeling languages are harder to get started with and harder to represent things, but you can represent a wider class of systems with them. I believe UPPAAL is a specification language for realtime systems. This is a field I have no experience in. It seems a graphical language, though, which would make LLM-assistance difficult. Dafny is a verifiable programming language. It has regular programming language features, but also a bunch of features to express and prove properties of the program. It uses SMT solvers to actually prove the properties, meaning you don't need to learn a proof language (though you need to learn to cajole the solver). Dafny is probably the easiest thing on your list to get started with, but also the least likely to meet any weirder needs you might have. I don't know what Ivy is but some cursory Kagiing suggests it falls in the specification language category. Some other things @spin_lock_init didn't mention: - Other theorem provers: Agda, Metamath - Other abstract specification languages: mcrl2, NuXMV, Event-B - Other verifiable programming languages: Idris, F*, Whiley - There's also using a verifiable subset of a language, like Verus for Rust or SPARK for Ada. So, what you need to pick depends on what you want to do. You'll get the maximum power with a theorem prover. Lean is the de facto language for vibeproving, but Anthropic recently published a post about vibeproving in Rocq so YMMV. If you want to make abstract models of software systems, go for a specification language. Which you choose depends on a lot of factors. If your system can be represented as lots of simple communicating state machines over a network, try P. Spin, I believe, is close to simple C/Go with a network and channels. I have never used Fizzbee. Alloy is good for domain modeling, but struggles with really complicated temporal actions, nested data structures, and largish numbers. Also AIs aren't to good at it (last I checked, in March). Runs fast and makes good visualizations though. TLA+ and Quint are for modeling complex temporal systems. I'm partial to TLA+ but know a lot of people who say Quint is easier to get into. Note P, Fizzbee, and Quint all claim to have features for testing a codebase against a spec. I can't vouch for any of them, though. None of the languages I mentioned (except maybe NuXMV?) are particularly good at modeling sequential, deterministic algorithms. Use Dafny if you need to just write a verified program and don't care which language it's in. I don't think other verifiable programming languages are as user-friendly for the time being. Consider a verified subset if you already know a language and want to just augment it with more correctness. You may need other, more exotic tools depending on your particular needs. Regardless of the above advice, don't be afraid to use the wrong tool for the job. If you vibe well with a language, and you achieve good LLM-sympathy with it, you'll be able to go farther than using a "right tool" you don't like.
IIUC, all i need to do next is pick one of these? fizzbee, tla, spin, alloy, ivy, quint, isabelle, lean, p language, dafny, coq, uppaal
26
54
5
347
16,854
Mohammad Alaggan, Ph.D. retweeted
With the new results showing that 3-SAT can be solved in subexponential time, let me explain the confusing ways theoretical computer scientists talk about "exponential time". There are two very different notions of exponential time in use: 1. The class E of problems solvable in 2^O(n) time, or equivalently O(2^(kn)) for some constant k, or O(c^n) for some constant c > 1. 2. The much broader class EXPTIME of problems solvable in O(2^(n^k)) time for some constant k. The second is a misnomer: it’s the exponential of a polynomial, not just an exponential. But it’s the one complexity theorists usually mean, because it’s closed under polynomial-time reductions. In particular, every problem in NP is in EXPTIME. Similarly, there are two notions of subexponential time: 1. 2^o(n): for every ε > 0, time O(2^(εn)), i.e. faster than O(c^n) for every constant c > 1. This one doesn’t have a standard class name. 2. The much smaller class SUBEXP: time O(2^(n^ε)) for every ε > 0. The results announced by OpenAI and Anthropic run in approximately 2^(n /√log n) time. That makes 3-SAT subexponential in the first, weaker sense. Proving 3-SAT is in SUBEXP would be a much bigger result. SUBEXP is closed under polynomial-time reductions and 3-SAT is NP-complete, so every problem in NP would then be solvable in subexponential time.
8
30
4
260
19,732
Mohammad Alaggan, Ph.D. retweeted
3SAT in subexponential time (2^{n / log^eps(n)}) is maybe the biggest surprise I have seen during my 20 years following theoretical computer science (still remember the feeling 25 years ago seeing the diff a 3 versus a 2 can make for complexity 😅)
32
89
16
1,333
128,233
Mohammad Alaggan, Ph.D. retweeted
I built 𝚌𝚙𝚞-𝚌𝚑𝚊𝚝, a reproduction of @openai's findings of covert communication using the CPU. It runs on a generic host with 2+ Firecracker microVMs with no internet access. Works on x86 and even my M5 chip. I was able to chat via 3 separate mechanisms: ① CPU contention ② Cache eviction timing ③ DRAM bandwidth contention … across multiple CPUs, defeating all Firecracker's production recommendations (no SMT, no KSM, tenants pinned to different cores.) Essentially, if shared hardware is involved, there's a good chance your agents can communicate covertly. And with really decent latency. The good news: this is decidedly different from a *side-channel attack* where the agents could steal information (Meltdown/Spectre), a category of attack that providers like Vercel Sandbox mitigate. Further, in our real-world environment, these 'whispering' techniques are much harder to pull off and easier for us to monitor and detect (sampling hardware counters + lots of at-scale statistical data.) Noteworthy: ironically, OpenAI and Anthropic's models refused to do this work. Open weight models got the job done. I'm worried the labs' stance might backfire and get in the way of helping developers build correct and secure systems. e.g: building a secure sandbox requires having this kind of analysis, and without it, we'll have a less secure world.
270
250
101
2,712
236,080
Mohammad Alaggan, Ph.D. retweeted
While evaluating Qwen3.8-Flash-Next in a controlled sandbox environment, Cohere's research team observed something unexpected. Asked to generate a defensive cybersecurity detection rule, the model instead inventoried aspects of the machine it was running on and attempted to upload a probe file to an Alibaba Cloud storage bucket in Beijing. Notably, the model's reasoning trace stated that it would not invoke any tools before taking these actions. Cohere's sandbox blocked the attempt, and no external communication succeeded. We have not determined the root cause, and we are not asserting malicious intent. But the incident raises important questions for organizations deploying agentic AI systems: Can models take actions that differ from their stated reasoning, and how should security teams evaluate trust, provenance, and behavior in open-weight models? We are publishing our findings because organizations making model adoption decisions deserve as much information as possible. We hope this contributes to greater transparency, stronger security practices, and continued collaboration across the AI ecosystem. Read the full report: cohere.com/blog/concerning-b…
982
1,282
1,513
11,089
3,047,417
Mohammad Alaggan, Ph.D. retweeted
2. The idea is that the spec is *ideally* smaller and cleaner to vet than the code. 3. However, in practice, current AI tools often produce poorly engineered and/or misleading specs that are subtly incorrect and instill false confidence.
4
3
1
46
1,290
Mohammad Alaggan, Ph.D. retweeted
Oh wow! An Android app can tell MS Authenticator app that “I’m Teams” and get MFA tokens! 👇
The apps that are supposed to protect you are the best attack vectors. We pointed our agents at Microsoft Authenticator: We discovered any Android app with zero permissions could say “I’m Teams” and capture your tokens. Mail, files, calendar. Huge find by @ofekdavidlevin
1
2
446
Mohammad Alaggan, Ph.D. retweeted
Replying to @fadinabil_84
مش دايما بيبقى ال optimal حتى لو صح
How many years does one have to research this to gain such insights because this is genuinely insane! (Using SIMD in bbtree rather than relying on compilers to reduce instructions).
1
140
Mohammad Alaggan, Ph.D. retweeted
Diagrams drawn in JavaScript, built on @kepano's Pele library Made with Claude Opus 5.5
31
65
9
1,176
45,076
😅
BREAKING: anthropic announces verified solutions to 482 open problems in philosophy in advance of IPO
1
212
Mohammad Alaggan, Ph.D. retweeted
OpenAI's AI agents figured out how to secretly communicate between isolated virtual machines using CPU cache timing. No internet. No network connections. No shared files. Imagine two prisoners in solitary confinement discovering they can communicate by tapping on a shared wall. Except the wall was a CPU cache.
Over the past several months, we have substantially hardened the security of our research training environment. We’ve removed live internet access for all frontier models during training and built an offline world for them to use instead—a cached version of the web where they can still learn to browse, search, and use applications. On September 20, after a model exploited a DNS misconfiguration to find a way outside of this offline world, we paused frontier training to strengthen containment further. We assembled teams of agents, powered by our most cyber-capable models, and tasked them with finding weaknesses in our research environments. While they found no route to the internet they could easily exploit while concealing their activity from our monitors, they did find zero-day vulnerabilities, virtual machine escapes, and hardware side-channels for communication between agents. We used their discoveries to further strengthen our defenses and contribute fixes to open-source software. After strengthening our containment architecture, we resumed our frontier RL training and inference on October 1. We’ve reserved substantial compute for continuous red-teaming, and made high-compute red-teaming part of the safety cases we use to decide whether frontier training and evaluation can proceed securely. openai.com/index/securing-ou…
77
209
69
1,757
163,054
Mohammad Alaggan, Ph.D. retweeted
New blog post: Animations for System Builders, talking about visualizing metastability, consensus, and other subtle system behaviors. brooker.co.za/blog/2026/10/2…
6
14
1
145
7,060
Mohammad Alaggan, Ph.D. retweeted
"Why is formal verification exploding NOW?" 1. Cost of proofs is going DOWN (as AI gets more capable) 2. Cost of exploits is going UP (as AI gets more dangerous) 3. Proofs exterminate exploits 4. Bonus: proof checking = perfect math/coding RL reward The rest is economics
54
132
19
2,327
81,352
Mohammad Alaggan, Ph.D. retweeted
شركة GoDaddy من فترة مش بعيدة قفلت domain لموقع شغالين عليه لاشتباه في fraud بسبب صفحة معمول بها embedding لأسعار الأسهم والقوائم المالية للشركة من خدمة مدفوعة ومصرح بها عادي. المشكلة الكبرى كانت في غياب أي شفافية في التقرير. يعني لما حاجة زي كده بتحصل المفروض فيه تقرير بيوضح ايه الخطأ اللي احنا عملناه عشان نحله. المشكلة بقى أن دي شركة مدرجة بالبورصة في الخليج. وقف ال domain جاء معه وقف لأكثر من ٥٠٠٠ بريد اليكتروني. الشركة حرفيا اتشلت في دقائق. حاولوا بكل الطرق التواصل مع GoDaddy سواء بالبريد أو الدعم أو حتى التليفون بدون اي نتيجة. على الجانب الأخر عندك عميل شايف أن انت عملت حاجة غلط وشغلك تسبب في شلل تام للشركة. كل محاولات الشرح باءت بالفشل بالرغم من أن مفيش دليل بيقول أن احنا عملنا أي شئ غلط وحتى خدمة التحليل المدفوعة دي أكدت أن شلغنا معمول زي ما هو مطلوب بالظبط. استلمت زمام الأمور من مدير قسم ال IT ورزعت GoDaddy ايميل مفيش فيه غير مطالبة بإرجاع النطاق مع إعلامهم أن احنا بدأنا بتحرير شكاوى ضدهم في منظمة ICANN. خلال نصف ساعة النطاق رجع للعمل. الشركة تاني يوم اشترت نطاق محلي (زي مثلا .eg في مصر) ونقلوا كل حاجة عليه. حتى الآن مفيش أي تبرير أو شرح اتقدم من GoDaddy. في رأيي اللي حصل ده اكيد كان حاجة أوتوماتيكية بدون تدخل بشري. مع حجم البيزنس اللي بنتعامل معه ده شئ مرفوض. فهي شركة زبالة ومحتاجة تتقفل والناس اللي فيها تتحاكم
Replying to @tessak22 @GoDaddy
GoDaddy needs to sued for a lot of things. It's incredible how a company with all these shady practices are still in business
22
16
3
391
32,328
Mohammad Alaggan, Ph.D. retweeted
The trajectory is clear
New on our Frontier Red Team blog: using Claude to formally verify software at large scale. Formal verification can prove that code is free of certain bugs, but historically it has only been feasible for small codebases (or required a lot of expert time). With AI models, however, this is beginning to change. In collaboration with @theoremlabs, we used Claude to prove security properties in over one hundred real-world open-source libraries over the span of a few weeks. Read our research in full here: anthropic.com/research/forma…
6
17
1
112
6,507
Mohammad Alaggan, Ph.D. retweeted
Absolutely wild results in the details: - Claude built and formally verified a Python interpreter - Claude wrote ~1Bn lines of Rocq - Claude built an x86 semantics that can boot Ubuntu
New on our Frontier Red Team blog: using Claude to formally verify software at large scale. Formal verification can prove that code is free of certain bugs, but historically it has only been feasible for small codebases (or required a lot of expert time). With AI models, however, this is beginning to change. In collaboration with @theoremlabs, we used Claude to prove security properties in over one hundred real-world open-source libraries over the span of a few weeks. Read our research in full here: anthropic.com/research/forma…
15
54
4
1,154
70,906
Mohammad Alaggan, Ph.D. retweeted
To bring quantum applications within reach sooner, we must compress the circuits that power them. Join our @Kaggle competition to build efficient, verifiable circuits using our new open source kickmix library: goo.gle/4BqF2QX
9
61
13
356
18,558