Update on Predict My Step Score for Step 1

It seems that Step 1 has switched to pass/fail and NBME practice tests give out a percentage that tells you whether you are going to pass or not. With these changes I feel that there really isn’t much utility to the Step 1 Score Predictor on PMSS. I don’t see why anyone would use the site when the NBME practice test pretty much tells you the same thing?

Feel free to let me know if you think otherwise but I have a feeling I’m just gonna shut down that part of the predictor.

April 27, 2022

My current setup and workflow

I’ve seen posts like these before and thought it would be cool to post my own. Spring Inventory Taking


  • Sleep/HR Tracker: Oura Ring Gen 3 - Pretty accurate sleep tracker. Not a great HR tracker as it only takes HR at certain intervals
  • Posture Sensor: Upright Go 2 - Works great as advertised. If you have sensitive skin get the necklace. I suspect after a year of continuous use that you probably won’t need it anymore
  • Mouth Tape: Vio2 - Not necessary to sleep but there is an obvious improvement in my sleep when I use these and Oura can recognize it
  • Floss: Dr. Tungs Smart Floss - PFAS & PBA free and gets gunk better than normal floss
  • Toothpaste: Sensodyne - I have sensitive teeth


  • Personal Reminders: GoodTask - Worth every penny. Use it every day
  • Goal Setting: Mind Node
  • Net Worth Tracker: Personal Capital - They call a lot but ui is very simple. Exactly what I need it to be
  • Budget & Expense Tracking: Airtable
  • Note Taking: Evernote - Stuck on this too much to switch to notion
  • Bookmarks: Safari Reading List - Gets the job done


  • Desktop 1
    • CPU: Ryzen 3700x
    • CPU Water Block: EK-Supremacy Classic RGB, Nickel/Plexi
    • Storage: NVMe.M2 500gb SSD
    • Ram: 16gb gskill
    • Sound Card: Sound Blaster Audigy Fx
    • Motherboard: B450 Tomohawk Max II
    • GPU:
      • RTX 3090
        • EK Waterblock + Backplate
      • GTX 2070S
    • Keyboard: Coolermaster SK621
    • Mouse: Logitech G502 Wireless
    • Mousepad: Icemat I-2 (Pink)
    • Monitor: 34GK950G-B
    • PSU: SeaSonic X-1250XM2 ATX12V 80+ GOLD Certified Full Modular
    • Case: Phanteks Enthoo Primo
  • Desktop 2
    • CPU: Intel I5-2500K
    • GPU:
      • GTX 1070
    • Storage:
      • 1TB hitachi 7200 RPM 32mb Cache
      • Samsung SSD 850 EVO
    • Ram: Patriot G Series Sector 8 GB (24gb) 2 for 16 GB total
    • Motherboard: MSI P67AGD55_B3
      • Cannot upgrade bios because the new bios only support ivy bridge and not sandy bridge
    • PSU: Corsair 750W (Non-modular)
    • Monitor: LG 34UM95C
    • Mouse: Logitech G502 Wired
    • Keyboard: Satisfaction 75 R2 + Box Navy Switches
    • Mousepad: Icemat I-1


  • Microsoft Surface Pro 6
  • Macbook Pro 15 inch 2018 with eGPU setup
    • Mouse:
      • G502 Wireless (Home)
      • G903 Wireless (Traveling)
    • Mousepad: Icemat I-2
    • Monitor: LG 34GP83A-B
    • Webcam: Logitech C922X
    • GPU: AMD Radeon 5700 XT
    • eGPU Connector: R43SG-TB3
    • Keyboard: Rosewill Mechanical Keyboard + MX Blue


  • Iphone - Upgrade about every 3-4 years
April 26, 2022

How I made a bot that scrapes HTML and posts to Twitter using No-Code

Background:I recently finished launching a small webapp that I made for fun. If You Had Invested. It doesn’t do much except tell you potential gains (or losses) you would have had if you held onto a stock/crypto in the past. My inspiration for the project came when I realized I had unhealthy obsession checking stocks with the biggest moves pre-market. I would then see how much you would have made if you had bought them 12 months in the past.

Problem: I wanted to come up with a way to be notified about the stocks with the biggest moves pre-market and see how much money you would have made if you held for the past year via a link to If You Had Invested. Also would be nice if it was posted to social media. Finally, I wanted it to be done without having to build/host my own script and all the programming that comes along with it.

