What is Hackers' Pub?

Hackers' Pub is a place for software engineers to share their knowledge and experience with each other. It's also an ActivityPub-enabled social network, so you can follow your favorite hackers in the fediverse and get their latest posts in your feed.

0
0
1
1
0
0
1
0
0
0
1
1
0
0
0
1
0

타우수그족 여성의 전통 의복은 바타위 내지는 사블라이라고 하는 상의와 가랑이가 넓은 바지인 사왈, 그리고 허리 부분을 덮는 넓은 천인 킨당 등으로 구성되어 있다. 본 작품에서는 그 외에 히잡에 피스 샤빗이라고, 원래는 남성이 착용하는 전통 머리쓰개 문양을 적용했다.

1
1
0
2
0
0
0
0
0
1
0
0
0

Keep optimizing IRQ latency on the STM32H743 @ 480 MHz. The 70 ns vs. 100 ns overhead mystery solved. I did not correctly relocate the vector table to Tightly-Coupled Memory properly, it was still in Flash. The STM32 HAL macro USER_VECT_TAB_ADDRESS is a flag, not a memory address! In fact, only several hardcoded addresses are available, a real user override is not provided (the name "user" is a lie). Solution: just change VTOR manually, don't trust the startup code. I'm now getting 70-ns IRQ without CPU cache.

/*!< Uncomment the following line if you need to relocate the vector table
     anywhere in FLASH BANK1 or AXI SRAM, else the vector table is kept at the automatic
     remap of boot address selected */
/* #define USER_VECT_TAB_ADDRESS */

#if defined(USER_VECT_TAB_ADDRESS)
#if defined(DUAL_CORE) && defined(CORE_CM4)
/*!< Uncomment the following line if you need to relocate your vector Table
     in D2 AXI SRAM else user remap will be done in FLASH BANK2. */
/* #define VECT_TAB_SRAM */
#if defined(VECT_TAB_SRAM)
#define VECT_TAB_BASE_ADDRESS   D2_AXISRAM_BASE   /*!< Vector Table base address field.
                                                       This value must be a multiple of 0x400. */
#else
#define VECT_TAB_BASE_ADDRESS   FLASH_BANK2_BASE  /*!< Vector Table base address field.
                                                       This value must be a multiple of 0x400. */
#endif /* VECT_TAB_SRAM */
#else
/*!< Uncomment the following line if you need to relocate your vector Table
     in D1 AXI SRAM else user remap will be done in FLASH BANK1. */
/* #define VECT_TAB_SRAM */
#if defined(VECT_TAB_SRAM)
#define VECT_TAB_BASE_ADDRESS   D1_AXISRAM_BASE   /*!< Vector Table base address field.
                                                       This value must be a multiple of 0x400. */
#else
#define VECT_TAB_BASE_ADDRESS   FLASH_BANK1_BASE  /*!< Vector Table base address field.
                                                       This value must be a multiple of 0x400. */
#endif /* VECT_TAB_SRAM */
#endif /* DUAL_CORE && CORE_CM4 */

#if !defined(VECT_TAB_OFFSET)
#define VECT_TAB_OFFSET         0x00000000U       /*!< Vector Table base offset field.
                                                       This value must be a multiple of 0x400. */
#endif /* VECT_TAB_OFFSET */

#endif /* USER_VECT_TAB_ADDRESS */void relocate_to_itcm(void)
{
        extern volatile char _si_isr_vector;
        extern volatile char __isr_vector_start, __isr_vector_end;

        volatile char *flash_isr_vector_start = &_si_isr_vector;
        volatile char *ram_isr_vector_start = &__isr_vector_start;
        volatile char *ram_isr_vector_end = &__isr_vector_end;
        size_t len = ram_isr_vector_end - ram_isr_vector_start;

        for (size_t i = 0; i < len; i++) {
                ram_isr_vector_start[i] = flash_isr_vector_start[i];
        }

#ifdef SEMIHOSTING
        printf("relocate %p-%p to %p, %d bytes\n", flash_isr_vector_start, flash_isr_vector_start + len, ram_isr_vector_start, len);
#endif

        extern volatile char _si_itcm_text;
        extern volatile char __itcm_text_start, __itcm_text_end;

        volatile char *flash_itcm_text_start = &_si_itcm_text;
        volatile char *ram_itcm_text_start = &__itcm_text_start;
        volatile char *ram_itcm_text_end = &__itcm_text_end;
        len = ram_itcm_text_end - ram_itcm_text_start;

        for (size_t i = 0; i < len; i++) {
                ram_itcm_text_start[i] = flash_itcm_text_start[i];
        }

#ifdef SEMIHOSTING
        printf("relocate %p-%p to %p, %d bytes\n", flash_itcm_text_start, flash_itcm_text_start + len, ram_itcm_text_start, len);
#endif

        SCB->VTOR = D1_ITCMRAM_BASE;
}71.60 ns input-to-output latency observed on the oscilloscope even without any CPU cache.
0
0
0

