Vacations: Rome, Italy (2011)

At the age of 27, it was finally time to travel the world on our own. We decided to go to Rome, Italy. I don’t consider this a review as much as random ramblings about what I remember – this is close to a year ago now.

We ordered the trip from Expedia, which didn’t give us any problems at all. The plan was simple;

  • 3rd July, fly from Oslo to Paris, and then from Paris to Rome
  • Have a blast in Rome for 8 days
  • 11th July, fly from Rome to Amsterdam, and them from Amsterdam to Oslo

Getting to Rome

We traveled by plane to Paris, where I had the opportunity to test my French skills for the first time since school.  I managed to order food.  Not bad if I must say so myself. We continued by plane to Rome. No immediate problems after landing.  Attempting to withdraw money from what looked like an ATM machine were unsuccessful. We continued outdoors to see a lane of Cabs waiting to pick us up.  They drive people to their hotel in Rome for a fixed price of 60€.  It seemed like a pretty simple arrangement, but since they’re motivation is primarily to drive as many trips as possible in one night – it also mean they don’t necessarily drive safely :)

In Rome, the Cab driver dropped us off.  We had established that his English was horrible. We paid 100€ expecting change, he smiled and took off – I don’t think I’ll ever forget that.  Lesson learned; Don’t exit the cab before you’ve taken care of business.

Arrived at the IQ Hotel, where we chose to stay. We got a special offer because we spent more than 7 nights. It was also a very new hotel, with working wifi and good A/C.  Very polite and helpful staff, and things were pretty shiny in general.  My favorite feature was the switch next to the bedpost, which toggled a DND-light visible outside the room.  My understanding is that the staff was able to see when we turned that light off, because it didn’t take long before we left the room until it was cleaned.  The cafeteria/lunch-place was the kind of place we’d expect.  I don’t think mediterranean breakfast culture is anything I will get used to anytime soon.  We’re both very happy with the time we spent at this hotel.  It was awesome in every way we care about.

Must see

Rome has a lot of ruins.  All over the place, there’s a stone that used to be a part of something bigger.  Even though this is very amazing in its own way, it lost its appeal after a few days.  However, you can’t visit Rome without paying a visit to Colosseum, Palentine Hill, and Roman Forum. Those are must-see ruins, and can be done in one day if you combine them as one trip.  We got our tickets to Colosseum from the guides that hijacked us outside.  It was money well spent, as we could cut through some of the lines without waiting too long – and the guide was good.

Colosseum, it’s … colossal.

You should also visit the Vatican State, regardless of your view of the church. There’s a lot of history in that place. Mind-boggling to say the least.  The bad part is that a visit to this place, basically means walking/standing in line for an entire day.  Looking at an amount of treasures or work of art that is beyond most peoples ability to absorb.  It wouldn’t surprise me the least, if this was the largest collection of treasures in the world.

Miles of walking, and new painted art in the ceiling everywhere. And that’s just the ceiling. The exhibition itself is HUGE.

We arrived a bit too late to look at Pantheon during rain (actually, we stayed inside, waiting for the weather to clear up) – which was bad.  The Pantheon got a large hole in its dome, letting rain or snow through.

(The video is not mine, but it serves to prove my point)

Capuchin Crypt is one of the places we saw that I hadn’t heard of before we came there.  It’s a pretty unique sight, and the entrance fee was symbolic. Alas, being a holy place – we were not allowed to take any pictures.

Other silly adventures

Looking for Mal’

Nathan Fillion, the actor playing Mal’ in the Sci-fi series Firefly were in town at the same times as we were.  He played games with his twitter-followers, showing them images of places were he had hid stuff for them to track down.  I managed to figure out it was on Ponte Garibaldi, but alas – we were too late.  It was fun, it got us out of the Hotel Room – and we found Alberto Pica.  It’s all good.

The Time Elevator

Don’t go here.

Porta Portese Market

This is a flee market near Circus Maxximus.  Fun place to browse for stuff.  Far between the unique carts, as most of them are basically identical carts selling the same crappy goods.  Some of them stood out as unique, though.

The Spanish Steps

The guys pushing roses are extremely annoying. Buying roses to your partner is usually a romantic thing.  When they give your partner a gift, and then pander you for money – it kills the mood for everyone.  It’s just … Pushy and silly. We ended up with 7 roses before I learned the trick of turning them down with a closed fist. Didn’t feel right at all.

The Trevi Fountain

Like the Spanish Steps, this place is extremely crowded – and also contains its share of pushy vendors. I don’t think you miss anything if you steer clear of this place either. Well, it’s nice to actually get to see it – but when you’ve seen it – you’re basically done. Move on. Let’s get something to eat.

