Slashdot Mirror


User: Jouni

Jouni's activity in the archive.

Stories
0
Comments
78
First seen
Last seen
Profile
(view on slashdot.org)

Comments · 78

  1. ERROR: Life Extension Required on Designing Computer Animation Software? · · Score: 1
    While many of the concepts you list can be considered solved for the general purpose, the work of integrating them and working through the *unsolved* stuff that comes up could take many lifetimes worth of programming.

    Incidentally, the products you mention have each taken hundreds of man-years to write by extremely well manned and financed companies. It's good to set goals for yourself, but is one of them living to a thousand? :-)

    If you plan on making this a legacy quest for your children and grandchildren, go right ahead. Unfortunately you won't personally be there to see version 1.0 software ship.

    The more realistic alternative is to choose your focus more carefully; write a component, a plug-in or a tool for a more specialized task. Research new technologies or implement and synthesize from ones most recently discovered by others. Compared to the giants you are small and flexible, make use of that advantage.

    Oh, and whatever you do, do it with others. It's more fun that way.

    Jouni

  2. Apple patch installation? on Apple Patches Security Flaw in Terminal.app · · Score: 1

    Not knowing much about 10.2, how do they handle severe security patches like this? Are users automagically adviced to install or is there an "OS update" type page they need to visit frequently?

    Just curious.

    Jouni

  3. Consider your nit picked on Ohio Schools Drop Webcasts Because Of DMCA · · Score: -1, Offtopic

    Ironically enough, the story itself held no interest to me but I wanted to read this kind of comments on community meta-moderation. :-)

    For me these comments are on the meta-topic that I wanted to read. Since I'm not a moderator I'll have to field my support for this meta-commentary by burning some karma.

    Burn, karma, burn!

    Jouni

  4. Re:Linux file system is OBSOLETE on Should "B" be the Same as "b"? · · Score: 1

    AlecC gave some pretty good examples below.

    Basically anything that can tie the letter to a human context is good. Since we live (and die) by the clock, even simple journaling can make finding documents easier. The system forcing you to invent an arbitary name for your creation at the point when you are closing the books is just plain silly. It's no wonder we end up with names like "letter.txt" or "foobar.txt", both equally weak in hooks for the memory.

    It's amazing we live in 2002 and most email clients still don't properly thread our discussions!

    A big help would be if computer interfaced turned from tool-oriented to task-oriented use; you wouldn't be starting up a program to open a file, but rather choosing the task you were working on and the rest would be implicitly remembered by the system. Completed tasks would be archived (and indexed by context for easy searching) while active tasks would always give you the shortlist of _links_ to what you are/were doing. The programs you use will look more like web pages, and the tasks become like favorite links into the program. The software would always resume the state you left it in when doing your task.

    In fact, aunt Ginny would never have to understand she was launching different programs either. What's a program, anyway? A set of instructions for the *computer* on what it should do to enable people do their tasks. Why should aunt Ginny know? Why should she care?

    The web has beautifully hidden a lot of this complexity away; the programs (server applications) and clients (browsers) are completely abstracted from each other. When discussing in this forum I do not need to spend thoughts on the SlashCode running on the server. The server lives a life of its own and remembers me when I come back.

    The file system is really just a big binary database, there's little need for anyone besides programmers and the occasional geeky admin to access things on this level. I do wish that the system did even some basic auditing on A) what type the files were and B) which components they associate with (so they can be appropriately abstracted away) when things are loaded on to the system. The system should know what's there, and why. The interface should make use of this information to better serve the people.

    Right now we are constructing giant binary junkyards instead of binding the data into any sensible shape or form. Google help us.

    Jouni

  5. Re:Linux file system is OBSOLETE on Should "B" be the Same as "b"? · · Score: 1

    Maybe I should have said that "Human understanding and perception is not very sensitive at all to upper and lowercase letters".

    After reading your sentence, no memory of which letter was upper case and which lower case remains. Your play with the shift key was nothing but noise in your message.

    Even though I can read your message, I am sensitive to the noise as well. The point here was more to indicate that the upper/lower case change itself is rarely used to convey important signals. Capital letters in the real world (1337-speak excluded) are used as cues for the beginnings of sentences and hints as to whether a word is a name or not. Rarely they break a sentence.

    However, if the use of capital letters (or lack thereof) stands between aunt Ginny finding her letter or not, the user interface design has taken a wrong turn and driven off the proverbial cliff.

    Jouni

  6. Linux file system is OBSOLETE on Should "B" be the Same as "b"? · · Score: 5, Interesting

    ... and now that I got your attention, let me specify that all other file systems as well are obsolete in the context of the USER INTERFACE.

    Frankly, aunt Ginny should *never* have to deal with files and file names. She should not need to know what a file is, nor choose to "save" or "discard" her work after she has written the letter to her friend Margaret. She does not know her HD from her RAM, and all for the better. She would worry to death over having her letter spun around on a magnetic disc, it would get all jumbled up for sure!

    File system is an internal, abstract and archaic database that is familiar to programmers and geeks, but a lousy way to represent data for the general user. There are few things worse than navigating a blind hierarchy of unknown folders with no contextual guide to help.

    The system should remember the letter when it is written, keep tabs on when it was written, put the subject in a "recent letters" list and generally manage the internal filing transparent to the user. The storage capacity of a modern computer can last aunt Ginny for years, the real trouble is in FINDING her data, the file names alone do little good for that.

    For a wonderful example of how well you could do without a filesystem, look at the operation of the Palm OS devices. Anyone could learn to use them. No files in sight! It's only recently that the clever engineers at Palm jumped off the deep end by adding a file system for the flash carts. Anyone who has ever used those knows what a nightmare managing them is.

    Aunt Ginny knows fsck all about file systems. Lets keep it that way.

    (Oh, and the answer in the context of user interfaces? Go for the most HUMAN representation. People are not very sensitive at all to upper/lowercase letters. We should not punish them for this.)

    Jouni

  7. The paralyzing FEAR of wrong choices on wxWindows vs. MFC · · Score: 2, Insightful
    Ever notice how programmers write UI libraries, system libraries and libraries to network with the coffee machine for "portability purposes" before getting their hands dirty with the real job at hand? How they avoid writing application code to the last moment, rather writing libraries to make it "possible" to write the application in "zero time"?

    Programmers are easily seduced into creating code to cover all the possibilities of the world. It's more comfortable because;

    a) you avoid doing a lot of the design choices that are involved in actually finishing and shipping applications, and;

    b) you feel like you're doing "good work" and reducing the risks by covering all the possible cases because you don't really know what the design needs

    You're doing good work all the time, you can't possibly fail, right? Wrong! Many projects die well before finishing the library, the engine or the platform that was supposed to be the carrying structure of the application.

    Letting technology desires drive development you can continue your good work for the rest of your natural life without ever having to face the fear of actually completing a project.

    In the real world, porting software is actually often left for the interns and/or outsourced to other companies. Porting solid code after it's done is not the problem that kills projects. Most projects never live long enough.

    Here is a radical idea: design and develop the application first, worry about porting it later. Write solid code for any platform of your choice, it will only take you a fraction of the time to re-do your UI for other platforms you plan to target. If you want to finish, force yourself to only write code that takes the application forward by concrete, measurable steps.

    Work with a product designer who knows what they need to accomplish and how to get there.

    Conquer your fear of making choices and finishing applications, only shipped products contribute to your track record of greatness.

  8. Re:Laser Squad Nemesis on Games in the Workplace? · · Score: 1

    Mod this up! Our whole damn office is hooked on Laser Squad Nemesis! :-)

    This game comes from the guys who created the original Laser Squad back in the 8bit days.

    Jouni

  9. No problems whatsoever - serial sync on Synching Palms Using Windows XP? · · Score: 1

    I've synced my Palm IIIc with Desktop 4.01 using both my machine at work as well as the one at home, with various builds of Windows XP. I was on the WinXP beta also - never a glitch in sync.

    Both machines have different processors, different motherboards and different graphics cards. I'm using serial sync and it works like a charm. In fact, I'm syncing while writing this post.

    I guess I miss the point of the post completely, as it does nothing to describe the nature of these problems and I've never encountered any.

    Duh? Should I try and re-install everything to see if I can create a problem? :-)

  10. Diablo 2 in Finland... on Diablo 2 Finally Hits Shelves · · Score: 2
    This popular game store in Helsinki, Finland might get "only" 1000 copies. I'm sure glad I made a pre-order on mine, as they are very likely going to be drained out of the store by end of the day. The store opens in about 10 hours.

    I have a pint of beer that says Diablo 2 becomes the best selling PC game in history, by end of September. I'm obviously biased by the stress test, but any takers on a bet?

    Kudos to Blizzard for finishing the game (finally) even if they lost several of the core guys to startups. Lookin' good, too.

    Tidbit of semi-useless information; in Japan it's apparently illegal to publish role playing games on weekdays as the number of sickdays become a big issue in the promised land of the otaku.

    Jouni
    --
    Jouni Mannonen : 3D Evangelist @ SurRender3D.com

  11. Open source == distributed processing on Games: The Boundary Of Open Development? · · Score: 1
    The human mind is a powerful neural network processing unit; now imagine a Beowulf cluster of those. :)

    Open source development is, by nature, a form of distributed work. It's rare that open source software would be written by only one person, and nobody else would ever contribute, unless of course the project is utterly useless. :)

    Programming is a task very well suited for distributed processing; you can have clearly defined tasks (to the point of individual APIs) and overall functionality is usually split into components. Form and function aren't exactly tied together in programming - ugly code can accomplish the task just as well and coding style doesn't necessarily show up at all in the end product.

    In game art, however, form and function are generally very close to each other. Suddenly consistency of style has great impact across the project as well as individual imaginations on what the product should look like, regardless of how good the sketches were. It's important to note here that you can't generally plan consistent art by verbal description only, and still your plans are limited to bits and pieces open for artistic interpretation. If you turn it into paint-by-numbers, where's the art?

    This isn't to say that distributed art is impossible, just that it's more difficult to find good artists that would effectively contribute to an open source game project. Open source art today seems limited to skins for various UIs and gadgets, and it can be argued that most of them are not art at all.

    As for open source games, Nethack is certainly one of the games I have spent a lot of time in my life playing. I've always known I have access to the source, but I've never looked. I could have always uncovered every bit of the game, but I chose not to. Why?

    Simple - it's hard to keep enjoyment unspoiled if you see the source. This is why game development feels like actual work and not like playing around - most of the people who make games don't play their creations nearly enough. They would simply not enjoy a game they know everything about, unless they weren't actually defining the gameplay itself.

    Here's where it gets interesting: if you manage to separate tool development (engine, content converters, editors, ...) from content development (gameplay, levels, story, ...) you have a solid platform for open source game development. Coders have fun coding, but ALSO playing through the content put together by some artistic and creative minds on the other side of the team. Obviously, the core game engine itself wouldn't have to be freeware or even open source, it could be a commercial product and you just create art, scripts and objects...

    ... and suddenly, with a small leap, we find ourselves in the game mod development community. It takes a small bit of imagination and a bigger bit of work to close this circle. Who says open source games have no future?

    Jouni
    --
    Jouni Mannonen : 3D Evangelist @ SurRender3D.com

  12. Yet more books... on The Social Life Of Information · · Score: 1
    I would recommend a few more; Gordon Graham's "Internet:// A Philosophical Inquiry" and David Haekken's "Cyborgs@Cyberspace?".

    Jouni
    --
    Jouni Mannonen : 3D Evangelist @ SurRender3D.com

  13. Re:Bitboys - a product? When? on How Bump Mapping Works · · Score: 1
    Boards existed and were in use by a limited group of developers. The board layout was incredibly neat and clean compared to anything else on the market. Bump mapping didn't cost much more in terms of fill rate than multi-pass texturing did, so frame rates were good.

    Bitboys may be notorious for not shipping production boards, but they've been very productive for the past years.

    I'm sure a product will ship when it's done. :)

    Jouni
    --
    Jouni Mannonen : 3D Evangelist @ SurRender3D.com

  14. Holy Grail of 3D Graphics? on How Bump Mapping Works · · Score: 1
    Rejecting as many of those as possible as quickly as possible ... is problem which many bright people have been hammering on for 30 years now.

    You mean stuff like SurRender Umbra? Yes, research is being done. :) While this is something of a shameless plug, Umbra is not vaporware, and in fact the component was completed by the end of last week and is ready to ship. It took several man-years to build, so it's not exactly something you write out of a hobby. There's also a fairly in-depth technical overview on the site. From that document, I quote:

    • "Umbra uses a combination of several new algorithms to perform the visibility determination as quickly and reliably as possible. The sole target of the library is to produce the tightest possible set of visible objects in the smallest amount of time.

      The library uses a number of techniques and data structure organizations that makes the visibility determination process output sensitive. Output sensitivity means that the time used to solve a problem, i.e. visibility evaluation, is dependent on the size of its output (number of visible objects) rather than its input (number of objects in the scene). "

    Another company, Fluid Studios is also taking a shot at the same problem, although they go for eliminating individual triangles instead of models/components.

    While this kind of dynamic methods are certainly more expensive to perform at run-time than pre-calculated visible sets, they are not mutually exclusive with those. You can still use portals and cell based visibility as well as static PVS if desired, but what's important that we're finally reaching a point where you don't need to.

    It's all about freedom, in the end.

    Jouni
    --
    Jouni Mannonen : 3D Evangelist @ SurRender3D.com

  15. Origins of EMBM... on How Bump Mapping Works · · Score: 2
    ... a.k.a. Environment Mapped Bump Mapping are not actually found in Matrox G400 but in Pyramid 3D from Tri-Tech and Bitboys, the latter more known for their long-awaited and much discussed Glaze 3D architecture. Matrox did the first hardware adaptation that ended up in the mainstream.

    Some years back, in the days of Pyramid 3D (yes, boards existed!) the pixel pipeline of the graphics chip was already programmable in microcode and EMBM was working perfectly in hardware. Slowly, maybe, by today's standards, but visually as attractive as ever. While it's a shame the boards never made it into the public, they still managed to make a significant contribution to PC graphics technology.

    Bitboys licensed the EMBM solution to Microsoft to make it a part of the Direct3D standard. Once it was a part of the standard, other vendors such as Matrox were also free to make their implementations of the method.

    It's a hack, but it's a good looking hack. Long live good looking hacks! :)

    Jouni
    --
    Jouni Mannonen : 3D Evangelist @ SurRender3D.com

  16. Amiga? on The "New" Amiga Finally Releases Something · · Score: 3
    While I'm a long time Amiga-user and love(d) the system, I can't really get excited about the resurrection of the platform. You can wake up the OS but to make it live you have to create all the applications and content from scratch, and it's been quite a long break for everyone.

    However, one of the parties behind this movement, the Tao group I find very interesting indeed.

    Platform-independent, binary-portable high performance Java implementation? I'd sign up today.

    Jouni
    --
    Jouni Mannonen : 3D Evangelist @ SurRender3D.com

  17. Re:Very Smart on Google's 4000 Node Linux Cluster · · Score: 1
    that would mean: 1 person per 200 nodes. does not sound that much to me

    Not to be a bother, but 200 times 200 is 40,000.

    Now that's what I call a Beowulf cluster. :)

    Jouni
    --
    Jouni Mannonen : 3D Evangelist @ SurRender3D.com

  18. Renderware? Not quite. on Microsoft Releases First X-Box Screens · · Score: 1

    No, Microsoft acquired another UK based 3D graphics technology company called RenderMorphics, and their core technology Reality Lab was merged with DirectX to create Direct3D. Also, there's no "Renderware way" of transforming polygons. It's the same stuff, but here it's still reasonably low polygon counts. Butterflies, by the by, can be made of two triangles, actually. With appropriate Alpha texturing you can "cookie cut" a pretty butterfly from two flat planes. Jouni -- Jouni
    --
    Jouni Mannonen
    3D Evangelist

  19. Re:Alpha blending is not the final solution on Mozilla M16 Gets Alpha Channels · · Score: 1
    If you are correct and PNG explicitly defines that pixels should not be pre-multiplied by Alpha then part of the problem should go away. They should blend correctly to screen; provided that content creators realize this means the color channel image of the PNG should not appear anti-aliased around the edges. Only the Alpha channel and the finished, blended image should have this quality. What you see is not what you get.

    You simply have to be careful not to multiply twice; multiplying twice means a pixel at 50% intensity is going to end up at 25% effective intensity in the destination.

    You can test this effect when blending white, antialiased text on to a white background. The pixels should sum at 1.0, perfect white.

    Quality becomes an issue only if conversions need to be made back of forth the two.

    Jouni
    --
    Jouni Mannonen
    3D Evangelist

  20. Alpha blending is not the final solution on Mozilla M16 Gets Alpha Channels · · Score: 2
    By Alpha blending people generally mean multiplying every destination pixel by Alpha of the pixel to be blended, and the source pixel by one-minus-Alpha and finally add these two pixel values together. While this works fine for some things, it should be noted that anti-aliased images are actually done correctly with something called pre-multiplied Alpha in which the image's pixels represent the final color value after internal multiplication by Alpha.

    Using pre-multiplied Alpha you could, for example, render a 3D text logo on to a black background and save it with the Alpha channel, then blend to screen to get a perfect anti-aliased result on top of any color background. Using standard Alpha blending, you would see a thin dark outline on the logo where the already anti-aliased pixels - Alpha blended towards black in the rendering program - are darkened further by the process of blending.

    Traditionally, this is the reason why in some games a bright explosion might have darkened outlines; not because the artist thought it looked good but because digital image processing is a fairly intricate process and the logic of it is not always clear. Even the art guys don't always understand.

    Pixels in the image that are fully opaque (i.e. not transparent at all) would have an alpha value of 1.0 and would thus replace the one on destination. Pixels in the image that have only 50% coverage because of anti-aliasing, would multiply the destination by 0.5 but should not be multipled by the alpha internally because they were already rendered on to a black (00,00,00) background. Pixels in the image that are fully transparent would not affect the destination.

    The output of these two processes is fundamentally different and choosing between them requires knowing whether the color information in the image is already affected by the alpha information or not. You must do this decision explicitly, for it cannot be determined from the image itself.

    Whether there is a switch for this in Mozilla or any other Alpha supporting browser, or whether there is a switch for this in the PNG file format itself I do not know. My point is that there should be, if we're wanting proper output of our blended imagery. Jouni
    --
    Jouni Mannonen
    3D Evangelist

  21. Microsoft shooting themselves in the foot? on Microsoft Patents Package Management · · Score: 1
    Since we're talking about Windows software i.e. software with registry key entries etc., wouldn't writing around this kind of patents make things more awkward specifically for Windows software developers?

    It may well be a defensive patent but still, it'll be a hassle in every developer's face who wants to do a similar Windows-based component update system, as they would either have to get legal clearance (or even license) from Microsoft, or roll their own.

    Isn't this quite counter-productive for the Windows platform, unless they make a general release concerning the use of such technologies for Windows?

    I can't see how that would be in their best interest.

    Jouni
    --
    Jouni Mannonen
    3D Evangelist

  22. Napster: The Game on Horribly Bad Game Designs · · Score: 1
    Imagine a game where you have a vast network of computers, each of which are sending packages of data and forth. This could be visualized in the Jurassic Park fashion of Unix operating systems. But, anyway...

    These packages are evil, evil down to their pitch black cores. They are illegit MP3 files that unscrupulous users are passing back and forth between each other.

    You play the role of a heroic undercover agent Mr. Dre Hetfield, and your job is to bust these criminals red-handed in the heinous act of Copyright Violation.

    Your task is to grab each package as it zooms past along the datalines, then quickly send your S.W.A.T. team to the corresponding user and make sure that it's Justice for All.

    Once you put an end to all third of a million 31337 traderz, you have won the game. As a hidden bonus, once you're done you get to play the game again from the start with ten times as many foes, with packets moving twice as fast across the screen.

    I'll be filing patents for this design later this week unless previous art can be sufficiently demonstrated... :)

    Jouni
    --
    Jouni Mannonen
    3D Evangelist

  23. Cute thought, but misguided on A Common (Internet-Based) Language? · · Score: 3
    What a silly question. :)

    Language is a means of communication that evolved to fit the Instant Messaging needs between you and the people in your community. Languages have differentiated from each other because these communities have traditionally been local to a physical space, and have thus had very little interaction with communities or individuals further away. It's not random chance that borders between countries and cultures have largely grown to be physical barriers (bodies of water, mountains, inhabitable areas), it's not just because it's easier to draw a line on the map along the river but because the people were split to either side.

    Now, the Internet changes all this, we speak often of the "Internet community", but in actuality there is no such thing. Internet is just a different distribution of people from that which exists in the real world, but there is still no singular, universal community, nor can we see one forming in the foreseeable future. The direct communication of one individual may now reach to many more than it did in the old days, but very few of us have a need to directly interact with millions. Most people are quite happy with maybe a hundred people or less in their lives.

    The Internet makes it easier for us to communicate with people, making it much less laborous for messages to traverse over a physical distance. It does not, however, create a need for us to speak directly with everyone on the planet.

    New communities do form daily on the Internet, and they adopt their own chosen models of behavior and communication. SlashDot, which can be agreed to be a community of sorts, has adopted English. The idea of SlashDot changing English for some other language is quite absurd, for English seems to fulfill the need of our communication here just fine.

    Feel free to run a SlashDot poll to prove me wrong. :)

    Jouni
    --
    Jouni Mannonen
    3D Evangelist

  24. Projects with no rules? on An Interactive Project With No Rules? · · Score: 1
    Mihaly Csikszentmihalyi (yes, that's his name, now try and pronounce that quickly three times) wrote a fairly good book on personal enjoyment of experience named "Flow". For reaching an optimal experience, it outlines the need for a person to have goals, rules, and a way to measure progress towards his goal.

    While projects with no rules can be interesting at least in academic sense, they do not provide sufficient drive for the individual participating to find fulfillment in life. They simply do not offer you the feedback you need to do the "right" or the "wrong" thing, required for personal development.

    Like I said in an earlier post, the mind is a powerful neural network - now imagine a Beowulf cluster of those. :)

    Now imagine living as a part of a Beowulf cluster, and think again about quitting your day job.

    I heartily recommend Mihaly's book to everyone, especially to programmers as the arcane art of bit-twiddling is obviously very suited for sustaining Flow. This is largely thanks to the relatively rigid set of rules involved in programming, and the constant sense of self-development.

    An area to explore, though, are projects where the individual still has a strict set of rules but does not need to see the big picture to participate or to find enjoyment.

    No, wait... we already have that, and it's called Life. :)

    Jouni
    --
    Jouni Mannonen
    3D Evangelist

  25. Who do you trust? on Intel To Drop CPU ID Number · · Score: 3
    Hard drives can be used for fairly good identity tracking as they are assigned a 'quite' unique ID number when they are low level formatted. This is a method used by some multi-player online games to ban cheaters from their realms. Obviously this is "easily" circumvented by a hacker by re-formatting the hard disk, re-installing all system software and finally the application for the online connection/game. I was fairly amused by the vision of this kid reformatting his system every time he was caught cheating.

    But that's all still really besides the point. :)

    Digital identity in the right hands can give you the kind of freedom you've never imagined possible. Fully authorized digital identity or certificate in the hands of a third party you trust can be used to arbitrate your business and thus shield you from the more tiring elements of free capitalism such as direct mail marketing. Other elements of your identity, like all contact information, in the right hands can give you powerful roaming freedom, and in the wrong hands an endless nightmare of commercial bombardment.

    In the Real World, we leave this sort of trust to the government, the community and society that we are a part of. We have enough trust in our own community to allow them to do things like keeping an elaborate registry on everyone; where they live, where they work and how much they earn. Our identity can be verified at every door and most financial transactions. We have a common agreement that this information will not be abused, and a legal system to enforce it where violations may occur.

    Now, since the virtual world does not possess this kind of global authority, the need for verification and identification of an individual has driven us to temporary choices like ID numbers on processors. Quite laughable, actually, both the concept of associating a machine with a person and the worry of someone tracking these cyptic numbers over the Wild, Wild Web. Laughable, maybe, but hitting frighteningly close to home. A piece of our identity in the hands of someone we do not trust to treat us justly.

    This will continue to be an issue when we learn to flash the badge of our strong digital identify in the online world. Who will you really let know who you really are? What will they do with this information, where will it be stored?

    In God we trust, and God is dead. Now who will hold your number?


    --
    Jouni Mannonen
    3D Evangelist