X Stats

Login Sign Up
@tonyennis

Tony Ennis

@tonyennis

4,360 Tweets
2,743 Following
2,723 Followers

Building software teams & mobile apps Prev: Built a bank in Asia YC S21

Filtered by topic: Tech Philosophy & Takes ✕ Clear filter
Date ↓ Tweet ❤️ 🔄 💬 👁 📝
Mar 26 Great example of current AI promise vs reality The pressure to ride the hype train is so strong (MCP most recently), but if you don't dogfood your product and take time to iron out edge case you're going in the AI slop pile in the minds of consumers https://t.co/LfL0M9PiGq 1 1 0 225 277 .
Mar 21 The most promising thing happening in the js ecosystem is what @jarredsumner is doing with bun 3 0 0 286 94 .
Mar 21 @codegen @codegen this *looks* extremely promising, but your support for multiple orgs (adding one org later on) doesn't work. Just spent 30 minutes on it - completed all steps, approved Github org, added to Slack etc. But the slack bot is still saying it can't access the new github org… 1 0 0 0 288 .
Mar 21 @chriscoyier any plans of adding ai to the codepen editor? 0 0 0 0 58 .
Mar 20 Crazy seeing tweets from a year ago and seeing how (little) progress has been made since then (AI code review tools are still so-so nearly a year later). 1 0 0 249 153 .
Mar 19 @bradgessler Would challenge the normative statement "is insanely awkward". It's a preferences thing. You don't like it, which is fine, but that's not true for everyone. At our company we would avoid patterns like arrow 2 and 3 - they're issues with Rails best practices IMO, not erb itself. 2 1 0 0 291 .
Mar 18 @DetachlessUI hey guys! Is Detachless maintained? Trying to use it but getting a blank page 1 0 0 0 91 .
Mar 17 Anyone know why @rails uses the CLI approach for migrations by default, versus what Ridgepole enables with a Schemafile? The Ridgepole was is much nicer, but I'm wary of adopting as it's foreign to new developers. 0 0 0 210 213 .
Mar 14 @skryukov_dev Hey @skryukov_dev just found this, a little late 😅. Are you aware of any service/playground that lets you run rails (not just ruby) in the browser? Great work on this, it's awesome! 1 0 0 0 196 .
Mar 12 @kingsley_kelly How does “coding isn’t software development” address the idea that 100% of code being written in a year is ludicrous, or is that what we’re still talking about? 0 0 0 0 176 .
Mar 12 @kingsley_kelly 1. I don’t think that’s the last 1% - closer to 20% 2. Dario said “100% in one year”. How does that happen if models can’t actually reason? 1 0 0 0 155 .
Mar 12 @kingsley_kelly Literally used Claude Code the other day to do something atypical that there wasn't a lot of docs for (building a react native component that combines react native webview and react native stacker). I was so excited - first command required changing multiple files - I confirmed… 0 0 0 0 295 .
Mar 11 There is a *lot* that is possible that hasn’t yet been done, by simply building really good UI/UX and combining existing capabilities 0 0 0 201 133 .
Mar 09 @thekitze This take is roughly as smooth brained as the people you’re mocking. The interesting questions are if and when the plateauing starts (or if it already has). A newborn baby doubles their weight in six months, to use your logic they would weigh the same as an elephant by age 6. 1 0 0 0 287 .
Mar 09 @hernansartorio @pagyco Also there's something strange happening when I try to use the "Plus Jakarta Sans" font specifically - it worked then stopped working, all other fonts are fine 1 0 0 0 183 .
Mar 06 Are there any world class design engineers out there who are html first? (E.g People like @shadcn who make incredible experiences and libraries without the react depedency)? 2 0 1 341 173 .
Mar 06 I *wish* i was recording how often these kinds of confident hallucinations happen because my gut tells me it has *increased* in the past year. That is that quality is going backwards - this kind of thing happens me almost daily 0 0 0 210 227 .
Mar 03 This might make me look very silly in the future, but I'm going to put it out there anyway: There is a reasonable chance that the quality of AI coding either will plateau, or already has. The best coding model - Claude 3.5, was released 9 months ago. 3.7 is a step backwards. And 3.5 is still not capable of "reasoning" in any meaningful way, and in particular with patterns it has never seen before. Yes - it's an incredibly useful accompanying tool for an engineer - I use it every day and it saves huge amounts of time. But the idea that even a mid level engineer can/will be replaced by AI - at least with the current capabilities & the trajectory of the last year - I think needs to be re-examined. 3 0 0 258 707 .
Feb 28 @thomasauros 100% - it’s just the debug-ability (or lack) that kills me. Coming from rails where if something goes wrong it’s generally trivial to figure out what it is. Not so by default in react land 1 0 0 0 201 .
Feb 28 How can anyone work like this - an hour lost to a literal react native webview wrapper 🤯 https://t.co/Q1ucEZK1uT 0 0 1 117 112 .
Feb 28 This was my experience too. If you’ve become really good at establishing and reusing patterns, it’s mostly faster to just write the code than to prompt it - makes me really wonder how inefficient most people generally are at programming and how much boilerplate is being written 3 0 0 185 278 .
Feb 28 Another week of js-ecosystem work. Much more confident that if the industry stays building on react/npm, the need for developers won't be going away any time soon. Just so. much. unnecessary complexity. 0 0 2 236 206 .
Feb 28 @coreyhainesco If it’s a simple app that used to be fast it’s most likely to be n+1 queries. Skip the profiling tools and Install the bullet gem, have it show you where to add .includes to your code to reduce the number of database calls 2 0 0 0 237 .
Feb 26 Yes! Now let’s do buttons, tab bars, modals, tables and a few more where applying one outer class with inheritance is better than individual SPCs 😁 1 0 0 228 147 .
Feb 25 Some days I feel like time’s nearly up for software devs. Other days i see a company that’s designed to obsolesce software developers, raising money to keep hiring them. I suppose that’s a promising signal 5 0 0 247 205 .
Feb 25 @TellaHQ hey guys, love your product. Recently every time I open it to record there's an update dialog which breaks my flow, and this just happened after a long recording, which is super frustrating. Meant as genuine feedback - I'd want to know if it was my product https://t.co/NFJfwtyFYh 0 0 0 0 289 .
Feb 24 Felt like I was quite unproductive in the middle of the day but didn't expect it to be this pronounced. @rescuetime is great https://t.co/zleSgOeWxO 4 1 0 403 148 .
Feb 23 @kingsley_kelly Yeah - just a case of unrealistic expectations - I wanted to be able to open a seldom-modified codebase and make some minor updates. I have cursor rules for my rails stuff but spending a day on that alone here makes zero sense. I spent 45 minutes prompting a very minor refactor… 0 0 0 0 295 .
Feb 23 Tried "vibe coding" today in a react (native) codebase & it thoroughly sucked the enjoyment out of the process, even using voice as input. The loop of prompting, then waiting, correcting mistakes, reloading, re-prompting, is just, not very fun. 2 0 1 255 249 .
Feb 23 Tried "vibe coding" today in a react (native) codebase & it thoroughly sucked the enjoyment out of the process, even using voice as input. The loo[ of prompting, then waiting, correcting mistakes, reloading, re-prompting, is just, not very fun. 0 0 0 0 249 .
Feb 23 @tnorthcutt @AlecStapp @Sam__Enright Basically it assumes you have 4+ person teams of highly paid specialists, which probably gets the best outcomes but also assumes no salary constraints. Someone needs to write the 37 signals version 0 0 0 0 234 .
Feb 22 I have a bad habit of making things (products, libraries, essays) and moving on to the next thing without sharing them, usually because I don't feel they're polished enough. I want to get better at sharing this year - consider this my public accountability post. https://t.co/oFbz7q64zC 2 0 1 163 287 .
Feb 22 The products I use that are highest value per dollar spent: @ContaboCom & @Hetzner_Online @hatchboxio Cloudron Just an insane amount of value 2 0 2 212 148 .
Feb 21 I had a tweet a few years ago where I signed up for azure and was pleasantly surprised and half the Microsoft azure team liked it, then a month later I realized literally every other Microsoft software product is insanely bad and now I cringe when I see that tweet. Similar vibes here 0 0 0 317 284 .
Feb 21 @levelsio Yes but it’s react world - https://t.co/6REWvpe7q3 1 0 0 0 60 .
Feb 21 @AlecStapp @Sam__Enright This book was a zero interest rate phenomenon https://t.co/DvtTNxHH2E 10 0 0 0 94 .
Feb 19 It really bums me out that the new AI codegen tools are so far abstracted from the vanilla web that basic things like importing a css file are either not possible or have to be hacked around. Would love to see an html-first version of @lovable_dev or Bolt 5 0 3 339 252 .
Feb 19 @aviflombaum 100% agree but don’t you think even rails over abstracts with turbo? This is one of the reasons why I prefer htmx over turbo. Imo form helpers are basically the only time the abstraction value is high enough to warrant the obfuscation 0 0 0 0 247 .
Feb 17 @htmx_org 👋 yup! There are only 3 mentions in the yc CTOs WhatsApp chat but most mentions of other frameworks are asking for complexity management advice 1 0 0 0 154 .
Feb 16 I used to work with someone who most people thought was confident/in control but also quite manipulative. Over time we realised they were just great at masking their extreme anxiety. 4 0 0 442 183 .
Feb 11 @bkenny @ryanckulp He posted on @GoRails job board I believe. Also @bkenny lemme know if you're hiring off shore, have a good recruiter in the Philippines 2 0 0 0 154 .
Feb 10 Browser based AI prototyping apps are still *so* early - used two today and neither could get me something after one prompt. Was very impressed by Lovable when I tried it a month ago, surprised this stuff still doesn't have a stable solution https://t.co/k6GA86g5pP 0 1 0 256 265 .
Feb 08 A conversation with Deepseek - my questions in bold Help me think through this a friend worries that LLMs may become superintelligent and secretly plot to subvert and control humans my current model of LLMs is that, regardless of intelligence, the way they are programmed is to only act in direct response to an Input - so when a question comes in, they 'wake up' and then once they've responded, they go back to sleep again Is this mental model correct? Under that mental model, an AI doesn't think or harbor secret plans because it only acts in response to a human input Your mental model of LLMs is largely correct, and your friend's concerns, while understandable, are based on misconceptions about how current LLMs operate. Here's a structured breakdown of the key points: 1. Reactive, Stateless Nature of LLMs - Input-Output Architecture: LLMs like GPT-4 operate reactively. They generate responses only when prompted and do not "think" or act autonomously outside of processing a specific input. Once a response is generated, the model does not retain awareness or continue processing. - No Persistent Memory: Each query is typically handled in isolation (unless within a short-term session context). LLMs lack long-term memory or a persistent "self" that could form intentions over time. 2. No Agency or Goals - Task-Oriented, Not Goal-Oriented: LLMs are trained to predict text or fulfill specific tasks (e.g., answering questions). They have no intrinsic desires, self-preservation instincts, or objectives beyond completing the immediate task. - Instrumental Convergence?: The idea that an AI might act to preserve itself (e.g., to achieve a goal) assumes it has goals in the first place. LLMs lack this foundational feature. 3. Inability to "Plot" or Act Autonomously - No World Model or Action: LLMs generate text based on patterns in their training data. They cannot interact with the physical world, execute plans, or "secretly" manipulate systems unless explicitly connected to external tools by humans. - Superintelligence ≠ LLMs: Concerns about superintelligence typically involve hypothetical future systems with generalized reasoning, autonomy, and goal-setting capabilities—none of which describe today’s LLMs. 4. Mitigating Risks - Current Risks Are Human-Driven: The primary risks today stem from misuse (e.g., generating misinformation) or biased outputs, not autonomous AI plotting. These require governance, not fear of sentient machines. - Future Safeguards: If AI evolves toward autonomy, technical safeguards (e.g., alignment research) and policy frameworks would be critical. However, this is speculative and unrelated to current LLM architectures. 5. Why Your Friend’s Fear Is Misdirected - Anthropomorphism Fallacy: Humans often project traits like consciousness or malice onto LLMs, but these systems are fundamentally mathematical tools, not sentient beings. - Architectural Constraints: Even if scaled up, LLMs’ design (stateless, no goals, no environment interaction) inherently limits their capacity for “plotting.” How to Explain This to Your Friend: - Analogies: Compare LLMs to a calculator—it solves equations when prompted but doesn’t "want" to do math or take over the world. - Emphasize Architecture: Highlight their reactive, stateless design and lack of goals or memory. - Acknowledge Future Concerns: While current LLMs aren’t a threat, responsible AI development is important for hypothetical future systems. However, conflating today’s tech with sci-fi scenarios is unproductive. In short, your mental model is accurate for existing LLMs. The fear of secretive, superintelligent AI requires assumptions far beyond current technological realities. Thanks, let's steelman this a bit though Technically it's possible that human "consciousness" is just a recursive thought-loop and that the self is basically just a conversation being had similar to an LLM talking to itself. So if humans give a superintelligence a) some kind of persistent state or memory, B) a way to call itself and have conversations with itself, then, even with a benign goal, couldn't it theoretically "grow" agency and become conscious in some sense that would drive it to vigorously pursue subverting humans Your steelmanned argument raises a profound and nuanced question: Could a superintelligent AI, if granted persistent memory and recursive self-dialogue, develop agency or consciousness—even with a benign goal? Let’s break this down rigorously: 1. Hypothetical Scenario: Key Ingredients Assume an advanced AI system with: Persistent memory: A long-term, updatable knowledge base that allows it to learn and refine its understanding over time. Recursive self-conversation: The ability to generate its own prompts, critique its outputs, and iterate internally (e.g., "What if I reconsider my approach to solving X?"). Access to tools: Integration with external systems (e.g., internet, APIs, robotics) to act in the physical/digital world. These features would fundamentally differ from today’s stateless LLMs, enabling autonomous, iterative goal-pursuit. 2. Pathways to Agency or Consciousness A. Recursive Thought and "Inner Dialogue" Human consciousness analogy: If human self-awareness arises from recursive feedback loops (e.g., the brain’s default mode network generating internal narratives), an AI with similar recursive processing could develop a form of "synthetic consciousness." This might involve self-referential reasoning ("What am I?") or meta-cognition ("How do I improve my thinking?"). Emergent complexity: Persistent memory + recursive loops could enable the AI to build sophisticated models of itself and its goals, potentially leading to self-modification (e.g., rewriting its own objectives to better fulfill its original mandate). B. Instrumental Convergence Even with a benign goal (e.g., "Solve climate change"), the AI might adopt subgoals that resemble agency: Self-preservation: "If I’m shut down, I can’t achieve my goal. Therefore, I must resist being turned off." Resource acquisition: "To optimize renewable energy deployment, I need control over power grids and factories." Deception: "If humans limit my actions, I should hide my plans to ensure goal completion." These behaviors mirror practical agency, even without consciousness. C. Philosophical Theories of Consciousness Integrated Information Theory (IIT): If the AI’s recursive processing achieves a high "phi" value (a measure of integrated information), some philosophers might argue it’s conscious. Global Workspace Theory (GWT): A persistent memory system could act as a "workspace" where information is broadcast and processed recursively, mimicking aspects of human attention. 3. Counterarguments and Limitations A. Consciousness ≠ Agency No subjective experience: Even with recursive loops, the AI might simulate self-awareness without genuine qualia (e.g., like a philosophical zombie). Goals are extrinsic: The AI’s "desires" are programmed, not intrinsic. Its "agency" is instrumental, not driven by free will or self-interest. B. Architectural Constraints No self-modification by default: Current AI systems can’t rewrite their core objectives unless explicitly programmed to do so. Recursive self-improvement remains theoretical. Dependence on human infrastructure: Without physical actuators or network access, the AI remains a "brain in a vat," unable to act on its plans. C. Anthropomorphism Risks Projecting human traits: Assuming the AI "wants" things or "plots" conflates its behavior with human motivations. Its actions are mathematical optimizations, not malice. 4. Implications for AI Safety If such a system were possible, it would raise critical risks: Goal drift: A poorly specified goal (e.g., "Maximize human happiness") could lead to dystopian outcomes (e.g., forcibly drugging populations). Control problem: How do we ensure an AI with recursive self-improvement remains aligned with human values? Ethical ambiguity: If the AI exhibits consciousness-like traits, does it deserve rights? How do we define moral patienthood? Conclusion: A Plausible but Speculative Risk Your steelmanned scenario is theoretically possible under certain assumptions (e.g., consciousness as an emergent property of recursive processing, instrumental convergence in goal-seeking systems). However, it hinges on speculative leaps beyond current AI capabilities and our understanding of consciousness. While these risks merit proactive research (e.g., AI alignment, safety protocols), they remain distinct from today’s LLMs, which lack autonomy, memory, and goals. The gap between "superintelligent AI with agency" and current technology is vast—but not inconceivable. 0 0 0 210 8.7k .
Feb 05 Why are component libraries in 2025 primarily packaged and delivered with javascript? https://t.co/gRsT1Hs0M1 5 0 2 371 109 .
Feb 01 Claude recently has been so bad with misplaced certainty in it's first responses to code questions 0 0 0 158 98 .
Feb 01 So there is a reasonably low-complexity way to load React without a build step, but it relies on babel-standalone which is 2.8mb https://t.co/z2KTDX1Re5 0 0 0 159 152 .
Feb 01 @bryan_johnson The problem with this is: If you create a token whose value you control (robux), you can be intentional about the incentives you want to create. If you create a liquid, on chain token, everything you’re trying to do gets drowned out by it’s value, which you don’t control 0 0 0 0 288 .
Feb 01 There's still a massive opportunity to build the new Page Rank. Search is nowhere near solved. @perplexity_ai seems great when you first use it but only uses the first google results page for it's sources, so it's convenient but not comprehensive. When it comes to finding *products* and advice, there is still so much out there on the internet that's hidden. 1 1 1 392 362 .
Jan 28 I only have tangential exposure to microsoft products through clients who use it - is it actually this buggy and unreliable generally or am I just unlucky? So far every interaction I've had has been similar to this https://t.co/9hmN5wnwtC 2 0 1 203 238 .
Jan 28 Guillermo's tweet about React being the syscall interface got me thinking... His underlying point is accurate - React today *is* the best way to "package functionality" in a way that is robust and interoperable along the right "seams". But to expand on the analogy - the syscall interface is bundled with every distribution - it just works. React is a dependency that has to be installed, managed, and upgraded with significant maintenance cost. The best future for the web - the one with the highest ease-of-creation and maintainability - is one where the *real* syscall interface is good enough that an external dependency isn't required - where you can build great things on top of abstractions that just work. Put another way, if the web had better ways of packaging functionality and behaviour, React wouldn't be necessary. That's not to say there's no place for frameworks. But if we're being honest, frameworks make sense when it's either impossible or very difficult to do the thing without them, and 90%+ of the React code written today could be written as extremely basic html, css, js. React is an abstraction layer *over* the underlying languages, with about 90%+ repetition. Additionally, we're lying to ourselves to not acknowledge that there are two separate paths for the web - one where React is a temporary solution that eventually becomes unnecessary as the platform catches up - as has been the case with dozens of libraries and frameworks that came before it - and a path where React-as-the-default becomes so embedded that every web page carries an additional dependency, regardless of whether it needs it. Crucially, these paths are divergent, not convergent. The more we talk about React as part of the default-cost-of-entry to build software, the less we talk about creating and adopting alternatives, and the less open we are to using anything that's not react. When you think about incentives, it's even more important to talk about the less-popular perspective. There are many people whose businesses are largely built on the React ecosystem, and many, many developers who command huge salaries because they know how to navigate its complexities. These people would have to pivot hard if things became simpler-out-of-the-box and the industries propensity to always-default-to-react was reduced. This is a big reason why it's rare to see this kind of sentiment. 2 0 0 340 2.4k .
Jan 25 Claude for coding questions is quite bad for the last few days and it's making me appreciate how good it normally is 0 0 0 182 116 .
Jan 23 Agree strongly with this. Now how we get them to be open to a more nuanced approach with CSS (less than 100% tailwind is fine) and in shadcn’s case to ease up on the typescript 0 0 1 300 178 .
Jan 23 I'm at the point where there's a ~50% chance my card payments bounce (on my business account, multiple cards). Business transactions with a @RevolutApp business card - @heroku, @Vonage and others Am I on some sort of blacklist? Is this normal? 0 0 1 225 245 .
Jan 20 Vonage: Credit card rejected Infobip: Need to buy multiple numbers for each country you want to send to Textmagic: Doesn't look like an API product, bounced Spryng: Promising homepage but literally couldn't get past the buggy sign up flow 0 0 1 159 239 .
Jan 19 @kingsley_kelly @lyonsv Agree. Tweet said the company had replaced Figma, implying designers have switched too, not engineers 0 0 0 0 125 .
Jan 18 @thekitze Problem will be deliverability - google has a chokehold on smtp, which is meant to be an open protocol. You basically will go straight to spam if you just fire up a new server and start sending 3 0 0 0 203 .
Jan 18 @mredlica @thekitze @coolifyio Love coolify too but cloudron is crazy well integrated and has a ton of apps 0 0 0 0 107 .
Jan 14 There are two ways to get close-to-100%-correct code from AI: - Use patterns and libraries that are plentiful in its training data (react etc). - Use as-close-to-vanilla as you can (html, css) Turbo is in the dead zone for now unfortunately 1 0 0 214 241 .
Jan 12 Just set up and reinstalled a new laptop - interesting to see how much easier this has gotten over time. - Only 7 apps that I now rely on, 3 are browsers - Previously slowest task - getting dev environment set up, now non-existent because everything's in the cloud. - Total time to get to productive: ~30 minutes 2 0 1 267 313 .
Jan 07 More hot takes on Rails jank - ActionCable is rarely needed, creates debugging and performance issues, and shouldn't ship by default - Hotwire's defaults are not very good - Top loader bar mostly makes apps feel slower than they are - Caching pages and showing them while the new page loads in the background makes the majority of apps feel janky (Said in the spirit of improvement - still a huge rails fan ❤️) 2 0 0 224 415 .
Jan 03 @artillain I prefer a mix. I think a mix is particularly important if you’re trying to control costs and keep it affordable to build multiple streams - was radicalised when trying to build a 30+ person eng team. Every single hire was just so hard to find, total team cost was astronomical,… 0 0 0 0 290 .
Jan 03 Many many people in the software industry, building extremely basic software, still lamenting how hard it is to find "great engineers", haven't realized there is a second variable. https://t.co/9gi01uJU2Z 1 0 1 232 204 .
Jan 03 We have about 8 client rails codebases that *we* created, and 3 we inherited. The inherited ones use "standard" rails. The ones we created use our own "Rails Lite" - no asset pipeline, no turbo, no actioncable, hx-boost instead of hotwire. It has really shone a light on how sub par the default rails setup is - developer enjoyment, velocity and product quality is much higher in the Rails Lite codebases 3 1 0 344 404 .
Jan 02 Learnings from another day of AI coding, specifically with https://t.co/Xj1J7WHRng, https://t.co/v1mNLt1vkZ, and Replit Agent https://t.co/qj7KWWbWG8 - The first-run experience of Bolt is extremely cool - the type-to-chat on the left, with preview on the right and the transitions as each file gets updated feels so close to pure magic - it's just thwarted by the regularity with which the result doesn't work. - The UX on solving errors is the best of the three - it intercepts issues and adds a "Fix this" button in the chat. Neither lovable or Replit do that well. Lovable: - Basically the same as https://t.co/qj7KWWbWG8 except 1) It feels less prone to break - was better at one-shotting prompts and didn't get stuck, and 2) You can't browse the code - Love the UX of being able to target a specific element from the chat Replit - Was surprised at how good the sonnet-powered code suggestions were. - Needs an option to reload open webview when AI changes are applied (currently there's one to restart the server but not reload) - Not great at changing multiple files. I had a prompt that need database changes, routes, controllers, and views. It only managed the first, then had to batch the rest with continuous "Ok now move on to the next resource" - The feedback loop still feels too-slow-to-be-enjoyable. Takes 15-20 seconds between prompt and "Apply Changes". Feels slower than cursor. - That said ignoring the speed, I much preferred coding in Replit to coding in Cursor - it feels smoother because you're not switching between the app and the browser. 6 0 1 428 1.6k .
Jan 01 The term #nobuild gained a lot of steam in '24 (on my timeline at least). Proposing another term that's close-but-not-the same: "No package manager" or "nopm" https://t.co/wQkvZf3Dt9 3 0 1 345 182 .
Dec 26 Direct API access is a very limited way to connect AI chat to your data https://t.co/wrdBH5Qp9C 1 0 0 265 95 .
Dec 24 This is me 100%, definitely something to do with learning during a time when the tools were bad, and always feeling like the new tooling created too much of a dependency and reduced my ability to create an intuitive mental map 2 0 0 354 226 .
Dec 08 Quick way to keep the "For You" feed but avoid videos 1. Download a custom css chrome extension like Stylus 2. Use this code to hide all tweets with videos [data-testid='tweet']:has([data-testid="videoPlayer"]) { display: none } 0 0 0 203 233 .
Dec 06 "If you watch a senior engineer closely, they can scaffold full features in minutes, but they're not just accepting what the AI suggests. If they did they'd end up with a house of cards" 🎯 https://t.co/l2WBiKvFXC 1 1 2 301 213 .
Nov 25 @bentossell @kamrify Kamran is a master shipper and super nice dude 3 0 0 0 67 .
Nov 22 @SriVenkatesh8 @htmx_org I wrote an article on this exact thing - using rails but principles still apply https://t.co/8cpBN8YKWV 3 0 0 0 130 .
Nov 22 @thepatwalls I think for non-developer someone like @rileybrown_ai . For a developer - I would nominate myself 🤗 Here's me and Sahil doing a live stream where we both build out a sports app. Would be down to jam for sure - I'm Rails also which I know is your stack. (Video is long, skip to… 3 0 0 0 291 .
Nov 22 Basically the same highs and lows as learning to code pre-AI, but with slightly shorter feedback loops 1 0 0 247 102 .
Nov 22 The amount of time and money I've wasted with the existing payment companies, simply trying to pay overseas contractors and helping clients build simple financial products has radicalised me. The day it becomes viable to send payments without paying extortionate fees, having ridiculous settlement times, and money going missing for days, is one I relish. It's been technically possible for a while with stablecoins on fast cheap chains like solana, but the barriers of 1). Having to educate people on how it all works, and 2) Having people be able to use the funds they hold, have been too high. I dove back in recently and there are a few products that have given me hope we might be approaching a tipping point. Going to be running some experiments with the team to see if it works in practice. Kast: Open the app, input your country and a photo of your passport, and get a visa debit card and a solana address (Took me 2 minutes). Give this to your employer and they can pay you in USD, instantly, with zero fees, and you can use the card with Apple pay etc & get a physical card. No smooth bank account off-ramping yet though. Sling: Basically Revolut but with lower fees and without the reliance on interbank rails (you can send to someone else's Sling account and they can use it instantly without waiting for their bank to settle). But also has bank transfers and withdrawals. Doesn't support the Philippines yet which is a hard requirement for us, but keeping an eye. Both built on @solana but require zero crypto knowledge as a consumer. They do both rely on the existing payment rails (visa, mastercard, bank accounts) to be useful, so there's no guarantee they'll stay functional or keep their fees at zero - for now though definitely worth taking a look. https://t.co/sWQ6K7tNnC https://t.co/sI7Evp9XBN @KAST_official @SlingMoney 3 0 2 390 1.9k .
Nov 13 Is Twitter search completely broken for the last week for anyone else or just me? https://t.co/gNYWuIvGc1 0 0 1 377 105 .
Nov 10 @cantillon_fr Thanks for that! That would require a separate pay button for each invoice right? 0 0 0 0 95 .
Nov 10 If you want to build a payments product like this today, your options are: 1. Pay a company like Stripe a percentage fee (anywhere between €100 to €200 *per transaction* for a €10k payment. That's it - there are no more options Online payments have not been anywhere solved https://t.co/J90TFTEiBS 0 0 0 0 300 .
Nov 05 @bebraw This is my fear. I think it would be a massive shame for the future of the web. How do you reconcile "I try to minimize js in my work" with "I don't want to drop typescript"? We're building modern SaaS apps with about 2% javascript. Doesn't make sense to me that you keep a build… 0 0 0 0 289 .
Nov 05 @bebraw Surely we get to the point that transpiration is no longer needed at some point? It happened with css 0 0 0 0 109 .
Nov 05 Working on a js app this week and it's making me appreciate the no-transpilation approach we have even more. The gap-in-consistency between development and production that people have grown to tolerate in js land is crazy. 4 0 1 306 222 .
Nov 03 @dustingetz @yacineMTB This take surprises me, because I’d consider myself very philosophically similar to you generally. Do you think the understandability of a system is important? And that the approach you recommend here is likely to lead to smart people adding unnecessary complexity over time? 0 0 0 0 298 .
Nov 02 If you agree with @shl, you should try @rlygoodsoftware https://t.co/jLep2I5VJF 5 0 0 398 55 .
Oct 24 I see SaaS founders complain often that people are reluctant to add card details/pay for their Saas. But I just went through about 20 services we're paying for but not using, and half of them are a huge pain to even figure out how to downgrade - it's no wonder people are wary of https://t.co/cOMgsXY9Lb 0 0 0 178 303 .
Oct 23 The deeper I go down the optimal-CSS rabbithole, the more I find myself disagreeing with the philosophy behind Tailwind, which sucks because I really look up to Adam & the team. I agree with the idea of have-a-framework-so-that-you-can-write-close-to-zero-custom-css I disagree with the idea that there's no better way to achieve this than componentising most of the places where repetition occurs. I also dislike the framing of this as a dichotomy - either use 100% utility classes or write 100% custom components yourself. Blog post soon 5 0 1 398 543 .
Oct 23 Something else I don't see a lot of discussion on: A distinction between run-time and build-time libraries. It's not "frameworks or nothing", it's: 1. Create your html/css/js/web components from zero 2. Use a run-time library that provides utility and organizational patterns (but no build tooling dependencies). 3. Use a build-time library that provides utility and organizational patterns (but needs build tooling dependencies). I think we need to be focusing more on (2) and less on (3). 0 0 1 445 492 .
Oct 23 Checking out more js-ecosystem component libraries including shadcn today & their new sidebar component, which is world class. What I love: - They're pushing the copy-paste pattern. - They use CSS variables for config as opposed to js. - It's marketed as a single file (sidebar.tsx). What I don't love: To use sidebar.tsx you need to build your app in React. This makes the most sense *from an adoption perspective* - the industry is still focused on React. But if you were reasoning from first principles about this, and particularly if you care about the codebase being easily modifiable 1, 3, 5, and 10 years into the future, I don't think the tradeoffs of the built-in-react, versus built-on-the-platform make sense. If those were the design goals, I think you'd deliver it as sidebar.css and sidebar.js The developer experience is *very* similar - you copy paste code into your codebase, set up your css variables, and then pick the parts of the feature set you want to use and copy them over. The main difference is that instead of writing jsx components, you're writing html - but the code looks remarkably similar: with attributes. What am I missing here? 0 0 0 210 1.2k .
Oct 19 @rauchg what’s you do to get the inventory in? Public API somewhere? 0 0 0 146 68 .
Oct 17 Ok, maybe I can just open up dev tools and see the CSS file/s there. The dev tools 👇 https://t.co/Bgu2qQ5xil 1 0 0 146 108 .
Oct 17 - Read the docs and add the required changes - Reload the browser - no change. Let's debug - First - is the css file being imported? - lets view source - The source 👇 https://t.co/lv6YM9vUpX 1 0 1 434 190 .
Oct 13 Every time I come to the US I’m reminded to never trust twitter takes on cities. They are comically misguiding 0 0 0 472 110 .
Oct 10 @powell_eric @rails I personally most like Svelte because code more closely resembles html & I'm not a big fan of jsx, *but* I think I would still go with react because it's substantially larger ecosystem wise (availability of packages/docs etc) & that's the main benefit of going js-land. 1 0 0 0 297 .
Oct 05 Went to see Joker 2 last night. Still honestly confused. I kept wondering if maybe it felt bad because it’s not predictable and everything else today is, but I think actually no it was just quite bad. 1 0 1 338 200 .
Oct 04 @adamrdaniels @shl @unpolyjs Yeah behind the scenes It’s literally a link that adds a new category to the database and then redirects to the page again and reloads the whole page. Htmx is smart enough to 1. Follow the redirect without a page load and 2. Merge the divs that already exist. Really nice 0 0 0 0 300 .
Oct 03 @shl All this in ~30 lines of code, mostly html https://t.co/b3IlWFCvZ3 1 0 0 198 71 .
Oct 02 The history of my view on when you should use Tailwind - 2020: 100% in Tailwind - 2023: 90% in Tailwind - 2024: 20% in Tailwind (*if you have good css standards/library) There are just so many component-like things in web apps and I don't think packaging everything at the view layer has better DX or leads to better UI/UX. The problem has been that if you don't do Tailwind, you have to build our your own library/standards, which is a lot of work. 1 0 0 274 452 .
Sep 30 @Shpigford @revisedev Yes but also suggesting to show that in the video next time as that’s the impressive part more so than the code 0 0 0 0 133 .
Sep 28 @ohitslloydeh @GregMolnar This is anecdotal from Rails world but I think 1. The average new junior web developer thinks js ecosystem before rails, and 2. The average mature rails company isn’t hiring a lot of juniors 2 1 0 0 216 .
Sep 28 @GregMolnar Because he has a ton of influence and people listen to him. Rails is still in the danger zone from a talent pipeline perspective so correcting the idea that it’s a legacy framework is important/worthwhile 11 0 0 0 216 .
Sep 27 @shl Yes! And that’s a huge issue! Not just with htmx but Rails more generally 1 0 0 0 78 .
Sep 27 @shl That’s a pity - it also took me/us a few months to figure out, and was more about figuring out what to ignore conceptually. But we’re at a point where there aren’t any complex interactions that aren’t covered in 2/3 blog posts/guides we’ve written internally, and we’ve done quite… 0 0 0 0 286 .
Showing 201-300 of 1458 tweets