HN user

mrozbarry

366 karma
Posts4
Comments157
View on HN

I'm going to comment with the preface that I gave up reading the article. It feels like a word-salad, and I'm getting lost trying to find the point a lot of the time.

Christianity is Jesus Christ substitutes the sin of a faithful man or woman with His righteousness.

You cannot buy faithfulness, and you cannot obtain righteousness through good works on your own.

The target has never been against wealth, but the love of money, or trusting in the things of this lifetime. For instance, Proverbs 11:28 says not to trust in wealth. Mark 8:36, Jesus states that if you seek wealth over everything else, what good is it when you die? In 1 Timothy 6:17-19, Paul encourages Timothy in his leadership to instruct wealthy people to not put their hope in their wealthy, but to do good with what God has given them.

It sounds like as a tech lead, if you're in charge of some degree of scheduling, and you have other tech people that you barely interact with, maybe you could start some sort of weekly or bi-weekly "meeting of the minds," and have a place to bounce ideas around. Even if your work isn't closely related, I bet they also feel a bit of isolation, too. It's likely in your work's best interest to have some common/shared knowledge for a small tech team in case of some sort of tech emergency.

If you were ever looking for "good" Christianity. I attended a bible college in Canada, and to put it politely, I was heartbroken over the types of people who were being trained to lead and manage churches. I'd say a good majority of them were sent by their parents rather than on their own initiative; they were culturally, ethically, and spiritually not Christian. I'm not perfect, either, but you expect a certain level of effort to be put into spiritual and theological mental investment, which unfortunately was not the case.

After that experience, I basically left the church for 10 years, I was so frustrated with many human-related aspects of the church, and I knew I couldn't sit under the leadership of the types of people I went to college with.

---

Now, to answer your first question, yes there is value. In the same way I'm a programmer, but I don't care about the historical authenticity of who actually discovered the Pythagorean theorem. Some people care, and I think that's great, that's an area of interest for them. Now, the flip side is, Christians should care that they can trust the documents that form the basis for their beliefs.

For your next statement, "most of the students were bored and frustrated...didn't want to know anything about the texts themselves," a person who has no historic knowledge of the scripture should never be a pastor. It sounds like you went to university with people who liked the idea of being a respected leader, and the power that comes with it, and you'll find people like that everywhere, even in your secular workplace.

If you truly believe Christians are extremely anti-intellectual, you need to remember, basically every educational organization (ie even secular universities) were originally founded by Christians in the western world, and many of them were likely far more intellectual than you or I. What's crazy is you can also find extremely anti-intellectual non-Christians, too - there are anti-intellectuals everywhere. Typically big sweeping statements like this are from hurt people, and that's horrible that people claiming to be part of the church were so destructive on the things you previously believed.

There are a lot of bad apples in the bunch, even the bible says a little leaven will work it's way through the whole dough [1] [2].

[1] https://www.biblegateway.com/passage/?search=Galatians%205%2... [2] https://www.gotquestions.org/little-leaven-leavens-whole-lum... (does a decent enough overview of the verse and other references)

I prefer the raw promise syntax. It makes the promise chain look more like what it is, an asynchronous pipeline, and you don't need to litter async everywhere.

    const myAsyncThing = async (init) => {
      let value = await task1(init);
      value = await task2(value);
      return value;
    }

    const myPromiseThing = (init) => task1(init).then(task2)
I know this is a relatively simple and contrived example, but there are some times where async/await very much is bulky and gets in the way of just writing code.

My biggest gripe with async await is when it's used by people that don't understand promises. They interpret await as "let promise run" and not "this blocks the flow." I had someone show me code where they wanted to preload a bunch of images, and effectively had a for loop and did an await on each image in it, effectively running it as slow as possible. I showed him `await Promise.all(imageLoadingPromises)`, and he was confused why we needed `Promise.all` here.

I also don't like how async/await ends up taking over a whole codebase. Often making one function async will cause you to update other functions to be async so you can do proper awaiting. We literally exchanged callback hell to async hell, and said it was better, but I'm not strictly convinced of this.

I think this issue is actually two issues

    1. A terminal shouldn't be able to ask some resource on the internet what to type and auto-execute it.
    2. AI fear/fatigue/???
I think point 1 is reasonable to an extent, but it should be taken in context. iTerm2 is a free app, and as far as I can tell, not even remotely required on any mac platform, since there is technically a default dumb terminal, which can be customized. I think the context issue is from the video demos I've seen, nothing directly types into your terminal, it's up to the user to review/copy/paste the generated code snippet. The underlying tech has been in iTerm for a while, from the best I can see. Auto-fill also enables things like the 1password integration, and anyone can open a chatgpt client and copy/paste shell code from there in the same way the iTerm2 integration works.

I understand point 2, I have never cared for any AI hype, it has near-zero interest for me, and doesn't affect my work. Almost every editor has some capacity to ask the internet for data and paste it in, from AI or otherwise, and no one is really sounding a major alarm bell around that. You could argue there is a big push for these integrations to train models, but even that requires a key.

I would argue that the average person would lie to preserve their life. Not all, of course, that's a pretty wide stroke to paint many people with.

