Showing posts with label school. Show all posts
Showing posts with label school. Show all posts

20 May 2012

Dilemmas

Wow, it's been almost a year... Screw the excuses, I just didn't feel like blogging. And I'm still not totally sure I do.

I thought that being funemployed would give a lot of time for blogging and that the stress of writing my thesis would encourage my to seek comfort in this diary-like therapy. Somehow that didn't happen. The thesis went as usual: it started with a feeling like "I'm writing the best thesis ever!" and ended with "I'm so tired of it! When will it be over?". Of one thing I am absolutely sure (got the Twilight allusion?): school is not my happy place. Happily, school is over: I graduated last December. I now have two masters. It's really cool when it's over.

What do you do when you graduate? You get a full-time job. (Well, depending on your industry, this my be easier said than done, but in mine, staying unemployed is more of a challenge than finding work.) That's what I did. Since it's only one query away, I'll just say it: it's at WebInterpret. (Now my physical location is only another query away - is that the way things should be? Dilemma... Can I openly write about where I am or is that an entry for please-rob-me.com? Dilemma...)

My life is so much more grown-up now. Grown-up in the sense that my party small talk involves tales of recent purchases and maintenance actions performed in my home. I come home from work tired (being tired is a common denominator for all adults) and cook and clean. When I browse the web, it's for cooking recipes. Am I interesting enough? Will I provide entertaining content? Dilemma...

Or maybe I'm just ranting too much? (Forgive me, I'm currently in bed with a cold.) Because on the other hand, I'm feeling like I'm gradually getting so much stronger. In October-December, I was just getting used to full-time work and it drained all my energy. I came home, made dinner, sat at the computer. In January, I added 3 hours of physical activity a week. In March, I was up to 6. (I still am.) Maybe it's time to add some more hobbies and interests to the mix. Maybe it's time to read, do and write more cool stuff. Let's hope it is!





06 October 2010

The world is wrong about the Monty Hall problem

Today, at school, we considered the probability theory paradox called the Monty Hall problem:

Suppose you're on a game show, and you're given the choice of three doors: Behind one door is a car; behind the others, goats. You pick a door, say No. 1, and the host, who knows what's behind the doors, opens another door, say No. 3, which he knows has a goat. He then says to you, "Do you want to pick door No. 2?" Is it to your advantage to switch your choice?

The world says that by seeing that goat, you learn that the probability of the car being behind door number 2 is 2/3 and Wikipedia has various explanations.



I claim it's 1/2. My first argument is that there is full symmetry between doors 1 and 2. How could you lower the probability of door 1 being the winning one by picking it? Nonsense.

For my second argument, let's treat it like the conditional probability that it is. All probabilities will be from your, the contestant 's, point of view.

At the start, we've got 3 equally probable situations: I'll denote them as CGG, GCG and GGC hoping it's clear enough.

Now the host opens a door. You see the goat: you gain information. Probabilities change. The probability of the door number 3 being the winning one falls down to 0.

So far, no difference from the "official" solutions. However, those maintain that while the probability of the car being behind the first door stays the same, the probability of it being behind the second one increases. Why the incoherence?

An important remark here: with the new information, we now have new events. We know that GGC didn't happen, so we have 3 events that assume ~GGC, namely:
  1. if the first door wins, it's CGG | ~GGC and P(CGG | ~GGC) is 1/2
  2. if the second door wins, it's GCG | ~GGC and P(GCG | ~GGC) is 1/2
  3. if the third door wins, it's GGC | ~GGC and P(GGC | ~GGC) is 0,
the final results being basic conditional probability calculations.


According to Wikipedia, "even Nobel physicists systematically give the wrong answer, and that they insist on it, and they are ready to berate in print those who propose the right answer". That's comforting: I may be wrong, but at least I have excellent company.

[UPDATE] After reading all the comments, I can see that I was wrong. Boy, is that problem counterintuitive! Thanks everyone for contributing! [/UPDATE]

26 June 2010

I got my masters degree!

