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
0
0
1
1
3
0
1
1
1
0
0
29
1
0

AI is already dead; we are pivoting to crabs. Within 5-6 years 80% of all jobs will be crabs. Begin hardening your dermis into a tough durable exoskeleton now or be left behind. Economic carcinization is coming

0
0
0

today I wanted to make an audio file that sounds like an old mysterious tape and contains a real program as part of a gag for a future event announcement.

step one. you need a compiler. thanks to @boriel@mastodon.social, there is ZX Basic that just works. it's awesome. you just do ../zxbc.py -f tap -a --BASIC jingle.bas and that's it.

step two. you need an emulator. yay—I thought— has libretro-fuse that's even packaged for Alpine. it worked strange, displayed a lot of weird stuff and looked too complicated. so I resorted to JSSpeccy3, which runs in a browser. it was okay, but I got tired of switching between the compiler and my browser, uploading the file, checking it out, etc.

I gave retroarch one more shot, spent some time researching why on earth the audio was not working, even though the retroarch menus had it. one strace later it became clear that libretro-fuse does not use retroarch's sound system, but the ALSA sequencer. okay, modprobe snd_seq, done. now i can iterate much faster, by compiling my program and loading it into the emulator with a single command. neat!

step three. you need a way to convert your tape image to an audio file. the original FUSE emulator (not to be confused with FUSE-the-filesystem-in-userspace-thing! damn it, google) contains some utilities, and among them there is tape2wav, which does exactly what you need. to get tape2wav you just need to compile libspectrum, then fuse-utils. sources are available for both, it's really almost as simple as: ./configure && make && doas make install. alas, tape2wav won't build without a warning, if your system's libaudiofile is broken. Alpine's package seem to be exactly this, so I had to check out the original source code, figure out the exact way to build the thing, since READMEs were updated almost never it seems, and, finally I've built everything and had my tape2wav working.

step four. you may want to check that your audio file can be loaded correctly. I thought the audio2tape program from the same fuse-utils suite would do exactly that. alas, it does not support the turbo-encoded tapes that it's sibling tape2wav produces, and there's no way to turn the turbo encoding off in the latter. the retroarch's libretro-fuse won't load wav files either, it just ignores them. so I thought to give the original fuse a shot. after doing apk add gtk+2.0-dev and having some pleasant nostalgic flashbacks, fuse compiled successfully, and — finally — i got my wav played and loaded.

step five. you may want to make the audio file sound like a real tape recording. for this I went to my studio computer, loaded the wav in Logic Pro, dubbed the file along a sample of a running reel-to-reel motor (I know, right), added the flutter effect to make pitches a bit wobbly just like they are on some bad tape recordings, finally normalized the volume et voila. one last thing was to make sure FUSE would load the resulting file. which it did!

step six. you may want to compress the audio. the announcement is to be published on the web. so the 11 megabyte wav was no okay. converting it to MP3 completely ruins the data integrity, no matter what parameters you use. so did changing the sample rate. so did mono conversion. so did channel remapping for some reason too.

so I had to use . doing pcm_s16 → pcm_s8 before converting the file to FLAC makes the file almost three times smaller, and 10x smaller when compared to the original wav. and by the way, FLAC is supported by all major web browsers, even the worst browser ever, i.e. iOS Safari would play it just fine, or so I'm told by the can-i-use portal.

soon the announcement will go live, and I'll post the result here.

it was fun! nothing much, really, but a deep dive nonetheless.
0
1

Here's something we need to understand about the economics of AI and why now is the best time to protect ourselves.

Gen AI is an expensive way to create text and images. Right now, much of that cost is being subsidized and hidden, but it will eventually need to be paid. Because charging the actual cost will likely negate most of the value proposition of genAI, the companies that run the big models are focused on altering the social and economic context so that there are big external costs to opting out. E.g. getting companies to fire staff makes it difficult to pivot back away from AI because hiring and training replacement staff can be difficult and costly. Hence, the huge rush and hysterical sense of urgency around adoption: the demand for profitability is an approaching tidal wave, and they need to lock entire industries in before that wave hits.

That's why resistance IN THE PRESENT counts for a great deal. Right now, we have the approaching wave in our favor, and they're counting on cultivating enough dependence before it hits that we'll have no choice to accept the actual costs. The closer they get to locking society into dependence on hyperscale AI systems, the more difficult it becomes to opt out of even the plainly dystopian uses of the technology. And the longer we "wait and see," the less say we may ultimately have in how this technology shapes our society.

