FH

You are currently browsing the archive for the FH category.

Internship

I will start my internship at Frequentis tomorrow and I have to say that I’m pretty excited (it’s not so that it would be something completely new, I did a one-month internship there in August and did some project work in spring). But still, it’s something which I’m looking forward to.

It’s also nearly the end of my studies at my university, I will write my second bachelor thesis, do the exam and then I am finally done. Plans for the future? Definitely, but I won’t tell - yet.

I shortly wanna tell you what I did the last semester. There were some boring subjects, some partially interesting ones and some which were really a challenge. Building an AIS Viewer with C#/.NET was indeed a challenge and it will be for another month - I’ll work for the company which provided the project in August. We had a pretty long way to go but finally the whole thing looks quite good and we are quite proud of it.

The next semester starts at the end of September but I’ll do some research during holidays (it’s the last but one) for my bachelour’s project - Parallel Processing.

knock knock Anybody here? Long time ago this blog was visited by billions of people, they posted comments, the author replied and wrote new entries - daily. {dream:off} Well, time’s changing, I’m now again 100% studying and have a bunch of things to do (some keywords for those interested: .Net, NMEA, FreeBSD, UI, Oracle, Ruby, UML,… - you can find more info with the help of my del.icio.us bookmarks).

Got it a bit quite here over the last few days - ahm, weeks - mostly because my studies require a huge portion of my time. However, I’ve read some books over the last two months which might be interesting for you (I gonna skip the cost accounting literature, that’s not so exciting):

  • The Ruby Way: Excellent book for Ruby starters and intermediates, it resides near my new LG display

  • Database Systems - An Application Oriented Approach: I need to read it because I’ve missed the database course last semester. The books is great, covers all the details but I have to say that I’ve skipped a few pages of Relational Algebra.

  • UML 2 for students: We had a business design seminar in Sweden but there are still tons of information about UML I don’t know about.

  • Design Patterns: I was a bit septic about this one but it turned out to be a good inspiration, found some things we can use for our project in college.

Now it’s official, I’ll leave Austria on August 17th for five months in BorĂ¥s, Sweden. I passed my math test (spot landing), my room is already booked, the flight too and so I’m principally already away ;-)

Of course I will still maintain this blog but I’m not quite sure if I will setup a seperate one for my time in Sweden (like Martin did) or if I will just create an own category (maybe the latter, I must have a look at the styling possibilities of Wordpress).

College is finally over, I had the last test on Friday and now I’m fully enjoying my holidays. I slept like a baby the last two nights and I can say that I’m pretty relaxed. I also got a new camera (Canon EOS 350D, I know, it is expensive and yes, I am a student, but you have to set priorities). So I’m really looking forward to my possible exchange semester in Sweden (still waiting for math grades) and to the next weeks where I can finally play around with Rails again and with .Net 2.0 (I don’t have a clue about all that generic stuff, which’s actually a shame).

I know, I know, I’m a bad blogger. Keep posting regularly Phew, I’m not a pro-blogger, I have a day job *just kidding*. No, college is pretty time consuming at the moment and I really wanna pass all my exams because - I will go on an exchange semester to Sweden in August if everything works out. So keep your fingers crossed.

So, any other news here? Not at the moment, at least I couldn’t think of any. Have a nice week and see you on Friday (gonna take some pictures in the next few days take my camera everywhere - *haha*.

I’m quite sure you know what it’s like working on a thing in a group (sometimes also called groupwork or teamwork). Most of the time this results in one person working and the other ones doing nothing.

Well, it is not that bad for me. At least there’s one person working. And another one who is copying text from the web, which, sadly but true, causes more work for me as if he would do nothing. Five spaces in a line instead of one tab, locked objects in Visio,… The senctence “You’re going to do this part” doesn’t mean “You can copy that from there and I will overwork it later”. Because if that would be my intention I would do it myself.

You know what my dream is? Working for a small (I really mean small) or highly-creative company (Apple or even Microsoft). Why? Just because I think that most of the people there are motivated and aren’t working just for the money but also because their job makes them happy.

Be Yourself

I will be dreaming tonight, for sure. No nice dreams, no dreams about little kittens, about sunny beaches far, far away or about my favourite rockband playing in my garden. No, bad dreams will visit me tonight, nightmares they are called. I gonna dream about B- and RTrees, about evil methods, doing all kind of strange stuff, being merged so strong that you don’t know where to begin with designing your code. And after the first sweatings they will tell me that my algorithms are slow, that they will merely suck, waste huge amounts of cpu time and memory. I can already see the Windows scheduler, showing my a big TERM-signal flag.

Enough poetry for today, now the hard facts: Yeah, I’m currently working on an RTree implementation for some geo-stuff we’re doing at school. It’s about reading geo data files, processing them in an RTree, manipulating them,… and exporting them. Current example file is a postal code map of Austria, dealing with a few thousand shapes. The resulting gpx file (the desired exporting format) is about 77MB large, fun to import into Google Earth ;-)

[A short note about the title of this post: I'm following Daniel's suit and simply took a random song-title from my Winamp playlist for this entry].

You’re one of those people who prefer writing numbers from 1 to 9 into quadratic boxes and you know how to use C# and .Net? If both applies to you, then stop reading here. If only one statement is true, continue.

Sudoku is actually quite logical and pretty easy to solve, especially with a high-end cpu in the background. I’m quite sure you all know the rules (not the same number in row, column and region). That’s it, quite simple. And all C# functionality you need for this is respectively one function to check the correctness of your inputs, two stacks to juggle with your numbers and some for loops to cycle through the possible values. That’s all, and here you go. At one function to test the region:

