Recycling and some older guidance…. I hope this helps someone.

TLDR;

  • When Should You Use REST?
    • Most used for building microservices-based infrastructures. 
      • Any time you plan to build an app or a larger computer system that requires connecting microservices, REST is the most common choice.
    • Best for externally-facing APIs. 
      • If you need standardized HTTP protocol, high-speed iteration, and multi-language microservices connected, then REST should be your main choice. 
    • Universal support with third-party tools, so are ideal for everything from apps to web services.
  • When Should You Use gRPC?
    • Best for building internal systems where tighter coupling is not an issue. 
    • Useful for connecting architectures that consist of lightweight microservices where the efficiency of message transmission in a multilingual environment is most important.
    • When real-time communication is required.  
    • When used over low-power, low-bandwidth networks
      • An IoT network would benefit more from gRPC than REST.

REST vs gRPC 

    • gRPC is a high-performance, binary, strongly-typed protocol using HTTP/2.
      • gRPC is a high-performance, open-source framework developed by Google for efficient communication between services using a binary protocol (Protocol Buffers) and HTTP/2
        • Protocol Buffers are the Interface Definition Language (IDL) used to describe service interfaces and payload message structures.
      • gRPC is based upon the RPC (Remote Procedure Call) paradigm
        • An RPC API request to delete a resource with the id of “2” might use the HTTP verb POST with a /deleteResource URL with query string of { “id”: 2 }   
      • gRPC supports bidirectional streaming since it uses HTTP/2.
      • gRPC APIs use their own Protoc Compiler which enables you to create your own code. 
        • Protoc Compilers work in multiple languages and can be used in polyglot environments (groups of microservices can run on separate platforms and be coded in different languages).
        • Protoc Compilers compile .proto files, which contain service and message definitions.
        • Protoc Compilers support the following languages:
    • REST is a simpler, stateless protocol using HTTP 1.1 with text-based JSON/XML messages
      • REST is a more established, text-based approach leveraging standard HTTP methods for building web APIs.
      • REST follows the architectural constraints of the Representational State Transfer model. 
        • Standard HTTP methods are used with Uniform Resource Identifiers (URIs) to communicate requests and responses between a client and a server.
        • Each URI describes a self-contained operation and contains all the information needed to satisfy the request.
        • A REST API request to delete a resource with the id of “2” could use an URL with the HTTP DELETE verb: DELETE /resource/2.
      • REST is limited to request-response communication patterns since it uses HTTP 1.1
Characteristic gRPC REST API
HTTP Protocol HTTP 2 HTTP 1.1
Messaging Format Protobuf (Protocol Buffers) – binary JSON (usually) or XML and others – text
Code Generation Native Protocol Compiler Third-Party Solutions Like Swagger
Communication Unary Client-Request or Bidirectional/Streaming Client-Request Only
Receiving Data 7 times faster than REST 7 times slower than gRPC
Sending Data 10 times faster than REST 10 times slower than gRPC
Implementation Time 45 Minutes 10 Minutes

Protocol Buffers vs XML/JSON

  • XML/JSON
    • Platform and language agnostic 
    • Messages are human-readable and communicate structured data 
  • Protocol Buffers 
    • Platform and language agnostic 
    • Not human readable but highly efficient
      • Serializes and deserializes structured data to communicate via binary
      • Uses a highly compressed format
      • Much faster – focuses strictly on serializing and deserializing data 
      • Reduced message sizes

HTTP 1.1 vs HTTP/2

  • HTTP 1.1
    • The standard for communication on the web. 
    • Relays information between a computer (client) and a web server (server), which may be local or remote. 
    • Client sends text-based request and a resource (web page, PDF, message, etc) is returned from the server. 
    • Does not support streaming – request/response only.
  • HTTP/2
    • Supported by most modern browsers in addition to HTTP 1.1.
    • HTTP/2 uses binary messages instead of plain text smaller packages, faster throughput).
    • HTTP/2 reduces network delay through the use of multiplexing (enables multiple requests to fire simultaneously on the same connection, receiving requests back in any order).
    • Supports 3 types of streaming:
      • Server-side (long running process on server over a single connection – server updates client with progress and final result):
        1. A client sends a request message to a server. 
        2. The server returns a stream of responses back to the client. 
        3. After completing the responses, the server sends a status message (and, in some cases, trailing metadata), which completes the process. 
        4. After receiving all of the responses, the client completes the process. 
      • Client-side (client sends multiple requests to server over a single connection, server sends back response when all requests are done): 
        1. A client sends a stream of request messages to a server. 
        2. The server returns one response back to the client. It (usually) sends the response after receiving all of the requests from the client and a status message (and sometimes trailing metadata). 
      • Bi-directional (chatty – controlled by the client): 
        1. A client and server transmit data to one another in no particular order. 
        2. The client is the one that initiates this kind of bidirectional streaming.
        3. The client ends the connection.

 