1980년대까지 HIV/AIDS 유행의 초기 과정에서 환자의 급증과 사망 증가에도 미국 레이건 행정부는 게이와 마약 사용자의 문제, 즉 특정 위험집단의 문제로 치부하며 철저히 침묵하고 무대응으로 일관했다. 강한 보수기독교적 정부 영향 아래 에이즈 예방을 명분으로 게이바, 사우나를 폐쇄하고 탈동성애, 순결교육 등의 정책을 펼쳤다. 이에 대하여 액트업(ACT UP, AIDS Coalition To Unleash Power) 등의 에이즈 운동단체들은 동성애에 대한 혐오와 정부의 방관에 대항하여 에이즈는 '의학적 위기가 아니라 정치적 위기임'을 지적하였고 유일한 치료제였던 지도부딘(zidovudine)의 높은 가격을 고수하는 제약 회사에 항의하며 운동을 벌였다. 이들은 성적 자기 결정권에 대한 시민권적 권리를 인정받고자 하였으며 다양한 성 정체성을 갖는 사람들이 공존하고 있다는 것에 대한 문화적 인정을 요구하였다.

HIV/AIDS의 유행은 비정상적인 행위에 내려진 심판으로서 죽음의 병, 특정 그룹 타자들의 역병으로 그러나 '무고한 사람을 공격할 수 있다', '당신도 희생자가 될 수 있다'라는 구성적 수사를 통해 실제 고통받는 환자나 취약한 사람들의 문제를 감춘다.
-인권의학연구소 엮음『인권의학 강의』중에서

0

1980년대까지 HIV/AIDS 유행의 초기 과정에서 환자의 급증과 사망 증가에도 미국 레이건 행정부는 게이와 마약 사용자의 문제, 즉 특정 위험집단의 문제로 치부하며 철저히 침묵하고 무대응으로 일관했다. 강한 보수기독교적 정부 영향 아래 에이즈 예방을 명분으로 게이바, 사우나를 폐쇄하고 탈동성애, 순결교육 등의 정책을 펼쳤다. 이에 대하여 액트업(ACT UP, AIDS Coalition To Unleash Power) 등의 에이즈 운동단체들은 동성애에 대한 혐오와 정부의 방관에 대항하여 에이즈는 '의학적 위기가 아니라 정치적 위기임'을 지적하였고 유일한 치료제였던 지도부딘(zidovudine)의 높은 가격을 고수하는 제약 회사에 항의하며 운동을 벌였다. 이들은 성적 자기 결정권에 대한 시민권적 권리를 인정받고자 하였으며 다양한 성 정체성을 갖는 사람들이 공존하고 있다는 것에 대한 문화적 인정을 요구하였다.

0
0
1
0
0
0

A lot of the devices we use in the kitchen (Thermomix, microwaves, dishwashers, coffeemakers etc) use complete operating systems and embedded computers nowadays, often with internet connectivity for who knows what. So. Will we soon see mandated fingerprint readers for age verification or will a simple switch with "18+" be sufficient to continue to cook and clean? ;)

A round power switch with the settings "0" for off and "18+" for on, confirming with every press that the person switching the power on is at least 18 years old. Age verification, physical style.
0
4
0
0
0
9
0
0
15
0
0
12
0
1
1
3

1980년대까지 HIV/AIDS 유행의 초기 과정에서 환자의 급증과 사망 증가에도 미국 레이건 행정부는 게이와 마약 사용자의 문제, 즉 특정 위험집단의 문제로 치부하며 철저히 침묵하고 무대응으로 일관했다. 강한 보수기독교적 정부 영향 아래 에이즈 예방을 명분으로 게이바, 사우나를 폐쇄하고 탈동성애, 순결교육 등의 정책을 펼쳤다. 이에 대하여 액트업(ACT UP, AIDS Coalition To Unleash Power) 등의 에이즈 운동단체들은 동성애에 대한 혐오와 정부의 방관에 대항하여 에이즈는 '의학적 위기가 아니라 정치적 위기임'을 지적하였고 유일한 치료제였던 지도부딘(zidovudine)의 높은 가격을 고수하는 제약 회사에 항의하며 운동을 벌였다. 이들은 성적 자기 결정권에 대한 시민권적 권리를 인정받고자 하였으며 다양한 성 정체성을 갖는 사람들이 공존하고 있다는 것에 대한 문화적 인정을 요구하였다.

0
0
2
0
0
0