Monday, October 24, 2022

Applied Machine Learning (Cornell CS5785) - course from 2020

 Applied Machine Learning (Cornell CS5785)


"Starting from the very basics, covering all of the most important ML algorithms and how to apply them in practice. Executable Jupyter notebooks (and as slides)"


Lectures: https://www.youtube.com/playlist?list=PL2UML_KCiC0UlY7iCQDSiGDMovaupqc83

Notebooks: https://github.com/Machine-Learning-Tokyo/AI_Curriculum#applied-machine-learning

Thursday, September 22, 2022

Tuesday, September 20, 2022

Courses suggested by Javinpaul (Twitter)

 Best Software Architecture and Design Pattern Courses

1. Design Patterns in Java - bit.ly/3nYGrYR

2. Grokking the OOP Design - bit.ly/3pA4wFD

3. Master Microservices  - bit.ly/2FNlleF

4. Software Architecture Patterns - bit.ly/38Ixqg5


5 Free Courses for Data Structure and Algorithms

1. Data Structure  - bit.ly/3l4VxMj

2. Algorithms - bit.ly/3P45Gqi

3. A Visual Intro to Algorithms - bit.ly/3NcwIKx

4. Data Structures Java - bit.ly/2F5V1uW

5. more - bit.ly/3w2YQJY


5 Best Courses for Microservices

1. Microservice Architecture  - bit.ly/3w1zGva

2. Principles - bit.ly/3ruSCR7

3. Scalable Microservices - bit.ly/3MaP7GS

4. Microservice with Java   -  bit.ly/2FNlleF

5. more - bit.ly/3PQzR3v



6 System Design Problems

 6 System Design Problems [Solved]

1. Instagram- bit.ly/3BqamCL

2. Youtube Design - bit.ly/3bbNnAN

3. WhatsApp - bit.ly/3SbA9Eu

4. Parking Lot - bit.ly/3eMUosX

5. Library design- bit.ly/3SfwJQe

6. URL Shortner - bit.ly/3dZoQ2G

Podcasts and YouTube channels recommended by Hussein Nasser

Below is from his Youtube video - https://www.youtube.com/watch?v=4NsWnT_-FoE

Podcasts and YouTube channels recommended by Hussein Nasser

Recommended Podcasts

https://softwareengineeringdaily.com/

https://www.dataengineeringpodcast.com/

https://changelog.com/podcast

Recommended YouTube Channels

https://www.youtube.com/user/TechGuyWeb

https://www.youtube.com/user/99baddawg

https://www.youtube.com/channel/UCRPMAqdtSgd0Ipeef7iFsKw

https://www.youtube.com/channel/UCn1XnDWhsLS5URXTi5wtFTA

Saturday, September 3, 2022

React Native related - error trying to start Simulator using 'i' shortcut

Error: xcrun exited with non-zero code: 2

An error was encountered processing the command (domain=NSPOSIXErrorDomain, code=2):

Unable to boot device because we cannot determine the runtime bundle.

No such file or directory

https://stackoverflow.com/questions/69804969/react-native-runtimeerror-aborterror-xcrun-exited-with-non-zero-code-2-on

https://stackoverflow.com/questions/31179706/how-can-i-launch-the-ios-simulator-from-terminal

Friday, August 12, 2022

Prerequisites for Algorithms by Jeff Erickson

Author lists below as the prerequisites for reading his book: (Below content has been copied from the Prerequisites pages of his book)

• Discrete mathematics: High-school algebra, logarithm identities, naive set theory, Boolean algebra, first-order predicate logic, sets, functions, equivalences, partial orders, modular arithmetic, recursive definitions, trees (as abstract objects, not data structures), graphs (vertices and edges, not function plots). 

• Proof techniques: direct, indirect, contradiction, exhaustive case analysis, and induction (especially “strong” and “structural” induction). Chapter 0 uses induction, and whenever Chapter n−1 uses induction, so does Chapter n. 

• Iterative programming concepts: variables, conditionals, loops, records, indirection (addresses/pointers/references), subroutines, recursion. I do not assume fluency in any particular programming language, but I do assume experience with at least one language that supports both indirection and recursion. 

• Fundamental abstract data types: scalars, sequences, vectors, sets, stacks, queues, maps/dictionaries, ordered maps/dictionaries, priority queues. 

• Fundamental data structures: arrays, linked lists (single and double, linear and circular), binary search trees, at least one form of balanced binary search tree (such as AVL trees, red-black trees, treaps, skip lists, or splay trees), hash tables, binary heaps, and most importantly, the difference between this list and the previous list. 

• Fundamental computational problems: elementary arithmetic, sorting, searching, enumeration, tree traversal (preorder, inorder, postorder, levelorder, and so on). 

• Fundamental algorithms: elementary algorism, sequential search, binary search, sorting (selection, insertion, merge, heap, quick, radix, and so on), breadth- and depth-first search in (at least binary) trees, and most importantly, the difference between this list and the previous list.

• Elementary algorithm analysis: Asymptotic notation (o, O, Θ, Ω, ω), translating loops into sums and recursive calls into recurrences, evaluating simple sums and recurrences. 

• Mathematical maturity: facility with abstraction, formal (especially recursive) definitions, and (especially inductive) proofs; writing and following mathematical arguments; recognizing and avoiding syntactic, semantic, and/or logical nonsense.


