As funny as that would be, this has been a surprisingly common misconception.
So, your criticism is that machine-generated code can be hard to edit when a human needs to touch it. I don't see how that is relevant here, being human-legible or editable is not a stated goal of the project. Rather than lobbing criticism against any software which machine-generates code for machine consumption, it makes more sense to use your best judgement and choose the software which is right for your use-case. I don't even want to know why you would ever machine-generate a regexp from a list, not save the list, and then somehow need to edit the regexp without access to the original items. That's not a software problem.
This drive-by criticism is the worst fucking thing I have ever seen. Please never ever use drive-by criticism without any code or references which back up its claims to inform your opinion on others work.
list2regexp will limit each regular expression to matching 10,000 entries by default. Matching against each pattern of 10,000 entries takes around 1 microsecond on a laptop. I've fed it several megabytes of IP addresses and it doesn't choke. That's kind of the point.
Here is an example. Given the following list of strings:
1.2.3.4
127.0.0.1
127.0.0.2
127.0.0.11
128.0.0.1
125.0.0.*
200.0.0.1
2001:0db8:85a3:0000:0000:8a2e:0370:1300
2001:0db8:85a3:0000:0000:8a2e:0370:1330
2001:0db8:85a3:0000:0000:8a2e:0370:1337
あいうえお
あいうえこ
😃😁😆😐
😃😁😆
😃😁🤣
list2regexp will return the following pattern:
^(?:1(?:(?:\.(?:2(?:\.(?:3(?:\.(?:4))))))|(?:2(?:(?:5(?:\.(?:0(?:\.(?:0(?:\.(?:.*)))))))|(?:7(?:\.(?:0(?:\.(?:0(?:\.(?:(?:1(?:|(?:1)))|(?:2))))))))|(?:8(?:\.(?:0(?:\.(?:0(?:\.(?:1)))))))))))|(?:2(?:0(?:0(?:(?:\.(?:0(?:\.(?:0(?:\.(?:1))))))|(?:1(?::(?:0(?:d(?:b(?:8(?::(?:8(?:5(?:a(?:3(?::(?:0(?:0(?:0(?:0(?::(?:0(?:0(?:0(?:0(?::(?:8(?:a(?:2(?:e(?::(?:0(?:3(?:7(?:0(?::(?:1(?:3(?:(?:0(?:0))|(?:3(?:(?:0|7))))))))))))))))))))))))))))))))))))))))))|(?:あ(?:い(?:う(?:え(?:(?:お|こ))))))|(?:😃(?:😁(?:(?:😆(?:|(?:😐)))|(?:🤣))))$
Here is an example. Given the following list of strings:
1.2.3.4
127.0.0.1
127.0.0.2
127.0.0.11
128.0.0.1
125.0.0.*
200.0.0.1
2001:0db8:85a3:0000:0000:8a2e:0370:1300
2001:0db8:85a3:0000:0000:8a2e:0370:1330
2001:0db8:85a3:0000:0000:8a2e:0370:1337
あいうえお
あいうえこ
😃😁😆😐
😃😁😆
😃😁🤣
list2regexp will return the following pattern:
^(?:1(?:(?:\.(?:2(?:\.(?:3(?:\.(?:4))))))|(?:2(?:(?:5(?:\.(?:0(?:\.(?:0(?:\.(?:.*)))))))|(?:7(?:\.(?:0(?:\.(?:0(?:\.(?:(?:1(?:|(?:1)))|(?:2))))))))|(?:8(?:\.(?:0(?:\.(?:0(?:\.(?:1)))))))))))|(?:2(?:0(?:0(?:(?:\.(?:0(?:\.(?:0(?:\.(?:1))))))|(?:1(?::(?:0(?:d(?:b(?:8(?::(?:8(?:5(?:a(?:3(?::(?:0(?:0(?:0(?:0(?::(?:0(?:0(?:0(?:0(?::(?:8(?:a(?:2(?:e(?::(?:0(?:3(?:7(?:0(?::(?:1(?:3(?:(?:0(?:0))|(?:3(?:(?:0|7))))))))))))))))))))))))))))))))))))))))))|(?:あ(?:い(?:う(?:え(?:(?:お|こ))))))|(?:😃(?:😁(?:(?:😆(?:|(?:😐)))|(?:🤣))))$
Bouncy Blob is available under the GNU Affero General Public License. The full source code is available on Codeberg.
I created Bouncy Blob for a game jam to experiment with procedural level generation using Perlin noise.
Indeed, I started the project about ten months ago. It is a descendant of another imageboard server I created, TinyIB, which is a descendant of Kusaba aka Trevorchan (un-maintained for some time now) which was a clone of the Futallaby imageboard script, which was a clone of the 2ch Futaba imageboard script. I hope to hang on to the aesthetic as tribute to the lineage of the project.
Joint Force will be available on Steam starting January 1st.
Joint Force is free software, as it is released under the GNU Affero General Public License.
Download the source code at https://codeberg.org/tslocum/jointforce
Joint Force will be available on Steam starting January 1st.
Joint Force is free software, as it is released under the GNU Affero General Public License.
Download the source code at https://codeberg.org/tslocum/jointforce