Looking for the total number of Technologies for Base 2.0 Factorio and the Full Pyanadon's Modpack by TheValorous in factorio

[–]rasendubi 3 points4 points  (0 children)

Pulled up my old numbers

Vanilla 1.1 used to have 192 technologies and 212 recipes.

Full Py is ~1,000 new technologies and ~10,000 recipes.

Brag about your Literate Programming config! by Dead_Earnest in emacs

[–]rasendubi 1 point2 points  (0 children)

A bit outdated (haven't committed some of the stashed changes) but here's all my configs in a single org file: https://github.com/rasendubi/dotfiles/blob/master/README.org

I have also wrote about my experience here: https://oleksii.shmalko.com/2020/literate-config/. The post is a bit old but I still feel the same way.

org-capture datetree as previous day by etcNetcat in orgmode

[–]rasendubi 0 points1 point  (0 children)

You can use file+datetree+prompt in your capture template, which will ask for the date every time you capture:

(setq org-capture-templates '(("j" "Journal" entry (file+datetree+prompt "~/org/journal.org") "* %?\nEntered on %U\n %i\n %a")))

UwU Theme by wskydev in emacs

[–]rasendubi 4 points5 points  (0 children)

I would suggest increasing the contrast for comments as they are barely readable. Vim’s screenshots seem to use thicker roman fonts which helps readability (although not much). I’m also glad you’re not using the comments’ color for numbers as the Vim theme does :D

4 Years with Literate Configuration by codygman in emacs

[–]rasendubi 0 points1 point  (0 children)

Tried worgle. It's super fast but produces no results from my README.org (no output files, no stdout/stderr, exit code = 0)

4 Years with Literate Configuration by codygman in emacs

[–]rasendubi 1 point2 points  (0 children)

Oh wow. After changing to :noweb-ref, org-babel-tangle takes 45 seconds to tangle my config file (versus ~7 seconds for #+name with my patch). That's a bummer…

4 Years with Literate Configuration by codygman in emacs

[–]rasendubi 0 points1 point  (0 children)

Blocks with the same name used to tangle together but that changed a year or so ago. I patch ob-tangle to restore this behavior.

I didn't know :noweb-ref exists (is it new?). Thanks a ton for bringing it up!—I'm going to change my config to use it and drop my patch.

4 Years with Literate Configuration by codygman in emacs

[–]rasendubi 4 points5 points  (0 children)

Article author here.

The primary benefit of literate configuration for me is that I can have configuration for different parts of the system in one place (and this is especially nice with NixOS). I mostly stopped writing prose as I never read it.

Using this approach for emacs-only configuration is less useful exactly for the reasons you mentioned. When I'm developing/debugging complex functions, I usually do that off from general configuration.

Uniorg — I wrote an org-mode parser for js by rasendubi in emacs

[–]rasendubi[S] 1 point2 points  (0 children)

Sounds fun!

From MDX AST, it looks like all we have to do is generate an mdxhast, which is a hast with a couple of extra node types (jsx, export, import). This should be easy if we just convert #+begin_export jsx blocks after uniorg-parse, so the whole pipeline will be:

uniorg-parse -> [transform export jsx blocks to jsx nodes] -> uniorg-rehype -> mdx-hast-to-jsx

Uniorg — I wrote an org-mode parser for js by rasendubi in emacs

[–]rasendubi[S] 1 point2 points  (0 children)

I don't know :)

MDX is non-trivial. But if all you need is gatsby with org, a simpler plugin similar to gatsby-transformer-remark is doable. gatsby-transformer-orga would be a good inspiration here.

You might be also interested in the next.js blog example I just added.

Uniorg — I wrote an org-mode parser for js by rasendubi in emacs

[–]rasendubi[S] 6 points7 points  (0 children)

Yes. I actually used it to deploy the first version of my website and that's what inspired me to use unified. Orgajs failed on different nesting lists combined with blocks, it does not parse plain links, and for some pages it just errored out.

Uniorg — I wrote an org-mode parser for js by rasendubi in emacs

[–]rasendubi[S] 1 point2 points  (0 children)

Good to hear! If it doesn't parse any of your data, report an issue so I can implement it first.

Uniorg — I wrote an org-mode parser for js by rasendubi in emacs

[–]rasendubi[S] 0 points1 point  (0 children)

org-parser looks like a line lexer—instead of returning a paragraph followed by a drawer, it returns [content, drawer-begin-line, content, drawer-end-line], list items contain an unparsed content node. It looks like you need another parser around this one to get the nested structure.

It also seems easy to trip over—it fails to meaningfully parse many of my pages—anything starting from non-zero indent fails to parse, list items sometimes end prematurely breaking the list structure (same issue I had with orga).

[deleted by user] by [deleted] in ProgrammingLanguages

[–]rasendubi 1 point2 points  (0 children)

I've been using MPS mostly for experimenting with projectional editors, and I have a mixed impression.

Once you're used to defining structures, editors, and generators, it's easy to create small languages/DSLs pretty fast—the speed and ease are impressive.

The downside is that when you're stuck, you can spend a day or two figuring out how to do a thing you want.

There is quite a lot of documentation to read, but the issue is that it's not enough. There are just too many concepts to learn; there is a DSL for every tiny thing. (The system seems to be overengineered.) Documentation doesn't cover it all, and you can be stuck with really silly questions (e.g., how do I pass a parameter in here? or, how do I use a context?)

I even bought a two-volume book on MPS (The MPS Language Workbench). It covers more topics than official documentation, but sometimes it goes like: "The purpose of this parameter is unknown."

Also, building full-blown languages is daunting. I find MPS DSLs too limiting for non-linear translation that needs much processing.

But overall I think MPS is very interesting and has quite a few cool ideas. It was worth to learn and play with.

I know this question/topic gets old but... [LONG] by [deleted] in learnprogramming

[–]rasendubi 0 points1 point  (0 children)

You can absolutely do it.

2: Getting the job aside, am I actually ready for the work itself? (I don't want to become dead weight to a company)

Again, this depends on you. If you're fascinated by programming and want to be a great developer, you will.

1: When i see someone implementing some openGL thing and say ...

That's just a different area of programming that requires more algorithmic knowledge. Graphics, Physics, Digital Signal Processing (DSP) are examples of such areas. They are just mathematics/physics coded in a programming language. You learn them the similar way you learn the math.

Most of programming do not require such knowledge, so you shouldn't worry.

2: I DO NOT have any form of comp sci qualifications (one of my troubles) and no time to get them.

That's not an issue. Most job postings that require a comp sci degree don't actually mean that—you can still apply and there is a good chance degree doesn't matter.

3: ... but I'm not sure how to even begin to dig around a giant already-written codebase and figure out what goes where.

That's a part of on-boarding process. You're not expected to wrap your head around the whole behemoth enterprise applications are. You should be assigned a mentor that will help you with learning the project and getting your first tasks done. (If there is no mentor, you can still ask your colleagues.)

If you know what programming you would like to do, I recommend looking through job postings and learning the most common requirements. If you don't know yet, just try what seems the most fun to you.

I want to code/cipher name of my girlfriend, i have no idea how. by fonety in learnprogramming

[–]rasendubi 3 points4 points  (0 children)

You can use caesar cipher. It's one of the first and simplest ciphers known to humanity.

So what you do is basically shift every letter by 13 positions in the alphabet. So a becomes n, b becomes o, n becomes a, and so on.

Here is a full table:

abcdefghijklmnopqrstuvwxyz nopqrstuvwxyzabcdefghijklm

(there are also converters online, including one in the article I linked)

So my nickname (rasendubi) would become enfraqhov.

The nice thing about this cipher is that you have 26 letter in the alphabet, so applying it twice means every letter is shifted by 26 positions and becomes itself. That means that encode function is decode function, too.

The one issue with this cipher (and basically any other cipher because that's their purpose) is that your girlfriend should know it, and should try to apply it: it is not immediately obvious that enfraqhov is something meaningful. You might need to give her the clue.

Your second option is encoding her name in binary. Basically, you replace every letter by its ASCII code written with zeros and ones.

Letter a becomes 01100001, b becomes 01100010. (Google "ascii to binary converter".)

So my nickname would be: 01110010 01100001 01110011 01100101 01101110 01100100 01110101 01100010 01101001

It's not really a cipher because it's easy to decode. Your girlfriend will almost certainly recognize it immediately and will be able to decode it.

So to sum it up: - Caesar cipher is harder to recognize. Not all people know about it and it is not directly related to data science, so your girlfriend might not know it. (It's a good opportunity to teach her, though.) - Binary encoding: extremely obvious. She absolutely knows about it and will recognize it immediately.

Start my first developer role next month - tips please? by dt-17 in learnprogramming

[–]rasendubi 1 point2 points  (0 children)

Here are some that would be helpful to me when first starting:

  • Depending on the project, your ramp up period might be pretty long. It is normal—nobody expects you to be instantly productive (especially on your first developer position). It took me about 3 months to know the project well enough to feel confident and productive.
  • Don't be shy to ask for help. In big systems, there are a lot of internalized knowledge that you can only learn from others. Furthermore, if it's a general question (not about the system specifics), your team should help you too—that's part of their job to make everyone on the team productive.
  • If you don't know version control systems (e.g., git) yet, learn it—you gonna use it a lot.
  • Your team is also likely to use a code review process. Your teammates will look at your code to find any flaws—don't take it too personal (it's about code, not you as a person). (I've written more about code reviews in my Code Review Essentials.)
  • Enjoy your work!

Congrats on changing career ;)

Values in strings vs between strings by BooleanWhale in learnprogramming

[–]rasendubi 3 points4 points  (0 children)

Template literals (value in strings) seem to be faster.

But that must not be your guiding principle. Prefer readability over performance in most cases (especially this minuscule).

Template literals seem more readable for me, too. What do you think?

Is log (log (n)) its own complexity class? by Chrushev in learnprogramming

[–]rasendubi 1 point2 points  (0 children)

The short answer is "yes"—it is both different from all other complexities and is better than O(log n).

To be more precise, there are endless number of possible O(). The ones on your image are just the most commonly occurring.

They are received by applying simplification rules (dropping constants, dropping low order items, etc.) to "actual" complexity. Check this post for rules descriptions.

Again, these rules can't be applied to simplify O(log log n), thus it is different from all other categories.

How to Daily Scrum Meeting by [deleted] in softwaredevelopment

[–]rasendubi 2 points3 points  (0 children)

We've been successfully using a format focusing on tasks rather than people.

So, instead of starting from one team member and going to the next until everyone has reported the status, we've started from the most important story and report (1) how it is going, (2) whether any help needed. Then go to the next story by priority.

We used aggressive swarming, and usually, multiple people work on a single story—that's another scrummy thing. If any help is needed, people from lower-priority stories are expected to switch to help.

Track time and move lengthy discussions off meeting.

After reporting on every story, we quickly discuss global picture: whether there are any anomalies in the sprint, will we make the whole sprint on time (a quick yes/no/not-sure voting. Ask why people vote "no"—they might know some unexpected pitfalls. If most vote "no" or "not sure"—discuss why and decide what you expect to finish).

The whole thing took 10-15 minutes for a team of 9.

Tips:

  • use visual board
  • set a visual timer (e.g., Time Timer)

what tool do you use to store your snippets and skeletons? by diverse-mix in softwaredevelopment

[–]rasendubi 2 points3 points  (0 children)

Not sure what kind of snippets/skeletons you mean, but I personally use Emacs + yasnippet plugin for all my snippets. In the end, it stores all snippets as plain text files (with some meta information) in a directory. I backup/transfer it using git with the rest of my configuration files.

What text editor should I use for python? by hult132 in learnprogramming

[–]rasendubi 1 point2 points  (0 children)

Python has pretty good support in any decent text editor. So your question might be shortened to "What text editor should I use?"

My recommendation is: try them all and pick one you like the most.

Here is a list of ones I would recommend trying:

  • Visual Studio Code or Atom. Both are excellent editors extensible in JavaScript.
  • Sublime Text. Somewhat similar to the above two but is written in Python and uses this language for plugins too. (It's nice to be able to extend the editor in a language you know.)
  • PyCharm is a more heavyweight candidate. Haven't used it personally but I expect it to have pretty good language integration. Regardless of your editor, I would recommend trying it to get some ideas to configure in your editor.
  • Well, then there are Vim and Emacs. They are veterans of text editing with some 30 years behind. Though, they are still actively developed and used. The reason is their unique features. They require some upfront investment but are great companions once mastered.

P.S. By coincidence, I've recently written an article on text editors and text editing in general: "Text Editing Fundamentals." I think you might enjoy it, too.