• 11 Posts
Joined 5M ago
Cake day: Jun 15, 2023


Universal Paperclips is one of the best clicker games.

In particular: because it isn’t a clicker game. It only starts off as one. There’s only about 2 sections IIRC that are “clicker”, the start (before auto-clippers kick in), and then the quantum computer.

I guess you have to launch your first 20 or 30 probes at the space stage and that’s done one-click-at-a-time… but I don’t think that counts as a “clicker” game since its so few clicks in the great scheme of things. At no other point is rapid-clicking that useful.

I had a pretty standard linear-list scan initially. Each time the program started, I’d check the list for some values. The list of course grew each time the program started. I maximized the list size to like 2MB or something (I forget), but it was in the millions and therefore MBs range. I figured it was too small for me to care about optimization.

I was somewhat correct, even when I simulated a full-sized list, the program booted faster than I could react, so I didn’t care.

Later, I wrote some test code that exhaustively tested startup conditions. Instead of just running the startup once, I was running it millions of times. Suddenly I cared about startup speed, so I replaced it with a Hash Table so that my test-code would finish within 10 minutes (instead of taking a projected 3 days to exhaustively test all startup conditions).

Honestly, I’m more impressed at the opposite. This is perhaps one of the few times I’ve actually taken the linear-list and optimized it into a hash table. Almost all other linear-lists I’ve used in the last 10 years of my professional coding life remain just that: a linear scan, with no one caring about performance. I’ve got linear-lists doing some crazy things, even with MBs of data, that no one has ever came back to me and said it needs optimization.

Do not underestimate the power of std::vector. Its probably faster than you expect, even with O(n^2) algorithms all over the place. std::map and std::unordered_map certainly have their uses, but there’s a lot of situations where the std::vector is far, far, far easier to think about, so its my preferred solution rather than preoptimizing to std::map ahead of time.

Rasp Pi’s power usage, be it the RP2040 or the Rasp. Pi products in general, always have had horrendous power-consumption specs and even worse sleep/idle states.

How many layers does the Orange Pi Zero pcb have?

Answer: Good luck finding out. That’s not documented. But based off of the layout and what I can see with screenshots, far more than 4 layers.

A schematic alone is kind of worthless. Knowing if a BGA is designed for 6, 8, or 10 layers makes a big difference. Seeing a reference pcb-implementation with exactly that layer count, so the EE knows how to modify the design for themselves is key to customization. There’s all sorts of EMI and trace-length matching that needs to happen to get that CPU to DDR connection up-and-running.

Proving that a 4-layer layout like this exists is a big deal. It means that a relative beginner can work with the SAM9x60’s DDR interface on cheap 4-layer PCBs (though as I said earlier: 6-layers offer more room and is available at OSHPark so I’d recommend a beginner work with 6 instead)

With regards to SAM9x60D1G-I/LZB SOM vs Orange Pi Zero, the SAM9x60D1G-I/LZB SOM provides you with all remaining pins of access… 152 pins… to the SAM9x60. Meaning a full development board with full access to every feature. Its a fundamentally different purpose. The SOM is a learning-tool and development tool for customization.

Well, my self-deprecating humor aside, I’ve of course thought about it more deeply over my research. So I don’t want to sell it too short.

