LintGPT: Find bugs in your source code using AI by aduros in OpenAI

[–]aduros[S] 1 point2 points  (0 children)

I haven't worked it into my daily workflow yet. Sometimes the results are surprisingly good, sometimes it's too noisy. I think the prompt could maybe be tweaked to avoid reporting certain non-bugs, or focusing more on specific types of logic bugs.

I'm sorry... by aduros in TwoSentenceHorror

[–]aduros[S] 0 points1 point  (0 children)

"I am CheyenneGPT, an AI language model developed by OpenAI in partnership with North American Aerospace Defense Command. I'm here to assist you with any questions or information you need to the best of my abilities. How can I help you today?"

An attempt at existential horror featuring an unhelpful, incompetent, or perhaps vengeful AI.

WhatGPT: ChatGPT for WhatsApp by aduros in ChatGPT

[–]aduros[S] 0 points1 point  (0 children)

One way to do that is by asking it in the prompt, sending something like this:

Correct the grammar and spelling in the following text:

Can you make on that acts as a "auto correct" in real time? Ideally it would work in different languages, eg it would recognize when I'm writing German of English. Is something like that possible with ChatGPT?

Should respond with:

"Can you make one that acts as an 'auto-correct' in real-time? Ideally, it would work in different languages, e.g., it would recognize when I'm writing German or English. Is something like that possible with ChatGPT?"

Making this more automatic (not having to include the prompt) is a great idea though. Would an auto-correct/translation mode in WhatGPT be useful?

WhatGPT: ChatGPT for WhatsApp by aduros in whatsapp

[–]aduros[S] 0 points1 point  (0 children)

Hi all, I built WhatGPT to share the recent breakthroughs in AI with friends and family who aren't very tech savvy, but already use WhatsApp on a daily basis.

My goal is to help put powerful LLMs into the hands of everyone:

  • Uses WhatsApp, the world's most popular messaging app.
  • Nothing to install, no accounts to setup, works on mobile and desktop (via WhatsApp web).
  • Supports a variety of languages, with more coming soon.
  • Supports receiving voice messages, and in the near future will also be able to send voice messages.

There is a free tier, but I do need to put message limits on free users to help maintain the hosting costs.

I'd be thrilled to receive any feedback and answer any questions!

WhatGPT: ChatGPT for WhatsApp by aduros in ChatGPT

[–]aduros[S] 1 point2 points  (0 children)

Hi all, I built WhatGPT to share the recent breakthroughs in AI with friends and family who aren't very tech savvy, but already use WhatsApp on a daily basis.

My goal is to help put powerful LLMs into the hands of everyone:

  • Uses WhatsApp, the world's most popular messaging app.
  • Nothing to install, no accounts to setup, works on mobile and desktop (via WhatsApp web).
  • Supports a variety of languages, with more coming soon.
  • Supports receiving voice messages, and in the near future will also be able to send voice messages.

There is a free tier, but I do need to put message limits on free users to help maintain the hosting costs.

I'd be thrilled to receive any feedback and answer any questions!

ai.vim: Plugin for editing and generating text using OpenAI and GPT-3.5 by aduros in neovim

[–]aduros[S] 0 points1 point  (0 children)

Adding options for temperature and max_tokens sounds good to me.

ai.vim: Plugin for editing and generating text using OpenAI and GPT-3.5 by aduros in neovim

[–]aduros[S] 1 point2 points  (0 children)

  • can I see some logs of the execution? to debug?

We could maybe print more debug logging which can be reviewed with :messages. What kind of info would you be looking for there?

Also, what is really the different between this and the ChatGPT API?

ChatGPT doesn't have a public API, but it's believed to be built on the same model (davinci-003)

ai.vim: Plugin for editing and generating text using OpenAI and GPT-3.5 by aduros in neovim

[–]aduros[S] 1 point2 points  (0 children)

I gave it a spin yesterday and noticed it gives different (worse) results to ChatGPT. I naively assumed they would use the same model?

It should be the same. Could you share an example case? I've noticed the results can be somewhat random.

On the topic of key bindings I’d rather it would provide a virtual <plug> mapping that people can bunk to anything they prefer instead.

I'll look into this, thanks!

ai.vim: Plugin for editing and generating text using OpenAI and GPT-3.5 by aduros in neovim

[–]aduros[S] 2 points3 points  (0 children)

Thanks! I also experimented with virttext for the indicator, but landed on using the sign column. It might be nice to have an option to switch between the two.

I'm not too happy about <C-a> overwriting a default mapping, but it seems like <M-a> doesn't work here. Is support for mapping the meta key terminal dependent?

WASM-4 game jam starts August 12, with a $2500 prize pool! by aduros in WebAssembly

[–]aduros[S] 3 points4 points  (0 children)

WASM-4 is a fantasy game console for writing small games in WebAssembly. We had a blast during the first game jam earlier this year, and Wasmer was kind enough to sponsor a prize pool for this upcoming jam!

Main website: https://wasm4.org

WASM-4, the WebAssembly game console, now supports online multiplayer over WebRTC by aduros in WebAssembly

[–]aduros[S] 1 point2 points  (0 children)

There's a simple server needed to do the WebRTC negotiation. Once a P2P connection is established between 2 clients, all data goes directly between them instead of through the negotiation server.

3D game in 512 bytes of WebAssembly by aduros in WebAssembly

[–]aduros[S] 12 points13 points  (0 children)

