bahmanm

joined 1 year ago
MODERATOR OF
[–] bahmanm@lemmy.ml 1 points 1 year ago

I've been using sdkman for about a decade now and am totally pleased w/ it. It does a very good job of managing JDK versions for you and much more, eg SBT, Gradle, Scala, Groovy, Leiningen, SpringBoot, ...

Now, technically you could use sdkman in your CI/CD pipeline too but I'd find it a strong smell. I've always used dedicated images pre-configured for a particular JDK version in the pipeline.

[–] bahmanm@lemmy.ml 2 points 1 year ago

It is: https://opensource.org/license/mit/

It's most probably a bug in the addon. Best to report it on the repo's issue tracker: https://github.com/galdor/github-license-observer/issues

[–] bahmanm@lemmy.ml 1 points 1 year ago

Oops! My mistake 🤦 Updated the post.

[–] bahmanm@lemmy.ml 8 points 1 year ago (2 children)

I work primarily on the JVM & the projects (personal/corporate) I work w/ can be summarised as below:

  1. Building & running the repo is done on the host using an SCM (software configuration management tool) such as Gradle or SBT.
  2. The external dependencies of the repo, such as Redis, are managed via adocker-compose.yml.
  3. The README contains a short series of commands to do different tasks RE (1)

However one approach that I've always been fond of (& apply/advocate wherever I can) is to replace (3) w/ a Makefile containing a bunch of standard targets shared across all repos, eg test, integration-test. Then Makefiles are thinly customised to fit the repo's particular repo.

This has proven to be very helpful wrt congnitive load (and also CI/CD pipelines): ALL projects, regardless of the toolchain, use the same set of commands, namely

  • make test
  • make integration-test
  • make compose-up
  • make run

In short (quoting myself here):

Don't repeat yourself. Make Make make things happen for you!

[–] bahmanm@lemmy.ml 5 points 1 year ago

The first few paragraphs were a good read where the author makes a good point.

Sadly, it somehow turns into a BluSky promotion afterwards.

Good read, nonetheless.

[–] bahmanm@lemmy.ml 2 points 1 year ago

Good point! I just replaced my LI profile photo w/ an abstract image 🍻

[–] bahmanm@lemmy.ml 1 points 1 year ago

Since I haven't heard/read about any bugs, I plan to release v5.0.0 on the 13th (😬)

I'll keep this post, well, posted 🙂

[–] bahmanm@lemmy.ml 2 points 1 year ago (2 children)

I appreciate my post may sound like a criticism of lemmy.ml (and hence the downvotes.) It's not. As I said, I'm genuinely trying to see if there's anything I can do to give back to one of my (few) favourite online communities.

That said, it seems like no one else shares my views. And that is understandable 🤷‍♂️

[–] bahmanm@lemmy.ml 7 points 1 year ago

junk

I'd say "irrelevant to my interests" 🤷‍♂️

[–] bahmanm@lemmy.ml 1 points 1 year ago (1 children)

Thanks for your reply. I'm still not sure if I have managed to wrap my head around this 😕 I guess I need to re-read the relevant chapter from RWO book. I'll post back here I'm finally able to understand handler in your case.

[–] bahmanm@lemmy.ml 1 points 1 year ago

Magnus Carlsen and Alireza Firouzja will throw down

This promises to be fun...a lot! 📺 🛋 🍿

[–] bahmanm@lemmy.ml 2 points 1 year ago (1 children)

That's a 404 I'm afraid.

 

This problem happened recently to couple of people on various Pg support channels, so I figured I can write a bit more about it, so that in future I have a place where I can refer people to.

 

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

I've had the (mis)fortune to deal w/ a good number of Makefiles over the years. Enough to take a liking to Gnu Make 🤷‍♂️

I've been haphazardly compiling a collection of common tasks that I'd like my Makefiles to do out-of-the-box for me.

The collection grew to a point where I thought it might benefit my fellow engineers in their day-to-day programming.

Hence bmakelib was born w/ an Apache v2.0 license 👶

It is essentially a collection of useful targets, recipes and variables you can use to augment your Makefiles.

The aim is not to simplify writing Makefiles but rather help you write cleaner and easier to read and maintain ones.

Everything is well tested via CI pipeline (yes, I wrote unittests for Makefiles 😎) and should work out of the box.

Please take a look and let me know what you think. I'd love to hear your thoughts and possibly your experience if you ever use bmakelib in your projects.

 