Resources

  • Romans overview (video): Part 1, Part 2
  • Romans is structured as follows:
    • Books 1-4: Revealing God’s Righteousness
    • Books 5-8: Creating a New Humanity
    • Books 9-11: Fulfilling God’s Promise to Israel
    • Books 12-16: Unifying the Church

Romans 6: Creating a New Humanity

Context

  • Romans 6:11 is the theme of this chapter (emphasis mine):
    • So you also should consider yourselves to be dead to the power of sin and alive to God through Christ Jesus.
  • Sin has no power over us – it only has the power we give it.
  • Paul asks if Christians should continue in sin once they have been saved.
    • He gives several reasons why we must not:
      • we died to sin’s power over us
      • we are now servants to righteousness
      • what good did sin ever bring to you, anyway?
  • Paul will transition to Romans 7 and discuss what it means to be released from the law of Moses.

Notes

  • Romans 1: What shall we say then?
    • Refers back to 5:20 – if sin increases grace abounds even more.
    •  If grace abounds when we sin we shouldn’t actively sin to get more grace. This is like saying “”I’m gonna shovel my sidewalk so it snows again”.  We don’t need an abundance of sin.
  • v2: We’re not trying to live in in to get more grace – we should die to sin so that we sin no more.
  • v3: have you forgotten that when we were joined with Christ Jesus in baptism, we joined him in his death?
    • There are people who know the gospel but choose to ignore it because they don’t fully understand that God’s grace is enough to cover every sin and transgression.
    • You ignore the fact that our sins are an expressway to death
    • All you have to do to change this ignoreance is to ask the Lord to believe in His plan for you – this will lead to eternal life.
    •  Stop ignoring this  gift – deal with it now before it’s too late.
  • v4:  For we died and were buried with Christ by baptism. And just as Christ was raised from the dead by the glorious power of the Father, now we also may live new lives.
      • The glory of God gives us the glory to die to sin and walk in a new life.
      • In John 11:40 Jesus said “Didn’t I tell you that you would see God’s glory if you believe?”
      • When we witness someone dying to sin and embracing a new life
  • v5: Since we have been united with him in his death, we will also be raised to life as he was.
    •  We are united with Jesus in a new life when we die to our sins.
    • Jesus came to us so we couold have an abundant life
  • V6: We know that our old sinful selves were crucified with Christ so that sin might lose its power in our lives. We are no longer slaves to sin.
    • We are no longer slaves to sin. The addiction to sin no longer applies to us.
    • Ephesians 4:20-22 tells us we’re not alone when we die to our sins.
      • 20 But that isn’t what you learned about Christ. 21 Since you have heard about Jesus and have learned the truth that comes from him, 22 throw off your old sinful nature and your former way of life, which is corrupted by lust and deception.
  • v7: For when we died with Christ we were set free from the power of sin.
    • Jesus paid the price so we can be free from our sin
  • v13: Do not let any part of your body become an instrument of evil to serve sin. Instead, give yourselves completely to God, for you were dead, but now you have new life. So use your whole body as an instrument to do what is right for the glory of God.
    • Do not let the things in this world distract you from bring aware of what God has in store for you.
  • v16: Don’t you realize that you become the slave of whatever you choose to obey? You can be a slave to sin, which leads to death, or you can choose to obey God, which leads to righteous living.
    • Who do you serve? Death or righteousness?
  • v19:  Because of the weakness of your human nature, I am using the illustration of slavery to help you understand all this. Previously, you let yourselves be slaves to impurity and lawlessness, which led ever deeper into sin. Now you must give yourselves to be slaves to righteous living so that you will become holy.
    • If you are a slave to sin you are free from righteousness.
  • v22-23: 22 But now you are free from the power of sin and have become slaves of God. Now you do those things that lead to holiness and result in eternal life. 23 For the wages of sin is death, but the free gift of God is eternal life through Christ Jesus our Lord.
    • Sin leads to death.
    • Do not ignore that you should be dead to sin.
    • Yield to Christ – how are you persuing Him to ensure you are dead to sin?

