devinmcafee's comments

devinmcafee | 1 year ago | on: Exercise May Be the Most Potent Medical Intervention Ever Known

What you are describing is the difference between acute and chronic stress placed on the body. There is a term for this: "the hormetic effect" https://en.m.wikipedia.org/wiki/Hormesis

People who undergo acute bouts of physical exercise with adequate recovery improve the well known blood markers and vital signs associated with the chronic diseases currently plaguing the modern world (cardiovascular disease, diabetes, stroke, etc). Long bouts, like ultra marathons or doing intense exercise for days on end without a rest day, is probably going to be deleterious to health because you never give your body a chance to recover and adapt.

edit wording

devinmcafee | 2 years ago | on: My 30-Year Quitting Addiction

I think the trick here is to avoid having sugar nearby and to fill your pantry with healthy alternatives. Avoid purchasing sugar laden foods from the supermarket and opt for healthy choices, so the only foods to snack on within your home are fruit and nuts. Unfortunately if you have roommates or a family this requires everyone in the household to opt in, but it makes it easy to avoid sugar. You only need to exercise restraint when buying food at the supermarket once or twice a week, instead of every day.

If you follow this advice, then your only option to get sugar is to leave your house to get it, which discourages its use because of the extra burden to procure it. Also, this trip will give your forebrain extra time to kick in and abort the quest to fulfill your cravings.

Unfortunately if you go into the office and they have a bunch of sugary stuff around (m&ms, candy bars, etc) then your only choice is to avoid wherever that stuff is stored. You could try moving where you sit to another floor or farther away from the office pantry.

devinmcafee | 2 years ago | on: Compare Google, Bing, Marginalia, Kagi, Mwmbl, and ChatGPT

