• 2 Posts
  • 55 Comments
Joined 2 years ago
cake
Cake day: December 2nd, 2022

help-circle



  • Between Elixir and Erlang. Erlang is what’s used in telecom right? Is Elixir as well? Is Elixir like a new improved Erlang? I’ve heard so much about Elixir recently.

    You have piqued my interest, I’ve recently gotten back into programming (I do “devops” for work) and don’t really consider myself a programmer, but I find languages fascinating. I was lucky enough to join a study group on compiler design with an Apache project leader and while it was over my head, I learned a lot and enjoyed it.

    (I know I could look this up, but enjoying the conversation :)





  • I think this is where “compartmentalization” comes in. Similar in concept to how you are forced to wall off sadness when a loved one dies so that you can continue to live your life, I think there are mentally competent right wingers, but they wall off the logic and reasoning so that it applies only to machines. They do this because if those ideas of logic and reason get beyond the wall/outside of the compartment, the meaning of their lives falls apart.


  • The easiest way to think about it that is kinda right, and what got me into is “It’s like compiled Ruby and nearly as fast as C”.

    Crystal is a language with syntax modeled after Ruby, which is considered one of the most human friendly languages (it’s way easier to understand than C and most others). Ruby and Crystal are “object oriented”. Like if you wanted to know what I had for lunch using Crystal you’d ask me, an “object” last_meal = kool_newt.stomach_contents, as where in C, you’d cut me open and look.

    Where Ruby is a dynamically typed (it figures out whether things are Strings or Arrays, etc on the fly as needed, handy but very slow) scripting language, Crystal is statically typed, so you have to be conscious of types while you code. And where with ruby you end up with a script, Crystal code is compiled into a binary.

    Where Ruby is good for small/medium websites with a modest traffic, or for prototyping ideas in an easy language, or making smaller utilities, Crystal can handle massive traffic, and make fast production level apps and tools without the difficulty of C or Java.

    I’m using Crystal and Kemal (Kemal is akin to Ruby’s Sinatra) for web dev, and trying to make my own DNS utils (I want dnsip, not a fan of drill, dig, and other tools).

    If you know Ruby, Crystal is an easy jump.






  • Is it possible to use Redis to help speed up DB queries?

    I’m assuming the DB is a container too, containers (Docker) and overlay networks have overhead. There could be overhead in the way the DB accesses the storage devices as well. Look into running the DB as dedicated real server if possible, otherwise a dedicated VM and not a container.

    You can also look into read-replicas of the DBs as I’d imagine there are way more DB reads than writes. Take your DB backups from a read replica (you can stop one of the read replicas to get a consistent DB backup without interrupting other reads and writes).

    You can set up slow-query logging if you haven’t yet to find out the problematic queries so you know where to optimize (if optimizing queries is an option).







  • Ruby and Python are applicable in most of the same areas. I’m currently working on a realy simple Ruby project and using a web framework called Sinatra (kinda like a lightweight Ruby on Rails if you’ve heard of that) that makes it super easy to build web apps and APIs. My ruby app basically queries an API, sorts some data and presents it to my companies management as they need it.

    Python is great too and more popular, thought I’m not really a fan as I don’t like when languages enforce white space. Python also tends to have an “attitude” like there is only one way to do a task, whereas Ruby is more flexible in this respect. Also, Ruby is fundamentally “object oriented” , Python has some object orientation but it was added on as an afterthought so Python can be a bit mixed depending on which libraries you choose to use.

    If you don’t know what object orientation is, it means “everything is an object”. In functional languages you’d count the letters, in Ruby you ask the object for it’s length property.

    This is Ruby, using the IRB command line interpreter (shell)

    irb(main):001:0> word = ‘bicycle’ => “bicycle” irb(main):002:0> puts word.length 7 => nil irb(main):003:0>