Pages

  • Twitter
  • Facebook
  • Google+

Thursday, April 24, 2014


It's been a while. I've been busy/lazy with classes and whatnot. Nothing of serious interest has occurred, and I lost the habit of writing for my blog. As it's been so long, I won't be going over the past weeks in detail, just skimming over anything of import.

First off, I dropped one of my classes: Coding Theory. I didn't have the background required, and after discussing it with several people (including my professor) I decided that it was best that I stopped participating in the course. It was a serious relief to not have to worry about that class anymore, but dropping it requires me to take a course at CofC over the summer so that I can keep all my scholarships. It's an unfortunate extra expense, but my scholarships are obviously important, so I've already signed up for geology 105. On the bright side, I'll get to spend the rest of my summer in Charleston, closer to all of my friends!

Next item of interest was dinner at an Italian restaurant here in Tartu. I went with Sarah and Ariail, and if I recall correctly it was called "La Dolche Vita". The food was absolutely excellent; Ariail and I ended up getting pizzas, while Sarah got a seafood/pasta dish. The portions were huge, and I took home half my pizza for later. (As I don't have a microwave I ended up eating cold pizza. I was truly living the college dream.)

Back on academics, I completed my Cloud Computing course and took the final exam. I received my grade yesterday and was pleased to discover that I managed a B in the course! It's what I was aiming for, but I was nonetheless surprised as I usually have trouble with exams when I'm not used to a particular format/don't know what to expect. Anyway, that was great news and I hope that I can do just as well, if not better, in my other classes.

Since cloud computing is done, I only have 3 classes right now. My schedule is very spaced out and I'm not particularly fond of it. I honestly feel like I have too much free time. On the other hand, I'm starting to get excited now that I'm approaching the end of my semester. I only need complete a paper for Religion and Politics, polish a paper for Secure Software Design and take my final exams for both Crypto and SSD. I've also decided that I'm going to fly home on June 6th. When I arranged my flight here initially, I thought it would be wise to purchase a round-trip ticket without really knowing when I would be able to come home. Therefore my flight is currently arranged for June 29th, but that is seriously late and I would have weeks and weeks with nothing to do. Everyone is pretty much gone or travelling Europe at that point, and I don't have the funds to do any big travelling, nor do I wish to travel alone. So I'm just coming home right after exams! I really do miss Charleston and everyone back home, so it works out for the best.

I've also been to the movies here. A few weeks ago I saw Captain America: The Winter Soldier with Sarah. We went to the movie theater in the Tasku mall. I had to get some popcorn, as it's an obvious requirement for any movie-goer. I noted that there was significantly less butter on the popcorn here than back in America. It was also my first movie in 3d since I was little (still not a fan, it adds nothing and only tends to give me a headache). The theater itself was rather large, with nice comfy seats. The movie was in English, but had both Estonian and Russian subtitles. The film itself was fantastic, I really enjoyed it once I got over the annoyance of the 3d glasses.




Last point of interest: the weather! It's been getting steadily warmer here, and the past couple of days have been absolutely perfect. 70°F and sunny, not too windy and not too humid. Let me tell you, I thought that the snow was magical, but it's nothing short of enchanting the way this town comes alive in the warm weather. People were absolutely everywhere, lounging in the parks, on the riverbank or just walking about. In addition, the town square was positively bustling with life. All of the restaurants that line the central area were setting up platforms for outdoor seating, I'd never seen anything like it. The entire atmosphere of the town just seemed uplifted and cheerful, and I firmly believe that if you really want to experience Tartu, you need to see the transformation from Winter to Spring. It's honestly hard to capture it in words, I was seriously surprised (in a good way) when I walked through the town on my way to class. Also I was almost giddy with happiness to be able to wear a t-shirt without a jacket. It may seem like something small but after living in the cold for all those months it was an incredible feeling. I actually wish that I'd brought shorts and sandals with me, something I never thought I'd be saying. As it stands, I might have to buy some sandals at the very least, because it's gotten seriously warm. (Well, it's back down in the 50s for now, but it will get warmer again.)

No promises on the frequency of future blog updates, but I'll attempt to keep at least a general commentary going. I'm a bit burnt out on the daily play-by-play, as I'm sure is obvious by the lack of updates for the last month.

Sunday, March 23, 2014


Weekend


Quite uneventful. Spent most of the time working on homework for Coding Theory, Cryptology and Secure Software Design. Didn't make much progress regarding CT, remains frustrating and I'll be seeking assistance once more. Crypto was surprisingly approachable, and it was a huge relief to understand the homework and have a plan of attack. I'm also planning to meet up with a few classmates next weekend to continue work on the HW.

I intended to work on my SSD essay, and did make some progress. However, to my delight, the next lecture was on Role Based Access Control. It just so happens that my topic is Administrating Role Based Access Control. So it'll be nice to get a bit of an overview on the subject before I continue on my essay. For now I just need to have an overview and select some literature to use.

Monday


Got up late. It was pretty cold today, compared to what I'd been getting used to. It's interesting how my reactions to the weather change. If I was in Charleston and it was 20-30 degrees then I'd be whining something fierce about the cold. Here in Tartu, that weather has become commonplace. Needless to say, I don't think I'll have too many issues with the winter in Charleston anymore. (Yay perspective!)

