If you are wondering where the data of this site comes from, please visit GitMemory does not store any data, but only uses NGINX to cache data for a period of time. The idea behind GitMemory is simply to give users a better reading experience.
Tobias Pfeiffer PragTob Berlin Likes people. Teamplayer, Open Source Enthusiast, Software Developer, TDDer, Speaker. Ruby, Elixir, JavaScript. Runs RUG::B. Loves green.

elixir-wallaby/wallaby 1240

Concurrent browser tests for your Elixir web apps.

bencheeorg/benchee 1032

Easy and extensible benchmarking in Elixir providing you with lots of statistics!

matestack/matestack-ui-core 526

Matestack enables you to create sophisticated, reactive UIs in pure Ruby, without touching JavaScript and HTML. You end up writing 50% less code while increasing productivity, maintainability and developer happiness.

phoet/on_ruby 202

:gem: :diamonds: Whitelabel Site for Ruby Communities

PragTob/after_do 111

after_do allows you to add simple callbacks to methods

bencheeorg/benchee_html 49

Draw pretty micro benchmarking charts in HTML and allow to export them as png for benchee

danlucraft/swt 37

Contains everything required to write cross-platform desktop applications with JRuby and SWT.

elixir-berlin/planning 30

📅 📓 Plan the next Berlin.ex meetup

bencheeorg/statistex 18

Calculate statistics on data sets, reusing previously calculated values or just all metrics at once. Part of the benchee library family.

bencheeorg/benchee_csv 10

Output your Benchee benchmarks as CSV to generate graphs in your favorite spreadsheet tool!

issue openeddevonestes/assertions

New name for assert_lits_equal ?

equal implies full equality aka == which seems confusing (and was pointed out as a downside to introducing assertions into our code base).

Not sure what the best name for this is, I introduced a small wrapper called assert_lists_contain_same for now - it's probably not the best for now happy for other variants but I wonder ig this would be a change considered for the library itself?

Wrapper for reference, yes it's just a module for now not a macro:

      import Assertions, except: [assert_lists_equal: 2, assert_lists_equal: 3]
      import AssertionAdjustments
defmodule ssertionAdjustments do
  require Assertions

  def assert_lists_contain_same(list_a, list_b) do
    Assertions.assert_lists_equal(list_a, list_b)

  def assert_lists_contain_same(list_a, list_b, comparison) do
    Assertions.assert_lists_equal(list_a, list_b, comparison)

created time in 7 days

delete branch PragTob/elixir

delete branch : patch-1

delete time in 13 days

PR opened elixir-lang/elixir

Add missing --warnings-as-errors on mix test to Changelog



Also thank you, I've wished for this forever and am adding it to our CI as I type this :)

any branch other than 1.12 this should go to?


+1 -0

0 comment

1 changed file

pr created time in 13 days

push eventPragTob/elixir

Tobias Pfeiffer

commit sha 12db638365e70220687d68334d6ecaa1fdaa141b

Add missing --warnings-as-errors on mix test to Changelog Sources: * *

view details

push time in 13 days

issue commentexercism/exercism

Enable to "force" unlock exercises?

@iHiD okidokes! Have a wonderful vacation!

One other thing that I can think of for the "free form" vs. "learning" mode as the "easiest" solution:

Case of emergency just nuke progress and let folks do it again, but their old submissions should still be around so they could just resubmit them once they get there.


comment created time in 14 days

issue commentexercism/exercism

Enable to "force" unlock exercises?


Sorry for the long silence, with my arms injured I don't do OSS so never check my github 🤦 And thanks for letting me know!

It is tricky no doubt and thanks for engaging with me!

I can't believe I'll be able to help much as I'm much less familiar with this than any of you, but let me give it a shot and you can tell me how wrong I am :)

  1. (imo easiest) I wouldn't hard lock any exercise. Show a pop up like "are you sure?" and then just let them do the exercise. Yes, it'd somehow mess with the learning trees but I guess the logic is something like "needs to have fulfilled all prerequisite exercises to do this exercise" and that could/should still work imo. I solved a more advanced exercise and if that was the last requirement that should allow me to try and solve the next one. And I could "override" it anyhow if it didn't let me. I'm surely missing some complexity here. But this would retain a guiding hand but allow for more freedom.
  2. Switching back and forth between learning and practice mode: Again I don't know the implementation but instead of switching an exercise binary to "done" vs. "not done" it could have a third state "done, but requirements not met" and when switching back to learning mode these wouldn't unlock anything. It comes at the cost of whenever I finish an exercise I need to potentially mark exercises I point to as "done" (as now all their requirements are fulfilled).

Both would be helpful, but 1.) should be easiest and give most advantages (- everything I'm missing).

Theoretically speaking I have hackdays at work the next 2 days and since we wanted to use this at work to bring people up to speed with it I could try it and learn myself everything I'm missing 😆

Thanks a lot for taking the time to respond to me!



comment created time in 15 days

issue openedexercism/exercism

Enable to "force" unlock exercises?

Hi there wonderful team,

first and foremost I want to thank you for your extremely good work making learning so much better for so many people. So, truly - thank you 💚

I guess there is a strong opinion about this somewhere, but if there is I haven't found it via google or github - appologies.

I think it might be a good thing to be able to "force" unlock exercises. If there is, I haven't found it.

Why would I want this? Well, if you are already more advanced you don't necessarily want to spend the time doing the more "basic" exercises you already know how to do just to get where you want to be.

Example use cases:

  • I know some $lang but I want to practice $topic (Elixir example: I want to learn about Linking for instance)
  • I'm new to $lang but I already did the basics elsewhere before coming to exercism, I don't want to repeat the basics I just did (I know some repetition is good)
  • I want to check out advanced exercises in $lang that I'm highly proficient in to see how much they'd teach someone about it whom I want to recommend exercism to (this is my case, I know I could check github but I'd like to also solve them)

Example of the amount of exercises one might need to do:

Screenshot 2021-09-28 at 15 35 52

My suggestion would be, instead of stuff straight up not being unlockable/doable to have a popup that'd be like "Sure you want to unlock this exercise early? We strongly encourage you to follow the learning path" or to have some sort of setting that'd go "unlock all exercises".

I think this would be beneficial for learners and could hence widen the audience of exercism.

Again, thanks a lot for all your work. Go have a bunny:


created time in 23 days

push eventPragTob/

Tobias Pfeiffer

commit sha 86288c0a08f40f4024db2621c09fa6c37bfc083d

Woopsie add Remote Thanks Sandrina!

view details

push time in 3 months