347 karma · joined April 16, 2011
It's a souped-up Dune II that runs on Linux/Windows/Mac.
Uses original graphics and sound but has quality of life improvements like higher resolition, group select, map editor, network play, different AI engines/difficulties etc.
IMO the Dune2 AdLib soundtrack is one of the best demonstrations of the FM capabilities of the OPL chip.
Soundtrack here: https://www.youtube.com/watch?v=2WKBjmJCBHw
Even during development, the only cost of iterating over errors until you get it right is just time.
But HW engineers just don't have the luxury of making 100 iterations of a product until it works, nor the safety net of "we'll update it over the internet". They must put a lot of effort into testing and verification until they say "ok, this is good, let's ship it."
Also, failure modes of mechanical products are often known and intuitive.
I am guessing that before the advent of Internet, the average quality of shipped software was higher on average. Nobody would dare ship a hot mess like Battlefield 2042 if they knew it's the last version they ship.
http://chordian.net/c64editors.htm
It's no longer updated but still kinda relevant.
https://github.com/deathybrs/SIDStep2
It's a VSTi that can export to SID format.
For the uninitiated: https://www.youtube.com/watch?v=Ny743c32gPg
BTW, thanks for sharing this. Most "top sid" lists are kind of predictable.
I fired up EN at one point recently. Wanted to add a note in a certain category and it took me like 20 seconds to get to the point where I can type in the actual note text. It wasn't even connected to the internet and still the app was slow. 5-10 second pauses for something that should be done in a millisecond. Useless popups.
WTF were they thinking?
I mean, I know exactly what happened. Everyone who cared about having a good app has left the company by this point.
Anyways, I really like Joplin. Android app works fine. Desktop app works fine. It even has a TUI mode. Server side for self-hosting (webdav) was pretty straightforward to set up.
btw, similar program for Windows: https://binisoft.org/wfc
I'm currently using Binisoft (now Malware Bytes) Windows Firewall Control to block unwanted traffic. I'm quite happy with it.
The amount of traffic that it regularly blocks is insane. Windows and installed apps constantly want to chat with their cloud friends.
CMake/autotools syntax is nothing like C/C++, or actually any general purpose programming language, so you basically need to become familiar with this new language/paradigm in addition to knowing C/C++.
But like with most programming languages, once you grok it you will more easily learn other build systems. They all solve similar problems after all.
You just gotta pick one and learn it. I mean, you don't have to, you can write your own build scripts in bash or whatever but eventually you'll just end up inventing a new, probably crappy build system :)
> really hard for me to read and understand.
I agree and empathize. I tried figuring them out by looking at other people's Makefiles but they are all so wildly different between projects, it's like there is no standard/convention to writing them (and there is not as far as I can tell). Additionally, make has so much magic/internal/inferred/assumed behavior, variables etc. that it's really hard to figure out what they do by just reading them. Especially since they don't use familiar flow control structures like functions calls or even gotos. This also makes debugging hard.
I only learned make when I've started writing my own C/C++ projects. The documentation is actually quite good. Going from make to CMake was much easier then.
A friend with email @live.com said he never received any of my emails. No spam, no bounce, just silent drop.
I went through MS knowledge base which thankfully said that DMARC/DKIM are pretty much required. After setting up opendmarc, everything was fine.
Then you get an email from a domain that has "apollo" in it but is not mentioned or linked to anywhere on the main site. The person sending the email says your order is ready and asks you to send ~500 EUR to some personal bank account in Ireland.
Uhh... no? I've said thanks, but let's use paypal and I'll cover the extra fees. The idea was that if it turns out to be a scam I can get the money back.
In the end everything was fine. Got the V1200, it worked. Also I got some candy, yay! But yeah, the whole process seemed a bit sketchy.
I see your point but consider this: 20 years ago you could make the same argument for all aspects of linux, not just gaming. Why use some hobby level OS for serious work when you have Solaris, HP-UX, AIX?
Today we have a very usable Linux desktop and pretty much total dominance in the server arena, only because people were at one point "delusionally enthusiastic" about making it work.
The author is good at picking apart what made this game so memorable.
Supports mice and gamepads. You can build one yourself or buy a finished product.
I honestly don't know if in this day and age I would take up Linux. Back then I did because I was bored, hungry for knowledge and was soaking in anything computer-related I could get my hands on. Linux provided so many new technologies to tinker with. With the cornucopia of freely and easily accessible knowledge that we have today... I don't know, maybe I would choose a different path altogether.
No password -> simple password -> complex password
Plaintext -> Caesar cypher -> Vernier cypher -> modern cyphers
40-bit crypto -> 56-bit crypto -> 128-bit crypto -> 256-bit crypto
0.0.0.0 network allow-list -> /24 network allow-list -> /32 (per host) network allow-list
allow by default -> deny by default
standard port -> non-standard port
We just add layers of obscurity until they add up to "enough" and don't grow into "beyond tedious".
It is open source and allows you to export secrets to an encrypted file which you can copy around.
A bit more tedious than Authy and similar cloud sync solutions but lower attack surface and less tedious to back up than Google Authenticator.
Available on F-droid. Beware of Aegis knock-offs on Google Play Store that use similar name.
I had AV software running but the virus was new and undetected.
Also, unlike Spotify and Pandora, it is legally available in my country.
# prevent access to any file/dir beginning with a dot
location ~ /\. { return 404; }
I have re-read it in my late 30s and now I actually favor the later novels. I consider all 6 novels as one work.
The deconstruction of a hero (Paul) was in my opinon necessary and logical progression of the story arc. I think Herbert wanted to say that heroes inevitably end up being harmful to the society.
My opinion is that if the sequels were written in the same manner as the first book, we'd end up with an excellent but still run-of-the mill epic saga like Star Wars, LoTR etc. In my view, Herbert's Dune stands above all precisely because it's not just another (great) SF novel.
Herbert said he set out to write a book on philosophy and religion, but didn't want to approach the subject academically since it would probably be only read by scholars. He wanted to reach a broader audience and so he wrapped his ideas into science fiction so it's more easy to swallow for the average bookworm.
Sometimes, but sometimes you want the opposite.
A slow service (e.g. a db server with a failing disk) might still pass health checks but degrade overall system performance.
It is easier/simpler to detect a total outage than a slow/flapping service.
When redis is persisting its state to disk, it temporarily needs 2x the memory because it forks a child that does this in the background. Since fork uses copy-on-write, only the difference between child/parent is actually consumed as extra memory. The rest is "de-duplicated" in a sense.
The choice is then to
1) enable swap, possibly killing performance 2) enable overcommit, possibly killing the redis process
It is sometimes preferable for a service to fail hard and fast than get bogged down with swap. I believe this is the idea behind the "no swap" policy, at least on Linux.
Redis is a good example here because any amount of swapping will kill performance since literally all of its allocated memory is consistently accessed for the purposes of doing a dump. And Linux will always try to swap things out, even with vm.swappiness=1.