Two months after having my first defense and getting my bachelor degree in computer science, I am happy to announce I also got a master's degree in mathematics.

I now need to find a thesis subject in computer science, and besides that, I'm free for the summer!

05 June 2010

Rijndael S-box Sage implementation

It's no secret I like Python and Sage a lot. Today, I had the pleasure of working with Sage again: as a school assignment, I was required to show the calculations that prove that the value of the Rijndael S-box in row 2, column d, was indeed d8. While I am able to invert a polynome of this size by hand (let alone apply an affine transformation), I see no reason to do it, as a suitable tool is available.

So, here we go, the Rijndael S-box in Sage:

F.<y> = GF(2, name='y')[]
K.<x> = GF(2**8, name='x', modulus=y^8 + y^4 + y^3 + y + 1)

bin_digits = lambda h: [((int(str(h), 16))//(2^i)) % 2
for i in range(3, -1, -1)]
bin_poly = lambda n : sum([b * x^(3-i)
for i,b in enumerate(bin_digits(n))])

b1 = 2
b2 = 'd'

s = x^4 * bin_poly(b1) + bin_poly(b2)
p = (1/s).polynomial().coeffs()
p.reverse()

b = [0]*(8 - len(p)) + p
b.reverse()
c = [1,1,0,0,0,1,1,0]
d = [int((b[i] + b[(i + 4) % 8] + b[(i + 5) % 8] +
b[(i + 6) % 8] + b[(i + 7) % 8] + c[i]).n()) % 2
for
i in range(8)]
d.reverse()

s1 = sum([d[i] * 2^(3-i) for i in range(4)])
s2 = sum([d[i+4] * 2^(3-i) for i in range(4)])

print hex(s1), hex(s2)

I admit: the above is code, not calculations, but I did the calculations in class and worked hard on the code. My main problem was the bit order. Nowhere in the original publication did it say to reverse the bytes. Adding all the reverses was a moment of desperation, and imagine my surprise when it worked. I wonder how much credit that solution will get me.

A great Friday night it was.

27 April 2010

I'm a Bachelor of Science. Computer Science.

As I was writing a little bit before yesterday, I recently had the opportunity to defend myself, and I'm very happy to announce that I succeeded: I now am a Bachelor of Science in Computer Science. (On the other hand, I don't really know what I should capitalize here, but it sure looks great that way.)

Boy was I stressed. Well, I kinda mentioned it already. Plus, it's evident: it was my first defense, but most importantly, I hadn't revised everything I wished.

My stress was quickly relieved, however. I came to school over two hours earlier for some last revisions on-line and was drinking a vanilloccino when one of my professor asked me whether I was free. Without thinking too much, I said yes and got taken to a room where defenses were taking place. I took the exam and was free two hours earlier than expected - lucky me!

Next defense, coming soon! This time, in mathematics.

20 April 2010

Tomorrow

Tomorrow, I'm defending my Bsc in computer science.

Which means I'm revising my eyes out. And napping.



That's totally a good thing, because Lifehacker keeps saying how cool naps are.

Two things I'm not doing are procrastinating (I'll do that later) and panicking. It's weird. I should panic. If I take the list of requirements, the speed I'm revising them, the amount of time left and do the math, I've got reasons to panic. Just not the time, I guess. I need 2-3 more days of 100% focus on studying, but that thing is tomorrow.

Unless it isn't, because I need some signature here, something else here and the professor I need them from doesn't have any classes this semester, so he's kinda hard to catch. Honestly, I wouldn't be too disappointed if tomorrow's defense wasn't to happen.

[Picture credit]

20 November 2009

Blogging my thesis: Bernstein was super-easy

Did I say I had trouble understanding Berstein's work? I take that back. I'm reading Boneh now.

I'm reading one paper by Boneh. I have started reading it over half a year ago. I still don't really get it.

The paper is called "Finding Smooth Integers in Short Intervals Using CRT Decoding". In it, the author does the following:

  • presents a new algorithm for CRT decoding
  • uses it to find smooth integers in short intervals
  • discusses how to apply it to the quadratic sieve method
  • generalizes the CRT decoding problem
  • reduces the gap between CRT and Reed-Solomin decoding.
