I tried making this joke to the author when the book was released ("I purchased the book, but the link just took me to an empty page") and, unfortunately, they didn't get it and tried to give me customer support
HN user
swanson
Blog: https://boringrails.com Twitter: @_swanson
I guess I'm not quite understanding why you need six staging servers provisioned at $500 a pop? And if you need that because you have a large team...what percentage of your engineering spend is $3000 vs $100k+/yr salaries?
Especially when I got look at the site in question (idealist.org) and it seems to be a pretty boring job board product.
it made my day to see this comment, i was the original creator, awesome to see people still using it!
RE "neutered inspector": you can inspect the element and click ".cls" to toggle off classes: https://i.imgur.com/ig2SQw3.png
RE "you can't chain selectors": you can stack modifiers like `dark:hover`. The example of having the same styles for hover, active, and focus actually seems Not Great as those are different states that you 99% of the time want to look visually different (Tailwind examples include things like hover:bg-blue-600 active:bg-blue-700 which just seems like a better guardrail)
I got really into daily fantasy at the height of the boom: you make a fantasy football lineup and enter it into paid contests. For big leagues like the NFL you can potentially win millions of dollars (but there are tons and tons of players and lots of 'pros' that do it full-time).
But for the past several years, I have been only playing niche sports: specifically Canadian football (CFL). It's way smaller stakes but the competition is much easier and I've written my own analytics tools so I have a nice edge compared to NFL where there is tons and tons of high quality content and analysis. I've profited over $20k during the past three seasons.
I used OR-Tools via the Python bindings a few years ago. It was nice to work with once I got setup but it was a pain to get it installed (both locally and when deploying to a cloud server).
I would have liked some kind of API that I could call out to instead but nothing existed at the time: you pass in the inputs to construct the linear equations and then you get back the results.
I think the article would be better if you were to include even a basic template instead of just adding the <strong> tag. Right now, my first impression would be "why not just wrap the content in <strong> in JS instead of making a network request on every keystroke?"
The benefit of being able to reuse the server template logic isn't being demonstrate because of the simplicity of the example.
It is great to see more options for non-accredited investors. There are plenty of software-type folks in low-cost of living states that don't meet the net-worth / salary bar but are well off financially and understand the risks.
This is neat. You might consider making a twitter / instagram bot version. I like the Word of the Daily and would be nice to mix that into my twitter feed vs getting an email or viewing the page.
And getting FDA approval is not the finish line. It's just the start of the roll-out. Now employ teams of reps to get the drug covered by every commercial insurance company and all Medicare/Medicaid parties so that patients have access to this life-saving treatment, get policies and authorization forms and billing codes created and implemented. Do outreach to make sure doctors and patients even know that a drug has been approved and how it compares to existing options.
I really hated SmartTVs and would actively avoid them, but I recently got one of the Roku branded TVs and it's actually quite good. Roku has always been great for me in terms of software updates, availability of streaming services, and good-enough UI that everyone in the family can use it.
I share some of the same issues, I have found that ERB templates work better than HAML for lots of data attributes.
Basecamp seems to use liberal newlines / spacing when creating html tags (like one line per attribute) so that might help.
Server-side "component partials" still don't have a great story, but view_component is one emerging option.
They are both JS frameworks, but they are fundamentally different approaches.
React (and React-rails) moves rendering / state / logic clientside. You can use tools like react-rails to more easily pass data from your Rails controller to your react components (basically conveniences to create props from instance variables).
Stimulus doesn't handle rendering at all. It's intended to be used for small little "sprinkles" of JavaScript (think things like: showing / hiding content, toggling classes, basic event handlers). If you used to write jQuery snippets to wire up a click event to run ~5-10 lines of JS, then you might look at Stimulus as a more modern implementation (es6, mutationobserver, etc). Stimulus plays nicely with Turbolinks since it needs existing HTML (servered rendered from normal Rails views) to attach to.
You're basically looking at two diverging paths: do you go down a JS-driven SPA application with React (or some kind of hybrid where you have React do parts of the page) or do you opt for Basecamp's "I cant belive its not a SPA" approach with Turbolinks, server-rendered HTML, and Stimulus for small interactivity.
Here's a talk I gave at the London Ruby meetup about Stimulus and in what contexts you might want to use (or not use it): https://assets.lrug.org/videos/2020/september/matt-swanson-s...
I've had great success with the Turbolinks + Stimulus approach. There are a couple of common patterns that you'll reach for, namely, lazy loading content (basically a <div> with a URL attribute that you have Stimulus load via AJAX) and really leaning into Rails remote-link / server javascript responses for modals and little page updates.
It's so great to still be super productive and be able to crank out several pages of an app in a few hours vs most of the React / SPA codebases where you might send the whole day on one little component.
- Helped push for a shift in invoicing hourly to daily/weekly and then to "flat-rate for the whole team every month"
- Organized a professional development group to promote book clubs, meetups, etc within the company
- Helped marketing/sales folks update web pages to fix errors or "generic business language"
- Encourage and lead efforts to use off-the-shelf tools instead of homegrown internal tools
- Took meeting notes for all-hands meetings and published them internally
- Build relationships with non-technical staff so that you can later give them feedback about processes they control
These are some things I've done over 10 years at my company, so it's a long process!
None of this stuff matters at this point. Start writing content.
Rory Sutherland - Alchemy
Ole Peters work on ergodocity
Paul Skallas / "Lindy Table" on Twitter
Taleb doesnt live in NYC anymore
Reminds me of the great "Nathan for You" episode where Nathan creates his own film festival so that he can award his own movie a judge's prize.
most people are overweight, so health is unimportant
I would say, yes, health is unimportant to the average person because of their actions. I don't think that's good or fair, but it is the current state of the world.
If you want to continue the analogy: my argument is akin to telling someone trying to lose weight to research the most bioavailable supplements -- despite the fact they still eat a Snickers bar every afternoon. It's a micro-optimization that has been elevated to "table-stakes".
It's commendable to strive to improve. I agree that 95% of projects are a mess. I don't think there is value in writing good commit messages in those environments, even if it is easy. If you're going to spend 30 minutes writing a super awesome commit message, I'd rather you spend those 30 minutes on improving the code or the test suite or even writing the awesome commit message in the JIRA ticket.
If you've reached the point when the next "optimization" you can do is to work on your commit messages, that is awesome.
That's fine. I think your opinion is the majority opinion (at least online). It just does not match my own experiences of reality.
You can and should value practices based on your context. But I will be the asshole and ask if writing good commit messages is "so, so, so important" -- what things are less important? Is it more important than a good test suite? Well factored code? System documentation? Capacity for senior staff to answer questions? These things cannot all be so important and, in my experience, worrying about crafting amazing commit messages is way down the hierarchy.
I've worked for 10 years across 20 different commercial codebases. None of this stuff about writing good commit messages really matters. No one reads old commits. The "truth" is what the current code is doing and it doesn't really matter how it got there.
I'm sure someone will say "but I use the history ALL THE TIME to source dive and paragraphs of context are super helpful". This is not the case for 95% of developers or projects so I can't really endorse spending time learning this "best practice".
It's fine to be aspirational, but it's such a shame if people see posts like this and think they are failures or "bad" developers or that this is a widespread practice.
If it helps you personally or you have an open source project and you want to help with a changelog, knock yourself out. But there are so many more impactful skills to be learning or spending your time on if you're a working developer in a typical environment.
For what it's worth, I canceled/deleted my account this morning. Took me about 30 seconds to do thanks to this link and about 2 hours later I got an email that it was deleted.
No government ID required.
Yeah I didn't do it "domain-first" but love the idea. Still own the domain: noextrapoints.com, seems good for a football related site.
Just bought "streamerjobs.com" for $13 inspired by your post. Maybe a job board for Twitch/YouTube people to hire video editors.
I love this article just because so many commenters hate it. I really like the super niche side-projects -- I ran an analytics site for minor league football, built with a couple of Ruby scripts and a free Netlify plan. Was featured on ESPN, famous NFL twitter accounts, and did a million pageviews in 2 months.
I licensed the data to a fantasy football site and it was starting to make money before the league shut down.
The stakes are so low that it's really worth giving it a go.
Bots that use stolen cards to make purchases (or use legitimate SaaS apps as a vector to test if a card number if valid)
Stripe "tracks" user data that they run through some fancy ML thing to try to detect if the person is a bot or a real human -- based on, presumably, patterns in user mouse movement, delay in moving between inputs, interval between keystrokes, etc.
"Product Illustration" is what Steve (the designer) calls them. See: https://www.youtube.com/watch?v=1HDR-AV4ODU for a livestream of how he makes them
Yeah it removes all of the random "liked by someone you follow" or "popular in your network" etc tweets that slowly creep in over time.
You could do something similar with built-in ActiveRecord callbacks as well.