I think that both of you are correct. The internet has much more "noise" than in the past (partially due to websites gaming SEO to show up higher in Google's search results). As a result, Google's algorithm returns more "noise" per query now than it used to. It is a less effective filter through the noise.

Imagine Google were like a water filter you install on your kitchen faucet to filter out unwanted chemicals from your drinking water. If as the years progress your municipal tap water starts to contain a higher baseline of unwanted chemicals, and as a result the filter begins to let through more chemicals than it did before, you'd consider your filter pretty cruddy for its use case. At the bare minimum you'd call it outdated. That is what is happening to Google search

devinmcafee | 3 years ago | on: Microsoft accidentally revealed a UI design prototype for the next Windows

This appears to be a mirror of OSX with the floating taskbar at the bottom with center aligned app icons, this is exactly how OSX has the dock configured. Also the system info in the top right.

I wonder if the team over at Microsoft is trying to match the look and feel of OSX in order to shorten the gap between the two operating systems and reduce friction of switching between the two.

devinmcafee | 3 years ago | on: Ask HN: How do you decide what to eat/mealplan?

Common advice amongst the fitness community is to shop around the perimeter of the grocery store, skipping the inner aisles. Of course all grocery stores have different layouts, but in your average American grocer this means you would only walk through the produce, dairy, meat counter, salad bar, and eggs/cheese sections of the grocery store. The processed food is always in the middle aisles because it doesn't require refrigeration.

I utilize this method personally with great success. The cookies, snack cakes, chips and crackers aisle has nothing which belongs in my weekly diet, so I skip that aisle and don't even look to see what's in it. I probably haven't gone down that aisle in a decade and by not navigating down the aisle I prevent myself from being tempted to buy junk. Likewise I only have to practice willpower in the grocery store once or twice a week, instead of every day.

Strongly recommend you try this method as its worked for me and many I know

devinmcafee | 4 years ago | on: List of games that Buddha would not play

This seems like an overly simplistic way of looking at poker, and I feel is not a fair judgement of the game. The game is not just about deception.

To play poker (and win) you need many skills:

- mastery over your own body, specifically the ability to restrain outward displays of emotion related to the hand you were dealt or the cards being drawn

- the ability to calculate probabilities, because you have limited information and do not know the cards others have, you must assess the current situation and attempt to make decisions using a probabilistic model

- budgeting resources. Your chips are a finite resource and wasting them or not betting enough will affect your future hands

- psychology. You have to learn the way your opponents think. You learn their tells, behavior, and strategies, and have to practice empathy to determine their behavior in a given scenario

That being said, its fine that your friends don't like the game, to each their own! I just personally don't think it's fair to view it through such a narrow lens.

*Edited for formatting

devinmcafee | 4 years ago | on: Ask HN: Best books on modern distributed systems

While not a book: I took Udi Dahan's Advanced distributed systems design course in 2018 and can't recommend it enough: https://particular.net/adsd

I'm pretty sure there is an online course available which you can watch, so it's a slightly different medium but may be a nice change of pace from reading. The course was really informative for me and has really been paying dividends in my career.

devinmcafee | 4 years ago | on: How I Experience Web Today

That's correct. When navigating around in a single page app, clicking on an in-app link won't trigger the browser to make a new HTTP GET to fetch an HTML response from the server. Instead, the routing system will use the pushState API to push a new entry into the history and update the DOM to match the new route. By using pushState, your client side JavaScript can replicate native browser behavior and preserve function of the back button to get to previous routes in the application.

devinmcafee | 4 years ago | on: Ask HN: Tools you have made for yourself?

I would work on the project every Sundays for a few hours: sometimes just 1 hour, sometimes as much as 6. After a few Sundays I had a local dev environment running on my computer to be able to track workouts in. At that point I started using my app: I would write my workouts in my phone and then when I got home from the gym enter them into the app running on localhost. After a few weeks of doing that I got fed up and decided I wanted to be able to enter my workouts from the gym via my phone directly, so I spent the next Sunday (or maybe 2 or 3, hard to remember) to learn how to deploy with Heroku. I did a pgdump of my local environment and used that to seed the "production" database running in heroku.

I think one thing which kept me motivated and engaged in the project was that I focused on getting as much value from my efforts ASAP, like a one person agile startup with a single customer (myself). Everything I added had to add some value immediately. I focused on the database modeling and REST APIs and didn't even worry about what the app looked like. When I first began using the app it was a simple multipage web application with basic HTML forms built in Django with no css (literally white background with blue text links and black text). Being able to actually use the app drove me to want to improve it and add new features.

For example: A feature which I wanted, which no app at the time had, was to be able to find my personal records by varying sets and reps. I wanted to answer questions like: What are the most pullups I've ever done in a single set? What's the most weight I've deadlifted for 4 sets of 2 reps? What is the heaviest weight I have ever back squatted for 8 reps? I had the data, I just had to build it into my app. So the first feature I added after being able to create workouts was the ability to look up previous bests. Every time I would workout I would look up my previous best in the app and try to beat it. Being able to track and set new personal records in the gym kept me motivated in my workouts, it was pretty thrilling seeing my project actually pay off for me personally.

An elongating hallway is a good analogy. Every time I found out there was a new thing I had to learn I would be stressed out and overwhelmed, coming up against a hard edge of my knowledge. I would then read a few articles and do some googling, and next thing I knew I was successfully doing the things which originally stressed me out! In my previous comment I mentioned that doing this project increased my confidence as an engineer, which I think was caused by repeatedly bumping up against my limits and then surpassing them.

devinmcafee | 4 years ago | on: Ask HN: Tools you have made for yourself?

I built a weightlifting workout tracker. I did this because at the time I wrote it (2014) none of the current tools fit my use cases due to the fact that I compete in the sport of Olympic weightlifting and this was still pretty rare back then. I also wanted to be in control of my data and be able to run analysis on it as I saw fit.

I began by writing a django app deployed via heroku. I then decided I wanted to rewrite it in ruby on rails because I had never worked with rails in my career and was already working on django professionally. I then wrote a react/redux SPA frontend, not for any other reason than to practice and learn those libraries. Finally, I decided to buy a VPS and manage deployments myself because I wanted to learn some basic devops stuff myself.

Building and maintaining this project I got first hand experience on building a web application from scratch, designing UX and product requirements, maintaining my own infrastructure (Linux server hardening, supporting SSL, managing my own domain, etc) and got experience in languages I didn't work in professionally. Also I got a few friends to begin using my app and immediately found where my poor UX choices were, which was pretty enlightening.

I think the experience really boosted my confidence as an engineer. I had to learn a whole bunch of new skills and become my own one person startup. In the end it helped me appreciate all that goes into building a software product and highly recommend the experience. I still track my workouts using the app and now have 7 years of data.

devinmcafee | 6 years ago | on: Ask HN: Whats the best book on your favorite programming language or topic?

I actually think that books which cover software engineering practices, rather than language specific books, have helped me the most. This is due to the fact that the concepts and principles you learn can be applied to many languages.

Two I've enjoyed are: "The Pragmatic Programmer" by Andy Hunt and Dave Thomas "Clean Architecture" by Robert C Martin

That being said, no harm in deep diving individual languages. Secrets of a JavaScript Ninja by John Resig was an excellent introduction to JavaScript!

devinmcafee | 6 years ago | on: Increased sedentary behaviour alters metabolism and body composition (2018)

I don't think people know that simply getting up and walking for 10 minutes every 2 hours would reduce their body fat levels. In fact, I've seen a study [1] which concludes you simply can't undo a days worth of sitting with a vigorous exercise session. I think science is starting to show that frequency of movement is an important part of a healthy lifestyle, not just intensity of movement. Going to the gym after 8 hours infront of the computer is just not sufficient to combat weight gain.

[1] https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3404815/

devinmcafee | 6 years ago | on: How do people learn to cook a poisonous plant safely?

A question: I believe that poison ivy takes a long time to become symptomatic. It can take a week for symptoms to show. If someone were to follow this progression then I believe they would die due to having ingested it before seeing symptoms. Would following this kill you with poison ivy? Or would it give noticeable symptoms to make you stop before ingesting it?

devinmcafee | 6 years ago | on: Ask HN: Which editor do you use for JavaScript Development?

I use Vim with vim-plug, vim-javascript, ctrlsf, ctrlp, and some custom bindings in my .vimrc to help me use the "gf" command to jump to source. I've spent the time to invest in learning how to use vim and it has served me well across many languages, from writing Javascript, HTML, CSS, to Python, Ruby and Golang.

devinmcafee | 7 years ago | on: What I gained, lost and learned while working for Microsoft

I think many young people in tech learn this lesson the hard way. They get excited with all the free food, laundry services, and events that tech jobs offer. They end up spending all of their waking hours at work and work becomes an identity. Then one day something changes and they realize they spent the last N years of their life at work, not building real lasting relationships, pursuing hobbies, dating, etc. It truly is a cautionary tale and startups and big companies alike want their employees to drink the Kool Aid.

Personally, I love all the perks tech jobs offer but work-life balance always comes first.

page 1