My brain is burning.

14 November 2009

Blogging my thesis: Friday the 13th

Friday the 13th was a good day for my thesis - mama had some time for its baby.

I did some hard work that didn't translate into a single additional line, but boy, did I get results. I debugged my sieving for smooth numbers method. I now have two methods that do the same in different ways and give me the same results. Almost. They don't when an unexpected divisor of n is found, but factoring n is the whole point, and that glitch will be corrected very soon.

Now, I have to finish implementing the third method and make some kind of interface that would use all three and make comparaisons.

Friday the 13th was also a good day overall: I did the assignement at the lab and dont' have to go there next week (hooray, more thesis time!) and I went to the gym. I also started my Christmas shopping, where I have pretty mixed feelings. While I can't stand the Christmas ads in November, being in the city at noon was a good occasion to visit a few shops.

So, all in all, dear diary, Friday the 13th was a nice day. Today, I'm coding some more for the thesis.

06 November 2009

Geek got to teach!

If I haven't been an active blogger lately, that's because something came up. Something that kept me stressed and busy: I lectured the security class on Tuesday.

I lectured! Security! At the University of Warsaw! If you can't believe it, don't worry neither do I.

I talked about what I knew best: mathematical methods of breaking the RSA cipher. I also gave an introduction to elliptic curve cryptography and covered primality tests. Here are the slides (Polish only). Out of 150 people enrolled, some 30-40 were present and the lecture went pretty well: there were questions, I was able to answer... And first of all, what an honor!

09 October 2009

Blogging my thesis: 9th of October

This morning, as I decided to just check the weather, get dressed and leave to school, I had a pleasant surprise in my inbox: my classes were cancelled. Not that I am pleased that the professor is sick, only with the unexpected free time.

Free time... what is that? What is that for? What do you do with it?

When in doubt and sleepy - sleep. I started with that. Then I decided to do some Saturday stuff: I went groceries shopping, cleaned up the house a bit, hovered.

Then, I went running. They say that physical activity helps to fight depression and I could use some help, so I went wandering in my new lovely neighbourhood and came back all sweaty.

The fitness felt good, but it didn't really help me with my procrastination problem. I procrastinated like I unfortunately often do, only this time, I didn't really feel bad about it. I'll take that as an improvement.

So, not much to brag about today. Tomorrow won't probably bring more: I'm going to a friend's wedding (two friends', actually) and then to the theater, where another friend of ours is playing in "The Revenge". Maybe Sunday.

03 October 2009

Blogging my thesis: 2nd of October

On Saturdays, I usually get to stay home all day, except for a belly dance class and maybe a walk with my husband. What a great time to check mail, apply for Google Wave invites, chech mail, check Facebook, expand my musical horizons, check mail, check Facebook work on my thesis.

What have I done today? My answer is a typical one for a student asked by his advisor what he's done so far:

Er, I have found, I have read, I have understood...


I think I've finally understood the previously mentionned Bernstein method. Understanding is the toughest part (unless you were a sissie wise person and chose an easy subject) - then comes description and implementation. Actually, doing these while trying to understand works really good, I always do that. I now have half a dozen of lines of LaTeX erroneously deleted and product trees implemented in 8 impressive lines of code (n = len(primes), if n == 1: return primes and stuff like that). But all of these were proudly accomplished yesterday, and today, I just read and understood.

Well, the night is still young.

18 September 2009

Blogging my thesis

I'm currently in the process of writing my master thesis. Here gos the subject:

Displacement of smooth integers in short intervals and their applications in cryptography

Ain't it the coolest thesis ever?

To be honest, I don't quite see it that way. Anything I want to do inevitably turns into something I have to do. So this post is party a pep talk to myself. I don't think it matters, however: most Fiona Apple's songs are pep talks to herself and boy, do I love them.

