@bahmanm@lemmy.ml cover
@bahmanm@lemmy.ml avatar

bahmanm

@bahmanm@lemmy.ml

Husband, father, kabab lover, history buff, chess fan and software engineer. Believes creating software must resemble art: intuitive creation and joyful discovery.

🌎 linktr.ee/bahmanm

Views are my own.

This profile is from a federated server and may be incomplete. View on remote instance

bahmanm ,
@bahmanm@lemmy.ml avatar

Something that I’ll definitely keep an eye on. Thanks for sharing!

bahmanm ,
@bahmanm@lemmy.ml avatar

RE Go: Others have already mentioned the right way, thought I’d personally prefer ~/opt/go over what was suggested.


RE Perl: To instruct Perl to install to another directory, for example to ~/opt/perl5, put the following lines somewhere in your bash init files.


<span style="color:#323232;">export PERL5LIB="$HOME/opt/perl5/lib/perl5${PERL5LIB:+:${PERL5LIB}}"
</span><span style="color:#323232;">export PERL_LOCAL_LIB_ROOT="$HOME/opt/perl5${PERL_LOCAL_LIB_ROOT:+:${PERL_LOCAL_LIB_ROOT}}"
</span><span style="color:#323232;">export PERL_MB_OPT="--install_base "$HOME/opt/perl5""
</span><span style="color:#323232;">export PERL_MM_OPT="INSTALL_BASE=$HOME/opt/perl5"
</span><span style="color:#323232;">export PATH="$HOME/opt/perl5/bin${PATH:+:${PATH}}"
</span>

Though you need to re-install the Perl packages you had previously installed.

bahmanm ,
@bahmanm@lemmy.ml avatar

First off, I was ready to close the tab at the slightest suggestion of using Velocity as a metric. That didn’t happen 🙂


I like the idea that metrics should be contained and sustainable. Though I don’t agree w/ the suggested metrics.

In general, it seems they are all designed around the process and not the product. In particular, there’s no mention of the “value unlocked” in each sprint: it’s an important one for an Agile team as it holds Product accountable to understanding of what is the $$$ value of the team’s effort.

The suggested set, to my mind, is formed around the idea of a feature factory line and its efficiency (assuming it is measurable.) It leaves out the “meaning” of what the team achieve w/ that efficiency.

My 2 cents.


Good read nonetheless 👍 Got me thinking about this intriguing topic after a few years.

bahmanm ,
@bahmanm@lemmy.ml avatar

This is fantastic! 👏

I use Perl one-liners for record and text processing a lot and this will be definitely something I will keep coming back to - I’ve already learned a trick from “Context Matching” (9) 🙂

bahmanm ,
@bahmanm@lemmy.ml avatar

That was my case until I discovered that GNU tar has got a pretty decent online manual - it’s way better written than the manpage. I rarely forget the options nowadays even though I dont’ use tar that frequently.

bahmanm ,
@bahmanm@lemmy.ml avatar

This is quite intriguing. But DHH has left so many details out (at least in that post) as pointed out by @breadsmasher - 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 OP ,
@bahmanm@lemmy.ml avatar

TBH I use whatever build tool is the better fit for the job, be it Gradle, SBT or Rebar.

But for some (presumably subjective) reason, I like GNU Make quite a lot. And whenever I get the chance I use it - esp since it’s somehow ubiquitous nowadays w/ all the Linux containers/VMs everywhere and Homebrew on Mac machines.

bahmanm ,
@bahmanm@lemmy.ml avatar

I just love the “Block User” feature. Immediate results w/ zero intervention by the mods 😆

No Strings Attached: Enjoy the Freedom of Free Disposable Email ( discuss.tchncs.de )

TempEmailGo understands the importance of privacy. That’s why we offer a hassle-free, registration-free, and cost-free solution to protect your online identity. With our free disposable email service, you can receive emails and verification codes without sharing any personal information. It’s time to take control of your...

bahmanm , (edited )
@bahmanm@lemmy.ml avatar

Nice! Good to see this idea becoming more common 👍

I personally use Firefox Relay which gives me better control for my workflow - I usually need my temporary e-mails to last a bit longer, eg a week or a month.


On another note, the post clickable URL opens the Lemmy instace landing page and not that of the disposable email service.

bahmanm ,
@bahmanm@lemmy.ml avatar

Would be lovely to have a download per release diagram along w/ the release date (b/c Summer matters in the FOSS world 😆)

bahmanm ,
@bahmanm@lemmy.ml avatar

That single line of Lisp is probably (defmacro generate-compiler (…) …) which GCC folks call every time they decide to implement a new compiler 😆

bahmanm ,
@bahmanm@lemmy.ml avatar

A bit too long for my brain but nonetheless it written in plain English, conveys the message very clearly and is definitely a very good read. Thanks for sharing.

bahmanm ,
@bahmanm@lemmy.ml avatar

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 ,
@bahmanm@lemmy.ml avatar

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 ,
@bahmanm@lemmy.ml avatar

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 OP ,
@bahmanm@lemmy.ml avatar

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

bahmanm ,
@bahmanm@lemmy.ml avatar

Recently, I’ve found myself posting more often on Mastodon a Lemmy & blog way less - indeed credits go to Fediverse and the mods for making it a safe and welcoming place


