smores's recent activity
-
Comment on Build Your Own: React, ProseMirror, and Redux in ~comp
-
Comment on Build Your Own: React, ProseMirror, and Redux in ~comp
smores Hey folks! I'm a software engineer on the Oak team at the New York Times (Oak is the name of the collaborative text editor that the newsroom uses to write the stories that go on nytimes.com). Last...Hey folks! I'm a software engineer on the Oak team at the New York Times (Oak is the name of the collaborative text editor that the newsroom uses to write the stories that go on nytimes.com).
Last year, while working on Oak, we decided to take a step back and learn, as a team, how the tools we used really worked. In particular, we'd spent years trying to get ProseMirror to play well with React and Redux, but had struggled to reconcile their not-quite-compatible philosophies about DOM and state management.
What we sketched out became “Build Your Own”. “Build Your Own” is a five-part syllabus that breaks down React, ProseMirror, and Redux, and walks through how to build them back up from scratch. It’s based on (and includes) the absolutely wonderful “Build your own React” tutorial from Rodrigo Pombo. Inspired by that tutorial, we wrote similar walkthroughs for building Redux and the ProseMirror EditorView component as well. Finally, to ensure that everyone felt comfortable with the terminology and fundamentals of using the library, we built quick refresher courses on the basics of React and ProseMirror. I'm around to answer any questions that anyone might have about the courses, the team, or the Times! Hope you enjoy!
-
Build Your Own: React, ProseMirror, and Redux
12 votes -
Comment on Unpopular opinion: Wikipedia's old look was much better than the new one in ~talk
smores That's very surprising! It looks like the actual "jump-to-header" functionality of the new sidebar is implemented exactly the same as the old nav box; with dead simple fragment URLs. I wonder what...That's very surprising! It looks like the actual "jump-to-header" functionality of the new sidebar is implemented exactly the same as the old nav box; with dead simple fragment URLs. I wonder what about the new site isn't playing well with your browser, and whether Wikipedia would be able to fix it if you reported the issue.
-
Comment on Getting logged out when I close out Firefox mobile on iOS in ~tildes
smores Thanks for finding and linking those issues @cfabbro. I've been having the same issues with tildes and kagi.com (oddly, as some users noted in the GitHub issues, with Kagi I can always refresh and...Thanks for finding and linking those issues @cfabbro. I've been having the same issues with tildes and kagi.com (oddly, as some users noted in the GitHub issues, with Kagi I can always refresh and suddenly be logged back in; with tildes when I refresh I'll get my preferred color scheme back, but still be logged out!). Hopefully they figure out what's going on soon, but it's nice to have a ticket to follow, at least!
-
Comment on Recommendations for music players for macOS in ~music
smores (edited )LinkAny interest in using Plex and Plexamp? I've been using Plexamp as my primary music client for the better part of a year and I have literally 0 complaints. They have a client for macOS (and iOS...Any interest in using Plex and Plexamp? I've been using Plexamp as my primary music client for the better part of a year and I have literally 0 complaints. They have a client for macOS (and iOS and Android etc etc), the client is super configurable and just works tremendously well. It's very responsive (as in "responsive design") on desktop; you can full screen it or make it phone screen sized and it'll hide and show information/interface as needed. You need Plex Pass to use it, which is $4.99/month, $39.99/year, or $119.99/lifetime.
-
Comment on What are some of the best blogs, journals, e-magazines, etc. about programming or software development in general? in ~tech
smores Javascript-focused: Dmitri Pavlutin 2ality Tania Rascia HTML/CSS-focused: CSS Tricks Accessibility-focused: Adrian Roselli General/education-focused: Julia EvansJavascript-focused:
HTML/CSS-focused:
Accessibility-focused:
General/education-focused:
-
Comment on As e-bike fires rise, calls grow for education and regulation in ~tech
smores Thank you for the reassurance, seriously, that does relieve quite a bit of my anxiety!Thank you for the reassurance, seriously, that does relieve quite a bit of my anxiety!
-
Comment on As e-bike fires rise, calls grow for education and regulation in ~tech
smores Oh that’s a huge relief actually, thanks for sharing that!Oh that’s a huge relief actually, thanks for sharing that!
-
Comment on As e-bike fires rise, calls grow for education and regulation in ~tech
smores So after saving for our wedding a few months ago, we realized that we actually had a decent amount of money left over, so we decided to get an ebike. We’d wanted one for a while; we only have one...So after saving for our wedding a few months ago, we realized that we actually had a decent amount of money left over, so we decided to get an ebike. We’d wanted one for a while; we only have one car and live in the suburbs, and we really didn’t want a whole second car just for the once every other week that we both need to go places at the same time. We ended up getting a Yuba Spicy Curry from a local ebike place that donates their profits to a local boys and girls club.
Unbeknownst to me, literally on the day we got our ebike, my close friend’s partner’s ebike battery exploded in their apartment while they were sleeping, setting the apartment on fire. They were so, so lucky that they had a balcony to escape to while the fire died down and were able to eventually escape the apartment, and even more lucky that her partner’s young daughter wasn’t staying with them that night.
I honestly hadn’t looked into ebike battery safety at all, and after getting over the initial horror that this had almost killed my friend, was more than a little freaked out. I ended up getting an explosion-proof bag from this Dutch company, and now we charge and store our ebike battery in the bag in our concrete basement away from anything flammable. I got a smaller, less heavy duty one for my drone batteries, too.
I forget where I saw this, but while doing research on this I found someone pointing out that ebike batteries like mine can move my bike (about 60lbs) and myself (about 160lbs) about 40 miles at 20mph. That’s a LOT of energy to be expelled very rapidly in the event of a catastrophic failure of the battery!
The other thing I read is that it’s really important to retire batteries that experience any sort of concussive event. If your bike gets hit by a car, or falls off your bike rack (take your battery off your bike when moving it!) or anything like that, you should consider the battery an explosion risk and dispose of it safely and get a new one.
-
Comment on As e-bike fires rise, calls grow for education and regulation in ~tech
smores We’ve got the Yuba Spicy Curry, which we have decked out with foot rests, a seat, and handlebars in the back for a second adult to sit on. It’s definitely a different experience riding with...We’ve got the Yuba Spicy Curry, which we have decked out with foot rests, a seat, and handlebars in the back for a second adult to sit on. It’s definitely a different experience riding with another person; balancing is a bit more challenging and you have to take turns much more slowly. I probably wouldn’t opt to do my 45-minute hilly cycle to my tae kwon do studio with another person on the back. But it’s awesome for just going into town with my wife!
-
Comment on Looking for lessons in the ‘She Said’ box-office beatdown in ~movies
smores I literally work at the New York Times and the first external marketing I saw for this was a billboard in Times Square last FridayI literally work at the New York Times and the first external marketing I saw for this was a billboard in Times Square last Friday
-
Comment on The case for abolishing elections in ~misc
smores (edited )LinkSo I’ve been thinking about this on and off for years, ever since I first listened to Malcolm Gladwell’s Revisionist History episode about it, The Powerball Revolution. It’s very much worth...So I’ve been thinking about this on and off for years, ever since I first listened to Malcolm Gladwell’s Revisionist History episode about it, The Powerball Revolution. It’s very much worth listening to if (a) you can tolerate Gladwell and (b) you want to learn about some activists that are in favor of this method of government selection and how they’re trying to build support for it.
I agree with a lot of the folks that have commented here about the idea so far. I think there are two huge challenges that this method faces:
- Above the municipal level, being a politician is often a full time job. Actually, even at the municipal level, for large enough municipalities. How do you ensure that the people you force to leave their job with no notice are able to return to those jobs when their term is up? How do you ensure that the change in compensation isn’t so severe that moving in and out of government is a remotely rational choice?
- People by and large do not know how to run large bureaucracies. Not because they’re dumb; because it’s hard! Running massive organizations serving huge numbers of humans means making decisions that are often unintuitive. How do we provide people with the experience needed to know when to make those decisions?
I have some thoughts about these, and I’m curious to hear what others think, too.
- This is, I think, the harder problem to solve, even if it seems less problematic at first glance. If people actually do see serving terms in government the way they see jury duty now, either they’ll simply skip out (yikes) or push for and enact reform. And, worst of all, the people affected most negatively by this would be lower and median income people. So what are the options? Honestly I’m not totally sure; I mostly have some ideas for mitigation tactics. One tactic would be to choose the next officials some amount of time in advance, like a year, so that they have time to work with their employer and figure out a plan for when they leave and return. Another would be to make the pay grades for even municipal government fairly high, though I think this introduces weird issues in lower income areas, and makes wealthy people more likely to seek secondary compensation, likely from sources similar to the current flavor of lobbying and corruption we’re trying to mitigate with this plane in the first place.
- The second issue I have a more concrete idea about: limit the pools at each level. Municipal government roles are open to everyone in the municipality; state roles are only open to people who have previously served in municipal roles, etc etc. Anyone who’s served a term without, I dunno, violating the constitution is viable for the next level. This also provides a replacement strategy for the current system; start at the municipal level (which also where I think this system could have a huge impact), and gradually move up in levels of hierarchy.
-
Comment on Twitter is planning to start charging $20 per month for verification. And if the employees building it don’t meet their deadline, they’ll be fired by Elon Musk. in ~tech
smores I definitely have not had this experience in tech, and I would be shocked to learn that Twitter has anything like "10 managers for every coder". I currently have one manager, who has 6 other...I definitely have not had this experience in tech, and I would be shocked to learn that Twitter has anything like "10 managers for every coder". I currently have one manager, who has 6 other direct reports; he has one manager, who has 5 other direct reports (all managers), she reports to a VP and he reports to the CTO. There are far, far more individual contributors than there are people managers, and this was my experience at Google and Amazon as well. It's possible that there's some confusion about product and project "managers", who are, to be clear, not people managers (or at least have their own similar management hierarchy, with mostly individual contributors at the bottom), and actively contribute to either project and process development and organization or actually meaningfully developing the products alongside the engineers.
I'm not saying that Twitter isn't "bloated"; Google certainly had at least hundreds, perhaps thousands of engineers that were doing essentially nothing of value for the company, and I wouldn't be totally surprised to learn that there was some of this at Twitter, too. I just truly can't imagine a world where there are even close to the same number of engineering managers as there are engineers.
I will say that it is often surprising how much value can be gained by having software engineers developing domain expertise in small parts of your systems, and similarly surprising how much communication and planning overhead can be introduced by expanding the size of your engineering team, especially when most or all of them are working on pieces of the same product. You break up your team into smaller teams, each specializing in one part of the system, but then you've introduced communication and planning overhead so you have to increase the size of each team to actually realize any speed improvements. And that just keeps happening fractally as your systems grows in size and complexity. This isn't really bloat, though, it's just how human hierarchies scale; a big, stable software giant wouldn't be able to do more things better by firing a bunch of employees. Then they'd have fewer employees and each of them would have shallower expertise across the relevant domain spaces, and so they wouldn't be able to iterate as quickly on any given feature in any given domain.
-
Comment on Things unexpectedly named after people in ~humanities
smores My favorite of these are definitely MySQL (as mentioned in the article) and French drains, which, as I learned when we had one installed in my basement last year, are named after an American...My favorite of these are definitely MySQL (as mentioned in the article) and French drains, which, as I learned when we had one installed in my basement last year, are named after an American called Henry French, who popularized them in the US in the 1800s.
-
Comment on Writers, be wary of throat-clearers and wan intensifiers. Very, very wary. in ~creative
smores I think I can help (hopefully). Syllables in English are (almost?) always defined by vowel sounds. The thing that I think requires some intuition is figuring out exactly which consonant sounds are...I think I can help (hopefully).
Syllables in English are (almost?) always defined by vowel sounds. The thing that I think requires some intuition is figuring out exactly which consonant sounds are part of which syllable, but simply counting the number of syllables in a word should be fairly straightforward, even for folks who speak English as second/third/etc language.
"Make" has one syllable, because it has one vowel sound, a long "a" (/eɪ/, dipthongs count as one vowel sound in syllable counting). "Bland", as above, also only has one vowel sound, a short "a" (/æ/).
"Single" has two syllables, because it has two vowel sounds, /i:/ (from the first syllable, "sing") and /ə/ (from the second syllable, "le", pronounced /əl/).
Picking a word from my paragraph above, "intuition" has four syllables, "in", "tu", "i", and "tion". Each of these has a distinct vowel sound in it.
This is all about pronunciation, not spelling, which is why sometimes a word might have, say, 3 syllables if pronounced by an American, but 4 if pronounced by someone from England. And sometimes we insert vowel sounds (especially schwas, /ə/) even when there are no actual vowels in a given part of a word. For example, the name Dwight can be pronounced as a single-syllable word (/dwaɪt/), or as a two-syllable word (De-wight, /dəˈwaɪt/), depending on the accent of the speaker.
-
Comment on I broke my MacBook user profile by deleting a single folder in ~tech
smores This is devastatingly unsatisfying. I want to understand what the heck happened so badly!This is devastatingly unsatisfying. I want to understand what the heck happened so badly!
-
Comment on Quora+ Program: A case study in ruining a perfectly functional community forum and online information resource in ~tech
smores Maybe, but is it necessarily worse than corporations profiting off of answers provided by volunteers without compensating them? My understanding is that part of this program is also compensating...Isn't it very unethical of them to use these free resources, openness of Internet and geek culture to grow into a corporation and now trying to gatekeep others of the same resources?
Maybe, but is it necessarily worse than corporations profiting off of answers provided by volunteers without compensating them? My understanding is that part of this program is also compensating answerers with some of the excess revenue they expect to raise.
I’m not totally convinced that asking for money in exchange for information is inherently unethical, either; such feelings don’t (in my experience, at least) seem to apply to books or newspapers.
Re: using open source software to build a closed/paid product, I don’t know if that’s unethical, either. If it is, you’d have to be willing to make the argument that all paid software products using an open source language (that is, quite a huge fraction of them ) are unethical, and that doesn’t quite pass the smell test for me. And what about open, non-software technologies? Is it unethical to require payment for a book that you write, because some of the information you used in that book was learned at a public library?
I suppose the answer to these questions could be “yes”, actually, if fundamentally your argument is “I don’t agree with the ethics of capitalism,” which… me neither. Seriously, I don’t agree with the ethics of capitalism. But a paywall on Quora doesn’t feel like a particularly worse flavor of capitalist ethics than an ad-supported free Quora that doesn’t compensate its content producers, to me, at least.
-
Comment on Quora+ Program: A case study in ruining a perfectly functional community forum and online information resource in ~tech
smores Several newsmedia companies (maybe most notably The New York Times) introduced paywalls after several years of providing ad-funded content free for readers. The Times launched its website in… I...Can anyone think of counterexamples where a platform managed to continue to grow after erecting a paywall?
Several newsmedia companies (maybe most notably The New York Times) introduced paywalls after several years of providing ad-funded content free for readers. The Times launched its website in… I want to say 1996? And didn’t add a paywall until 2011.
Newspapers definitely don’t need to rely on a sizable user base to actually produce content, but perhaps unsurprisingly, it was still crucial when these paywalls were created that the amount of overall traffic continue to increase. Part of the way that the Times did this was initially launching with fairly lax rules (here’s an article from their initial launch that describes the original metering rules). Even now, the Times only has a “soft” paywall, and just launched an AI system to try to bring even more nuance to the metering system.
You could imagine a version of this for Quora that would maybe feel less gross. Some number of free questions per month, and an increase to that number if you answered a question (or even asked one), or something. Basically encouraging participation.
-
Comment on Looking for some long book series recommendations in ~books
smores I’m currently reading through the books after watching the show. I think this is a good call. The show plots barely deviate from the books (it’s honestly very impressive), which is making books 5...I’m currently reading through the books after watching the show. I think this is a good call. The show plots barely deviate from the books (it’s honestly very impressive), which is making books 5 and 6 a bit of a slog (no aliens!). I am excited to finally get to read books 7-9, but it did feel like a bit of a chore working through parts of the books that I remembered very well from the show.
Thanks!
That's a good point; technically you can call
createStore
as many times as you want, so it doesn't really follow the singleton design pattern. Its usage in that sentence is sort of redundant, anyway; I'll trim it out. Thanks for pointing it out!