Okay, back to the thesis. I will be breaking the RSA cryptosystem. Calm down, your private communication is not in danger. I will not obtain significant results, only a small speed improvement over doing it "the dumb way".

How do you break RSA anyway? The whole idea, is that multiplying two big primes is easy, but having only that result, finding out what the primes were is hard. "The dumb way" is trying all the possible primes. There are some smarter ways, but they only work in specific cases, and the keys used in the real world are wisely chosen, so the tricks don't apply. There's an excellent publication about this called "Twenty years of attacks on the RSA cryptosystem". A great read, and you can skip the formulas if you're not that into maths.

So, I will be factoring big numbers into two big prime factors. To do that, I will be using smooth numbers, which are kinda the opposite of primes: they have plenty of small factors. That part is really easy, and is well explained by Pomerance in his paper "Smooth Numbers and the Quadratic Sieve". The first two pages have it all in elementary language, the later ones are hard even for me.

To find these smooth numbers, I will be comparing three different methods: sieving, the Bernstein method and finding them using error correcting codes based on the Chinese Remainder Theorem.

More on how it goes will (most probably) come.

17 September 2009

Finals finally over.

My finals are finally over. They were tough, as I failed everything I could in June, but well, I wanted a wedding in the middle of the semester, so I got my semester during the holidays. I'm still happy with my choice.

Now to the exciting stuff. First, I had AI and passed after a few hours of revisions. I was totally prepared in June, but made the lecturer pretty angry by not writing the test at the end of the semester (honeymoon) and not taking it some other time as the result of a few misunderstandings, so, no June exam in AI for me. And the lecturer didn't seem really happy to see me in September either. But, I solved all the problems correctly, so I got a C (yeah, that's my school - they love deduction in both senses of that word).

Then came a few "free" days I used to write my networks program. The teacher was really cool for letting me write in C# istead of C, C++ or Java (none of them being my cup of tea), so I had cool tools like Visual Studio (Why can't Eclipse have a "go to definition" feature? Why? Me wants!) , Linq (goodbye, parsing XML, hello, tricky code instead of for loops) and asynchronous sockets, thanks to which I didn't have to create a single thread expilcitely, and yet my application was super-thready.

That was nice, but still, implementing a protocole and a client took me more than these four free days. It took me the entire day I had for learning compilers and one and a half of the two planned for partial differential equations. There went compilers. Fortunately, they were an extra classs I took.

Equations survived. The battle was hard: revising a whole semester in one afternoon and learning the stuff I didn't get in June. At that point, your goal is pretty much not to know less that you did last time, but I think I did know more, and I passed.

The evening after equations was equally busy: the networks exam was the next day. Dear Hubby explained some stuff to me, I was well prepared. Plans for Friday were clear: get to school by 11:30, print network notes, show the program at 12, study with strangers until 14, take exam, leave.

I arrived at 11:30. My printing limit was reached. Then I realized that I needed my advior's signature bad. Really bad. Panic. The advisor is at school only on Thursdays, so what was the probability of him being here on a Friday, out of the blue? Panic. Run. Buy extra printing credit. Run to the lab guy. He not here. Other student waits too, not knowing more than I do. Okay, let's see if by any miracle the advisor hasn't shown up. He has! Two colleagues are waiting by his door and tell me it's for about an hour of waiting. We exchange valuable advice on handling the masters stuff. Lab guy still not here. Go to the admins for the printing credit, thanking heavens for the advisors presence. Get the credit. Print the notes. Oh, here's the other student waiting for the lab guy, e-mailing him. I go upstairs, because the lab guy should be there. He is! Boot pretty pink netbook. Show program. Program is liked! Advisor again. One guy, new to me, is waiting. I sit and wait with him and praise my advisor for the thesis subject he chose me. The guy enters, I start walking in circles in heels. I finaly get there. I learn that my thesis doesn't need to be extended, just finished - great news! Run. Grab coffee. You think you'll learn anything in the last 20 minutes? Not really. Breathe. Relax. Take exam. Unexpected questions. Think hard. Finally!