Here’s my latest one: bahmanm.com/…/firefox-profiles-quickly-replicate-…

It’s not self-hosted, rather I’m using Google’s blogspot. I used to host my own website and two dozens of clients’ and friends’ until a few years ago (using Plone and Zope.) But at some point, my priorities changed and I retired my rock-solid installations and switched to blogspot.

VENMusica , to Linux
@VENMusica@mastodon.social avatar

@linux thank God for Timeshift

bahmanm ,
@bahmanm@lemmy.ml avatar

I agree w/ you RE posts looking horrible 👍

Though I’d say for one-liners like this, it’s mostly OK. It gets really messy when folks post more complex posts and mention and tag a bunch of times.

VENMusica , to Linux
@VENMusica@mastodon.social avatar

@linux I was able to install Keyscape on Ubuntu Studio, but the GUI won't work in the standalone or VST. Does anyone know how to resolve this? Should be similar if anyone has encountered this with Omnisphere

bahmanm ,
@bahmanm@lemmy.ml avatar

Any error logs? Try launching things from the terminal and note down any messages that are printed there.

bahmanm ,
@bahmanm@lemmy.ml avatar

I’m afraid I can’t be of any help 😕

bahmanm ,
@bahmanm@lemmy.ml avatar

That’s a good question 💯 In my case too, it took me some time (read years 😂) to figure out what I’m comfortable w/.

I can think of 3 major ways that you can navigate the filesystem while being able to drop to a shell when you need it:

  • If you’re familiar w/ Emacs, you can either:
    • Use dired and tramp on your machine to access/navigate the target machine.
    • Install Emacs (emacs-nox) on the target machine, SSH and then run emacs-nox and voila! No need for tramp in this scenario.
  • Use Midnight Commander (mc) which offers a TUI pretty much like Norton Commander (nc) from the days of yore.
  • Get used to the semi-standard structure of the file system and just use plain Bash (cd, pushd & popd) to move around. That is
    • Understand what usually goes into common directories (like /usr/share or /opt) and try to follow the same pattern when rolling your own software installations.
    • Learn how to use your distro’s package manager to query packages and find out where things, like configurations and docs, are stored. Something as simple as rpm -q --list is what you usually need.

HTH

bahmanm ,
@bahmanm@lemmy.ml avatar

I’m not on a Debian-based system but a recent experience w/ packaging a software as a DEB was quite eye-opening 😅 The format and the build process felt too cluttered (to me) and it wasn’t easy for me to wrap my head around it.

I’m happy that folks are working on alternatives ✌️

bahmanm ,
@bahmanm@lemmy.ml avatar

Have you tried booting into recovery mode and perform a fsck on the drive - using the grub menu? Or you could boot via USB and try the procedure.

bahmanm ,
@bahmanm@lemmy.ml avatar

messing with the partition any more than I already have

Running fsck is a harmless and actually pretty useful operation, esp if you boot using a USB stick.

But yes, never hurts to have backups - easier said than done 😂

bahmanm ,
@bahmanm@lemmy.ml avatar

Have you tried installing a non-snap version to confirm the theory?

bahmanm ,
@bahmanm@lemmy.ml avatar

Not an Ubuntu user, but I think it’s all about how a snap uses filesystem, esp directories which are not writable by the “world”, such as your home directory.

bahmanm ,
@bahmanm@lemmy.ml avatar

Would it make sense to stick to the good old DEB package instead of the snap then?

The Mozilla Team PPA seems to be legit. If you’re not sure how to do it, please take a look at OMGI Ubuntu guide which uses the same PPA.

bahmanm ,
@bahmanm@lemmy.ml avatar

I wanted to say “I’m not sure. I’m not on Ubuntu” but then I remembered about distrobox 😄

It took only a few minutes to confirm that the links I shared earlier (lemmy.ml/comment/3090571) do NOT install the snap version.

bahmanm ,
@bahmanm@lemmy.ml avatar

Interestingly “Bazzi” means “game” in Farsi 🤷‍♂️

bahmanm ,
@bahmanm@lemmy.ml avatar

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.

Help identifying job title

EDIT: I just wanted to add an edit and say I really appreciate how active this post got. I was kind of expecting to get no responses, but instead I’m getting an incredibly detailed discussion with a wide range of viewpoints and considerations that I wouldn’t have otherwise thought of. You guys rock! Lemmy rocks!...

bahmanm ,
@bahmanm@lemmy.ml avatar

I used to be in a relatively similar position years ago so I totally relate to what you’ve got to do on a daily basis.

These are the the titles that come to my mind (leaving ths seniority level up to you):

  • Software engineer
  • Software engineer in Integrations
  • Software engineer in Enterprise Applications
  • ERP Implementation consultant
bahmanm , (edited )
@bahmanm@lemmy.ml avatar

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

bahmanm ,
@bahmanm@lemmy.ml avatar

I missed the point wrt 2021. That’s somehow comforting/reassuring. Thanks.

bahmanm OP ,
@bahmanm@lemmy.ml avatar

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 🙂

  • All
  • Subscribed
  • Moderated
  • Favorites
  • random
  • All magazines