HNHacker News
TopNewBestAskShowJobs

BrutalCoding

60 karma · joined June 30, 2018

Flutter Expert & AI Enthusiast.

Dutch dad living in Australia.

Also a tinkerer, dreamer, motorcyclist, homelab nerd, and love for projects involving robots.

submissionscomments
BrutalCoding··on Security Vulnerability in Browser Interface Allows Computer Access via GPU
A use case I’d like to see is having VSCode (e.g. code-server) or any other web IDE for that matter, and being able to attach a debugger process that’s connected to my usb device (e.g. Android phone) for app development.

I can setup a (macOS) VM and expose the web IDE securely to myself, but I wasn’t able to find a working solution about a year ago.

The closest solution for me right now is using Google’s IDE ‘IDX’, basically a web VSCode with a right side panel containing an actual Android/iOS emulator. It’s neat, but I’d rather use my physical devices over USB during development.

PS. If anyone knows how to set this up, please share!

BrutalCoding··on Show HN: I've built a locally running Perplexity clone
That’s a great project you pulled off. From the time I starred it (10-12h ago I think), and upon re-checking this post, you gained 500+ stars lol.

Visualized in a chart with star-history: https://star-history.com/#nilsherzig/LLocalSearch

BrutalCoding··on Show HN: OfflineLLM – a Vision Pro app running TinyLlama on device
Is this Flutter app something you created? If so, is it open source? I’m in that same space and I generally just like to learn from other people’s work.

If not, all good. I don’t have a Vision Pro myself but I got a similar app which runs on all platforms including iPadOS, thus I guess my app should work on that too. Thanks for the reminder!

BrutalCoding··on Ferret: A Multimodal Large Language Model
I’ve made an example app for a Flutter plugin I created that can do this.

Open-source, runs natively on all major platforms. I shared videos showing it on my iPad Mini, Pixel 7, iPhone 12, Surface Pro (Win 10 & Ubuntu Jellyfish) and Macs (Intel & M archs).

By all means, it’s not a finished app. I simply wanted to use on-device AI stuff in Flutter so I started with porting over llama.cpp, and later on I’ll tinker with porting over whatever is the state of the art (whisper.cpp, bark.cpp etc).

Repo: https://github.com/BrutalCoding/aub.ai

For any of your Apple devices, use this: https://testflight.apple.com/join/XuTpIgyY

App is compatible with any GGUF files, but it must be in the ChatML prompt format otherwise the chat UI/bubbles probably gets funky. I haven’t made it customizable yet, after all - it’s just an example app of the plugin. But I am actively working on it to nail my vision.

Cheers, Daniel

BrutalCoding··on GCP Incidents
My bad, didn’t notice your comment earlier. Yes it is, here’s the repo: https://github.com/brutalcoding/aub.ai
BrutalCoding··on GCP Incidents
I’d say Flutter, a GUI framework backed by Google and it’s open source.

I’ve recently ported over a popular project called “llama.cpp” to Dart (language behind Flutter) and I’ve recently made YT video’s showing it running natively on macOS, Linux, Android, iOS, iPadOS and next up is Windows.

The official Ubuntu installer is made with Flutter too nowadays. But to be fair, last time I tried QT was somewhere in 2018, it might be a good option too.

BrutalCoding··on Actual is going open-source (2022)
I have not tried out Actual to this day, but I can imagine how you felt.

Thanks for your nice gesture to hand your project out to the open source community.

I will take a look, probably spin it up and contribute back.

BrutalCoding··on Show HN: I built a Flutter job app for both Android and iOS
Looks and feels great. I’m based in Australia but checked it out anyways and I can tell you’ve put some great effort into this app. I’ve started with Flutter in 2018 and have done Flutter full time in 2 different startups for a few years. So I know my way around it, and this app looks and feels great to me.

It carries attention to details. For example the (hero?) transition from tapping on the searchbar to the searchbaroverlay is nice.

The SelectableText widgets in the Requirements section is a nice touch too. Can’t select the titles such as “Must” or “Nice to have:” but I guess that the content is what matters, which you made selectable.

Dropdowns look nice. Overall just positive in general, especially for someone that has been doing this on the side with no prior experience.

I’d recommend to look into Riverpod for state management instead of Provider, its from the same guy named Remi (author). Especially when you get the hang of the optional riverpod_generator companion plugin (again, same author). It’s basically a Provider 2.0 but due to many differences and breaking changes, he decided to go for a new name.

Some nitpicks: - Twitter logo and name is outdated (X now) - Typo in appbar title when in the Salary stats page, it should be “Salary Statistics” - Salary stats doesnt seem to want to load. Perhaps add a hardcoded timer e.g. display something like “This is taking longer than usual, please come back later.” after a min or so. (Edit: nvm, it loaded) - When tapping on any pages from the sidebar, the only one being “remembered” is the community one. That one gets highlighted in blue but it’s still blue after I visit other pages such as “Send feedback”