I'm sleepy. My head aches. I go home and take a nap. Two hours later, my husband comes home and wakes me up. My head still aches. I take meds, planning on going for a walk. I learn that I'm hot, fever sense. Meds don't work. Let's sleep some more. Sixteen hours more. Then Husband makes me wake up, and finally, finally, finally, I get back to something I like to call "normal life".

05 September 2009

Dear diary

This week was really tough, but the best is yet to come (next week).

My AI exam on Tuesday went pretty well. I was well prepared in June and after a bit of revisons, I was able to solve all the problems. Results will be available on Monday.

Coming up: compilers on Monday, partial differentail equations on Thursday, networks on Friday, but no time to study: I'm typing the networks projects as hard as... well, it's not going very well. I can't concentrate - too many websites outhere are calling me from the recently closed tabs. The weather is wierd, my head is aaching and I'm very sleepy in spite of having slept in. It's the weekend and I'm tired. But as I sit here, listing my excuses, the clock keeps on ticking, the deadlines are approaching.

I left work for almost two weeks to focus on school. Work is by far much easier and more rewarding - I get paid and appreciated. At school, it's an honor for you if they let you study there. I can't wait for school to be over.

Yet another bro entered college, majoring of course in computer science. Yet another bro to fight for textbooks with. (We've already started and classes haven't even begun!)

All good things must come to an end - Hubby and I have finished watching (or re-watching, in his case) the first season of House M.D.

Gotta keep on coding.

21 June 2009

Summer is here!

Yeah, Summer is here!


I had my last exam yesterday. Yep, on a Saturday, at 9 a.m. Finally, it's over!!!

Now, I know I just came back from a two-week vacation in Tunisia, but believe me, I'm tired like crazy again. Honeymoons are absolutely well-deserved vacations for the whole emotional weight of getting married, no matter how wonderful marrying one's loved one is. By going to school at the same time, you totally earn the right to another trip. And we're totally planning one. Kinda. Someday.