Food

Rule number one: Use Lonely Planet, or a similar good tourist guide.  Most of our good experiences, came from using Lonely Planet.  Most of our bad experiences, came from not using it.

Alberto Pica

Found with Lonely Planet while doing other silly things, this proved to be a place we really regret that we only visited once.  They had a lot of different flavors of ice cream and sorbets. They have a few flavors that are quite unique; Rose petal and rice, to name a couple that comes to mind.  It was excellent, and I regret we only got to visit this place once.

The closest is a lemon sorbet, with rose petal ice cream.

Babington’s Tea Rooms

A quite nice place that we visited two or three times.  The prices are a bit steep, but the tea is lovely – and we had excellent brunch here.  Staff was nice, too. I don’t think this place is for everyone, though.

+1 for cat in their logo.

We also did try to find places who served good pasta-dishes and pizza – we’re in Italy after all.  I can’t say we found anything unique here.  I believe you can find good pizza in most countries, and as far as Pasta goes – I still haven’t found a place that serves anything that tops homemade carbonara – which we’re perfectly able to make ourself. We also ate at Hard Rock Cafe, which is a nice place – but not really worth the long wait (I think it was about two hours). And Hard Rock Cafe is something you can find other places as well.

Getting back home

We had a bit of a hurry in Amsterdam, to make our flight.  Too bad our luggage didn’t make it – it had to take a later flight. A few days later, our luggage was delivered at home. Lesson learned; Try to make room for actually performing the transfer, when ordering tickets.


View 2011 – ROMA in a larger map

Tiny Quest (LD48#23)

This was my entry for Ludum Dare #23 – the theme was “Tiny World”. After not participating in Ludum Dare #22 because I hated the theme back then (Alone), I decided that I wasn’t going to put too much weight on it this time. Since I saw Super Smash Land, I’ve been wanting to make an attempt at making something that looks like a Game Boy game – and even though it’s not a perfect fit, it’s acceptable.

It’s a platformer. It has a lot of bugs, and I’m a bit ashamed by it. I’m not used to leaving around so many bugs, but this is kind of bad. The buglist so far:

  • The jumping mechanic is poor enough, that it should be listed as a bug.
  • The blob-enemy sometimes start off by just floating upwards and never coming back down.
  • When I perform gravity on my sprites, they will take damage before they stop moving — which means that in the last bossfight, you will be damaged by the flames even though you’re over them.
  • The player has two bounding boxes, and it is possible to get stuck in an angle due to them not having the same base. (One of them is used for damage) … Workaround: Jump off.

What went well:

  • The graphics were pretty much as I wanted. There were too little graphics, though.
  • I managed to get ports to all 3 platforms – which is nice.
  • My basecode/engine works pretty well. I’m happy about that.

What didn’t work out as I hoped:

  • I wanted more enemies, more content and less bugs. But I just wasn’t imaginative enough.

All in all; I’m mostly happy with the result – and I’ll do even better next time. If I get the time, I will make a larger game from this entry – just to show off what I wanted to do, at least.

Some screenshots and a timelapse:




New Munin-plugin for HP P2000 StorageWorks

I committed a new Munin-plugin for HP P2000 StorageWorks. It monitors through the HTTP XML-RPC interface. It detects all disks, vdisks and controllers automatically – all you need to provide is the username/password, IP-address, and set up some symlinks.

It produces 10 graphs, + subgraphs.

Graph-gallery:

VDISK:

Disk bandwidth and iops (rootgraphs provides enclosures, subgraphs provides disks):

Controller bandwidth and iops:

Controller Cache:

Controller CPU-load:

A sawtooth-graph to indicate uptime statistics for the controllers:

Use Munin? Got a HP P2000 StorageWorks SAN? Why don’t you give it a try? :)

Presentation: Writing modules for nginx

I held a presentation at Redpill Linpros “C / C++ / Embedded” Competence Group-meeting yesterday.

It was about writing modules for nginx. It contains a lot of source code. I believe it’s an OK primer.

The example code can be found on github.

https://github.com/kvisle/nginx_module_samples

New Munin-plugin for HAProxy

I committed a new Munin-plugin for HAProxy. It’s a multigraph plugin, it discovers all the configured frontends and backends automatically – all you need to provide is the username/password for the haproxy status page.

It produces 8 graphs, + subgraphs for some of the backends, where it presents the same graphs, but with server-specific metrics.

Some of the root-graphs:









Do you use HAProxy and Munin? Check it out!

Experiment of the week: Bump mapping in OpenGL

With a lot of help from my friend Zerd, I finally managed to get bump mapping to work. I’ve been pondering on how bump mapping can be used with 2D graphics – and after playing around a bit, I don’t see any reason not to use this.

