←back to thread

334 points jamesbelchamber | 2 comments | | HN request time: 0.431s | source
Show context
devinvs ◴[] No.45894969[source]
my best shot at it:

  year:   bits 0-6 reversed
  month:  bits 6-10 reversed
  hour:   bits 13-18
  minute: bits 18-24
  day:    bits 24-29 (maybe reversed)
unsatisfyingly I don't have any idea what the gaps are or why parts need to be reversed, so i could be wrong. With the data from the post:

  y  mo d  h  mi
  25 11 10 11 3
  25 11 10 11 31
  25 11 10 12 1
  25 11 10 12 35
  25 11 10 13 0
  25 11 10 13 31
  25 11 10 13 31
  25 11 10 14 0
replies(1): >>45903211 #
bluesign ◴[] No.45903211[source]
I think this is the format, some parts are split ( maybe some obfuscation attempt )

0-4 month 4-7 year 8-10 hour 11-15 day 22-23 hour 24-29 flags 30-31 year

replies(1): >>45906046 #
1. devinvs ◴[] No.45906046[source]
I might be misunderstanding, but this seems very wrong. your method on the first entry:

  10011011010100101100001101010000
  year = 101 00 (20? year should be 25 or 2025)
  month = 1001 (9, but month is Nov)
  day = 1001 (9, not enough bits to encode large days)
  hour = 01 1 or 01 11 (3, 7, or 14 reversed, should be 11)
  no minute field
replies(1): >>45906657 #
2. bluesign ◴[] No.45906657[source]
ah sorry, when I was debugging I changed the endianness.

  0x9B530150 -> 0x5001539B ->
  01(year_1) 010000(flags) 00(hour_2) 000001(minute) 01010(day) 011(hour_1) 1001(year_2) 1011(month)
  month 1011 -> 11
  year  01 1001 -> 25
  day = 01010 -> 10
  hour = 011 00 -> 12
  minute = 000001 -> 1


 with no endianness change should be: 

 1001(year_2) 1011(month) 01010(day) 01100(hour) 000001(minute) 01(year_1) 010000(flags)

 with your data:

 1001(year_2) 1011(month) 01010(day) 01011 (hour) 000011(minute) 01(year_1) 010000(flags)
 
 16+9=25       11            10        11              3