For now, my plans are:

  • getting my butt back to the office Monday morning
  • pushing my master thesis (I wonder if my advisor remembers me and that's not good)
  • learning some python and cooking
  • erm, blogging more, doing some Silverlight stuff again would be really cool...
  • taking advantage of the fact that I now live next to the forest!

I hope you're excited for Summer as well. If you need, here are some activities suggestions, and here's some advice about how to put things off and stop caring to realize your dreams. Have a great Summer everyone!

[Picture credit]

23 December 2008

Big day that started bad

Today was a really big day for me: I decided to start writing my master thesis!

Here's how the title goes:

Displacement of smooth integers in short intervals and their applications in cryptography.
Sounds great, doesn't it?

So. I found the papers with the stuff I needed to start and downloaded the LaTeX template. Didn't compile. Tried compiling a kinda "Hello, World!" document. Didn't compile. Switched computers. Didn't compile.

Started loading The Sims on one of the computers while fighting with MikTex 2.7 on the other one. The Sims would freeze while loading any lot. Started wondering really hard what was going on with the world.

The Sims were easier to fix. I downloaded Sims2Pack Clean Installer, that showed my add-ons by install date, with a red background if they were suspicious. I got them working after a few tries and build something like a dorm that was in fact an apartment lot. Some old guy moved to my so-called dorm, no girl did and the residents would stay in their bedrooms instead of enjoying the kitchen, study, tv room, swimming pool and other cool stuff I prepared for them. Still, doesn't beat the stupidity of the 51 NPCs that moved into that:


Fixing MikTex was harder. Actually, there was no fixing, but getting the 2.5 version from Daddy from two years ago and getting the required packages from some russian ftp server.

But, I wrote my name on the master thesis template, so I have officially started writing it today!

04 December 2008

Spend 20 months learning and earning

Yes, you can spend 20 months learning and getting paid! I just came across two serious offers that allow you to do that.

First, you can spend two months learning C/C++ in Samsung's R&D center. Starts on the 5th of January. Full offer here.

Then, you can spend 18 months in an administration school. Starts on the 2nd of March. Full offer here.

(See how the dates match? It must be destiny!)

The catch? It's 18 months of administration school and then you have to work there for five years or give the money back. But hey, isn't it great how many opportunities to learn and earn are there?

29 October 2008

A lovely school day

Today was a totally lovely school day.

First I slept until nine. Ate breakfast watching "Lipstick Jungle", showered, read the daily portion of LifeHacker. Ran out of the house afraid to miss the train and had to wait ten minutes. You know, the usual.

School started for me at twelve with a geometry seminar. Just before, I had an "ooops, I forgot I had a blog again" moment and blogged. But back to the seminar, it was really good. The guy was well-prepared, had read a few different sources, understood the subject very well, published the notes... excellent work.

Then a break, during which I got a free coffee (with a mug) from Citibank. Grateful, I decided to honor them with my presence at a case study, which turned out to be a long talk about career opportunities that convinced me that I was already working at the right place, as they were looking for network people and not programmers. I also got a call from a long unseen friend and set up a meeting for tomorrow.

Next came a law class, where I was distracted by the thought of my coming-up presentation about the Weil Pairing. Whatever that is, the fact that I keep getting the n-th power of one instead of a root is highly disturbing. I'm still working on that now that I'm home - and that's how a typical geek day ends.

16 October 2008

Time to set some goals

The good lazy days of holidays are over. School has started, it's just two days a week, but with three days of work, it's hard to catch me home. And it's at least imprudent for me to stay lazy. So it's time to get organized and set some goals.

First goal, of course, it to do all the required schoolwork. That's three exams, one lab and one master paper. School... I've done that ten times already.

Second, professional goals: get my salary up and get certificates. I got a raise recently, but my work speed is still very limited by the need of learning how to do something before actually doing it. Well, it's not like in this job you get to a point where you know everything, but you do get to a point where you know the given technology, you know the available tools, you know which to choose and all that kind of stuff I often have to ask my workmates or Boyfriend.

Third, a personal goal: get rid of as much stuff as possible. I will most probably be moving out next summer and I don't want my first adult flat to be as messy over-stuffed as my room is now. In our society, everyone owns too much stuff anyway. Lifehacker has a lot of advice about that and when I started reading it, I very quickly started watching more what I buy. I want to have control over everything that enters my personal space. I can't just leave a mess at my parent's place, so a lot of things have to go. So, this morning, two dozens of magazines are gone. I also got some ideas about some other stuff.

Things are going good, and I hope it stays that way.

09 October 2008

Preparing a math presentation with Zoho

I had to give a presentation yesterday. A math one. Filled with dirty little symbols, expressions, equations and geometrical figures.

I had done that quite a few times already, but this time, I wanted to try to make slides and see what tools are available out there.

I'm pretty sure there is a proper LaTeX template, but I wanted something more modern and colorful. I was thinking Google Docs, but they don't support any kind of math. There is however a better tool, Zoho, that does. Insert a whole paragraph of praising Zoho here.

Using LaTeX in Zoho is fast and easy: you click on "insert equation" and a little LaTeX editor shows up. Once your equation is ready, an image is inserted in your document. Image, but you can always right-click on it and edit it. All I can wish for is that those images were rendered a little faster.

Okay, I've been a little manipulative here. LaTeX works great, but only in Zoho Writer (the "Word") and not in Zoho Show, the presentation tool. At least officially. I did, however, manage to make a math presentation, not without issues, but I easily found workarounds:

  • First, prepare your whole presentation in Writer. You won't be able to edit much in Show.
  • To make a slide with math, pick a text slide. Put some text you might remove later, then paste your text with math. If it looks good, better not touch.
  • Do not use bullet lists, they don't work. Your text gets parsed and the equations disappear.
  • Sometimes a bug occurs: a slide stays on the screen and seems to overwrite all the others. Close the presentation and reopen it, it should work then.
I'd love to see LaTeX supported in Zoho Show soon, but still, I managed to prepare my presentation, so insert another paragraph of praising Zoho here.

Here's the result (in Polish):