A built version for Windows can be downloaded here: http://dl.dropbox.com/u/1287557/bumptest.zip … The source code is included, and it builds fine on Linux. It also works just fine in wine if you don’t want to bother building it. The code is fairly minimal.

A couple of screenshots with light illumination from different sides; (NOTE: This looks better in motion)

WTF anno 2005: Secure File Downloading.

When I started as a system administration at my old job, one of my first tasks was to help a consultant – from a company I won’t name – with their proprietary solution for “Secure Internet”. My workplace needed a secure way to download files, and their solution should cover all this… in various interpretations of “secure”.

The design was fairly simple:

  1. Clients connect to a terminal server (being Citrix or RDP, it doesn’t really matter).
  2. The Internet connected session can’t access the secure network, but is able to store files on a temporary home directory in the DMZ.
  3. The files in the DMZ are picked up and transmitted by email to a special account.
  4. On the MS Exchange server, a trigger reacts on incoming emails to this particular account, and then writes the attachment to the user’s home directory.
  5. The user can access the downloaded files inside the secure network.

If we say that it’s acceptable for the user to deal with untrusted files downloaded from the Internet, this is a fair design. It does the job. However, this is not what I wanted to present to you. I think it’s more interesting to look at how the file-transfer is performed.

When the user saves his file at his temporary home directory in the DMZ, a scheduled job runs and picks up the file. The same job constructs an email formatted like this:

FROM: filelockaccount@acme.org
TO: filelockaccount@acme.org
SUBJECT: \\fileserver\home$\username\filelock\iloveyou.exe
ATTACHMENT: iloveyou.exe

On the Exchange server, the trigger picks up the email, and writes the attachment to the path defined in the subject. The Exchange server ran this job with administrative privileges.

To see whether this could be exploited, I used an Internet connected computer outside the network – just connected via ordinary ADSL. I made Outlook Express use the ISP’s SMTP-server, and made an email formatted like this:

FROM: filelockaccount@acme.org
TO: filelockaccount@acme.org
SUBJECT: \\somewebserver\c$\OMGLOLZ.txt
ATTACHMENT: OMGLOLZ.txt

A couple of minutes later, I could see OMGLOLZ.txt in the root of C:\ on somewebserver. We also tested whether we had access to potentially execute malicious code… and since the magic process on the Exchange server ran with administrative privileges, we definitely could.

Turns out the secure way of downloading files from the Internet could be used to compromise server security in the entire network.

The hole were patched shortly after, and I got my attaboy.

Goals for 2012

  • Get better at drawing.
  • Make a chiptune.
  • Participate in more competitions, more often.
  • Co-create a game with someone (compo or not, whatever – it’s for fun).
  • Post more stuff on this blog.
  • Release more code.
  • Release more tutorials.
  • Enjoy life more.

I drew a guy, he has weird proportions, but I’m happy with him. I didn’t attempt to create Cody from Final Fight, but I was thinking about his colors. I didn’t put a lot of work in it.

(Looking at the ambitious-level of my own goals, it’s easy to understand why I’m usually not happy with my own effort.)

Links house, analyzed: Part 3 – The wall

The wall can be broken down into 3 parts, + the floor-edge, since it’s not technically a part of the wall. It always sticks next to the wall. The wainscot, the wallpaper and the crown-molding. I’m not 100% sure that this is what it’s supposed to be – 16 bit graphics often leave some room to interpretation.

With the exception of the corner-area, the wall is built up by these 7 tiles (not 8, because the two tiles for the border are identical). Looking up close, the tiles are fairly simple. The detail here, is the combination of the tiles.

The floor-edge

Closest to the wall, it starts off with two pixels of dark color. This gives us the impression of being in a corner next to the wall.
Most of it is filled with a solid color fitting to the rest of the rooms palette.

The wainscot

Consisting of two tiles – together they could create a simple brick-wall pattern. The reason it looks like wood, is because it’s brownish of color. Fairly simple dithering; Not too much, not too little. The corner-tile is just a few pixels marking the corner itself – without any additional dithering/shading in the area.

The wallpaper

When I look this closely at it, I get the feeling it’s stained. These two tiles alone, proves how much detail a tiny amount of randomness can add to a scene. The corner tile got extra “stains” added around the corner for shadowy effect. This also adds to the illusion of perspective, as this tile is higher up than the wainscot.

The crown-molding

This is the most detailed of the four parts – yet, still fairly simple. If you alternate the two tiles, you get perfect tiling.

So, the walls in Zelda are fairly detailed – yet, also fairly simple. If one break down the wall into individual components, one can see what kind of tricks has gone into making of the wall.