Re-thinking Math

KDE algebraic calculator with visualization in 2 and 3D.
KDE algebraic calculator with visualization in 2 and 3D.

This is an idea and argument that have been prominent meeting with other geeks and people that have had certain success in science. The teaching and use of math in today’s society is pretty low. People complain that people on the street is in need of a calculator even for simple calculations. Also the lack of a mathematical brain, makes people less able to solve everyday problems.

This come in a time that I am teaching someone close to me, pre-calculus as I get the chance to remember some of the things that at the time, seemed so confusing. The funny part is that even thought I believe they are still somewhat confusing, the way the math is being taught also tells me that many of the issues with math depends on the weak links in the chain of understanding the process.

These holes in the process make people less enthusiastic about math. Math problems usually were mainly about the process of solving issues through several steps of calculation. Miss one of these steps and the result will most certainly be wrong. Of course this is nothing new, we can see all these with simple math examples like making a double digit sum, if the first one is wrong, the result will also be wrong.

My proposal is to re-think the problem and maybe take it from a higher level view. Instead of focusing in the process, really target the result. For that, we should let some of the things that stop us from doing that, example, the process. Learning to get results and positive results might be a better motivator than the constant failure of figuring out through quirked processes. Another major idea we should get over  is rethink the whole technology dependency. In all honestly we are dependent of technology for almost everything, transportation, cooking, shitting, entertaining etc. So I don’t see anything wrong with having to depend on technology to calculate. After all, thats usually what technology really has taken over.

However the answer is not just to use a calculator and be done with it. but actually excel in calculating things. That means not only really learning how to use a calculator but other tools like spreadsheets, and of course advanced mathematical models. This basically offer a whole new set of challenges, because we would focus on conceptualizing the mathematical formulas and types of calculations technology offers us.

As a Linux user is really amazing how much mathematic-centric software is there available for every distro. From 3D graphical calculators like Kalgebra to programing language modules ready to be used, like Python’s Numpy. If you are not a Linux user and all you have is Excel, you can spend a good 2 month studying the functions including in the package, as an OpenOffice developer I can give you a hint to see the ones in OpenOffice Calc here. You can see how many of these you have no idea how to use and probably will say that you have no idea why would you ever need it, and that’s the third part of the problem. Inheriting a mathematical education that function in the terms of concepts, there could be a lot of time devoted to inserting the concepts into everyday life.

Sure, you aren’t and probably won’t be an engineer, but at the same time, there should be more people with an engineer means so that engineers can actually move up the scale to think more advanced areas of the knowledge in math for calculating things. In all, I would prefer lessons like Khan Academy to devote to understanding a calculator, drill on those Calc/Excel functions and also more programmatic lessons whenever on Python or Javascript.

In the end, society itself would be able to be less intimidated by math as well as using more math into their daily life. Being able to use a larger percentage of their calculators will make people perform more complex calculations and eventually demand a more calculative data, like stats, analytics and such.

The success of indie culture

A recent meetup I was able to have a discussion about the aparent change that never happened. Just like many years ago, teachers thought that the future computers will help kids around the world learn, I thought that people will come together and create more agile communities. These communities will be global and interconnected. I was thinking on having my group of friends from different parts of the planet and be able to hang out in virtual environments communicating and creating. 

I was actually able to pull that off, but at the same time, I thought these was going on with everyone that touch the internet. However talking with my ‘geeks’ friends I found that this reality is far from being achieved. Being able to talk to 17yr olders and 20 year olders, I found out that the status quo has been kept. 

Most people still listen to mainstream music, and even more, they have very little indie music artists that were self discovered by them.

My question is simple, what happned with the internet revolution? Sure old companies have invested a lot of money into the internet to become relevant and Youtube has been prevalent among young people. However, the way music has been shaped with different rules other than music which make commercial artists compete on different arenas than music. From Music production to artists beauty, indie artists not only have to be talented but also very ‘camera friendly’ and have a good production knowledge to manufacture a good video on youtube.