Summary

  • The freedom Paul talks about in Christ refers to liberation from sin and its consequences, allowing us to live according to God’s design.
    • Freedom From Sin’s Dominion:
      • Romans 6:6-7 emphasizes that Christians are “dead to sin” because we are united with Christ in His death (v. 6).
      • This doesn’t mean sin no longer exists, but that its control over us is broken (v. 7). We are no longer slaves to sin (v. 18).
    • Freedom to Live According to God’s Will:
      • This freedom isn’t about unrestrained behavior, but about the ability to choose what pleases God (Romans 6:16).
      • We are free from the Law’s condemnation (Romans 8:1) and empowered by the Holy Spirit to live righteously (Romans 8:4).
    • Living as God’s Creation:
      • God created us with a purpose and desires us to live according to His good design (Ephesians 2:10).
      • Freedom in Christ allows us to fulfill this purpose and experience the joy of living in alignment with God’s will.


I like to think I’m a good Christian, then I read Matthew 7:21-23 and it terrifies me.

  • 21 “Not everyone who calls out to me, ‘Lord! Lord!’ will enter the Kingdom of Heaven. Only those who actually do the will of my Father in heaven will enter.
  • 22On judgment day many will say to me, ‘Lord! Lord! We prophesied in your name and cast out demons in your name and performed many miracles in your name.’
  • 23But I will reply, ‘I never knew you. Get away from me, you who break God’s laws.’

It’s worth remembering Ephesians 2:8-10 here (emphasis mine):

  • 8 For by grace you have been saved through faith. And this is not your own doing; it is the gift of God,
  • 9 not a result of works, so that no one may boast.
  • 10 For we are his workmanship, created in Christ Jesus for good works, which God prepared beforehand, that we should walk in them.

Context is critical when interpreting the Bible. John 6:40 reveals God’s will through Jesus’ own words (emphasis mine):

  • 40 “For it is my Father’s will that all who see his Son and believe in him should have eternal life. I will raise them up at the last day.

We need to do the works that God has prepared for us, but always remember it is our faith alone that saves us.

Also see James 2 for an analysis on James’ comment that “faith without works is dead”.

Related:

 

 

Resources

  • Romans overview (video): Part 1, Part 2
  • Romans is structured as follows:
    • Books 1-4: Revealing God’s Righteousness
    • Books 5-8: Creating a New Humanity
    • Books 9-11: Fulfilling God’s Promise to Israel
    • Books 12-16: Unifying the Church

Romans 5: Creating a New Humanity

Paul structures his main points in Romans with a clear progression, often broken down into four sections:
  • Need for Rescue (Romans 1-4): Here, Paul establishes the universality of sin and its consequences. He argues that both Jews and Gentiles fall short of God’s righteousness.
  • New Covenant Family in Christ (Romans 5-8): This section introduces the concept of justification by faith in Jesus Christ. Paul explains how faith brings forgiveness and adoption into God’s family.The concept of justification by faith is a fundamental tenet of Christianity.

Here’s why it’s so important:

  • Salvation by Grace: Justification by faith emphasizes that salvation comes through God’s grace, not by human merit or good works.
  • Universality of Sin: It acknowledges that all people are inherently sinful and fall short of God’s perfection.
  • Focus on Faith: This doctrine emphasizes faith in Jesus Christ as the key to being declared righteous before God.
However, it’s important to note some nuances:
  • Debate on Emphasis: While justification by faith is widely accepted, some Christian traditions may place more emphasis on good works as evidence of genuine faith.
  • Different Interpretations: There can be debate about the precise meaning of “faith” and “works” within the concept.

Justification by faith remains a foundational principle for many Christians, especially in Protestant theology.By verse:

  • V1:
    • “Therefore” – check why its there for people though they were righteous because they obeyed the law.
      But Abraham believed and was counted justified – before he was circumcised, before he obeyed.
      See Ephesians 2:8: Hebrews – without faith, we cannot please God
      We cannot merit salvation – only by Jesus.
      Jesus paid our price. We are justified on account of the atonement of Christ
  • V2
    • We have access to justice by faith through Christ.
      Through Grace, we get mercy.
  • V3
    • We are preserved through hard times. The three men (Shadrach, Meshach, and Abednego) were met in the fiery furnace. They were not delivered from it, they were delivered in it. (Daniel 3)
  • V9
    • We in were justified by His blood, we cannot earn this. This is why Jesus came to earth.
  • V10

 

