You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: notes/2023-10-05.md
+53-3Lines changed: 53 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -921,6 +921,56 @@ Give examples of how you have used different ways of understanding things.
921
921
922
922
## Questions After Today's Class
923
923
924
-
```{important}
925
-
this will get added later
926
-
```
924
+
### Why would we need to know about the lower layers of hardware and software if there are abstractions in place for us?
925
+
926
+
This is a great question!
927
+
928
+
Most of the time that is exactly the advantage to the abstractions, but you typically need to know about the things at least in the adjacent levels. Some times knowing about more layers can help you make better design choices or understand edge case behavior. We will see some of those throught the rest of the semester.
929
+
930
+
Another part of why we teach these things in a CS degree is so that you can make a more informed choice about what you want to specialize in later, too.
931
+
932
+
### what an example of Instruction set architecture
933
+
934
+
the [x86 isa](https://en.wikipedia.org/wiki/X86_instruction_listings) is an example.
935
+
936
+
### How to install `gh`?
937
+
938
+
[from their docs](https://github.com/cli/cli#installation)
939
+
940
+
### How often do software engineers touch machine code?
941
+
942
+
Software engineers is a very broad category. If you write drivers, that might be very different than if you write front ends.
943
+
944
+
If you write compilers, again another very different amount.
945
+
946
+
### how physics play into abstraction
947
+
948
+
The actual physics of how electricity works is the lowest level of abstraction, or most concrete/least abstract way to describe how a computer works.
949
+
950
+
951
+
### why do brew and gh keep uninstalling from my terminal?
952
+
953
+
This might be a setting somewhere in your system that erases or resets things? If you find the answer to this and add it as an FAQ, that is worth a community badge.
954
+
955
+
### Should I install the `gh` CLI?
956
+
957
+
You can, it's a little harder on Windows, but possible.
958
+
959
+
960
+
### What is a GUI based tool?
961
+
962
+
GUI stands for graphical user interface. Everything on a modern compputer except the terminal is a GUI.
963
+
964
+
965
+
### Is it useful to create models during the process of development, or is it mostly useful after the fact?
966
+
967
+
Models are often made before things are built. Sometimes they are refined after, but usually they are used to guide the development.
968
+
969
+
970
+
### How deep should we really understand abstraction layers and how useful is it as a developer to know it?
971
+
972
+
We will see them again and they will come up at least implicitly in other classes as well. It is important to know that they exist and what they are for sure. How much you directly interact with them will vary though.
973
+
974
+
### How will our view on memory change with abstraction as we get to the higher level classes?
975
+
976
+
We will talk about the physical device that implements memory later and you will learn more about it again in 411 if you take that.
Copy file name to clipboardExpand all lines: notes/2023-10-12.md
+69-1Lines changed: 69 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1043,4 +1043,72 @@ no changes added to commit (use "git add" and/or "git commit -a")
1043
1043
1044
1044
Put your list of objects in your `test` repo into a file `test_repo_ojbects.txt` in your Experience report branch.
1045
1045
1046
-
## Questions After Today's Class
1046
+
## Questions After Today's Class
1047
+
1048
+
### Can a pointer to an old file exist as an object in the git objects?
1049
+
1050
+
a tree will have a pointer to the previous version of the file yes.
1051
+
1052
+
### Is there a manual way to do other commands like git push and git add?
1053
+
1054
+
We did git add today. We hashed the object and added the hash to the index. Push does have some other steps in it, those are in the practice badge.
1055
+
1056
+
1057
+
### Why you are allowed to create empty trees if it is basically a wasted file?
1058
+
1059
+
Because it does not hurt anything.
1060
+
1061
+
### How are pipes and redirect different?
1062
+
1063
+
Pipes connect stdout to stdin, to connect commands. Redirect just changes the source.
1064
+
1065
+
1066
+
### When do people manually create git objects and commits?
1067
+
1068
+
Manually exploring is not a common scenario. These commands *exist* primarily for git itself, remember modular code gives more power.
1069
+
1070
+
We went through doing it manually to see and understand. You can end up in edge case scenarios in other ways, but using the plubming commands is the best way to to see that.
1071
+
1072
+
1073
+
### Why are these commands so easy to confuse and mix up with each other? I have a hard time remembering some of the longer commands.
1074
+
1075
+
Some of the commands we have used are detailed low frequency use commands that you do not need to memorize.
1076
+
1077
+
### Is there a quicker way to find the onbject type if you get lost. Instead of going through each of them with the "git cat-file -t" command?
1078
+
1079
+
For this activity, you can copmare to mine. In a normal use scenario, you would not do this manually, so you would have some other way to know what commit or object you were looking for.
1080
+
1081
+
1082
+
### what are hashes?
1083
+
1084
+
A hash is a fixed length representation of variable lenght input. We will see more about them in the coming weeks.
1085
+
1086
+
### What are trees?
1087
+
1088
+
Trees are one type of git object, that contains information about the directory at a given moment. It contains pointers to the blob objects andinformation about each file.
1089
+
1090
+
1091
+
### How do I change my inclass branch from master to main??
1092
+
1093
+
```
1094
+
git branch -m main
1095
+
```
1096
+
1097
+
### What is the difference between the -t and -p flags? I noticed them while going through the comnmands.
1098
+
1099
+
these are options on [`git cat-file`](https://git-scm.com/docs/git-cat-file). They're defined above and at the link.
1100
+
1101
+
1102
+
### Would there be any reason to use these commands rather than relying on the porcelain commands?
1103
+
1104
+
Not if things are going well, but they could be used to try to figure out what went wrong if you find a repo in a weird state.
1105
+
1106
+
1107
+
### when would we use this over doing it on GitHub itself aside from offline?
1108
+
1109
+
We cannot run these detailed steps on github in browser. Recall, we do not even directly "add" files there. In browser, we have to commit in order to save a file.
1110
+
1111
+
1112
+
### Why does the file still have untracked changes?
1113
+
1114
+
We hashed the file, but did not put the second hash into the tree or create a second commiit.
0 commit comments