Didn't do much of anything until I went to crypto. Today's lecture was regarding the security of block ciphers, electronic codebook mode, cipher block chaining (CBC) and the security of CBC. Interesting stuff as always, and I am pleased to understand everything. Though (as I've mentioned before) cryptology or cybersecurity is not a field that I wish to pursue, I'm still learning a lot.

Tuesday


It remained somewhat cold today, though marginally warmer than yesterday. It snowed again last night, so at this point there was a couple of inches on the ground. And, a bit of icy sidewalk here and there. (Very treacherous!)

My coding theory class today was...coding theory (frustrating, as I could follow along but not seem to come up with answers on my own.) The lecture was a continuation of primitive elements in finite fields, this time focusing more on lemmas, theorems and proofs. 

The topic of discussion in Religion & Politics was religion and violence. The professor started off with showing us a video of Ashura in Lebanon. Then we began our discussion of the relationship between religion and violence, conflict, war and terrorism. One of the first things he asked us was to think of historic examples that we believed the escalation of conflict, the use of violence, terrorism or war had been justified. 

It was difficult for me to come up with examples, as (to me) it's all based on perspective. Something is always justified for someone while appearing un-justified by another party. Nobody in the class could think of a justified example of terrorism. But some justified examples for war were WWII, when the US joined the conflict. The girl sitting next to me that I was discussing with also gave quite the relevant example for a justified conflict escalation: the situation between Ukraine and Russia. She believed that Ukraine would be justified in taking further action, as they wish to keep their independence. 

The teacher always presents us with challenging questions, and constantly brings up points that I'd never considered before. His next query was: could we name a war that did no tinvolve any type of religions involvement? Nobody could. Though religion might not be a focus or reason in a war, there was usually some elements present. 

Lastly he went over some literature on the topic of religious nationalism, religious terrorism, suicide terrorism, religion-related ethnic conflicts, and other similar subjects. One last thing worth note was a quote he gave us regarding the religious legitimization of violence. 
Mark Juergensmeyer: "religion is not needed for us to know when killing is wrong. It is needed for us to know when killing is allowed..."

Cloud computing today had a guest lecture of sorts. The person lecturing was one of the lab instructors. The topic was Google AppEngine, and Platforms as a Service (PaaS). He told us how it eliminates the expense and complexity of selecting, purchasing, configuring and managing the hardware and software. Users are provided with tools to simplify creating and deploying applications. It's integrated with web services and databases. Users only pay for the service that they use.

He then went over types of PaaS such as stand alone application platforms (provides dev tools for designing and deploying software), social application development platforms (Facebook and Google+), open-computing platforms(not tied to a single IaaS provider, supports numerous applications). Google cloud is both IaaS and PaaS, utilizing Google's global network.


He then did a small demonstration with Google app engine. He used python and a provided demo application. Did a few examples of altering the program and compiled it for us, showing it how it could work locally vs on the servers. Google AppEngine provides access to different libraries for Google services. The app is also not just emulated in the browser, but there is an actual (temporary) application on Google's servers. The app engine was created before Google Cloud became available for public use. He ended with telling us that persistent storage and asynchronous task requests are just a few characteristics of the Google AppEngine.

Wednesday


Was pretty productive today, in a non-academic sense. (Didn't do any hw, just busywork). Got my laundry done and sent out some emails to people. Mostly setting up everything so that I'm in the clear to sign up for my courses next semester. Needed permission to join a higher level geology class, and needed an override form so that I could take 20 hours (as opposed to the usual 18). 

It also snowed again in the morning. By the afternoon it was frightfully cold, but it had stopped snowing. Somebody actually built a snowman just outside of Raatuse. Luckily I got a picture before it started melting, but by that time he was already drooping a bit. And, as all good things must come to an end, by the time I was finished with my laundry he had fallen over and started to melt.

Thursday


Secure Software Design was very interesting today. The topic of the lecture was Role Based Access Control (RBAC). The professor began with an overview on RBAC principles: the relationship between the user, session, role, subject and object. He then moved on to two modelling languages used for RBAC: SecureUML and UMLsec. Before he jumped into an explanation he inquired if anyone had taken/learned object oriented programming prior to this course. I was somewhat surprised that out of a class of 60, only 8 said they had knowledge of it. We've covered a lot of modelling languages so far, and I've moved away from disliking them to grudgingly admitting their usefulness. I've caught myself thinking about things in half-constructed UML diagrams at times. 

After he finished discussing the modelling languages he talked about different security design perspectives and finally ended with model-driven security. 

Once I finished class I headed back to the dorm for about an hour before meeting up with Ariail at Metro. Once we ate lunch we headed over to the population office to finish the last of our Estonian registration tasks. The building was right off the town square and the process was very simple. So now that I've done that I'm all set for the remainder of my stay here! (It's somewhat of a relief to be finished with all that kind of busywork.)

After another hour back at the dorm I headed off to Crypto. The professor announced that we were having a "Cryptography Competition" in class, which I had mixed feelings about. Thankfully we worked in groups, and it ended up being very fun. (I also learned some stuff, which I suppose is important.) 

Friday


The weather was strange as it was ridiculously windy on the way to class, but already around 40 degrees. By the afternoon the temperature had reached the mid-50s but all the snow had melted, so there was water everywhere. It was also a bit overcast (and did rain later in the day). I would've been ecstatic if it had been sunny AND 50, but I'll take what I can get. 

Cloud computing lab ended up being extremely enjoyable and very educational. I'm really brushing up on my python, which I'm pleased about. Got a few server errors, which stumped me until I realized it was just the python formatting being picky. We were tasked with creating an application with Google AppEngine that would allow the user to submit files and provide links to them. I'll link the full lab below, so that those who are so inclined can read all the details.


I didn't create the prettiest of apps, but I ran out of time before I could format it nicely. I might actually go back and play with it some more for fun. But all that mattered to me at the time was: it works!

Coding theory was coding theory, 'nuff said. 

After class met with Sarah at Werner for obligatory weekly cake & coffee. After we ate and talked for a while I escorted her to the migration office to pick up her residence permit. (She didn't want to take the bus alone, as she hadn't taken them before. Understandable so I was happy to help.) On our way to the bus stop for our return trip a dog started barking at us through the fence. Absolutely scared us to death, the dog sounded very upset that he couldn't get to us. 

It unfortunately started raining as soon as we got off the bus and headed to the dorm, so that was fun. Generally a successful excursion though: didn't get lost and there was no loss of limb or grievous injuries. 

Saturday


Slept in a bit, as usual. Otherwise I spent most of the day working on homework. Finished my secure software design homework (small assignment, not the essay). After that I focused on Crypto, made a bit of progress but I'll still need to put some more time in. 

Sunday, March 16, 2014


Tuesday


Weather was pretty good today, not as good as yesterday but it remained in the high 40s. The Estonian weather gods have been truly benevolent as of late. My only complaint is the cold winds, but other than that it's been sunny and almost warm.

Coding Theory remains a challenge, I feel that I understand the material in class but when it comes to the homework...bleh. In class today we covered parity-check matrices and the notion of dual codes (when the parity check matrix of one code is the generator matrix of another).

Next course of the longest day was Religion and Politics. We had a guest lecture, a woman (whose name I did not catch) discussed how religion in a liberal democratic society usually faces 2 contradictions. One being the contradiction between freedom of religion and the general absence of religion in a public place. And two being freedom of speech and offending religions feelings. She brought up several interesting points and examples and noted that contemporary society did not know how to escape this "trap".

Once she finished lecturing she presented us with an exercise. She split the class into two groups, one of us was to argue in support of banning of wearing a niqab or any other face-covering veil. The other group would argue against that (i.e. permitting the wearing of those). I was (to my displeasure) in the group that was arguing for the banning. It's difficult to argue for something you don't necessarily support/agree with but my group managed to come up with some arguments.

Now I was of the impression that this would be a pretty relaxed thing, sharing a few ideas and whatnot. But we had to present our ideas to the class. Nobody in my group wanted to speak, so we drew names. Put all our names on a piece of paper and threw them into a hat. They asked who we'd get to pull one out, someone suggested the teacher. I rolled my eyes and reached in to grab a name, and of course. of course, I picked my own name. At this point I was just amused, because regardless of my public speaking aversion I knew that I should take the opportunity to improve myself.

This was before the other group spoke first. Their speaker was another American and he knew his stuff. (I learned later that he was big into debate and the like.) If I didn't know any better I would've sworn he had laid out an entire argument before hand. He spoke clearly and concisely presenting arguments and preempting any counter-arguments that our group would've had. It was ridiculous, and kudos to him for speaking so well and having good arguments but wow. I felt completely shut down before I even got the chance to talk, which just made me nervous...which made me speak horribly. My group only shot me mildly sympathetic looks (but it was obvious none of them wanted to be in my place.)

Moral of the story: I don't like impromptu public speaking.

It's exciting when bits and pieces of other classes come together. I always love hearing mention of something that I've learned previously, or am currently learning. At the current moment, there's not a nice mesh of everything, but I can slowly see the pieces coming together. A mention of eigenvectors in cloud computing, familiar material about matrices in coding theory. A lot of linear algebra is involved in my courses, and I'm constantly grateful that I took the class last semester.

In cloud computing I was so hungry that it was distracting. But the topics covered were interesting, so that helped me focus. While last time we learned about what MapReduce was, this time we focused on some algorithms and specific examples of how it could be used. More talk about Hadoop, some of its usage patterns as well.

One of the most interesting points I thought the professor made was: Any big problem, when thinking in terms of MapReduce, can be solved using just a few lines of code. Especially with the introduction of combiners, it makes large problems easier to solve.

Wednesday


Today I met with my coding theory professor. Let me tell you, constantly struggling in a course completely removes my usual enjoyment that comes from learning. So, I still seek to remedy the situation. My professor was very helpful, explaining most of the problems in the first homework that I struggled with, and giving me some hints for homework 2. There were a couple of "oooooh" moments, where I finally understood something. But much of it still remains a mystery to me. Time will tell if I'll figure it all out.

Tragedy struck today. My hairdryer suddenly stopped functioning. I'm...not sure how I'll survive. I don't know that I'm prepared to replace it, and I might just suffer through without it. But, please, a moment of silence for my lost companion.

Thursday


In Secure Software Design we had a guest speaker. His name was Sven Heiberg, and he works for the company Cybernetica. The topic was internet voting in Estonia. First he discussed elections, how they were held historically, why it's important for Democracy to have elections, and how they are a legal means to gain certain kinds of power. Then an overview of electoral systems, he said that it is basically a tabulation algorithm. There are roughly 900,000 eligible voters in Estonia with 101 seats, with this, he said that there is a conflict pre-programmed in every election, because you must find a way to make everybody happy. Next the election process, which he divided into 4 stages: preparation, voting, tabulation (where the votes gathered are brought together and the distribution of the seats is calculated) and finalization. He also mentioned 4 major roles: voters, candidates, election officials and observers. He said there are 13 voting methods in Estonia, but 4 major ones. advanced (15% of these cast through internet), internet (25% of all votes), paper and postal. Around this point it appeared that he lost the attention of most of the class. In my opinion, he was going too in-depth into voting methods, focusing on the why when I felt it would be more prudent to focus on the how.

And finally, one hour later, we arrived at "i-voting" or internet voting. It was interesting that he noted he did not believe in holding elections strictly through internet voting.  He said that the protocol resembled the postal voting protocol. First the voter authenticates to the server with an ID-card (remember when I mentioned those microchips in the Estonian ID cards? That's one thing these are used for), then the voter encrypts their choice with the server's public key, next the voter digitally signs the encrypted ballot with ID-card and next the digitally signed encrypted ballot is sent to the voting server. Tabulation occurs in 2 separated phases. Anonymization where the digital signatures are removed and tabulation where decryption is applied.

He then discussed the possible attack vectors regarding i-voting. An example was having a home computer with weak security, (he said multiple times that most people hope their computer is secure, I sure wish that they would know their computer is secure.) He introduced 3 main attack classes: manipulation attacks (classical attacks against freedom etc), revocation attacks (hoping to cancel all the i-votes, hoping to change the outcome of the tally) and attacks towards voter confidence (attempting to discredit i-voting in the attempt to discourage people from using it).

Honestly I think the lecture could've been constructed better, too long was spent on details regarding elections. What I felt should've been the main focus, (how i-voting works, security issues, steps taken to solve the problem of verifiability and integrity) wasn't discussed till the end when attention was low and the class was almost over. He even ended up going over time. It was moderately interesting at best. I had higher hopes, as I was interested to learn about the methods (which I did, but only in a general sense).

It didn't help that for almost every question the lecturer posed there was a snarky answer from someone in the class. And of course there was that one guy who kept posing elaborate hypothetical situations and convoluted questions that really didn't contribute anything. Annnnnd of course he didn't really take into account the social cues that indicated he should stop talking. After a few interjections, every time he spoke up there was a sort of rustle of disapproval in the class. Don't get me wrong, by no means do I discourage questions and participation in lectures, BUT there is a point where it becomes an interruption instead of a contribution. Frankly, if you have that much to say then speak with the lecturer after class.

After a nice break I headed to crypto lab. We focused on attacking low-round Feistel networks. Typically a cipher utilizing a feistel network will utilize a function to encrypt something several times. If that function is only used once or twice, it's effectiveness is severely reduced. He provided us with a 1 round feistel network to begin with, and gave us some time to figure out what we knew, and how we could exploit its vulnerabilities. After we all discussed it and he provided his input we moved onto a 2 roud feistel, and did the same sort of exercise. It was a very enjoyable class, as it helped me think in a different way, but I wasn't so lost that I couldn't follow everyone's ideas.

On a semi-related note I've come to realize that while cybersecurity interests me, it's not to the point where I would pursue it as a career. I think that I'll keep it in mind, as security is an important point in CS. But I believe that my future pursuits will lie elsewhere.

Friday


Another absolutely glorious day, I even wore a t-shirt! Again, a bit windy for my tastes but it was lovely and warm in the sun and a lot of people were out and about.

Cloud computing lab was interesting, but difficult. For the first time I didn't actually finish the lab, and I'm unsure if I'll be able to. Even the instructor was struggling a bit. He generally works on it along with us, so that if we're stuck we can get hints. It was funny, because he spent quite a while complaining that it would be so much easier in python instead of java. I'm going to attempt to work on it a bit over the weekend, but as I'm running Windows on my computer I'll be unable to test it, so my submission will probably remain unchanged.

After cloud computing it was off to coding theory. We talked more about polynomials and vector representations. We learned that there is a primitive element whose powers will give all polynomials of the field and that there is a sub field that will contain all elements of the field over which the polynomial is constructed (In most of our examples this was F2, which is the binary field containing {1,0}). We also discussed extension fields and finding out if a polynomial had roots in the field. I actually enjoyed this lesson, as comprehension came easy and I felt confident that I could answer questions on this on my own (which I did when he asked a few in class).

Unfortunately nothing like this is on the homework, which is one of my biggest complaints. I feel that there is a disconnect between in-class material and homework questions. It could just be the way the questions are posed, but I'm not sure.

In general I feel that I'm not gaining a lot academically from study abroad so far. It's true that these classes are uniquely offered and the opportunity to take them would not exist at CofC. I am enjoying most of my courses, but I feel the real value in this experience is simply being abroad. I've gained more from traveling and meeting people than I ever could in a classroom. In addition, being completely self-reliant and having to take responsibility for everything is (and remains) a great experience for me. Even before I left for Estonia, organizing the whole study abroad trip was a big to-do. Though I was assured I'd have people helping me every step of the way, I had to do most of the work myself. Running around, getting papers signed, getting permission for things. While it sounds like an excess of busywork and leg work (which, admittedly it was) it still gave me a sense of accomplishment, and provided me with a bit of experience that I'd only had small amounts of before.

While it's still a bit early to be making generalizations on my experience here, I think that I can say with confidence that if I had to do it over I'd change a few things. The main one being classes. I wouldn't have taken such challenging courses. While certainly one or two hard classes wouldn't be out of the question, the course load I'm taking now isn't the most pleasing. I would also take a few more social sciences. Though the math/CS courses here are unique, the information in them is pretty universal. With a social science course (religion and politics being the main example) I've been gaining some interesting insights into the mindset of another country. Now that's really something you cannot get anywhere else.

In general, I'd just like to have less time worried about my classes and more time to travel and enjoy my stay here. That's not to say I'm unable to do it, but a few of my classes (looking at you Coding Theory) create stress and inhibit my enjoyment because I'm so worried about them. Of course part of that is just my personality, but it's pretty darn annoying nonetheless.

On a happier note, I had cake again today! After classes were through I was hungry and my will was weak, so I caved and stopped at Werner again. Once there I ran into Sarah, who I sat with while I ate. My order was tiramisu and a caffee latte (again). It was, of course, delicious and it was nice to have somebody to sit with.

After that I relaxed for several hours until meeting up with Sarah and Ariail for a quick trip to the grocery store. Ariail offered to cook dinner for us (Sarah and I have taken to calling her mom since she always feeds us). And she definitely delivered: French toast with homemade caramel sauce. It was absolutely delicious and I definitely had way more sugar than I should've that day. (Can't really bring myself to care though). After we ate we all played Uno for a while. I was really bad at it, but we all had fun.

I intend to work on my homework this weekend, but I think we all know that intentions and actualities can differ quite a bit.

Tuesday, March 11, 2014


Friday


My Fridays always seem to be good days. I can only hope the trend continues. My first class, Cloud Computing Lab was a lot of fun. It was an introduction to working with MapReduce functions. We used Hadoop and worked with the provided Word Count example. (Given an input, in this case a folder with several books in plaintext, it would output the frequency of each word to a given output.) It was written in java and we were tasked to make a few alterations to it: making it ignore punctuation, make it sort words only based on file name and not in bulk and an option exercise to create a partitioner class and use it to direct all the books with a file name starting with the same letter to the same reduce task. It was nice to do something with code again, as it'd been a while for me. I anticipated I'd have a slow start with the exercise since it had been quite a long time since I actively worked on java, but it was surprisingly easy to understand and write the code. It's nice to know that I remember more than I think.


Unfortunately I didn't have time to stop at the cafe between classes, as I spent the whole allocated time working on the lab. I didn't mind the lab itself, but I was quite hungry during my next class. (And wishing I had some coffee.)

In Coding Theory we talked more about irreducible polynomials, the unique factorization theorem and extension fields. I feel like I understand the material in class, but obviously I'm missing something if I have so much trouble with the homework. Luckily my professor seems to understand that, and has agreed to meet with me and discuss my difficulties with the homework. It's a relief that he's willing to work with me. (Although at this point I don't know if I can manage an A, I really just want to pass the course.)

Once class was over I headed over to the Metro cafe to meet up with Ariail and get some lunch. It was nice to just chat while eating, as I hadn't had lunch with anyone in a while. After we finished eating we went to the bus stop so that we could get to the migration office and pick up our residence cards. These were ready a lot quicker than I anticipated (Only took a little over a week for me to receive notification.) There was a short wait when we got there, but not as bad as I thought given the volume of people there. It was quite easy to get them, just a quick sign of a paper and voila. I still need to register my living situation with the population office and provide my Estonian ID code to the school, but I'm a legal resident now! (Well, for the duration of my stay.)

Once we got our cards we hopped back on the bus. We decided to stop at the mall for a little bit, as Ariail wanted to get a new coffee maker and I wanted to look at shoes. (No particular reason, but I'm entitled to my girly moments.) Neither of us found what we wanted but I always enjoy looking. After perusing the selections we headed downstairs to the supermarket. This was the first time that I'd seen this particular grocery store and I was surprised at how well stocked it was. And, as always, the abundance of alcohol to choose from was almost startling.

Once we'd finished walking about we headed back to the dorm. I was quite relieved that it was the weekend, as I always am. I also had very little homework to do, so was looking forward to some nice relaxing.

Saturday


Didn't really do much today. My roommate and I decided to rearrange the room, as we were getting bored with the layout. I like it a lot better now, it's more open while being more cozy and separate (just pretend that isn't a huge contradiction). I imagine that it would have been quite amusing for somebody to watch our attempts to move the wardrobes around (as we were both too lazy to empty them, and they're quite large/heavy). We dissolved into giggles a few times during the process, but eventually got them where we wanted them.

The rest of the day was devoted to doing...nothing! Until around 11 at night, where I made a late night grocery store run for some ice cream. And then promptly ate the entire pint. Not my proudest moment.

Sunday


Nothing happened. The end.

Monday


I had another great day, I was just happy in general. It probably helped that it was an incredible 54 degrees today. It was sunny in the early afternoon, but by the time I got outside for my 4pm class it was a bit overcast. Though that didn't stop people from sitting outside some of the restaurants. It's interesting how fast I've acclimated to the weather and how much I appreciate a day like this. In Charleston I would've considered 54 and slightly overcast to be cold and gross, but here in Estonia it's amazing weather! It's nice to gain little bits of perspective on things like this.

Really enjoyed my Crypto course today. We talked about block ciphers, their benefits, and some specific examples. The teacher mentioned AES (Advanced Encryption Standard) and DES (Data Encryption Standard). While AES is more modern, it's also more complicated. So he focused on telling us about DES, as it was moderately easier to explain. It's a block cipher from 1976 that was used for 25 years without being broken. He told us about the basic structure, how it was based on the feistel network and permutations.

We also received our graded homeworks. I did better than I expected: 10/20. Not the best grade I know, but at this point I only wish to understand the material and do well enough (50% of total HW points) so that I can take the exam. Looking at the answers and comments provided on my homework I can see where my mistakes were, which is the important thing.

Stopped by the grocery store to buy milk and bread, using my debit card for the first time. I was a tiny bit nervous because they use micro-chips instead of a magnetic strip. So you don't swipe the card, you stick it in the machine until the transaction is completed. I felt like I was gonna mess up, but it was very simple. I feel like it was better than swiping honestly, and I'm curious as to why the US doesn't use micro-chips.

Once I got back to the dorm I got started on my reading for Religion and Politics. I may have gotten distracted a few times along the way, but I got it done before the night was over, which is the important part.

Not looking forward to tomorrow, it's always intimidating to think about and I generally get tired/bored before I'm through with classes. I wish that wasn't the case, but there's really no avoiding it. Ah well, gotta do what I gotta do!

Thursday, March 6, 2014


I see these signs everywhere and the stick figures always make me giggle. Seems to be a common symbol, as they were even at the airport in Oslo. They're almost comical and I always feel like I'm in a video game or a movie.

Tuesday


Had a terrible time trying to get to sleep, as I've developed a cold, or something of the sort, and I'm unable to breathe through my nose. Surprisingly I wasn't as tired as I thought I'd be in the morning, but I was certainly not looking forward to attending 6 hours of classes. I never was a fan of attending class while sick, but had to regardless.

First class was coding theory, where we discussed linear code over finite fields, parity codes, repetition codes, defined a few elements, and the rest of the class was focused mostly around generator matrices and their uses.

After that was Religion and Politics. It's refreshing to have a class structured mostly on reading and discussion. It doesn't require me to focus on note taking, and the topics are easy to comprehend. Today we discussed political power and how religion can provide it legitimacy. However, the most interesting part of the class for me was the time spent talking about religion as a justification for anything. The teacher provided us a handout, on it was a list of "contrasting alternatives" (i.e. monarchy vs democracy, slavery vs racial equality, conservative tradition vs liberal modernization, etc). We were tasked to discuss any social or political phenomenon where religion has legitimized only one of the alternatives, and if we were unable to do that find one that religion has predominantly legitimized. It made for an interesting discussion, and people generally seemed to consider that religion favored conservative tradition, patriarchalism and hetero-normality.

The class was enjoyable, but I was somewhat disappointed that we didn't bring any of the current events with Russia into the discussion.

Last class of the day (finally) was Cloud Computing. I find the subject matter interesting, but unfortunately the lectures are a bit dry. The way the teacher speaks quickly and seems to delve into unnecessary details bores me a bit. I find it hard to focus the entire time, and to add onto that, he often runs over time.

Wednesday


Slept late, at this point nothing else should be expected. I was pleased to get everything I set out to do accomplished today. Completed my laundry and went shopping for food. I'm on a pretty good schedule with those two things now, and I couldn't be happier with the convenient location of a grocery store right next to the dorm.

The brief amount of time I spent outside was absolutely wonderful. It was almost 45 degrees out AND sunny. I spent a few minutes just soaking up the rays of sun, as it was comfortably warm. (Imagine that, Estonia being warm!)

I spent a small amount of time attempting to do my Coding Theory homework, but didn't make much progress. That'll probably be the focus of my free time on Thursday. Otherwise my day was fairly unremarkable.

P.S. My roommate was insistent that she would end up dragging me to the club before our stay was over. Not sure it'll be happening, but I'm looking forward to her attempts.

Thursday


My days are settling into routine, which makes my life a bit boring at times, but gives me a nice sense of normality. While experiencing a new place and new things is exciting (and scary) at first, I find myself grateful that I've found a comfortable pace for everything. Also my cold has gotten better, so that's always nice. I've regained a small bit of my ability to breathe through my nose, which is an absolute godsend.

First class was Secure Software Design, and it was enjoyable as always. I really like the professor's lecture style. He has a good balance of visual aids, speaking and class activities. It also helps that the topic is engaging and in-depth enough that I receive a good understanding. (But not so in-depth that I become lost and bored.) We participated in a fun 'activity' where we were given remotes to vote with. We were tasked with identifying what was wrong given a list of requirements. He told us that security requirements should define what the system needs to do, but not how to do it. It was fun for the entire class to participate, and after each question he would pull up a nice little chart of the voting results. (I got all of them right, so I was very pleased.)

During one of the voting periods the teacher left the room and came back within a minute. The notable thing about this, as while he was walking back to the front of the room I realized he was wearing socks and sandals. Now this is bad enough by itself, but he was wearing socks and sandals with black slacks and a white button down. It was very incongruous and I couldn't help but laugh a bit to myself.

Last class was Crypto. I'm really enjoying the class, and although the homework was a challenge I hope I'll reach an understanding with that soon so that I can enjoy the content without being stressed. I enjoy the practice classes, as it allows me to discuss ideas with my classmates, and get feedback from the teacher. I think the format of separating the class into lecture and practice is very beneficial, as the lecture really cements concepts introduced in lecture. The teacher is also very funny and has a great dynamic with all the students, which adds another beneficial aspect to the course.

While I've made peace with the weather, and am actually enjoying it, I dislike the increase in static. I've made the habit of tapping the railing on the staircase to discharge the static every morning. And, without fail, I get a shock. Mildly irritating, but another thing that's quickly become habitual.

The homework I've received here is challenging in a way I'm not used to back at CofC. While I have, of course had difficult homework assigned back home, none of them frustrate me quite like this. The heavy involvement of mathematical proofs continues to thwart my easy completion of my assignments. I'm having to think in a completely different way, a way opposite of how I was taught almost my whole life. As I believe I've said before, my mathematical education primarily consisted of telling me that things work, but now how they work. My first introduction to mathematical proofs wasn't until college, and those were somewhat easy to grasp. I have no issues following the logic if the proof is presented to me, but I admit I sincerely struggle with trying to create the steps for myself. It seems so basic when the answer is revealed, yet when I try and come up with a proof it's as if I hit a wall.

It's both rewarding and frustrating. I've lost count of the times I've been on the precipice of some great understanding or revelation. It's almost an exhilarating feeling when you believe you're about to finally grasp the concept completely, but all to often I find it slipping away. I was following the wrong train of thought, or my logic was backwards. My greatest feeling is that some bridge between the first step and the next is missing, and it is eternally discouraging. Of course, I have to soldier through, as my understanding is important, not just for my grades but for myself. Half of my motivation to complete my homework at this point is so that I can finally fathom what exactly is being asked of me. I still maintain that solving a mathematical problem is extremely rewarding, and going back over the logical increments is satisfying in a strange way. But the process...remains difficult.

While I realize the challenge is good for me, I can only hope that I don't struggle as much with these assignments all semester. Hopefully I will find a happy medium where I am challenged, but not stonewalled.

Tuesday, March 4, 2014

I figured this mildly interesting enough to write about: quite a few times I've seen an absolutely massive flock of birds fly over the dorm, creating quite the racket as they do so. The first time I heard them I thought it was a car alarm going off before I looked out the window. Let me tell you, it was like something out of an Alfred Hitchcock film. The birds also tend to congregate in large groups upon the trees. Of course the second I tried to take a picture they all spread out, so you'll just have to take my word for it.

Weekend


My weekend was quiet, which was appreciated after my travels the previous weekend. I used the time to relax and work on homework. I focused mainly on my Cryptography homework, as it was due on Monday. I spent several hours on it, but was quite frustrated in the end. I ended up completing it to the best of my ability before throwing in the towel. I have difficulties coming up with the correct way to mathematically prove things. My conceptual understanding is not lacking as far as I can tell. I'm not sure if I'm just out of practice with proofs or what, but I'm hoping that I can remedy this quickly, as proofs are a big part of not just Crypto but a few of my other classes as well.

The other problem that took up most of my time was regarding the creation of a program. We were instructed to write a program that achieved the following: Taking as input, two cipher-texts c1 and c2 of the same length. Where c1= 4ADD55BA941FE954 and c2= 5AC643BE8504E35E. Both are expected to be the encryption of a single word m1,m2 using the one-time pad. (Encryption scheme.) To produce the cipher-texts the same key has been used. (This doesn't usually happen with the OTP, as if the same key is used it creates a vulnerability. Generally when this happens it's referred to as a two-time pad.) The program will then find m1 and m2. (The messages in plain-text.)

Now I hadn't expected to have to write code, which is fine, I was actually somewhat excited at the prospect. I picked python as my language, as I was familiar enough with it. I made progress up to a point, where my understanding of the problem was not enough to allow me to finish the program. Basically, there is a point at which you have XOR'd the two cipher-texts, then take the resulting string of hex and compare it to a wordlist. Generally at this point you're looking for something that would reveal the word in one of the messages, which would then allow you to get the key and reveal the contents of the other messages. However my understanding of this was fuzzy enough, and despite my searching I couldn't find anything exact enough to figure out where to go with my code. It was a bit frustrating, but I submitted my program in the hopes that the teacher would provide partial credit.

I'll also post the code for those that or interested. Or if anyone has enough of an understanding of crypto and wants to tackle solving the problem for fun.

Monday


Slept in late, as I am wont to do. Once I got up, I looked over my homework again to see if I had come to any revelations in my sleep. No such luck, at this point I was pretty fed up with it and decided not to think about it anymore. It's not a huge deal, as we only need 50% of all homework points to take the final exam. They won't even factor into our grade. I'm mostly concerned that I obtain a full understanding of the subject.

So, for the rest of the afternoon until my class I just relaxed and started a bit of my reading homework. Once class arrived I headed to the CS building. After staying inside all weekend the cold air was somewhat startling at first, but it was refreshing to walk through once I got used to it.

Class itself was, as always, interesting. We discussed two approaches to creating secure encryption schemes: best-effort design, and provable security. We then used a provable security approach to create a stream-cipher based on a pseudo random generator. There were, of course, a lot of proofs involved in this. Though thankfully he didn't utilize a completely formal mathematical definition for each part. We began by defining what security was, followed by a definition of a security assumption. Next we constructed our scheme and lastly proved that it was secure utilizing the earlier definitions. It was all a bit much to absorb, so I'll definitely be going back over my notes and trying to find other explanations of this to make sure I really understand it.

After class, I stopped by the Metro cafe to pick up a sandwich for dinner, as I was feeling too lazy to cook anything. The food was delicious as always, and gave me the energy needed to get through the rest of my reading for Religion and Politics.

Saturday, March 1, 2014

Tuesday & Wednesday

Tuesday and Wednesday were largely unproductive. Due to the late arrival Monday night I didn't get to bed until around 2am. Because of this I made the decision to skip classes on Tuesday. I wasn't really equipped to handle 6 hours of classes on not enough sleep. I'm really bad at skipping classes because I feel guilty all day, but I really did need the sleep and the notes were posted online. So hopefully that won't have an impact on anything. But I really didn't accomplish anything on Tuesday, which was mostly alright with me.

Wednesday was already class free, so no issues there. I went grocery shopping and caught up on notes for my classes. Other than that, also a pretty unproductive day.

Thursday

Had class in the morning, wasn't really looking forward to it. I'd unfortunately gotten into a "I don't want to attend class" slump. But got myself up and over to the CS building, meeting my dreaded foe: the hill. Class today was a workshop instead of the usual lecture. We had to construct models of an Online Banking system using a specific modeling language. My group was using BPMN (Business Process Model and Notation). I like the idea of group work, but it always seems to fall flat in practice. I always seem to get put in a group where only myself and one or two other people contribute, while the rest sit passively. That always frustrates me, as I seek the exchange of knowledge that a group of people can offer, and I don't simply want to do all the work. I also ended up having to present it with one other guy, as nobody else would stand up. They all kind of just looked at me to do it, until the other guy belatedly stood up. I'm not a fan of impromptu presentations, but I knew what I was talking about so it wasn't too bad.

On a more positive note: the weather here is absolutely beautiful. 38°F and Sunny! The river has completely melted, so that's mildly interesting. It was startling earlier, as before I left for the weekend it was still frozen over. So returning to a free flowing river was a surprise.

I'm not sure that I like having such a big gap between my two classes, but there's not much to be done about it. Crypto Lab this week was run by the TA, since our main teacher was travelling. I honestly could've gone without attending, we didn't really do anything worth-while. It was mostly more practice of the concepts covered in last week's lecture (We didn't have lecture this week as Monday was a holiday).

Friday

Oh Friday, sweet Friday. How I've longed for your arrival. It was an absolutely perfect day. It was sunny, not a cloud in the sky and around 40°F all morning and afternoon.

First class up was Cloud Computing lab. It mostly went well, I almost felt bad for asking the lab instructor so many questions, but as I was unsure of some of the syntax for working with the terminal in Linux I had no other choice. (I did Google first, but I wasn't finding exactly what I needed). The previous labs had instructions written out in more detail, so I didn't have any problems. But with this lab there were a few things left unsaid. Nonetheless I managed, and the instructor was very helpful. It's an interesting experience to use the terminal for absolutely everything. I'm used to my windows GUI, I guess I was spoiled. It's great practice though, and there's something satisfying about it.


Once again, finished lab early and had about 45 minutes to kill. Obviously the only option was to go back to the cafe for another round of coffee and cake. My only justification is that I burn it off when going back up Lossi Street (aka Hill of Doom). This time I tried out the tiramisu, which was absolutely incredible.

After I'd eaten and relaxed, I headed back to the CS building for my next class. Coding Theory practice was again, primarily focusing on polynomials over finite fields. Except we talked more on dividing polynomials. It's odd and somewhat difficult to shift my conceptual understanding of mathematics. We redefine basic methods based on the constraints of finite fields, but these methods are just similar enough to what I'd general consider division that I sometimes get confused when trying to prove them.

Most of my educational learning in mathematics has been a strict "this does this because reasons". We don't really have to prove why something works, we're just told it does. I can generally follow the logic behind proofs when I see them, but coming up with them...proves difficult. (I can no longer resist making puns.) I hope to overcome this through practice, as the professor does ask us to do proofs on the homework. But we'll see how that turns out.

After class I headed back to the dorm. I felt very peaceful and happy the entire way. I was finished with classes for the week, which is always a nice feeling. Passing by the Tartu Music Hall (which I do every day on my way to and from classes) I had the pleasure of hearing someone practicing the Cello. This, of course, brought back a wave of (happy) nostalgia for the years I spent playing the violin and viola. I honestly miss playing my instruments and being part of an Orchestra. I'm unsure if I'll ever have the time/money to pursue it again, but for the time being I look back on those years with joy. Plus it's nice to see that there's a strong musical presence in Tartu, even if I cannot be a part of it.

I also ran into Sarah, talked to her for a few minutes as we made our way down Lossi street. I always enjoy running into friends while I'm out and about, makes me feel more comfortable being somewhere. (This was something I really missed from Charleston, as I usually couldn't go to class without seeing at least one person I knew, or stopping for a quick chat.) After Sarah and I parted ways, I stopped by the multimedia shop to print out some HW, and then walked the rest of the way to the dorm.

People say that time runs slowly in Tartu, and I'm inclined to agree with them. There's a sort of...feeling about this place. Nobody appears to be in a rush and it's very calm and collected. (Except for the drivers, I maintain that they are absolutely bonkers.) It drains the stress away and provides me with peace when I'm just outside walking. It doesn't move slow in a way that drags along, it just lacks the rushed feeling that Charleston sometimes has. Now don't get me wrong, I enjoy the hustle and bustle of Charleston and similar cities, but it's nice here. The city is so charming that I can't help but fall in love with it. I'd never want to live here, but I've finally become completely comfortable with my stay here. I'm in a position where I feel that I can get the most out of this experience, and I'm glad that I chose to study here. I can only hope that I'll continue to be pleased!

© 2012 Design by Main-Blogger. Powered by Blogger.
 
© 2012. Design by Main-Blogger - Blogger Template and Blogging Stuff