HN user

swanson

5,756 karma

Blog: https://boringrails.com Twitter: @_swanson

Posts90
Comments789
View on HN
arrows.to 4y ago

The Startup CEO’s Guide to Customer Success and Onboarding

swanson
108pts21
mdswanson.com 5y ago

All software advice is wrong

swanson
1pts0
boringrails.com 6y ago

Feature Flags: The stupid simple way to de-stress production releases

swanson
2pts0
boringrails.com 6y ago

Wrangling slow reports and large file exports in Rails with ActiveJob

swanson
2pts0
ofdollarsanddata.com 6y ago

N = 1

swanson
2pts0
boringrails.com 6y ago

Building a Rails CI Pipeline with GitHub Actions

swanson
1pts0
twitter.com 7y ago

Company Twitter handle was squatted and then given to TWTR employee, recourse?

swanson
2pts0
mdswanson.com 8y ago

Building a Fuzzy Emoji Finder

swanson
1pts0
www.latimes.com 8y ago

School is all about signaling, not skill-building

swanson
2pts0
news.ycombinator.com 8y ago

Ask HN: What services/products are missing mobile apps?

swanson
1pts0
mdswanson.com 9y ago

How to start a peer group

swanson
1pts0
www.slate.com 9y ago

How Daryl Morey used behavioral economics to revolutionize NBA draft picks

swanson
4pts0
mdswanson.com 9y ago

Closing Down a Product, Gracefully

swanson
1pts0
news.ycombinator.com 9y ago

Ask HN: Screenwriting as a side project?

swanson
2pts0
blog.moraleapp.com 9y ago

How much does crunch time hurt team morale?

swanson
6pts0
mdswanson.com 9y ago

How I Dunning-Kruger'd Marketing

swanson
2pts1
mdswanson.com 10y ago

Hacking my office Indy 500 pool: exploiting arbitrage in an inefficient market

swanson
2pts0
mdswanson.com 10y ago

Internal tools should be sold or killed

swanson
3pts1
www.mdswanson.com 10y ago

Juking the Stats

swanson
1pts0
fivethirtyeight.com 11y ago

Introducing NFL Elo Ratings

swanson
5pts0
unicornfree.com 12y ago

Is bad copy killing your product?

swanson
3pts0
www.youtube.com 12y ago

Sacramento is using crowdsourced analytics for their 2014 NBA draft pick

swanson
1pts0
grantland.com 12y ago

The Board Game of the Alpha Nerds

swanson
315pts153
grantland.com 12y ago

The Dream Kickoff (Exoskeleton demonstration at 2014 World Cup)

swanson
2pts0
www.mdswanson.com 12y ago

Evaluating Technical Arguments

swanson
2pts0
news.ycombinator.com 12y ago

Ask HN: Is (2013) necessary?

swanson
6pts4
codemanship.co.uk 12y ago

Blind Pair Programming Interviews

swanson
104pts43
blog.8thlight.com 12y ago

Uncle Bob on Heathcare.gov

swanson
19pts8
mdswanson.com 12y ago

How Buildings Learn (and why software is no different)

swanson
1pts0
news.ycombinator.com 12y ago

AskHN: Did the HN favicon change?

swanson
1pts0

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

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.

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.

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.

Stimulus.js 2.0 6 years ago

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.

Stimulus.js 2.0 6 years ago

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...

If Not SPAs, What? 6 years ago

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!

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.

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.