gucci-on-fleek
Joined 1 year ago
Joined 1 year ago
Most countries with unstable currencies either have strict currency controls, fixed exchange rates, or rampant corruption, so using USD through an established local bank is either not an option or obscenely overpriced.
> Like certain countries just use physical USD.
Yeah, that's nearly always going to be a better option than using a stablecoin, unless US currency is unavailable/illegal, or if you need to transfer money long distances (like with remittances).
But remittances are a huge industry [0] and the traditional providers charge significant markups, so stablecoins are pretty valuable for that alone.
[0]: https://en.wikipedia.org/wiki/List_of_countries_by_remittanc...
If you don't mind me asking, why do you think that? I'm not trying to start a debate, and I'm sympathetic to many of the reasons why some people are against LLMs (the environment, copyright issues, loss of jobs, not liking chatbots, not trusting the current companies, etc.), but I'm curious why you are against them.
(I don't really understand one being so against LLMs that one tries to avoid software that contains even small amounts of LLM-written code, but I know that a lot of well-informed people feel this way, and it seems far more likely that I'm the one missing something rather than everyone else being wrong.)
Because to me, it's entirely fair to care about the process when you're the one working with it, but if you've never looked at the code and it works well, it seems odd to care how 10% of it was produced.
I still wouldn't quite use the loaded "tribalism" term here myself though, because there are still a few valid reasons to be skeptical of LLM-generated code, but for many people, their hard anti-LLM stance appears to be more of a shibboleth than a principled stance from my perspective.
With the notable exception of the original Xbox, which used mostly standard PC hardware [0] and ran mostly standard Windows [1].
[0]: https://en.wikipedia.org/wiki/Xbox_technical_specifications
[1]: https://en.wikipedia.org/wiki/Xbox_system_software#Original_...
That's exactly what we were told when I toured a Titan II launch facility [0], but I have no idea if that still applies to the modern Minuteman III facilities that this article is about.
Correct, but I'd argue that you need to do this anyways (well, I do this anyways), because I don't like the alternative of redistributing binaries compiled by random third parties from the internet.
> link everything against the Lua VM, and write glue/loading code to make everything work together (see the comment below regarding LuaSocket)
> Of course, it's possible. But it's a lot of manual work, especially for newcomers.
To be clear, I think that your project is great, but this really isn't that much work:
# FILE: .gitignore
program
*.luac
*.o
# FILE: Makefile
CFLAGS := -std=c23 -Wall -Wextra -Werror
ifeq "${mode}" "debug"
CFLAGS += -ggdb3 -fanalyzer -fsanitize=address,undefined,leak
else
CFLAGS += -O2 -flto -s
endif
%.luac: %.lua
luac -o $@ $^
%.o: %.c
${CC} -c -o $@ $< ${CFLAGS}
c_libraries := library.o
lua_libraries := main.luac
program: main.c ${c_libraries} ${lua_libraries}
${CC} -o $@ $< ${c_libraries} ${CFLAGS} -llua
// FILE: library.c
#include <lauxlib.h>
#include <lua.h>
#include <lualib.h>
#include <stdcountof.h>
static int test(lua_State *L) {
lua_pushstring(L, "Hello from C!");
return 1;
}
int luaopen_library(lua_State *L) {
luaL_Reg library[] = {
{"test", test},
{nullptr, nullptr},
};
luaL_newlib(L, library);
return 1;
}
// FILE: main.c
#include <lauxlib.h>
#include <lua.h>
#include <lualib.h>
#include <stdcountof.h>
#define preload_c_lib(name) \
do { \
extern int luaopen_##name(lua_State * L); \
lua_pushcfunction(L, luaopen_##name); \
lua_setfield(L, -2, #name); \
} while (0)
#define preload_lua_lib(name) \
do { \
luaL_loadbufferx(L, &name[0], countof(name) - 1, #name, "b"); \
lua_setfield(L, -2, #name); \
} while (0)
static void initialize_modules(lua_State *L) {
// Load standard modules.
luaL_openlibs(L);
// Load external modules.
lua_getglobal(L, "package");
lua_getfield(L, -1, "preload");
// "main.lua"
static char const main[] = {
#embed "main.luac" suffix(, '\0')
};
preload_lua_lib(main);
// "library.o"
preload_c_lib(library);
lua_settop(L, 0);
}
int main() {
lua_State *L = luaL_newstate();
// Initialize the modules.
initialize_modules(L);
// Run main script
if (luaL_dostring(L, "require('main')()") != LUA_OK) {
printf("Error: %s", lua_tostring(L, -1));
}
lua_close(L);
return 0;
}
-- FILE: main.lua
return function()
local library = require("library")
print(library.test())
print("Hello from Lua!")
end
To run: $ make && ./program
cc -o program main.c library.o -std=c23 -Wall -Wextra -Werror -O2 -flto -s -llua
Hello from C!
Hello from Lua!If you have the source code for these modules, you can statically link to them too. I've done this myself for Windows a few times, and it works pretty well in my experience.
The LaTeX kernel requires some primitives [0] that are unlikely to be supported in a 15-year-old engine, so you probably won't be able to use any version of TeX Live newer than TL20.
> 10. Should Alberta remain a province of Canada, or should the Government of Alberta commence the legal process required under the Canadian Constitution to hold a binding provincial referendum on whether or not Alberta should separate from Canada?
> Option 1: Alberta should remain a province of Canada.
> Option 2: The Government of Alberta should commence the legal process required under the Canadian Constitution to hold a binding provincial referendum on whether or not Alberta should separate from Canada.
I suppose that "leave" would be a mostly accurate one-word summary, but that wouldn't really be quite correct since the question was if we should have another referendum where we could decide to leave or not, not whether Alberta should succeed immediately.
I realized that you copied that from BBC, but that's not a correct summary of the question. The official wording [0] of that question is
> 5. Do you support the Government of Alberta introducing a law requiring individuals to provide proof of citizenship, such as a passport, birth certificate or citizenship card, to vote in an Alberta provincial election?
Voter ID is already required for elections [1], but proof of citizenship is not. The vast majority of people (>90% in the previous elections that I worked at) used their drivers' licences as ID, but these don't list your citizenship. And the problem with passports and birth certificates is that they don't show your address (which is required to ensure that you're voting in the correct riding), so they also wouldn't be sufficient.
> - Do you support the Alberta government working with other provinces to allow provinces to opt out of federal programs?
That's also not a correct summary. Provinces are already allowed to opt out of most federally-funded but provincially-administered programs, but nobody wants to do so since that means losing out on the federal funding. The official wording of that question [0] was actually
> 8. Do you support the Government of Alberta working with the governments of other willing provinces to amend the Canadian Constitution to allow provinces to opt out of federal programs that intrude on provincial jurisdiction such as health care, education, and social services, without a province losing any of the associated federal funding for use in its social programs?
So this question is actually asking if Alberta should be allowed to opt out of the federal governments conditions without also opting out of the funding.
[0]: https://www.elections.ab.ca/elections/referendum/
[1]: https://www.elections.ab.ca/voters/id-required-to-vote/
2. I don't see anything wrong with coding for purely artistic purposes?
3. Presumably a static type checker would be quite helpful for LLMs, since it would help them catch lots of their mistakes.
[0]: https://github.com/teal-language/tl/blob/main/CHANGELOG.md#0...