Monday, November 30, 2015

Let's Talk About Education!

Education. The portfolio that sees MP's in hot water more often than not. The election promise that gets people salivating. The "thing" that we're all passionate about!

Lately I've been finding myself highly sceptical about IT training in general. Particularly for kids. On the electronics side of it, we get:

"Here's a robot kit! Build a robot"

And computers? Let's learn pointers everyone! It's a.... Wait.... what? What problem do they solve?!?

Here's the problem. They're prescriptive. If we think education hasn't changed since the 60's (how often do education presentations start off with a photo of a classroom from the 50's and a photo of a classroom now?), go into, ironically, one of the fastest moving fields and see how it's taught.

It's appalling.

The problem with kits? They're prescriptive. You attach the wheel here, you plug this bit in here and away you go! You've just made yourself a robot? How does it work? you ask. Well... shut up and play with your robot! Look! You can program it!

The net effect is that you get quite particular character types striving in the field. The real valuable people are those who can hear/see it prescriptively, apply it exploratory (apply it to a problem) and think creatively (taking what they know and apply it in novel ways). BUT the ones who succeed only need hear the words "industry standard" or "best practise" and that is the solution.

There's another problem that comes with this: Gender inequality. Yep. That old chestnut. The way that IT is taught encourages a gender inequality. That's the way things have always been done.

Going back to my programming example above, it could be taught in the following way:
Say we need to store similar information (we'll call these "blocks" of information). Like a database. Only we don't want to keep going back to the database. We're not sure how much information we're going to store. It depends on the data. Dealing with arrays is hard work. The stupid things want to be a size and stay that size in which case we have to create an all new array with added information.
How would you handle this problem?

And then bring it back to a solution. Okay, so some really clever folk came up with this idea of "pointers". At the end of the blocks of similar information, what if you could "point" to the next block of similar information? That way, if you need to add another block, you just get the pointer on the end of the last block to point to it.
Easy. Instead of the time spent having to reexplain pointers because there's no real understanding of why you'd use them, a deeper understanding is created because it's applied to a real problem. It allows time for a few novel ideas. It describes "linked lists" which is awesome for moving into Python. It encourages discussion.

If you don't know what a pointer is, don't worry. They're not used terribly much; most modern programming languages have gotten rid of them all together.

And electronics? What if you could put a bunch of stuff on a table, ask the kids what they want to build (elaborate. If it's a robot, what do they want the robot to be able to do?), and facilitate it in terms of learning how to find the information to do what they want. This is generally what we (makers) do as adults anyway. I've been regaled with pictures of food a friend of mine made in his homemade sous vide. AND IT'S AWESOME!!!

Confident learners, not ones who can recite what has been said to them, but rather, those who are confident to not only learn but also apply their knowledge, creates confident people. When my monitor blew up a few days ago, while my first reaction was a curse at the heavens, my second was to pick up a screwdriver to have a look. A few forums later, I identified the capacitor that was likely blown (I had missed the leak on my visual inspection), and ordered the parts needed (a fuse and a capacitor - well less than $10 worth of parts to get my 10 year old, still worth around $400 monitor working). While I was thinking about it that day, I asked myself "What do people normally do in this situation?". The privilege of empowerment struck me. Most people would throw the monitor out and go out looking for a new one. I want other people to have the empowerment to be able to solve the problem.

In other words... if the education isn't empowering... is it really education?

Saturday, November 21, 2015

Breaking the Internet

Back in the early 90's, a problem was discovered with the way we connect our computers to networks. The address space was (is) going to run out. Groups were put together to come up to a solution to the problem and by 1998 there was a protocol established called "IPv6". In 2004, revisions were made. The solution, in its entirety, has been fleshed out.

In the meantime, not all devices are connected to the relatively new "Internet". The problem was that while a household might have multiple devices, they could only receive a single line. A single address...

"Not a problem", you might say, "I can just 'share' the connection with the other computers". The way this is done is to use a reserved address space for inside your home/workplace, the same address space that can be used by your neighbours, and then to use something called NAT (Network Address Translation) to talk to the Internet. Essentially, it makes a computer, sitting between your 'computers' (tablets, phones, laptops etc.) and the Internet, responsible for receiving information from your internal network, changing it so that looks like it owns it all, and then send that information to the Internet and vice versa.

It's a solution but it breaks something. The end-to-end principle. That is, every device should be able to talk to every other device. There are solutions to this. The main problem here is one of "ports". If I want to run a web server, I need to be listening to requests on port 80 and port 443. Which means, that on that computer between me and the Internet (we'll just call this a router from here on in), I need to tell it where to send any requests to port 80.

Not that big a problem.

Let's get back to that great big problem from the beginning of this post. We're running out of addresses. The problem was defined. A solution proposed. And it was all done well before it actually was a problem. And NOW, we're running out of addresses. We haven't run out yet, but we're fast getting there.

It's now toward the end of 2015. We've got a roadmap and we've had it for quite some time! We can fix this thing! And this is where it all gets a little bit hinky:

In order to implement the IPv6 standard, it takes a whole lot of new equipment. Not a problem IF the issue it solves is being taken seriously. Investment can be made in new equipment and the business can continue to operate. However, if the new equipment is seen as an expense, rather than an investment, where is the motivation to spend that money?

Here's where we're at. ISP's need some way to reduce the number of addresses they're using because they haven't made that investment. IPv6 isn't really gaining any real traction because the investment hasn't been made. There needs to be a solution.

And here's were things get weird. That thing? The NAT stuff? The stuff that's useful for your own network? What if that were done on a larger scale? And that's exactly what's happening. Rather than use a long term solution, it's cheaper to just break the Internet!

The big difference between what an ISP is doing what you're probably doing at home through a humble little box that sits in a corner somewhere with a few flashing lights is the scale and amount of control.

If I wanted to run a web server, it was possible. I would just say to that little box "I'm expecting something on this port. Please pass it to this machine when you get it". But I'm not dealing with a humble little box anymore. I'm not dealing with just my network. Instead, the ISP rules the roost and they're dealing with a network that consists of my neighbours (people in my city/country). So asking them to pass on a packet that I'm expecting is a no go.

That end-to-end stuff? It might affect someones bottom line!

I've, for a long time, had a problem with the idea that somehow anything I choose to send is less valuable than what I receive. The Internet was meant to be a level playing field. All traffic was meant to be treated equally. But an ISP is essentially saying to me that my content is less valuable because I'm a home user. I'm meant to consume! Not produce! Now, ANYTHING I generate is worth even less. Either I pay more, to get my own address where I used to be handed one out every time I connected, or I can't make a choice to host my own stuff.

Tuesday, November 10, 2015

Wordpress Notes

I've noticed that someone has been reading my Wordpress notes. They're kind of old and I think I can probably do better. I've been doing quite a bit of stuff in php and javascript of late and so with a better understanding, and if there's some interest in me doing so, I may do another wordpress notes post.

Sunday, November 8, 2015

Understanding What We Don't Know (A post about feminism)

Recently I ended up in a conversation on Facebook about "Feminazi's".

Actually - I should back that right up. A few years ago it was pointed out that my behaviour sucked. In the worst possible way. You see, we tend to have this whole thing of "I don't rape and I don't abuse woman therefore I must be innocent". And it all leads to #notallmen.

We've got to identify the fact that we're setting ourselves a really low bar. Not doing something is sooo much easier than actually doing something. Sure, I felt suitably uncomfortable when, at a conference, someone came up to me and started doing a whole "it's a bit of a sausagefest here" thing. Do you want do know what I did? I politely made an excuse and left the table. The other guy, who I thought was the penishead's friend, did the same a few seconds later.

So someone pointed out my behaviour to me. That my behaviour was entitled. And it took me a few uncomfortable months to think about this critically. I am an ignorant fool. I don't know anything. I always saw myself as part of the solution but I was never doing anything that helped.

If I get worked up about it, imagine living it.

I even started to judge some of those that I know and love setting a higher bar. Do they understand the issue at hand? Do they REALLY support woman? I did realise that we're insulated by those we know and love. They make excuses for us. It's in the culture but it's essentially sort of a form of Stockholm syndrome.

Same conference, a couple of years later, and there were anti-feminist sentiments. In one session, a guy had spoken up first in a session about sexism in the IT industry. Guys. Stop it. Stop right now. Whenever you've got something to say, stop and think, "Do I understand the problem?". Here's the truth. We would do well to stop and listen and try not finding reasons why we're not "that" guy.

The problem in this case? It's a culture. It's EVERYWHERE. It's the culture we live in, it's in the music and television, how interactions are done or not done, it's in the attitudes in every day interactions. It's a thousand and one cuts EVERY SINGLE DAY.

So when you then see things about guys getting upset because they're "not part of the problem" or they're "innocents" and they get it because "they support woman", and why are the feminazi's picking on them? They don't get it. They don't know what they don't know. They think they know, but they don't. It's a bit (fuck it: exactly) like hearing someone say: "Why are you so angry? Stop it. You're hurting my feelings".

Woman have a right to be angry.

Let's back pedal again. Scope. This isn't a few people feeling aggrieved. This is more than half the population. Daily. A thousand and one cuts. We're not just talking about systematic aggravations like lack of pay parity (and stop it with the bullshit self serving "career choices" argument. It's a douchebag argument and you know it). We're talking about everyday interactions and communication styles. Next time a heated debate is going on, look around you. Where are the woman? Are they waiting permission (I witnessed this at a conference. A few woman actually had their hands up) for their turn to speak? Have they walked away?

So if you're feeling attacked because someone's saying "men suck", well... there's a reason for that...

We don't know what we don't know.