Posts
Letters from Egypt 6: Our last day in Cairo
After a rather unsuccessful day, we decided to have a more aggressive program the last day in Cairo. We started out early with a subway trip to Coptic Cairo. It seems that very few tourists are using the subways, which is a pity because it is a pretty good system. If they only could have any information in English. We had to trust the ticket guy who said it was LE 2 for both of us.
read morePosts
Letters from Cairo 5: Islamic Cairo
We had a late start on Wednesday. We are going to take the train to Alexandria, and we want to make sure that we get the tickets, so we start with a trip to Ramsees railway station. I had expected the trains (which seem nice from the guidebook) to be much used by tourists, but as it turned out, all the information was in Arabic, with the platform numbers, and the word “platform” as the only thing in English.
read morePosts
Letters from Cairo 4: New-Colonialism
In Cairo, we have noticed a recurring theme. Many places that are visited a lot by westerners are sectioned off from the rest of the city. When Egypt was a British colony, the colonialism was expressed by importing British culture into Egypt. With modern colonialism, a section of the western world is placed wholesale as a small colony inside the city.
After a rather tiresome day, we didn’t feel like we had the energy to go egyptian style again for dinner.
read morePosts
Letters from Cairo III: Abou el-Sid, traffic and ancient artifacts
Abou el-Sid is located in Zamalek along the Sharia 26th of July. The doorman for the hotel hailed a cab for us (and got a bit of baksheesh for that, I don’t know if that was right), and negotiated an overpriced fee. :-)
The traffic is seeming more and more what people warn that Cairo traffic will be like. Previously, we’ve felt that despite the messiness of the picture, things have been managable.
read morePosts
Letters from Cairo: Sand and pyramids
Today’s trip was like taken directly out of the lonely planet guidebook. Our guide Said Azawi (todo: double check last name) picked us up at the hotel at the appointed time. Driving over Gezira, past the Cairo Opera house and into Giza we arrived at the pyramids at the Giza Plateau early. We were a bit suspicious about the whole deal, but the guide recommended we get horses or camels to take us across the plateau.
read morePosts
Letters from Cairo: Messy, friendly, opportunistic
(The “kobyuutr” on which I am writing this has an arab/english keyboard, so I will write in english)
We arrived late at night at Cairo international airport, and got a first impression of Egyptian bureaucracy that has remained. We ended up standing in lines for a long time, and when we finally were through, it was 2 am, and we did not feel like dealing with Cairo’s infamous taxis. So we took a “limosin service” to the hotel.
read morePosts
The CI feedback device of your dreams
The Device Patented Process Indicating Apparatus. Available soon. We hope.
read morePosts
developerWork: Don't Repeat the DAO
I am happy to see others express positive opinions about universal DAO interfaces in Java. Per Mellqvist writes in developerWorks: “Don’t Repeat the DAO” about creating a GenericDao interface:
public interface GenericDao <T, PK extends Serializable> { /** Persist the newInstance object into database */ PK create(T newInstance); /** Retrieve an object that was previously persisted to the database using * the indicated id as primary key */ T read(PK id); /** Save changes made to a persistent object.
read morePosts
Hello Lazy Loading
Due to popular demand, I will post a very short version of my Lazy Loading article:
Why? Because this is bad:
Category category = dao.get(1); Category parent = dao.get(category.parentId); int sumChildValue = 0; for (Long childId : parent.subcategoryIds) { sumChildValue += dao.get(childId).getValue(); } System.out.println(sumChildValue); This is good:
Category category = dao.get(1); int sumChildValue = 0; for (Category sibling : category.getParent().getChildren()) { sumChildValue += sibling.getValue(); } System.out.println(sumChildValue); And this is better:
read morePosts
On Integration: Why I enjoy working with databases
Status: This article is currently pretty dry. I’d like feedback on how to make it more eloquent.
In my previous blog post, I promised to write more about using databases as the main integration strategy. In the current post, I plan to cover maybe the most important question: “Why?”
Imagine an application where every time it wants to communicate with another system, it reads or writes to the database. For now, let’s ignore how this would work, and how it would evolve, which will be the subject of later posts.
read more