Skip to content

Instantly share code, notes, and snippets.

View bingtimren's full-sized avatar

Bing Ren bingtimren

  • Hub24
  • Melbourne
View GitHub Profile
@bingtimren
bingtimren / boot-failure
Created May 28, 2020 02:41
Log of failed boot, produced with command `journalctl -b-1 -a --no-pager `
-- Logs begin at Tue 2020-05-19 12:00:39 AEST, end at Thu 2020-05-28 11:56:41 AEST. --
May 28 10:10:41 bing-e480 kernel: microcode: microcode updated early to revision 0xca, date = 2019-10-03
May 28 10:10:41 bing-e480 kernel: Linux version 5.4.0-31-generic (buildd@lgw01-amd64-059) (gcc version 9.3.0 (Ubuntu 9.3.0-10ubuntu2)) #35-Ubuntu SMP Thu May 7 20:20:34 UTC 2020 (Ubuntu 5.4.0-31.35-generic 5.4.34)
May 28 10:10:41 bing-e480 kernel: Command line: BOOT_IMAGE=/boot/vmlinuz-5.4.0-31-generic root=UUID=b45a47d4-7770-433a-9cd0-d7e4b240dada ro quiet splash vt.handoff=7
May 28 10:10:41 bing-e480 kernel: KERNEL supported cpus:
May 28 10:10:41 bing-e480 kernel: Intel GenuineIntel
May 28 10:10:41 bing-e480 kernel: AMD AuthenticAMD
May 28 10:10:41 bing-e480 kernel: Hygon HygonGenuine
May 28 10:10:41 bing-e480 kernel: Centaur CentaurHauls
May 28 10:10:41 bing-e480 kernel: zhaoxin Shanghai
@bingtimren
bingtimren / typescript-class-as-type-demo.ts
Last active November 13, 2018 08:30
typescript how to define type of a class and its sub-classes
class A{
propA:string
}
class B extends A{
propB:string
}
let a : {new(...args:any[]):A} = A // ok
let b1 : {new(...args:any[]):A} = B // ok
let b2 : {new(...args:any[]):B} = B // ok
let bad : {new(...args:any[]):B} = A // not OK