sens
g/LogistykaBezdomnosci

Dziś postanowiłem wydobyć z systemu informację o sile sygnału wifi, bo najwyraźniej to jest wiedza, jakiej użytkownik macOS nie jest w stanie otrzymać ot tak. No to cyk cyk, napisałem jakieś gówno w Swifcie. Okazało się, że można to nawet skompilować, no to skompilowałem. A ponieważ Swifta nie znam prawie w ogóle, to postanowiłem z niego po prostu wystawić takie małe API, a potem się zlinkować do tego z C i elo, pozamiatane. Ale takiego wała, przecież istnieje name mangling, a każdy kompilator robi to inaczej. Na szczęście okazuje się, że jak się wpisze swift demangle <zmanglowana nazwa>, to dostajemy ładny i przejrzysty identyfikator. Zatem obrałem taktykę generowania assembly z tego swiftowego wrappera. Napisałem skrypt w Pythonie, który mi demangluje te nazwy w asm przy pomocy tego swiftowego czaru i jeszcze wypierdala .globl _main, żeby linker nie robił spruty. I tak oto mogę się podłączyć na luziku fiku miku do systemowego API praktycznie nie tykając dwóch języków promowanych przez Apple: Objective-C, który ma składnię może nie najgorszą na świecie, ale też nie najlepszą, a poza tym jest już przestarzały oraz Swifta, w którym wszystko trzeba odpakowywać, a goły wskaźnik to jest jakieś zło i żeby się do niego dostać, to trzeba pisać jakieś zaklęcia typu UnsafePointer (podkreślam UNSAFE), rawValue, baseAddress, bo oczywiście jest zanurzony gdzieś na samym dnie xD

W sumie pewnie istnieje jakiś lepszy sposób, ale całkiem nieźle się bawiłem dziś, czuję dobrze kuc.

#
duxet

@sens: https://i.imgur.com/tEGUtQi.png

#
sens

@duxet: gdzie masz takie cudo?

#
duxet

@sens: Na makach często przytrzymanie shifta/controla/optiona/commanda przy klikaniu w jakiś element interfejsu odblokowywuje ukryte ficzery. W przypadku ikonek Wi-Fi i BT z menu bara są to właśnie dodatkowe informacje o połączeniu.

#
duxet

@sens: https://birchtree.me/blog/undiscoverable-ui-madness/

#
sens

@duxet: o kurwa, ładnie. No ale nie żałuję, bo wolę se wklepywać literki niż pamiętać jakieś dziwne kombinacje rodem z emacsa

#
shish

@sens: popieram takie zabawy, ale come on...
https://discussions.apple.com/thread/8280499#:~:text=If%20you%20have%20a%20Mac,on%20the%20macOS%20menu%20bar.

#