Diary 2016/11/19 - 2016/11/26
Created at 2016-11-27T08:05:36.000Z

Summery

  • C++ standard and implementation
    • clang, llvm
    • memory model for performant concurrency
  • Chromium
  • Music production on Linux
    • Wine
  • Debugger internal
    • ptrace
  • systemd.conf videos

2016/11/19

The competition in many parts of the hardware market is so intense that even the cost of a bit of EEPROM for the device’s controlling firmware is more than the manufacturer is willing to spend. So the firmware is distributed on a CD with the hardware, and the operating system is charged with conveying the firmware to the device itself.

$ ls /etc/ssh/ssh_host*
/etc/ssh/ssh_host_dsa_key        /etc/ssh/ssh_host_ed25519_key
/etc/ssh/ssh_host_dsa_key.pub    /etc/ssh/ssh_host_ed25519_key.pub
/etc/ssh/ssh_host_ecdsa_key      /etc/ssh/ssh_host_rsa_key
/etc/ssh/ssh_host_ecdsa_key.pub  /etc/ssh/ssh_host_rsa_key.pub

2016/11/20

2016/11/21

2016/11/22

2016/11/23

  vector<int> nums0{3, 1, 5, 8};
  auto nums1 = vector<int>{3, 1, 5, 8};
  vector<int> nums2 = vector<int>({3, 1, 5, 8});
  vector<int> nums3 = {3, 1, 5, 8};

  auto nums4 = new vector<int>({3, 1, 5, 8});
  vector<int>* nums5 = new vector<int>({3, 1, 5, 8});
  • 5.3.4 New (expression) in C++

    • array is special:

    If the entity is a non-array object, the new-expression returns a pointer to the object created. If it is an array, the new-expression returns a pointer to the initial element of the array.

  • Analyze how multi dimentional vector works
    • container object calls destructor of inner elements before it delete itself? (this depends on allocator<T>)
    • container object allocates space on heap? (of course)
    • 23.3.11.2 vector constructors, copy, and assignment
    • 20.10.9 The default allocator
    • 17.6.3.5 Allocator requirements
    • just find the definitions around these (e.g. allocator<vector<int>>) in the wild (libcxx/include/experimental/vector)
  • copy? CopyInsertable?

2016/11/24

$ docker network inspect 466da76d5ac4
[
    {
        ...
        "IPAM": {
            "Driver": "default",
            "Options": null,
            "Config": [
                {
                    "Subnet": "172.27.0.0/16",
                    "Gateway": "172.27.0.1/16"
                }
            ]
        },
        "Internal": false,
        "Containers": {
            ...
            "6b2659d3a986d3697d092038830c9515708f2e026ae33f6511db71ab479d3d51": {
                ...
                "MacAddress": "02:42:ac:1b:00:02",
                "IPv4Address": "172.27.0.2/16",
                "IPv6Address": ""
            },
            ...
        },
        "Options": {},
        "Labels": {}
    }
]
$ curl -I http://172.27.0.2:3000
HTTP/1.1 200 OK
...
$ ping 172.27.0.2
PING 172.27.0.2 (172.27.0.2) 56(84) bytes of data.
64 bytes from 172.27.0.2: icmp_seq=1 ttl=64 time=0.143 ms
...

2016/11/25-26