The Relationship Between Trust and Risk

Why is trust important? A basic fundamental to all relationships is trust or the lack thereof. This might only stem from the general trust that we have in members of our society and communities, or it could be trust we have build up over time with specific people. Not only is trust dynamic between people and over time, it also depends on the situation. An example of this is that you might trust one of your friends with your emotions and deepest secrets but won’t trust them with your money.

Building Hugo Sites Automatically Using AWS CodeBuild

Before AWS CodeBuild and CodePipeline was released I ran a little T2.micro instance with a Jenkins instance on it. This became a paint to patch and update and the recent 0-day was the proverbial straw that broke the camel’s back. In this post I will detail how I moved to using the fully managed tools and not have to care about any of this. Getting ready for the build The first thing that we need is a set of instructions for building the Hugo site.

Something so simple

I am frequently astounded at how simple things seem once you realize them or how obvious they seem in hind sight. This once again happened to me as I was taking part in design discussion about how we should think about an API interface that we wanted to expose and how we will continue to evolve the API without breaking the customers of the API. There was a long debate on how to handle the change but the one thing that kept bugging me was that some of the API would change regularly but other parts would be more stable by their nature.

Welcome to the bright, shiny new blog!

I hope you like what you see. But Why Change? Along the way I forgot why I started to look into other platforms and just got caught up in the delicious world of making and creating things. But as I write this now I recall that one of the main reasons was to allow me to build and extend the experience beyond what was offered by the blogging platforms. Along the way I also realized that the speed of the page loads for static sites are awesome (it is strange how I keep forgetting that but then each time it loads so fast it hits me again.

Hi, My name is Ivan and I am a procrastinator

This might be a strange thing to confess but up until now I did not think of my self as one. Yeah sure sometimes I don’t start one things that I need to do as early as possible or I stay up late playing games or watching movies/series. But I was one of the students that always started the assignments first. I am the one that - No! Stop it. Don’t think about all the exceptions that you can find.

How do we make decisions?

By decisions I don’t mean what to have for lunch or what clothes to wear. I mean important decisions that have a measurable impact on our lives. I have found that I, and most people, make these decisions given the information we have and try to think the possibilities through and choose the best option. This sounds like it is a pretty good way to go about the problem, but I think we are forgetting a big part of the analysis is based on the information we have.

This is hard!

Wow! It is not easy to get this started. I am still very attached to the long “explain the world” style of blog post that I am naturally attracted too. I wrote a post in that style this week before realizing this is not how I should approach my goal of improving my writing! You can’t repeat what you have always done and expect to improve and learn from it. Obvious, I know but sometimes it takes a few knocks before I get stuff into my skull.

A Post a Week; My New Goal

I have neglected my blog severely the past year and a half. I can offer many excuses but that does not matter. What matters is that I should be using it as I first intended - to document my thoughts and talk about things that I am thinking about as I live and learn. Secondly to that I also want to improve my writing, which I just once again realized is so important no matter the endeavor one embarks on.

How I hacked a Site again and again

One of the first post that I made on this blog had the sensationalist title “How I Hacked a site”, in which I gave a short overview of how I found a security issue on my university’s computer science website. At the end of the post I mention that I also found a SQL injection vulnerability which I then dismiss as common and uninteresting. Oh the Irony. Before I posted the article I reported the vulnerabilities, the first report was ignored, after the second time that I reported the issues the XSS vulnerability was fixed but the SQL injection still remained.

Planning vs Reacting

Background Meta Discussion In many cases we like to set two behaviors or natures against each other and argue how you should handle or correct this or that behavior to achieve the hallowed middle ground where all will live happily ever after. The only obstacle we face are the fact that we are in fact not perfect and fail at achieving this lofty goal. I think that in fact this goal is not as lofty and perfect as we make it out to be, actual wisdom is the understanding and insight to apply a combination or sliding proportion between the two extremes to solve a situation optimally.

What I learned at University

This post is my personal reflection on what I learned and the experiences I had over the entire course of the 3 year degree. I will not restrict it to only what I learned in class or because of the lecturers, but extend it to all the growth I experienced in this period. Please also understand that all of these observations are my experiences and might differ wildly from your own, but I think that even so there should be something that you can take away from it.

Software Engineering Round 4

I am writing the last post in this series a while after we completed the round partly because I was busy and partly because I was very frustrated and angry at the process and the experience in general. This round was the implementation round so we were split into teams each given a module or responsibility in the project and a deadline. The Danger of Expectations. I am an optimistic realist which is kind of unfortunate because it means that I have high expectations but also realize that those expectations are not met very often.

Honours Honestly

Do I have to?Now we come to the main point of this series of posts - what should I do next? I decided that studying was worth more than going straight to a job, but does that hold true for honours? Ok, back to the bat cave value/cost comparison. Most of the values and costs carry over so I will only highlight the differences as detailed in my previous post.

The practical value of a BSc CS degree.

Why? I am writing this series of posts to clarify and express my thoughts on my educational experience so far and to help me decide what to do next. A secondary aim is to also help the reader to think about their situation and act with more confidence that they have considered the information and have made an informed and correct choice. Wrath of the internet disclaimer. Before I begin to consider the situation I will state in short a few premises that I will reason from.

9 Myths About University

I was homeschooled, I never attended any school. The first time I experienced education in the classical sense was when I went to university. I was a bit disillusioned after I went to university by what I found. I realise that my expectations might not have been very realistic or well thought out but I had them never the less. In this post I will discuss each of the myths that I had before and how that contrasted with what actually happened.

Software Engineering: Round 3

This round had a rough start for me. First I had some problems getting in touch with my team members and then I could also not get access to our collaboration environment. Luckily the other members of the team picked-up the slack and started on the work in a very Valve like style. With all the members doing pieces of work as they had time and opportunity. On Thursday I was able to at last get access and start to contribute so I did at least do my part even if it was not as much as I would have liked.

Software Engineering: Round 2

“No Battle plan survives first contact” - Helmuth von Moltke the Elder This round was no different because I tried to implement a better workflow this time round with assigning of task and responsibilities to the group members. We also tried to make sure that all the members knew what software to use and had all the training to use them effectively and deadlines were also set more explicitly. That was what we set in motion at the start of the round.

Software Engineering Project: Round 1

In my third year of study as a BSc. Computer Science student I take a module called Software Engineering. This module aims to teach us how to develop systems with actual clients in a more realistic environment. The first part of the module has what they call a mini project in which we develop a system for a real actual client in phases using the waterfall technique. To add extra spice to our life we also get assigned to groups that we have to work in for each phase or round of the project.

Why being objective can make you biased

Recently I watched a video on the Idea Channel where the host answered a question from a user accusing him of saying that “everything internet culture related is good”. His answer was that he approached everything from a positive perspective to allow him to see the good without being too easily distracted by the bad ( I am paraphrasing). Mentally I corrected this to the common idea, driven by the scientific method, that you should be objective.

Form URL encoded post with AngularJS

The AngularJS framework is amazing in many things but I had a hell of a time trying to get the $http.post function to encode and send my object correctly. The first thing you should do is set the content type, either globally like this $http.defaults.headers.post["Content-Type"] = "application/x-www-form-urlencoded"; or in the request like this: $http.post('/foo/bar', postData,headers:{ 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8' }).success(function(responseData) { /*do stuff with response*/ }); Then you have to encode the data from your object to a URL encoded string.

Thinking outside the box

The idea of “thinking outside the box” is so common as to become cliché but what does it mean? The basic principle that most people understand is that you should not look for the solution in you normal thinking patterns or “box of tools”. This is by definition uncharted territory and differs from domain to domain. As usual people tend to go to one extreme or the other which, in this case, is “think outside the box but press right up against it” – Leonard Hofstadter, and the other is to fling wide unfounded ideas out there to find something that could work.

Interviewing a Programmer For Team Work

One of the most underrated abilities of a  great programmer in my opinion is team work. Some companies realize this and attempt to recruit team players. The problem is how do you determine if the applicant is a team player? The most common practice is to call references and ask them how well the candidate worked as part of a team. This approach has a few drawbacks, like the candidate hand picking these references thus casting doubt on the reliability of their testament. This reference might not not have been a core part of the team therefor not really in a good position to judge.

A life of a student

WOW, I am so excited! I was just accepted into the South African team to participate in the Fencing world Championship! Travelling to Budapest, Hungary to represent my country and practice my sport at the highest level is such a privilege. Oh wait this is in the middle of the semester and I will miss at least a week of class just before the semester tests. Will this mean that I have to choose between my sport and studies?

How I hacked a site

I did no harm so don’t start booing me before you read the whole story, I just went far enough to prove that in fact there was an exploitable security issue - and I must admit also showed off to one of my friends by greeting him by name once he logged into the site. I also reported the vulnerabilities to the appropriate people. How this came about. Exam time is a weird time for students, they start experiencing the taste of the holidays while actually performing under the academic pressure of having to pass.

Hello World!

Yes as a programmer I am stereotypically obliged to have my first post greet the virtual world in this fashion (I don’t think many “Real People” will be reading this so I dedicate this post to those programmer friendly web crawlers out there ). I hope that after this I will fall into this trap too often and bore anyone that has the misfortune to stumble upon this blog. The Goal The goal of this blog is threefold: For me to gain experience in communication (OK I know that is another stereotype, this might be harder than I thought).

Posts