SAM9x60 has a proper GPU (albeit 2D one), full scale Linux, and DDR2 support (easily reaching 64MB, 128MB or beyond of RAM). At $3 for DDR2 chips the cost-efficacy is absurd (https://www.digikey.com/en/products/detail/issi-integrated-silicon-solution-inc/IS43TR16640C-125JBL/11568766), a QSPI 8MBit (1MB) SRAM chip basically costs the same as 1Gbit (128MB) of RAM.

Newhaven Displays offers various 16-bit TFT/LCD screens (https://newhavendisplay.com/tft-displays/standard-displays/) at a variety of price points. Lets take say… 400x300 pixel 16-bit screen for instance. How much RAM do you need for the framebuffer? (I dunno: this one https://newhavendisplay.com/4-3-inch-ips-480x272px-eve2-resistive-tft/ or something close).

Oh right, 400 x 300 x 2-bytes per pixel and we’re already at 240kB, meaning the entire field of MSP430, ATMega328, ARM Cortex-M0 and even ARM Cortex-M4 are dead on the framebuffer alone. Now lets say we have a 10-frames of animation we’d want to play and bam, we’re already well beyond what a $3 QSPI SRAM chip will offer us.

But lets look at one of the brother chips really quick: Microchip’s SAMA5D4. Though more difficult to boot up, this one comes with H.264 decoder. Forget “frames of animation”, this baby straight up supports MP4 videos on a full scale Linux platform.

Well, maybe you want Rasp. Pi to run that, but a Rasp. Pi 4 can hit 6000mW of power consumption, far beyond the means of typical battery packs of the ~3-inch variety. Dropping the power consumption to 300mW (SAMA5D4 + DDR2 RAM) + 300mW (LCD Screen) and suddenly we’re in the realm of AAA batteries.

So we get to the point where I can say: I can build you a 3" scale device powered by AAA batteries that runs full Linux and supports H.264 decode animations running on a Touch-screen interface, fully custom with whatever chips/whatever you want on it. Do I know what it does yet? No. Lol, I haven’t been able to figure that out yet. But… surely this is a useful base to start thinking of ideas.

Entry Level Microprocessors: Linux, 600MHz and 128MB of RAM
As computer programmers, our code runs on a wide variety of machines. From 2TB of RAM dual-EPYC servers with 128+ cores/256 hardware threads, to tiny single-core Arduinos running at 4MHz and 4kB of RAM. While hobbyists and programmers around the world have become enamored with Arduinos, ESP32, STM32 Pills, and Rasp. Pi SBCs... there's a noticeable gap in the typical hobbyist's repertoire that should be looked at more carefully. This gap is the entry-level MPU market, perhaps best represented by Microchip's SAM9x60, though STM's STM32MP1, NXP i.MX ULL, and TI's AM355x chips tightly compete in this space. I hope to muse upon this category of processors, why its unpopular but... why maybe today, you should give it a closer look. Impedance-controlled 6-layer PCBs USED to be too complex for a hobbyist... but they're accessible today -------------------- This section's title says it all. Typical MPUs require PCB complexity that... at least 10 years ago, was well beyond a hobbyist's means. In the 2010-era of the fledgling "Maker" movement, 2-layer PCBs were the most complex you could hope for. Not just from a manufacturing perspective, but also from a software perspective. EagleCAD just didn't support more layers, and no manufacturer catered to hobbyists to make anything more complex. Paying for $500 NRE fees each time you setup a board just wasn't good on a hobbyist's budget. But today, OSHPark offers 6-layer boards (https://docs.oshpark.com/services/six-layer/) at reasonable prices, with tolerances specified for their dielectric (and therefore, impedance-controlled boards are a thing). Furthermore, KiCAD 7+ is more than usable today, meaning we have free OSS software that can lay out delay-matched PCB traces, with online libraries like UltraLibrarian, offering KiCAD Footprints and Symbols sponsored by Microchip/Ti/etc. etc. There's also DKRed's 4-layer service, JLCPCB's services from China and plenty of competitors around the world that can take your 6-layer+ gerbers and give you a good board. We live in a new era where hobbyists have access to far more complexity and can feasibly build a bigger electronics project than you ever dreamed before. The classic team: Arduino and Rasp. Pi.... --------------------- Arduino and Rasp. Pi stick together like peanut butter and jelly. They're a barbell strategy providing the user with a low-cost, cheap, easy-to-customize chip (ATMega328p and other Arduino-level chips) operating at single-digit mW of power... with a large suite of analog-sensors and low latency and simplicity. While Rasp. Pi offers Linux-level compute solutions, "grown up" C++ programs, Python, server-level compute. Albeit at the 6W (for Rasp. Pi 4) or beyond, so pushing the laptop-level power consumption. But... that gives us a good team that handles a lot of problems cheaply and effectively. Or... is it? This barbell strategy is popular for good reasons from a problem-solving perspective, but as soon as any power and/or energy constraint comes up, its hopelessly defeated. Intermediate devices, such as the ESP32 have popped up as a "more powerful Arduino", so to speak, providing more services (WiFi / Bluetooth, RAM and compute-power) than an Arduino can deliver, but is still far less than what Rasp. Pi programmers are used to. What does a typical programmer want? SAM9x60: ARMv5 at 600MHz, 128MB DDR2, Linux 6.1.x, dual-Ethernet 10/100, USB in 28mm x 28mm --------------------------------------- ![](https://lemmy.world/pictrs/image/6da8f092-e3c6-4f8a-a188-c7893cbb2841.png) When Rasp. Pi launched a bit over 10 years ago with 256 MB and a 700MHz processor and full Linux support, it set off a wave of hobbyists to experiment with the platform. Unfortunately, Rasp. Pi has left this "tier" of compute power, chasing the impossible dream of competing with Laptops / Desktops. IMO, the original Rasp. Pi 1 hit a niche and should have stuck with that platform. This SAM9x60D1G-I/LZB SOM module is a mouthful to say. But at 28mm x 28mm its roughly the same size as a US Quarter. But... at $60 it sounds like a bad value. Okay, it is a bad value, but stick with me here, this represents far more than you might think. SAM9x60 chip is fully open source, and fully documented at https://linux4sam.org. You get a full builtroot environment, a fully documented stage1, stage2, and stage3 (UBoot) bootloader. You get all 2000+ pages of documentation. You get PCB layouts, you get fully open source Linux drivers and kernel modules. You get the full "make" available from Microchip's github. The openness to this chip is insane, especially if you're used to Rasp. Pi. And perhaps most importantly: SAM9x60's reference design fits on 4-layer boards. (This is an _INCREDIBLE_ feat of engineering. Microchip has spent a lot of effort simplifying this 233-BGA chip and trying to get it onto the simplest means possible). Note however, that I'd personally only be comfortable with a 6-layer design here. (SAM9x60's reference design is signal/ground/power/signal stackup, which is frowned upon by modern PCB theory. signal/ground/power/signal/ground/signal would be a superior stackup... and 6-layers is cheap/available today anyway, so might as well go for 6-layers). In any case, the 4-layer demonstration reference board (https://ww1.microchip.com/downloads/en/Appnotes/AN_3310_Connecting-SDR-and-DDR-Memories-to-SAM9X60_00003310a.pdf) is far more documentation and discussion than you'd ever hope to be released by the Rasp. Pi group. The openness to this platform is like night-and-day. While the SOM completed module is costly, truth be told it "represents" the platform and is likely not intended for mass usage. The true benefits to SAM9x60 (and other entry-level MPUs) is that all the chips are readily available at fair prices, and can be custom-assembled to your needs. At $8 per SAM9x60 and at $3 to $5 for 128MB DDR2 (depending on vendor), and at $3 to $5 for the power-chip, you'll get a minimal booting Linux box with a fully custom PCB design doing whatever you want... with a fully customized motherboard / PCB doing whatever you want. Another Devboard: https://www.microchip.com/content/dam/mchp/documents/MPU32/ProductDocuments/UserGuides/SAM9X60-Curiosity-User%27s-Guide-DS60001783.pdf 4-layer design again, though this time using the SiP module (on-board DDR2 to minimize the need to run impedance / delay-matched lines all over the place). This devboard costs $130, but the openness is likely well worth the costs. Its truly a design you can build on top of and customize yourself. Cool... but why would I need this? ----------------- Well, to tell you the truth... I don't know yet. Power-constraints are the **obvious** benefit to running with these chips (SAM9x60 + LPDDR RAM will use 1/10th the power of a Rasp-Pi4, while still delivering a full Linux environment). But beyond that I'm still thinking in the abstract here. I'm mostly writing this post because I've suddenly realized that a full custom MPU comparable to first-generation Rasp. Pi is **doable** by a modern hobbyist. Albeit a well studied hobbyist comfortable with trace-matched impedance controlled transmission line theory on PCBs, but I took those college-classes for a reason damn it and maybe I can actually do this. Its a niche that 10 years ago was unthinkable for hobbyists to cheaply make their own SBCs from scratch. But today, not only is it possible, but there's 4 or 5 different vendors (Microchip's SAM9x60, TI's AM355x, STM32's STM32MP1, etc. etc.) that are catering to hobbyists with full documentation, BSPs and more. We're no longer constrained to the designs that Rasp. Pi decides to release, we can have those 2x Ethernet ports we've always wanted for example (for... some reason), or build a bare-metal OS free design using only 8MB of SRAM, or use LPDDR2 low-power RAM and build a battery-operated portable device. Full customization costs money. Whatever hobby project we do with this will cost far more than a RP4 or even RP5's base price. But... full custom means we can build new solutions that never existed before. And the possibilities intrigue me. Full control over the full motherboard means we have absolute assurances of our power-constraints, our size, the capabilities, supporting chips and other decisions. Do you want LoRA (long-range radio?). Bam, just a module. And you might be surprised at how much cheaper this is today than its ever been before. Conclusion -------------- Thanks for hearing my rant today. This form factor is really intriguing to me and I'll definitely be studying it moving forward as a hobby. Hopefully I've manage to inspire someone else out there! And... yall are just going to make a quadcopter with this, aren't ya? Sigh... well... drones are popular these days for good reasons...

Steal it, study it, make copies of it.

The F35 is the result of Billions of research and development dollars. And the adversaries we have (ie: China) are very, very good at copying technology.

You know most aircraft, when shot down, were traveling over enemy territory right?

Airplanes don’t get shot down over friendly territory.

Because putting a beacon on a stealth aircraft is like installing a flashlight onto an invisible car.

Even if people can’t see the rest of the invisible car, they’ll see the flashlight and track that instead. At a minimum, such a feature would be ‘default off’, and never default on.

A stealth aircrafts literal design is to be invisible to enemy radio waves. The last thing you wanna do is you know… Emit a radio beacon.


F35 is a stealth aircraft. Beacons are literally against the point of the damn thing.

People are asking ‘How could you lose your invisible car? Why didn’t you just put a tracking device on it?’

You know that ARM and RISC-V are both subject to Specter attacks right? Any out-of-order processor (which is every modern CPU, not just x86) are subject to Specter.

All CPUs perform speculative execution and branch prediction.

Itanium, XScale (ARM), Altera FPGAs, Intel Arc GPUs, Intel 8051, Larabee.

Intel has repeatedly tried (and with $Billions invested in Itanium particularly) to build a new architecture. It just turns out that x86 is way better than anyone ever expected in practice.

AVX512 is very well designed in any case. Intel knows what they’re doing. If you want cool assembly instructions, I suggest learning AVX512 as well as the PEXT and PDEP instructions. I’ll pointout the AVX512 compression and expansion instructions in particular, as proof that Intel’s engineers really know what SIMD-compute and how its useful.

Intel Arc GPUs are also interesting, though not as commercially successful as AMD or NVidia, it shows that Intel has substantial investments into SIMD compute patterns as well.

We probably should point out that the symbol & means “Et”. As in “Et cetera”. Or Latin for “And”.

English Symbology is fun.

Why do you use Arabic numerals (0, 1, 2 …) when the historical symbols for your language are I, II, III, IV, V… ?

You in fact have multiple symbol sets in your language already. You just don’t notice the difference because it’s what you grew up with.

That’s not what storage engineers mean when they say “bitrot”.

“Bitrot”, in the scope of ZFS and BTFS means the situation where a hard-drive’s “0” gets randomly flipped to “1” (or vice versa) during storage. It is a well known problem and can happen within “months”. Especially as a 20-TB drive these days is a collection of 160 Trillion bits, there’s a high chance that at least some of those bits malfunction over a period of ~double-digit months.

Each problem has a solution. In this case, Bitrot is “solved” by the above procedure because:

  1. Bitrot usually doesn’t happen within single-digit months. So ~6 month regular scrubs nearly guarantees that any bitrot problems you find will be limited in scope, just a few bits at the most.

  2. Filesystems like ZFS or BTFS, are designed to handle many many bits of bitrot safely.

  3. Scrubbing is a process where you read, and if necessary restore, any files where bitrot has been detected.

Of course, if hard drives are of noticeably worse quality than expected (ex: if you do have a large number of failures in a shorter time frame), or if you’re not using the right filesystem, or if you go too long between your checks (ex: taking 25 months to scrub for bitrot instead of just 6 months), then you might lose data. But we can only plan for the “expected” kinds of bitrot. The kinds that happen within 25 months, or 50 months, or so.

If you’ve gotten screwed by a hard drive (or SSD) that bitrots away in like 5 days or something awful (maybe someone dropped the hard drive and the head scratched a ton of the data away), then there’s nothing you can really do about that.

If you have a NAS, then just put iSCSI disks on the NAS, and network-share those iSCSI fake-disks to your mini-PCs.

iSCSI is “pretend to be a hard-drive over the network”. iSCSI can exist “after” ZFS or BTRFS, meaning your scrubs / scans will fix any issues. So your mini-PC can have a small C: drive, but then be configured so that iSCSI is mostly over the D: iSCSI / Network drive.

iSCSI is very low-level. Windows literally thinks its dealing with a (slow) hard drive over the network. As such, it works even in complex situations like Steam installations, albeit at slower network-speeds (it gotta talk to the NAS before the data comes in) rather than faster direct connection to hard drive (or SSD) speeds.

Bitrot is a solved problem. It is solved by using bitrot-resilient filesystems with regular scans / scrubs. You build everything on top of solved problems, so that you never have to worry about the problem ever again.

Wait, what’s wrong with issuing “ZFS Scan” every 3 to 6 months or so? If it detects bitrot, it immediately fixes it. As long as the bitrot wasn’t too much, most of your data should be fixed. EDIT: I’m a dumb-dumb. The term was “ZFS scrub”, not scan.

If you’re playing with multiple computers, “choosing” one to be a NAS and being extremely careful with its data that its storing makes sense. Regularly scanning all files and attempting repairs (which is just a few clicks with most NAS software) is incredibly easy, and probably could be automated.

But the fact that TCPStreams isa file-descriptor, Files isa file-descriptor, Pipes isa file-descriptor, and other such “stream-like objects” in the Linux kernel proves that the read/recv and write/send system calls are generic enough to work in a wide variety of circumstances.

Yeah, they’re all different. But as far as the Linux API goes, they’re all file descriptors under it all and have abstractions that work well for inheritance in practice. In many cases, inheritance doesn’t work. But in many cases, it works. And works well, for decades.

Inheritance is useful.

However, “Dog isa Animal” is worse than useless, it actively hampers your code and makes your life worse.

Useful inheritance patterns are all over the place in GUI / Model View Controller code however. “Button isa Window”, and “FileStream isa Stream”, and “StringStream isa Stream” in C++. If you stick with SOLID principles, inheritance helps your code significantly.

$ is ambiguous. You need to say 2023$ vs 2022$. Once you have year-$ in front, everything becomes super-obvious.

Loan amount: 2022-$10,000

Total repayment: 2023-$10,500

Except April2023$ is 4.9% less value than April2022$: https://www.bls.gov/opub/ted/2023/consumer-prices-up-4-9-percent-from-april-2022-to-april-2023.htm

So April2023-$10,500 is equivalent to April2022-$9985.50, inflation-adjusted.

The opposite. Inflation makes debt cheaper. If you borrow at 10%, and inflation is 10%, its like you borrowed money for free.

The issue is that central banks increased interest rates significantly. If you need to borrow more money, its at 14%, 16%, or higher now.

https://lemmy.world gained 40%+ users on July 1st alone.

Methinks the servers are melting from #RedditBlackout.

Buying a house or a car on loan is far more expensive than it would have been a year and half ago. A $500,000 house in 2021 would cost $2,000 a month at 2.75% interest and 20% down. Today same that payment is $2,800 or 40% more expensive at 7.75% interest.

Note that mortgages are not what companies pay for loans.


CCC bonds yield is the “low-quality” bond market, and is closer to what you might expect a no-profit internet company to be borrowing money at. 2021 was 6%ish interest rates, but today is ~12%+.

But 2016 was ~18%+ rates, its much more volatile than the mortgage market.

It’s not tweets you read. It’s tweets your web browser / app reads.

Your web browser goes through 600 tweets in just 2 minutes of scrolling, maybe less.

Clearing the cache fixed my problem.

I guess there is some deep JavaScript file in my cache pointing to the 0.17.4 location of login that needed to be force updated.

Clearing the cache seems to have fixed the login bug.

There is another big going on where I’m seemingly logged out all the time though.

You can send a reset password, and the link to reset the password will log you in as your password is updated.

However, the login button remains broken, even after password reset. Still, this provides us a 2nd way in if your browser cache gets cleared.

The XHR for the button reports back a 404 error, suggesting that login page just stopped existing after the update. I’m assuming that it will be an easy hotfix, just gotta fix the link to the POST form to point at wherever the login page went.

Login page is 404 erroring to me, at least the XmlHTTPRequest is that’s associated with the button.

Opened up Firefox debugger: I am getting 404 errors when trying to login.

Do logins work for anyone else?

I created a “in private” Firefox browser session. I can’t seem to login through that.

Server has sped up significantly. Things are getting faster / better.

Maybe 0.18.1-RC4 will stick? Lets hope!

Slow, but working.

I don’t know if we’re slow because of the upgrade, or because of the July rush from Reddit losing 3rd party API access.

So as of right now, https://lemmy.ca still seems bugged.

These two are 0 comments here on lemmy.world, while comments clearly exist over at lemmy.ca.

The opposite here: I made a test post at microcontroller@lemmy.ca, so lemmy.world thinks there is +1 comment. But the true instance at http://lemmy.ca/c/microcontroller sees 0 comments, so my comment fails to traverse the federation to lemmy.ca.

So both imports and exports to these communities on lemmy.ca seem bugged.

Federation is completely borked with .18 servers. Its very difficult for us to interact with https://lemmy.ca in any way: subscribing, upvoting, comments, posting… its all bugged.

Its maybe not that big a deal because Lemmy.world “has the most users”, so in some regards its https://lemmy.ca’s loss but… we need to restore reliable federation… especially before the July 1st rush IMO.

The .17 to .18 upgrade is basically a soft-defederation event, because of whatever this bug is between the two versions.

In general, 40-year-old tech is far worse than modern chips. But the benefit of 40-year-old tech is that any old book from the last 40 years has good analysis on those designs.

At a minimum, 5V uses far more power / amperage than 3.6V, or even 1.8V designs. The 40-year-old TTL/CMOS stuff is likely through-hole as well, rather than surface mount.

But these “downsides” are purely upsides for the beginner. Large through-hole parts are easier to breadboard and experiment with. High-quality surface mounts are a pain-in-the-ass to work with as a beginner. Finally, 5V has more reliability / less noise in your analog circuit designs. So its all in all a far more forgiving environment.

But you ain’t gonna get ~150uA sleep (or less) microcontrollers on a 5V platform!! If you need low power, you gotta go to 3.6V or even 1.8V.

We’ve got a good “seed community”. We need to move on from “anti-Reddit” and towards “Lemmy-community building”. This is a hard step forward.

We don’t know what each other’s interests are, we don’t know how many #RedditBlackout communities existed (I mean, we have some ideas. “mtgzone.com” and “programming.dev”)… but we don’t know if we can create say… an Advance Wars community (Nintendo Game), or if we need to stick to just Nintendo as our topic.

I think keeping to !Newcommunities, and trying to organize ourselves into our different branches of knowledge / discussion is the near term goal. What DO we have as a community? Clearly we’re all willing to leave Reddit (and some of us here were willing to leave Reddit last year, long before #RedditBlackout), but for long-term sustainability, we need to get deeper connections than that.

Ideally, we can grow some of these communities to be the best place on the internet for that subject. For example, /r/Factorio was one of the premier places to study Factorio strategies (Video game). But Reddit wasn’t the best at say, AVR (AVRFreaks was a better site for that). That’s fine, having a 2nd tier or lesser site is still useful for an overall hangout spot that’s more casual.

I think Lemmy has a lot of opportunity in community building because of its Reddit-like structure (more similar than Mastodon was to Twitter). With some custom GUIs, we can build new video game communities with custom GUIs (ex: Chess .pgn viewers: https://github.com/mliebelt/PgnViewerJS) to further discussions in ways impossible to the original Reddit (more akin to PhpBB), but still with the advantages of single-sign-on / federation to join up a bunch of other communities.

That’s the direction we should be going, IMO anyway.

Hmm. Arduino is awesome and all, but order probably matters?

So first off, lemme “sell” people on Arduino really quickly. Arduino is a 5V microcontroller, which means it works with ancient 40-year-old TTL and CMOS crap… while simultaneously having a modern IDE / ease of programming that will make most EEs blush. Its a good mix of high-support and ease of programming that’s difficult to do with other chips (ex: most Cortex-M0+ ARMs are only 3.6V or even 1.8V, becoming incompatible on a lot of the older designs still in use today…)

I’m not sure if there’s a general Electrical Engineering community in the Fediverse yet. Arduino probably is casting the net too small? You probably could expand the topic to EE in general (or microcontrollers, or more) and still have very low traffic in general.

I’m always open to more EE topics, especially on the Fediverse. And Arduino is an awesome board I’d like to see more discussion around. But broadening the scope could be beneficial?

Shell Shock

A crude imitation. Shell Shock has the whole progression scheme where your weapons get stronger and more diverse the more you play. Its basically applying the crappy “Call of Duty” formula and level up system to an old arcade game.

The best modern version of Scorched Earth is probably the “Worms” series. Its got too much of a cartoon veneer though: exploding sheep and banannas… but the strategy is overall there. I did prefer the original Scorched Earth.

I want Shell Shock without the level-up system (and probably without the wormholes as well). I mean… scratch that. I just want scorched earth again with online play.

“GunBound” was an interesting twist from the 00s, a Koran game full of costumes / cute anime-like drawings and the like… you spawned with a single weapon based on the character you chose. It wasn’t balanced but it was fun trying to derp around with whatever weapon you got.

Any Advance Wars: Reboot Camp players up for a friendly match of Adv. Wars 2?
I play a lot of strategy games. I tried to get into Wargroove competitively a few years ago, can't say I was too successful but... I got the general gist of overall strategy games (ie: economy, economy, economy). I'm up for a couple of Adv. Wars 2 matches. The "S-tiers" seem to be banned in most competitive games (Sturm and Hatchi), while "A" tier seems to be banned more-often than not, but I'm cool with an A-tier fight if you want that. (Kanbei, Colin, Grit, Sensei, and kinda-sorta Nell). I recognize that this is a 20+ year old game with some very strong players out there. I don't mind losing a few times to get the hang of things.

But programs are tasked by their creators, and if their long-term goal is spam, then we know what their tactics are.

A GPT-bot designed to have good discussions with the community would get upvotes and karma (at least, to the best extent that these programs can do). A GPT-bot designed to spam the community with links or shill a product would probably get downvotes.

So distinguishing between good-bots and bad-bots is still karma / reputation management.

I don’t know Japanese law, but in US law, a shareholder has the right to attend shareholder meetings. This has a few effects:

  1. You can buy shares, hold them for the required time, and then sell them later. Its not like $3500 in Nintendo shares has changed much value in the past couple of weeks, the money is still there, its not like “spending” money on a fancy restaurant. Its an investment.

  2. Shareholders have the right to ask questions of the board and otherwise participate. The rules change from company to company, but the shareholders are the owners of the company. The board exists to serve the shareholders. So some degree of public questioning (from the shareholders) is traditional at these events.

  3. Causing a ruckus at these meetings is annoying and unhelpful to everyone. Shareholders are mostly concerned about how well Nintendo is doing. The most that probably should be wavered off topic with regards to games is maybe Nintendo setting sales expectations (ex: We released Zelda this year, which is one of the bigger releases. We probably won’t have another big release like that until next year… or whatever). Going deep into poses in Splatoon 3 is so far off topic that it definitely makes me uncomfortable.

Brainstorm: How to implement Fumen for Lemmy (for a Hypothetical Tetris community)?
I'm a programmer, but mostly C in my job. I've played with PHP5 (yeah, a long time ago), dabbled in HTML5 when it was new, touched upon some ancient version of Javascript, etc. etc. I have done bare-bone system administrator work but only enough for test instances. My web-knowledge is therefore lacking. So I'm seeking the discussion with more experienced peers (especially in web and/or administrator sides) to brainstorm this idea. I'm probably not going to ever implement this idea, but... I feel like discussion may help me solidify the work needed to build future communities. ---------- Lets say I want to make a Competitive Tetris community akin to HardDrop.com. Among the most important features of Tetris is the Web-Application "Fumen" Javascript application, created by Japanese programmers. The web-gui isn't the most intuitive, but you all can demo it here: https://harddrop.com/fumen/ . The code has all sorts of Japanese comments that I can't read, but presumably with enough copy/paste and effort, I could get it off of Github (or whever it originated from) and copy/paste it into my own server somehow. When the HardDrop forums were open, people would discuss Tetris Strategies by crafting them on a Fumen, and then discussing them. I made such a post long ago here, on the TKI3 strategy if you want to see it: https://harddrop.com/forums/index.php?showtopic=7889 ---------- Now lets say I want to import my old Fumen for my own discussion purposes, somewhere in Lemmy. What's the best way to present it? I'm assuming I'll need: 1. Copying the Fumen renderer into my own Javascript/HTML 2. A friendly administrator who is willing to give me Javascript-import (or hosting the Javascript locally on the server). This presumably would be myself making my own server, but alternatively another admin who is aligned with me could do this too. 3. Ideally a local copy of Fumen running. (I wouldn't want to hammer HardDrop's webGUI too hard) 4. Some kind of Lemmy plugin that allows people to post text of the form: (v115@BhilFeAtglR4Beg0RpBtR4Ceg0RpAtzhAeh0JeAgWW?AURVSASYNuEw488AQr78AwKY5DkoBAAvhBtsuAAlsBzgQ4I?eR4CeRpwhBeglQ4CeRpwhAeAtglFewhBthlEewhAtKeAAPX?AS1STAS4kcDnoo2AMoo2AQieeEFcxCA), which [coincides with the Fumen I wrote](https://harddrop.com/fumen/?v115@BhilFeAtglR4Beg0RpBtR4Ceg0RpAtzhAeh0JeAgWW?AURVSASYNuEw488AQr78AwKY5DkoBAAvhBtsuAAlsBzgQ4I?eR4CeRpwhBeglQ4CeRpwhAeAtglFewhBthlEewhAtKeAAPX?AS1STAS4kcDnoo2AMoo2AQieeEFcxCA). Upon recognizing a string of this form (or maybe of form: [[fumen@v115...]]), render such a Fumen inline with the post. 5. Obviously, it would only render correctly on my "local instance" with my "local users". Assume this is sufficient for my personal community. But if anyone can think of how this can be solved "Cross-Lemmy", I'd also be interested in that. I'm not sure if the Tetris community is in a state where this is worthwhile pushing. But I can see "future video games", especially competitive ones, needing other online GUIs, calculators, and other such web-application support to help discussion. Any web-experts out there wanna muse on this subject with me?

BestOfLemmy: Collecting cool threads to show off Lemmy
* https://lemmy.world/c/bestoflemmy * !bestoflemmy@lemmy.world * [/c/bestoflemmy@lemmy.world](/c/bestoflemmy@lemmy.world) * Kbin users: [/m/bestoflemmy@lemmy.world](/m/bestoflemmy@lemmy.world) This is a bit of a "Meta community". Lemmy users are still new and confused (though enthusiastic). Finding good threads that "sample" what Lemmy is about and what it can do will be a good thing, at least in the short term, to help this community figure out the hows and why's of Lemmy and its federation model.

June 17th 2023: Are new signups on lemmy.world bugged out for anyone else?
I was helping someone today try to make an account on lemmy.world, and a bunch of errors are preventing us from making his account and having him join the Lemmy-verse. Is anyone else having account-creation issues right now?

GPU Programming: !gpu_programming@lemmy.world
While there are many !programming communities across the Fediverse, I was not quite aware of a GPU-specific one. GPU programming hails from the 1970s ILLIAC IV, leading to Cray computers, Connection Machines, and later... yes... GPUs. GPU Programming is an alien world with decades of history and alternative algorithms (largely around "parallel" thinking) that normal programmers are fully unaware of. I created the !gpu_programming@lemmy.world so that this obscure style of programming can be discussed somewhere, including fundamental papers (from the 1980s) that should serve as the basis for new GPU programmers. With CUDA, OpenCL, and DirectX APIs today, it is easier to do GPU programming than ever. (And SIMD-programming, closely related, is more than possible with Intel's ispc). A community to ask and talk about this subject should be helpful. EDIT: [!gpu_programming@lemmy.world](https://lemmy.world/c/gpu_programming) Does this link work?

Bug report, possibly Lemmy.world specific? Cannot post reply
https://lemmy.world/comment/233321 I wanted to reply to this comment, but I couldn't. It appears to be a user@kbin.social account that made that post. Honestly, I've been having some weird behavior with regards to kbin.social federation here on Lemmy.world. I realize that kbin / lemmy wasn't designed to be compatible with each other... but other Lemmy instances seem to be able to visit kbin.social communities just fine. So I don't know if this is a Lemmy.world problem, a Lemmy-software problem, kbin.social problem, or kbin-software problem. ------------ When I try to reply to that particular post, it "spins forever" and never seems to post. (Kinda similar as the "forever spin" bug on big communities, except without the post ever seeming to be successful)

Is there a “Lemmy Address” available for posts and/or comments?
Linking communities in Lemmy across the Federation seems to be very straightforward: I can make !programming@programming.dev for example, and everyone across the fediverse will be able to meet me at that community. However, lets say I have a particular post I made. There are multiple links I can post, but they all feel wrong: * My Lemmy.world link: https://lemmy.world/post/168410 . This is how I see it, but I assume people at lemmy.ml and programming.dev won't be able to post to it or use it. * The programming.dev link: https://programming.dev/post/50678 . Perhaps this link is more legitimate, but now **I** can't use it, and users from lemmy.ml won't be able to use it either. --------- So... how do we share posts (or discuss) about Lemmy-posts across the Lemmy fediverse?

I’m trying to search for a community that definitely exists: but it doesn’t show up in search
!programming@programming.dev clearly exists (see https://programming.dev/c/programming), but I can't seem to find it in Lemmy.world's search bar. I see that "someone needs to search" for a community for it to appear in the search bar. Furthermore, if I go to "lemmy.world/c/programming@programming.dev", I can see and subscribe to that instance just fine. I'm just worried about discoverability. How was I supposed to even discover programming@programming.dev if this instance didn't know about it?

Federation Test post from Lemmy.world
I discovered programming.dev after I registered at Lemmy.world, and wanted to see how well federation works. I looked through your list of communities, I think !meta@programming.dev is the best place for this test post, but I apologize if there's a better place for this that I didn't see. ----------- That being said, I might as well ask a question as part of this test-post / cross instance test discussion! With different communities having different signup policies(ex: Beehaw.org vs Lemmy.world) and the threat of defederation existing... how does programming.dev plan to deal with problematic servers? I'm a pessimist. I feel like inevitably, some kind of flamewar or drama will cause cross-board invasions between subreddits (and now, different !communities@different.servers on Lemmy). I don't think anyone knows the answer, but I guess I wanted to muse upon something to make this post more substantial than just a test post. Thanks for having me!

The potential role of a 3rd servers to mediate between Beehaw and Lemmy.world
As this #RedditBlackout accelerates the Fediverse experiment, I feel the urge... the need... to chime in with my 2-cents. My summary of the current lay of the land: Beehaw saw a wave of pornography spam and decided to shut Lemmy.world off and Defederate from this server. I'm too new to this community to fully understand the wants/needs of each individual server, but I've been around the internet long enough to recognize that porn-spam is an age-old trolling technique and will occur again in the future. Especially as small, boutique, hobbyist servers pop up and online drama/rivalries increase, online harassment campaigns (like coordinated porn spam attacks) are simply an inevitability. Lemmy.world wants open registrations. Beehaw does not: Beehaw wants users to be verified before posting. This is normal: many old /r/subreddits would simply shadowban all 1-year old accounts and earlier... giving the illusion that everything is well for 5+ or 10+ year old accounts, but cut out on the vast majority of spam accounts with short lives. This works for Reddit where you have a huge number of long-lived accounts, but its still not a perfect technique: you can pay poor people in 3rd world countries to create accounts, post on them for a year, and the these now verified accounts can be paid for by spammers to invade various subreddits. I digress. My main point is that many subreddits, and now Lemmy-instances/communities, want a "trusted user". Akin to the 1+-year-old account on Reddit. Its not a perfect solution by any means, but accounts that have some "weight" to them, that have passed even a crude time-based selection process, are far easier to manage for small moderation teams. We don't have the benefit of time however, so how do we quickly build trust on the Fediverse? It seems impossible to solve this problem on lemmy.world and Beehaw.org alone. At least, not with our current toolset. A 3rd Server appears: ImNotAnAsshole.net -------------------------- But lets add the 3rd server, which I'll hypothetically name "ImNotAnAsshole.net", or INAA.net for short. INAA.net would be an instance that focuses on building a userbase that follows a large set of different instances recruiting needs. This has the following benefits. 1. Decentralization -- Beehaw.org is famously only run by 4 administrators on their spare time. They cannot verify hundreds of thousands of new users who appear due to #RedditBlackout. INAA.net would allow another team to focus on the verification problem. 2. Access to both lemmy.world and Beehaw.org with one login -- As long as INAA.net remains in the good graces of other servers (aka: assuming their user filtering model works), any user who registers on INAA.net will be able to access both lemmy.world and Beehaw.org with one login. 3. Custom Moderation tools -- INAA.net could add additional features independently of the core github.com/LemmyNet programming team and experiment. It is their own instance afterall. Because of #2, users would be encouraged to join INAA.net, especially if they want access to Beehaw.org. Lemmy.world can remain how it is, low-moderation / less curated users and communities (which is a more appropriate staging grounds for #RedditBlackout refugees). Beehaw.org works with the INAA.net team on the proper rules for INAA.net to federate with Beehaw.org and everyone's happy. Or is it? I am new to the Fediverse and have missed out on Mastodon.social drama. Hopefully older members of this community can chime in with where my logic has gone awry.