0

:mario_jump: accounts to follow:

@dolphinDolphin Emulator - Free open source GameCube/Wii emulator
@pretendoPretendo Network :bw_fix: - Free open source project to replace 3DS & Wii U servers
@NintendoMetro - Blog of videos, music, photos about Nintendo
@rfnpodcastRadio Free Nintendo - Long-running informal podcast about Nintendo
@pokemonFediverse Plays Pokemon - Interactive Pokemon game bot, play by voting in polls
@MrL314MrL314 💚 (#SMKDX) - Super Mario Kart expert, SNES hacker, co-creator of Super Mario Kart Deluxe
@crossingCrossing Corner :isabelle: - Animal Crossing news

🧵 1/3

0
2
0

Fallen angels are catastrophes. Taking up residence in deconsecrated cathedrals, they gather thralls with thunder-song voice and glassine words. There’s but one choice, overwhelming artillery.

A slide rule has decided, 208 guntubes, 12,000 shells, God has mercy, we can’t risk it

0
0
1
1
1
0
0
1

Having a *tremendously* difficult day, chums. My instinct is to clam up and go all internal and self-destructive, but that is a very stupid idea and so I am telling you instead. I'M HAVING A REALLY HORRIBLE TIME AT THE MOMENT AND TODAY IS PARTICULARLY BAD. If you are moved to, I wondered if you had any good news or funny memes or pics you might like to offload onto an Internet needy. LOVE YOU. ❤️

0
0
0
14
0
0
0
0

Here's something we need to understand about the economics of AI and why now is the best time to protect ourselves.

Gen AI is an expensive way to create text and images. Right now, much of that cost is being subsidized and hidden, but it will eventually need to be paid. Because charging the actual cost will likely negate most of the value proposition of genAI, the companies that run the big models are focused on altering the social and economic context so that there are big external costs to opting out. E.g. getting companies to fire staff makes it difficult to pivot back away from AI because hiring and training replacement staff can be difficult and costly. Hence, the huge rush and hysterical sense of urgency around adoption: the demand for profitability is an approaching tidal wave, and they need to lock entire industries in before that wave hits.

That's why resistance IN THE PRESENT counts for a great deal. Right now, we have the approaching wave in our favor, and they're counting on cultivating enough dependence before it hits that we'll have no choice to accept the actual costs. The closer they get to locking society into dependence on hyperscale AI systems, the more difficult it becomes to opt out of even the plainly dystopian uses of the technology. And the longer we "wait and see," the less say we may ultimately have in how this technology shapes our society.

0
0
0
0
0
0

A deep dive into Apple’s .car file format

Every modern iOS, macOS, watchOS, and tvOS application uses Asset Catalogs to manage images, colors, icons, and other resources. When you build an app with Xcode, your .xcassets folders are compiled into binary .car files that ship with your application. Despite being a fundamental part of every Apple app, there is little to none official documentation ab

osnews.com/story/144416/a-deep

0

A deep dive into Apple’s .car file format

Every modern iOS, macOS, watchOS, and tvOS application uses Asset Catalogs to manage images, colors, icons, and other resources. When you build an app with Xcode, your .xcassets folders are compiled into binary .car files that ship with your application. Despite being a fundamental part of every Apple app, there is little to none official documentation ab

osnews.com/story/144416/a-deep

0

동계 올림픽 피겨 스케이팅 페어 프리, 미우라-기하라 조 경기는, 이게 금메달이 아니면 안 된다는 생각이 드는 퍼포먼스였다. 네이버 치지직에서 보실 수 있으니 한 번 보시길 권합니다. 기술, 표현, 감정 모두 역사에 남을 기록적인 경기.

0
0
1
0
0
1
0

im working on a decentralized software issues/pull requests thing that lives directly in git and works with all existing git hosts. it will work by running a command in your repo like

git todo web

which will open a local web server that serves a github/gitlab issues-like interface for you to use. you can take out new issues, comments on existing issues, etc.

theres a way to do this that runs in the browser without javascript. i know this is important to a lot of people. this whole thing becomes *a lot easier* to make and make extensible if i can use javascript though. so, a poll:

assuming such a thing is interesting to you in the first place, would you use it if it depended on javascript in the browser?

0

Sure, you've learned to feel at peace with the typos you find in your blog posts and your social media posts.

But have you tried the next level?
Trying to feel at peace with the typos you find in your git commit messages? 🫣

0
0
0
0
0