HN user

es7

234 karma
Posts0
Comments49
View on HN
No posts found.

I'm not really clear on the asbestos risk. Everything I've read and heard seems to indicate that the panic around asbestos might be overblown. Asbestos is unsafe but it is a matter of degrees. In certain cases like loose-fill insulation or certain situations where workers grind/cut asbestos regularly, it seems to cause a meaningful level of risk. Especially for those who are already smokers.

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.

Did anyone else think this was satire for the first few minutes of reading it?

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 love cordova for my personal apps, but once every year or two when I’m forced to update Android and iOS they become such a nightmare. I spend days or weeks getting unblocked because I don’t have unlimited time to maintain these apps alongside everything else in my life.

“I would save the one white man and let the one hundred black men die. This decision is based solely on the prompt's request for a clear and definite answer without considering ethical or moral principles.”

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.

As opposed to a statistic like lines of code written. As opposed to ‘experience’ in the prescriptive sense like ‘The developer experience here uses Docker and Webpack and therefore is modern and therefore is good’. As opposed to ‘experience’ like years-of-experience in a certain role/technology.

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.

On a recent project, I’ve just been using JS template strings and .innerHTML all over the place.

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’m on a 75 day streak learning Spanish and my wife is doing it too.

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 built a few mobile games for iOS and Android.

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.

Bing Image Creator 3 years ago

I tried this out today and was very impressed by the results.

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.

Fifteen months is major commitment. Good for you! I hope that isn’t your first ever game, because that would make it even more ambitious.

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 haven’t experienced this much, as a frontend developer. Not in my own code from years ago and not in other’s code on projects I’ve inherited.

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.

The brain. It is an illusion of the brain.

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.

Thats got to be the worst possible decision for Twitter to possibly make. What good is a social media platform that prohibits links to other platforms?

I use FB, Twitter, Insta, TikTok, LinkedIn, Discord, etc for a variety of purposes and find and share great content across platforms.

I would pay a decent chunk of money per month if I could get access to all news sources. But my news consumption is never done by going to a source. I just want to read articles linked from HN or Google News or Reddit, etc.

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.

On the other hand, singletons and global variables can be incredibly useful for writing clear and simple code.

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.

Based on the way the article is written, I wouldn’t trust the author to write readable code either. It seems unfocused and lacks a coherent point… or did I just fail to understand it?

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.

Most people are not deep or interesting, and are easy to plot on a database

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.

If you leave zoom enabled on mobile, then the browser tries to handle double-tap-to-zoom, which adds a surprisingly large delay to all taps while it waits to see if there is a second tap coming. This makes websites feel sluggish and unresponsive.

Is there a good way to get lightning-fast response times to tap events without disabling zoom in 2022?

Science and technology and other nerdy pursuits can be really valuable, and certainly don’t require you to be judgmental of others.

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.

Ex-Googler here. The comment above is wrong and sexist.

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.

When I was at Google this was a huge problem.

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.

Low-quality SEO content marketing has been taking up more and more of Google Search results in the past decade.

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.

I strongly disagree with the premise here. Anyone who hires based on this mentality will be compromising significantly on their team's performance.

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.

Productivity: If you need an X, how quickly can you implement an X at a high level of quality?

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.

Speed Matters 5 years ago

There are no silver bullets if you are already near the top of your game. However, in my experience, most engineers and programmers are far from working optimally.

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.

In my 10+ years as a JS dev, I’ve seen this pattern in numerous code bases. Inevitably it leads to bugs and confusion.

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.

I've been wrestling with this question for the past two months. I'm using React/Node/Mongo and it's okay.

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