8

cross-posted from: https://lemmy.ml/post/24400832

This is a simple example of the level of Java inter-op bjForth currently provides.

33

I'm thrilled to announce the release of bjForth v0.0.3 🎉

There's been a a heap of improvements and additions compared to the last release.

What's best is that they are automatically tested every time a change is pushed 😎

I dare you to Grab the latest tarball and hack yourself some serious Forth 😄

5

cross-posted from: https://lemmy.ml/post/23785552

After nearly 2 years of work, I'm excited to release the first version of bjForth, featuring partial JONESFORTH compatibility and initial Java interop.

Grab it and start hacking: https://github.com/bahmanm/bjforth/releases/tag/v0.0.2

PS: bjForth is a Forth (indirect threaded) written entirely in Java and its execution model is influenced by that of JONESFORTH.

5
submitted 2 weeks ago by bahmanm@lemmy.ml to c/programming@lemmy.ml

cross-posted from: https://lemmy.ml/post/23785552

After nearly 2 years of work, I'm excited to release the first version of bjForth, featuring partial JONESFORTH compatibility and initial Java interop.

Grab it and start hacking: https://github.com/bahmanm/bjforth/releases/tag/v0.0.2

PS: bjForth is a Forth (indirect threaded) written entirely in Java and its execution model is influenced by that of JONESFORTH.

3

cross-posted from: https://lemmy.ml/post/23703703

Hey all.

First off, bjForth is a Forth written from the ground up with modern Java and its execution model is largely influenced by that of JONESFORTH.

Currently I'm working on Java inter-op and would like to ask for your opinions/experience on semantics and syntax.

The relevant GitHub issue.

Thanks in advance.

3
submitted 2 weeks ago by bahmanm@lemmy.ml to c/programming@lemmy.ml

Hey all.

First off, bjForth is a Forth written from the ground up with modern Java and its execution model is largely influenced by that of JONESFORTH.

Currently I'm working on Java inter-op and would like to ask for your opinions/experience on semantics and syntax.

The relevant GitHub issue.

Thanks in advance.

0
submitted 1 month ago by bahmanm@lemmy.ml to c/devops@programming.dev

cross-posted from: https://lemmy.ml/post/22575070

bmakelib (which is a minimalist standard library for GNU Make) v0.8.0 was released last week.

The highlight of the release is the ability to use maps/dictionaries in your makefiles!

Here's the example from the release page:

$(call bmakelib.dict.define,THIS_BUILD)
$(call bmakelib.dict.put,THIS_BUILD,arch,x86_64)
$(call bmakelib.dict.put,THIS_BUILD,dir,/tmp/my-app/build)

some-target :
	@echo BUILD.arch = $(call bmakelib.dict.get,BUILD,arch)  # x86_64
	@echo BUILD.arch = $(call bmakelib.dict.get,BUILD,dir)   # /tmp/my-app/build
0
submitted 1 month ago by bahmanm@lemmy.ml to c/programming@lemmy.ml

bmakelib (which is a minimalist standard library for GNU Make) v0.8.0 was released last week.

The highlight of the release is the ability to use maps/dictionaries in your makefiles!

Here's the example from the release page:

$(call bmakelib.dict.define,THIS_BUILD)
$(call bmakelib.dict.put,THIS_BUILD,arch,x86_64)
$(call bmakelib.dict.put,THIS_BUILD,dir,/tmp/my-app/build)

some-target :
	@echo BUILD.arch = $(call bmakelib.dict.get,BUILD,arch)  # x86_64
	@echo BUILD.arch = $(call bmakelib.dict.get,BUILD,dir)   # /tmp/my-app/build
4
submitted 1 month ago* (last edited 1 month ago) by bahmanm@lemmy.ml to c/programming@lemmy.ml

If there was one reason I liked coding in Java, it'd be AssertJ and its brilliant extensibility.

The image is an example of it from bjForth

The ability to create custom assertions makes the test code concise and read naturally.

11
submitted 5 months ago by bahmanm@lemmy.ml to c/programming@lemmy.ml

cross-posted from: https://lemmy.ml/post/17978313

Shameless plug: I am the author.

285
submitted 5 months ago by bahmanm@lemmy.ml to c/linux@lemmy.ml

Shameless plug: I am the author.

15
submitted 7 months ago by bahmanm@lemmy.ml to c/programming@lemmy.ml

cross-posted from: https://lemmy.ml/post/15607790

Just wanted to share some (exciting) news about my Common Lisp project, euler-cl. I finally got the time to sit down and integrate it with Codecov! This means a couple of cool things:

  • 📈 Test Coverage Tracking: I can now see how well my code is tested over time, giving valuable insights into code quality.
  • 🏅 Codecov Badge: euler-cl now sports a snazzy Codecov badge to show off!
  • 📦 Reusable Setup: The code and setup process should be simple enough to be used as a reference to integrate Codecov (and potentially other services) into your own Common Lisp projects!

If you're interested this commit is almost all you need: https://github.com/bahmanm/euler-cl/commit/855b014

Let me know in the comments if you have any questions or want to chat about integrating Codecov into your own projects!

[-] bahmanm@lemmy.ml 22 points 1 year ago

This is quite intriguing. But DHH has left so many details out (at least in that post) as pointed out by @breadsmasher@lemmy.world - it makes it difficult to relate to.

On the other hand, like DHH said, one's mileage may vary: it's, in many ways, a case-by-case analysis that companies should do.

