Open Ideas

Open source is an idea. When i hear it, I generally think about software, and maybe technology in general. I’ve written previously about an initiative to open source the manufacturing of machines/products for space research, and this isn’t the only open source initiative for manufacturing modern technology that I’ve seen. However, listening to npr recently I heard something that changed my perception on what open source is, or can be.

Read More

Is PyGame any good?

Pretty PyGame With Sugar On Top

For our final project in my HFOSS class, we have to create an activity for sugarlinux that would be education for a fourth grader. After looking into how exactly activities are made for sugar, my group found that the best option for making a game would probably be with the sugargame library. Sugargame is just a wrapper for the PyGame library that allows PyGame to run well on sugar linux, specifically on the XO. PyGame is a python based framework for making video games. Looking over the docs, I’ve found that the library isn’t all too different from other game frameworks that I’ve worked with before. However, looking through it, I’ve had a burning question, the titular question for this blog post actually: Is PyGame any good? What I mean by this question is how good of a development environment is PyGame? Should I use it to make other games for any reason besides just to see if I can? Is it worth developing in? Well, I’ve done some research and I think I’ve found an answer.

Read More

Foss at Magic

FOSS at Magic

Today I made it to FOSS at Magic for the first, and unfortunately last, time. I say last because this was the last one of the semester and I’m graduating! Either way, I’m glad I made it to the talk, as it was very interesting, and it was cool to see some of the RIT FOSS community together in one place. I think the discussion among the crowd is actually what made this event really fun for me.

Read More

bugfix

Sugarizer bugfix

For my bugfix assignment, I was pointed to an error in the README.md file for the Sugarizer application by my wonderful professor. The issue with the Sugarizer README was pretty simple. In Markdown, some number of octothorpe (#) at the beginning of a line denotes a header. If there is no space between the octothorpe and the header title, the text will not be emboldened. You can see an example of the issue below.

Read More

blog10

Dependency

Lately i’ve been doing a lot of coding in javascript, specifically for node.js as opposed to for a website directly. With this comes the inevitable use of npm. npm is Nodes package manager, and its honestly one of the best package managers I’ve ever used. No need to carry around all of your project dependencies with your code either in your repository or somewhere else, all you need to do is list a dependency your project has and run npm install. It even takes care of installing dependencies for your dependencies! So convenient, right?

Read More

blog09

Open Source Migration

While perusing redit recently, I cam across a link to a Valve Software Github page. This repository is currently empty except for a readme and a license, but it’s valves first step into releasing it’s Game Networking Sockets framework as an open source project. This framework will handle NAT punchthrough and relay and is the actual code valve uses for most of its games. There hope that once this is released it will be a better documented and better maintained version of RakNet, another proprietary gone open source framework that accomplishes the same thing. There are complaints in the community about the current (or at least recent) state of RakNet and it’s documentation.

Read More

commarchteam

Commarch Conclusion

I think that with any large scale open source problem, there is bound to be some disarray. No one reports to anyone in particular, no one’s going to lose a job if they miss a deadline, everyone is just going to work when they can and when they want. Despite this, open source projects still work, and sometimes they work pretty damn well. I think that Godot is one of those open source projects that, despite being large, still has decently well organized community.

Read More

blog08

introduction

I realize that, through the course of this blog, I haven’t really taken the time to talk about myself. I’ve mentioned my name (Keegan), but that’s about it. It’s a bit of a cop out as far as the requirements for my class blog goes, but still, I’d like to take the time to introduce myself once more.

Read More

quiz1

Question 1

1) Please expand each of the following acronyms (1 pt each):

Answer

1.1) IRC Internet Relay Chat 1.2) FOSS Free and Open Source Software 1.3) OLPC One Laptop Per Child 1.4) FSF Free Software Foundation 1.5) PR Pull Request Bonus: Give the expansion for the acronym GNU. (1pt) GNU’s Not Unix

Question 2

2) What is the name of the version control system we use in this course? (1 pt) Bonus: Give the name for another version control system. (1pt)

Answer

We use git for version control in the HFOSS course. Another version control system, which we don’t use, is SVN.

