I'm trying to implement the complete v2.2 Ax.25 stack.. made a lot of progress but the more progress I make the more I realize this was a really poorly designed protocol.
I want people to share with me any and all cool productivity tools you use for software development including brainstorming, diagraming, project management, and of course coding... Go!
I really hope Wikijs gets a bit more momentum. It is a great project, and its features and usability is already more than enough for me to commit to it. But man there are so many features yet to be implemented I'd like to see and the development seems to have slowed lately.
The PlsExplain programming language attaches a comment to every value that propagates with the value. Kinda cool.
WOOT! Our GitLab instance just got approval for another year of free ultimate license (normally costs 100$ per person, per month).
For any ruby devs out there, wanted to share a neat little open-source module I wrote to solve a common problem. Keep in mind ruby is not my main language so if there is a batter approach here I'm all ears.
Basically right now I have a game (text based mud) and in normal and expected fashion objects in the game are created when their objects get initialized, such as a new player being created. The system then periodically saves the universe by marshalling all the object into some serialized format and saves it to a file from time to time. As tends to be the case with serialization, however, when an object is restored, such as a previous player logging out and back in, then the class is created directly without the initialize method getting called , its class and instance variables are simply populated directly.
This is where problems can arise if you change the system and add new features (such as a new variable to an object). New objects that are created will populate the new variable correctly through the initialize method however already existing players will not have that variable set at all (it won't be nil, it simply wont be set, which is a distinctly different state). This is the problem I solved.
What I did was created a mix-in module that lets you set default values for variables, once a class is reinstated from storage it checked if any variables that have defaults are unset (nil variables are considered set) and then applies the default value to them. In this way legacy objects will be able to update to new code changes automatically when it loads. To prevent duplicating code you can even intentionally leave it out of the initialize method and rely on the defaults when it is appropriate to do so.
Moreover the defaults do not have to be static values but can be determined based on the existing state of the object, which makes them dynamic and flexible... a class that uses the mixin could look like this:
require 'defaults'
class Foo
include Defaults
# @bar defaults to @baz*2
default(:bar) { |this| this.baz * 2 }
# @faaboo defaults to 178
default(:faaboo) { 178 }
def initialize
@baz = 13
#this line can be ommited
@bar = 26
# if you add this line instead
load_defaults
#either work fine
end
end
Here is a link to the module:
https://git.qoto.org/aethyr/Aethyr/-/blob/master/lib/aethyr/core/util/defaults.rb
You can see a class that utilizes this new feature here:
https://git.qoto.org/aethyr/Aethyr/-/blob/master/lib/aethyr/core/objects/game_object.rb
#Ruby #RubyLang #Programming #Coding #software #ComputerScience @Science #code #source #sourcecode #opensource #oss #game #gaming #gamedev #QotoJournal
so I have been working a little bit each day in my spare time on a rather absurd refactor job... it was too much work to do by hand so I wrote a script that refactored my code for me... since it was throw away code i didnt put any effort of any kind into quality control and well, it shows.
Its so horrific I just had to share the refactoring script witht he world just so other can marvel at the horror.
#software #programming #ruby #cs #it #sourcecode #coding #source
What static site generator should I try out next?
#JAMstaxck #staticsitegenerator #gatsby #nextjs #slate #nuxt #software #programming #cs #it
I just did my first release as the new project owner for Goblin! It's an open-source OGM for Graph Databases that sits on top of Tinkerpop.
Check it out here:
https://git.qoto.org/goblin-ogm/goblin
#Python #Tinkerpop #Gremlin #Tinkerpop3 #GraphDB #Goblin #Programming #CS #IT #Software #OpenSource #OSS #FOSS
Woot just released version 3.3.2 of aiogremlin, a open-source Gremlin DSL for python.
https://pypi.org/project/aiogremlin/
#Python #Tinkerpop #Gremlin #Tinkerpop3 #GraphDB #Goblin #Programming #CS #IT #Software #OpenSource #OSS #FOSS
So now that I took over the Goblin open-source project I started cleaning up the README and other repo documentation. Its amazing how just a little bit of time and attention can make a project look significantly more professional. Logo only cost me 7 bucks too!
https://git.qoto.org/goblin-ogm/aiogremlin
https://github.com/goblin-ogm/aiogremlin
#Python #Tinkerpop #Gremlin #Tinkerpop3 #GraphDB #Goblin #Programming #CS #IT #Software #OpenSource #OSS #FOSS
What number most closely matched your preferred line width when enforcing style rules on source code?
#programming #source #computing #cs #ComputerScience #it #software
So I'm trying to consider what framework to use for documentation at CleverThis (first document ill need to convert is the Spec for the concurrency I'm designing). These are the options I'm playing with and considering. Which do you like most, leave comments with suggestions and opinions.
#w3c #specification #standards #programming #software #cs #ComputerScience
Which program language would most excite you to want to contribute to an open-source project, all else being equal?
#programming #software #softwareengineering #ruby #haskell #java #python #science
Jeffrey Phillips Freeman
Innovator & Entrepreneur in Machine Learning, Evolutionary Computing & Big Data. Avid SCUBA diver, Open-source developer, HAM radio operator, astrophotographer, and anything nerdy.
Born and raised in Philadelphia, PA, USA, currently living in Utrecht, Netherlands, USA, and Thailand. Was also living in Israel, but left.
Pronouns: Sir / Mister
(Above pronouns are not intended to mock, i will respect any persons pronouns and only wish pronouns to show respect be used with me as well. These are called neopronouns, see an example of the word "frog" used as a neopronoun here: http://tinyurl.com/44hhej89 )
A proud member of the Penobscot Native American tribe, as well as a Mayflower passenger descendant. I sometimes post about my genealogical history.
My stance on various issues:
Education: Free to PhD, tax paid
Abortion: Protected, tax paid, limited time-frame
Welfare: Yes, no one should starve
UBI: No, use welfare
Racism: is real
Guns: Shall not be infringed
LGBT+/minorities: Support
Pronouns: Will respect
Trump: Moron, evil
Biden: Senile, racist
Police: ACAB
Drugs: Fully legal, no prescriptions needed
GPG/PGP Fingerprint: 8B23 64CD 2403 6DCB 7531 01D0 052D DA8E 0506 CBCE