es7
But having gone through a remodel in a house with asbestos, I have been blown away at the extreme level of regulations, the meticulous procedures that remediation companies have to follow, the tens-of-thousands spent on remediation and repeated testing, and the tens-of-millions being thrown around in courts whenever Asbestos comes up.
As best as I can tell, the risk is close to zero for minor and occasional exposure in otherwise healthy individuals. I'm open to seeing hard evidence to convince me otherwise.
Calling databases global state and arguing why they shouldn’t be used was ridiculous enough that I wanted to call Poe’s Law here.
But it does look like the author was sincere. Event Sourcing is one of those cool things that seem great in theory but in my experience I’ve never seen it actually help teams produce good software quickly or reliably.
I’m quite curious what the prompt is here. I think this is just one of many cases where the details of the prompt are hidden but matter quite a bit.
It’s kind of hard to expect remotely reasonable answers to moral and ethical questions without considering moral or ethical principles.
I’m not the author, but I found that to be a highly important distinction for them to call out. It is about the way that each individual developer feels during each individual day, in a way that is hard to capture with statistics and summaries and lists of technologies and descriptions of processes.
I don’t necessarily recommend it, but it’s been a good reminder to me that most of the value React provides me is literally just html-in-JS. In many cases the complexity that comes from React effects and state is unnecessary, and directly mutating DOM nodes is sometimes a lot less painful. Sometimes.
I took 2 years of Spanish in High School many years ago.
In those 75 days, I’ve gone from remembering basically no Spanish to being able to express and understand a surprising amount of day-to-day thoughts with her, at least as well as I could have in 2002.
We can express what we want, where we want to go, how we’re feeling, etc.
Duolingo isn’t perfect, but the gamification and social aspect keeps us practicing day-after-day and provides a natural jumping off point for using Spanish in our every day.
I launched my first game in 2015 which took 6 months to even reach $100/month. From there it earned around $500/month for the last 7 years. It required a huge upfront investment, ongoing updates to keep relevant and a significant fraction of revenue going into advertising.
I launched a few additional games that were low quality and ended up removing them. I started another 4-5 ideas that were abandoned.
In 2021, during a few month break from my job, I produced one more game that has averaged around $2000/month revenue for the last 2 years. Also needs regular updates and promotion to stay relevant.
Overall I would only recommend this route if you’re really passionate about game dev. The overall time investment has been really high, and it isn’t truly passive income because mobile games lose users quickly when not updated often.
Remember when DALLE came out less than a year ago and people were amazed by the avocado armchair?
Between this and Midjourney v5, the quality of AI generated art is rapidly approaching human level and I can see it getting there very soon.
I don’t think I could do that. I’ve built a number of mobile games, but the longest I worked on before releasing was four months and that was hard enough.
I’ve always found it much easier motivationally and financially to launch early and iterate based on player feedback, but maybe the economics are very different with free-to-play mobile games.
I stopped doing it full time after a while and eventually went back to work. Game dev could support a family but not as well as a tech job, at least for me with my not-that-huge games.
Besides, for me I love that my game income is beer money/vacation money/new car money and not mortgage/health insurance/grocery money
I’ve joined some teams where the code was horrific after rounds of patchwork by people who didn’t understand the system. But by and large, systems made by one person have been really easy for me to work in. Except for the various cases of overengineering by senior engineers or when junior engineers try to apply too many ‘cool’ frameworks that aren’t necessary.
Maybe it’s because most webapps solve simple problems in simple ways. There are collections and entities and relationships and almost everything is a page or a list or a form.
A set of neurons gets some input and that feeds into another set of neurons that has to make all the information from many sources coherent. Those neurons label the input firing pattens as qualia and then act as if they were experiencing the world rather than just signal processing, and so ‘experience’ is not real in any metaphysical sense.
I’m not 100% sure I believe that theory, but I do find it highly plausible.
I use FB, Twitter, Insta, TikTok, LinkedIn, Discord, etc for a variety of purposes and find and share great content across platforms.
I need something like Spotify for news sources. Ad-free access to any content. I’ll pay for that. But I’m not going to subscribe to each source individually.
Edit: I would want a way to avoid paying for clickbait that I accidentally click on. Maybe sources could be paid per active-viewing-minute and definitely not for clicks.
As a web and mobile app developer, I find that globals can be useful. Developers will go through extraordinary lengths to avoid making things global, but the truth is that for end-user applications a great deal of the relevant product requirements are essentially singletons. There’s only one active profile and one user and one catalog and one persistence layer. There’s only one DOM and one window. The result is that code which endeavors to make state which is truly shared and global actually shared and global will often be much simpler and less bug-prone, provided that reasonable abstractions are chosen for any mutation and event APIs related to global state.
Readability is a very real concern and something every programmer should think about. It’s a form of communication.
It all starts with naming. Naming the entities, classes, methods and variables is probably 70% of making really readable code. In my experience, the difference between ‘spaghetti mess’ and ‘nice, clean code’ can often be achieved with an identical AST structure but with well-thought-out and consistently applied names.
The other 30% probably deserves it’s own book. It involves breaking complex portions of code up into well-named segments (ex: functions or variables), keeping related segments near each other (not spreading functionality out over dozens of files), using consistent patterns and much more.
There is a such thing as unreadable code. The author here has some nuggets of wisdom buried inside a lot of chaos. Maybe his style serves a good purpose for prose, but it isn’t an example of efficient and clear communication. Readable code should be efficient and clear communication.
This strikes me as only very superficially true. In my own experience as a human, I've found that every person I meet is unique and interesting in meaningful ways. I didn't use the term "deep" because it seems ill-defined in this context. If one of the main ways you think about "most people" is "not deep", then it seems to me that you're letting arrogance blind you to reality.
What I mean by that is that there's an infinite number of ways for depth to emerge in our complex reality. Thinking deeply with the most linear and rational parts of our brains on a specific category of topics is just one of those many ways. Many times, the illusion of shallowness emerges when the "others" understand something intuitively that the judgmental person only knows how to think about logically.
Fancy clothes and toys are a status symbol. Within interpersonal hierarchies, status is incredibly important and many parents believe that it is important for their child to grow up with a sufficiently high feeling of status within their peer groups. That helps the child learn interpersonal interactions in a certain way, and it helps them develop their self-esteem and self-image in certain ways and it also reflects back on the parents. You might choose to dismiss status and social hierarchy and social development as irrelevant to the life you want to live, but it doesn't make the topic any less complex or interesting for the people who do value those things.
Reading to the end of your comment again, I'm hoping you're just a troll, because a worldview that groups people into categories like "better than you" and "worse than you" without context is a dangerous worldview. I hope for your own sake that you take the time to revisit that opinion.
Is there a good way to get lightning-fast response times to tap events without disabling zoom in 2022?
The problem, as I’ve seen it is that people who are bad at some of the other ‘games’ that make a meaningful life lean too heavily on science and technology as a coping mechanism. That coping mechanism could be many things: nerdy pursuits, alcohol, video games, etc.
Whatever your pursuit, if you’re being judgmental of most other people, then you’re probably missing something big and should take some time to reflect on what that is for you.
Googleyness was always about bringing up the people around you and elevating your team’s potential, something that both women and men can excel at.
I have a lot of complaints about Google’s perf process, but I never saw toxic masculinity, competitiveness or putting down co-workers. On the teams I was part of, if any of that happened it would have been dealt with harshly and stopped immediately.
I worked on features/products that could be built and supported by small teams. Once those projects were ‘done’, those same teams inevitably turned to unnecessary rewrites, expansions and redesigns. And they all got promoted for it. For turning a 5-person project into a 25 person project that did the same thing, but with more moving pieces.
Because you can’t usually reach L6 by maintaining a project, no matter how impactful.
Maybe it has always been this way, but anecdotally it feels like it has gotten so much worse in the last few years.
The exception to the SEO spam rule seems to be a small subset of “highly trusted sources”, that at least for medical information seem to be biased pretty heavily towards “don’t say anything that can get us sued.”
I don’t know the best solution to all of this, but I really think that content marketing is getting to a point where it has drowned out actual content. I wish Google would put a downvote button on their search results page that I can click to indicate that a highly-SEO’d result was not actually useful for my query.
Within a specific part of the stack, there is a vast quantity of micro-skills that a developer needs to know. The language syntax, the language built-ins, the language ecosystem, best practices, canonical designs, the debugging tools, other development tools, etc.
Many things are Google-able, but searching for answers to problems is like making a network call. It's WAY faster if you can pull from cache.
My specific context is frontend development. I would never hire a frontend developer who cannot clearly demonstrate their skills in the domain. There are ~140 HTML tags, each with different attributes and behaviors. There are ~200 CSS attributes with 2-10 meaningfully different values each. JavaScript as a language is moderately challenging for some developers and there are many hundreds of built-in methods, behaviors and functions to know.
I've seen time and time again the differences between a talented frontend engineer and a senior non-frontend engineer trying to solve the same problems. Given a description of a problem, an experienced FE dev can quickly identify the problem using dev tools and make the necessary changes to solve the problem. It might take them 20 minutes. The "senior" non-FE engineer might spend a full day searching, debugging, experimenting and learning. By the end of the day they might be proficient at Flexbox layouts and able to solve the same problem in 2 hours next time.
But depending on your business, can you afford to hire an engineer who takes 10x longer to do things, with the hope that after 6-12 months they might only be taking 2x longer to do things?
And don't get me started on architecture and design sense. How can you expect a senior to make wise decisions in a domain they know little about? Nearly every time I've seen mostly-BE engineers build FE projects, they create bloated, complex and over-engineered designs that are hard to develop and maintain. There's a thousand little details that you learn over the years when working in a specific domain.
For me, I hire based on demonstrated expertise in specific domains. When I do that, my teams move fast and effectively. It can be hard to hire the specific skills you need, but I've found it to be far more important than anything else.
If your product manager asks for a new widget or api, can you implement it without any major bugs in 1 hour? Or will you take three days because you don't understand your programming language, your codebase and your requirements?
Will the widget/api be free of major bugs, or will it fail on a variety of edge cases that could have been solved ahead of time?
Productivity may not have crisp, clear lines. There's always context. But it comes down to: if you can do X in half the time at the same level of quality, you're twice as productive.
I admire Dan Luu's work and this article in particular really resonated with me.
Here's the silver bullet that seems to work very well.
> Master your current stack.
Time and time again I see programmers who know computer science but really don't know their language. They run to stack overflow for everything from sorting to reading files. They make obvious syntax errors. They pause constantly not to think about problems, but to remember how to implement something simple.
Most programmers can 10x themselves just by learning their language and stack really well.
Currying can lead to code that looks simpler, but I believe it hides real complexity in a non-obvious way. Well-named wrapper functions like ‘logNow’ can be great, but arbitrary curried functions are too tricky to keep track of on teams that include juniors, backend engineers and experienced senior FE too.
So the vortex tube is actually using up more of the energy in the system than you might originally expect
Evergreen is the company that owns (manages?) the ship
I knew those platforms really well, but I still wasn't all that productive for my first prototype. Now that I've started my fifth, things are getting much better.
The key: don't start from scratch! I can move very quickly now because I've been building up an ecosystem of components, tools and patterns.
Is there some way to find a full-stack app template or high-quality open source examples for your most familiar stack? That's probably the optimal approach