Another Blog

Mostly about computers, generally Linux-related

Fourth Semester

And so we reach the end of this three-post sequence, the real reason that kept me away from this blog. Don’t get me wrong, I’m not complaining; I don’t really like to keep a log of my life and I really love what we’re doing in school so far. Without further ado, I’ll list my thoughts on every subject I have, with the warning that my translation of names will probably not be accurate and that the list is in (almost) random order.

Communication Protocols

An introduction to network models and protocols, without going too deep into the field of networks (which I will study next semester). A young team, slides prepared beforehand, but a slight lack of skill from the teacher (Florin Pop). Thumbs up for trying, though, and also for this: he finished his lecture 15 minutes earlier and asked us to stay that 15 minutes and have a chat. This didn’t happen to the entire year — a group will stay longer each week (note: this might be hard to understand if you’re not familiar with Romanian superior education organization).

At the lab we were introduced to Jasper, a protocol simulator written in Java. The idea is wonderful and the result is great, but it’s horribly written, especially because it’s Java. I realise OOP was well chosen for the task, but I have a personal spike against Java.

We have a homework, spanning two weeks, where we must implement RUPD (Reliable UDP) in Jasper. Myself and another classmate have already expressed concerns about putting the packet header (which we must implement) in a String (hence Unicode). What’s more, last time checked, the course portal did not have a forum associated with this homework, so we’re pretty stuck. The homework was almost 48 hours late to appear, which is disturbing, even though the deadline was extended.

Virtual Intruments

I honestly hope I translated this right. It’s a “filler” course, not specifically linked to Computer Science, but still better than History of Philosophy (yes, I studied that). It has so far dealt with standard setups for extracting information from a physical process, but will hopefully come to actually using virtual instruments.

The course is pretty boring, but has the merit that it fills certain holes in the Systems Theory course. The lab looks exciting; although “hard” by our standards (i.e. not programming per se), it introduces us to actually working with an outside device that is not another computer.

Digital Electronics

A continuation of the “Analogic Electronics Elements” from previous semester, with the same two gentlemen for the lecture and seminar, and a different lab assistant (the same one as in Virtual Intruments). I honestly hoped this would be more interesting than the past semester, it started off amazingly interesting, but died out after the first two hours. Still clinging to things which should primarily concern electronics engineers IMO, still a shitload of theoretical nonsense shoved down our throats, still making fun of us with every opportunity. Hopefully it will all be worth it and in the end we’ll actually have a mental image when we say CMOS or TTL.

The lab, however, is particularly new, in that we are actually doing something. We learnt what the four boxes on every desk do, how to operate them, and this week we even got to work them. Of course, Lucian actually got all the work done, while me and Roxi were in utter amazement at how fast and accurate he was. We did make a few funny mistakes, but nothing really crucial.

To top things off, we got a homework for this class. I frankly don’t understand why they did that, because we will ultimately copy them from each other, even though we have separate numerical values for each student.

Numerical Computers

An amazingly interesting course at first sight, going closer to the hardware, yet keeping a computer engineer’s view to it. We’re learning Verilog HDL, but everything is a bit to high level for me: using a huge IDE (Xilinx ISE) and learning how to click through it thus far. I got a simple homework, building a simple FSM that has to work on the FPGAs in the lab.

For testing purposes, we’ve been introduced to a virtual interface to the FPGAs built by older students. Myself and a few classmates agreed that it could have been much more impressive, but it’s still a wonderful effort. Too bad they’re not giving us accounts to the damn thing yet, although they promised to almost a week ago.

Algorithm Design

A continuation of previous semester Algorithm Analysis, for which I will be a lab assistant, Algorithm Design is a very badly held class. The lecturer just brings papers which he reads, occasionally writing silly and inexpressive drawings on the blackboard. He doesn’t even write the lecture notes himself. Moreover, we have the option of just listening to him, because he gives us the photocopied notes in advance.

We have a young (read: a year older than us) lab assistant. Not very sure of herself, but she’s definitely trying. Too bad the problems we’ve had to solve the past 2 labs have been insanely difficult (highschool algorithm olympics, and, hell, that’s hard). There’s also a semester-long project, a program which will play chess. They could not have picked an uglier game, or one that’s so easy to find readily-written programs for. Still, I’m happy with the group I’m in and it will probably be fun regardless of the badly chosen homework.

Programming Paradigms

I intentionately left this last. It’s about “exotic”, as our professor calls them, languages and paradigms. We will study (to some degree) Scheme, Haskell, CLIPS, and Prolog. But beyond the contents of the course, I have the utmost respect for the professor, mister Cristian Giumale. He truly has a gift for making us understand. Listening to him is sheer pleasure. As a comparison, I use some of the best professors I have met thus far; they come with slides, hold an interactive, energetic course, insist that you not take notes since slides are publicly available, and encourage you to address them by their given name; a true hope for higher education in these times. Then, there is mister Giumale. He comes with nothing but a set of keys (God knows why), speaks at a slow pace, and gives the impression of a shy person. But then he catches your attention and soon you’re all ears to what he says. Not using any sort of helping material for apparently hard constructions in lambda calculus is truly amazing, although I realise that to him things appear mundane. The two types of professors are definitely not in competition, but shold both be equally appreciated; they belong to different eras, equal in talent and potential, with the sole difference that one has already proven itself.

The lab is held by someone whose name has a keen resonance to me, Mugurel, whom I know by name from algorithmics highschool olympics. He’s apparently quite bored and uninterested in what he is doing, but will engage conversations on the subject and prove he’s just a bit chronically tired. We’ve been promised a project, preferably in Scheme, but I’ve been (informally) given the permission to write it in Haskell, as long as it has a graphic interface (for which I can use GTK2Hs or wxHaskell). It is my new great ambition to become a lab asistant for Programming Paradigms next year, and hearing that there is a desperate shortage of personnel in the faculty brings a new hope to me.

