Wednesday, March 18, 2009

Brothel for sale!

Sydney has a (large) number of brothels. Normally one may not be aware of them, but here is one. I haven't seen the sign before, I'm on my way to meditation. Ill be late, but I do have something to meditate on. Yes. Ill be late because I'm eating at the bar nextdoors. Thanks for asking.

Saturday, March 7, 2009

It's gay over there...

Now is the parade of the Sydney Mardi Gras. From the street its difficult to see. Here they do it during the evening. I'm in my apartment as is the picture. When I went up to my apartmen there was a line to my building. Ppl lining up to go to friends parties. Wow.

In any case. I've recently spent some time thinking about how poorly all (commonly used) programming languages scale. Scale as in: number of ppl on a project, difficulties in actually using them and getting things done, massiveness of the amount of code, and interactiveness during developement.

I always liked lisp. But I never really use it unless there some interesting combinatorical (symbolic) problem to solve, or a hard algorithm to implement. I use it to verify proof of concept. But there is no lisp I like. Scheme is too limited in that it encourages, and make it too fun to use closures a lot. Roll yout own OO in a minute.

So what am I really looking for? I believe in few simple concepts. Generality. Dataflow thinking. Functionalish. Messaging. Declarative as in sql not as in functional languages.

I may be getting old and forgetful. But I could never keep name of things and ppl in my mind. The fewer named elements there is in the code, i.e., less boilerplate, the easier to use. You can do everything in java, but why would you?  Ever implented a filtering iterator? Are you sure you got it right? Lambda as un anonymous functions is nice. For loops are mostly boilerplate. Mostly not stating intention as it guarantees an order of processing. Even when not needed. Types could help here to glue reauirements together. Most languages will sort an already sorted list. Silly. A list should/could know what it is sorted on and make short a noop. Ah we need programmers to specify more strict types you say. I don't agree. I agree that every value has a type. Variables can be limited to a type too. But that is a constraint. I think a compiler and optimizer and list construction operators could figure it out. Usually order is inherited. This is ordered because of that. Could a compiler figure out that the result of a sort implementation returns data in a certtain order? Think about it!

Loops is another issue. We spend an awful lots of code on explicit looping. Looping over data. Why aren't our languages  more data centric in their implementation than operation centric? It comes from ppl being more facinated with the operations than the purpose of the computation. There is two major languages that are data centric and therefor quite efficient for large data sets. Can you guess? SQL and APL. Yup. Actually, perl is there too. Not as most ppl are using it. Perl is only efficient if you can solve your problem in a single regular expression, s/ something / expression / ge.

Perl is very controverisal among serious programmers. It does one interesting thing in that it may make you think about your problem in terms of extraction, tranformation and reduction. Ever heard about maprduce? Its also data centric. But very limited. But any large problem can in principle be implemented as a series of mapreduces! Possible not the most efficient. But doable.

Back to data. Looping. Consider sql, apl, regexp, mapreduce etc. All of them implicitly process a lot of data elements without in most cases needing to use an explicit looping construct!

Did you know that a supercomputing fortran is very advanced in that it spends most of it resources in trying to figure out the data flow and their depenencies in order to unroll loops and parallellize them? Essentially you could say that it builds a functional lisp program making the dataflow explicitly visible. Any computation that doesn't depend on another one or even its own can be run in parallell on massive amounts of data. Even summation using sum += x; can be easily parallellized as it understands that [in most cases] its communitative. You can easily apply divide and conquer and the sum up the subresults. Now. The compiler figures that out. Why don't most other languages know this about operators?

I once got an interview question.
- Divide a very large integer number w a single digit number.
- What language?
- Any.
- (/ large digit)
- really?
- yes, most lisps have infinite precision integers.
- ok. Fine. What if you need to do it in C?
...
Ill spare you the fun of that code. Feel free to send me your solution. The funny part of this is that that problem is quite efficient to solve in lisp. And why is that? Because it has "scalable arithmetic".

So as a conclusion to these thoughts I'll make a pot of tea.

Then later when the big roar of the crowd is over I may enjoy wandering a bit in the warm night.

Happy Mardi Gras!

Friday, February 27, 2009

Yum Cha

Chicken. Jello. Tea.

The view from my office

