Get yourself a set of good earphones. They should be closed i.e. dampen outside noise which not all headphones do.
Also, if you are going to listen to music all day long, invest in a set that is self-regulating or otherwise your outer ears are going to ache at the end of the day.
I find any music with lyrics distracting while working. Any words in the background are bad.
What if you were counting a set of items and then suddenly someone would shout ONE HUNDRED TWENTY FOUR in your left ear. Would you get lost? Most likely.
The same thing applies to working with words and then suddenly hearing words in the background; You get lost.
I prefer ambient types of techno best because not only are they without words; Ambient techno often also has a paced beat which speeds you up mentally and unconsciously, compared to classical music which tends to be quite slow.
In fact, beat has a lot more effect on how we feel than we might think. Both the beat of techno music and the beat of a shaman's drum
together with dancing have been able to put people into a trance - without any drugs whatsoever. I was thought this when I was studying theology, so it isn't just heresay.
I live in Europe, where techno is more popular than in the US. There is a large supply out there for you to explore.
I have tried to upgrade certain packages on a RH 6.1 system to Mandrake 7.1. Some packages could be upgraded, while some newer softwares could not be upgraded easily. Some times I got dependency problems down to the libc level...
I don't have an iPaq, but I think I should mention a few links because I have not seen them in any other comment yet. =)
href="http://www.handhelds.org">www.handhelds.org
There is a lot of work under way on modifying X-Windows down to handheld computers.
The server has been seriously slimmed down to use a simplified and more powerful rendering model.
There is also Clear Type-like font renderer in the works as well as an extension for flipping the aspect (vertical vs. horizontal.)
I am not sure as to what who is doing what, but I know that Jim Gettys is involved (he is one of the original authors of X-windows btw.)
If you want something that is even slimmer, check out the MicroWindows project, which provides both a win32-like and a NanoX-like interface on top of a slim graphics library.
There is also the Pocket Linux
project that is producing a set of applications for handheld Linux.
Oh yeah? It is relatively simple to do something
that has 3D, is networked and multiuser.. but if you are going to do something that is intended to be good and you want people to actually use the system you have a really big project on your hands. Not only will you be writing a graphics system or a chat system, but you also have to think about how users and applications fit in the whole picture and how you are going to implement security.
There are also technical challenges that still need to be solved.
There is a reason why most of the work done in VR is called research...
The field of virtual environments includes computer graphics, systems research, distributed systems and Internet protocols, distributed security protocols, database management systems.. you name it.
If you are still interested in starting such a project, I recommend the book Networked Virtual Environments - Design and Implementation by Michael Zyda and Sangdeep Singhal (sp?) as a starting point.
You should also know that there are quite a few projects like this hosted on Sourceforge already. Just from the top of my head: WorldForge, Metaverse, Verse
etc.. Maybe it would be wiser to see how they are doing and choose to join on of them.
I am going to write a windowing system and I will probably be using OpenGL. I have had this idea.
The point is to draw a semitransparent trail behind the mouse cursor to make it easier to spot while moving, not just making it prettier.
Sub-pixel precision on the screen would also be nice, but isn't really necessary. (if you need it, you are probably also using a tool in which there is a "zoom" function. =)
Another nice feature that would be possible with alpha-blending would be to blend the mouse pointer to 0.5 opaqueness when it has not been moved for a while, so that it doesn't obscure any text that may be under it, without removing the pointer from the screen completely. (i.e. a fancier mouse blanker)
As to the sampling rate, the PS/2 mouse protocol has a hard upper limit at 40 samples per second - set by the protocol used on the wire. Polling/dev/mouse more often is therefore pointless.
I don't know about USB mice though.
This is just a me too message.
I really admire that guy. He has made some of the best Star Wars models out of Lego that I have seen, especially his Millenium Falcon and his (ESB) Star Destroyer.. Wow!
(I am not even comparing his work with the models that LEGO is selling now... they mostly suck)
I have also found that under Windows, different
executables of Netscape with differences in their minor version numbers have different
timing resolutions in Javascript...
The most common is 100 milliseconds, so you don't even get down to Windows' resolution no matter which version of Windows you run.
The old Amiga program TVPaint by NewTek has been ported to Windows a few years ago. It has a nice DeluxePaint-like look and feel, but also powerful features such as support for pressure-sensitive tablets, alpha-blended layers, animations etc.
Newtek later changed the name of the program to
Aura.
In Linux, each application still has its own heap and that can still be fragmented. Virtual memory
can not make up for that fact.
There are ways of limiting fragmentation.
The first is memory pools, which was introduced
in AmigaOS 2.0. A memory pool is one or more large
arrays from which you can allocate many fixed-size objects. Most heap allocators for Unix-like systems such as malloc() and "operator new" in the GNU libraries use memory pools implicitly for objects smaller than a page.
Another method is to use a "buddy system" algorithm, where you only allocate
blocks of 2^integer number of bytes, and only on addresses which are evenly divisable by that amount. Buddy systems are often used internally by operating system kernels, such as Linux.
I have been working at home as a web programmer for a few months now and I hate it. I am eating, sleeping, working, watching TV etc. within the same walls day in and day out. It is starting to feel like a prison.
I am active looking for a new job right now.
If it is all right for you, fine. But it is clearly not for everyone.
Just a side note. Formally, the Economics Prize is not a Nobel Prize. It is "Bank of Sweden's Award in memory of Alfred Nobel".
It is not awarded by the Royal Academy of Science.
The awarded work covers not models on how individuals should make their choices as much as how governments, institutions and corporations could expect the world to react to structural and economic change. For example: What happens if I build this freeway here? Will people use it? How will it affect the economy of its neighborhood?
I can see the usefulness for eye-piece hardware
and augmented reality and all that, but something that I would like to use and would be usable for me now would be a PDA that designed to fit my left forearm.
What I am thinking of is something out of Kim Stanley Robinson's (Red|Green|Blue) Mars trilogy.
It can probably be built out of standard PDA's. Break open, say, an IPaq and put the parts (display, buttons, circuit board) in smaller thinner cases and interconnects.
Integrate a cell phone. (Hey, I don't want any strong radiation source beside my head.)
One problem is that the wrist computer and the things needed to keep it steady on my wrist will probably make me sweat a bit. Perhaps this problem could be solved with an integrated cooling device, powered by the movement of my arm.
Just an idea.
I have been working with programming applications in VRML. What I found the most difficult was that it was quite cumbersome to create interactive content.
Not only is the event model quite complex and requires a lot of code for little action, it is also cumbersome to connect the event model with scripts in Javascript (or in my case: C++ code).
Another problem was to find browsers that actually executed the interactive content, and did it to spec.
I have found only one program that sort-of worked to spec: Cosmo Player, and even that program wasn't particularly stable when I used it. (we all know how good most web browsers are at Javascript)
Persistent operating systems such as ErOS checkpoints the entire system except the microkernel every five minutes (or more often depending on the system load).
When you have the entire system on disk, you should theoretically be able to replace the kernel with a new one.
Multics also had special kernel features for hot-swapping just about everything - again except the microkernel (called "hardcode") itself. But if your microkernel is small enough and enough well designed, replacing device drivers and other kernel parts becomes less of a problem.
No. Håkan Lans invented a mouse, as did Doug Engelbart.
Neither one of these used a rolling ball.
Engelbart's mouse used two slanted wheels on the underside: one for X and one for Y.
I have only seen this type of mouse used with old, slow DEC Ultrix systems I used in college. These machines were replaced not long after I started going there.
Lans's device was more of a digitizer tablet.
I believe it used induction and that the active device was the tablet itself.
I personally feel that these games (as with almost anything this old) should become public domain. We're talking about games that are virtually monuments in gaming circles....no...modern life.
Raise your hand if you haven't played Tetris or PacMan.
Raise your hand if you haven't ever programmed your own version of Tetris, PacMan, Asteroids or Space Invaders some time in the 80's...
Was it complex to write? No. Why? Because the
design of the came was not very complex in the first place.
Yeah, but the ARM is a 32-bit RISC processor which is famous for having very small binaries - often smaller than for the x86.
The ARM was designed to have a very compact instruction set which allowed it to do multiple things per instruction and do it fast.
Later, the ARM has got an additional instruction set which is 16-bit and called "Thumb", which makes the code even more compact.
I have looked at the IA-64 architecture, and it seems that the Intel designers have incorporated many of the features from ARM that made it's code fast and compact.
Another thing that makes code fast and compact is
the availability of fast memory registers.
IA-64 has something like 40 general purpose registers available to applications, so hold your horses.
Nope. The environment bump-mapping technique was originally a well known software technique often used by people in the european demo scene (also called the "euroscene".) Bitboys ky. who constructed Pyramid 3D probably took the algorithm from there, as many of them are known to be ex-sceners. (from the well-known group "Future Crew" if I'm not mistaken)
My own opinion about bump-mapping and different APIs is that different hardware companies should stop creating different APIs for their different bump-mapping algorithms and instead converge on high-level interfaces + hinting.
Re:Anti-aliasing on conventional monitors.
on
Cleartype In Depth
·
· Score: 3
If you run xmag on your Netscape window, you will see that the Cleartype images are dithered somehow. The background color is also not solid white, but there are pink diagonal stripes. They are probably a by-product of converting the images to GIF.
Another stupid thing about the images is that in neither of the images (Cleartype nor antialiased) is font hinting used. IMHO they should have compared hinted antialiased with hinted cleartype (with three times the horizontal resolution). Windows' font engine has hinting and antialiasing.
Hinting, for you who don't know the term, is a way of snapping the font outline to the centers of pixels before rendering. This minimizes stupid solid grey lines in the edges for a well hinted font. The problem with hinting though, is that the quality of the hinting is dependent on the skill of the font designer.
The cross-platform nature of GTK is why Mozilla had the exact same look and feel across platforms.
Nope. You can hardly ever find any native (or GTK) widgets in Mozilla these days. The look (and some of the feel) of all Mozilla widgets are now defined with cascaded style sheets - in the same way that style sheets can be used to theme web pages. You can find the files in the chrome subdirectory There is a single exception though: the Mac version uses the native menu bar, so you can't theme that one.
I followed some links that were posted in other comments and found the name of the technology that is used. I had saved an old article which described the technique, but I forgot where I got it.
It works with backlighting. There is a striped mask over the lamp, and the lamp is positioned a little distance behind the liquid crystals. If you draw a lines in 3D space from a light stripe to each eye, each line will pass through different pixel elements on the way.
I remember an actual file system that performed copy-on-write. I heard about it first in 1995. It was called "HappyENV" and the intent was to save memory, not disk space.
Amiga stored its configuration files in two places - in the virtual file system volumes ENV: and ENVARC:. ENVARC: was typically stored on disk, and ENV: was usually a temporary copy usually stored on the RAM disk. Having a temporary configuration state for the current session was pretty convenient. If you broke a file, you always had an unbroken copy in ENVARC. =) The files in ENV: lived until you turned off your computer. The files in ENVARC: were persistent. However, almost each and every Amiga program that needed configuration files placed them in ENV: and ENVARC: by default, and when added up, these could use quite some space. Memory was more expensive in those days and AmigaOS did not have any support for virtual memory hardware.
What HappyENV did was create a virtual device which would expose each of ENVARC:'s files as ENV:'s. It would not be loaded into RAM until you actually open()'ed it in which a new file would be created in RAM, managed by HappyENV. It was not exactly copy-on-write, more of copy-on-read.. but the principle is there and it can probably be changed into using copy-on-write very easily. I believe that the author have thought of copy-on-write and figured that it would be more efficient to keep files in memory for reading as well.
HappyENV can be found in the software archive Aminet, for instance here and is Cardware (you should send the author a postcard) with source code included. (assembly language)
Re:Done and done decades ago
on
Brainball!
·
· Score: 1
I used to work at a different project at Interactive Institute when the Brainball was developed, but I got to talk with the developers. They used off-the-shelf medical sensors and Windows software that has been available for years. Then they hooked the PC up to an old plotter they found in a dumpster in the basement. They used the plotter as the playing field. In other words, no new hot technology. I think most of us just thought of it as a funny hack.
For the first point, look at this page and scroll down to the "face recognition" section. I have also read about a guy that had lived with a set like that for a couple of days but I have lost the link.
In my country - Sweden - there is a privacy law that gives you the right to disallow any database from using your information for junk-mail. ("reklamspärr" in Swedish) You can also request hardcopies of your database entries, and the database company has to provide these services to you free of charge. Each package of paper junk-mail must contain the address of the database company that provided the junk-mailer with your address so that you can contact the database company and request these services.
I recently tried this law out after I had recieved some junk mail. From the address of the database company I looked up their phone number and called them to request them to restrict my information. When I talked to them they told me that they did not have any procedures for handling my request. The company had been selling people's addresses for at least ten years and I was the first adressee ever to have contacted them.
Seems like most people either don't care or they don't seem to know about these things.
I find any music with lyrics distracting while working. Any words in the background are bad. What if you were counting a set of items and then suddenly someone would shout ONE HUNDRED TWENTY FOUR in your left ear. Would you get lost? Most likely. The same thing applies to working with words and then suddenly hearing words in the background; You get lost.
I prefer ambient types of techno best because not only are they without words; Ambient techno often also has a paced beat which speeds you up mentally and unconsciously, compared to classical music which tends to be quite slow. In fact, beat has a lot more effect on how we feel than we might think. Both the beat of techno music and the beat of a shaman's drum together with dancing have been able to put people into a trance - without any drugs whatsoever. I was thought this when I was studying theology, so it isn't just heresay.
I live in Europe, where techno is more popular than in the US. There is a large supply out there for you to explore.
I have tried to upgrade certain packages on a RH 6.1 system to Mandrake 7.1. Some packages could be upgraded, while some newer softwares could not be upgraded easily. Some times I got dependency problems down to the libc level ...
href="http://www.handhelds.org">www.handhelds.org There is a lot of work under way on modifying X-Windows down to handheld computers. The server has been seriously slimmed down to use a simplified and more powerful rendering model. There is also Clear Type-like font renderer in the works as well as an extension for flipping the aspect (vertical vs. horizontal.) I am not sure as to what who is doing what, but I know that Jim Gettys is involved (he is one of the original authors of X-windows btw.) If you want something that is even slimmer, check out the MicroWindows project, which provides both a win32-like and a NanoX-like interface on top of a slim graphics library.
There is also the Pocket Linux project that is producing a set of applications for handheld Linux.
Oh yeah? It is relatively simple to do something that has 3D, is networked and multiuser.. but if you are going to do something that is intended to be good and you want people to actually use the system you have a really big project on your hands. Not only will you be writing a graphics system or a chat system, but you also have to think about how users and applications fit in the whole picture and how you are going to implement security.
There are also technical challenges that still need to be solved. There is a reason why most of the work done in VR is called research ...
The field of virtual environments includes computer graphics, systems research, distributed systems and Internet protocols, distributed security protocols, database management systems .. you name it.
If you are still interested in starting such a project, I recommend the book Networked Virtual Environments - Design and Implementation by Michael Zyda and Sangdeep Singhal (sp?) as a starting point. You should also know that there are quite a few projects like this hosted on Sourceforge already. Just from the top of my head: WorldForge, Metaverse, Verse etc.. Maybe it would be wiser to see how they are doing and choose to join on of them.
As to the sampling rate, the PS/2 mouse protocol has a hard upper limit at 40 samples per second - set by the protocol used on the wire. Polling /dev/mouse more often is therefore pointless.
I don't know about USB mice though.
This is just a me too message. I really admire that guy. He has made some of the best Star Wars models out of Lego that I have seen, especially his Millenium Falcon and his (ESB) Star Destroyer.. Wow! (I am not even comparing his work with the models that LEGO is selling now... they mostly suck)
I have also found that under Windows, different executables of Netscape with differences in their minor version numbers have different timing resolutions in Javascript... The most common is 100 milliseconds, so you don't even get down to Windows' resolution no matter which version of Windows you run.
The old Amiga program TVPaint by NewTek has been ported to Windows a few years ago. It has a nice DeluxePaint-like look and feel, but also powerful features such as support for pressure-sensitive tablets, alpha-blended layers, animations etc. Newtek later changed the name of the program to Aura.
In Linux, each application still has its own heap and that can still be fragmented. Virtual memory can not make up for that fact. There are ways of limiting fragmentation. The first is memory pools, which was introduced in AmigaOS 2.0. A memory pool is one or more large arrays from which you can allocate many fixed-size objects. Most heap allocators for Unix-like systems such as malloc() and "operator new" in the GNU libraries use memory pools implicitly for objects smaller than a page. Another method is to use a "buddy system" algorithm, where you only allocate blocks of 2^integer number of bytes, and only on addresses which are evenly divisable by that amount. Buddy systems are often used internally by operating system kernels, such as Linux.
I have been working at home as a web programmer for a few months now and I hate it. I am eating, sleeping, working, watching TV etc. within the same walls day in and day out. It is starting to feel like a prison. I am active looking for a new job right now. If it is all right for you, fine. But it is clearly not for everyone.
Just a side note. Formally, the Economics Prize is not a Nobel Prize. It is "Bank of Sweden's Award in memory of Alfred Nobel". It is not awarded by the Royal Academy of Science. The awarded work covers not models on how individuals should make their choices as much as how governments, institutions and corporations could expect the world to react to structural and economic change. For example: What happens if I build this freeway here? Will people use it? How will it affect the economy of its neighborhood?
It can probably be built out of standard PDA's. Break open, say, an IPaq and put the parts (display, buttons, circuit board) in smaller thinner cases and interconnects. Integrate a cell phone. (Hey, I don't want any strong radiation source beside my head.)
One problem is that the wrist computer and the things needed to keep it steady on my wrist will probably make me sweat a bit. Perhaps this problem could be solved with an integrated cooling device, powered by the movement of my arm. Just an idea.
Another problem was to find browsers that actually executed the interactive content, and did it to spec. I have found only one program that sort-of worked to spec: Cosmo Player, and even that program wasn't particularly stable when I used it. (we all know how good most web browsers are at Javascript)
Multics also had special kernel features for hot-swapping just about everything - again except the microkernel (called "hardcode") itself. But if your microkernel is small enough and enough well designed, replacing device drivers and other kernel parts becomes less of a problem.
Engelbart's mouse used two slanted wheels on the underside: one for X and one for Y. I have only seen this type of mouse used with old, slow DEC Ultrix systems I used in college. These machines were replaced not long after I started going there.
Lans's device was more of a digitizer tablet. I believe it used induction and that the active device was the tablet itself.
Raise your hand if you haven't ever programmed your own version of Tetris, PacMan, Asteroids or Space Invaders some time in the 80's ...
Was it complex to write? No. Why? Because the
design of the came was not very complex in the first place.
I have looked at the IA-64 architecture, and it seems that the Intel designers have incorporated many of the features from ARM that made it's code fast and compact. Another thing that makes code fast and compact is the availability of fast memory registers. IA-64 has something like 40 general purpose registers available to applications, so hold your horses.
My own opinion about bump-mapping and different APIs is that different hardware companies should stop creating different APIs for their different bump-mapping algorithms and instead converge on high-level interfaces + hinting.
Another stupid thing about the images is that in neither of the images (Cleartype nor antialiased) is font hinting used. IMHO they should have compared hinted antialiased with hinted cleartype (with three times the horizontal resolution). Windows' font engine has hinting and antialiasing.
Hinting, for you who don't know the term, is a way of snapping the font outline to the centers of pixels before rendering. This minimizes stupid solid grey lines in the edges for a well hinted font. The problem with hinting though, is that the quality of the hinting is dependent on the skill of the font designer.
Nope. You can hardly ever find any native (or GTK) widgets in Mozilla these days. The look (and some of the feel) of all Mozilla widgets are now defined with cascaded style sheets - in the same way that style sheets can be used to theme web pages. You can find the files in the chrome subdirectory There is a single exception though: the Mac version uses the native menu bar, so you can't theme that one.
It works with backlighting. There is a striped mask over the lamp, and the lamp is positioned a little distance behind the liquid crystals. If you draw a lines in 3D space from a light stripe to each eye, each line will pass through different pixel elements on the way.
Amiga stored its configuration files in two places - in the virtual file system volumes ENV: and ENVARC:. ENVARC: was typically stored on disk, and ENV: was usually a temporary copy usually stored on the RAM disk. Having a temporary configuration state for the current session was pretty convenient. If you broke a file, you always had an unbroken copy in ENVARC. =) The files in ENV: lived until you turned off your computer. The files in ENVARC: were persistent. However, almost each and every Amiga program that needed configuration files placed them in ENV: and ENVARC: by default, and when added up, these could use quite some space. Memory was more expensive in those days and AmigaOS did not have any support for virtual memory hardware.
What HappyENV did was create a virtual device which would expose each of ENVARC:'s files as ENV:'s. It would not be loaded into RAM until you actually open()'ed it in which a new file would be created in RAM, managed by HappyENV. It was not exactly copy-on-write, more of copy-on-read.. but the principle is there and it can probably be changed into using copy-on-write very easily. I believe that the author have thought of copy-on-write and figured that it would be more efficient to keep files in memory for reading as well.
HappyENV can be found in the software archive Aminet, for instance here and is Cardware (you should send the author a postcard) with source code included. (assembly language)
I used to work at a different project at Interactive Institute when the Brainball was developed, but I got to talk with the developers. They used off-the-shelf medical sensors and Windows software that has been available for years. Then they hooked the PC up to an old plotter they found in a dumpster in the basement. They used the plotter as the playing field. In other words, no new hot technology. I think most of us just thought of it as a funny hack.
For the first point, look at this page and scroll down to the "face recognition" section. I have also read about a guy that had lived with a set like that for a couple of days but I have lost the link.
I recently tried this law out after I had recieved some junk mail. From the address of the database company I looked up their phone number and called them to request them to restrict my information. When I talked to them they told me that they did not have any procedures for handling my request. The company had been selling people's addresses for at least ten years and I was the first adressee ever to have contacted them.
Seems like most people either don't care or they don't seem to know about these things.