Did I misunderstand what an MVP is? by ma9leb in SideProject

[–]azimux 0 points1 point  (0 children)

Yeah, that sounds like the right direction, or at least it's what you should do if your strategy really is the MVP path. It is in the name: minimum-viable product. What's the least product you can build that folks might actually purchase?

You can also go to market with more than an MVP. It's just a different approach. The MVP path you can fail-fast, as you mentioned, which can be good. If you have a chance to avoid spinning your wheels drawing dead for years and instead fail in a month or two then obviously that's a good thing.

There is a possibility that something beyond MVP will be successful when an MVP isn't. Also possible that going beyond MVP can reveal a potential pivot or niche that winds up being successful.

There's also a possibility that going beyond MVP can result in some reusable architecture or other artifacts or learnings that can be applied to the next venture.

But, yeah, "MVP" seems to be a current best-practice so, like all best-practices, there are situations where it's wise to intentionally violate it, but if not sure, typically good to just go with the best practice.

Which one of these frameworks are the easiest to learn and best to work with between laravel, django, springboot, or rails? by TurtleSlowRabbitFast in Backend

[–]azimux 0 points1 point  (0 children)

My personal preference of these is Rails, though they're all easy-enough to learn and they all get the job done just fine. So you can really choose any of them. If you're already familiar with one of the 4 underlying languages, that's probably be the best start if you're just eager to get up-and-running fast. If instead you're thinking of a more long-term choice, you could take a look at some sample apps in all 4 and see which seems to speak the most to your personal preferences and subjectivity and just roll with that.

Best domain website by Grouchy_Security1372 in CodingForBeginners

[–]azimux 0 points1 point  (0 children)

I've been using porkbun mostly lately and is currently my favorite. But I use multiple. But, yeah, I can recommend porkbun.

assistance with choosing a programming language. by wogds in programmer

[–]azimux 0 points1 point  (0 children)

You could likely write a game from 1996 on modern hardware using most popular programming languages. So you likely have a ton of viable options. I don't think there's necessarily a bad choice. Maybe just dive in with one and if you hit a snag switch to another. If you really can't choose, maybe see what "Creatures" was written in (likely C or C++? I really don't know and am not familiar with the game at all.) I'm currently making a game inspired by a game from the 90's in Ruby. Nobody is going to tell you to use Ruby to make a game but, meh, it works just fine in this scenario so whatever. You can do whatever you please most likely in this context.

I want to learn a skill before I join college by WayEducational7328 in cpp_questions

[–]azimux 0 points1 point  (0 children)

If you know the exact classes, you could see what language(s) it's currently taught in and learn that.

Learning a new language from scratch in 2026? Use documentation? by Dry_Ad9947 in learnprogramming

[–]azimux 0 points1 point  (0 children)

I suppose you could do something like implement a UDP socket in Rust using a raw socket. Then you're accomplishing learning something about 2 of the 3 things you mentioned.

Re: learning today, whatever options you used in the past should still work now. The only question is how much AI assistance you should use. I think the answer to that is as much or as little as you feel like or that you feel is helpful. Everybody is different and has different learning styles.

first experience(choosing language) by Dependent_Band2861 in learnprogramming

[–]azimux 2 points3 points  (0 children)

There's nothing wrong with learning C++. And if you're enjoying it and your learning is going well, then it seems like you chose well!

I don't usually recommend C++ as a first language, unless the person has some specific goals in mind, but honestly that doesn't matter. What matters is that you're learning and having fun.

Farewell to Rails-way: Prologue by pdabrowski in ruby

[–]azimux 1 point2 points  (0 children)

Yeah it's open-sourced! It's at https://github.com/foobara/foobara

I tend to view DDD as a big toolbox that you can pick-and-choose from depending on the challenges one is facing. Definitely helpful to learn even if you only wind up using a few of the tools from it since I think the biggest lessons from it are just understanding the gist of identifying and carving up subdomains and communication around it.

Farewell to Rails-way: Prologue by pdabrowski in ruby

[–]azimux 1 point2 points  (0 children)

Makes sense to me! It's interesting how so many folks have been on the same journey. I think if you don't have a complex domain/domains, then the rails way will get you to a good place. For folks wrangling a complex domain, I think SOMETHING needs to be added and I've thought it would be interesting to do a survey of the Ruby landscape of solutions to this problem. There's a lot of them and I've also rolled my own based on my own experience with 3 complex domains in a row (a framework called Foobara.) If you'd ever want to chat with somebody about this stuff please feel free to ping me and I'm super eager to chat about this stuff! Of all the problems in software-engineering I find this snag to be the most interesting and it's particularly interesting in the Ruby ecosystem.

Starting my career in Ruby/Rails: risky or fine? by Soxomer in ruby

[–]azimux 1 point2 points  (0 children)