UPDATE: The issue with the dropping connection appears to have been fixed.

Make sure you:

  • update to the latest version of Phone Link on your PC (run Windows Update)
  • update to the latest version of Link to Windows (app & service) on Android (update from Play Store)
  • grant necessary permissions to Link to Windows (app & service) on Android
  • ensure Link to Windows (app & service) on Android are not battery optimized

You might need to remove and add back your PC to Link to Windows (app & service) on Android.

———

I love accessing my Android phone apps from my PC but the screen mirroring option kept dropping, making it unusable. After trying many things I finally uninstalled the latest update fom Android and it is now working again. No more disconnections. The version I’m using on Android is shown above.

Update: 

Link to Windows seems to have been automatically updated on my Android and the connection started dropping again.

Follow these steps  to re-install the (as of now) working version of Link to Windows (as referenced in the post above):

  • First, a bit of clarification:
    • “Phone Link” is the Windows app that runs on your PC.
    • “Link to Windows” is the Android app that runs on your phone.
  • Uninstall Link to Windows updates on your Android phone by going into Link to Windows and selecting the Uninstall Updates option from the menu in the upper right corner.
  • Unlink your Android device (see here for directions).
    • You might also need to stop and wipe the storage on the Link to Windows app and service on your phone. To do this go into each one’s properties, stop the app or service, click Storage, and wipe the cache and storage for the Link to Windows app the Link to Windows service.
  • I was unable to find the Android version mentioned in the post above from Microsoft so I re-installed it on my phone from this link.
    • Note: the source for this link is obviously not Microsoft so please take appropriate precautions by running virus scans before installing (I do this for things I install from Microsoft also – trust but verify).
    • After installing from the link above, go to Link to Windows app properties on your Android device and ensure all necessary permissions are added back. Link to Windows will not work until you do this (you’ll have to log back into the Link to Windows Android app again).
    • If your PC is still showing up in the Link to Windows Android app you might need to stop and wipe the storage on the Link to Windows app and service on your phone.
      • To do this go into each one’s properties, stop the app or service, click Storage, and wipe the cache and storage for the Link to Windows app the Link to Windows service.
  • Re-link your phone back to your PC using the Link to Windows app (you’ll need to scan a code that Phone Link will generate on your PC).
  • At this point the connection should remain stable when you view your Android screen from your PC.

If you need to remove and re-install the Phone Link app on your PC follow these directions:

  1. Open PowerShell as Administrator
  2. Run this command: Get-AppxPackage Microsoft.YourPhone -AllUsers | Remove-AppxPackage
  3. Phone Link will be removed from your PC.
  4. Re-install Phone Link from the Microsoft Web Store – this link will pull up Phone Link in the web Store experience.
    • NOTE: Clicking install from the web Store experience will invoke the Store client in Windows, enabling you to re-install Phone Link on your PC.  I’ve tried searching for Phone Link directly in the the Windows Store client but I’ve never been successful in finding it. So annoying.
  5. At this point the Phone Link app should be fully re-installed on your PC. Now follow the instructions above to re-install the working version of Link to Windows on your Android phone and get things reconnected.

Oy, what a pain in the tuchas.

 

 

Resources

  • Romans overview (video): Part 1, Part 2
  • What is Romans?
    • Romans contains letters from Paul to the churches of Rome.
    • The church of Rome had existed for a long time and was made up of Jews and Gentiles.  Emperor Claudius had banished the Jews from the church for 5 years.  When the Jews returned there was a split between Gentiles and Jews in how they should follow Jesus and practice their faiths. Paul’s letters were an attempt to explain his faith and unite the Jews and the Gentiles into one faith worshiping Jesus. Paul hoped the Roman churches could become a staging ground to enable Paul to expand the church into Spain and beyond.
    • Romans is structured as follows:
      • Books 1-4: Revealing God’s Righteousness
      • Books 5-8: Creating a New Humanity
      • Books 9-11: Fulfilling God’s Promise to Israel
      • Books 12-16: Unifying the Church

Romans 3

