I have a list of packages and now I want to find the spoons to build a #Gemini client in #Flutter... I want to add support for "gmix" files (which was I think gemtext with inline markdown support, I forgot what I wanted it to be), a /_menu.gmix file that would add a site-wide menu bar and display title, ANSI colors/bold/italics, (prompted) PDF reading, and Titan, and it would ideally look and work pretty close to Lagrange but be Material and therefore look... less rudimentary.
Before the day ends: yes, work (especially #Ginlo_II / #Cicero) is going really well.
Today I added a bunch of minor details, and as the third language: Turkish (ok, ok, a lot of work to do still, but it is there already).
But also fixed lots of bugs. I am confident that we can finally give it out to more people in the company. The first few already started.
Since privacy (and especially chat privacy) is so important to me, that I even introduced settings where you can be chatting and someone looking over your shoulder has no idea with whom you are chatting. No avatar. No name. Just some initials and that's it. Not the slightest indication, even in groups.
I mean, sometimes this can be really important. Imagine children chatting with a trusted third party about something they can't (yet) talk with their parents and one parent comes over and peeks over their shoulder... Of course, I can't hide the messages (that would defy the purpose, right?), but I can at least hide the chat partner's identity completely...
I have added many such features and settings - of course, always "Global + Chat-by-Chat-basis". Security is given (E2EE + local encryption), but I find that other messengers think that privacy is just a minor topic, but no, it is a major issue - as big as security, so... yeah, it helps that I am a trans person, because I can (somewhat) imagine what kind of privacy people might want.
(And yes, I do have "vanishing messages" and yes, you can set to send only vanishing messages - Global + Chat-by-Chat-basis).
(And yes, I have other message-based privacy settings, but can't mention them yet 😂)
Did I mention that I added a "stalker-protection feature"? I mean, as far as I could do, right?
Yeah, I can't wait to release this anymore... It is really becoming a great app
(and yes, there were still lots of bugs including one which caused excessive CPU usage, but could be fixed nicely)
Yeah, today was good - it is really extremely heavy/hard work atm, but the results are great. I am happy...
Working with #flutter and #dart, and an annoyance is the linter complaining that some things should be marked const.
Yes, linter, you're absolutely correct about that. But if you can figure that out, why the hell doesn't the compiler do it automagically as an optimisation step?
If there is a good reason why the compiler can't do that, I'd love to hear it.
To my iOS developers, ever since resetting all settings on my iPhone, whenever I try to deploy an app to my device, it just sits there with a blank screen. This happens with both Flutter and Swift apps. The app shows as running in the switcher, but if I tap on it, either from there or the Home Screen, it dies straight away. Xcode shows it as running, but it most certainly isn’t. I’m still fairly new to this, and am not sure what’s going on. Any help would be greatly appreciated! #iOS#Xcode#iPhone#Swift#Flutter
Details of the "KangaPack" packer (used in Fluhorse). It packs the payload in its own classes.dex format.
Also, it's a good opportunity to use ImHex - a lovely hex editor with pattern editor etc.
"This article delves into the reverse engineering of Dart executable or Flutter release applications. We focus on the reverse engineering of byte arrays."
I've published a blog post on reverse engineering Dart. This is the programming language used by Flutter.
This is a specific point on a non-standard way Dart assembly performs routine calls. It explains why decompilers just don't get it right when it comes to Dart...
Early #Perl luminary and author (#OReilly camel and llama books, many magazine articles, etc.) Randal Schwartz, a/k/a merlyn, is in dire financial straits.
He needs gainful #employment NOW of any kind, and although his #programming language of choice now is #Dart and the #Flutter framework, he’s willing to fall back on his @Perl chops.
After some time off (#Trainabout / #EnbyOnTrain, my father’s death, processing good and bad memories), I am back baby!
Back to the Future… no, back to work!
Today I’ll try implementing the now agreed-upon “Forward Message” feature for #Ginlo / #Cicero / #Ginlo_II.
The problem with “Forward Message” is similar to the “Quote Toot” here on Fedi: you don’t want to offer a feature that could be misused to harass or fire-up people. You just want to have a feature that people can use to communicate with each other respectfully.
Yes, I know, I am only the creator of a tool and I am not responsible for how the tool is used. But, hey, if I can create the tool in a way that misusing it to harm someone is really difficult, then I should. At least, that’s my way of thinking.
I am a veteran software engineer who works as a freelancer from their home.
I love modernizing ancient software by carefully, slowly rewriting while it is still operating - without disruptions.
Currently I have two wonderful, awesome, really amazing clients between whom I split my time roughly about 50:50.
For the first one, I am the "Primus inter pares" in a team rewriting a 20-yo C++ & JS-based system in modern nodeJS + Typescript. My main job there is not to write code (it seems), but review PRs, review code, give coding guidelines, merge PRs, and make sure everything my team needs is there: test servers, development server, on-premise Gitlab, on-premise Mattermost, a good/respectful/lovely atmosphere, a lot of fun, and what else we need to deliver an awesome product. The team is amazing, the atmosphere is full of respect and love; I will stay with this team as long as I can.
For the second client, I am rewriting a 15+ year old system (Java, Java/Swift/Vue1.x-FE; rpc-like crap-API) using go(BE), gRPC (API) and dart/flutter (FE).
Here I am the core developer for the new client and the new back-end. The back-end is, for now, a proxy/a wrapper around the existing one. Behind that wrapper, two wonderful co-workers are modernizing & optimizing the Java-BE. This team here is equally as lovely as one can ever hope for; and yes, I will stay with this team as long as I can as well.
Oh, and BTW: people in both teams are nearly 100% remote.
I am married to a wonderful, an absolutely amazing person who is so full of love that she sometimes struggles with the universe (or with humanity). And I am a proud father (yes, "father"*) of a woman with a brilliant Beautiful Mind and a heart as big as the universe (who also happens to have Mastery of Words™️).
I love learning new things from complete strangers. The stranger the new knowledge the more fascinating it is for me.
I have a #FragMyBrain (autistic, ocd, nd) so be ready for detailed explanations, where each word is carefully chosen & positioned in the sentence, but still some missing - when you ask me something.
I quickly fall in love with brilliant people with language mastery skills - Mastery of Words™️.
You can always shitpost with me & talk garbage - as long as it is done intelligently, with wit & humor, and respect.
The fastest way to land on my block list is not to make a mistake, but to repeatedly make the same stupid mistake again and again and insist on it being right. There is always enough space in the "Dungeon of Blocked Accounts" (and being racists, queer-/transphobic, ableist, disrespectful, white supremecist, etc., etc. - you know what I mean).
I will add CW and mark as sensitive whenever I think so. If I forget once, please inform me and I'll correct it as fast as I can. I don't discuss whether something needs CW/sensitive marker or not, I just accept it.
I wear my feelings on my skin, i.e. what you see is how I really am, there is no IRL Imdat Celeste and a different, Fediverse Imdat Celeste: you will see a lot of 🫂,💜,😍,🥰,🥹,😳... and more. If you feel it is intruding, please let me know.
I come over differently, but I am also insecure: so, I will add a lot of emojis - just to be sure.
Also, please don't expect a "normal person" here: I am completely, utterly, hopelessly an un-normal person.
Also, my posts my start with one specific topic but during the text itself it may just become something completely different - "Train of Thought".
Again, nice to meet you - I am always looking for more new friends...
*: I am a trans non-binary person. When I came out to her, my daughter asked me how she should call me from then on and since it is an honor to be her father, that, yeah, I am and will always be that.
Is there a language that handles dependencies well?
Python's virtual environments are a bit awkward but everything mostly works, I haven't played with Java build tools much, Javascript is a trainwreck. I've been happy with Dart, but haven't gotten into the weeds much. Same with rust, cargo seems nice, but I haven't played with it enough to know the pitfalls yet.
Continuing with my joy levels about the Dart 3 switch statement, yes it is as powerful as Kotlin's ever was. For example one can now do something like this (admittedly contrived but you get the point) #dartlang#dart3#flutter
When Dart overtook Kotlin as my favorite language I still missed certain features of Kotlin. One was the incredibly powerful switch statement, called "when", that Kotlin had and being able to use that for assignment. Now that Dart 3 is out I now have the equivalent of that again :). It may be missing a couple of edge case features like "in" comparisons but I have to experiment more to determine that. Hats off Dart and Flutter Team. (Screenshot from the "What's New in Dart and Flutter" presentation from #GoogleIO#GoogleIO2023#flutter#dart#kotlin
Learning #flutter and #dart today. Love how non-confrontational it us when it says something like. "You can develop apps for #Android or #iOS, but you need an #apple machine for iOS".
Is that the only reason there is no #GPL code in the iOS #appstore? Too many proprietary apple dependencies? Is it possible to develop iOS apps on #BSD ?
Reversing Flutter Apps: Dart’s Small Integers (cryptax.medium.com)
"This article delves into the reverse engineering of Dart executable or Flutter release applications. We focus on the reverse engineering of byte arrays."