Anyways, great job. Keep at it.

BrutalCoding··on Interoperability: Swift’s Super Power
I don’t see the same issues you mentioned when checking the screenshots on their App Store / Play Store pages. But that was a good catch of yours.

I’m relatively confident that they used a device frame around their actual screenshots, which leads back to those issues you mentioned. You can tell that they’ve used different device frames in their current store listings compared to the realistic looking ones on the aforementioned Flutter showcase page.

This whole process can even be automated. I’m talking about a CI/CD workflow that takes screenshots of specific pages, and adding device frames around them etc. See this tool for example: https://docs.fastlane.tools/actions/frameit/

BrutalCoding··on Mistral 7B
Fully agree. I was thinking that there was a tiny fruit fly crawling over the screen for a good few seconds.
BrutalCoding··on Show HN: Hichatbot.ai – Chat with your documents, video transcripts
I haven’t used it but I’m pretty sure that HN readers tend to appreciate if you had provided a privacy policy and a terms of service.

Otherwise, at the minimum, make it clear in your FAQ.

Some questions that I have floating around:

- Who’s processing my data? OpenAI? A service from AWS? Bare metal with your own solution?

- What are the limitations? Would a 1 hour lecture video off YouTube work?

Slight nitpick: You’ve got a domain name, why don’t you use that as your contact email? It would be nicer, in my eyes, to have something like “<your first name>@hichatbot.ai” instead of “hichatbotai@gmail.com”.

BrutalCoding··on Show HN: macOS GUI for running LLMs locally
If you're on macOS ARM64, give it a go. I have the hardware from the README but need more time. I often switch between languages and systems. Kudos to the OP for their work.
BrutalCoding··on Show HN: macOS GUI for running LLMs locally
Cheers for your nice words!

I still salute products like Avapls. Hope you succeed @cztomsik. It’s a good initiative to make offline models accessible.

BrutalCoding··on Show HN: macOS GUI for running LLMs locally
Good to see that other devs share the same passion by making AI accessible to everyone.

I’ve got a similar app, with the same goals and eventually same supported platforms. Slight difference is that it’s open source:

https://github.com/BrutalCoding/shady.ai

BrutalCoding··on Ask HN: Who is hiring? (September 2023)
Flutter dev here who’s keen to get more involved in AI. Email sent for the Flutter role.
BrutalCoding··on Show HN: When Will I Run Out Of Money? (weekend project)
Honestly, this tool looks pretty neat. I haven’t tried it yet but it looks so plain in a good sense.

I can’t be bothered with spreadsheets. Also, tools like Firefly III (and their data importer) is powerful but takes a bit more mental effort and couple of hours…

BrutalCoding··on Stable Diffusion in C/C++
Saw this repo today, fetched it, built a .dylib (Mac) and used Dart’s ffi-gen tooling to generate the bindings from the provided header file.

I’m just experimenting with it together with Flutter. Ffi because I’m trying to avoid spawning a subprocess

Fast forward: Ended up with severe headache and a broken app. Will continue my attempt tmr with a fresh mind haha

This repo is great though, had it up and running within 10 min on my M1 (using f16). Thanks for sharing!

BrutalCoding··on OtterCast: FOSS Audio streaming device running Linux using Sochip S3 SiP
Coincidentally I was looking for a solution like this earlier today and found the following:

https://owntone.github.io/owntone-server/

I haven’t tried it yet but it seems like it fulfills my needs for a Chromecast & Airplay receiver.

BrutalCoding··on Siri Founders give AI 2034 predictions [video]
Here’s a copy of the video description:

“The three founders of Siri were together for the first time in years at the Project Voice conference in Chattanooga, Tennessee tonight and I got them, at the speaker dinner, to give us their AI predictions.

Adam Cheyer, at one time ran the biggest AI program in the world. Siri went on to be Apple’s most profitable acquisition.

Dag Kittlaus, and Tom Gruber follow.”

BrutalCoding··on Anthropic’s $5B, 4-year plan to take on OpenAI
(A) is very use case depending. Even with some of the bad smaller models now, I can see devs making use of them to enhance their app (e.g. local search, summaries, sentiments, translations)

(B) llama.cpp supports gpt4all, which states that its working on fixing your concern. This is from their README:

Roadmap Short Term

- Train a GPT4All model based on GPTJ to alleviate llama distribution issues.

BrutalCoding··on The Coming of Local LLMs
These ones can be plugged in with USB type-c, see: https://coral.ai/products/accelerator/

It’s used for boosting interference (offline) on Linux, Mac and Windows.

Haven’t bought or used them but I’ve had my eyes on these for a little while!

BrutalCoding··on The Coming of Local LLMs
I’ve got some of their smaller Raven models running locally on my M1 (only 16GB of RAM).

I’m also in the middle of making it user friendly to run these models on all platforms (built with Flutter). First MacOS release will be out before this weekend: https://github.com/BrutalCoding/shady.ai

