Add NIS Client Support to ReadyNAS

Saturday, February 21. 2009
Workstations
This guide is about how to setup probably any ReadyNAS device to act as a NIS/YP client. NIS/YP is a protocol that shares account information accross the network. In such an environment it is important that the ReadyNAS knows about all Linux and Windows account, so it can keep access rights on files in sync. If users had different numerical IDs on Linux clients and on the ReadyNAS, all files created from these clients wouldn't beb accessible on Windows machines any more, because the ReadyNAS wouldn't know which account the files belong to.

On Windows there is already a powerful solution, called Active Directory. This is already supported on the ReadyNAS, but there is no support for the corresponding UNIX protocol, which is NIS. Having a central account authority which manages both Windows and Linux accounts via Active Directory and NIS is very helpful in such mixed environments.


Continue reading "Add NIS Client Support to ReadyNAS"

Phun with Physics

Wednesday, January 21. 2009

While browsing on OpenGL.org, I found a really nice educational (?) 2D physics simulator called Phun. The physics engine is a commercial multibody simulator, which seems to be new in the physics scene (at least I never heard of AgX before).

And now, don't waste your time on my blog, and Grab Phun here.

New 6bay ReadyNAS on the way

Thursday, January 17. 2008
Workstations
I really like my ReadyNAS server - small, slick, multifunctional and superb support.

But there are two things missing: more drive bays and a more powerful CPU. But apparently the first point is being addressed with a ReadyNAS Pro device with 6 bays, as seen on CES 2008. I hope, they also spent a more powerful CPU to the device, so it will be able to outperform the Thecus devices. Those are a lot faster, but the firmware and support seems to be really bad.

Can't wait to get my hands on the ReadyNAS Pro!

OpenGL - Web 2. 0 Style

Monday, December 3. 2007
OpenGL
Today I stumbled over a new-to-me project on OpenGL.org: An OpenGL canvas plugin for Mozilla Firefox! The plugin called Canvas 3D only works in the new Firefix 3 line and provides an OpenGL context to Javascript.

In my eyes this opens the doors to many new exciting Web applications (if Javascript turns out to be fast enough), ranging from simple Model Viewers to some advanced online-editors. I wish I could find some time to explore some of the possibilities!

I HAS 1337 CODE. LOL!!1

Wednesday, June 27. 2007
Programming

C#, Java and C++ are out. The upcoming star is called LOLCODE. LOLCODE is a new programming language that immitates the natural language of the leet coders.





HAI
CAN HAS STDIO?
PLZ OPEN FILE "LOLCATS.TXT"?
   AWSUM THX
     VISIBLE FILE
   O NOES
     INVISIBLE "ERROR!"
KTHXBYE

Obviously this new programming language will start a new era in software development!

Cygwin + Avira = Nogo

Monday, June 4. 2007
I have been using Microsoft Windows as my primary operating system since Windows 95, but I have always prefered the NT line for its superior stability and security (if configured right). I always use a normal user account for my daily work (not even a Power User account) and the Administrator account for installing software or changing the computer configuration. Plus I do not opene every attachment I get in all those virus mails :-) This way I have been virus free for about 10 years.

But I thought it could be a nice idea to install an AntiVirus program for increased safety. I decided to use Avira, simply because it has a free version for home users and I didn't hear anything bad about it. After some time I even decided to buy the premium edition that has some additional features, and I thought that I was happy.

Then I found out that my notebook seemed to have a hardware defect. When I tried to build a large "make" based project within Cygwin, the korn shell would stall after some minutes and I could not kill it any more. First I suspected bad memory, so I ran some memory tests - no result. So I was thinking that the CPU could have suffered to much and could be broken. I started to look around for a new notebook, although I really didn't want to buy a new one, as my old one was still good enough for me (if it worked).

After a week, I thought that maybe the crashes of the shell could be a software problem. So I uninstalled some applications. No change at all - unless I uninstalled the Avira AntiVirus package. Simply disabling the virus scanner did not make any change, but after I uninstalled the whole package, I could compile again! After some hours of successful compilation I searched google for "Cygwin Avira" - bingo, there are some well-known problems.

Conclusion: If you want to use Cygwin, don't even install Avira, or you might suffer.

Physics Simulations

Thursday, May 24. 2007
Programming
After I have been working with ODE in order to get an assembly simulation running, I began to dislike ODE for several reasons. The topmost reason is that ODE does not seem to handle large scales very well (even in the handbook it is noted that best is to scale everything between 0.1 and 10.0 - this was not a real option in my case).

So I was looking at different packages, but even the two big ones Havok and Agiea/Physx do not handle arbitrary triangle meshes very well (at least that is what I understand after reading their documentation) as collision geometry.

Fortunately finally I found Vortex, which is a high-end physics package geared towards simulation. And I have to say that so far I am really impressed with both speed and accuracy! Vortex is able to handle collisions between arbitrary meshes very well and fast. The collision response is quite good, if I tune the parameters (mass, forces, joints), I get almost not penetration between complex triangle objects - this is quite a difficult task.

Plus Vortex offers a lot more parameters to tune than other packages in order to get realistic and stable simulations. So if you are looking for most realistic results with complex shapes, Vortex seems to me the only way to go.

Sliding in VR with ODE, part 2

Monday, April 2. 2007
Programming
After I started the integration of ODE into the immersive VR project, I stumbeled over a lot of difficulties, with some of them being still not properly solved:

  • Collisions between arbitrary triangle meshes is a complex thing. ODE needs as much information as possible for correct collision response. This include the contact point and normal (both are rather easy to get) and the penetration depth. The later is not trivially extracted from a collision, moreover it even is not simple to give a correct definition in the case of non-convex geometry. I had to work around this problem by approximation the penetration depth on a triangle-by-triangle basis, but my approximation still can return much too big values, so I finally had to clamp the result.

  • The connection of the virtual object and the tracked hand of the user is now realized by a fixed joint between two ODE bodies (one body for the hand ("user body") and one body for the object ("object body"). Out naive approach simply repositions the user controlled body in each frame and hopes that ODE will try to move the connected object body to the user body while trying to obey to collisions. This went well in some sense, but as soon as there are some collisions, the distance between both objects has been increased and remained even after the object has been moved out of collision again. Debugging the code showed that the user body has accumulated insane velocities in order to resolve the fixed joint constraint, and these velocities haven't been reset after collision. So I had to insert a linear and an angular motor with target speed of zero in order to slow down the objects. Still this is not an ideal solution, it would be much better to use motors in the first place to control the virtual object.

  • ODE seems to be very sensitive to scaling. The ODE manual states that best results are achieved if all values are in the range 0.1 to 10.0. But we have models in milimeters (cars) and models with a meter scale (airplanes). ODE seems to be especially sensitive to different masses, it turned out that a proportional increase of all masses resulted in ignorance of all collisions.


Still there are a lot of open topics, and I was only able to achieve some sliding (the user moves a virtual object, which obeys to collisions with a static environment) in a artificial toy environment. Maybe we will try a different physics library, but my guess is that the biggest problem is the lack of proper penetration depth information.