[code lang="c#"] public static bool TestRegion(int index, int value) { if (value > 9) return false;

int start_row = ((index / 9) / 3) * 3;
int start_col = ((index % 9) / 3) *  3;

for (int col = start_col; col <= start_col + 2; col++) {
    for (int row = start_row; row <= start_row + 2; row++) {
        int i = row*9 + col;
        if (grid[i] != 0)
        {
            if (value == grid[i] && i != index)
                return false;
        }
    }
}
return true;

} [/code]

I will skip the ones for the rows and the columns, they are quite similar. And now our ‘main’ function, with the declaration and definition of the most important variables. [code lang="c#"]


static Stack doneempties = new Stack(); static Stack beginempties = new Stack(); static int[] grid = new int[81];


index = (int)begin_empties.Pop();

while (!(succeed)) { bool right_number = false;

int value = grid[index]+1;

while ((!(right_number)) ^ (value == 10)) {
    right_number = TestRow(index, value) & TestCol(index, value) & TestRegion(index, value);
    if (!(right_number))
        value++;

    counter++;
}

if (value == 10) {
    grid[index] = 0;
    int tmp = index;

    begin_empties.Push((int)index);
    if (done_empties.Count != 0)
        index = (int)done_empties.Pop();
    else
    {
        Console.WriteLine("\nNo more solutions.\n");
        break;
    }
} else {
    grid[index] = value;

    done_empties.Push((int)index);

    if (begin_empties.Count != 0)
        index = (int)begin_empties.Pop();
    else
        succeed = true;

    if (succeed) 
    {
        for (int i = 0; i <= 8; i++) 
        {
            for (int u = 0; u <= 8; u++)
                Console.Write(grid[i*9+u].ToString() + " ");
            Console.Write("\n");
        }

        done_empties.Clear();
        int rem = grid[(int)arr[0]];

        for (int i = arr.Count-1; i >= 0; i--)
        {   
            begin_empties.Push((int)arr[i]);
            grid[(int)arr[i]] = 0;
        }

        grid[(int)arr[0]] = rem;
        index = (int)begin_empties.Pop();

        succeed = false;
    }
}

} [/code]

Once again, now in words: I pop an item from the source-stack, which holds all my indexes I have to work through. I try to set a value and check if it’s logically correct. If it is I will push it to the destination-stack, holding the indexes we already worked through. Then I’ll do this step again (pop an item, set a value, check for correctness). But if the value is not valid, I’ll push it back to the source-stack and pop an item from the destination-stack. When my source-stack is empty, I found my solution. To make sure there’s no other solution, I will shuffle back all my values to the source-stack, except the first one, and run through the whole procedure again.

Download sudoku.zipSudoku (source code, binaries and example file included) [4KB]

« Older entries

Neptunes Beard Plant Richland County South Carolina Eukaryotic Initiation Factor Sae Standard Torques Welcome Back Kotter Theme Show Lyrics New England Flower Show Bus Tours About Earth Condition In 2007 Etmc Orthopedic Institute Tyler Tx Shoe Print Shower Curtain Excavation Plans Constant Light Alarm Clock Lakewood Ca Center Mall What Happened To William Shakespeares Kid Sheral Tiege Nebraska Cvb Maslie Lastfm Western Trio Ibm Computers In Boston Outboard Motor Hoists Oxidation Exam Rita Andreassen Foxx Equiptment Lancaster County Penna Tec Inc Connecting 2 Computers To Cable Internet Denny's Children Stores What Does Extended Family Mean Euro 2008 Fantasy Fooy Nevada Standard Commercial Purchase Agreement Tides Eroding Shorelines Most Money In Us Movie History College Of Dupage And Home Page Papa Roach The Last Resort Governors United Martin Luther King Jr His Death Outback Steakhouse In Nashville Tn Avionics Positions In In Syracuse Ny Frank Kwitta Knocko On Mp3 Netopia R7200 Sdsl Router Showstars Karina Tie-dye Baby Clothes Lamar Consolidated Isd Baseball Tournament Motorcyle Travelers Lodging Astc Mean Westbank Bc City Hall Shoes Unique Disco Funky Colombe D'or St Paul De Vence Rick Jones Piano Maryland Motorcycle Repair Shop Flagstaff Az Asheville Carolina Estate North Real Sale Etc 07 Military Carers Betting Line Libby Trial Ie Button Submit Onclick Motorola Pebl Cell Phone Mineral Exploration In The Northwest Territories Motor Shaft Adaptors Teach Grant Program Tn Paintings Codec For Dvd Player Debbie Hammond River Front Sports Scranton Pa Dearborn Brass Berry Springs Darwin Ghost Neotek Majalah Komputer Indonesia Techniawka Vanderbilt Dialysis Clinic Nashville Tn Sacramento State Uiversity Fun Questions To Ask Kids Family Guy S04e07 Venir Dans La Bouche Family Porno Sex Pain In Vagus Nerve Down Leg Ac Dc Youtube Ice Cream Carrier Manufacturing Issues With Scale Up Cahnges Cumming Out Emma Waston Absolut Ebay Vodka Babay And Teen Furniture What Is A Network Loop Decorating With Lavendar White And Black Debs Disney Digest Grace Church Psl Fl Atlantis Hotel Pictures Paradise Island Intelution Babe Stas Neverwinter Nights Diamond Edition Activation Codes G And Tall Nfl Clothing Seymour Duncan Custom Evh Pickup Lake Fork Texas Level What Products Uses Chocolate Map Of Southwestern North Carolina What Is Non Denomination Abraxane Paclitaxel Msds Information B B's In Ottawa Controversies Surrounding Black History Month Bet Sos Awale Rikke Sonne Lafayette Alabama History