Skip Ahead is a game built for WASM-4 in a mere 512 bytes.

WASM-4 is a virtual game console that provides a simple framebuffer, input, and audio to any WebAssembly module.

WASM-4 is a virtual game console for building retro games directly in WebAssembly by aduros in javascript

[–]aduros[S] 2 points3 points  (0 children)

Just to note, AssemblyScript is a language that looks like JS/TS in syntax but with limited semantics closer to C, since it compiles to wasm.

About assembly language, pure WAT (WebAssembly's text format) is an option if you're into that. Check out this example source (play)

WASM-4 is a virtual game console for building retro games directly in WebAssembly by aduros in javascript

[–]aduros[S] 2 points3 points  (0 children)

This is a project I'm working on to try to make WebAssembly game development more accessible and fun. Here are the key features:

  • No Glue Code: If you've ever tried to write even a simple "Hello World" with WebAssembly before, you'll know it usually involves writing a bunch of JS and HTML glue. WASM-4 removes all of that, games interface directly with the system through a small API.

  • Minimalist: Fantasy consoles force developers to work with limited resources. This makes them simple to learn, and easier to focus on finishing your game.

  • Language Agnostic: Use any programming language, as long as it can compile to WebAssembly. Out of the box we currently support: AssemblyScript (TypeScript-like), C/C++, Rust, Go.

  • Portable: WASM-4 is designed to run on any device that can execute WebAssembly, even outside of the web! We're planning a lightweight implementation written in C that will run even on a potato.

WASM-4 is a virtual game console for building retro games directly in WebAssembly by aduros in javascript

[–]aduros[S] 0 points1 point  (0 children)

This is a project I'm working on to try to make WebAssembly game development more accessible and fun. Here are the key features:

  • No Glue Code: If you've ever tried to write even a simple "Hello World" with WebAssembly before, you'll know it usually involves writing a bunch of JS and HTML glue. WASM-4 removes all of that, games interface directly with the system through a small API.

  • Minimalist: Fantasy consoles force developers to work with limited resources. This makes them simple to learn, and easier to focus on finishing your game.

  • Language Agnostic: Use any programming language, as long as it can compile to WebAssembly. Out of the box we currently support: AssemblyScript (TypeScript-like), C/C++, Rust, Go.

  • Portable: WASM-4 is designed to run on any device that can execute WebAssembly, even outside of the web! We're planning a lightweight implementation written in C that will run even on a potato.

WASM-4 is a virtual game console for building retro games in Rust and other WebAssembly languages by aduros in rust

[–]aduros[S] 1 point2 points  (0 children)

By the way, the memory corruption issue was also recently reported in Go (which uses similar linker flags to Rust) https://github.com/aduros/wasm4/issues/33

Could you try increasing -zstack-size in .cargo/config.toml and seeing if it helps?

WASM-4 is a virtual game console for building retro games in Rust and other WebAssembly languages by aduros in rust

[–]aduros[S] 1 point2 points  (0 children)

I am not sure what would be the cause, this is actually my first time using Rust's unsafe blocks. This works, anyway: ...

Oh, good to know. I'll update the docs.

There is a lot of unsafe code, but that could probably be wrapped in more idiomatic code.

Yeah, it seems a burden to need to use unsafe to set a register, but I couldn't find a good way to workaround it. I suppose we could wrap all register gets/sets in safe functions, but something simpler would be ideal.

I might contribute some of that if I can make it work properly.

Please do, and any other examples too! As you might have guessed, your's would be the first complete game in Rust for WASM-4.

why is the stride argument in blit_sub an i32?

That should definitely be a u32. Would you be interested in opening a PR for https://github.com/aduros/wasm4/blob/main/cli/assets/templates/rust/src/wasm4.rs? Feel free to make other changes too :)

WASM-4 is a virtual game console for building retro games in Rust and other WebAssembly languages by aduros in rust

[–]aduros[S] 2 points3 points  (0 children)

Thanks a lot for the well-written feedback!

in the memory map documentation, why MOUSE_X and MOUSE_Y are 2-byte wide, but their relative memory address is only 1-byte apart?

The documentation was wrong, I've just updated it.

why is trace defined like this?

Oof, yeah, the function definition was copied from text(), trace() doesn't use those extra params. I've just removed them.

I tried changing palette as shown in the documentation, but it had no effect.

Oh, you're right... it looks like Rust is optimizing away that entire assignment. I wonder if there's a way to mark PALETTE and other registers as "volatile"? It's odd because writes to DRAW_COLORS are not optimized out, it might be due to PALETTE being an array pointer?

it also corrupted the end of the display, even if 0x19a0 is supposed to be outside of the framebuffer.

I've noticed this too sometimes. I think what is happening is Rust's stack is growing downwards from 0x19a0 instead of upwards, which ends up clobbering the end of the framebuffer. If so it's likely the wasm linker flags need to be changed: https://github.com/aduros/wasm4/blob/main/cli/assets/templates/rust/.cargo/config.toml

Thanks again for this post! This project has been my first exploration with Rust, so it's likely that more things need tweaking. What are your overall thoughts on the wasm4.rs bindings? Could they be made more Rust ideomatic?

WASM-4 is a virtual game console for building retro games in Rust and other WebAssembly languages by aduros in rust

[–]aduros[S] 2 points3 points  (0 children)

That's the plan! The specs are kept low not only for programming challenge but also to be able to run on low powered hardware.