Its not a sunny day, but ok temperature. Downstairs is a park and that's nice when one needs a break. The cars provide moving distraction when needed and the water the tourist view. But we're moving offices soon.

Sunday, February 15, 2009

Where is a TV-be-gone when you need it?

It seems some aussiebars have screen overload. I count number of monitors including the atm to 20. The ones to the right is from the gambling den. I have a book. I read it instead.

Saturday, February 14, 2009

Bicycle

This time I got a Dutch style bike Electra. Its lighter than the Swedish Kronan. Its nice to be biking again after 8 years in US. SF was quite hilly. Sydney isn't totally flat like Holland, and it does have hills. Just not only unsurmountable ones. Today my bike rests. We've had some heavy rain yesterday and the sun is hiding.

Wednesday, February 11, 2009

Swedish pizza

Tonite I found a gem. A Swedish pizza place in Sydney. Its at the Bondi Junction. Just ask your favorite Swede what is so special about it. In any case. The first thing I want to eat if a go to Sweden is Swedish pizza.

Monday, February 2, 2009

I keep coming back to this picture...

It is one of three pictures that I took trying to capture the Fernsehturm (tv-tower) at Alexanderplatz. This one is imperfect because it doesn't capture the actual top round house of the tower which at a distance is one of the signs of Berlin. However, its perfect in it self. The colour, the incompleteness, the composition.

Sunday, February 1, 2009

Chinatown: new years light parade

Various lighted animals in evening parade. Now there is drumming. It is a warm evening and if you are in a tight crown then its sauna hot and svett dripping. Funny. I haven't seen this parade in Amsterdam and San Francisco. But then again. Those places don't have Yum Cha. They have Dim Sum instead. Over and out.

Saturday, January 31, 2009

$2 steak!

When buying a drink. $2 extra for mash and gravy. This is the effect of Sydneys special drinking permit that is expensive and requires holders to have 30% of the guests eating. The size of the bars ("hotels") are humoungus with any other cities measure. So they need a lot of guests. Its interesting sideeffect. Sweden has/had similar rules making nightclubs open early and provide cheap food. This place "sharks" has many international students and other younger ppl. Now back to the steak...

Friday, January 30, 2009

Looking for a book

Found many but not the one I was looking for. There is this amazing second hand bookstore in Newtown that, well, has books. They are roughly organized by subject and then you need to browse. Its literary overflowing with literary stuff. Books in humoungus piles on the floor on top of the bookshelves exploded on the floor. Its amazing. But it isn't alphabetical. Happy browsing.

Saturday, January 24, 2009

Fresh and hot

Sydney now has 39C temperature. Maybe hot and stale? Not yet stale. But it is hot. It is windy at the same time. Interesting warm breeze. The picture is from a hostel in Berlin and shows an automatic hot dog dispensing machine. Didn't try it. Even if its German XXL.

Sunday, January 18, 2009

I've been under the weather for a week.

Some stomach issue and some feever. Better now. But when is one sick (0) and well (1)? Maybe Germans have it all thought out in this binary elevator. Will. Will not. Is is not.

Tuesday, January 13, 2009

Back in Sydney

This is a picture from a subway station (U-bahn) in Berlin. Most of them are really old but this one looks like its from the 70ees. Yes. I'm being jetlagged. No telling what I'm doing.

Saturday, January 10, 2009

Wedding in Germany

I had the fortune to be invited to my friends Thomas and Maureens wedding in Regensburg. They play games. It was nice. Regensburg has some to offer. I found that too. Now I'm in München. And I'm freezing my ass off. Funny. But its life. At least for ppl here. Summers are nice. But it makes me appreciate Australia. I mean; wqhy freeze if there is a choice. What's nice is the Wienerschnitzel and Bratkartoffeln.

Tuesday, December 30, 2008

Monday, December 29, 2008

Grafitti in U-Bahn

Almost looks like its commissioned but I like it. Just attended a talk at CCC on gsm network with running basestation. The hacker conference continues.

CCC

Hackers conference. Currently attending the Hackerspaces talk. Jacob Appelbaum is representing San Francisco's Noisebridge that I was part of initiating and shaping. Its cool being here in Berlin again. The picture is from Alexanderplatz and shows the Weltuhr - worldclock.