Books:

Margaret M. Fleck. Building Blocks for Theoretical Computer Science, unpublished textbook, most recently revised January 2013. Available from http://mfleck.cs.illinois.edu/building-blocks/. 

• Eric Lehman, F. Thomson Leighton, and Albert R. Meyer. Mathematics for Computer Science, unpublished lecture notes, most recent (public) revision June 2018. Available from https://courses.csail.mit.edu/6.042/spring18/. (I strongly recommend searching for the most recent revision.) 

• Pat Morin. Open Data Structures, most recently revised January 2016 (edition 0.1Gβ). A free open-content textbook, which Pat maintains and regularly updates. Available from http://opendatastructures.org/.



Monday, June 20, 2022

How to run bundler with a lower version

~/xxxxx/xxxxx/xxxxx/xxxx/xxxxxx/xxxxxxxx$ gem list | grep bundler
bundler (2.1.4, 1.17.3, 1.16.4, 1.16.1)

~/xxxxx/xxxxx/xxxxx/xxxx/xxxxxx/xxxxxxxx$ bundle _1.17.3_ install
https://stackoverflow.com/questions/9725811/how-to-downgrade-bundler-or-upgrade-rails

Monday, May 23, 2022

Install nvm on MacOS

https://stackoverflow.com/questions/67241196/error-no-template-named-remove-cv-t-in-namespace-std-did-you-mean-remove

https://tecadmin.net/install-nvm-macos-with-homebrew/

Sunday, May 1, 2022

Upgrading from Rails 6.1 to Rails 7.0

https://edgeguides.rubyonrails.org/7_0_release_notes.html

https://edgeguides.rubyonrails.org/upgrading_ruby_on_rails.html#upgrading-from-rails-6-1-to-rails-7-0

https://medium.com/geekculture/whats-new-in-rails-7-b97d44eecdb2

https://dev.to/thomasvanholder/how-to-upgrade-rails-61-to-rails-7-33a3

https://dev.to/thomasvanholder/rails-7-framework-defaults-part-1-2a59

https://www.fastruby.io/blog/rails/upgrades/upgrade-rails-6-1-to-7-0.html

https://www.youtube.com/watch?v=SjdV_1k1QWY ---> Upgrade from Rails 6 to Rails 7 – web-crunch.com

Tuesday, April 12, 2022

Rails ActiveRecord: 2 ways to write 'where' clause

result = Product.where("description LIKE ?", "%Lorem%")

result = Product.where("description LIKE :term", {term: "%Lorem%"})

Thursday, March 31, 2022

MySQL - finding out slow queries

 SELECT * FROM `mysql`.slow_log ORDER BY query_time DESC;

Sunday, March 6, 2022

sed command example

 https://stackoverflow.com/questions/71318743/kubectl-versions-error-exec-plugin-is-configured-to-use-api-version-client-auth

Below command will take a backup of the file and substitute v1alpha1 with v1beta1

sed -i .bak -e 's/v1alpha1/v1beta1/' ~/.kube/config


Friday, March 4, 2022

React Native project - Sep 19 2021

  Build Uber Eats with React Native & YELP API | Redux | Firebase | Google API

React Native project - Jul 30, 2021

Let's build Uber 2.0 with REACT NATIVE! (Navigation, Redux, Tailwind CSS & Google Autocomplete)  

Tuesday, March 1, 2022

Checklist app in SwiftUI using Core Data

Checklist app in SwiftUI using Core Data - Part 1

Jul 19, 2021

https://www.youtube.com/watch?v=6qtUL8Qgmcw


Checklist app in SwiftUI using Core Data - Part 2

Jul 21, 2021

https://www.youtube.com/watch?v=4RJrHbk-VgE

Saturday, January 8, 2022

Rails related: Concerns, Module-method extraction Vs Class-based extraction, Concerning module

1) Single-use Modules are probably better off as Classes as per the below article.

 https://www.cloudbees.com/blog/when-to-be-concerned-about-concerns

By and large, maintainers tend to agree that smaller composable classes are the best way to isolate code and keep things clean.

....

....

I'm not saying that you need to go out and refactor all your single-use modules into classes. I am saying if you find yourself reaching to do a module-method extraction, stop. Consider what road you're starting down and these lessons I've shared. What would a class-based extraction look like instead?

2) https://blog.appsignal.com/2020/09/16/rails-concers-to-concern-or-not-to-concern.html 

3) https://api.rubyonrails.org/v5.0/classes/Module/Concerning.html

4) https://scoutapm.com/blog/rails-concerns - sort of consolidates content from the above articles

5) https://rails.devcamp.com/trails/dissecting-rails-5/campsites/data-management-rails/guides/how-to-use-concerns-rails-5

 

Sunday, January 2, 2022

Draft Pull Requests

 https://software.rajivprab.com/2021/12/26/our-engineering-principles-and-best-practices/

Draft Pull-Requests

For each pull-request, first create a draft pull-request, demonstrating the proposed implementation at a high level. Use TODOs and placeholders to indicate which classes/methods you will be touching. Send it off for review and then immediately start working on the actual code and tests.

This mitigates the amount of wasted effort, if your reviewer then suggests a completely different way of implementing things. Once your reviewer approves the draft, link to it in your pull-request, to make sure everyone knows what was already discussed and agreed on.