AMA with horsefacts
AMA with @horsefacts.eth starts now!
What questions do you have for him?
- what's your favorite fact about horses?Horses have the largest eyes of any land mammal.
- I'm afraid to ask but what or who is a Hoon? https://warpcast.com/horsefacts.eth/0x76c538a4Hoon is the somewhat esoteric programming language used on Urbit: it's a purely functional, statically typed systems language with unique syntax (called "runes") and naming conventions. I've been exploring it lately and am in the latest "Hoon School" cohort. https://docs.urbit.org/language/hoon
- Hi everyone! Thanks to @yb for organizing and @ommalik for suggesting these. For those who don’t know me, I lead the /evm channel here and work on Warpcast and Farcaster.I’m especially interested in smart contract security and testing, group coordination, weird programming languages, and creative projects that push the boundaries of what we can do onchain, but AMA!
- Top 3 weirdest programming languages?Not exactly an answer to your question (there are lots of intentionally esoteric languages), but three langs out of the mainstream I have enjoyed and learned something from are Clojure, Erlang, and Forth.
- How do you get into a flow state when you have a couple hours of coding ahead?The older I get, the more the fundamentals really matter: getting good sleep, drinking water, regular exercise. (I hate it, but it's true!) A good testing workflow always helps me. Some early programming mentors of mine practiced rigorous TDD, and I find the red-green-refactor cycle a great way to focus.
- What is the most common mistake/thing people overlook when learning smart contract development for the first time?1) Solidity looks like Javascript but is a lot weirder, as is the surrounding paradigm (public, permissionless, immutable, costly, deterministic, adversarial). Go down the rabbit hole to learn why things work the way they do rather than trying to ignore it or abstract over it.
- How did you get into onchain programming?I wrote a thread on this in /evm a while back. I got my start working on an indexer called VulcanizeDB, which turned out to be a great full stack intro to the EVM. Maker used it for a while, so I was very lucky to get to work with them and read a lot of their code. https://warpcast.com/horsefacts.eth/0xc8939527
- what's the weirdest thing about your boss?both of them regularly like the memes I post about them in public online
- Thanks for the warps gift 🎁 🙏 Are you Turkish? If so, what’s your favorite city in Turkey?)I'm not Turkish, but I spent a couple years there at university and doing academic research afterwards. It was great to come back for Devconnect this year. Istanbul is one of the world's great megacities and everyone should visit. In terms of less traveled cities, I think Van is one of my favorites.
- If you could do anything to warpcast what would be the feature you would introduce which might be overlooked or not prioritized by the team?)I think it's been appropriately prioritized, but I'm looking forward to finally getting our L1 ENS resolver deployed so that all usernames are fully functional ENS names.
- @horsefacts.eth what's the story behind your ens?Joke projects have always been a kind of creative expression for me. (And a way to explore something new). I was learning about Linux and wrote a joke device file called /dev/horsefacts (like /dev/random) that returned a stream of facts about horses. (This was the horse_ebooks era, they were in the zeitgeist...)
- which well-known smart contract were you the most wowow’ed by?I'm a huge fan of Maker/Dapphub and wrote them a love letter in the form of CounterDAO/DSS. MCD was simple, immutable, elegant, and ahead of its time. I'm a total convert to "Daiwanese" naming as well (guy, ray, wad, etc.) https://github.com/counterdao
- Curious to hear about any of these - what do you think about most of the time? - what music have you been into lately? - which of your repos did you have most fun with recently?Recent repos: Production: Working on a generative testing engine for Seaport. Huge honor to work with that team, and we did a lot of wild stuff in pure Solidity. Personal: Writing a puzzle for Curta. https://github.com/horsefacts/philosophers-stone Joke: This Uniswap hook. https://github.com/horsefacts/trading-days
- What’s your favorite game of all time?Revealed preference according to Steam is Civ 5 and EUIV. I'm a big fan of Paradox games but also one of those people who has to keep them at arm's length or be totally consumed.
- If you were advising a beginner, which three resources would you suggest for diving into EVM and smart contract programming?1) Use Foundry. (Also, read the Foundry book). 2) Read all the Solidity docs end to end, they're very good! 3) Watch @patrickalphac's Solidity and Foundry videos. From there, build something low stakes that you'll use yourself.
- What’s your fav fact about horses?Horses can sleep standing up, but they only get REM sleep lying down.
- What has been your favorite day working on Farcaster/warpcast?October 11, when we pushed the "permissionless" button. https://warpcast.com/horsefacts.eth/0xa2fb6d6d