I've had the (mis)fortune to deal w/ a good number of Makefiles over the years. Enough to take a liking to Gnu Make 🤷‍♂️

I've been haphazardly compiling a collection of common tasks that I'd like my Makefiles to do out-of-the-box for me.

The collection grew to a point where I thought it might benefit my fellow engineers in their day-to-day programming.

Hence bmakelib was born w/ an Apache v2.0 license 👶

It is essentially a collection of useful targets, recipes and variables you can use to augment your Makefiles.

The aim is not to simplify writing Makefiles but rather help you write cleaner and easier to read and maintain ones.

Everything is well tested via CI pipeline (yes, I wrote unittests for Makefiles 😎) and should work out of the box.

Please take a look and let me know what you think. I'd love to hear your thoughts and possibly your experience if you ever use bmakelib in your projects.

 

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

Suppose I've got a simple #Makefile w/ a few URLs that I'd like to process as dynamic targets.

For example here is a not working snippet:

.DEFAULT_GOAL := all

#####
URLS  = https://foo.example.com
URLS += https://bar.example.com
URLS += https://www.example.org

#####
% :
	@echo the url is $(*)

#####
.PHONY : all
all : $(URLS)

It fails w/

*** target pattern contains no '%'

I believe that's b/c of the character : being part of URLS which confuses Make after expansion (order o

As a workaround, I've removed https:// from all URLs. For example this works:

URLS = foo.example.com
URLS += bar.example.com

I know Make generally doesn't play well w/ targets w/ space or colon in the name but I wonder if the above is the best I can do. What do you think?

 

Suppose I've got a simple #Makefile w/ a few URLs that I'd like to process as dynamic targets.

For example here is a not working snippet:

.DEFAULT_GOAL := all

#####
URLS  = https://foo.example.com
URLS += https://bar.example.com
URLS += https://www.example.org

#####
% :
	@echo the url is $(*)

#####
.PHONY : all
all : $(URLS)

It fails w/

*** target pattern contains no '%'

I believe that's b/c of the character : being part of URLS which confuses Make after expansion (order o

As a workaround, I've removed https:// from all URLs. For example this works:

URLS = foo.example.com
URLS += bar.example.com

I know Make generally doesn't play well w/ targets w/ space or colon in the name but I wonder if the above is the best I can do. What do you think?

 

I'm working on a hobby project of mine which requires Gnu Make 4.4. I am now trying to setup the project's Travis pipeline on github. Travis, understandably, only offers LTS Ubuntu images and sadly Gnu Make 4.4 is not available on those images.

Is there any way, compiling from the sources aside, to install the said version on an Ubuntu image? Something like a PPA?

 

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

⛔ Latest #Emacs (29.1-1.1) is broken on openSUSE Tumbleweed. Running emacs fails w/ a cryptic message.

💡The solution is to launch it using any of emacs-gtk or emacs-x11 or emacs-nox.

💡If your workflow relies on Emacs daemon like mine does, then simply evaluate (server-start) in the scratch buffer.

Hopefully the fix will be out very soon.

Cross-posted from https://mastodon.social/@bahmanm/110842724716130994

6
submitted 1 year ago* (last edited 1 year ago) by bahmanm@lemmy.ml to c/emacs@lemmy.ml
 

⛔ Latest #Emacs (29.1-1.1) is broken on openSUSE Tumbleweed. Running emacs fails w/ a cryptic message.

💡The solution is to launch it using any of emacs-gtk or emacs-x11 or emacs-nox.

💡If your workflow relies on Emacs daemon like mine does, then simply evaluate (server-start) in the scratch buffer.

Hopefully the fix will be out very soon.

Cross-posted from https://mastodon.social/@bahmanm/110842724716130994

12
submitted 1 year ago* (last edited 1 year ago) by bahmanm@lemmy.ml to c/sql@programming.dev
 

A relatively simple but common application of time series done with PG.

9
submitted 1 year ago* (last edited 1 year ago) by bahmanm@lemmy.ml to c/postgresql@programming.dev
 

A relatively simple but common application of time series done with PG.

 

Forth, its history and the computer science ideas which form its foundations explained in a light and humorous style sprinkled with links to interesting resources on the web.

 

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

Have you ever been in a situation where you'd needed to work on different/new machines on a daily basis and wished there was a way to have all your essential Firefox configurations/addons/bookmarks on those machines without connecting your precious Firefix Sync account with all those stored passwords and credit cards?

view more: ‹ prev next ›