Flex Builder: Memory Profiler Problem with Object References View

2 06 2009

Ok, now on Flex Builder memory profiler again.

It has Object References view which is supposed to show me which objects are holding my particular one from being garbage collected.

Let’s take a look what it shows me from time to time:

profiler fuckup

It tells me “expand to see references” but there is nothing to expand. Bitches :)





Flex Profiler Sucks

21 05 2009

I always try to find in everything positive things but if I have a tool that is designed to help me and it doesn’t do it at all then there is nothing fuckin’ positive at all there.

So, last few weeks I was regularly using Flex profiler to profile my app memory usage. I have seen a lot of small drawbacks in profiler. For example, if I have Loitering Objects view and then clicks there on some class it opens me additional view where I can see back references to the object instance, i.e. I can see there which objects keep my particular one from being GCed. And sometimes it just doesn’t show me those back references at all though keeps the object in the Loitering Objects view. But this is bearable, such kind of things are just small bugs.

But few days ago after I optimized one use case I wanted to move further and profile other use case that is more complicated. In the run/profile modes the app goes smoothly and fast, IE which I use as a default browser eats 100-120 Mb of memory while I have 2Gb, so no problems. Untill I run the app in profile mode. Then it stucks, I see in the Task Manager that IE eats up 530 Mb and shortly after this I get pretty runtime Visual Basic exception. What the fuck?

Here is a screenshot:

profiler sucks

I will try now in FF browser (which I don’t support for this app), maybe any luck will be there.

And a lot of hugs to the guys who implemented this profiler. I would not work with you guys or hire you, try better.

UPD:
Firefox was able to render the view in the profile mode but it took for it 813 Mb of memory. Though not much helpful since memory graph in the Flex profiler ceased to update and when I clicked to create a memory snapshot it just hanged up.

Conclusion: seems like Flex profiler is good for unckle John application which shows vegetables grown in his garden. But for real production apps it just sucks. Pitty.





Movies and not Only

3 03 2009

If I ever wrote about some movies there were only my comments on really good movies, since I like to share positive things for others.
But this time I will comment a very bad movie. On the last weekend I’ve seen 4 or 5 movies, two of them were really ugly so I had no desire to view them completely to the end. The first one was the “Against the Dark”, a latest film with Steven Seagal. I will not describe this movie since it just ugly thing about some vampires, really cheap and nasty and without any fucking idea at all. My patience was able to bear maximally 15 minutes ;) But still I can understand why such movies are being produced and why actors agree to play in them: money. There’s never nothing bad with money making, it seems to run the world progress.

But the second movie was not ugly just because it is cheap and without idea, it pretends to be with the idea. Movie stars are never responsible for the content of the movie, they just play the scenario as good as they are asked. Director and screenplay writer are fully responsible here, they are filling the form with the content. Thus I would not say any shit to Daniel Craig who took a role in this crap called the “Defiance”. The real hero here is mr. Edward Zwick. I would like to wish mr. Zwick never ever again have any chance participate in movie making.
Now the reason why I am focusing that much on this movie… Well… History managed things in a way where between Western and Eastern Europe we have not only geographical division but so called “mentally” separation. Of course there are mental/cultural/other differences. But. I will despise any person who will try to deliberately cultivate the image of Ukraine, Russia and other Eastern Europe countries as the society of degrading people who only drink vodka full time and swearing. This film is all about this.
Quite often I have met people from Europe who never seen real Eastern Europe but who believe in this image. This is not good. I wish old good Western Europe all the best possible but people – be careful to not degrade yourself in taking so simple and rude provocations as the basis of your judgments. Those mental differences are no more such visible as it was 15 years ago, world is changing and vodka is not only being drunk in post-soviet countries, and people are visiting museums and listening to classical music not only in Germany or UK.

Now let’s start the work, it’s a fine day :p





Artificial Intelligence

8 07 2008

A very short post. Since I’m @work and have really a little time for posting.

A lot of people are continuously discussing and trying to make some forecasts on when exactly (always very soon) the humanity will get a priceless gift: Artificial Intelligence that will be able to think instead of us, to work instead of us, bla bla bla.

And that is all not needed. We already have this AI. Some of people surrounding us are not Intelligent, they are artificially intelligent. Truly, they are like robots who can’t distinguish “a” from “b”.

When I see a developer who has 2 contradicting tasks assigned to him and he is not even suspecting that something is wrong and doing those tasks one by one … then is he an Intelligent or Artificially Intelligent?

That’s all for now. Bye.





Let’s count to three… emmm… difficult

10 06 2008

In my work I regularly deal with documentation produced by other people. That always enriches me with new ideas, with some fresh examples and sometimes (quite often) some funny things can be encountered.

We all can count to three I believe. That is really simple: 1, 2, 3!

Just now I’ve seen the following in one document:

1. Program status. At this stage of development we will use only three type of statuses:

· Green – everything is all right

· Red – some errors, probably related to the books or if the program schedule overlaps with another program. At this stage should be only verification on overlaps.

So, you see, some people count to three like 1,2 and enough :)

There are other forms of this phenomenon that can be often seen. For example you ask few questions to a person in an email in form: Question1:…, Question2:…., QuestionN. When you get a reply you expect to see Answer1…, …, AnswerN. You open the reply and there is something like @#%Q!%@^W )))

I think we need to fight with such things fiercely.





Neverending game

6 06 2008

It’s a midnight here and I’m trying to finish the delivery documentation since was not able to do that at office this evening. As usual this non-trivial task gives me a lot of inspiration and a lot of little lessons learned. In this process I need to check everything that I’m trying to describe. And almost always this happens to be the only moment when I can actually check anything by myself. When the iteration is in progress I don’t have time to look at the intermediate results, there are always some hot tasks to perform so I should trust my guys.

But each time I find out some little things that can put onto the face of the very good functional delivery a mask of incompleteness, so the customer will have a feeling that something could be better. After analysis of a lot of such cases I can draw certain conclusions on the nature of this thing and try to choose a strategy on how to improve it.

The first reaction when you see some little inconsistencies in UI or inconsistencies between two similar tasks implemented by different people is likely to be “WTF, how could they left such things not aligned !!!”. But thinking in the context of a Team I understand that everyone is in charge and everyone shares a part of the possible blame. Today I had a chance to see once more that Murphy’s laws are working very well. What is not described in the task definition and could be implemented and perceived by different people in different way WILL definitely be done differently.

That is why there is sometimes a temptation to analyze and describe everything ideally, provide the full complete specification. And the thing is that we should not do this. Ideal is not optimal in case of software development. Complete analysis and specification are very costly and hardly to be worthy in not-quality-critical systems. The optimal analysis is the one when a developer gets enough info to implement the thing without interrupting you too much. Here you need to count on the intuition of your team. The more intuition, experience and just a common sense a person has the less ideal should be your specification.

What can be done to increase that intuition level? How is it correlated not with that person but with me? Very simple: I must talk after each delivery and point out each time even those little things. Not blame, but point out. This can’t be done off course by spending just 8 hours of your time at work, to improve other people you should sacrifice your time but maybe this is one of the main things that improves me myself.

It’s very important to have at work a person who can always review your work and provide some advices, show you your mistakes or weak areas. Unfortunately, being a project manager leaves a very little space for such things especially in the projects where feedback loop from the customer is not strong enough. I guess all PMs must find a way of learning things without a teacher. And after all, who told that a teacher is needed when you want to learn :)