Posts tagged “DTU”

No Silver Bullet

So I started my next term at the Technical University of Denmark (DTU), which is the fourth, and I have got this very exciting class called Model Based System Engineering, where the teacher had us to read an article called No Silver Bullet, written by Frederick P. Brooks, Jr.
You may know this article already since it has been widely discussed and was published in 1987. It basically about how system engineering is very hard and disappointing, since it is not as easy as for example physics where you have laws, which apply to most things, which you can relate to and use everywhere, because there are none of them in system engineering.

If you like designing software systems I highly recommend reading this article (link below).

No Silver Bullet – Essence and Accidents of Software Engineering

There is also a Wikipedia page on this topic which sums it up pretty good (link below).

No Silver Bullet on Wikipedia

One's counter in Assembly

We had an assignment in Hardware/Software programming, where we had to make a program in assembler, which can count the number of 1′s in a 16-bit binary string. The sollution for this in the book, Introduction to computing systems – from bits & gates to C & beyond by Yale N. Patt and Sanjay J. Patel, was 12 instructions, we shorted it down to 4 instructions, if you don’t count the initialization part, as seen in the code below. The code is made for the LC-3 processor.


; Assignment 7.7
; Instruction set is from the LC-3 processor.
; This program counts the 1's in the 16-bit binary number, which is located in R0.
; We can do it easily since the Branch instrcution looks at the Most Significant Bit
; and by checking for whether that is 1 or 0 we can either count or not.
; In the end we check if R0 has become 0.
; Made by Tomasz Cielecki & Benjamin Bennike, HW/SW Semester 3 F09 DTU
.ORIG x3000

LD	R1, ZERO	;The order of initialization is important,
LD	R0, NUMBER	;since BR looks at the last modified register.

TEST	BRp TEST2
	ADD R1, R1, #1
TEST2	ADD R0, R0, R0	;Left shift NUMBER for next comparison.
BRnp	TEST

HALT
ZERO .FILL x0000
NUMBER .FILL x1370	;Contains the number to be 1's counted.
.END

Here is a block diagram for you too look at, for better understanding of the code.

Block diagram patt chap7_7.7

Block diagram (Click for larger image)

maple12 and locales

It seems that maple have some small problems with some locales. For example I had problems with maple always having English keymap even though my locale was en_DK.UTF-8, though it seems if you start maple with LC_ALL=”da_DK.UTF-8″ it uses danish keymap perfectly fine. So be aware if you are running a english talking system with a non English keymap.

A sollution could be to put LC_ALL=”da_DK.UTF-8″ in the maple startup script.

A little update

Since last time I wrote, I got accepted into the Technical University of Denmark (DTU), where I am going to study at least the next three and a half years. I am going to study IT engineering, which contains a lot mathematics and programming, that is exactly what I want.

Also got my self a dorm room pretty close to the University, which I am going to move into pretty soon.

I currently have some small projects waiting for me, like installing Tomato firmware on my Linksys WRT54GL router or maybe openWRT. Install some applications on my Qnap TS-209 NAS, such as irssi and other small apps. I might even make some howtos on how to get various things to work, but not until i get some time to mess with it.