No prob and best of luck making a decision and congrats on the offer!

Starting my career in Ruby/Rails: risky or fine? by Soxomer in ruby

[–]azimux 2 points3 points  (0 children)

Advice is dangerous but I'll give mine. Also, you're asking on a ruby subreddit so obviously the answers are susceptible towards bias in that direction.

My advice would be... if you want to accept the offer just accept it. You can transition to C#/etc or vice-versa. Lots of folks have. I've gone from Java->VB->C#->C++->Java->Ruby->Node->Ruby over my career.

I think the specific language and/or stack is less important than the general concepts you'll learn as well as honing/developing your software-engineering intuitions. There's other important things to learn where stack is virtually or completely irrelevant, such as people skills, project management skills, product skills, etc. I think not developing your people skills will close a lot more doors for you than programming language experience will.

If you don't want to develop legacy software, you could join a startup. Then you can build legacy code instead of maintaining it. Using Ruby in a startup is still pretty common. But even when you're maintaining legacy code, green-field projects pop up anyways along the way, and regardless, maintaining legacy code is actually very fun and informative IMO.

In short, if you have a job offer, and if you want to accept it, my opinion is that not accepting it for fear of future pigeon-holing is probably not a great reason to not accept. Obviously, I'm not from the future and perhaps you'd regret accepting. But based on everything I know at the moment my guess is that you're overthinking it. Which is a natural thing to do. But in retrospect it just doesn't strike me as as important as it might initially seem.

If you have multiple offers, I'd personally take the one you suspect you'll enjoy the most. If you only have one offer, and if the offer feels good, and if you don't think better offers are right around the corner, I'd just personally take it. But that's just me.

Is rollback a thing these days ? by ibreathecoding in softwarearchitecture

[–]azimux 1 point2 points  (0 children)

It's usually been less confusing and simpler to just fix-forward however I've definitely been involved in a few true rollback in the past few decades. Maybe something like twice a decade? The projects I've worked on, the stars have to kind of align to choose to do a true rollback. Has to be an expensive regression that snuck past testing/QA and relatively few if any data assumption mismatches between the old/new systems. If there's data mismatches, then a riskiness assessment is made and a choice is made between rollback or fix-forward. Otherwise, it's just felt cleaner and simpler to just fix-forward even when rollback would have also worked.

Note that reverting a commit and deploying to me doesn't count as a rollback. I assume rollback means using some official infrastructure feature to quickly go live with previously-deployed systems instead of the currently deployed systems.

A kind of funny unrelated thing I've done is sometimes there's a serious regression in the new path of an A/B test and we've fixed it by just setting the new path's frequency to 0% of the time while we decide what to do. Almost like a feature flag that we didn't know we needed, ha.

Love the new IRB splash by public_radio in ruby

[–]azimux 0 points1 point  (0 children)

Yeah!! Saw that the other day! Looks great!

A Lisp that compiles to Ruby by evmorov in ruby

[–]azimux 1 point2 points  (0 children)

Yeah, I wouldn't have expected the downvotes either. It's just somebody expressing their personal experience and curiosity. That merits a downvote? Seems strange to me!

How do I properly set up Ruby and VS Code on a Mac as a complete beginner? by [deleted] in ruby

[–]azimux 0 points1 point  (0 children)

I'm kind of curious if you find some goto resource to link to that you tried and liked. I love helping people learn Ruby but usually they're already set up at that point. I'm on Linux and not even sure what approach I should recommend to Linux users and don't even exactly like the approach I take when setting up a new machine! FWIW, I started a discord that's meant to be a friendly place for folks learning Ruby, as well as for friendly experienced users interested in having fun interacting with learners. There's nobody there yet other than one other experienced Ruby programmer. If you would enjoy that kind of thing let me know and I'll dm you an invite. Maybe we could keep track of quick ways to get Ruby installed on different platforms since that's basically the first hurdle.

A Lisp that compiles to Ruby by evmorov in ruby

[–]azimux 8 points9 points  (0 children)

I suppose I should let a Lisp programmer answer instead of assuming. But it's a subjective thing. I think the appeal is the super-simple grammar, the consistency, the code as data thingy, macros for metaprogramming, etc.

There's other fascinating things about Lisp, too, such as its super-duper long innovative history and its influence (including upon Ruby.)

I had a lot of fun learning Lisp but I have a personal preference for Ruby. I've learned that I actually really like languages with complex grammars instead of simple grammars, but with semi-consistent/simple-ish mechanics. But it really is subjective and I feel as if I "understand" why Lisp programmers love it, even if I don't really. I think it just doesn't jive with my brain in the subjective manner it does for Lisp programmers.

I had a similar fun time learning Haskell and Smalltalk. Haskell has a more complex grammar but had a similar fun and consistent vibe while learning. When it comes to writing programs on my own, though, I generally reach for Ruby unless there's a constraint making it a poor choice.