Distributed Source Control systems in FLOSS communities

Git logoThe final instance of the posts about the different tools used by an open source community is the core and most important part. After all software is usually ran by code. And code is what gives developers the upper hand in using the final liberties of the free software rights. The right to modify it’s code.

So how does people modify it’s code? Well there are some standard tools that allow to keep track of all the modifications of the code. These systems are called differently but you can identify SCM, or DSCM which enable developers to perform ‘commits’ on the code and keep a version of those modifications.

Here is an example, lets assume this story is being modified by 3 developers: john, patric and bob:

When I was little I had a pony.

John comes and add:

When I was little I had a pony, the pony was named katy.

John has created a new version of the story, however the previous version still exist and patric can compare the new version to the old one. The tool used here is called, diff for differential:

Ver #01 - - When I was little I had a pony.

Ver #02 ++ When I was little I had a pony, the pony was named katy.

Patric can see here where has this been modified. He can apply corrections to it by renaming the pony katy to Katy for example, and Bob could eventually see the version 02 to the new 03 version, or 03 to 01 and see how it’s different.

Code in software behave like this except it also take into account the history of the files and folders itself.

A DSCM system will usually have plugins to connect it to the web. This makes it easier for people to see and learn how the version management take place. If you ever been in sourceforge, google code, or any big open source development project you will be able to see this systems.

More to it, the DSCM could be connected with mailing lists and provide email notifications on any change happening on the source tree (what lives in the DSCM system).

Programers more involved with things like Github can be more related with how these source trees work, and how branches, and forks, take place. Github is a service tha provides some kind of social media withing the plain Git vesion control features as well as insert an Issue tracker to it.

Here comes a big difference in development, usually Git projects tend to be more distributed, while other versions of DSCM systems like Subversion, or CVS were monolitical. The difference is simple, while the code resides on your computer as well as on the system everytime you do a checkout, in git the changes are handled in a more distributed fashion as opposed to the earlier systems. This is why Git right now is the premier and favorite control.

However not all projects use git, and for the ones that don’t usually there was a level between been a commiter and being a casual programer doing some ‘hit n run‘ code. Meaning a random patch, but don’t expect to contribute again. These ‘hit n run’ programers usually couldnt submit their patch to the source tree, so a different system was used in that case. The issue tracker.

The issue tracker serves for creating and keep a track of issues, whenever is usability, documentation, testing and yes, programming bugs. A programmer that found a bug and fix it on it’s own, but holds no attachment to the project, will use the Issue tracker to report the bug and also attach a PATCH. This is the bit of code that was modified and is up for the team of developers to integrate it back into the source tree.

In a community there was a criteria to upgrade casual developers to commiters when they scored a certain ammount of succesful patches, and some other protocols were met (like signing a license code agreement) so the project can legally stand about the status of the code.

Commiters usually were required a gpg key to be able to sign their code, and be able to be approved by the DSCM system, otherwise the commit was rejected. This is also a key component of the FLOSS developer. More information could be found on their wiki stating each step of the way on becoming a contributor, but for the most part. The cycle is similar on all projects.

Are you ready for total KaOS?


KDE is a great desktop, it needs a good OS that knows what its doing to make it look awesome.

Originally posted on Marcel Gommans:

KaOS       Another relatively unknown distro I recently came across is KaOS. In 2013 KaOS was created as an independent OS. It is based on the Linux kernel, although the makers still look at Opensolaris as an alternative base. KaOS 2014.04 uses pacman as its package manager. This might give you the idea that it is Arch-based, but the website clearly states that it’s completely indepentent. Let’s find out if KaOS is an undiscovered gem or if it leads to chaos…. Installation Before we start the installation, we have to know one important decision the creators have made when they started this distribution: creating an OS is about making choises. They decided to make a few decisions that can make this distro interesting for you, or not. After choosing the Linux kernel they picked KDE as the only available desktop environment and QT as their toolkit. KaOS only has…

View original 541 more words