Skip Navigation
Arkscript September update - macros and tooling
lexp.lt ArkScript - September 2024 update

Hello, General Kenobii! In the last 90 days, 795 files have been modified, for 3105 insertions and 9135 deletions (dataset cleanup for fuzzers), in just 97 commits (I’m reworking the very last one, more on that soon). # Did someone say… macros? Macros come in handy for improving syntax and creating ...

ArkScript - September 2024 update

I’ve started putting the (long) forum posts I make about ArkScript on my blog, so that more people can follow the development. I must say I like the look of it, that’s also helping me getting back into blogging!

0
Smart TVs take snapshots of what you watch multiple times per second
  • So they are allowed to pirate content actually? Even if it’s not Netflix or YouTube they take screenshots of potentially copyrighted content

  • After a year of operation, Switzerland's government closes its Mastodon instance
  • From what I saw it was actually rising. A lot of Brazilian signed up when X was banned in their country and all the indicators are going up it seems. I don’t know where they got their numbers, to me it feels like they needed an excuse to cut costs.

  • Comparing ArkScript and Python async/await
    lexp.lt Comparing Python and ArkScript asynchronous models

    Python has received a lot of attention lately. The 3.13 release, planned for October this year, will begin the huge work of removing the GIL. A prerelease is already out for curious users who want to try a (nearly) GIL-less Python. All this hype made me dig in my own language, ArkScript, as I had a ...

    cross-posted from: https://programming.dev/post/18859576

    > This past few weeks, Python 3.13 and the possibility to disable the GIL has seen a lot of coverage and that pushed me to dig into my own language, to see how different our approaches are. > > So if you’re curious about the rambling of a pldev, that might be for you!

    0
    Implementing computed gotos
    lexp.lt Implementing computed gotos in C++

    A common idiom in virtual machines or state machines is to read data from a list, execute some code depending on the value we read, advance in the list, rinse and repeat. That could be written as: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 std::vector<uint8_t> bytecode = readBytecode(); std::size_...

    I just wanted to have a handy description of computed goto that I could refer to, to reuse this concept without having to read thousands of line trying to make sense out of it.

    0
    Registration opened for Hacktoberfest 2024
  • It feels like the original goal, celebrating open source and creating an environment to help newcomers getting started, was lost with the rewards.

  • Removed Deleted
    Boost Your Traffic: Top On-Page SEO Strategies You Need to Know
  • Is it an ad or is it related to technology?

  • Registration opened for Hacktoberfest 2024
  • The hacktoberfest used to be cool, people contributing meaningfully to projects.

    Now it’s a rush to who will make the trashiest PR, adding a space here in a readme, adding an unrelated file to your repo…

    Once again I won’t be participating, as a maintainer nor as a contributor (didn’t participate last year as I got more and more trashy pr until the 2022 edition when I decided it was enough).

  • Open source maintainers underpaid and going gray
  • I’m an unpaid maintainer working on my own projects, so far I got (in my opinion) a lot of external contributions on those projects but people do not stay.

    I just like working on my projects for fun, and seeing the stars in GitHub people seem to like the project, I’m just the only one creating issues on it and improving the product mainly for fun.

    As a maintainer it isn’t easy to get people onboard, as a contributor I have very strict needs to contribute to a project (good documentation, should be build easily with a few commands and not require a 40 years old version of an unmaintained software, a guide to know how to contribute (contributing.md)), and I’ve done my best to add that to my projects so I could onboard myself from another universe.

    Oh and no discord. I had one at first (and still have for webhooks and discussing with a few people, but it’s closed and I’m pushing everyone to GitHub discussion).

  • United Nations wants to treat AI with same urgency as climate change
  • « creating an AI fund to back projects in these [poorer] nations, establishing AI standards and data-sharing systems, and creating resources such as training to help nations with AI governance. »

    So basically burn money and energy on some hallucinating algorithm should be as important as investing in green energy and reducing CO2 levels. That makes sense. Like, yeah, totally onboard. What could go wrong?

  • AI-Generated Code is Causing Outages and Security Issues in Businesses
  • Heck, I sometimes can’t understand my own code. And this AI thing tries to tell me I should move this code over there and do this and that and then poof it doesn’t compile anymore. The thing is even more clueless than me.

  • AI-Generated Code is Causing Outages and Security Issues in Businesses
  • How come the hallucinating ghost in the machine is generating code so bad the production servers hallucinate even harder and crash?

  • Removed
    Season 2 of Rings of Power is out!
  • Im watching for the audiovisual too. The universe is great but to me that’s like a parallel one to the real Tolkien one.

  • Comparing ArkScript and Python async/await
    lexp.lt Comparing Python and ArkScript asynchronous models

    Python has received a lot of attention lately. The 3.13 release, planned for October this year, will begin the huge work of removing the GIL. A prerelease is already out for the curious users who want to try a (nearly) GIL-less Python. All this hype made me dig in my own language, ArkScript, as I ha...

    This past few weeks, Python 3.13 and the possibility to disable the GIL has seen a lot of coverage and that pushed me to dig into my own language, to see how different our approaches are.

    So if you’re curious about the rambling of a pldev, that might be for you!

    0
    Average GitHub PR
  • Probably too long. That was a philosophy I had at school and iirc the founders never finished school and started MS in a garage.

  • Average GitHub PR
  • Who needs tests when you have users?

    The testing environment is production!

  • Whats your go-to naming convention?
  • I use camel case for methods and functions and snake case for variables. And pascal case for constants. Why? I don’t really know, it makes for a nice distinction I guess.

  • Creating custom GitHub webhooks for automatic deployments
    lexp.lt Creating custom GitHub webhooks for automatic deployments

    For a while, when updating ArkScript website, I have needed to remember to update the copy on my VPS so that the changes would be reflected to the world. Since I’m quite lazy, I’d like to automate this! # The solutions The first solution would be to use crontabs. Easy to setup, find a schedule, writ...

    I thought you guys might enjoy it: I have a website that I push to frequently on GitHub, and some GitHub actions that update it periodically by pulling code and generating docs from it. I needed to connect to my vps often and update the website which was cumbersome.

    Well a solution is to use webhooks on push events and have a server listening to those events to then update said websites for me.

    0
    Recommend me a scripting language
  • If you are interested in tiny lisp like languages, this gitlab could be of interest to you.

    Full disclaimer, I came across it a few years back as I am the maintainer of arkscript (which will get faster and better in the v4, so that data about it there is accurate as a baseline of « it should be at least this good but can be even better now »).

  • Creating custom GitHub webhooks for automatic deployments
    lexp.lt Creating custom GitHub webhooks for automatic deployments

    For a while, when updating ArkScript website, I have needed to remember to update the copy on my VPS so that the changes would be reflected to the world. Since I’m quite lazy, I’d like to automate this! # The solutions The first solution would be to use crontabs. Easy to setup, find a schedule, writ...

    0
    How to quit VIM?
  • You could consider markdown extensions that helps you write and visualize!

    Like this one: https://github.com/MeanderingProgrammer/render-markdown.nvim

  • A symbol for the fediverse ⁂
  • Three dots like this is also an ACAB symbol.

  • GitHub, the go-to site for open source software, is currently down
  • People always make it such a huge deal but that has been pretty normal, since Microsoft owns GitHub we have had a t least 2 if not 4 outages per month.

  • Removed
    Don't use any clicking scripts.
  • A card grabber disguised as a game to me

  • Deleted
    Don't use any clicking scripts.
  • This feels like not a game but a card grabber. And no, saying « this is just a game » isn’t convincing at all.

  • Which cheap mods can i make to my keyboard to make it quieter?
  • If you are using choc switches, the new ambients are made to be silent, and so far it has worked great for me

  • Checking if a hash is collision free on a limited domain
    lexp.lt Checking the collision \

    # Why? In a work related context, I had to create a hash algorithm working on a finite set of values ([0, 0xFFFFFFFF]) to output a non sequential serie from a sequential one (the output had to be rendered as a UUID. Basically, I wanted to avoid generating UUID looking like 00000000-0000-0000-0000-00...

    I had some fun trying to check if a hash (more like a transformation really) was collision free, so I wrote a quick piece code and then iterated on it so that it was usable.

    I might add a quick bench and graphs and try to push it even further just for fun, to explore std::future a bit more (though the shared bit set might be a problem unless you put a shared condition variable on it to allow concurrent read but block concurrent writes?)

    3
    [suggestion] block new accounts from posting

    More and more new accounts are posting spam and ads to communities (eg !technology@programming.dev), would it be an idea to block new accounts from posting to any p.d community?

    5
    An online playground for ArkScript
    playground.arkscript-lang.dev ArkScript playground

    Online IDE playground to run ArkScript code

    I wanted people to be able to try out my language online, and it’s now possible with a vscode like interface, sending code to a docker image running the interpreter!

    It was easier than I thought to implement, and yes, security was a concern, but I have been able to harden the docker container as well as implement restrictions on the websocket server to avoid having users escaping the docker image and getting access to the VM it’s running on.

    0
    Anyone self hosting on Mac mini M1/M2?

    I currently have a server, a Dell T310 with an SSD in it and 12Gig of ram (weird config, I know I messed up but it works fine so I can’t be bothered to change that for now), with all my dockers running in it.

    It runs mostly fine, with Debian 11, a VPN so that I can block public ssh and allow it only on the VPN network, an nginx proxy to have services like a forgejo and a music library (ampache).

    However it can’t run a Minecraft server with more than a single person on it without stuttering ; so I was considering changing it maybe next year, after more than 3 years of services, for something beefier but also consuming less W/h (current consumption is 80W), and since I already have a Mac for work I was wondering how suitable a Mac Mini M1/M2 would be for a homelab?

    Does anyone have such a configuration and how does it work for you? Any hurdle that you should be aware of?

    29
    How is your consciousness/mind structured?

    I’ve been thinking about it for a while now, and just realized how weird it is, after trying to explain it out loud to a friend who’s also neurodivergent.

    I’m curious to know if it’s a common experience with other neurodivergent individuals.

    My mind has three different depths:

    • a very conscious one, capable of conjuring images and sounds from the void, capable of manipulating at will said images, morph them, move them… I can think « words » and have them be real in my mind
    • a conscious but closed one: I can put words in it but without acting on them, only watching them. This one is the weirdest of all. There is a difference for me when I think about « dog » and just « look at the idea of a dog ». There are some things I don’t want to consciously think about (like things that makes me sad or depressed) so instead of thinking about them I’ll put them in this zone. They exist but it’s very different from having the words out loud in my mind, as if I was thinking inside my own mind. It’s like I’m in a museum watching thoughts behind plexiglass
    • the dark zone, where I put things I don’t want to think about at all, things I want to forget. It’s literally a foggy dark place made of some kind of fluid darkness with no thoughts shining in it, I have to consciously want and try to pull things from it

    A while ago, I read somewhere that the mere thing of being able to conjure images was « rare », like only 25% of people on earth can do it. Somehow I linked this idea to people being neurodivergent but I have no proof or source and I may just have made things up in my sleep or under the shower.

    TL;DR: how does your mind works? Mine is weird

    12
    Trouble v3 has been released
    github.com GitHub - folke/trouble.nvim: 🚦 A pretty diagnostics, references, telescope results, quickfix and location list to help you solve all the trouble your code is causing.

    🚦 A pretty diagnostics, references, telescope results, quickfix and location list to help you solve all the trouble your code is causing. - folke/trouble.nvim

    GitHub - folke/trouble.nvim: 🚦 A pretty diagnostics, references, telescope results, quickfix and location list to help you solve all the trouble your code is causing.
    0
    What adblocker are you using on iOS?

    I’ve finally picked up an iPhone about a month ago, and have been loving the experience.

    However I’m now thrown into an ad-full world again (I used to have a browser blocking many if not most ads on the android), so I’m wondering, what adblockers do you use (may it be safari extension or entirely new browser for my fellow Europeans)?

    54
    C++ coroutines do not spark joy
    probablydance.com C++ Coroutines Do Not Spark Joy

    C++20 added minimal support for coroutines. I think they’re done in a way that really doesn’t fit into C++, mostly because they don’t follow the zero-overhead principle. Calling a…

    C++ Coroutines Do Not Spark Joy
    8
    ArkScript - a scripting language in C++
    github.com GitHub - ArkScript-lang/Ark: ArkScript is a small, fast, functional and scripting language for C++ projects

    ArkScript is a small, fast, functional and scripting language for C++ projects - GitHub - ArkScript-lang/Ark: ArkScript is a small, fast, functional and scripting language for C++ projects

    GitHub - ArkScript-lang/Ark: ArkScript is a small, fast, functional and scripting language for C++ projects

    Hello!

    I've been working on this language for the past 5 years, ArkScript, which is:

    • as small as I could (language wise, 10 keywords, nothing I deemed too specific/useless)
    • running on a VM, compile once run anywhere, just ship your bytecode
    • can be used as a scripting language on its own, like python (though it's not its strength)
    • easy to embed, made in c++ 17 with simplicity in mind

    I'm currently working on the v4 (I screwed up with the semver), redoing the imports syntax, and currently cleaning the code and rewriting all the unit tests using boosr-ext/ut.

    I'm open to criticism, suggestions, discussions on how to enhance it, or just questions on that weird project.

    2
    Did you find Tear of the Kingdom difficult?

    I played BotW a lot, and really loved it. I feel like the beginning of the game was relatively easy compared to TotK, I died a few times trying out things, discovering the game and possibilities ; in TotK I died a lot and still do even with good gear and armour (1*-2* armors, 30-40+ damage weapons). You could say it's skill issues and I would agree with you as I am not a pro player and play games once a week maybe, however I feel like the difficulty curve is far greater in TotK. That has affected how I view the game to the point that sometimes I think I dislike it (even though the new powers are the best thing they could have added, with the verticality of the world) ; that might also have to do with the much darker ambiance of the game, which can feel frightening (to me) to the point going underground is hard.

    Is it just me? Should I just "git gud"?

    36
    Finished assembling my dream GBA (SNES themed)

    New clear black shell to fit the IPS screen v3 from funny playing (no soldering needed! This is awesome, I can control the screen with just a touch on the GBA logo). I also added a rechargeable usb c battery, so far it is already lasting 2x longer thanks when I used AA (6 hours in, with a single charge, and medium brightness + sound).

    Next steps would probably be:

    • cleanAmp, because I noticed some kind of white noise with my headphones plugged in
    • GBA accelerator to replace the stock clock (and make grinding in Pokémon Ruby faster probably)
    5
    Altenswoop, 34 keys + 2 encoders wireless split with pinky cluster

    I wanted to experiment with a better pinky column, as for me using the bottom row with the pinky felt awkward and sometimes painful. Thus I created an alt version of my arkenswoop (swoop based), and named it the altenswoop because my brain thinks it is very original and funny. It will take some getting used to, and I'll need to get batteries for this prototype too!

    Is there a proper name for this kind of pinky formation? I've seen this elsewhere too, and I'm calling it pinky cluster in reference to the thumb cluster but it doesn't feel right

    Edit: I forgot to add a link to the PCB files: https://github.com/SuperFola/arkenswoop (under pcbs/3x5_nw_pinky_cluster)

    16
    SuperFola SuperFola @programming.dev

    ArkScript lang developer, split keyboard fanatic

    Posts 29
    Comments 125