The resurrection of Jesus Christ is a dividing point to all humanity, and there are many willing to die on either side of the fence. While it has been contested many times, there is no definitive proof that Jesus was not resurrected, and there is pretty solid evidence that Jesus did die on the cross (as opposed to old age or some other natural cause). We also know that the Jewish leaders at the time of Jesus were furious at Christianity, and had a serious campaign to destroy and discredit it, yet it survived. You'd think that with their financial and people resources, they could have recovered a body or exposed Jesus as a fraud.

The single most significant fact supported by the Bible is the life, death, and resurrection of Jesus Christ. History agrees that Jesus was a real man. History agrees that He was significant in the region. The eye witness testimonies support (but don't prove) the resurrection, but consider this - many men and women were executed in the first century because they would not recant that they were eye witnesses to Jesus' crucifixion and resurrection. If it were a lie, why would so many take that to the point of their own death?

The Bible. Even if you don't care for it's spiritual implications, there is a rich history that is used by archaeologists, and many face-value lessons of cause and effect, and even recommendations on how to manage a business and employees. The beautiful non-spiritual message is that humans don't change, but we can still learn from histories mistakes.

My general philosophy on this is clients will find ways to circumvent literally any special validation you are doing because they are vaguely in charge of their browser. Definitely use html form types, input, and pattern to attempt to ensure the user can't just do something wrong, but the backend needs to be the authority on what is actually valid. I like this unix style "strings as the universal data type" idea - it's not about how it happens, it's about the output. I honestly can't comprehend how something thought it was better to do `const validKeys = [NUMPAD_1, NUMPAD_2, ...];` and not `const validCharacters = '01234567890';`.

I'm working with a client on a greenfield project and I picked postgres as the tech stack. For the staging server, I just locally installed postgres, configured it, and it works perfectly fine. On the flip side, I'd rather just focus on code, and if there's a free tier (which neon has), I'd rather shell that off to a service.

So, my question is, what trade offs am I making other than a persistant/local db to off-site (ie probably a degree of speed). Since it's free, does that mean my data might be inspected? I'm under an NDA, and my client would prefer his data stays in-house unless there's a good reason for it not to be.

Use the right data format for the right data. CSV can be imported into basically any spreadsheet, which can make it appealing, but it doesn't mean it's always a good option.

If you want csv, considering a normalization step. For instance, make sure numbers have no commas and a "." decimal place. Probably quote all strings. Ensure you have a header row.

Probably don't reach for a CSV if:

- You have long text blobs with special characters (ie quotes, new lines, etc.)

- You can't normalize the data for some reason (ie some columns have formulas instead of specific data)

- You know that every user will always convert it to another format or import it

The biggest thing is people have bad experiences with reviewers, and people have a lot of insecurity when their work is scrutinized.

The biggest issue with code reviews as a process is it's always positioned as being adversarial. Often, you set up a pull/merge request, and someone later does a review, but it's not personal, it's cold and blunt data. Even with a reviewer who has the best intentions, it's tough.

Pair programming and review can _help_ with this. Sit with the person who wrote the code, and review together.

I'm with you, code reviews are great for learning, but like you said, you need to see it as a tool to help you succeed and learn, and not as a tool to show you how you're wrong.

I bring my laptop to all my job interviews, and as we start, say I'd like to show some demos of things I wrote, and ask if they want any code tours. I have several projects that showcase different programming philosophies and styles, and try my best to match those projects with the company I'm interviewing for. I find that for consultancy jobs, this has a very good success rate.

I think it's because QBasic was, among many things, a bit of a bridging language.

- Basic had existed even before displays and keyboards were popular, so many software developers from that era could appreciate it.

- Microsoft included QBasic 1.1 for free with some of their operating systems.

- All things considered, it was fairly compatible (depending on what the code did) with GWBasic and even basic/basica from old IBM terminals.

- The language was also easy to understand which made it ideal for education

Probably among other points, this brought a pretty large and diverse group of people who loved programming together.

I'm a huge fan. I used to volunteer on allexperts.com to help people with QBasic stuff, before the dawn of stackoverflow and other probably more searchable places.

This is wonderful, and i'll have to check it out!

I think headers were a great tool from a time before intellisense where developers and teams would include function + comments on how to use it.

On the flip side, I think there are still a lot of developers who don't use language servers or use the equivalent of notepad who do rely on separate header files as a means of documentation.

That said, it's always been painful to structure inter-related headers and source files to avoid circular dependencies, and if modules truly resolves that, I'm happy to see it.

Sorry, I probably wasn't clear on my point. What I was trying to convey is that whatever the ai model is doing behind the scenes doesn't appear to be any more powerful than having a set of pre-built machine specs in a database and querying them for price and type. I'm sure there is more at work here in reality, but since it takes a few minutes for the ai to build a machine from 2 parameters, it seems silly that you need ai for this at all.

Now, there are ways to make the ai more useful, and that would be to have a conversation with it about what you want to do on the computer. Then that makes the ai use apparent and reasonable.

To continue this idea (feel free to steal this), what if this tool looked more like this: https://play.tailwindcss.com/KqFF5wqk5I

Have a conversation with the AI about the PC you want, and challenge it on things like "can I see the equivalent PC but with AMD instead of Intel" and things like that. I think that would have extremely good value. And for prices, you might be better off scraping amazon (or whatever site makes the most sense), instead of whatever stale data you have. Prices for PC parts fluctuate so much that I don't know that it make sense to try and store/cache it locally.