• Added routing to my portfolio site, one for the current bouncing logos and one for the separate mern blog that I had built. Used react router v4, which is dynamic.
      • https://codeburst.io/getting-started-with-react-router-5c978f70df91
      • https://github.com/brianmahlstedt/bmahlstedt.com/issues/3
      • All of the magic for npm start/build/eject/etc with create-react-app comes from the other package react-scripts. This is the same as flask-script.
      • Added basic routing (react-router-dom.Router).
      • Then added navigation links to the available routes (react-router-dom.Link).
      • Then added 404 not found for routes that don’t exist (react-router-dom.Switch).
      • Then added url parameters (/user/:id in the route, which comes up in this.props.match.params.id in the component).
      • You can add nested routes, where one component is rendered in one route but then you load a subcomponent within that calls another route. I implemented this for practice, but then removed it because each of my SPA routes are mutually exclusive, but then added it back for practice again.
      • Changed Link to NavLink, where you just add an activeClassName css class that defines how to style the current link.
      • Remember the `exact` keyword for some react elements so that the route must strictly match in order to apply. Otherwise, /hello would try to apply both / and /hello because it technically matches both routes.
      • Automatic navigation can occur on events as well. This is pretty easy. For example, if you submit a form, you can have it go back to the home page simply by onSubmit = this.props.history.push(‘/’)
    • Merged the separate blog and bmahlstedt.com apps, repos, and functionalities. It’s now a single app with multiple routes; a home page, a logo page, and a blog page.
      • I think that react-scripts assumes the entry point is src/index.js. I changed some component names around and npm start still worked. This is probably customizable, but I’ll leave it for now.
    • Consumption of red meat has been linked to increased risk of colon cancer. Not common in my family history, but 1 instance.
    • Sesame seeds grow into the sesame plant! It’s a little green shrub, as you’d expect, but it’s a bit strange to think of anything beyond the seed.
    • Cacao powder is raw cacao bean (with fat removed and made into butter). Cocoa powder is roasted. You want the former, for its rawness.
    • BOA deposit from ally cleared, moved a decent amount of it over to robinhood. That transfer can take up to 6 days, but it usually completes faster.
    • You already know cross origin resource sharing (cors). Common use case: ajax to another domain. Other use: specifying when and where your assets can be accessed. Privacy.
      • The browser makes the request, so the browser (not your service) first checks if it is going to another origin than the current site. If that other origin is not whitelisted with cors, the browser will reject it.
    • Don’t store images in databases. They’re not built for it, and it can get complicated quickly. Most would suggest storing filepaths in the database that point to the respective images, so that you retain querying functionality etc.
    • A grounding reminder that anxiety isn’t real: https://blog.heartsupport.com/anxiety-is-nothing-more-than-a-fear-of-what-if-7677d3b5f508. It’s just your brain extrapolating to the worst case scenario. “What if?” How about … no?
    • react-cookie is the package that makes it very easy to add cookies to your components/routes.
    • 20 minutes daily of stim and traction are well worth it. My elbow and neck are feeling better.
    • Remember TENS is for nerve stimulation (pain relief) whereas EMS is for direct muscle stim (contracting for muscle development).
    • Read a little bit about smoking a whole pig in preparation for the imu.
      • A 100lb hog takes about 12 hours.
      • Main yield: ribs, shoulders (butt/pulledpork), loin/tenderloin, and ham (legs).
      • 250 is a good temp (lower is better, since you have different cuts and want equalization, but too low and it takes foreverrrr).
      • Edible meat is about 40% of the original weight.
      • The hog is gutted to the ribcage. It’s not spatchcocked, but it is opened and laid flat in a similar manner.
      • Dry brine with salt before, then wet brine with olive oil and/or mustard. You want crackly skin. Rub the inside of the ribcage as well. 
      • Overall, not too different from my smaller sessions. The biggest complexity: cutting.
    • Looked up the process for replacing the bent shift fork on the ninja’s second gear. It’s only slightly more than replacing the clutch plates. You drain the oil, open it up, remove the transmission assembly, then replace the shift fork. Each shift fork is $86.
    • Pastrami and corned beef are both just cured for a week in a wet brine before cooking. You can add spices (juniper, mustard, celery, coriander, etc) or just use salt for the brine. The difference is that pastrami is usually smoked after curing, and corned beef is usually boiled. Another difference is that pastrami is usually a fattier beef cut (like the point) whereas corned beef usually starts with a leaner cut (like the flat).
      • You can technically cure and smoke anything else – you could make pastrami beef ribs or pastrami pulled pork. It’s most common with beef cuts, but you can obviously cure any cut of meat in a wet spiced brine.
    • style=”visibility:hidden;”
    • Remember, chrome devtools has the react extension which gives you the full virtual dom, state/props for all components, and the ability to profile.
    • Git won’t just stop tracking a file if it’s already staged, even if you added it to gitignore. You need to run git rm -r –cached <path>
    • Updated and relaunched chrome.
    • Good airbnb style guide for react: https://github.com/airbnb/javascript/tree/master/react.
    • Use .jsx extension for files containing react components. Just use js for others. It doesn’t formally matter (the compiler takes care of it anyway), but it allows for separation of files in eslint targets, and stuff like that.