BrutalCoding··on Ask HN: What AI startups are hiring?
Your careers page doesn’t list any positions unfortunately.

Assuming that there’ll be job listings posted, here’s a direct link for those that are curious too: https://angel.co/company/rose-technology/jobs

Also, have a look at your privacy policy and terms of service pages on a mobile device. Both pages render text underneath the blurry appbar/header (top of page), making the first few lines unreadable.

TOS: https://rose.ai/terms

PP: https://rose.ai/privacy

BrutalCoding··on Show HN: Serverpod – The Missing Server for Flutter
You're misunderstanding the project, Serverpod basically creates the following artifacts with their own CLI:

1. Creates a Flutter folder for you, similar to what 'Flutter create' does. It's pre-configured to be able to connect to your local Serverpod server.

2. Creates a server folder where you'd write your API's in Dart. Since Flutter is written in Dart too, this opens up the possibility to share code such as domain models.

3. Creates a client folder with auto-generated code. No manual code changes should be done here, that's the magic trick of this project. This project contains the methods that calls your API's, no need to write redundant code anymore in your Flutter project for each API you just made in your server (backend) project.

It comes with more interesting bells and whistles such as using Docker (compose) to bootstrap every service and also leveraging AWS with Redis, Postgres etc which is setup with Terraform. It goes against the Flutter mass where most of the devs are working with Firebase.

So to answer your question, the Flutter app does not need to be served. It can be, as you said yourself, a local running app that (e.g. phone or desktop). However, the server folder is the one needing to be served for obvious reasons (authentication, safe CRUD operations etc).

BrutalCoding··on Show HN: Programming Is Easier Than You Think
I’m on your side, using Python to draw a smiley in the terminal is a fun and good way to learn in my opinion.

I think I started with Visual Basic Scripting as a kid.

I had fun by just using Windows own Notepad.exe, writing down a script in there and saving it as a .vbs file. Now out of the sudden I made something that produced ‘scary’ pop-ups on the screen and opened and closed the CD drive repeatedly.

Later on, in some PC games I played, I got annoyed (and mesmerized) by hackers. That made me look into DLL injections and cheat engines.

I’d say to anyone that’s new to programming, find what languages are considered “easy” and find out if you can do what interests you, like in my case trying to have infinite ammo in a game.

Another idea, look into moving a servo motor (Arduino + Raspberry Pi, or just the Pi on its own). A “robot” that shoots a rubber band. I’ve made that for fun and started to add a camera into the mix, adding OpenCV to recognize people and make it shoot. It’s similar to a LAW (killer robot) but without the killing part!

My point is, do whatever project sounds fun and try to to do that with a language that is considered easy for the job.

BrutalCoding··on Show HN: Programming Is Easier Than You Think
You’re right, but if you would Google “build desktop application” for example, you’ll see Electron in the top 3.

I could imagine that many new devs will think building desktop applications requires JS, HTML and CSS.

To make things more confusing, it’s possible to use Electron with Rust, React, and/or even Python. These can be combined too, all in all it could be quite confusing for some.

BrutalCoding··on Kill-sticky, a bookmarklet to remove sticky elements and restore scrolling
In that case I’d suggest having a look at Orion, its a webkit based browser just like Safari and it tries to be close to Safari. The big difference is that you can install all extensions from Chrome and from Firefox.

Whether all extensions work is a different story but its very neat!

Its available on MacOS and iOS, both supporting extensions.

https://browser.kagi.com/

BrutalCoding··on Facebook sued for skirting Apple privacy rules to snoop on users
I haven’t tried sending push notifications to iOS over web yet but this should be possible since iOS 16 [1] because they introduced “web push”. According to Apple, it works cross-browser, even if the browser was killed by the user, and you are not required to have an Apple developer account.

[1] https://developer.apple.com/documentation/usernotifications/...

BrutalCoding··on I recreated famous album covers with DALL-E
Hmm, I haven’t tried DALL-E yet but Midjourney mentions that negative prompting dont tend to work well. See here: https://midjourney.gitbook.io/docs/resource-links/guide-to-p...

They got a solution for that, which is using their —no argument. https://midjourney.gitbook.io/docs/imagine-parameters#prompt...

I haven’t checked if DALL-E has that option too.

Otherwise, you could try other variations like:

street light, light pole, lamp pole, lamppost, street lamp, light standard, or lamp standard

I copied that from Wikipedia :)

Best of luck!

BrutalCoding··on Cross-platform development: Mobile Flutter Apps That Run on the Desktop
What happens if an app is calling something like google sign in? Plugin found here: https://pub.dartlang.org/packages/google_sign_in

Haven't tried it out on iOS but on Android it will prompt a dialog with the google accounts that are registered in Android.

Anyhow, this is really interesting, I'll keep an eye on this.

← PreviousPage 2 of 2