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

Date ↓ Tweet ❤️ 🔄 💬 👁 📝
Mar 08 @Kombaico your tool is getting *really* good. If you had - First class VScode integration like codeparrot - Support for Static Tailwind (basically "don't use square bracket classes") It would reach the threshold for me/my team - would be transformational. Any chance of either of… 2 0 0 0 281 .
Mar 07 Yes Probably Not 1 0 0 328 17 .
Mar 07 @dpaola2 Love this. 0 0 0 0 19 .
Mar 07 I know it’s completely hypocritical given how much time I spend on twitter but lately I keep thinking There’s so much content There’s *too* much content We really don’t need all this content 1 0 2 335 193 .
Mar 07 I know I'm in the minority but I agree with @thekitze. The problem IMO is that all these conversations are being had about *minor* improvements in capability. The "vanilla" web gives us an 8/10, then "their solution is an 8.2, but *mine's* an 8.3!". Meanwhile it's the web platform doing the actual heavy lifting. 1 0 0 389 314 .
Mar 07 https://t.co/dj449lWril 0 0 1 373 23 .
Mar 06 Noticed this. I (currently) really don't like it - I follow people in the web dev space - I want to see their ideas when they post, and I'm guessing those who follow me want to see mine. Currently if I don't find an "angle" that appeals to a broader base, that doesn't happen 🤷‍♂️ 1 0 0 335 280 .
Mar 06 Currently chasing a payment to a contractor through Revolut. Revolut considers it sent, but the receiving bank won't credit it because the name doesn't match the account exactly (despite already accepting 2 payments with identical name). In 2024. Duct tape. 0 0 0 369 257 .
Mar 05 Analogizing human self-awareness (having recursive conversations with ourselves), wouldn't a good test be to give it some kind of "kick off" prompt and access to an OS, where it can decide to call itself, and see if it does so (and observe the conversations it has)? 1 0 0 333 266 .
Mar 05 @ryanckulp Another Irishman/woman!? How could you! 0 0 0 0 50 .
Mar 05 @jaycee001 Because they’re all built on the banking system, which is largely duct taped together 0 0 0 0 96 .
Mar 05 @seflless @tldraw This is extremely cool, great work 1 0 0 0 52 .
Mar 02 Problem: Some of the people whose ideas I resonate with/admire most, I also have the most points-of-disagreement with, but if they don’t see the positive tweets and only the disagreements, it looks like I’m just a hater, when the opposite is true. Solution? 1 0 0 621 257 .
Mar 02 @aarondfrancis @andrewculver @andrewculver looks like he's aging backwards 2 0 0 0 74 .
Mar 01 @gregwhitworth What do you think of something like this? https://t.co/dsgRpXE7ug 0 0 0 0 80 .
Mar 01 @eshear Yeah but also, what was the single problem smartphones, or even the pc, solved at the time? 0 0 0 0 99 .
Feb 28 @SanchezDav90 @rails @dhh This tweet made me re-visit the docs site - it's much clearer now than the last time I checked, but the time-to-aha is still super long. I personally understand the ideas because I spent a few weeks with it, but if I was directing a new joiner to read about it - I'd almost be… 1 0 0 0 303 .
Feb 28 @zeddotdev I noticed you have "Work with code on any machine" on your homepage. Do you have something like VScode remote ssh or is this purely about the collaboration features? https://t.co/EZKHF2JX2w 0 0 0 0 201 .
Feb 28 Thinking about this a lot this week https://t.co/azJBuFVvTB 4 0 1 293 60 .
Feb 28 @SanchezDav90 @rails @dhh 👇 https://t.co/A8abXqf9NG 0 0 0 0 52 .
Feb 27 @asanwal If an investor knew when investing that the business had basically zero chance of creating the revenue/profit it’d need to be a good investment for future investors, but also knew that by investing they would create hype to sell it to a greater fool, then probably not 0 0 0 0 277 .
Feb 27 @johnlpollard @Intrepidd @rails @dhh Sorry just realized it wasn't mentioned in this part of the replies but my personal go-to for this is htmx. We only use 5 of the attributes the library gives, which are just more succinct ways to do an async fetch, so there's very little learning curve. 0 0 0 0 290 .
Feb 27 @johnlpollard @Intrepidd @rails @dhh That’s such a good point - to be honest there’s not. I should probably write one 😬 but might take a while to get around to 0 0 0 0 159 .
Feb 27 @Intrepidd @rails @dhh Would argue it's higher than 5%, but still that's kind of my point. If the thing you're using it for is remote partial replacement, there are much better options out there that are both conceptually simpler and better documented than Turbo 0 0 0 0 262 .
Feb 27 @julian_rubisch Yeah they do what works for them. I do think it's a bit silly for them to talk about it so much though (implying that people should use it) when they put so little effort into documenting it. 0 0 0 0 207 .
Feb 27 @julian_rubisch Yup, we're in agreement I think 0 0 0 0 47 .
Feb 26 Also referencing this https://t.co/6CfX7cS7d3 0 0 2 899 46 .
Feb 26 This is why I don’t recommend using Hotwire or Turbo with @rails unless you really need real-time, web socket enabled features. People (including @dhh) talk a lot about how awesome it is, but the reality is that the supporting material just isn’t there - and the people who made it don’t seem to care too much about documentation etc. so getting it in use on a team has much more friction than say, just using @htmx_org. 8 0 4 4.7k 420 .
Feb 26 From recent experience - There's nothing worse than a freezing bed that you can't fix because it won't connect to wifi. - There are no better alternatives to @eightsleep from what I can see. The cheaper ones have bad reviews and/or blow air under the covers. 0 0 0 685 259 .
Feb 22 @dabit3 I’m not a beginner. Your tweet said “you can now build mobile apps with html”, but the video didn’t show html, so I was clarifying whether you could build the apps with actual html, vs html in react as you’ve demoed 3 0 0 0 223 .
Feb 22 @dabit3 I don't see html in either the example video or the repo, looks like jsx. What am I missing? 2 0 0 0 100 .
Feb 20 @_swanson Yes! Rails routes are a great example of obfuscation for very little benefit - one of the first lines on our readme files is “strictly one route per line” 1 0 0 0 164 .
Feb 19 This is very cool. Using a checked in sqlite db and the sqlite viewer extension with @code to get a super clear explanation of the data before and after a commit. https://t.co/7dDd9Bb2I2 3 0 0 437 187 .
Feb 18 I really hate to say it, but tailwind is a prime example of this. 90%+ of apps need a simple, constrained set of SPCs to prevent cascade collisions on teams of more than one. This stuff is very cool, but totally unnecessary for most applications. https://t.co/Aj92K9Wwt4 1 0 1 356 272 .
Feb 16 This is true of every framework. There's a misdirected obsession with the idea that the *framework* needs to be constantly improved. Frameworks should add the *abstractions* that are missing in current web standards, and their only major improvements should be (gracefully) removing those abstractions as it becomes possible to do those things natively 4 1 1 840 353 .
Feb 15 The way the characters in the Sora videos move reminds me of Team America Very cool all the same 0 0 0 320 97 .
Feb 15 Honest question: How dangerous is driving in America that people can sincerely recommend carrying a tourniquet in their car *just in case*? 1 0 1 353 139 .
Feb 14 @siddharthkp Than an FC urban pickup game? We’ve probably played each other! 2 0 0 0 76 .
Feb 13 @geoffreylitt @inkandswitch @mschoening @paulsonnentag @_adamwiggins_ @pvh @orionspeaks Love this - I wrote a tiny story on the ridiculousness of git Also you should speak to @krlvi @chacon and the team at @gitbutler https://t.co/9qRg2u51KP 5 1 0 0 244 .
Feb 10 https://t.co/ghP7Xanm8S 1 0 1 237 23 .
Feb 10 @jshurmer Thanks! Yeah Ham came from the Recipes/Cookbook theme but you might be right 1 0 0 0 86 .
Feb 10 cc @htmx_org this was inspired by one of your tweets - goal would be to let anyone create a "Cookbook" and build their own collection provided it's based on HTML 1 0 0 217 161 .
Feb 10 Working on something along the lines of "Shadcn for HTML". Is this a dumb name? https://t.co/19Nm9gKT7T 11 2 7 1.5k 103 .
Feb 10 A disproportionate amount of frontend interactivity (more than we'd like to admit) is based on the simple idea of toggling classes when a user clicks on something. https://t.co/528btThJu7 8 0 1 430 187 .
Feb 07 @flaviocopes Big fan of gnat. Did you see @wesbos recent tweet on how to do something similar with scope? https://t.co/5iM8TDWBUU 2 0 0 0 132 .
Feb 04 @rails https://t.co/HWJxpgVYz6 0 0 0 255 30 .
Feb 03 @tim_nolet What are the other costs? Be specific 0 0 0 0 48 .
Feb 02 👀 https://t.co/ec0BKDT3G1 4 0 2 323 25 .
Feb 02 Another bad faith argument from @cramforce that there's no way to keep a chat app serving ~500 users moderately reliable for less than $90k/year because you have to have a person on call to fix it if it goes down. The main reason Slack needs people on-call is that they serve the same product to 30 million users. They've had 8 outages in the last 12 months - that's *super* impressive at that scale, but even so, much less reliable than the 6 apps I've been hosting on Cloudron for the last 18 months with zero downtime. For the "Clearly he's never done this in real life" crowd - Updates: Handled 100% by Cloudron - all apps are auto updated with new releases. - Dodgy Deploys: We had one for Gitlab - there was an answer on the forum which required rolling back a version - took me 15 minutes & about 2 hours downtime (still less than Slack in the last year). And I wasn't "on call". - Backups: Set up in 15 minutes and about 20 clicks with Snapshooter - Resource Issues: Cloudron tells us when resources are getting low (there's 6 apps on a single VM). It's one click to resize the server with our host. - Storage Issues: It's €14/month for 300GB of storage with our host - even at 500 users your chat database is not growing beyond that for *years*, and when it does, again it's one click to resize. What am I missing here? *Why* would you need someone on call for this? 3 0 0 621 1.4k .
Feb 01 @Shpigford @maybe @rails Just sent a DM 0 0 0 0 39 .
Jan 31 Not isolated it seems https://t.co/56OBnSXc5r 0 0 0 167 46 .
Jan 31 Same thing happened to me - bizarre onboarding process with no transparency or way to dispute. No idea why my account was flagged. Just use @ContaboCom 1 0 1 363 151 .
Jan 30 @PierreDeWulf @rails https://t.co/7iabLPGSjm And Rails For Zombies is still the best way to quickly understand ActiveRecord https://t.co/dpLcoq4tNB 4 0 0 0 150 .
Jan 29 Ooof, this one hits a bit close to home 3 0 0 317 39 .
Jan 27 Second Irish creator I've seen this week whose hallmark is boorishness (the other being https://t.co/RruavGQr0K) And I think I kind of... like it. Is this an Irish creator thing? 4 0 1 613 180 .
Jan 25 @faborio Went to Buro De Bijp on Monday, thought of you! 1 0 0 0 56 .
Jan 24 Super useful list from Alex 2 0 1 333 27 .
Jan 23 @Mqsley For asking questions I do the same. For preparing, filing accounts, VAT returns etc I wouldn't. I'm using accountants/bookkeepers interchangeably here tbf 1 0 0 0 162 .
Jan 23 As cool as current AI tools are, the fact that their only knowledge is what already exists means they can't imagine or create new things https://t.co/T7ZC0UdMB7 2 0 1 328 160 .
Jan 23 @genemurphy A Gene-Murphy-Narrated live hackathon is something I would pay to see 1 0 0 0 81 .
Jan 23 Have often day-dreamt about a competitive hackathon, where people compete to build a product in an hour or two. Problem is at current speed it'd still be pretty boring to spectate. Wonder if we could get to the point with AI where it's accelerated enough to become non-boring 6 1 1 467 277 .
Jan 23 @kingsley_kelly Ah I see what you mean. Yeah I suppose then the barrier becomes how can something digital navigate human/physical systems (phone calls, sending post, meetings) 10x better. 1 0 0 0 187 .
Jan 23 @kingsley_kelly Yeah the 10x-better model doesn't make sense in all areas IMO. For my accountant/bookkeeper, I don't want/need 10x better. Reliability & ability to navigate the human systems without my involvement is more important. 2 0 0 0 236 .
Jan 23 A lot of talk about the countdown until all jobs are taken over by AI - I'm looking for a subscription-accountant service at the minute, and all I want is a fixed monthly price to be able to talk to a real human. Any mention of "AI powered advice" is a no straight away, because I need to trust that there's someone who has/feels accountability if things go wrong. Maybe I'm shortsighted but I can't see that preference changing much (for me, or others) in the short term, no matter how good the answers get. 3 0 4 561 509 .
Jan 21 @stacycay This is a crazy amount of servings per bottle. But also, it’s a spray cooking oil. Are people… drinking it out of the bottle? 6 0 0 0 138 .
Jan 21 @levelsio Just stumbled on a way to decrypt without paying accidentally, can DM steps to replicate if you like 1 0 0 0 110 .
Jan 20 I don't often talk about it because @rails has given me so much, but in my opinion most of what rails does/has done on the frontend doesn't pass this test, and it's why I don't use or recommend using turbo/stimulus/strada etc. 1 0 2 690 226 .
Jan 20 @jmlacroix This particular app just didn't need websockets for the functionality - at the time the calculus was "Oh this will be make the product a tiny bit better and will be quick to do so zero cost". In hindsight there was a cost in maintenance and additionally complexity for deployment. 1 0 0 0 291 .
Jan 20 Working on several migration projects this week for hobby and client projects and thinking about the idea of codebase Durability. Some Takeaways When you've been around for a while and worked on web app codebases that are 10+ years old, you notice how little the product fundamentals have changed in that time (we're still using html to draw rectangles and put data in them from a database, which is likely to still be the case for decades to come). Yet when we see a Github repo which was last updated more than 2 years ago, most of us think of it as "out of date/obsolete". Theoretically, the most durable (future proof) possible codebase is one that only relies only on functionality and concepts that browsers natively support (html, css, js). Every new library added on top carries a maintenance burden as new concepts and trends come and go, which happens every 3 to 5 years. (This isn't really possible today IMO as browsers aren't there yet). The codebases with lots of named libraries and concepts are obviously the least durable. (Some of the things we're removing or replacing this week: Turbolinks, ActionCable, Tachyons, Semantic UI, Webpacker.) It feels like in the industry there's this idea that everything's a cycle and that we're perpetually looping and not progressing, but in reality browser standards are incrementally improving to support more things, and at some point we won't need to layer frameworks and libraries on top. The ultimate goal is getting to codebases that are durable-by-default - that require zero new libraries/concepts to be added but still have fast, polished, maintainable web apps. That can be left operating, code untouched for 5, 10 years, but if/when changes need to made they can be operated on with zero friction. When it comes to libraries, there's not yet any way to avoid them entirely - we still need them to patch things the browser can't do natively. But we should choose libraries that are 1. Likely to still be around in 10+ years, and 2. Not likely to introduce any new concepts/breaking updates in that time. 10 0 1 1.6k 2.1k .
Jan 20 Watched a dubbed show on Netflix during the week after watching some heygen video on twitter, and the dubbed show felt so cheap/amateur knowing the tech now existed to just watch the same show with the actors real voices but in English 3 0 0 443 235 .
Jan 18 @ridd_design Yes, plus 10+ more combinations. Best term I’ve seen for this is @scottbelsky’s “Collapse the talent stack” 1 0 0 0 120 .
Jan 16 @arvidkahl Nice! Are you also running a summarization step? Or is the goal just searchable transcriptions? 1 0 0 0 106 .
Jan 15 https://t.co/D5oqTUuAwo 0 0 0 153 23 .
Jan 14 🤣 this is how 50% of US/Europe comparisons (in both directions) sound to me. 5 0 1 644 76 .
Jan 14 @madebyporter @Mike_Andreuzza Second this. Been using daily for over a year & its top notch 0 0 0 0 95 .
Jan 13 This made me feel old - Lose yourself was released in 2002 - 2002 was TWENTY TWO years ago 🤯 https://t.co/EUc6IXoZ4K 2 0 0 223 118 .
Jan 10 @bradgessler @htmx_org Yeah I get what you mean. It’s a good idea, will keep an eye out 0 0 0 0 87 .
Jan 10 @bradgessler Gotcha. It’s not a newsletter but https://t.co/LJQX7w9rpM is very much written in that vein 0 0 0 0 104 .
Jan 10 @bradgessler Might’ve misinterpreted you slightly. It is *technically* about js but in an extremely low-complexity, low framework, bite size kinda way 0 0 0 0 150 .
Jan 10 @bradgessler Yes! It’s one of my favourite ones. https://t.co/NMOCC5ZTfO 1 0 0 0 74 .
Jan 09 @Shpigford @readme .yml erb* file 🤦‍♂️ 0 0 0 0 38 .
Jan 09 @Shpigford @readme Don’t try to be smart about it - have used rswag, swagger-rails, grape before but they create a large maintenance burden. Create a simple dynamic .yml.erv file that has the openapi spec of the api and can render enums and other minor data from the app when necessary. Put all the… 2 0 0 0 300 .
Jan 09 @Adrian_A_Alonso Thanks 😊 glad you like! 0 0 0 0 40 .
Jan 08 @htmxpert Disclaimer: Only shared recently and has very few users (that I know of) outside of us. Feel free to send feedback 1 0 0 0 124 .
Jan 08 The "Hiring Pool" concern doesn't get enough airtime in my opinion. It's the number 1 thing that influenced https://t.co/EgIFQGIGpH If your app is 90% HTML/CSS/JS & you're prudent about adding new concepts to it, your hiring pool can be 100 - 1000x larger. 3 0 0 343 261 .
Jan 08 We need a way to talk about the comparative *Conceptual Load* of different libraries that lets us distinguish between "sprinkles" libraries like @htmx_org, which basically have one or two important concepts and can be learned in an hour or two, and fully-fledged "frameworks". https://t.co/1npK77IVFK 6 0 1 8.7k 300 .
Jan 08 This is an interesting anecdote, but the implied takeaway (that this is somehow a generalizable thing between Europe and the US) on the whole, is remarkably dumb. 2 0 0 579 162 .
Jan 07 I agree it’s not as intentional as dhh describes - they’re not looking for complexity specifically. But they are looking for challenge and fun (with little consideration for company value). If you’ve never seen that first hand I’m guessing there’s a selection effect at play. 2 0 1 702 275 .
Jan 06 A lot of people’s opinions/recommendations on what libraries to use or avoid, ultimately come down to “silly” things like this. It’s basically aesthetics/ergonomics but that seems too trivial so we make up deeper, more scientific sounding terms and talk past each other. 1 0 1 558 270 .
Jan 06 This is what we mean when we say “non essential complexity” 4 1 0 1.1k 59 .
Jan 06 RT @joemasilotti: Here's the story of @AlexandruGlv and how they cloned RailsDevs for the YouTube community. Also, this screenshot is just… 0 2 0 0 140 .
Jan 06 https://t.co/dknTriNHpp 1 0 0 171 23 .
Dec 30 https://t.co/R3i84xrZiH 2 0 1 404 23 .
Dec 30 The biggest mistake I've seen tech leaders make is being too relaxed about how technologies are chosen in the tech org, and ending up in specialization hell ("Tim is our redux guy, John is our AWS guy") etc. If you want to keep a handle on costs, you *have* to keep a handle on what you build with. Love the terms "Canonicity" and "Avoid non-essential variance" for capturing this. This article is great https://t.co/wXpUYgTlIs 9 0 1 1.4k 429 .
Dec 30 @lynxluna @rahmaut Thanks for sharing! 1 0 0 0 38 .
Dec 28 @William_Blake What is the avalanche in this metaphor? 1 0 0 0 54 .
Dec 27 This same principle is why my day to day earphones look like this. One item that sits around your neck all the time = basically un-lose-able, whereas AirPods = 3 items to keep track of. https://t.co/IZgH5qP0Ig 2 0 0 596 209 .
Dec 23 To elaborate, there’s four areas where a company like stripe provides value 1. Simplifying interactions with legacy infrastructure 2. Preventing fraud 3. Doing the government’s job (AML, tax collection) 4. Providing great payments-related software (subscriptions, invoices etc) At the moment there’s huge value in #1 alone, but in a world where it costs a micro-cent to transfer 7 figures from one wallet to another, the idea of charging percentage-based fees for 2,3,4 wont cut the mustard. 0 0 1 212 493 .
Dec 23 I love that Stripe raised the bar for what a developer product should look like. But if we’re being honest there’s no long term business model for payments companies without eventually rent seeking or racing-to-the-bottom on price. 2 0 1 721 231 .
Dec 23 A nice exploration of the sixth html first principle - Stephen goes even deeper than I did, really enjoying these videos. 3 2 1 717 121 .
Showing 1101-1200 of 4360 tweets