work
Productivity, generality and OpenMP
Posted July 13th, 2008 by DavideFlash news.. I'm very busy at work 8)
I could work less, but I want to produce something good. I like the idea to take a more general approach to problems and make something bigger out of it.
One of my current goals is to develop in a scalable manner. In order to do that, things need to be rethought in a more generic form.
For example one can have a triangular mesh, or could develop a system to do a remeshing to turn the original geometry into a semi-regular data structure that can easily be compressed and streamed progressively.
I think that scalability is really a key to the much needed productivity improvement in game development.
At work we talk every day about how to go about some solution, and there the key question is always: "can we use a scalable and generic solution ?".
This is usually about development pipeline.. not about actual code. The idea of code reusability is less straightforward. I actually aim more at providing simple implementations, to modularize code so that it can easily be grabbed without too many dependencies.. rather than trying to fit all in a supposed grand scheme of hierarchy of objects and whatnot.
In the end the harder problems are really those about how to organize data and how to transform those data across the development pipeline.
On the side, I also used OpenMP for the first time. After a few odd results, I managed to parallelize a loop that uncompresses images in that progressive-JPEG-like format that I've been working on.
Like for JPEG, the image is processed by 8x8 sub-blocks. Using OpenMP pragmas I set the parallel section to happen on rows of blocks.
Parallelizing every row of blocks makes sense, but I could probably try to do multiple rows at once to see if I can reduce overhead of context switching and potential cache trashing. Parellelizing every block instead turned out to be overkill.
As a rule of thumb, if I think that I could wrap some code into a function with practically no overhead, then perhaps I can make parallel section out of it. In fact, I think that OpenMP eventually grabs that section and makes a function out of it anyway...
Aside from some early decoding artifacts due to my inability to share some variables from outside the "parallel for" (see the example at the bottom here), using OpenMP was really easy. Definitely much simpler than manually creating and reusing threads, also less involved than using Threading Building Blocks because one doesn't need to create functor objects and also because OpenMP is readily available with modern compilers with minimal effort.
cool
zzzzzzzzzz
This and that
Posted June 20th, 2008 by DavideI'm a bit lost. The older (wiser ?) I get the more I realize how everything in life is so unstable and relative.
Most things are what we make of them. You could be stupid and become the president of a big country, start a few wars, change history for better or for worse. People then may or may not realize how stupid you are.. but it will still be a bit win for chaos. Chaos rules modern civilizations, big time.
At work things are going well.. relationships with coworkers improve everyday. As a senior employee, I feel that younger coworkers have certain expectations towards me.. which makes sense, but at the same time one could be wrong on something at any age.
Some people will challenge the status quo more than others. Sometimes I'm challenged myself, though I'm a person that challenges things... challenge the challenger !
You can challenge something, demonstrate the opposite and possibly be successful in your job. Or you can go along and still be successful.
Basically I think that nothing is really well defined. I can see how I could take a path at work and focus on something or focus on something else.. there is a lot of potential everywhere. I could be rich and famous if I cared for that more than other things.. then people complain that they are not rich, but I can't see how it's not their fault.
Same is with personal relationships. A recurring pattern:
10 find a girlfriend 20 take her for granted and get tired of her 30 break up 40 regret for a while 50 find a new girlfriend 60 stay in limbo for a while 70 lose interest for the previous girlfriend 80 goto 20
.. in the meantime there is this ghost.. the ghost of the "M" word.
My opinion is that if I didn't leave Italy, I'd be "M" by now ("M" is pronounced: "fucked !") .. because life would have been much more static. I'm not a wild adventurer, but you don't move to California and then to Tokyo only to get stuck in some gear.
I sometimes wonder how fashion and female customs affect economy. With all those cute girls wearing sexy clothes everyday.. perhaps affects how men think and behave. Perhaps men would be less motivated at work if there wasn't so much "fish in the sea" (though not easy to catch !) constantly teasing the hungry worker.. work harder, get richer, buy me an expensive bag !
And those sexy girls definitely influence other girls.. it's like a race to who's cuter.. or at least it's a reminder that if you don't act cute or dress sexy, then some other girl will and she'll take the better man.
Basically a competitive environment..
Of course all this has to be taken with a grain of salt. I think I see the general rule to get people going and working. It's true everywhere, but perhaps slightly accentuated in Japan. To what degree and to what extent I don't know, but I can definitely see why women in Rome and in Los Angeles dress a lot more casual than their Japanese counterparts.
..but where does all this lead ? I'm supposed to feel arrived, to want to settle, to want to go home early. Instead I want to do my programming, I want to code graphics, mostly, but anything else.. I like the freedom to go about projects at work or at home.. and I find it hard to believe that I will ever want to get into a relationship that is destined to become affection and little or no passion in the best case. But more like fighting, cheating, separation in the more common case.
Every time the "program counter" gets to 50 I'm glad that I'm still in the loop, because every cycle is a bit different, every time I learn something new and I fear the day when I will have to break that cycle.
ummmmmmmmm !!!!
April in Japan: Cherry business and quickies.
Posted April 5th, 2008 by DavideIn Japan the fiscal year starts in April. Newly graduated students start officially working on the 1st. Contracts are renewed or not renewed on the 1st. People go picnic under blossoming cherry trees in parks (花見, hanami).
A few things have changed in my company. I can't say about others publicly, but personally I still work there, which is nice 8)
I was offered to become a full-time employee, but other than the prestige of receiving the offer, if I had accepted I would have taken the pay cut on the first year !
The way it works is that when one becomes a full-time employee, he or she gets less monthly salary but overall more by way of 2 yearly bonuses.
However the bonus starts counting from January, while job positions change in April. So, one ends up with a lower salary to be compensated by a first-year-crippled bonus (!)
So, I signed (actually, stamped) another yearly contract and I'm looking forward to get some good work done.
I've been already working pretty long hours. Generally over 10 hours per day, towards 12, 14, sometimes more.
I wasn't specifically asked to, but I've been doing some interesting stuff and I like to hurry up at first to get to a point where I'm comfortable. Basically, I want to get good tangible results fast, so that the project picks momentum with the coworkers on board.
This is all the more true as a team leader, because I'm responsible for setting the groundwork for other people to work as smoothly as possible.. (basically trying to keep people happy with their tasks 8).
Most people mood about things can turn on a dime. Sometimes there are internal power struggles. Sometimes power struggles are out in th wild, sometimes are half concealed and fermenting in the background.
As criticism came form lack of sharing of information, I proposed daily morning meetings. Conceptually, 5 minutes standing meetings.
Though one can and will definitely sit, and sit for more than 5 minutes, the idea is to routinely update each other every morning. This beats longer more formal weekly meetings as much happens in a week and by the time one has to report, a lot gets forgotten. Generally it's just hard to get good feedback once per week.
Ideally people would work along and consult each other frequently during the day, but not everyone works with everybody else and it's nice to get a light update on things every day.
Also, because the meeting is meant to be brief and informal, one doesn't have to stick around and go too much in deep about other people's work (possibly the principal component of boredom in meetings).
Let's get busy !!!
P.S. I guess we're using a Agile software development practice without knowing it explicitly 8) ..but frequent updates are really just common sense (and I must have heard about stand-up meetings somewhere already).
My life for Aiur !
Posted January 14th, 2008 by DavideOn the work side, I've had a lot of stuff to do recently. Some great things happening, but some not so great, too. I cannot currently say that I'm 100% happy with the situation.
I wish I had more trust and a bit more decisional power. If I were given more power, the first thing I'd do would be to give myself a raise 8) ..no, really !
Sounds lame but it's important. I think that my current position is potentially very formative (I consider that very important), so I would like to invest extra time on it, but at my age I have to start worrying about getting more money and if my day job doesn't provide enough, I'll have to start looking for alternatives, second jobs, different jobs, whatever.
Let's not even start talking about job mobility in Japan. Work places are very static, especially for a foreigner with limited Japanese language abilities working in the game business. But, I want to stay in Japan so, in a way or another I have to find a way to have fun, improve my career and my paycheck, too 8) ..not easy but I'm very confident I can achieve pretty much anything, if I focus in the right direction (where ? 8)
Recently, I've been given more and more responsibilities, which is exciting ! However the management side of things tends to distract me from the actual coding/research, which is still where I have to give my best. Then there is the business travels, the health checks, the PCs setup, tons of emails in Japanese to read, and my Japanese itself, with the reading skills which are possibly worsening... aaaaaaahhhhhhh !!!!!
Being able to collaborate and communicate is an essential skill, but as a seasoned developer, sometimes I feel I should just be trusted because I can't be a "PowerPoint-man", a "business-travel-man" and still being the lead coder in a "new" team.
As I said before, I try to stay off the trends as much as I can. Not getting my head into some mainstream trend in real-time 3D is very important. Creativity is what will set anyone apart, and trends kill creativity.. so, do worries at work.
..eventually everything will fall in place. But right now I'm paying the price: Sunday I spent my day in the office working practically alone. Not so much because there is no time in the long term, but more because I don't have everyone's confidence just yet, which frankly it sucks 8(
mooooooooooooo
Mr.Manager
Posted December 11th, 2007 by DavideThis week is pretty busy at work.
I need to prepare a presentation for Friday. In this presentation I'll have to report to the group on current and near future work for my team.
Then I have to dish out some plan for a year-long project. I started today and, well, I didn't even know what software to use ! Eventually I settled for GanttProject as most people seem to dislike MS Project.. but GanttProject does have a few bugs and the features seem to be lacking. It's pretty good, but still.. I would like at least to custom color the background of the columns for example..
Anyhow it's interesting to schedule projects. In this case there is a lot of wild guessing to do. So, I take the outline (divided by year's quarters) from my boss and I progressively add more details in a hierarchical fashion.
Many details will be missing, some things will require more time, some less time but still, if you don't at least try to plan things, they may never get done 8)
Another thing I have to do this week, well for tomorrow, it's a new attempt to study math in our group. It's mostly going to be useful for those that aren't programmers (but certainly also always for programmers as well !) but because it's in Japanese for me it's mostly a Japanese language study.
In fact this time the appointed "teachers" are me and a Japanese colleague. My role for now is to translate the terms in English by tomorrow (almost 1 AM here !) and then work in concert with the coworker to somehow teach math+English+Japanese depending on the individuals 8)
wooooo
Will anyone put Windows out of its misery already ?
Posted November 1st, 2007 by DavideSince I came back from Arizona I've been quite busy. I've been going to sleep regularly at 4AM and waking up at about 8:40 in the morning. Busy at work but also busy at home, doing "the thing" with the computer.
Fiddling around.. watch a movie, fix a script and time flies.
Today I installed Leopard, the latest version of Mac OS X. It took about 1 hour. All I had to do was starting it, no request for security codes, no crashes nor burns.
Mac OS X doesn't blow my mind, it's just generally nicer than Windows though admittedly at home I spend most of the time with Firefox 8P
It seems however that at work I'll have to install Vista pretty soon to run DirectX.. I mean, Direct3D, 10. Of DirectX, Microsoft only left Direct3D alive and now would like people to use the Direct3D name, but it just isn't going to work.
I generally don't like the idea of installing Vista because I think it's simply useless. Apple is constantly pulling out great hardware and great software while Microsoft is generally lagging behind.
The only recent Microsoft success I can remember of is the XBox 360 (though still behind Nintendo). Other than that, Microsoft's big business is based on good timing from 20 years ago.
I hate the idea that I need to install Vista just to use DirectX 10, that's so unfair and it's possibly the only reason why anyone would install Vista.
Hastalla la Vista
zzzzzzzzzzzzzzzzz
In Phoenix: desertic place, interesting people
Posted October 23rd, 2007 by DavideI checked-in in some sort of Golf Resort & SPA in Phoenix (Arizona) yesterday.
Actual business started today with some Welcome event. I publicly can't talk about the event itself but I can definitely say that it was quite interesting.
It was mostly about 3D graphics, under different aspects. Very interesting talks with lots of intelligent people.. well men mostly 8(
I took a few pictures, but I need to find the time to get them on the laptop ahhhhhh........
zzzzzzzzzzzzzzzzzzzzz
Back to work, yeah !!!
Posted October 16th, 2007 by DavideTomorrow I will go back to work !!!
My mother and my sister left today. It was great to have them around, but that took pretty much all my free time, even though I wasn't working.
Now I can go back to work when I can get into all sort of exciting stuff, and also boring emails and more traveling abroad.
I can't say anything about anything, but I'm really working with some interesting stuff.
Though I haven't been able to code almost nothing. It's taking me days and days to get even the smallest thing implemented.
Luckily I've got some great collaborators, but at the same time I realize that I can't afford the luxury to delegate my coding work.
I need more infos and then I need to decide what's sound and what isn't. read more »
Las Vegas trip, 1st day
Posted May 9th, 2007 by Davide![]() |
| 2007_05_la |
People from many famous companies are going to be here.. I know that cause one of the conference organizers managed to put all (?) of them in the email To: field ..oops ! read more »
Foreigner game devs in Japan, Gamasutra article
Posted April 28th, 2007 by DavideGamasutra has an article on foreign game developers working in Japan.
I didn't read all of it, but it seems reliable.
I have a few extra opinions though:
Working hours can be bad, but it depends on the company and the job that one is doing. When it happens in Japan one tends to think "in Japan is like this" without thinking that outside can be the same.. game development notoriously involves working long hours pretty much anywhere.
About developers having to open to western development technology: not being able to speak English well is certainly an handicap, however that also helps avoid to jump early into bullshit methodologies or technologies, "solutions", etc etc.
Foreign game dev is more about technology, so foreign developers tend to over-engineer things.
Japanese should learn from outside, but also the opposite is true.
- Davide's blog
- Login or register to post comments
- Read more



Recent comments
1 year 20 weeks ago
1 year 36 weeks ago
1 year 40 weeks ago
1 year 42 weeks ago
1 year 43 weeks ago
1 year 44 weeks ago
1 year 45 weeks ago
1 year 46 weeks ago
1 year 46 weeks ago
1 year 46 weeks ago