- Algorithms research. Added doc to drive in Programming Notes.
- AresDB is Uber’s analytics engine: https://eng.uber.com/aresdb/.
Thursday, January 31, 2019
Wednesday, January 30, 2019
- Appraisal. Also spoke with the Redondo PD.
- Sololearn. Refresher on details of Lambda, Map (apply func to iterable), Filter (pass args in iterable to function, return item if func returns true), itertools, etc.
- Remember, the three main MUTABLE datatypes in Python are list, set, dict. The others are immutable (str, int, float, tuple, etc). You can mirror another variable to a string, but it actually just copies the value, it doesn’t point to the same id underneath. Better for efficiency, hashing, etc.
- Generators are obviously more efficient. Lower memory footprint. Use when you want to iteratively return from a function.
- PPA = personal package archive. You can add these as repositories and apt-get from them.
- Certs
- Apt updated on the supercontest server because Google changed its Origin.
- TLS-SNI-01 is reaching end of life (at least for Let’s Encrypt support). I updated the Certbot version on the supercontest server (0.28.0 now) and renewed the certs.
- SSH
- AddKeysToAgent yes in .ssh/config means that every key you use will be added to the agent. Very convenient to avoid -i all the time.
- You can also ssh into a hostname, like ssh southbaysupercontest.com.
- You can also create an alias in .ssh/config. Now you can just do `ssh sc`.
- Ran through a whole tutorial of graphql: https://medium.freecodecamp.org/how-to-set-up-a-graphql-server-using-node-js-express-mongodb-52421b73f474.
- Registered with mLab (db-as-a-service for mongo) and created a db.
- Npm for the javascript package.
- Mongoose to connect to the mongo db I created with mLabGr.
- Express as the web framework (like flask).
- Nodemon to start the app in restart-after-changes-mode (debug=True).
- GraphQL allows you to define queries (reads) and mutations (writes). Then the user can add rows, change cols, fetch data, etc! All from the browser.
- GraphiQL is an interactive IDE that runs in the browser, allowing users to explore the db.
Monday, January 28, 2019
- COBRA is basically 439/42/11/7 for Health/Dental/Lyra/Vision. Lyra is mental health stuff.
- Given my current situation, I’d only get Health, so COBRA is $440/month.
- Searching healthcare.gov and discoverymarketplace, there are a few other plans: Kaiser, Blue Shield, other big ones, as well as smaller ones like Oscar and Health net.
- The cheapest private plan is $240/month. The deductible is very high (6k).
- My last day to elect COBRA is 4/2/2019.
- Given all the above, the best option is probably to not elect anything unless something happens, then get retro COBRA. You’ll get a new job before 4/2.
Thursday, January 24, 2019
- Wrote my statement for the Ducati hit-and-run yesterday. Submitted the insurance claim. An officer will meet me to investigate the footage onsite Monday and file the police report, if need be.
- Got the suspect’s insurance information! Full statement in my Google drive.
- HN/PW/NoSQL/FW/M:
- Always interested in new all-in-one doc tools: https://www.notion.so/. Tasks, tickets, docs, etc.
- Webpacks, Babe transpilerl, npm, etc. Redux for state.
- React came from Facebook.
- Redis streams, as opposed to pubsub or blocking lists.
- Founding a company by yourself is usually better than with a cofounder: http://mitsloan.mit.edu/ideas-made-to-matter/2-founders-are-not-always-better-1.
- Great reference for advancing my javascript: https://levelup.gitconnected.com/9-tricks-for-kickass-javascript-developers-in-2019-eb01dd3def2a.
- ‘Promises’ are a newer javacript entity that replace callbacks. They allow you to perform asynchronous tasks. Promises have ‘then’ and ‘catch’ methods, which are basically try/except clauses for the callback. Functions can be defined as ‘async’ which means they are just functions that return promises. ‘Await’ can be used in other async functions, which simply means return whatever the function returns when it is done.
Tuesday, January 15, 2019
- Chiro and acu. Still think it’s kinda pseudoscience, but I’ve been happy with results so far.
- Cleaned the entire garage in preparation for the 4th motorcycle. The “bench” is much more organized now too, which means I can perform work more easily.
- Cat potty training is going well. The tray is now on the toilet, it’s just increasing the hole from here on out!
- Converted the supercontest github repo to private (now free).
- HN/M:
- JournalBook is a legit alternative to my current blogging method of Google Docs: https://journalbook.co.uk.
- Decent story about building a small online side business for income: https://campfirelabs.co/blog-1/2019/1/10/how-i-built-a-5000-per-month-side-project.
- All of Google’s SDP (as of 2 years ago): https://arxiv.org/ftp/arxiv/papers/1702/1702.01715.pdf.
- Ownership of monorepo subtrees.
- Internal code review tools.
- C++, Java, Python, Go, JavaScript. Rarely anything else.
- Requirement of post-mortems.
- Tech leads are different than people leads.
- Make sure your workers that parse XML are have a limit to their memory allocation: https://en.wikipedia.org/wiki/Billion_laughs_attack.
- Frontend cheatsheets: https://medium.freecodecamp.org/modern-frontend-hacking-cheatsheets-df9c2566c72a.
- Frameworks to learn: https://blog.bitsrc.io/the-most-in-demand-javascript-frameworks-for-developers-in-2019-39bba192d8dc.
- Bit is a cross-repo component manager for full stack development: https://bitsrc.io/.
- CORS = cross-origin resource sharing. A random site can’t just make a client-side request and use your cookie from another domain.
- XSS = cross site scripting.
- CSP = content security policy.
- TLS is newer and better than SSL. HTTPS uses TLS now (for the “S” part). This is particularly important for MITM attacks. If your data is not encrypted, a man in the middle could do anything they want with it.
- HSTS = HTTPS strict transport security.
- Horizontal scaling = adding more machines. Vertical scaling = increasing cpu/ram in these machines, eg.
- Redis is used as a cache service sometimes.
- CDN = content delivery network. Serves static data from a bunch of repeater nodes (think in different countries) so that the origin server doesn’t have to serve everything (slowly).
Thursday, January 10, 2019
- Transactive energy. Software that balances production and consumption. Devices are smart and can allocate power based on supply. Clouds over solar panels? Large office space building can reduce heating to compensate. There’s also a trading aspect — the market price for energy will fluctuate as production/consumption (supply/demand) change. Most are basing the market aspect on blockchain technology.
- Series A in about 8–9 months.
- Wrapped around Hyperledger: open source blockchains. Backed by Linux and IBM.
- Distributed ledger. Everyone can check of everyone. Think like a Google spreadsheet.
- Middleware between OS and DB.
- Remember CouchDB and Cassandra from Apache. The former supports mobile.
- Researched some blockchains and the Ethereum model.
- Popularity ranks for backends: https://db-engines.com/en/ranking. Oracle #1.
- BEA was an enterprise software company that got acquired by Oracle.
- B-B and B-C are marketing models: business to business and business to consumer.
- GCP, Google Cloud Platform, storage + analytics + ML.
- IBM Cloud is a huuuuge suite of tools: https://www.ibm.com/cloud/products.
- UDP is faster and doesn’t perform error handling. You could miss datagrams. TCP is heavier but provides all that handshaking.
- HTTP is stateless. Each request is entirely encapsulated and does not depend on other information. Cookies and server-side sessions kinda kinda violate this, but are usually disregarded. On the whole, an HTTP request is self-sufficient and depends on no other state.
- Application layer faces the user: HTTP, SSH, SMTP, etc.
- Transport layer then provides node-to-node: TCP, UDP, etc.
- Internet layer then provides network-to-network: IPv4, IPv6.
- You’ve got SOLID principles under the belt already, but summarized for memory: each thing should only do one thing, lower level utilities should be abstracted, and code should be written to be extended not modified (no concrete specifics in general places).
Wednesday, January 9, 2019
- Can make the supercontest frontend mobile-friendly at some point in the future, although it’s so simple that it already looks fine.
- Chiro.
- If you ever miss conflict lock with apt (or anything, really), don’t just delete the lock. ps aux | grep apt then kill the process using it.
- Uwsgi is a big app. apt install build-essential and python-dev to get the necessary headers.
- .idea is the Pycharm folder (ala jetbrains).
- Messed with nginx, systemd, systemctl, and various service configurations again. Tomorrow I’ll set up the dev env and finish the picks.
Tuesday, January 8, 2019
- Downloaded the Go SDK, started playing with the language a bit.
- Resumed work on the MVP milestone for Supercontest: https://github.com/brianmahlstedt/supercontest/milestone/1. Basically just picks at this point.
- Ordered potty training trays for the cat. No more litter, dirty paws, or smells! And the dome is gone, saving space. Should take a few weeks at least.
- Had a few discussions with acquaintances about technical fields and job potentials. Transactive energy startups, space debris, Google’s new lease on Westside Pavilion down here, eat24/postmates with health/nutrition filters, etc.
- Tried Cha Cha Chicken for the first time. Delicious. Still my favorite cuisines, in order: Indian, Japanese, Caribbean, Thai.
- Researched auto insurance for bodily injury and medical payments, and how those compare to health insurance. BI covers people in other vehicles (or pedestrians, etc). MP is for people in your vehicle. MP is not as necessary if you have standard healthcare which covers auto accidents.
Monday, January 7, 2019
- A few tutorials on SoloLearn.
- Looked at MS Office alternatives like Libre and WPS. Tinkered with the latter for a bit, but ultimately just used Google Docs.
- Updated paper resume and LinkedIn.
- Reorganized Google Drive and Keep.
- Jotted some takeaway notes from SpaceX improvement areas.
- Registered for dodgeballlll again finally.
- Fantastic article about unpacking the source code of a mobile game to authenticate a native request, allowing modification of many in-game resources: https://medium.com/@xplodwild/turning-the-frustration-of-a-mobile-game-into-a-reverse-engineering-training-a9887043efdf.
- You can now add private repos on GitHub for free! 3 collaborator max. https://techcrunch.com/2019/01/07/github-free-users-now-get-unlimited-private-repositories/. I’m going to leave supercontest public. I think it’s important to share code. I would have missed many great references if authors were allowed to hide their work.
Saturday, January 5, 2019
- Cobra research on retro coverage.
- Coconut, a cool wrapper around Python with a few extra features: http://coconut-lang.org/
- Not every software engineer knows everything: https://overreacted.io/things-i-dont-know-as-of-2018/
- tempfs is a temporary file system (duh) which is stored in memory. Faster than persistent storage.
- yEd is great at making diagrams: https://www.yworks.com/products/yed.
- Awesome list of flake8 plugins: https://github.com/DmytroLitvinov/awesome-flake8-extensions. Very useful. Still would like consolidation with pylint.
Subscribe to:
Posts (Atom)