И к'во?
Tags: Български, политика, мненияCreated on Sun, 05 Oct 2014
Тръгнах си от Глазгоу преди 3 месеца като едно от последните неща, които направих е да гласувам за евроизбори. Сега, едно от първите неща, които правя е дежа вю – пак съм на вече познатата секция, гласувайки за български парламент.
Няма да крия, че резултатите са крайно разочароващи за мен. И не толкова за партиите, които влизат, събрали 5-6%. Това ми е ясно – здраво купуване на гласове, мотивирани хора да гласуват за патриотични и про-руски партии, носталгия към миналото, гласуване по етническо убеждение, разочарование от горните и размиване на гласовете, опит за нещо различно. Хубаво.
Това което не ми е толкова ясно – тоталния мързел и безочлив непукизъм. След година на протести, имаме 42% избирателна активност. 58% процента от хората отново, за пореден път не можаха да отделят половин час от напрегнатото си ежедневие да изразят своето мнение. Но са го изразявали и ще го изразяват всяка вечер на по чашка на въздуха и гората. Близо четири милиона оплакващи се, но не вършещи нищо. Или четири милиона щастливи, доволни от ситуацията с лимбо банка, спрени европейски средства и най-ниски доходи. Аз и приятелите ми тук, на майната си, на може би една от най-далечните точки по европейския континент, успяхме да намерим време, мотивация и желание. Защо ли? Чакайте да ви кажа защо.
Когато съм в чужбина, “на запад”, на мен всичко ми е уредено. Начинът, по който Западът работи, особено ако си емигрант е следния: лежиш си на дивана по цял ден и всичко ти е уредено. Да! Звъни ти всеки ден на вратата един сър Джон и те пита “Колко искате днес? 100 хиляди? 200 хиляди? Лири, евро или долари? Ето сър, приятен ден”. А пък като студент е още по-лесно – никой не работи почасово или на пълно работно време заедно с обучението. Не, просто сър Джон идва, дава ти парите и си изчезва. Даже не учиш – имат тая система, дето ти вкарват чип в мозъка и всичко си знаеш. Да, така е, на запад са напреднали, не е като в България! Всичко тук е прекрасно, една утопия, по цял ден само се кефиш на живота и се чудиш дали утре не можеш просто да спиш 24 часа, 'щото можеш да си го позволиш...
Но момент, защо въобще ми пука? Нали бях казал, че няма да обмислям да се връщам в България?! Защо въобще се занимавам да бия път, да чакам на опашки, да попълвам декларации, да си губя времето с бюлетинки, да се подписвам...
Защото, за добро или за лошо, това е системата, която съществува в момента. Имам правото веднъж на 2-3-4 години да изказвам мнението си точно с един замах на химикалката. С това почти се изчерпват начините ми, по които мога да контролирам какво се случва в държавата ми. И въпреки, че не е държавата, в която живея и в която смятам да живея в бъдещ момент, усещам че нещо ме кара да ми пука. Не знам дали е патриотизъм, любов към приятели и роднини или дълг, влечение към родното място, носталгия, лъч надежда или каквото и да е друго. Просто знам, че трябва да го направя и да се залъгвам, че това е достатъчно.
Знам, че не е достатъчно. Мога да направя повече. Да се върна в страната, да намеря съдружници, съмишленици, интелигентни, амбициозни хора, експерти и да стана партия №85. И? 42%. След всичкия шум, всичките протести, тези избори трябваше да имат най-високата избирателна активност. Добре, ще се боря за електронно и/или задължително гласуване. И 58% от хората ще играят тото, тъй като въобще не им пука да се поинтересуват и да отидат да гласуват, а ако им се наложи, едва ли ще помислят повече, тъй че просто ще теглят един рандом.
Народ, на когото не му пука, а само се оплаква, кажете какво мога да направя като индивид?
Пожелах днес на хората от избирателната секция “да не се налага да се виждаме пак скоро”. Уви, след резултатите, може би ще трябва пак да бия път скоро. И ще го направя отново. Колкото пъти е нужно.
Но нямам решение за непукизма на народа.
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-job to hundreds of startups, to the big IT guys, to almost every single industry in the world) to stick with a company that has no idea how to make good environment so that their people work their potential. People who slow me down and are lazy will never be tolerated around me and that's why I made (maybe not so much) noise about it. And the reverse is of course true as well - if people are more experienced than me and I am slowing them down, I will feel not capable and I would like to be reallocated until I learn or will work day and night until I catchup (done that!).
An interesting observation that PSD is geared towards assuming everyone will work for a company. From what we know, this happens to be the case, but it doesn't mean it should be.
Everyone? You are telling me in the past 5-10 years at University NO ONE was able to create his own business? No one self-employed doing mobile apps, websites, video animations, inidie games, no profit organizations etc? Because if this is the case (and I really hope it's just a generalization) there is something seriously wrong with the whole CS teaching and I will certainly not waste another year of my life and quit straight away!
Having said that, I guess the question is then what are the implications for software practice. If you run your own business, it is rather likely that sooner or later you will have to start working with people (sorry for you I'm afraid).
And where exactly the course taught me about this most valuable thing - how to work with people? There were advices on different charts, tens of frameworks but nothing on how to deal with people - why are some people lazy, what are the implications, how to deal with different characters... are there any mechanisms to complain when nothing is working, when I am doing everything and no support from my team. I raised this to everyone I knew (team manager, Mr Singer etc), but there was absolutely no result.
And I am not the only one! And I have worked with people in the past - in high school me and a friend were able to create science documentary movies and go to International expos, present them in many schools in Bulgaria, even make some profit!! (which we were actually never going after, it was a by-product) So I have worked with people and it has been very pleasant - these were one of the best years in my life so far! Creating the GUTS hackathon this year was another example and the way it turned out - it was magical and I would've never been able to pull this alone. The people were amazing, everyone was giving 140% of his/her powers, writing emails, talking with companies for sponsorship, setting up the website, dealing with problems etc. But in both cases - everyone was doing his/her job! This is what pleases me and what I believe should be like in a University that pretends to be in the top 5 in UK for Computing Science.
A very entertaining blog. A lovely blend of moral certainty, an overwhelming sense of self-superiority and confirmation bias. Good stuff!
Thank you (I guess).
For me, this course had very subjective and unclear rules, especially the blog. I cannot see a company which would make me write a blog or a diary to reflect what have I learnt. I don't see any application in the "real" world for CS people to be able to write - there are humanitarian disciplines like bussiness and management, psychology and literature for people interested in these areas. I want to be allowed to do what I do best rather than waste my time writing things that are outside of my control. I can clearly see the feedback I received for programming in C for example - things work or things don't work, the queries in the database return the right results or they don't. I can't see what this blog can help me with even with the feedback received. There are some random grades without further explanation of them. Tell me "this line is wrong" or "this is wrong reference" or "improper use of the word 'whom'". From what I can make of it, I am an average writer. Well, that's beyond my expectations as I thought I am not even in the average area - not being a native speaker and read 10 novels in my life (7 of which are Harry Potter). Let me do what I do best and mark me on that - don't force me to do things that I have no idea or desire to do, because the feedback that I would get wouldn't help me to live my life better.
Bests, Daniel Tsvetkov
What 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 important ER diagrams are. For a third year.
- How important the mouse is. For a third year.
- Apple... OH-MI-RANDOM-THANKS-APPLE!!! Thank you Johny Ive, Steve Jobs and all the best artists and designers in the world, without you HCI wouldn't exist and my world would be mostly empty!
- The header and footer of email staaaaaarts to look artificial to me. Why can't I do it like chat?
- XP is great! Almost 15 years old, looks like the best agile methodology!
- The sad realization that the University is pushing me to work for these people:
Will keep it posted if I learn something more.
Best wishes, Procrastinating Me
Summary 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 Distributed Information Management assignment which required building a website from scratch using Django web development framework. This was not interesting or valuable for me as I already knew how to do all of that and therefore tried to encourage the other people from my team to spend a bit more time on it and I would help filling in whatever parts were unclear. In the end, we had a working application but it was a result of mainly my work and one of the team members didn’t participate at all whatsoever.
Contribution and Achievements
On the PSD front, unfortunately, I can’t say what stayed in my head except constant frustration with the setting up of frameworks. As I said several times in this blog, a framework cannot be taught in a week. Getting the “taste” of it clearly didn’t work for me as I couldn’t see the practical application. If PSD was the only subject that I had to concentrate on, surely, I would be able to practice AspectJ, JBehave, Jenkins, OSGi, Apache Felix, Ant and Ivy. However, next to the other subjects, I had maximum of one day in the week to actually try to do that. It didn’t work.
The assignments (bi-weekly sprints) were implemented with the limited understanding that we got from the frameworks. As it was mentioned the more important part had to be team work. So I decided that I shouldn’t concentrate that much on the technicalities but try to separate the workload between the people. And here we get to the second part of this summary.
Problems Encountered
I suppose I had constant negative criticism of the PSD course, which I hope is obvious in my previous posts, student-staff meeting (in which I tried to summarize the general feeling, not only mine, but the whole class) and in the feedback for the third year. Basically it boils down to 1) Too many frameworks 2) Artificial assignments and 3) Too much assuming that everyone will work for a company, rather than venturing something of our own. Even with all these complaints, that would be mostly irrelevant had the teams been better balanced.
If I could genuinely separate the workload of the course to the other team members in roughly equal parts, the assignments would be much more doable and enjoyable. However what I noticed not only in my team, but in many others is the fact that one or two of the people were doing the majority of the work with the other two doing nothing to very little amount of work. My working hypothesis is that the pseudo-random algorithm of separating people in teams was “two with above average marks + two with below average marks” in order to equalize it. Let’s assume that this was indeed the case.
What this easily leads to is demoralizing the people with lower grades (as they quickly can see that they can’t keep up) while at the same time annoying the people with the higher grades and effectively making them do all the work. This leads to a positive feedback loop in which the described effects are amplified during the year. Additionally people with the higher grades have (usually) always been above the average and thus want to have the good grades at the end of this year as well. Same for the people with the lower grades - they are used to not showing the maximum and thus don’t care about it so much.
Of course the deltas are supposed to solve the problem with the grades. However this doesn’t help much with the total less acquisition of knowledge and practice in the average case as the feeling of doing all the work feels unfair through the year.
If this way of combining people in the team is in fact true, then this needs to be rethought for next years. I would vote for stricter exams at the end of 2nd year and combining people based on roughly equal ability rather than trying to compensate for the slow learners. Slow learners will always be that way, smart learners can’t teach them what they couldn’t acquire in 20 years of their lives!
Lastly, I would like to seriously criticize the argument that “This is how teams work in the real world”. First, people who don’t do work will be fired. I have seen and heard about people who have done absolutely 0 work (no group meetings participations, 0 lines of code for any of the team projects, constant deferring and not taking responsibility for work etc.). These people would be fired in the “real world”. Second, in many tech companies you can get some choice of the people in the team (this is not 1980s!) and if something doesn’t work, there are mechanisms to raise this issue. In the University, there is no such mechanism.
Learning
The things that I actually found useful in this second part of the course is the components idea and continuous integration idea. The components does provide a good separation if implemented correctly and people can (in theory) work on different parts of the system and then combine it to result in a big, cohesive system. The continuous integration is another thing that I enjoyed - fully automate everything. One of the teammates actually is part-time working and helped me understand and showed me some useful tricks. Unfortunately I didn’t have time to practice these correctly, but rather hack working solutions for the assignments.
Lastly, talking about hacking, I also got to know that nothing of this matters as long as you can talk convincingly and give your ideas to the right people. This can win you a £20,000 hackathon while doing all the other things wrong. It's a great story and if you would like to read more about it, I would recommend reading my real blog.
And finally, out of all models that we learnt this year, I found this one the most useful:
http://programming-!@#$%^&*.com/
Week 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):
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:
context Message:
inv type=Individual
let message="Hello John"
pre: open(facebook)
post: press(Enter)
See, I am into it! Discussing, linking, appraising and critisising. I love my blog!!!