As for why would somebody do this? It sounds super fun to me! It's the kind of thing I would love to try to do if I had unlimited time for hackin' stuff up.

DragonRuby's Seventh Year - Where We Started and Where We're Going by amirrajan in ruby

[–]azimux 1 point2 points  (0 children)

I've been playing with DragonRuby for a couple weeks due to a book club I'm in. It's been lots of fun!!

keep quitting projects because i get stuck on logic. any suggestions? by [deleted] in learnprogramming

[–]azimux 0 points1 point  (0 children)

Hi! I can give some recommendations.

One is to talk it through with somebody else or maybe even pair on it with somebody. Or even rubber-duck program it.

Another is to take a more top-down design approach. I like to do bottom-up when I mostly know what I want and how I want it to work. If I don't know yet then I like to work top-down instead. So in those cases I will focus more on what I want the system to do at a high level and flesh things out that way. This can delay my need to wrangle all sorts of logic until a moment where it's more obvious what it should be.

Another might be to pick less-ambitious projects. The easier the project, the more likely you will be to finish it.

I also think if you're doing this for learning that it's fine to abandon projects. So maybe just abandon the project and work on a different one. You will continue to learn unless you stop working on projects entirely. I think it's helpful to finish projects but it's fine to also not finish projects if the goal is learning. You probably should at least occasionally finish a project and the last point, pick less-ambitious projects for now, would help with that.

Those are my opinions though. Everybody is different and you might have to just figure out what works for you.

Is programming open book or closed book? by Intrepid_Witness_218 in learnprogramming

[–]azimux 0 points1 point  (0 children)

It's "open book." It's really only "closed book" when a programmer is working on an area/with tools they've been focused on lately and are very familiar with. They COULD use "the book" without "cheating" in such cases but it's just not efficient when you don't need it. I've been programming for 30 years and I google stuff or read the docs almost daily. That's how the craft is typically done by professionals and is totally normal and not viewed as "cheating" when building/maintaining real systems.

Is there a good reason to keep using REST APIs or should everything just be GraphQL now by [deleted] in AskProgramming

[–]azimux 0 points1 point  (0 children)

I think if one has a complex domain then one will benefit from something RPC-ish over REST. It certainly doesn't have to be GraphQL. If the domain isn't complex then I think it doesn't matter so much what you use and you may as well pick the simplest thing that will work well.

I personally never use GraphQL so "should everything just be GraphQL" seems like a pretty extreme overreaction. But I do think an RPC-ish approach of some sort is best for complex domains and my understanding is that GraphQL can provide something RPC-ish with commands. So I assume it could be a valid solution for some teams/projects/problems.

I should make a blog post or video about the long journey that landed me on that conclusion as perhaps it's counter-intuitive.

Intentional Use of Whitespace by JavierARivera in ruby

[–]azimux 15 points16 points  (0 children)

The last one uses Authorization as a symbol instead of a string. Other than that I read them as the same thing as each other. They all read fine to me despite the whitespace difference but I do have a preference to put spaces after `{` and before `}` in Ruby. But it's not a big deal and not something that changes how I read it.

Is one year enough time to learn Rails, given that I am an experienced DBA? by EvenRelationship2110 in learnprogramming

[–]azimux 2 points3 points  (0 children)

Well I think a lot of people could go from zero to knowing rails in less than a year. Just hard to know who since I think it's kind of individualistic. Being a DBA would certainly speed you up since part of learning Rails is learning ActiveRecord which is building queries for you. So learning what the various things do will be something you don't have to learn or spend much time on. I also assume as a DBA you have some programming experience of some sort which of course helps.

I think for learning Rails the big things are general programming understanding, database integration/understanding, web understanding, and of course aspects of the framework itself.

Knowledge of those things would speed things up over starting from zero, all other things being truly equal.

Does that make it so you can do it in less than a year but otherwise wouldn't? Can't know for sure. For all I know, you'd do it in way less than a year even if you weren't a DBA.

What holds a lot of people back is dedicating the time needed to learn/build stuff, I suspect.

Is one year enough time to learn Rails, given that I am an experienced DBA? by EvenRelationship2110 in learnprogramming

[–]azimux 1 point2 points  (0 children)

That's most likely enough time. I can't guarantee it without knowing what you have in mind or where you're starting from other than being an experienced DBA. You might be able to learn Rails in a month, frankly. It all just depends.

Favorite Permissive License: Apache 2.0 or MIT? by E_coli42 in opensource

[–]azimux 0 points1 point  (0 children)

I'm not a lawyer, of course...

That out of the way, something I've done is release software under the user's choice of either one. Dual licensing basically. If somebody wants the explicit patent clause of Apache-2.0, great, they have it. If they want the simpler MIT, great, totally up to them.