- Hash tables high space fast speed.
- S&P has almost quintupled since the low of the 08-09 crisis.
- I know the # in a URL, but its formal name is anchor or fragment identifier, the subsection to focus to.
- Escape room up in Big Bear.
- Among the bay friends, final percentages and rankings were:
- frank 58.8
- nick 58.8
- david 57.1
- quique 56.0
- art 55.9
- diego 55.7
- brian 51.2
- omar 47.5
- Approximate payouts:
- 1st $730
- 2nd $325
- 3rd $180
- 4th $140
- 5th $115
- 6th $90
- 7th $80
- 8th $70
- 9th $60
- 10th $50
- 1st place comparison:
- Westgate Supercontest: 59 pts, 58-2-25, 69.4%.
- South Bay Supercontest: 53 pts, 52-2-31, 62.4%
- Would have tied for 25th in the full contest.
- The 9 people who tied for 26th last year each got a payout of $14,844.65.
- Brainstormed a few more return questions.
- Practice problems:
- Improved the 2sum solution. Much faster.
- https://leetcode.com/problems/remove-nth-node-from-end-of-list.
- https://leetcode.com/problems/3sum. 3 sum solution, got it down to O(n^2). Basically solving n 2sum problems.
- There's another one "3SumClosest" where instead of summing to 0, you're finding the triplet that sums closest to an input target. Instead of keeping matches, keep ALL in a hash table then just return the max. Same O(n^2).
- Another: https://leetcode.com/problems/4sum/. 4sum is the same, just wrap the 3sum solution with another loop around n, the input list. It doesn't matter if you're targeting zero or another explicit number with the sum. The general algo is O(n^(k-1)), where k is the number of items in the sum.
- https://leetcode.com/problems/valid-parentheses. Just tracking opening and closing characters. Easy. Use a stack, loop through once.
Monday, December 30, 2019
Sunday, December 29, 2019
- M Night Shyamalan's Servant is pretty good.
- Paid Jan rent, full.
- Called Grayson for his 5th.
- CFB national championship is gonna be LSU Clemson.
- MapReduce used to be pretty popular for big data; take a large problem and split it into tasks for a distributed system (map) and then recombine them logically after whatever operations have been performed (reduce).
- Practice problems:
- https://leetcode.com/problems/longest-common-prefix/. Easy.
- Started the array-sum problems. 2sum, 3sum, 4sum, and variations. Will finish later.
- Drove to big bear for NYE/brobeans.
- Petty 1st place sbsc lol (62.4%). I finished the season at 51.2%, better than last year at 45.9.
- Niners beat the seahawks, 1st place NFC.
- A few requests were deadlocked. It can self-detect, and sentry notifies. Could restart, or just wait for nginx to kill the thread workers.
Saturday, December 28, 2019
- Practice leetcode problems.
- https://leetcode.com/problems/string-to-integer-atoi. Nothing specially really, just checking lot of corner cases.
- https://leetcode.com/problems/palindrome-number. Very easy.
- https://leetcode.com/problems/regular-expression-matching/. They need to be clearer than the wildcard will only be in the second position. I was about to program the true way to do it.
- https://leetcode.com/problems/container-with-most-water. Nailed this one.
- https://leetcode.com/problems/roman-to-integer/. Easy. Remember, while loops allow you to iterate in desynced fashion, which is common (rather than just `for ind, item in enumerate(array):`. A while loop allows you to jump around in the array, skip 2 items, control your own index for each step, etc. This occurs pretty frequently in logic problems.
- https://leetcode.com/problems/integer-to-roman. More roman numerals!
- Went back over the leadership principles, making examples and memorizing each.
- Watched the second season of You. Loved how much they made fun of LA actors.
- Remember python's compound operators. You use += but you can did it with basically everything else, like *= or %= (modulo then define). They're all the same as x = x * 5, with whatever operator and number you need.
Friday, December 27, 2019
- Transcrypt is a python/js compiler. https://www.transcrypt.org/. You can put python in your html, javascript in your backend, etc. Weird.
- The vip terminal at lax costs about 5k/yr for membership and >3k/flight. https://theprivatesuite.com/.
- Bought a straightener. The boar's hair brush works a bit better for shorter beards. Needs to be ~2" for this to shine.
- Nasdaq index is mostly tech focused (unlike dj/spy).
- Hit up spencer, bonus alex is visiting la in a couple days.
- Skipped amazon fresh and buying/brining/smoking meat, gonna be in big bear for the next half week.
- Made this:
- Added phil and raj to the paid league.
- select * from users where email like '%WORD%';
- insert into league_user_association values (<league_id>, <user_id>);
- Coke has the same acidity as lemon juice.
- Run pull sauna meditate.
- 1000p motorcycle puzzle. 4hrs maybe?
- The coriolis effect causes large-scale fluids (eg oceans/hurricanes, not toilets/baths) to rotate clockwise in the southern hemisphere and counterclockwise in the northern hemisphere (closer to equator = moving faster).
- Lynch definitely running for seahawks on sunday. Awesome. AB is apparently working on signing with the saints as well. Terrible. Man needs mental help.
Thursday, December 26, 2019
- Placed some small limit orders for option calls. They didn't execute.
- Eric got me the athleanx inferno size program, started looking through the website.
- Supercontest.
- Odds:
- 0: 1/32
- 1: 5/32
- 2: 10/32
- 3: 10/32
- 4: 5/32
- 5: 1/32
- Obviously a coin flip is a binomial distribution, just like a dice roll. As n gets large, this approximates Gaussian (normal).
- Standard deviation of coin flip = 1/(2*sqrt(n))
- Created ticket: https://gitlab.com/bmahlstedt-group/supercontest/issues/140.
- Push sauna meditate.
- Scheduled amazon onsite for mon jan 13.
- Flew SFO LAX.
- Ashish called about the NCL telem site.
Wednesday, December 25, 2019
- Committed lines, submitted picks.
- Final week 17, we'll know the season winner on Sunday.
- This week was a pain in the ass. The iframe table format was completely different for the lines. Different order, different column, etc. The autofetcher didn't know how to understand any of it. I entered the lines manually.
- [[u'TITANS', u'TEXANS*', u'SUNDAY, DECEMBER 29, 2019 1:25 PM', u'3.5'], [u'BROWNS', u'BENGALS*', u'SUNDAY, DECEMBER 29, 2019 10:00 AM', u'2.5'], [u'VIKINGS*', u'BEARS', u'SUNDAY, DECEMBER 29, 2019 10:00 AM', u'1'], [u'COLTS', u'JAGUARS*', u'SUNDAY, DECEMBER 29, 2019 1:25 PM', u'3.5'], [u'FALCONS', u'BUCCANEERS*', u'SUNDAY, DECEMBER 29, 2019 10:00 AM', u'0'], [u'COWBOYS*', u'REDSKINS', u'SUNDAY, DECEMBER 29, 2019 1:25 PM', u'11'], [u'SAINTS', u'PANTHERS*', u'SUNDAY, DECEMBER 29, 2019 10:00 AM', u'13'], [u'EAGLES', u'GIANTS*', u'SUNDAY, DECEMBER 29, 2019 1:25 PM', u'4.5'], [u'STEELERS', u'RAVENS*', u'SUNDAY, DECEMBER 29, 2019 1:25 PM', u'2'], [u'BILLS*', u'JETS', u'SUNDAY, DECEMBER 29, 2019 10:00 AM', u'1.5'], [u'PATRIOTS*', u'DOLPHINS', u'SUNDAY, DECEMBER 29, 2019 10:00 AM', u'15.5'], [u'PACKERS', u'LIONS*', u'SUNDAY, DECEMBER 29, 2019 10:00 AM', u'12.5'], [u'CHIEFS*', u'CHARGERS', u'SUNDAY, DECEMBER 29, 2019 10:00 AM', u'8.5'], [u'RAMS*', u'CARDINALS', u'SUNDAY, DECEMBER 29, 2019 1:25 PM', u'3'], [u'49ERS', u'SEAHAWKS*', u'SUNDAY, DECEMBER 29, 2019 5:20 PM', u'3.5'], [u'BRONCOS*', u'RAIDERS', u'SUNDAY, DECEMBER 29, 2019 1:25 PM', u'3']]
- dbsession.commits._commit_lines(week_id=34, lines=lines)
- core.scores.commit_scores()
- util.email.email_picks_open(season=2019, week=17)
Tuesday, December 24, 2019
- Happy Hollow Park/Zoo in San Jose.
- LAMP = linux apache mysql php. I always forget this one. It's old.
- Rivian, big ev company.
- Power rankings (nfl and espn) have the niners 3rd after the saints and ravens.
- FF ESPN: 5-7. 11/12 PF. 11/12 final rank.
- FF Yahoo: 5-8. 7/10 PF. 10/10 final rank.
- Worked with amazon to schedule the date of the onsite. Suggested the second week of Jan.
- Went over their documentation of the onsite process: https://www.amazon.jobs/en/landing_pages/in-person-interview.
- Confirmed the citadel coding challenge for Jan 7.
- Ordered a whiteboard ($18) to practice. My old one was stained/dry.
- STAR = situation task action result.
Monday, December 23, 2019
- Received results for the amazon coding test, passed, got invited for a day of onsites.
- Markets.
- Boeing fired their CEO.
- S&P up 3.5% in the past month. Record highs. Such a strange time, with every indicator shouting bear years ago.
- Pivotal went public last year, 2018-04-20. Earnings tomorrow.
- TSLA hit $420, and rising. People are so weird.
- More practice problems. Mostly leetcode.
- Getting better and faster with every one.
- Writing out a couple BASIC examples of the iteration/recursion, like the first two loops/stacks, is extremely helpful for developing the algorithm. Makes it much easier to extrapolate if the whole problem is too complex to wrap your head around in code or thought.
- Reversing an array is obviously O(n). Same for linked list.
- When you see a problem that expects a logn solution, expect something like a binary search where you're halving the problem space each time.
- Started looking on redfin. 1-2br, 1bath, garage, $1m. There are some options in places like south city, rwc, epa, santa clara.
- Marshawn Lynch might play for the seahawks next week against us. So conflicted.
- Lunch at little lucca's. They were out of dutch crunch.
- Updated the banner so I wouldn't have to on christmas. Redeployed.
- German bar with all the kids from the block.
Sunday, December 22, 2019
- Did some leetcode problems to practice.
- When doing something with only two elements (like check to see which two items in an array add to a target sum), you might be tempted to check the permutations of the remaining array, with each iteration. This is not the fastest. You can get it down to O(n) time by storing a complement map as you move through the array, then you can compare each to the complements to see if it fits.
- Pretty much finished all my specific prep for interviews. Now it's just going through the generic problem repositories, practicing a few each day:
- Hackerrank. Leetcode. Careercup (CtCI). Glassdoor. Youtube.
- So far I think I like leetcode the best.
- 5 directly-interview-relevant docs in gdrive. 1 for general process/approach, and then 4 from book notes:
- Structure and Interpretation of Computer Programs, Algorithms and Data Structures, Programming Interviews Exposed, Cracking the Coding Interview.
- Reminder of great youtube channel for interview questions: https://www.youtube.com/channel/UCNc-Wa_ZNBAGzFkYbAHw9eg/videos.
- Alpha = how much you outperform a generic benchmark, usually the S&P500. If that rises 5% in a year and you rose 15%, your alpha is +10.
- Beta = how much more volatile than a generic benchmark. If your stock gained 3% in a day and the S&P500 lost 1%, your beta is -3.
- Manacher's algorithm is O(n) for longest palindromic substring: https://en.wikipedia.org/wiki/Longest_palindromic_substring. Fantastic.
- Longest common subsequence = a common problem. Look it up.
- When palindromes are mentioned, you can reverse the string and then it becomes a longest common subsequence problem (check indices tho).
- An 8yr youtuber who reviews toys made $26m last year.
- Helped dad backup/update his iphone 6.
- Did the amazon coding interview (90m). Each question basically has 20 unittests, 2 of which are shown and 18 are hidden.
- On the practice exam, I got 20/20 and 20/20, and finished in 35m.
- On the real exam, I got 19/20 and 2/20, and finished in 90m. The first one was good, but something was up with the second one. It passed both visible testcases and then showed "passed 0 of 18 for the invisible testcases" - not sure what happened, but my program was correct so who knows.
- Was also possible to have another computer googling the problems and copying the answers. I did it honestly, so I worry about the bar I'll be compared to. I much prefer a voice/video call, for both authenticity and the ability to prove comprehension verbally.
- Went to sunnyvale, madras and fam.
Saturday, December 21, 2019
- Walked 4 miles around Atherton.
- Chan Sung Jung knocked out Frankie Edgar (38), and now there isn't an event for the next 4 weeks until McGregor Cerrone.
- All presents wrapped and ready. Dec 21st. World record.
- SCORE_DAYS was the nominal th/sun/mon. I had to add saturday for these week 16 games. Deployed the supercontest change. Recompiled reqs.
- Did a few hackerrank problems:
- https://www.hackerrank.com/challenges/tree-height-of-a-binary-tree.
- https://www.hackerrank.com/challenges/tree-level-order-traversal.
- https://www.hackerrank.com/challenges/balanced-brackets.
- https://www.hackerrank.com/challenges/contacts.
- https://www.hackerrank.com/challenges/find-the-running-median.
- Side note: hackerrank has a terrible problemsolving interface. The inputs are given via stdin with line separations lol, and the outputs are compared to stdout. This is probably laziness to accommodate multiple languages, but it's shrouded and detracting.
- The difficulty is also widely variant. I finished some "medium" level questions in (literally) 60 seconds, and some "easy" questions took my 20 minutes to read the problem statement and 40m to answer.
- Some complexity notes.
- Recursion with 2 recursive calls is exponential in time complexity.
- Binary trees require 2 recursive calls to traverse, one to walk the left edge and one for the right.
- Fibonacci sequences require two recursive calls as well, but you can memoize each one to reduce it from exponential to linear.
- For iteration problems, usually just run a while loop and add items to array, or do something else to keep track as you traverse.
Friday, December 20, 2019
- There are so many python dep managers out there now, like my sx-setuptools. Poetry: https://github.com/python-poetry/poetry.
- Awesome js recap: https://2019.stateofjs.com/. Typescript/express/react/redux/graphql still king. Jasmine is no where near the top for testing frameworks (jest is #1).
- Ear buds died. Ordered 2 more. I still continue to be impressed. Great quality, people around can't hear, only $7.
- I always forget amortization: pay off periodically.
- Permutations > combinations. Combos don't care about order.
- Finished CtCI. Went through some of the problems.
- Flew LAX -> SFO.
Thursday, December 19, 2019
- The Ducati has been stalling a bit. I had originally thought it was misconfiguration of my nonstock levers (I think CRG) where the clutch couldn't fully engage, but it happens at speed sometimes too. Did a bit of reading and it's not uncommon. Can pursue a fix if it gets more frequent.
- Charged the BMW.
- Haircuttt.
- Sick. All sorts of weird temps and delirium.
- Dentist. The cut should go away in about a week. Good health, just need to not brush as hard. It's causing more recession. They can fix with bonding if it starts to get sensitive. Deep cleaning scheduled for beginning of jan.
- Read more of CtCI for interview prep.
Wednesday, December 18, 2019
- Some notes from matthew walker:
- Practice doesn't make perfect, practice + a good night of sleep makes perfect.
- While asleep, we can't eat, we can't run, we can't take care of our young, we can be hunted, etc. If sleep didn't serve an absolutely VITAL purpose, evolution would have made the biggest mistake of all time.
- We sleep better in slightly colder temperatures. When our hands/feet are warm, vasodilation occurs. Blood flows outward to the skin more, reducing core body temperature. This is why you get better sleep with socks. The same vasodilation occurs after a bath.
- We don't have a "credit" system for sleep like we do for fat (eat more before winter, use fat stores) because we are the first species in the history of time that has ever faced lack of sleep. No animal has ever had to evolve to handle this, and it's self-inflicted.
- 20hrs awake = same impairment as 0.08% bac.
- More record highs for stock market yesterday. My ZYME surpassed 45. DJ 28367 s&p 3193 nasdaq 8823 10yr treasury 1.878. Bitcoin is down to 6613.
- Finished programming interviews exposed. Tons of notes, practice problems, brainteasers, coding tests, and behavioral examples.
- Started cracking the coding interview.
- Pro bowl selections: http://www.nfl.com/news/story/0ap3000001089218/article/nfl-reveals-rosters-for-2020-pro-bowl-in-orlando.
- First day without the cat!
- COMPOSER DAY.
- John Williams: star wars, indiana jones, harry potter, home alone
- Klaus Badelt: pirates, time machine
- Danny Elfman: nightmare before christmas, lots of superhero movies
- John Powell: dreamworks
- James Horner: titanic
- Hanz Zimmer: everything
- Howard Shore: lord of the rings
- Multi-year university hospital study has good things to say for keto: https://medium.com/@JPMcCarter/the-top-12-keto-myths-debunked-after-150-000-days-of-patient-care-9502383d4e8c.
- At ~8:35am ZYME was up 6.06% giving me a day return of $666.86 thus far. Devilish.
- Scheduled dentist appointment for tomorrow.
- Still sick but run gym push.
- Runner's "neck check" - if your symptoms are below your neck, you're probably better off resting than exercising.
- Being cold doesn't give you a cold, but airborne bugs spread more easily because the medium is denser.
- Remember of the terrible complexities: n^2 (quadratic) then 2^n (exponential) then n! (factorial) is the worst.
- Remember stack is static. It's the variables, function calls, scope, etc. It's very fast. The heap is for dynamic allocation. It's a little slower. Both are in RAM. Threads share heap, but each have their own stack.
- Big endian = most significant bit stored first. Little endian = LSB first.
- TSLA about to hit 400, doubling in 6 months. I remember it being in the 170s in June.
- Committed week 16 lines, backed up prod db, submitted picks.
- Updated the widgetbot shard back to the main one, disweb.dashflo.net. They seem to have fixed their dos problem, so greatplainsmodding was no longer needed (and was offline). Verified on desktop and mobile in dev.
Tuesday, December 17, 2019
- In december, mutual funds drop in market value by ~5-10% because they're distributing capital gains for tax purposes. That drop in equity is coming to you in cash. Think of it like a dividend.
- Cleaned and vacated most of the house. Started packing. Everything is so organized now.
- The bluetooth headset arrived and I set it up. Works well. Did some tests. My voice is not as clear as regular speakerphone, but typing is much quieter.
- 737 Max halting production, Boeing dropped 4%.
- 10 years old, but a good AMA from an individual algotrader: https://old.reddit.com/r/IAmA/comments/9s9d7/iama_100_automated_independent_retail_trader_i/.
- Finished all christmas shopping. $300.
- Netflix confirmed the tech interview with the CI manager, which totals 5 phones now.
- Ordered more post oak and maple chunks.
- Installed new kitchen and bathroom bulbs.
- Butterflied and oven-roasted a chicken. Fresh garlic, butter, and some of my red rub. Added to fried rice with egg.
- Interesting JRE with a sleep scientist from berkeley: https://www.youtube.com/watch?v=pwaWilO_Pig.
Monday, December 16, 2019
- New major version of coverage. sqlite storage, json report, contexts, relative filenames, dropped support for py 2.6/3.3/3.4.
- Compiled new sbsc requirements and updated the banner.
- Ordered a headset for the coding phone interviews where I need my hands to write.
- Remember js spread operator or rest parameter: ...obj
- Played with coderpad to familiarize myself. Can write in many languages, set key bindings to vim, etc.
- Webcammed practice interview, both tech and worklife questions. ~20m/350MB@720.
- Placed grocery order with amazon (whole foods). Arrived a couple hours later.
- Citadel tech test was moved to first week of Jan when the proctor is back from holiday.
- Disney reached out for a senior software engineering position.
- Scheduled a phone call for later in the day.
- Spoke for 20min, discussing the opportunity.
- React/node/docker/mongo/k8s/aws/lambda.
- Exciting projects. Thrown right in. Move teams quite a bit.
- Almost all enter as contractors before full time. 50% insurance, no 401k. Paid hourly, but usually ~175k. No equity.
- Shorter hours.
- They're an entertainment company before a tech company.
- Just one 30m coding call, then onsites.
- Review of old notes. Consume again and again, commit to memory.
- Bazel, c++, java. Lighter on python rules. Build and workspace files. Still similar to my old sx-setuptools, just files that take inputs and produce outputs. What files to build, what to do with it, etc.
- Computers perform tasks. Humans should be solving problems.
- Trees are just linked lists with multiple pointers, really. Graphs are just trees with no root.
- DP is generically named. Just solve subproblems and cache/memoize.
- C++ headers contain the declarations, source files use them.
- Polymorphism. Two children inheriting the parent but using a method/attribute differently (e.g. parent animal with noise() method, child cat would noise('meow') and dog would noise('bark')).
- let = block scoped. var = function scoped.
- Lists and dicts are basically the only mutables in python. All the primitives are immutable.
- Groovy is part of the java ecosystem.
- Python > byte code (pyc) > machine code.
- Netstat and wireshark.
- Can think of websockets as just persistent http connections with a server over tcp/ip, where a socket is any general tcp/ip connection.
- Every thread has its own stack (and registers), but all threads in the process share a heap.
- A$ap and chance most of today.
- Fed mouse.
- Went through Amazon's leadership principles and wrote examples of each: https://www.amazon.jobs/en/principles. Having gone through all, examples came readily. The principles were generic.
- Received the online test for amazon. It takes 2 hours, and I can complete at any time in the next 2 weeks.
- The coding portion is 90m, 2 explicit "write a function that returns this" questions.
- I did a full demo test, finishing both after ~35min.
- They use Aspiring Minds (not codepen or google docs). No proctor.
- Asked Renee if it scores higher by submitting earlier, or if all extra time should be used improving/cleaning/commenting.
- Amazon has such a crazy list of products: https://aws.amazon.com/products/.
- Did some research and took some notes in gdrive. Main ones:
- EC2/Lambda for cloud servers and compute.
- Aurora/DocumentDB/ElastiCache/DynamoDB for all types of databases.
- Beanstalk/Amplify for building web/mobile apps.
- S3 for storage.
- Bought new bathroom and kitchen light bulbs.
- Run gym pull.
- Washed all mesh running shoes with soap.
- Scheduled haircut for thurs.
- Started reading ctci.
Sunday, December 15, 2019
- Disneyland yesterday. Club 33.
- Late picks: franky, cam.
- The ufc card last night was stacked but looooong.
- Patriots cheating again, confirmed shady footage of bengals sideline: https://twitter.com/FOXSports/status/1206265478596816896.
- Bamboolib is a python package which acts as a GUI for pandas. Kinda silly.
- Cleaned terrarium.
- Saw black christmas.
- Uncle Bill's.
Friday, December 13, 2019
- Metaflow is Netflix' datascience kit, built on python/aws. It's open-source now. https://metaflow.org/.
- Phase one trade agreement with china. The bidirectional tariffs that were going to start this sunday have been cancelled.
- Robinhood offers fractional shares now, down to $1.
- 3 coding interviews scheduled for next week so far: google, citadel, amazon. Netflix has passed on to hiring manager to schedule assessments next week, nothing on calendar yet.
- Eric got me a dexa scan, which I had wanted, but hadn't mentioned!
- Great whites run away from orcas lol: https://www.smithsonianmag.com/smart-news/great-white-sharks-are-completely-terrified-orcas-180972009.
- Consolidated all my notes/stances. Some spacex, some political, some software, some personal. Many topics. 2 reasons: some are great responses for interview questions, some are great vlog topics.
- CLI for all unicode! https://github.com/arp242/uni.
- Apps use in-mem hash tables while databases used b-trees for persistent storage. https://www.evanjones.ca/ordered-vs-unordered-indexes.html.
- Read a bit more of PIE.
Thursday, December 12, 2019
- White elephant gift arrived in compton. It better get here by friday, ordered over two weeks ago.
- Remember paging secondary mem on disk.
- Livelock is like deadlock, but both the programs are changing state still (and still locking each time).
- Radix sort goes digit by digit, from LSD to MSD (tens -> hundreds etc). It's faster than quicksort (linear vs nlogn) if the number of digits is low.
- Went over all the resources in the responses.
- Amazon leadership principles: https://www.amazon.jobs/en/principles. Important. Give example of each.
- For each interview, amazon has a "bar raiser" - someone who is not on the team that comes in to assess the general quality of the candidate.
- Citadel, google, notes.
- Checks can bounce after a few days. Federal law requires that the bank release the deposit to you sooner than some banks can actually clear the check. Be careful of scams.
- The office released the full 25min version of threat level midnight: https://www.youtube.com/watch?v=7iPyz6Yqwl4.
- Remember that an option can be exercised to get shares, but the contract for the options must be purchased as well (when traded on public markets, not like when your employer gifts you options). These contracts can be bought/sold.
- You usually have to put in a minimum amount into your account for short positions as collateral, since you can technically owe infinite amounts if things go south.
- Wrote a basic app for paul/ncl: https://gitlab.com/bmahlstedt/ncl.
- Webcam arrived. No driver installation, just have to go into cheese (the gnome default webcam software) and change the device.
- Recorded 1min on 1920x1080. Was 53MB. Resolution was nice, but framerate was too low and the video was not smooth.
- Switched to 960x720. Still looks good, and is muuuuch less choppy.
- Picture res is set to 2304x1536.
- Autofocus is nice. Sound quality is good.
- Ask specifics during the "do you have any questions for me?" round. If you have a new idea, what's the process for getting it approved for implementation? How many reorgs have happened in the last 5 years? How is software viewed by the other departments here?
- NAFTA = north american free trade agreement (us, mexico, canada = USMCA).
- Placed whole foods order.
- Made new batch (~5lbs) of protein bars, half pecan and half hazelnut. Added oats/sesameseed/cinnamon and a touch of water to make them less dry.
- Joe Pesci has some albums on spotify. Some are rap, some are christmas. What.
- 30m phone with netflix.
- Culture doc is accurate. Will scale as company does. https://jobs.netflix.com/culture.
- Instead of hiring in general then finding team fit (like google), they hire for a role specifically.
- This allows questions to be more focused, rather than generic DS&A.
- HR, then specific hiring manager, then take-home coding assessment, then onsites.
- Onsites have a tech round first. Mostly real-world problems, design. Then second round mostly culture, work scenarios, etc.
- Going to speak with the hiring manager for my role (CI) next wednesday the 18th.
- Emailed Holly's friend Ben at GitLab.
- lol checked linkedin after, turns out he works at GitHub, not GitLab.
- Castle rock season finale. Loved the misery crossover.
- Committed sbsc lines and submitted picks.
- The new spreads failed for the first time. Just ssh in, make restart-prod, then try again from the admin interface.
- Talked with Paul about the ncl groundstation.
- Just a static template on aws right now, but want to be able to talk with the radio (bidirectionally) to show data and send commands. Went over flask, posting to endpoints, writing to db, etc.
Tuesday, December 10, 2019
- Dec 15th US-China tariffs.
- Installed a bidet and separately did some sink plumbing.
- Bought spacers. Arriving tomorrow.
- ZYME shot back up 6.4% today.
- Retyping old investment notes for memory:
- Most common index funds: S&P500, DJIA (30 large cap), Russell 2000 (small cap).
- Mutual funds are not traded on exchanges, like regular stocks. They are pools of money that are collected from investors, then the asset managers choose the underlying securities for highest growth. Mutual funds are both an investment and a company.
- ETFs are exchange traded funds that you CAN trade like any regular old stock, and they track underlying index funds.
- Bull. Good. Rearing horns UPWARD. Bear. Bad. Swiping claws DOWNWARD.
- Money market funds are in things like government treasury bonds. Very low risk, low return (like a CD, little better than savings account).
- SPY is the ETF for S&P500, DIA is the ETF for DJIA.
- Hedge. Complement an investment with the opposite to reduce risk (and gains). Example: buy 1 stock for $100 and buy a $80 put option (year) for $5. If it goes up, you lose the $5 insurance policy but if it goes down, you can sell for $80 instead of $0.
- Derivatives are assets based on other assets, like a futures contract to hedge an initial buy, or options. They aren’t stock, but are derived from stock.
- Options. ISOs are like call options, buy at strike price and hope it goes up. Put options hope it goes down. If it drops, you buy the shares at the lower market price, then force the original contractor to honor the options and buy them from you at the higher price. Options have an expiration. Usually 1 put/call is for 100 shares, so a 50/50 hedge would be to buy 100 shares and buy 1 put.
- Futures. Like options, just an agreement to buy or sell at a future date, but you HAVE to fulfill the transaction. This is commonly done for raw materials to hedge.
- Shorting is betting on decrease. A put option is a short, a short position in futures is a short.
- Straddle. Buying a put and call option at the same strike/expiration. You profit if the price moves sharply in either direction.
- EPS = earnings per share. Not normalized, because a company can have an arbitrary number of shares.
- P/E = price earnings ratio. Normalized. Just the current price/eps. S&P is about 15. Higher doesn't necessarily mean better; it can mean overvalued.
- Sharpe ratio is the risk-adjusted return. Basically take your average return (usually daily), subtract the risk-free return (usually 0), then divide by the standard deviation of returns, then annualize.
- Football scrimmage.
- False start = offense moves, ball is not hiked.
- Neutral zone infraction = defense moves, ball is not hiked.
- Encroachment = defender touches offender, ball is not hiked.
- Offsides = ball is hiked when defender is past line, free play.
- Remember belly breathing and 4-7-8.
- Amazon lost to Microsoft on a 10b/10y deal with the DoD for cloud services.
- Made new powders.
- Replenished sesame seeds, cinnamon, ground flax, and coffee beans.
- Ceylon over Cassia, much lower quantities of (toxic) coumarin.
- Brainstormed a few ideas/stances.
- Disabled abp/privacybadger/ublockorigin on lumen so gdrive would stop asking me to connect.
- A bit of interview question practice, mostly reading (Programming Interviews Exposed).
- Deployed new banner. Had asked a bunch of times but nothing yet. Compiled new reqs.
Monday, December 9, 2019
- Got about 5 sentry errors last night, same thing about db connections failing when the server threads restart.
- The psycopg errors are all downstream. The actual error is that uwsgi is getting workers killed (sig 9) and trying to respawn. In looking through the digital ocean resource plots, it's under heavy load.
- I believe the OOM killer is doing this deliberately. No error in the application itself. This will resolve once I self-host with a much better machine. No action for now.
- This also makes sense because it happens regularly ~sunday, 4 days after the application is restarted every wed for banner/lines.
- After a fantastic month, ZYME has dropped quite a bit over the past week.
- 30m with Citadel. (hi Jack!)
- Main is asset management, other business is market making (citadel securities).
- SRE positions open in securities, NY and Chicago.
- Umesh CTO: https://www.citadel.com/leadership/umesh-subramanian/.
- Finance is starting to pull a lot of people from big tech: google and such, not just jpmorgan and goldman sachs anymore. Not necessarily an 80-hr workweek industry anymore (although that's what I'm used to).
- Comp is close to most parallel software positions. ~200 base and maybe 200 more target bonus (rather than equity).
- Work content is still finance, not quite the same purpose as spacex, but excitement from the challenge/community of tech colleagues.
- 20m with Google.
- Could do onsites in LA, even if the position is in the bay.
- Can expedite the interview process, skipping phones and moving straight to onsites.
- Process is basically the same as 2017. Refresh on algorithms and data structures.
- Type multiple times to remember. Most sorts are nlogn. Most searches are logn. Direct data structure operations on a hash table are usually constant. Space complexity for structures/searches are n. Space complexities for sorts are n, logn for quicksort, constant for bubble sort.
- For logn, each iteration is going to reduce the total by ~half. This is like binary search.
- For nlogn, it's like quadratic, but instead of n*n, you still have to iterate over the whole thing once but each step reduces the remainder by half. This is like quicksort, mergesort, etc.
- 30m with Amazon.
- Hiring is usually isolated to a product (prime video in this case), but lateral movement is very possible within.
- 3 positions: software development engineer (mostly backend), frontend, webdev.
- You interview in general, then pick team after offer (same as google).
- Locations: santa monica and seattle. The recruiter called me from a 650 number!
- Java, python, react, js, aws.
- Prepare this week, tech phone interview next week (basic coding assessment, culture fit), onsites first week of jan (ds&a, system design, leadership).
- Tried a vlog recording with my raw laptop. Not great.
- The cam is at the bottom of the screen, not the top, so the keys/fingers are in frame unless the laptop is open well over 90deg. Mounting it would be weird.
- Resolution was pretty bad. Mic was quiet. Would definitely need to buy decent hardware for both.
- Recorded 2m raw, was 17MB (.webm). Goes to ~/Videos/Webcam
- Bought the logitech c920. Should have much better video and audio. Reviews say it should be fine with ubuntu. $58. Will test when it arrives wed.
- Tons of financial research. Instead of keeping here, added all to a new doc in my notes. Removed the old, elementary ones.
- DJIA, ETFs, SPY, MMMFs, hedging, futures, options, sharpe and other ratios.
- A Netflix recruiter reached out today as well. Set up phone call for tomorrow.
Sunday, December 8, 2019
- Remember closures are scope. setTimeout and such, with a function def within, need let in outer scope (not var) if you want access in the inner.
- Got a massage.
- Great football day, solid niners win. The seahawks lost. The patriots lost. 3/5 sbsc. Both ff leagues are in playoffs, I am not.
- TechLead has some decent youtube videos.
- He currently has ~600k followers and makes about that much annually from it.
- I've been playing with that idea for a while. Started making a list of topics.
- Silicon Valley season finale.
Saturday, December 7, 2019
- Interview examples on youtube: https://www.youtube.com/channel/UCNc-Wa_ZNBAGzFkYbAHw9eg/videos.
- Bucks and Lakers at the tops of the conferences, by decent margins.
- Bought a new protein (Naked Pea). It's 37g per dollar, compared to Anthony's 48, but comes in a 5lb plastic tub instead of the pouch.
- The standard 5lb tub of optimum nutrition whey protein is 31g per dollar, for comparison.
- Applied to multiple positions at BMW, senior software and test automation, as well as a few gov jobs. UFC.
- Replied to Amazon reachouts, replied to the GitLab recruiter.
- UFC. Lots of college football conf championships.
Friday, December 6, 2019
- Was reached out to by citadel (via njf), a hedge fund. They have offices all over the world, including LA and SF. Looks like comp packages are around 200k? Lower than expected. Scheduled a phone call for Monday.
- Listen to griz most of today. Could listen to horns and other wind instruments with drops all day.
- Lots of newsletters today.
- UTM info should not be in url params. It's annoying. It makes the link bloated when copying. It is information the user does not care about. It's only for the service. There should be a place in metadata. I don't care if it's a field in the http headers or elsewhere, but it should not be in the full url.
- Didn't read it, but a good summary of cryptography: https://www.garykessler.net/library/crypto.html.
- The most recent version of unicode is 12.1. It has 137,994 characters.
- Remember the utf-8 and utf-16 encodings are variable-width. utf-8 can use 1-4 bytes (each 8 bits) to represent a char. utf-16 can use 1 or 2.
- Good list of db lectures: https://www.youtube.com/playlist?list=PLSE8ODhjZXja7K1hjZ01UTVDnGQdx5v5U.
- Ordered much better heat gloves for the smoker.
- Watched a couple "day in the life" videos from devs at larger companies to get the internal feel.
- Instead of having employees recollect their opinions once a year for reviews (and company survey), amazon asks a daily question instead. Do you find your work important? What can be improved? etc. Some will repeat to get multiple data points. This is much better.
- Sean Lee's video is always a good one. It's geared toward college/entrylevel, but he still speaks impressively.
- The basic sorts (dumb ones like bubble) are bad in time complexity (quadratic) but good in space (constant).
- Mergesort. Divide into smaller pieces, sort those, then reassemble by iteratively comparing the first elements of the pieces.
- Heapsort is pretty great. A little slower than quicksort, but better worst case. Is not stable. It's in-place, so constant space complexity.
- Created a gdoc to summarize the structure of the ds&a interview, and to prepare.
- Smoked 8lbs of curry/mesquite beef ribs.
- I don't think GitLab is very likely. All of their vacancies are explicit about ruby/rails experience as a hard requirement. Gonna hound the people who have emailed me, since this is a top choice.
- Made 2lbs of roasted pecan butter and 2lbs of roasted hazelnut butter.
- Burned a hole through the bottom of the food processor because I transferred the nuts straight from broil.
- The hole (gash) was maybe 2x2x30mm. I didn't collect any of the butter from the bottom to be safe. This is a small amount of plastic. The body will just pass plastic in about a day because it's not digestible. The worry is the chemical (pthalates), which can be cancer causing. The amount in the batch is small, and the batch is about 1-2 months worth, so I'm not too worried about the ingestion.
- I did throw the food processor away. It's old and I needed a new one anyway.
- Downloaded pdfs of Cracking the Coding Interview and Programming Interviews Exposed.
- Reviewed some old notes on complexity theory. P vs NP. Easy to solve, easy to verify, hard to solve, hard to verify.
- Cryptography (and other one-way functions, and jigsaw puzzles) are implicated by NP (hard to solve, easy to verify).
- Np-hard and np-complete. While most in np are verifiable in polynomial time, some aren't. These are the most difficult problems in np.
- Exptime = hard to solve, hard to verify.
Thursday, December 5, 2019
- Paul asked for help with some web development stuff.
- Tensorflow = most ML. PyTorch = computer vision and language processing. Keras = deep learning and neural nets.
- Caveat emptor = buyer beware.
- My top artist of the past year on spotify was erra.
- Reddit's userbase is 430m, which is bigger than twitter.
- Pip is getting 400k in funding to improve next year.
- Django released its next major version, 3.0. Biggest improvement is ASGI (async).
- Watched velvet buzzsaw. Thought it was horrible, personally.
- Updated linkedin, finally.
- Certifications: CLAD.
- Added finish date to spacex, vacated current position.
- Awards: capstone 1st, smallsat 2nd. Moved things around.
- Added organizations like calsol, pts, citris, ssdl.
- Removed clarity consultants and citris from work exp. Just pumpkin spacex self.
- Adjusted all skills.
- Added GRE scores.
- Added gitlab and blog links.
- Accepted all requests (there were hundreds), looked at all messages.
- Practice questions.
- Looked through interviewbit. Also looked through hiredintech. Lot of basic info on both.
- Moved on to careercup. Great repository of practice questions.
- DP = dynamic programming. Type of problem usually works well with some classical recursion. Solve the subproblem, store it, and assemble them together to get the final solution.
- Did a TON more videos on youtube.
- Watched a few videos of candidates detailing their 2019 interview processes at the big ones, google/amazon/etc. It's disappointing how much weight is still given to datastructures/algorithms questions, especially in non entry level roles.
- Started the brine for a new round of beef ribs. These ones are kinda old, and were frozen/thawed.
- Python reminder. Mutable = (dict, list, set). Immutable = (str, int, float, tuple, bool).
Wednesday, December 4, 2019
- Magnus Carlsen is the greatest chess player of all time. He's 29. Garry Kasparov is #2. He's the legend. https://en.wikipedia.org/wiki/List_of_chess_players_by_peak_FIDE_rating.
- Supercontest.
- The pick id is almost at 9000. It will increment with every pick, and users can repick as much as they want until lockdown. I won't need to reindex this for a long time, it's not horribly sparse.
- Looked forward to week 16 where there is no TNF, but 3 games on saturday instead. The app should handle these just like the 3 thanksgiving games, and the regular thursday games. Pick until kickoff. Updated the help text to explain this.
- Week 17 is all sunday games. It should handle that fine too.
- Made the face collage repeat-x.
- Committed lines. Submitted picks.
- Zyme can move as quickly as 1% in 4min, as seen today. Shot up a bit. Made $275 on the day.
- Post Malone was the most streamed artist of 2019. Drake was the most streamed artist of the 2010s. The most streamed song of the 2010s was Ed Sheeran's Shape of You. https://newsroom.spotify.com/2019-12-03/the-top-songs-artists-playlists-and-podcasts-of-2019-and-the-last-decade/.
- Made all gitlab projects public again. I flip on this so much. At the end of the day, I want to support open-source tech across the board. Who cares if it comes from me or someone else. Let's just improve.
- GitLab has pretty impressive culture. They're fully remote, and here's why: https://about.gitlab.com/company/culture/all-remote/. They even have specific rationales for stuff like burnout, anxiety, etc: https://about.gitlab.com/company/culture/all-remote/mental-health/.
- Their application made this clear. It was very accommodating. It asks for your pronouns.
- Connected lumin to gdrive in incognito.
- Winner of each division advances, 1, 2, 3, 4 for each conference. The next 2 best records play in the wildcards against 3 and 4. Then everything is as expected after that. Each conference with 4 remaining teams.
- This is cool:
- Apps.
- Played with printing PDFs from the resumes. Thought about where to host them. You could just do public shareable links from google drive. Google docs has a "publish to the web" option. You can do it straight from a word doc, don't need a pdf. It will update with the gdrive source. I did that.
- Finalized resume for sendoff. Whittled it down to an abridged resume as well.
- Looked at disney. Not much.
- Intuit's interface was kinda weird. Didn't search much.
- Looked at spotify. No software eng positions in LA/SF.
- Robinhood, menlo park: https://careers.robinhood.com/openings?gh_jid=1946247.
- 23andMe, sunnyvale: https://www.23andme.com/careers/4338566002/.
- Renaissance, new york: https://www.rentec.com/Careers.action?computerProgrammer=true.
- Netflix, los gatos: https://jobs.netflix.com/jobs/865957.
- GitLab: https://boards.greenhouse.io/gitlab/jobs/4247953002.
- Pornhub is based in montreal.
- Probably not gonna apply to amazon. Can always followup with recruiters later.
- Replied to Rosie from Google (via olivia, friend in X/moonshot), who had reached out 15 months ago. Replied to Tara as well, another recruiter who reached out. She responded, and we have a call scheduled for monday.
- Submissions today: gitlab, netflix, renaissance, 23andme, robinhood, google.
- The longest one was gitlab, with actual questions. The others were basically just a simple resume upload, with explicit fields for contact, and gender/race/veteran/disability declarations.
- Created doc to track all details (team, title, locations, salary, etc).
- Some great sports voice cracks:
- https://www.youtube.com/watch?v=LhK0CO647PY.
- https://www.youtube.com/watch?v=W8yShH8Q9uE.
- https://www.youtube.com/watch?v=DpRtRWAr6Y8.
- Looked through a bit of ruby/rails documentation to familiarize to my expertise in python/flask.
- Lot more builtins than python, it seems. Esp for webdev specific stuff. Gems. Templates.
- .rb file extension. erb is the templating system, .erb files.
- Checked some template services too: https://github.com/mattbrictson/rails-template.
Tuesday, December 3, 2019
- Paid rent and talked to sherisse about moveout.
- Sundar Pichai taking over for Larry Page as CEO of alphabet.
- dip = density-independent pixel. Use this, instead of px, so that it adjusts by viewport size. Use multiples of 8 so that it can scale evenly.
- Bought my holiday flights home. 14k miles and $11. I still have 125k miles to burn from my old delta amex.
- Settled more briley finances. Now we just halve my utils and his internet since march (2019).
- Updated banner for the week. Deployed.
- Remaining banners: franky 15, petty 16. Only one available left.
- Something I've been doing lately so both the height and width autoadjust: `background-size: contain; max-height: 250px; height: {100*height/width}vw;`
- Right click your collage and check the properties. Divide height/width, multiple by 100 to make it a percentage, then round down to the nearest percent.
- After a year of experimentation and 50 smoke sessions, I think I like the flavor of hickory and apple a bit more than mesquite and pecan. I'll continue to isolate.
- PNG is better. It uses a lossless compression, whereas jpg is lossy.
Monday, December 2, 2019
- The price of the christmas tree has doubled in the past decade.
- Picked up beef ribs, pecans, and honey from costco. Bought ghost pepper chips and beet from riteaid.
- Cleaned the entire smoker (a deeper scrub than usual).
- Smoked 18lbs of short rib. Hand pressed tortillas. Bchan in town with the hot sauce.
- 2c masa harina, 1.5c water, 1tsp salt. Mix. Flatten. Griddle at 7. 10s one second, 2m other, 2m back.
- Ordered new wood chunks. A 4lb bag of hickory, cherry, apply, mesquite, pecan, each $7.
- Cool article on machine learning for horse race betting: https://teddykoker.com/2019/12/beating-the-odds-machine-learning-for-horse-racing/.
- Tabulate is a python package that's much better at pretty-printing the output report than my custom method. https://github.com/astanin/python-tabulate.
- Dry knives right away. They can mold, oxidize, rust.
Sunday, December 1, 2019
- Calm is offering a lifetime membership for $160, a 60% discount for black friday. I just paid my renewal. This is a little over 3 years. I'll hold off. Maybe next year I'll wait to not resubscribe, then get lifetime.
- Supercontest. Made the email body only show the target(s) of the late pick message. Emails the admin separately with the same info, controllable by input boolean.
- Good FS article about how inaccurate performance reviews are: https://fs.blog/2019/11/performance-reviews-kill-culture/. A suggested alternative: have employees grade themselves relative to their old selves, not current peers.
- Farnam Street has a youtube channel. I'll check out a bit of it.
- DS&A.
- Brute force is usually quadratic. Say you have an n-dimensional array. Check each item n against all other yields n^2 total permutations. Quadratic is bad. Only having to iterate over the whole thing once is better, linear. Doing something like a binary search is even better, logn.
- Most searches are O(logn). This includes binary search.
- Most sorts are O(nlogn). Quicksort usually a great option.
- Most space complexities are O(n) worst case, for both searches and sorts. Quicksort is O(logn).
- New m night shyamalan tv show! https://www.youtube.com/watch?v=ZaaQoutaEj8.
Saturday, November 30, 2019
- Was getting the "update information is outdated" graphical error in ubuntu. Ran `sudo apt update`.
- Remember, containers use the host OS' resources. They use the host kernel. You cannot have a linux container on a windows machine, or a windows container on a linux machine. There ARE services out there like "Docker for Windows" that provide this, but ultimately they use a VM middleman then a container off that.
- Watched john wick 2 and 3. Keanu Reeves is 55. Citizen of Canada, born in Lebanon, and of English/Chinese/Hawaiian descent. No high school diploma.
- Started thawing the last 2 racks of beef ribs. After 40lbs of short, 40lbs of spare, and 40lbs of bird in the last month, the freezer is now empty for the first time. Next trip will be maple/applewood pork belly, sliced into bacon.
- Interviews.
- Wrote the skeletal slidedeck that could be used for various presentations, depending on the prompt. Would have to fill in some detail to cater to the specific audience.
- There is good balance. I alternate slides between quantitative/technical demos and qualitative/intangible lessons.
- Went back over the 2017 recruiter emails. Compiled all the resources. Deleted the gmail label.
- Wrote the full plan for remaining studying, mock interviews, etc.
- Watched a view videos on practice questions.
- Reviewed all my gdoc notes.
- Great reference for complexity: https://www.bigocheatsheet.com/.
- Organized my WHOLE drive.
- Got a few more cascading sentry issues (4) from a postgres connection closing mid-request, from someone's iphone safari. Resolved without action.
- IAM – Identity and Access Management.
- Windows file systems are usually, NTFS, FAT, or exFAT.
- Mac file system is usually HFS Plus.
Friday, November 29, 2019
- Didn't make any market moves to prepare for black friday. I'm not in any consumer-heavy sectors anyway.
- Something on bloomberg's backend failed because it resubscribed me to the 4 newsletters I quit a while back. I had to unsub again.
- Did some pro/con weighing for the possible case that I'm not moved up to the bay by the end of dec, which would mean that briley moves first. Considered job proximity, money for relocation, money for full rent myself, wifi, couch, staging at parents, change of env, more. Decided that I'll stay until the next step is locked, rather than uproot.
- Astronaut Mark Kelly is running for Senate in Arizona: https://onezero.medium.com/do-astronauts-make-good-politicians-96ec4945980. Good. Policy should be born from logic, not politics. We need more engineers and scientists in office.
- Browsed a bit on amazon for black friday and prepped for cyber monday. Bought some coffee.
- Cool chrome extension to hide all likes across all (main) social media platforms: https://www.hidelikeseverywhere.com/.
- Watched a cam version of the mystery Knives Out.
- Not perfect, but there's a definite correlation between quality of code and quietness of typing. Fervency can come from true speed, but usually it's poor form, inefficiency, disorganization, or a nonlinear approach.
- Updates and restart.
- Wrote the weekend study plan interview questions/whiteboarding practice.
Thursday, November 28, 2019
- Friendsgiving was solid last night.
- 3 nfl games today for thanksgiving, love it.
- Pandas has built-in support for moving back and forth between dataframes (memory) and databases (persistent).
- Ordered white elephant gift.
- Got some new watches.
- Median and mean salaries for tech CEOs are around 300k in base, and 2m in options: https://medium.com/@sammyabdullah/startup-ceo-salaries-5bebe0f89e14.
- Made new batch of protein bars, and (separate) macadamia nut butter. Definitely in the second best tier with pistachio butter, just below pecan.
Wednesday, November 27, 2019
- Smoked all 40lbs of turkey for friendsgiving. Roasted the trimmings in a skillet for gravy.
- Updated the supercontest banner. Deployed. Gitlab was being weird, wouldn't trigger my build and the execution was slow. Frontend also wasn't showing the logs, but locally did: `docker logs -f runner-mJ4Y_63h-project-14681470-concurrent-0-build-4`
- Triggered and built fine about an hour later when I deployed again.
- Did not have to adjust anything for the supercontest on thanksgiving. There are 3 games on thursday. As long as you pick them before kickoff, you are free to pick all 3. Everyone's picks will not publish till sat night, like usual. Scores are fetched all thurs, they don't wait for the usual 5, so the morning games will still update live.
- Committed new lines. Submitted picks.
- Tradebot.
- Updated get_tickers() to use nasdaq's ftp server, fetching all traded symbols. This yields ~9000 right now, much better than the ~2500 I was getting from that old sketchy api.
- It also properly returns the tickers only. Market cap and other data can be fetched separately (as they are).
Tuesday, November 26, 2019
- Placed an order last night (via amazon) from the whole foods market, instead of fresh. Experience was basically the same. Slightly different items. Different carts. Same 2hr delivery.
- Got some more bbq gloves and press-and-seal through regular amazon as well.
- Added the official amazon chrome plugin. Live tracking updates and more.
- Prepped all food once it arrived.
- 1-1 in ff. Out of playoffs for both. 4-1 in sbsc.
- ESPN's power rankings are pats ravens niners. Disagree. Ridiculous to keep the pats at 1 after the absolute blowouts of niners over packers, ravens over rams. I'd go ravens niners pats.
- Supercontest. A uwsgi worker died (happens sometimes, respawns automatically), but it happened this time while processing a request. Psycopg2 detected that and failed the query with a helpful traceback.
- Main sentry error: https://sentry.io/organizations/bmahlstedt-org/issues/1357278583/?project=1773879.
- Caused downstream exception, (psycopg2.DatabaseError) error with status PGRES_TUPLES_OK and no message from the libpq: https://sentry.io/organizations/bmahlstedt-org/issues/1357278577/?project=1773879.
- Some interesting investing points from Tom Lee: https://www.youtube.com/watch?v=FnhjJJLQ_0I. Generational peaks cause a bit of bull. Every 20 years ish, when birth spikes are around 40 years old (the 30-50yr old band drives the majority of the economy). We're about mid-cycle for a lot of HIS indicators (even though this expansion period has been super long), not late-cycle and recession-imminent as many (rightly) believe. The millennials are still peaking, yo.
- VIX = volatility index from cboe.
- Futures are like options, but you have to exercise them. You can also have futures for sell contracts.
- Do Italians try to be Italian as much as Americans?
- Shorts can have infinite loss. Puts are limited.
- Did a little bit of organization for tradebot.
Monday, November 25, 2019
- The Ravens have some recent finance grads doing mathematical analytics for playcalling onsides, 4th downs, 2pt conversions, etc: https://www.theringer.com/nfl/2019/9/22/20878730/baltimore-ravens-kansas-city-chiefs-analytics.
- I'm not particularly impressed by the Farnam Street publication either. I'll stay subscribed for a bit longer.
- Friendsgiving prep.
- Wednesday's turkeys will have no garlic/onion for Allie and no pork for Sharon. No more bacon injection :(. I'll instead do a memphis rub (paprika/cayenne/brownsugar/etc) with a butter injection+binder. I'll still throw some herbs on there.
- Smoked practice turkey and ribs yesterday at remilin's. They were weird. Something is off with the traeger, wasn't getting good smoke flavor. Looked up traeger instructions, we weren't drastically off on anything.
- Butterflied, separated, and brined all 40lbs for the actual day into legs, breasts, tenderloins, wings. I'm getting much better. You don't need to spatchcock if you're going to separate anyway. Still took about 90min and gets kinda annoying. Super messy. Disinfected the kitchen surfaces after.
- Read a little more about gravy prep.
- Went back tonight and smoked a chicken with Remy to test. Cleaned out the traeger firebox, made sure the pellets didn't have any wet rot, ensured that it was started up properly. Chicken was butterflied, with absolutely no other change. No rub, injection, seasoning, sauce. Still weird.
- Prepped my WSM for wednesday, since I'll be using that instead.
- Overclocking increases error rates, heating, power consumption, etc.
- Added video player to chrome.
- Sempiternal is the same definition as eternal. Lasting forever.
- Ordered a couple new watches.
- Elon was in the rick and morty episode from last night!
- ZYME earned a couple hundred bucks more today.
- Started using the pea protein. It definitely doesn't taste as good.
Saturday, November 23, 2019
- Disney+ does not currently support streaming for browsers on linux. I have to use my phone (which can cast to the tv).
- bmahlstedt.com cert expired because my letsencrypt bot container hasn't been up. It will autorenew once I start it again (likely when I self-host).
- Sbsc site wouldn't open for cfenton on safari. Switching browsers worked.
- App emailed properly, even for Bill who had submitted 1 pick instead of 0.
- Finished Black Mirror.
- My calm subscription renews annually today (Nov 23rd). The card on file was the old amex, so it failed. I was considering cancelling the subscription, but I do find it helpful, so I renewed with the new citi. It's only $5/mo, and I support the cause/company.
- My stats for last year: 98 sessions, 20h10m.
- The kaep situation fascinates me. I equate it with protestors who block roads. You may be right, you may be peaceful, you may get more exposure, but you're going to piss off a lot of drivers.
- Caught up with Richard.
- Cal vs Stanford and Wilder vs Ortiz.
- Friendsgiving prep.
- Made stock/broth, about 8 cups. Carcass, celery, onion, parsley, garlic, seasoning. Boil, then simmer for two hours. Strain.
- Slowly combine with about a cup of fat (from another smoke sesh, or butter), and flour, over medium heat. Start with maybe 1/8 ratio (1 cup of flour), then add up to 1/4 as desired thickness. Get up to high heat, then remove. Add seasoning s desired.
- Injected and rubbed the practice turkey.
- Thawed the beef and pork ribs for monday's smoke, from which I'll keep the fat/drippings for wednesday.
- Tradebot.
- Created new ticket for all the crosschecking of new robin-stocks data with yahoo data: https://gitlab.com/bmahlstedt-group/tradebot/issues/7.
- Created new ticket for converted to a service with a backend: https://gitlab.com/bmahlstedt-group/tradebot/issues/9.
Friday, November 22, 2019
- Artgo is a mining company (marble) in China, and was doing incredibly well on the hong kong markets for the past 6 months until yesterday when it dropped 98%. This happens less frequently in american markets, which are way less volatile, but it's still crazy.
- Cal Stanford football tomorrow.
- Helped last night with a little bit of the hydra/dispatch frontend to adjust header sizes and scroll position to match the active step.
- Tesla unveiled its new truck last night lol. It's fast. It's ugly. It failed the window smash tests live.
- The ATV was cool.
- https://www.youtube.com/watch?v=6maUvgt3tCQ.
- TSLA stock dropped more than 6% in the first hour after open.
- My return on the day for ZYME alone was $968.31.
- Volume is literally the number of transactions for a security, usually over the span of a day, and usually averaged over a number of days. If person X buys and person Y sells, that only counts as 1. Anything under a couple hundred thousand is usually considered low volume, or thinly traded. They're riskier because you might not be able to sell, or it will have large swings. This makes diamonds in the rough even smaller/rarer.
- "In order to match the hordes of buy and sell orders, exchanges start with the highest bid (buy order) and try to match it up with the lowest ask (sell order). Because there are usually thousands of bid and ask orders in the system during the trading day, chances are usually very good that there will be little difference separating the highest bid order from the lowest ask order. However, once the trading day finishes and after-hours trading commences, there are drastically fewer participants entering bid and ask orders into the system for a security. Because of this lack of order volume, there is a much greater chance that a big dollar value difference will exist between the quoted bid and ask values for a particular security." - Investopedia.
- Instead of checking the market price (quote) during afterhours, which is just a representation of the last trade, look up the ask price (or the full list of available asks, which are sell orders). That will tell you what you're going to actually pay for it.
- Alternatively, place a limit buy order instead of market.
- You're going to naturally see even higher spreads on a lower-volume stock.
- Watched Chris Kesser's appearance on JRE, to try to multi-source some suggestions I'd been getting on Medium as well. All revolve around debunking the game changers documentary about vegan health.
- https://www.youtube.com/watch?v=QNhDHw5F2Ys.
- He went over the expected. Amino acid profile is important. 1g beef protein != 1g wheat protein.
- You could achieve the same full profile, but you'd be taking in a lot more carbs, fat, and overall calories. You'd have to eat like 5x the mass of vegetables/beans/etc to get the same protein profile. Not impossible, but diluted.
- Also, in general, the dogmatic nature of the doc. Rather than educating both sides, and encouraging wise decisions because of X here and Y there, it's clearly biased.
- Scalability of landsize was an interesting point. Growing edible crops to feed 7.5 billion people isn't possible. It's not as dense as meat, in both production (the input side) and in nutrition (the output side).
- My stance was unchanged. Eco and ethical impact of meat = bad, fully defensible. Health = good, mostly defensible.
- Did some TLRA research with Art.
- Went to All Indian Sweets and Snacks with Remy. That place is delicious.
- Turkey prep for Sunday.
- Spatchcocked and started the brine. Separated each half into the 3 cuts:
- Leg: thigh and drumstick
- Chest: breast and tenderloin
- Wing: wing and drummette (no tip)
- Combined the wing tips, neck, backbone, heart, liver, and all other trimmings while separating the bird. All will be used to make broth.
- Stock is from bones, broth is from meat. Mine uses both.
- Upgraded to robinhood gold.
- Also enabled option trading, allowing me to do calls (buy at strike price later, expect appreciation, long) and puts (sell at strike price later, expect depreciation, short).
- They give you research reports from morningstar, which estimate a fair value, measure uncertainty, and more.
- Supposedly this will give level II market data soon, with live bid/ask prices from nasdaq.
- Played with robin-stocks more.
- Oh shit you can already get the bids/asks from the api.
- eg get_pricebook_by_symbol('zyme') - lists all the asks and bids and how much.
- You can also get the splits!
- eg get_splits('trex') - will list all of them with dates and multipliers.
- Full history data is available. This might be better than yahoo finance.
- The only thing I notice is missing is the automatic calculation of TTM%, and all the dividend yield information.
- Always gold: https://www.youtube.com/watch?v=nIwrgAnx6Q8. O Fortuna with the wrong lyrics.
Thursday, November 21, 2019
- Trading.
- Wow, only 372 people on robinhood have ZYME. For comparison, 232k have MSFT.
- The most popular is Aurora Cannabis, at 555k holders. The 100th most popular is Spotify, at 17k, so overall there's not an overwhelming number of investors on the platform, but 372 is still very low.
- Placed another buy order for ZYME to test when the market was open. Ordered @38.64, executed at @38.76. Much better than last night, which had a difference of $1.75.
- 0.3% slip during normal, 4.5% slip during afterhours.
- Chobani is doing well, and now coming out with oat products to satisfy the vegans. They're owned by general mills (GIS).
- White Claw is under Mark Anthony Brands, which also owns Mike's Hard Lemonade. They're private.
- Truly is under Boston Beer Company, which also owns Sam Adams, Twisted Tea, Angry Orchard. They're public (ticker SAM).
- Would probably be lucrative to invest in them before they release the new and reformulated flavors, but again, this isn't my choice industry.
- Numpy arrays are much less resource-heavy than standard python lists, and they can have more dimensions.
- Jupyter is convenient for the whole "should I develop this code from the interpreter and then copy it to a script, or write the script directly and run it iteratively?" And nice that it can be done from the browser, with graphs/text intermixed with code, for easy sharing.
- Bought LiB tickets (4-day). $319ga+$43fee.
- Expected the old Doug song "Banging on a Trash Can" to be all over the place in parody of the Astros scandal, but I haven't seen it anywhere.
- https://www.youtube.com/watch?v=9T2d2FRh0BM.
- Maybe Nick can post it on bleacher report or something.
Wednesday, November 20, 2019
- Blogger has a stats section now. Good summaries of views, for the most part. Example: https://www.blogger.com/blog/stats/week/5994952039352729268.
- You can't ping ports.
- Supercontest. Updated ross' banner. Committed new lines, submitted picks.
- T.RowePrice has some good funds: https://www.troweprice.com/personal-investing/tools/fund-research/morningstar-4-and-5-star-rated-funds.
- Rain!!
- Tradebot.
- get_dividend_yield() now has an input arg to specify forward or trailing.
- Added get_delta(), which is similar to get_slope but does a pure difference (annualized by the timeframe and the delta) instead of a linear regression.
- Multiprocessed the ttm_slope and div_yield calculators. Full returns take about 8m now. Each individually used to take about 45min.
- Finishing the total-return analytics, both forward (predictive) and trailing (exact) for the top performers of last year and current+next.
- Added entry points for both main calculators.
- Yahoo returns a 52-week change for most symbols, and a yield, but not as much for full history. Therefore the trailing ROI is more accurate (or at least more comprehensive). The forward ROI regresses the historical data, which doesn't exist for many, so it has a lot of empty zeros.
- Final results.
- https://gitlab.com/bmahlstedt-group/tradebot/blob/master/roi_forward.txt
- https://gitlab.com/bmahlstedt-group/tradebot/blob/master/roi_trailing.txt
- Wes brought up a good point that splits will skew the data.
- After manually checking the rankings, I bought some zyme (biopharmaceuticals). This is mostly a test to verify my bot, rather than a wholehearted investment. Their charts look fantastic, even beyond the ttm I analyzed, and all earnings have exceeded. Market price was $38.76 when I ordered, and then it executed at $40.49, which is absolute horseshit. I bought 260, which is 10k, and it immediately lost $450. No more volatile slippage. I gotta stop afterhours trading.
Tuesday, November 19, 2019
- Subscribed to Disney+ with the money I made from the investment in its launch. $70/yr. Sent the login to socal to pay it forward.
- They have all disney, pixar, marvel, star wars, natgeo.
- I like how they don't autoplay on hover by default.
- Donated $5 to wikipedia.
- The forward dividend yield takes the most recent div, normalizes its period to a year (usually), and divides by current stock price to estimate what the next year's div yield will be (if it stays the same as right now). The trailing dividend yield actually looks at a previous timeframe (usually a year), since it has that data, and calculates the %.
- Matt Stonie ate 100 waffles in 15 minutes.
- FF moves. 2 for espn, 1 for yahoo. Not much this late, and my teams suck.
- Robinhood Gold.
- Instant deposits? Yes.
- Instant buying power after sell orders? Yes, if market is open.
- Instant withdrawals? No.
- Morningstar is the private research company that provides the yield data for yahoo finance and the advanced data for robinhood gold.
- Tradebot.
- Display market cap as millions.
- Made the $/yr ttm slope ranker normalize on price (at the beginning of the time period, the past year) for %/yr, rather than the absolute $/yr.
- This allowed me to then sum the growth %/yr with the yield %/yr for total return.
- Generally agree: https://medium.com/@tmitchelhill73/lets-talk-about-the-game-changers-1d76a0c344e5. There are 3 main targets for a vegan diet: Eco, Ethics, Health. The first two are obvious and clear. The third is not.
- Went to wing ferno. Got the spiciest they had. Pretty good. The chicken was juicy, but I like the batter a bit crispier.
- Bought two 20lb turkeys at costco. Butterball, $1/lb, with giblets, no steroids/hormones. Best part: it comes fresh, not frozen.
Monday, November 18, 2019
- DIS went about +8% on tuesday and then -1 each day through the rest of the week. Decided to hold through Monday, after people lazily watched Disney+ all weekend and shared their logins, hoping for another spike. It happened. Sold everything for a total profit of $650.
- Worth reminding that I did nothing to deserve this. Got $650 for a couple clicks. I don't like the volatility or the rationale of modern investment. I've contributed nothing to the world through these actions, and I've been rewarded for it. Others have dedicated their lives to the same, becoming billionaires. The spirit of investment is the encouragement of new technologies/products/services/etc. We can do this without public trading, for it corrupts more than it enables.
- Won both fantasy games. Got 3/5 in sbsc.
- >64% across the entire league in supercontest, our highest ever in the 2018 and 2019 seasons (except week 17, garbage time).
- Tofu and tempeh are both from soy.
- Tradebot.
- Lots of work. General cleanup. Reorganized all the modules in the package structure. Moved some functions around.
- Generalized get_valid_tickers() to a simple symbol fetcher, allowing downstream functions to filter on cap/price/etc as desired.
- The reason some of the slopes were broken is that the yahoo historical data had gaps. You'd request a year, and it would only have a month, and that month might have been a great rise while the rest of the year sucked. To fix this, I changed get_slope() to only return if there is statistically significant data (at least 50% of days in the requested time period).
- There are ~1200 tickers returned by NYSE for >1b cap and <$100 price, but yahoo only has historical data on ~250 of them.
- Yahoo doesn't return consistent data. Sometimes there are gaps in history. Sometimes there are not. In a standard run for ttm perf on 1200 tickers, different symbols will report dataframe.empty in back-to-back runs.
- For this reason, I will not multiprocess the main functions in the analysis module.
- The stock market (well, NYSE) is open every day except weekends and 9 holidays, so 251 days a year (69%).
- Changed it to not filter >1B and <$100, just analyze ALL.
- Finished the entire TTM performance effort. Compared to local plots. Compared to google plots. Everything looks good.
- Finished the rankings for dividend yield. https://gitlab.com/bmahlstedt-group/tradebot/issues/5.
Sunday, November 17, 2019
- Supercontest.
- Pick percentage was sorted on for in-progress and finished games, between cover/push/noncover all complement to 100. Pick percentage was not sorted on for unstarted games. I added this as the second-to-last (num_picks, desc), before user ID.
- Made the late picks email include the recipients in the body.
- Updated the app to properly adjust for both sides of daylight savings time, which shifts in the middle of week 9: https://gitlab.com/bmahlstedt-group/supercontest/issues/139.
- The same FPS looks way worse in games than movies. In games, you produce an image and combine them all together for motion. In movies, the camera's shutter is open for a small period of time, so you get motion blur automatically.
- Bought a 12.5lb turkey. Started thawing.
- Astros have been cheating for years, banging on trash cans and whistling for offspeed pitches based on cameras.
Saturday, November 16, 2019
- Started Black Mirror from the beginning. I had only seen maybe 1-2 episodes (and the movie).
- This channel is crazy: https://www.youtube.com/user/24619carlos.
- Tradebot.
- https://gitlab.com/bmahlstedt-group/tradebot/issues/5.
- Added fetch/analysis/sort for dividend and yield %.
- Some are as high as >20%, but it's obviously dependent upon price. Some good standards are around 4-5 (verizon, ibm, etc). The securities in the S&P500 average out to about 2% right now.
- Banner. Ross 12 Remy 13 Franky 14 Art 15. Only two weeks still available.
- Only about 10% of both Portugal and Brazil speak Spanish. It's pretty similar to Portuguese tho.
- Categorization is generally good. We can lump objects into groups, and that is a convenience. It's efficient. It saves time. Those waterbreathing soap bars are fish, those large horseless cars are vans, etc.
- There's nothing wrong with this, when it's applied to objects. To companies. To Food.
- There is a problem with this, when it's applied to people, because then the group identity is considered before the individual. A stranger sees a tribe, a color, a language, before a person. It is no longer an efficient shortcut, but is instead a presumption; a presumption about something that can change, a complex human being with free will.
- This applies to good and bad judgement; I don't like X race, I am patriotic toward Y nation. They're the same presumption, the same categorization, and both ultimately become a bias surrounding an irrelevant generalization.
- Awesome warriors story: https://www.youtube.com/watch?v=fHeAHaxW0nI.
- Jim Simons is the founder of RenTech. Net worth >21b. Went to Berkeley and MIT for math.
- Mackenzie Bezos (ex-wife) is the 15th richest american at 36b, all from the divorce settlement. 4th richest woman in the world.
- Supercontest. Updated last week's single pick for Jeremy.
- select * from picks where user_id = 6 order by id desc;
- update picks set team = 'DOLPHINS' where id = 5927;
- UFC in Sao Paulo.
- Kaep did a practice workout today. Switched locations at the end, but footage should go to all 32 teams. Curious if anyone tries to pick him up, considering the underperformance of many starters right now.
- Made pistachio butter. As of right now, pecan butter is still king but I'll try a bit tomorrow after it cools/settles/separates.
Subscribe to:
Posts (Atom)