PiSquared Blog
Blog about geeky stuff, computers, physics and life.
Tag university
Week девет
Tags: English, universityCreated on Sun, 01 Dec 2013
The second sprint didn't go so well as the first one. Maybe because of the many assigments that are due really soon and (naturally) everyone does everything in the last possible or beyond last possible moment. Another reason may be because we had to learn a framework for a week in between all of that. Spring is not hard, in fact, it looks extremely nice framework (maybe except the fact that it relies a lot on Java annotations which IMHO make the already hard to follow nature of the Java code even more unreadable). But otherwise the tutorials on the webpage are easy enough the follow and I also attempted doing one of the long tutorials - really nice, easy as a song (as we like to say in my home country).
Anyway, we were able to finish the prototype and we didn't spend too much time on goldplating the code and making it look pretty. It was mentioned in the specifications that this is not an HCI so we didn't want to wrap it in bootstrap or whatever css library we stumbled upon. I perso
...moreWeek 90n
Tags: English, universityCreated on Tue, 11 Mar 2014
Formal Methods in Software Engineering. From what I got from the lecture, this is a mathematical way to describe requirements and the process of developing software.
Here are some links that completely taught me about formal methods:
- http://homepage.cs.uiowa.edu/~fleck/181.html
- http://web.mit.edu/16.35/www/lecturenotes/FormalMethods.pdf
Of course, that's next to the brilliant lecture slides and note materials. [TODO: Pile of bricks]
This can be useful in safety critical systems and security systems. We were introduced to the idea of the Object Constraint Language. I was left with the impression that the proves can be so hard and tricky, generated from a computer, that it's hard to understand it as a human. However software tools are really not mature enough to work with. Therefore it's a good idea, but without much practical applications.
Other good ideas
...moreWeek 1^2 + 1^2 + 2^2 + 3^2
Tags: English, universityCreated on Sun, 16 Feb 2014
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
...moreWeek Mg
Tags: English, universityCreated on Tue, 21 Jan 2014
It took me the better part of the week to make my mind understand the difference between an object and component (of course, next to reading and writing about all my other courses) but I think I finally got it. A component is a group of objects that can live by itself and can connect via middleware to other components, providing ins and outs of the component.
It does resembe a lot an object, but an object while it's describing an entity, it usually cannot work by itself. The closest to a component in fact is actually a merge by a package and an object.
The workshop was interesting, having a glimpse of Apache Felix although I think it will take me some more time to really grasp the concept (maybe work proffesionally on it?).
I also rebooted the team project this week, after a very lazy winter vacation. We are having some minor troubles with python but otherwise the front end is almost done but the backend does need some more work especially on the algorithms and scoring part.
...moreThe Shape of the Universe
Tags: English, universityCreated on Wed, 19 Feb 2014
(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 wee
Week NGC 6402
Tags: English, universityCreated on Fri, 07 Feb 2014
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
...moreWeek X
Tags: English, universityCreated on Mon, 09 Dec 2013
This week was very intensive for me. I worked on my TP every day for 8+ hours since I wanted to complete most of the implementation before I leave for my Christmas holidays. I learnt a lot, practiced a lot and played with design, Javascript, Django, Python, Postgres and the varios additional JS libraries out there that we need in order to visualiza the tweets. It is not my first encounter with any of these technologies but I definitely broadened by experience with them, feeling more secure when applying for jobs.
Tomorrow is the team presentation. I feel we made very good progres in the last 5-6 days and now feel much more secure in what is going on with the architecture, final design and technologies that we will be using. Of course, we still haven't had any user evaluations but we are busy building the system which we will fine tune with A/B testing and direct user observation. We have tons of features waiting on the MoSCoW queue and also reflected in the github issue tracker. We
...moreSummary entry II
Tags: English, universityCreated on Thu, 27 Mar 2014
If the first semester was balanced and happy with occasional hiccups, the second semester was quite a different story. Courses like Operating Systems, Network Systems and Databases were much more demanding both in theoretical knowledge and assignments. I enjoyed them and now I can say I get these areas much deeper thanks to both the material in the lectures and the assignments which also helped me solidify my knowledge in C. It was interesting (from an academic practice point) to build a web server, chat program and disk driver even though not many of us will have to do this in the future. However, it definitely made me get a better understanding of some of the inner processes. On the other hand, optimising database queries can actually be applied to the real world and I am happy we did that.
In addition to that, the team project had reached a phase beyond just mocks and requirements capture and implementation work needed to be done.
Another semester long project was the Distribu
...moreWeek Ans^wer
Tags: English, universityCreated on Wed, 19 Feb 2014
As far as refractoring goes, here are some links that I find really useful:
- http://refactoring.com/
- http://msdn.microsoft.com/en-us/library/719exd8s.aspx
- http://www.c2.com/cgi/wiki?WhatIsRefactoring
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 us
...moreWeek floor(pi)
Tags: English, universityCreated on Sat, 19 Oct 2013
I can't be more confused about git. I'm using it for about two years, pretty regularly, I get the point, I know it's good. But somehow I always manage to screw things up.
Every time I discover something new about git, I love it and I think "NOW I got it!". And after few minutes, git slaps me like a lemon tied on a brick (H2G2 ref). I wish I could work better with it. I went through so many tutorials, I worked with it, I asked for help from more proffesional users. And I still manually copy the directory just in case. Version control is good, the idea is great, I love it to be able to undo things, to see how a project evolved with history, to branch and play on a new feature. But does it have to be so complicated? Can't it be ala Google Docs solution? Future will show.
In the meantime - I decided to write a poem about git. It's rephrased very epic poem we have in Bulgaria called "The Rebels on Shipka" and it describes one of the last battles we had with the Ottoman empire back in
...moreWeek ------rw-
Tags: English, universityCreated on Fri, 08 Nov 2013
The reason I love coding so much is that it's the immediate gratification of seeing something done so quickly after you learn it. Make the pixels move the way you want, when you want. Sometimes you are so excited of what you just learnt that you don't even read the whole documentation - just go and experiment... Sometimes? Well, usually.
And that brings us to prototyping. It involves experimenting with the technologies, trying to find the limits of the chosen framework, programming language or library and not caring how terribly things may break. It's like being an architect with infinite supply of free bricks and manpower. How good is that?
Of course, from serious SE point of view, it's lowering the risks as you go and try to experiment first before building the system. As Fred Brooks says in the Mythical Man Month, the first system never works. So here is the chance to throw away safely the first system and do the real work afterwards. Prototyping is cool, it brings you to thos
...moreWeek ^G
Tags: English, universityCreated on Fri, 15 Nov 2013
The first sprint week looks really good now that it's its last day. We did manage to comunicate everyday with the team and hold standups - either through Google+ or live. We identified problems, assigned tasks to people and implemented our original idea with slight modifications which resolved issues found in the process. The course work seems good enough to be tested with the new (in our minds) agile scrum method of doing things. In theory agile sounds good, in practice it's even better. There is no more weeks of wondering if anyone did something and the frustration when someone didn't - everyday you have the chance to see what happened and help if there are any associated problems.
We decided to implement the course work in Python with data stored in a MySQL database so that we can brush up that good language that we learnt in first year and revise our database knowledge. We'll definitely need it in the second semester. In the first year we didn't do object orientation but now tha
...moreWeek ?v=5FFRoYhTJQQ
Tags: English, universityCreated on Tue, 21 Jan 2014
I have been using Apache Ant and Ivy during my last summer internship and I must say it has a very nice easy learning curve. After about 10 minutes of simple tutorials and a bit of tweaking, you understand the basics of it and it solves hours of problems. You are ready to go in no time - automate lots of tasks when you want to recompile or deploy things quickly when the boss asks you that he wants a demo in 10 minutes. This is a website that helped me getting it.
I haven't used Jenkins though but I did have some experience with open source development. Launchpad does something similiar once you update your code and push it with bzr push
. Now I understand what it does in the background and in my eyes, this is a step further from ant and ivy - even more efforts saved on mundane tasks, leaving the programmer worry about the more human problem aspects like algorithms, data structure, abstraction
Week Fatal
Tags: English, universityCreated on Tue, 28 Jan 2014
Architectural design patterns brought back memories from last year’s software design patterns in OOSE2. Even though most of them were known to me, it was good refresher and an easy topic to read about.
I remember that last year I finally got to know the model-view-controller (MVC) after practicing it in one of the other courses assessed exercises. Seems that these patterns are almost everywhere (duh) as we are discussing some of them (client-server, peer-to-peer) also this year in DIM3 and even OS3 (pipe and filter, message oriented).
While I was studying for the finals last year, I remember I found this guy on youtube who turns out is making very, very useful videos about many topics in computing science. Here is the playlist with his design patterns (code is also provided and thoughtfully commented):
{% rawhtml %}<iframe width="560" height="315" src="https://www.youtube.com/embed/vNHpsC5ng_E?list=PLF206E906175C7E07" frameborder="0" allow="accelerometer; autoplay; encrypted-m
...moreSemester 1 Summary
Tags: English, universityCreated on Thu, 02 Jan 2014
Contribution and Achievements
This is not the first time that I worked in a team but it was the first time that the team wasn’t chosen by me but selected on random. So here is to what we’ve done during semester 1:
-
Create a team organization document. This was our first task as a team but we didn’t have much of an idea what organization should we describe - organization for the Team Project or the PSD assignments? I don’t think this was clearly understood. However we liked the agile methods so we tried to brainstorm about that.
-
Assign risks. Again, not clear in the beginning. We had no idea about the group assignments and what will this involve. And on the Team Project we were just getting started to understand the scope of the problem - too early to assign risks. So we tried to generalize them and later edit them and narrow them down as things became more clear (and after we got feedback) which was good.
-
Setup trac server and git repository. I think tha
Week Math.pow((this.Week\ 10), $(this.Week\ floor(pi)))
Tags: English, universityCreated on Sat, 23 Nov 2013
Quality assurance. Good. Now that we’ve done implementing in our first sprint, it’s good for fresh eyes to have a look at the code. We were pleased to hear the other group liked the code and the design decisions we had while implementing. We also received a great feedback as to what can be improved. For example - we will shorten the commands so that the user doesn’t need to type the whole long string but just one letter. We got several ideas in places where we got stuck. We didn’t discover any bugs that we didn’t already know about but we did mark them clearly in our trac system so that we can squash the ones we know about.
As to the lecture - standardization is a great idea. So great that not one but many organizations exist that do standardizations in different areas in our life. Sometimes however I am afraid this thing happens as noted by Mr. Randal Munroe (xkcd 927 Standards):
![xkcd competing standards](/media/20131123_week_math_pow_this_week_10_this_week_floor_pi/01_standar
...moreWeek ceil(pi)
Tags: English, universityCreated on Thu, 24 Oct 2013
Requirements are better than planning. I know that probably I should embrace both as good strategy for work, but I just can't. I am more the strategy guy than tactics guy. I like to know that in chess the goal is to checkmate the opposite king. This is the requirement. Now how I'm going to do that - using pawns, bishops and knights - I want to have the flexibility to do that. I don't want to make my first move and define my whole game. I like the dynamics, dealing with unforeseen positions.
There is this big difference I see which makes me want to have good requirements but not necessary a strict plan to execute them (see rant about planning, pre-previous blog post). But the specifications are whole different world - I would like to know what is the final deliverable, what needs to be done.
Describing this with the help of the UML is best. One language to rule them all - standartization is good practice and it's of the rare case that UML was created. Drawing the diagrams, writing
...moreFirst week of lectures
Tags: English, universityCreated on Thu, 03 Oct 2013
My impressions of the first week of 3rd year at University is that this year it will be really busy. We already have assigment sheets and we are jumping straight into the difficult work - no more lazy introductions. Which is good.
Our team project was announced - TweetDesk. It's gonna help journalists mainly to find emerging topics in twitter. Twitter is great, but I also noticed from my ussage that it's not too good to follow too many entitites, since the noise overwhelms the useful information. With our project, we are going to try to fix that.
We also met our project supervisor and the 2 PhD guys who will be helping us. As far as we understood in this early stages, we will be mainly working on the front end. This is great news for me since I am already interested in beautiful and simple design and visualisations. Moreover, I worked on similiar tasks during my summer internship and I have some experience.
As far as the codebase goes, as far as I am concerned, we should have
...moreMy University Blog
Tags: English, universityCreated on Sun, 06 Jan 2019
During year 3 at University on one of the courses we had to write a blog post every week. I have written a blog before (this one) but 3rd year at University of Glasgow is crazy busy - almost everyone has developed a depression, panic attacks, disorders and has become a goat. I have discovered my old University blog on the interwebs and copied it over to this new/old blog of mine.
Few things of note:
- They are past, yes, but I stand by them - even if I don't agree with some of the things I said anymore - this was who I was and it was part of what made me - me and other new-agey sentences here.
- Yes, including the controversial, censored, SCANDALOUS post "The shape of the Universe" in which I explain how the world sucked at year 3. And had problems with high-minded people.
- The follow up The Dynamics of Ovis Aries which was written after I got told off that I need to pull down that blog
Week 10
Tags: English, universityCreated on Fri, 11 Oct 2013
This week - charts.
Almost. But not quite. We were talking about Gantt and PERT charts. Cool stuff that bussiness people talk all the time. They just love it - give them meetings, status reports, where is it going, how much is it gonna cost, who is working on what, what needs to be done in order to AAA! Just do IT!
To be honest - I hate planning (no way, you couldn't have guessed from the rant above). Not just the process of planing, the execution of it. I just can't work with a plan - it limits me or it pushes me - never with the right speed. The right speed depends on many factors including distance and time but in this context - my current mood, level of entropy in the Universe and amount of food around me. The bad thing is that it's a must do and not want to do - and that's all the difference for me. I'm the kind of person t
...moreWeek XX
Tags: English, universityCreated on Thu, 27 Mar 2014
As I said in the previous week post, OCL is great. Here is how I imagine my first meeting in a bank (that I will definately go to work for):
{% rawhtml %}{% endrawhtml %}
Did you know that the site http://omg.org is actually relevant to the topic? I mean, OMG... Is Object Management Group! OMG! So these guys are doing a good job creating formal language for development. Here is what I definately read:
- http://www.omg.org/spec/OCL/2.4/
- http://cs.ulb.ac.be/public/_media/teaching/infoh302/oclnotes.pdf?id=teaching%3Ainfoh302&cache=cache
Actually for a whole week now, when I message my buddies, I do it like this:
```
...moreWeek Least Random Number
Tags: English, universityCreated on Wed, 26 Feb 2014
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 b
...moreWeek Adult (in most European countries)
Tags: English, universityCreated on Tue, 04 Mar 2014
We did state machine diagrams in year 2, computer systems course. We dealt with finite state machines and explored their properties in semester 1 in Algorithmics 3. (Personal background experience noted) But until now, we had no idea how do draw state machine diagrams.
So now we know! Here are some links to support my thesis:
-
http://www.dcs.gla.ac.uk/people/personal/gethin/alg3/2013/alg3_section6.pdf
-
http://www.dcs.gla.ac.uk/people/personal/gethin/alg3/2013/alg3_pushdown_automata.pdf
The second part of the lecture - Threads! We did that too in Advanced programming 3, semester 1. With the second assessed excersise being on Java threads. And refreshed it in Networking Systems, semester 2. And the assessed excercise in NS was with C Threads. And the OS assessed excersise requires knowledge of C Threads (wit
...moreWeek sqrt(25) - We had the GUTS
Tags: English, universityCreated on Sun, 03 Nov 2013
What a week! I organized my first Hackathon, a dream I had for so many years. Our Tech Society board had the right motivation and the guts to do it. This post is to thank everybody who contributed and made it a reality.
We had an amazing array of sponsors such as SIE, InformaticsVentures, MetaSwitch, Barclays and JP Morgan some of which provided our awards at the end of the competition. Challenges were provided by Skyscanner, SAS, Dynamically Loaded, Future Cities and SUMGroup. Special thanks to Dr. Matthew Chalmers - generous contributor both financially and in terms of challenges.We partnered with Dominos and Naked soup who provided the main meals for the event. Amazon and GitHub provided help with AWS instances and private repositories during the event which helped people collaborate and put the programs in production environment, using the power of the cloud. Of course, many thanks to The University of Glasgow and the School of Computing Science that helped us get the venue and
...moreWhat I am learning these days
Tags: English, universityCreated on Sun, 13 Apr 2014
Hello, Dear Mr/Mrs Whoever it may concern!
So this is the deal: I am a third year student now. Serious stuff. Here is a random list of things I am learning while studying for the exams.
- You should have so much feedback with a client, it should be handled in a TCP rather than UDP way.
- C gives you enough rope to hang yourself. And 60% of the Internet.
- Implementing a round robin scheduler with no pre-emption will solve your time problems. * The no pre-emption is actually the key here.
- How to draw stick figures and call them "UML Diagrams".
- Waterfall is so XX century. Agile is new and good. Magical! It even makes lazy people, un-lazy!
- Slow start is actually quite exponential.
- Thombstone diagrams... who... who uses that?
- CGPGrey + Numberphile guy = Great, no... GREAT podcast!
- Gant and PERT charts, kanbana... all kinds of stuff to keep the boss happy.
- Draaaaaaaaaaaaaaw.
- Write blogs!
- How imp
A conversation with a wolf
Tags: English, universityCreated on Tue, 20 May 2014
Hello Mr Storer,
Thank you for the feedback. Allow me to address your comments.
We randomly allocate students to teams because it better reflects reality (believe it or not, you don't get to work with geniuses all the time, partly because they may not want to work with you :-) ).
Then these "real" companies should have a hard time to think how they employ people and match teams. If they match teams randomly and there happens to be such big difference of capabilities as it was this year in Uni, then this company is unproductive in the long term and I definitely would not like to work for it. (Maybe I should point that the difference is more geared towards laziness, rather than actual capability - if I see a person gives his best and as much time as possible to the project, I will never judge him how much they know or can as long as they are striving to compete and do their bests). Giving the hunger for good CS guys right now, I have too many options (from one-man-jo
...moreDiscuss the argument that hackers do public service by finding and publicising computer security weaknesses
Tags: English, opinions, essays, universityCreated on Tue, 10 Feb 2015
context: We have to write an essay for a course at University. But first, we have to submit a draft, then be assigned to read drafts of other people and mark them. Which in the end doesn't matter at all.
BTW, Честит рожден ден, тати!
Number 1. Oh my Random, not another essay!
Of course they do. Is there really an argument for the other side?
Let's first define hacker – a highly controversial term for the regular dumb man/woman/unidentified (henceforth referred to as a “cuggle” – a computer muggle. Muggle, in the Harry Potter universe, is someone who lacks any magical abilities and was not born in the magical world, often denying the existence of magic itself [1]). Now, cuggles believe that a hacker is bad word. They see it as someone who does bad things with the aid of computers like stealing money, blackmailing or lunching rockets by getting hold of NASA computers. While this is not unseen in real life [2] (IRL [3]), it is rarely the case when the term is u
...moreLearning through participation as the rule rather than the exception
Tags: English, opinions, essays, university, learningCreated on Wed, 18 Feb 2015
School has never been only about learning stuff.
For few years I believed it’s the things happening in the breaks that matter. Relationships, doing stupid things and talking about crazy ideas. But that’s not completely true. I believed that because just my last memories from school are that things in the break matter. But it didn’t use to be the case. I loved learning things when I was younger.
Oh my, I would read like crazy - Encyclopedias, science books, I would draw the planets of the cosmos and remember the map of Europe. For 16 years of education, school and later University were trying really, really hard to kill this in me. My love and passions, my curiosities. I (almost completely) stopped going to school in the last couple of years. I was having my own projects and I didn’t care about the things in the breaks so nothing could keep me there. There were a few subjects like Physics that were interesting to me but by the last couple of years I started slowly falling out of
...more