What are the advantages of being a Jew?

  • God gave supernatural instructions to the Jews – they received these instructions before anyone else so that all the nations could be blessed.
    • See Acts 7:38, 1 Peter 4:11 – the Word is passed from them to the world.
  • The ancestors of the Jews includes the Messiah, Jesus Christ.

Israel’s unbelief or unfaithfulness doesn’t cancel God’s promises in the Old Testament.

  • God keeps His promises.

God did not agree to fulfill His promises to all Jews – God said He will fulfill all His promises even if individual Jews cannot receive these promises due to lack of faith (Psalm 51:4).

  • God is bigger than any man’s sin or unfaithfulness.
  • We can always repent to receive His promises.

We can’t continue to live in sin, even if we delude ourselves into thinking it brings attention to God.

  • The Jews were convinced that their animal sacrifices would make up for their ongoing sins.
    • This is a similar argument that many atheists make: “I can sin my way through life and just accept Jesus as my savior on my deathbed”.

The Jews were asking: “if my lie amplifies God’s truth why should I be punished?”

There is only one God who makes everyone right by faith – both Jew and Gentile.

 

 

 

 


DevOps unites development and operations. DevOps is the practice of breaking up monolithic architecture and teams to create smaller, autonomous teams that can build, deliver, and run applications.

Platform Engineering (PE) focuses on abstracting out infrastructure or other things that distract DevOps teams from delivering their domain. PE is a fairly new buzzword/concept and is really just a subset of DevOps.

Site Reliability Engineering (SRE) focuses on helping DevOps and internal platform teams increase reliability, scalability and security.

DevOps vs SRE vs PE

  • DevOps focuses on the development side.
  • SRE focuses on the operations side.
  • PE focuses on internal development enablement and is really a part of DevOps.

SRE and Platform Engineering benefit from the three ways of DevOps:

  1. Concentration on increasing flow
  2. Tight feedback loops
  3. Continuous experimentation, learning and improvement

Role comparisons:

  • Infrastructure Engineer – Generic term for engineers who works on core infrastructure.
  • Cloud Engineer – Engineers who works on public cloud (AWS, Azure, GCP, etc).
  • SRE – Software engineers who focuses on application reliability, budgeting uptime, and toil automation. Three letter terms are their friends (SLO, SLA, SLI).
  • DevOps Engineer – Infrastructure engineers who focuses on reducing silo between development teams and infrastructure teams. NOTE: If your team has dedicated DevOps Engineers, your org isn’t really practicing DevOps.
  • Platform Engineer – Engineer who focuses on designing and building tools and workflows that enable self-service. An enabler of software engineering teams.

Resources

  • Romans overview (video): Part 1, Part 2
  • What is Romans?
    • Romans contains letters from Paul to the churches of Rome.
    • The church of Rome had existed for a long time and was made up of Jews and Gentiles.  Emperor Claudius had banished the Jews from the church for 5 years.  When the Jews returned there was a split between Gentiles and Jews in how they should follow Jesus and practice their faiths. Paul’s letters were an attempt to explain his faith and unite the Jews and the Gentiles into one faith worshiping Jesus. Paul hoped the Roman churches could become a staging ground to enable Paul to expand the church into Spain and beyond.
    • Romans is structured as follows:
      • Books 1-4: Revealing God’s Righteousness
      • Books 5-8: Creating a New Humanity
      • Books 9-11: Fulfilling God’s Promise to Israel
      • Books 12-16: Unifying the Church

ROMANS 2

  • Chapter 2 Summary:
    • Do not judge others since you do the same things. God’s kindness intends to turn you from your sins.
    • Everyone will be judged according to what they have done – those that live for themselves will be punished (Jews first, then Gentiles).
    • Those Gentiles who sin but do not have God’s written law will still be punished. (2:12)
      • Gentiles instinctive obey God’s law even though they have never heard it (2:14)
    • Merely listening to the law is not enough – you must obey it as well. (2:13)
    •  Jesus will judge everyone’s secret life (2:16)
    • Jews boast about a special relationship with God (2:17) yet continue to sin (2:21-2:27)
    • Jews who don’t obey God’s law are not God’s chosen people. Gentiles who obey God’s law can be God’s chosen people. (2:25-2:26, 2:28-2:30).  Note: This contradicts the belief of most Jews – this might be why Jews don’t read or study the New Testament.