Week Least Random NumberCreated on 20140226
Aspect Oriented development.
I loved it. I think it aspect oriented programming is really useful. I think it creates the abstraction needed for professional software development. I think the day that we spent using AspectJ was absolutely enough to grasp the main point. Maybe not understand it completely, but really get what's going on.
I didn't have any previous experience with that, so that didn't help me a lot. But I understand the idea. And that's important!
Here are some links which helped me while understanding deeply aspect oriented development - totally not result 1,2,3 of a search engine:
Also, I have been talking to my friends and family all week about aspect oriented development. It's been so wonderful.
I was also able to practice it! I just put it on the round-robin schedule that fixed my life and sooner or later it's time came next to NS, OS, Food, DIM, Sleep, DB, TP dissertation, enjoying the wonderful time at University, running for a marathon and the wonderful help I got from my team to further pop things from my schedule so that I have more time for Aspect Oriented Development.
And now, that the week is gone and I got to know (please, not know - understand and appreciate) how to do Aspect Oriented Development which I will need once I start working in the real work, it's time to throw it away and never look back!
How I would do things differently: I am afraid a lot of stuff from Apache weren't looked at all this year. For example the mini Apache Web Server. But who uses that... Also take a look at these and try to squeeze some more into PSD next year: wikipedia
The Shape of the UniverseCreated on 20140219
(Originally posted in useless Univerisity blog)
The shape of the universe is the local and global geometry of the universe, in terms of both curvature and topology (though, strictly speaking, it goes beyond both). (Wikipedia)
Astrophysicists have been trying for decades to identify the shape of the Universe through various observation techniques and tons of useless calculations. Most of them think now that it's flat. However yesterday, I have discovered the real shape - a revolutionary, never before thought of, groundbreaking and yet not so much surprising result that will change the way we are thinking about everyday stuff like butter.
Bear with me for the revelation of this unusual story. I will go with a step by step proof, with a methodology of the scientific method applied at every step. It is an interesting read that I believe will enlighten the 0.26 people that are reading this blog. Here we go!
- During the weekend I participated in a Future Cities hackathon. The topic was public safety.
- We were a team of 11 people. We were one of the best ones in the CS course. And Robert
- Robert is a parasite. According to dictionary.com: a parasite is an organism which lives in or on another organism (its host) and benefits by deriving nutrients at the other's expense.
- As a scientist investigating the results of the work of Robert](https://www.facebook.com/rrobi) for half a year, I proposed the most natural cure - delete. Because of democracy and tree huggers, we decided to include the parasite in our team. Which proves that democracy would not let us live for very long (1). To make it clearer for the rest of the 0.01 people who are still reading - if democracy continues to keep parasites and not destroy them, there would be no food left on the planet.
- The efficiency of the team was on average about 40%. (2)
- We conformed to the average gender distribution in the industry. We had one girl who most frequently than not was on the 60% side of stuff. Again, conforming to the idustry standart.
- Now for PSD. We did Katana board. Colourful pieces of papers no one looked at.
- Again for PSD - we wrote documentation and comments. In a HACKATHON! Yes, we are that brainwashed by now.
- Continuing the PSD strike - we drew diagrams and had a plan. And also requirements list. A github repo. Actually 2 github repos (why?). And testing.
- Maybe continuing on the bussiness and management instructions - we worked a whole day on a presentation.
- By the end of the hackathon, when we had to present, we didn't have a working demo. Something about
- The overtrained presentation was cut short in the middle of a sentence. (3)
- No demo. 1 screenshot on the intro page of the documentation. (4)
- Because of (1) (2) (3) and (4) - 10 people and Robert won £20,000 - proof
Conclusion: we did everything wrong and we won. What does that have to do with the shape of the Universe, a Plank constant amount of people would ask. We continue our observations.
- I have been writing my blog post sincerely, spending half an hour to an hour per blog post per week, awlays on time, coming up with songs and lyrics, pasting pictures, resources, expressing my feelings about the course and the material, the tutorials, the assesed excercises and the team work.
- I have B1.
- Another blog with 5 blog posts in the first semester and nothing else also has a B1.
- Another blog which most articles have been written in a night has A5.
- One of the bests in our CS course has been declined a job in a bank. The guy has been working in Amazon, participating in competitions, knows algorithms and data structures better than anyone else in the course, C, C++, Ruby, PHP and JS are just part of the languages he is profficient in. He has been declined a job, the interview for which is a complete joke. Robert got it.
Right, OK? (173 times per hour...)
The shape of the Universe is хуй.
Small font for Mr Singer and Mr Storer: I have included external references which may confirm or contradict what Mr Storer or Mr Singer say respectfully. I have included how I might tackle problems differently to avoid the problem. See self.this blog post for example. I am very critical of the material in the lectures - they are useless, completely wasting mine and 100+ people's time on Mondays and other days of the week, completely missing the point. You CANNOT separate work in a team because part of the team will never do what is supposed to do and CANNOT hope to resolve issues the night before if the team includes Robert and the University is completely unable to deal with him or provide us with a guidance. Although the mention of the Robert is linked to a particular facebook profile, I will say in this small font that this is completely not intentional and any similarity between a name and particular person is completely coincidential. Democracy say I can do that. This is clearly a methaphor of a person who does no work and which exist in about 100% of the teams in University. One of the reasons that parasites can pass freely from one year to another because the University is not able to filter people who cannot do work and allows everyone. Why is that - money. After this note, I have covered all the suggestions sent in an email and therefore demand to have the highest grade for this blog. Thank you!
Week Ans^werCreated on 20140219
As far as refractoring goes, here are some links that I find really useful:
Of course, I have used the refractoring facilities of Eclipse, I learnt that during the Google's Android camp in 2012 which was structured in a hackatonish way. I find it really useful as it saves time and helps me write better code.
As far as software comprehension goes, I have had some experience during the summer reading other's people code. I used profilers as well. It helps to understand RAM and CPU in much deeper level. I actually asked them once to go to dinner. They refused. They said things are moving too quickly. Here are some links that I find useful:
I would praise the material in the lectures. I think it was useful for people who don't know these things. However, I would critisize that we are learning that in third year - if people didn't know that already, they've been doing things very wrong with eclipse (basically using it as a text editor, not IDE). If they did know it like me, well, then it was useless.
How I would tackle it differently is explained in the second year when we are doing Java.
As my previous post here was censored(+), I provide a nice little story which summarizes my experience with PSD so far. It is relevant to this blog because it actually taught me something - your oppinion doesn't matter. You cannot change a system in which banks are involved (unless you are richer than a bank) and you cannot tag people.
(+) - Well, actually you can find it here: The shape of the Universe
The Dynamics of Ovis Aries
Let me tell you a nice little story that doesn't begin with “once upon a time...” since the spacetime curvature actually bends a bit differently these days and as a result the time is now.
Apparently, in our Universe, there is a big bad wolf who screams at the sheep when they use bad words or in any other way try to talk directly. So now, I am going to talk indirectly. I am going to call the things with their fake names.
Anyway, having a protector is good – big bad wolfs are a good thing, otherwise who would the sheep be scared of? So he can scream and take you to even bigger, badder wolves who can talk to you calmly and disciplinary action you.
But the big bad wolf is busy. He is running a whole northern part of the Universe. So instead, he makes the little good wolf to talk to one of the black sheep. This particular black sheep had made an earth shattering discovery several days earlier and natuarally, the Universe needs to protect itself from such discoveries, otherwise it will not be interesting for the generations to come.
In the mean time, some of the pure white sheep have also decided to become greyish, testing the ground, trying to support the black one. The black one is very thankful and loves the sheep that became even a tiny bit grey over the days!
The small good wolf tells the black sheep that the grass is good, there is nothing to complain about. Even though the grass is full of sh..ampoo which makes it soapy, slippery and inadequate to process, the small good wolf says that that's how the grass is in the real world. And when one day we go to the real fields, we will see grass with shampoo everywhere and everyone will require us to eat it. And if the black sheep wants to become at least a small wolf, he needs to trust the ones who are already wolves. “But” - the black sheep thought to himself - “do I want to become a wolf at all? Maybe I want to become a tiger. Or a lion.”. Well, no. This Universe teaches you how to become a wolf. Wolves work at banks and they are really rich and they eat the finest, the Head&Shoulders of soapy grass! And then they advise that the Universe should promote soapy grass. And so we are all connected in the Great Circle of Life...
So the black sheep listens and nods and decides that he doesn't want any sized wolf talking or shouting at him anymore. He has tons of grass to eat, more than he ever even hoped for. Some of the grass is actually really pointy (which simply put, just points to another grass) and hard to process.
In addition, the black sheep promises to work constructivly with sheep who just want to starve and not eat any grass. The black sheep will therefore construct a hut, because he had tried to construct everything else in the past and he ain't no architect to think of anything else.
So in conclusion, the black sheep is really sorry, he will try not to discover anything else and eat the soapy grass in a timely manner.
Week 1^2 + 1^2 + 2^2 + 3^2Created on 20140216
Behavior driven development is a new thing for me. It looks like an improved, revised and more human-oriented refinement of Test driven development. It describes the process as a human would like to see, not in terms of some artificial tests that while might be uselful, are sometimes hard to grasp. The workshop on JBehave is easy to follow and useful.
HOWEVER... I start feeling that PSD tries to introduce as many software frameworks as possible in it's given timeframe without actually giving us the time to explore it and really understand it. Starting with the Spring fiasco in the first semester, where we were already overloaded with work from other courses, this brought nothing new to my mind and as a team we strugled to understand exactly what is that and why we would need it to do our second sprint. We continue with Jenkins, OSGi (Apache Felix) and now JBehave. While it may be interesting to get a taste of the technology, I don't think it's too productive as it mostly wastes our time not doing our team project which for most teams is in it's final stages. I know that because I worked with Ant and Maven during the summer and I am convinced that the time PSD gave us for ant and ivy was not nearly enough to get what is happening. I am hearing the voices of my fellow students that say they have no idea what these are doing at all. And I feel like them for the rest of the frameworks.
Wouldn't it be better to merge PSD and the Team Project? Remove the artificial excercises that PSD gives and rather use them in practice in the real Project. Still keep the lectures and optional tutorials, but don't force us to use frameworks which we can't possibly grasp in less than a week. Rather give us the option to use whatever we want covering the principles of PSD in our team project. Wouldn't that make more sense?
Week NGC 6402Created on 20140207
The consortium was a very interesting experience. 14 people who have hardly ever talked to each other, gathered in a room to discuss something we hadn’t had time to read or understand what exactly is required from us. 13 people kept silent some minutes. I started to speak.
“So... any ideas what to do? Anyone?”
Laugh from 12 people.
“Yeah, well, we were given this piece of paper. And I guess we need to do it.”
Good - I thought to myself. No one takes this seriously.
“Okay, so I see some user stories here. And there is cost and priority. Shall we start reading them one by one?”
11 people blushed and tried to hide as if I was going to pick them. But the others showed a bit of excitement - I guess they thought of me as someone who can lead them and they wanted to just follow. Pure old education - a person (with very, VERY questionable authority) stands in front and speaks and 10 other listen to him.
So we started reading them. And we started voting in the MoSCoW system. That took about half an hour.
“And now what?” - I said. 9 of the fellows never even voiced their opinions.
Silence. Then laugh. We didn’t have the slightest idea. I saw cost. Made a stupid joke about assigning bitcoins. Laugh. Silence.
Then one of the supervisors entered the room. She asked us if we have a plan.
Hah! A plan. Yeah, we had a plan. To lose another day doing PSD. Rather than doing an interesting team project, or read the Operating systems book and playing with Linux. Rather than writing code for creating a web server, making a website, rather than optimising SQL queries and actually doing computing science, we were planning. Oh my Random, I so hate planning!
Another 8 minutes we did mostly nothing while we suggested playing poker or something to assign cost. Someone was running for paper, then we decided to use the board and voice our opinions.
I started to understand what we needed to do. Another MyCampus. AGAIN! In the first semester we did it twice, then threw it away. Now we are going to do it for 7 weeks. And throw it away.
“Shall we move number 6 to the Could section?” someone proposed.
Oh, the heat of the debate! Everyone took part, we started discussing it as if it was our life.
Just kidding. We moved it. Period.
Later in the afternoon, after I was pondering and writing code for my team project (which I’m super psyched about!) we had to return to the room and create components diagram. 5 minutes no one had any idea what is that. I stood up and started drawing. People thought I had an idea. Oh boy!
Anyway, after they got it that I’m just a drawer, not a professor, they started taking part.
It was painful, boring and useless. I thought that we have to separate the components and each team work on a component for the next few weeks, then we gather again and we combine or whatever. Nope. Turns out each team will do it’s job, this meeting was just educational. Got it. Okay. I am educated now, can I not do any more PSD?
Oh, oh! 4 minutes left! We need to draw officially, send the picture and present.
Me and my team mate who actually does work besides me met our supervisor on the way out. The 3 of us spoke briefly about our project. Turns out we are in a pretty good position of publishing a paper! Yey! Enough fun, back to reality...
All righty, presentation. The room was full (unusual). We were the 2nd to go. Each and every one of us were making jokes. No one took it seriously. It was actually good one hour, full of laugh!
What a way to lose a very precious day of 100+ bright young minds! Bravo, University of Glasgow! Bravo! I care about the accreditation from IET, BCS, GTFOFHfKLSHJ78 and all the rest. I would like to please waste another 1 year doing PSI, another countless hours writing blogs and essays.