March 15, 2008 Posted by | school | 1 Comment

PPPoE, the Router, Wireless Internet, and TTL

Most dorms from the complex I live in have switched to PPPoE; better means of monitoring us I heard, but I won’t bring it up seriously. Of course, the network administrator in my dorm refused to switch, for fear he’d lose (perceived?) control. Quality started to drop, culminating with up to a second ping reply and a quarter lost packets. People screamed everywhere, and I myself was not happy — cormyr had just arrived and there I was without a source of up-to-date packages. Just so you can picture it, the Gentoo mirror I am using is (to my knowledge) literally less than a kilometer away, in the Rectorat building of University ‘Politehnica’ of Bucharest, a place I can see from my window. From there, I downloaded with less than 30 kilobytes per second.

Away from this near uprise, a few dorms distance, I was helping Roxi install Gentoo. She had switched to PPPoE, which caused a total of nearly 4 hours of tinkering with the connection. The live CD contained a script whch helped, but when the install was complete, we were stranded; luckily, she dual booted to XP, so we could search for solutions, download packages, and use a memory stick to transfer to Gentoo. Finally having got things working, I admit I never would have thought of the remedy by myself: the PPPoE interface had to manually be set to MTU 1492. We also had great trouble setting the routes, but that was really something we could handle.

Meanwhile, finally giving in to the increasingly furious dorm-mates, our admin finally made the switch to PPPoE. “Hah, I’ve been through this already”, I thought, but boy, was I wrong. To top things off, that exact same day I got a wireless router, so me and my roommates can use our laptops around our room. Two problems, one of which was completely new, the other only mildly and largely unsuccessfully previously tackled.

First, I sloppily got my connection working. Sloppily, because for the next few days I constantly forgot to set my routes right, which always caused great confusion. After that, I realsied I probably didn’t need that, because I wanted to connect tot the Internet through my new router. Which thankfully knew PPPoE. But again, things were far from over.

Packets get to us with TTL=1; it’s a pointless measure in my view, but it seems to be common practice in the complex where I live. The D-Link DI-524 (with which I am utterly dissatisfied) has an option called “Do not change TTL value”, but it apparently doesn’t work. It connected fine via PPPoE, I pinged Google via its HTTP interface, but this is where things ended. The solution (a cludge, if you ask me) was to connect to router to my desktop (newguy) and use that as a router that sets TTL via iptables. So I have newguy acting as a router for a wireless router. At least I have wireless, but only while newguy is on.

Bottom line is that, between paranoid admins and cheap, non-OpenWRT-supported hardware, we have another glorious bundle of wires and newguy has another glorious bunch of scripts which I only marginally understand.

March 15, 2008 Posted by | linux | Leave a comment

Rise of Cormyr (Not Without Its Problems)

I long kept silent, but not because life has been uneventful. A few separate posts will describe the past events, because I don’t like long reads.

I bought a laptop, a Dell Inspiron 1520, whose exact specs I am too lazy to post. It’s a Core 2 Duo at 2.2 GHz, 2 GiB of RAM and 120 GB hard drive. It’s quite similar to my desktop machine in this respect. Choosing a name was a bit difficult, and I eventually came up with Cormyr, just because I like how that sounds. Explaining to people why I called it that and what it originally is has led to many weird looks, but that I expected. What I did not expect is everything else.

I installed Windows XP on cormyr, which worked wonders. Half a day of installing drivers and everything was… well… Windows. After a largely uneventful Gentoo install, I realised that Windows had pretty much locked itself out of the bootloader: it had created a very strange partitioning scheme (on a nearly pristine drive at that time, so no whining about fdisk having done it). Cue reinstall, with Gentoo being the first OS I installed, along with a hopefully sane partition scheme. It was then that I also decided to drop the Dell Media Direct partition, which wasn’t working properly.

Gentoo was again fun, with ACPI tricks from both the official website and the Gentoo Wiki, and a short Haskell program I wrote to feed sensors and battery data into dzen2, for use with xmonad. The widescreen is really a pleasure when coding, along with xmonad’s ThreeCol layout. But horrors — between my being a newbie and incomplete support for my wireless card, I couldn’t get wireless to work (more on that in the next post). I tried without any success for almost a week, then decided to install XP beside Gentoo; surprise, the machine won’t boot off the XP CD.

With great angst I reached for Vista, which not only works pretty fine for a Windows (but is completely retarded UI-wise), but also saw almost all my hardware properly. This time around, driver installation took less than an hour and I could finally have my wireless. I am typing this on Cormyr, while in bed.

Bottom line, if anyone is looking for an opinion on Dell, I say go for it! Most of the problems I had were software related. The build is strong, both on the outside and intimately. Though a bit on the heavy side, the looks are to my liking: not exotic, but finely cut. The keyboard is absolutely awesome, and I’ve even learnt how to use a touchpad; I rarely connect the mouse.

A special praise to the 9-cell battery: although I first thought the thing sticking out the back of my laptop was hideous, it’s truly a blessing. After two hours of light Java coding this morning, statistics under Gentoo (a minimal build, I admit), showed 67% of the battery. The same stats go as high as 7 hours with a full battery, and compiling TeTeX and dependencies left the battery a whopping 80% full.

Bottom line, I’m happy with cormyr, a bit frustrated with Linux for not having drivers for my wireless card, but Vista usually means wireless, which means SSH into a Linux shell if need be.

Note: I realise this is not a comprehensive review, nor is it intended to be.

March 14, 2008 Posted by | linux, personal, vista | Leave a comment