I know many businesses shrink the OPs team and hire less experienced OPs people to save $$$. But just to forward those saved $$$ to cloud providers. I can only assume DDH's team is comprised of a bunch of experienced well-payed OPs people who can pull such feats off.

Nonetheless, looking forward to, hopefully, a follow up post that lays out some more details. Pray share if you come across it 🙏

[-] bahmanm@lemmy.ml 42 points 1 year ago

When i read the title, my immediate thought was "Mojolicious project renamed? To a name w/ an emoji!?" 😂


We plan to open-source Mojo progressively over time

Yea, right! I can't believe that there are people who prefer to work on/with a closed source programming language in 2023 (as if it's the 80's.)

... can move faster than a community effort, so we will continue to incubate it within Modular until it's more complete.

Apparently it was "complete" enough to ask the same "community" for feedback.

I genuinely wonder how they managed to convince enthusiasts to give them free feedback/testing (on github/discord) for something they didn't have access to the source code.


PS: I didn't downvote. I simply got upset to see this happening in 2023.

[-] bahmanm@lemmy.ml 33 points 1 year ago

If the controversies, allegations, rumors and gossips are about firefox though it definitely is important.
...
the huge chunks of money firefox gets from their biggest competitor

I think we're confusing things here 🙂

Examples of topics relevant to Firefox
  • [Hypothetical] Firefox collects user data w/o consent.
  • [Hypothetical] Researchers found government backdoors X, Y and Z in Firefox code base.
  • [Hypothetical] Firefox to disable Javascript by default.

Examples of topics NOT relevant to Firefox
  • Mozilla's contract w/ Google
  • Mozilla's political campaign
  • Mozilla's CEO allegedly being a selfish a-hole

Finally let's not forget that Firefox is an open source project, the result of the collaboration of hundreds, if not thousands, of people over the past 2 decades. Despite Mozilla's important role, there's way more to Firefox and its potential future than the usual corporate gossip/controversies.

My humble 2 cents 🙂

[-] bahmanm@lemmy.ml 73 points 1 year ago* (last edited 1 year ago)

I'd rather keep this community about Firefox the product and what it (doesn't) brings to the table. That's what I am, personally, interested in.

It'd be great if we could keep all the other things such as controversies, allegations, rumours, gossips, ... contained in a "mozilla" community and tried our best to maintain the separation.

[-] bahmanm@lemmy.ml 27 points 1 year ago

Interestingly "Bazzi" means "game" in Farsi 🤷‍♂️

[-] bahmanm@lemmy.ml 21 points 1 year ago

Tell me something I don't know already 😂 The challenge is helping non-techies understand why they should wean themselves off of FB 🤷‍♂️

[-] bahmanm@lemmy.ml 37 points 1 year ago

The GNU GPL is not Mr. Nice Guy. It says no to some of the things that people sometimes want to do. There are users who say that this is a bad thing—that the GPL “excludes” some proprietary software developers who “need to be brought into the free software community.”

But we are not excluding them from our community; they are choosing not to enter. Their decision to make software proprietary is a decision to stay out of our community. Being in our community means joining in cooperation with us; we cannot “bring them into our community” if they don't want to join.

[-] bahmanm@lemmy.ml 27 points 1 year ago

"Do you not know my son, with how little wisdom the world is governed?" 🤷‍♂️

[-] bahmanm@lemmy.ml 81 points 1 year ago* (last edited 1 year ago)

I wonder what would that mean for openSUSE, given that, apparently, an equity firm is making decisions on behalf of the SUSE board 😞

[-] bahmanm@lemmy.ml 48 points 1 year ago* (last edited 1 year ago)

This is the 2nd of such moves this year to my knowledge; first there was #Lightbend and #Akka and now this. What a year for #FOSS 😕

I know for a fact that so many organisations use #hashicorp products for commercial purposes w/o ever contributing back. And I understand how this may feel for hashicorp in these harsh economic times. Though this still is, IMHO, a cheap move: they used an OSS license for a very long time which resulted in a massive user base and a "soft" vendor lock-in, and now they decided to milk that user base.

Looking forwards to solid community-driven forks of their products 💪

[-] bahmanm@lemmy.ml 42 points 1 year ago

I'm a software engineer by profession and passion and have been writing programs for well over 20 years now. I believe your experience is totally natural - at least I share the same feelings:

  1. Large code bases take time getting to know and understand: most definitely true. It takes time and effort and is an investment you need to make before being able to feel confident. You don't need to fully comprehend every aspect of the project before you can contribute but you sure need to have a decent enough idea of how to build, test, run and deploy a particular feature. See point (2).

  2. Don't let the size of the project intimidate you. Start small and expand your knowledge base as you go. Usually one good starting point is simply building the project, running tests and deploying it (if applicable.) Then try to take on simple tasks (eg from the project's issue tracker) and deliver on those (even things like fixing the installation docs, typos, ...) That'll have the additional impact of making you feel good about the work that you're doing and what you're learning. I'm sure at this stage you will "know" when you're confident enough to work on tasks which are a bit bigger.

  3. During (1) and (2), please please do NOT be tempted to just blindly copy-paste stuff at the first sign of trouble. Instead invest some time and try to understand things, what is failing and why it is so. Once you do, it's totally fine to copy-paste.

After all, there's no clear cut formula. Each project is a living and breathing creature and "not one of them is like another." The only general guideline is patience, curiosity and incremental work.

view more: next ›

bahmanm

joined 2 years ago