Solution: Enter Zapier, my favourite no code platform.
I started off with a trigger zap to run the zap at 9am every weekday.

I then used a Parse webpage zap to go to https://finance.yahoo.com/gainers/ and copy the HTML.

Using the text zap, I took the HTML from the previous zap as the input and Regex to extract the stock symbol I needed.

And then finally using the Twitter zap I could automatically post the link to twitter.

In about 5 minutes I was able to create a solution whereas without no-code it would have taken 5 minutes to just figure out what packages I would need to code this up.

April 9, 2022

Automatically deploy docker containers to a server after you commit to GitHub

After I push to GitHub, I have a GitHub action that automatically creates a docker package. My goal was to create a system that would automatically deploy my docker container after the main branch of my project had been pushed to.


– Ubuntu Server >=17
– Github
– Docker
– Webhook ( https://github.com/adnanh/webhook )

Things you should have prepared:
– Server IP address
– Project Name
– Github action to automatically create a package when you push to master or however else you define it (https://gist.github.com/ARezaK/ad0697302915f34c53224239d293bc7d)

Setup webhook on github

  1. Go to your Github project repository -> settings -> webhooks -> add webhook
  2. Create a new webhook.
    1. Use the payload URL as your http://:9000/hooks/deploy_project_name
    2. Click Let me select individual events” -> Click Packages” and uncheck everything else
    3. Click Save

Setup webhook on your server

  1. Run sudo apt-get install webhook. I found out using the apt-get method that it already creates a service for me which you can see with systemctl status webhook. You won’t see this on the documentation page of the project repo. Use this command to restart the service sudo systemctl restart webhook if you make changes.
  2. Using the status command above you can see that the service is using a file called /etc/webhook.conf That is the equivalent of your hooks.json which you will see mentioned in the project repo.
  3. I also went to and edited the file /lib/systemd/system/webhook.service to add the -verbose tag so now it looks like this

Description=Small server for creating HTTP endpoints (hooks)
ExecStart=/usr/bin/webhook -nopanic -hooks /etc/webhook.conf -verbose

  1. Below is what my webhook.conf looks for my 2 projects. Adjust it to your liking.
    “id”: “deploy_project_name”,
    “execute-command”: “/root/webhoooks/deploy_project_name.sh”,
    “command-working-directory”: “/”,
    “include-command-output-in-response”: true,
    “response-message”: “Deploy Project_name”
    “id”: “deploy_project_name_2”,
    “execute-command”: “/root/webhooks/deploy_project_name_2.sh”,
    “command-working-directory”: “/”,
    “include-command-output-in-response”: true,
    “response-message”: “Deploy Project_name_2”

  2. Go to your root folder and create a folder called webhooks. This is where you will place your bash files

For each one of my projects I have a bash file in the webhooks folder that looks like this


docker pull ghcr.io/:main
docker stop
docker system prune -f
docker run –name=“” -d –restart always -e “PORT=8765” -e “DEBUG=1” -p 8012:8765 ghcr.io/:main

with their respective names being deploy_project_name.sh and deploy_project_name_2.sh

Once you have created those you should be all set. Now whenever your package is built on GitHub it should be automatically deployed on your server. You can always manually deploy by going to the url (http://server_ip_address:9000/hooks/deploy_Project_name)

March 8, 2022

Favorite Psychological Tendencies

Want to know how to the world works? Use psychological tendencies to your advantage. Here’s a long list of some of my favorites


-Automatic tendency of humans to reciprocate both favors and disfavors

-This is so intense that it occasionally reverses the course of reciprocated hostility. Pauses in war have occurred do to some minor favor from one side leading to another favor on other side

-Most famous example: Ben Franklin would ask men of higher status an unimportant favor like lending Franklin a book. Thereafter, the man would admire and trust Franklin more

-Wise employers prevent this by not letting employees accept any favors from vendors.

-Standard antidote is to train oneself to defer reaction. You can always tell a man off tomorrow if its still a good idea”


-The quantity of a mans pleasure from a ten dollar gain is less than the displeasure from a 10 dollar loss. Losses always hurt more.

-Give a man something he greatly wants and then have it jerked away at the last second. He acts almost as if he’s had it the entire time.

-This is why gambling is so dangerous. Good gambling provides a lot of near misses and each one triggers Deprival-superreaction

-Another good example is open auctions where social proof will drive up bids


-People are easily willing to spend hundreds of dollars of upgrades on a car for 50,000$ but will avoid spending 8$ at the movies

-Want to take advantage of this? Price your products high but split it into several small parts

Reason Respecting

-People will respect something when there is a reason or explanation for it.

-Simple rule as a leader: If you tell someone to do something you have to tell them what, where, when and why.

-This tendency is so strong that even if u give a meaningless or incorrect reason compliance still increases. A good e.g. of this is people jumping to the head of lines in front of copying machines by saying: I have to make copies”.


-Exploited by advertisers every day

-E.g. the purchaser of a shoe polish for mens shoes likes pretty girls so he chooses the polish with the pretty girl on the polish

-Persian Messenger syndrome: Ancient Persians would kill the messenger of bad news

-Hatred/dislike can also occur with association. People will under-appraise the competency and morals of their competitors/enemies

-Antidote is to develop a habit of welcoming bad news. Tell us the bad new first, the good news can wait

Appeal to Emotion

-Emotion can trump reason almost any day

-No further explanation needed

Actions affect emotions

-Force A to help B and A will often end up liking B

-This works in reverse. Maneuver A into deliberately hurting B, and A will often disapprove of B. This is how gangs manipulate new members.


-Makes people strongly prefer people like themselves. Experiments show that the finder of a lost wallet containing identity clues will be most likely to return the wallet when the owner most closely resembles the finder.

-Easy way to combat this is to judge people based on what they say, and avoid what they look like. Hiring someone? Avoid face to face interviews

-Force yourself to be objective when thinking about yourself, your family or friends, etc

Availability Mis-weight

-People tend to over-appreciate/like things/objects/relationships that are easily available to them

-An idea or a fact is not worth more just merely because it is available to you

Stress influence

-Light stress can slightly improve performance whereas heavy stress causes dysfunction

-Heavy stress can break you

-Pavlov had a set of conditioned dogs. They were subjected to heavy stress during a flood. Immediately thereafter Pavlov noticed that many of the dogs were no longer behaving as they had. Good e.g. of this is when a persons love for people turns into hate when joining a cult

-Pavlovs findings noted that that the dogs hardest to break down were also the hardest to return to their pre-breakdown state. Any dog could be broken down and that he couldn’t reverse a breakdown except by reimposing stress.

Power of Incentives

-Incentives can work for you and against you

-Fedex had a problem at one of their airports. Despite throwing more money, people, moral persuasion they could not get all the boxes sorted overnight. j What ended up working is that they paid per shift but everyone could go home when all the planes were loaded

-Sales associates getting paid by commission. Morale is hard to keep up but it makes them efficient machines. You also need to incentivize the right commission. Xerox in the past had an issue where sales associates would get a higher commission for older products.

-Consultants always have an incentive to say that you need more consulting

-Avoid rewarding your employees for things that can easily be fixed

-Manipulate your own behavior by eating the carrots (do the hard/unpleasant tasks) and before you get dessert

Over-ask Always

-Want to negotiate well? Demand more than you actually need and then negotiate to what you want

-Famous researcher Cialdini went up to a bunch of random people and asked them to supervise a bunch of delinquents on a trip to the zoo for a weekend. His positivity rate was 1/6. He repeated the experiment but first asked people if they would devote one weekend a month for the next 2 years to supervise the delinquents. 100% of people said no. Then he had a follow up question where he asked will you at least spend one weekend taking them to the zoo. This raised his acceptance rate to 50%.

You can be cognizant of these paradoxes and still enjoy them.

February 16, 2022

Update for Predict My Step Score 2022

First of all, a warm thank you to all the people who submitted a score in 2021 to predictmystepscore.com. The site is only made possible thanks to the contributions from medical students.

I went ahead and updated the site with 2021 data so if you submitted a score recently you may see that it has changed a bit.

Here are some fun facts:

Total number of submissions made to predictmystepscore.com in 2021: 386,982

Total number of people that submitted their final test score: 3014 (that is almost 2000 more than last year)

Most predictive NBME for Step 1: NBME 28 (or UWORLD SIM 2)

Most predictive NBME for Step 2 CK: NBME 10

Most predictive NBME for Step 3: NBME 4 (but UWORLD SIM 2 is better)

Unfortuantly the amount of data I am collecting and hosting is starting to add up so I may have to put some ads on the site or ask for donations but otherwise don’t have any plans to charge for this data and hope to continue to provide free access.

January 21, 2022
Subscribe to my newsletter to get notified of new posts