Question 3

3) Please give the one-word name for the interface used in the OLPC computers & our VMs? (1 pt)

Answer

The interface used on the OLPC computers is called Sugar.

Question 4

4) Bonus: What is the short, two-letter name for the OLPC computers used in the final project for this class? (1 pt)

Answer

They are called XO.

Question 5

5) We refer to sites that host source code as “forges”. What is the name of the primary forge used in this course? (1 pt)

Answer

The main forge used in this class is Github.

Question 6

6) Bonus: Name the other forge we have used? (1pt)

Answer

The other forge we have used in this class is Gitlab.

Question 7

7) Bonus: Name another forge, one we have not used for this course. (1pt)

Answer

A forge we haven’t used in this class is Bitbucket.

Question 8

8) The GitHub-specific term to describe the process in which, starting from one repository hosted at GitHub, one creates another repository, also hosted at GitHub, but under the control of a different user account. a) repository b) branch c) remote d) fork e) clone

Answer

The answer to this question is D) fork. ##Question 9 9) A collection of related commit objects a) repository b) branch c) remote d) fork e) clone

Answer

The answer to this question is A) repositroy.

Question 10

10) A separate, but related, repository from which one may fetch or pull changes into one’s own working copy, and to which in some instances one might have permission to push changes from one’s own working copy. a) repository b) branch c) remote d) fork e) clone

Answer

The answer to this question is C) remote.

Question 11

11) The general term in git for making an exact, working copy of another repository in which changes can be tracked separately between the two versions. a) repository b) branch c) remote d) fork e) clone

Answer

The answer to this question is E) clone.

Question 12

12) A namespace in which one can track changes to a set of files within a given repository. This term applies both to the action and to the result of the action. Comparisons (‘diffs’ or patches) can be made between different such namespaces. a) repository b) branch c) remote d) fork e) clone

Answer

The answer to this question is B) branch.

Question 13

13) Consider the following (+1 for each correct, -1 for each incorrect): a) e59b627 b) 451.867 c) cf153fb32 d) dca_079 e) 9539807 f) DB6A60A g) 614@1d4 h) be34fb47c60d List which of these could be a valid commit identifier?

Answer

The answer to this question is A) and E)

Question 14

14) We’ve discussed “the four R’s” as a shorthand for the freedoms attached to software for it to be considered “free” or “open source”. List or describe each. (eg, if you can remember the “r” word you can just give that. If you cannot remember the term, but can describe the freedom involved, that also counts). Various “r” words are roughly synonymous for some of the freedoms, but we’re counting freedoms here, not synonyms so if you give two (or more) terms for the same freedom, it only counts once. For the purposes of this quiz, “remix” does not count as describing any of them. (1pt each)

Answer

10.1) Read 10.2) Revise 10.3) Reuse 10.4) Redistribute

Read More

blog07

50 lines of C, Stat

This week, I had to begin reading a book about the crumbling open source infrastructure tha most of the modern world is currently relying on. (I have written some form of that sentence several times now and it doesn’t feel like english anymore). After reading half of it, I do believe that there is a pretty big and growing problem. According to the author, less people are contributing to the commons while more people continually build new products off of what already is struggling to stay up to date. These new products may or may not be free. It seems like we’re in dire need of a way to get people more involved with open source.

Read More

litrev2

Building Bridges

This week, I was tasked with reading the first half of Roads and Bridges: the Unseen Labor Behind our Digital Infrastructure by Nadia Eghbal. I also read the bug report titled Critical Linux filesystem permissions are being changed by latest version by user Crunkle from 14 days ago. The former reading discussed the growth of open source from a small movement to the underpinning infrastructure behind most of today’s widely used software. Following the explanation of how open source software became so integral to the modern world, the paper describes how this infrastructure is beginning to crumble, and that spells disaster for millions. That point is driven home with the contents of the second reading documenting a fatal bug in NPM, a package manager that a large percentage of web developers (front and backend) rely on.

Read More

firstflight

The firstflight assignment seems to be an introduction into some of the culture of FOSS. It asked for an introduction, which I split apart into a seperate blog here

Read More