For a vendor to get federal supplier status, they have to be willing to support any particular hardware system for as long as the system is used The first effect is that there is no incentive to modernize the system (why bother, it is still being supported). The second effect is that you get all sorts of junk hardware speculators who buy up ancient hardware and store it, simply to sell as a high mark-up components should any system need spare parts.
Maybe neurons randomly or selectively rearrange when you are dreaming, and the new connections give you a particular element in your dream. Then, when you relive a particular situation when that neuron gets activated and the connection is already there, that forms deja-vu.
Though, given the complexity and size of the human brain, to deja-vu something like a one hour event might require millions of neuron connections.
If it weren't for the fact that all the other inputs to the system were human, analysis might work, but as you say once you get everyone else looking to see what everyone else is doing and trying to analyze each other, it just ends up being a twitchy feedback system.
Fractal patterns- a line graph over a long period can be decomposed into a base pattern that is repeated at different amplitudes at different frequencies (hourly, daily, weekly, fortnightly, monthly, annual quarters, yearly). Such analysis can be used to synthesize patterns such as music instruments (audio grains) ocean waves, cloud patterns (Perlin textures), and terrain (fractal landscapes). For 2D and higher, these ratios can vary according to direction as well.
It might be that different traders have different buying/selling patterns, and that these are all superimposed on top of each other.
Humbug, I really miss the Internet of the mid-70's, where line-printer keyboards were king, a computer with a monitor was exciting, and ASCII art printouts were used for decorating the office.
The school officials should have had the common sense to know that if they were remotely accessing the webcam of a laptop that was intended to be taken outside of the premises, that they would invading the privacy of that student.
Maybe the software didn't show whether the laptop was on the local or a remote network. There should be some indication (the name should have been highlighted in some way, if not disabled in the GUI sense).
see these sorts of posts all the time and wonder what exactly it is that all these people want unused RAM for.
Numerical simulations, animation. I wanted to run a 256^3 sized grid reaction-diffusion simulation. That would required around 128^3 x (2 channels) x (2 grids) x (4 bytes) ~ 60 Mbytes. I try malloc and then mmap, but each were extremely slow due to the freeing up of memory (particularly system buffers). So I resorted to using the graphics card instead (you want 32 Mbytes for a single four channel 32-bit floating-point texture? Sure, no problem, here you go...)
That's a very typical story - entire issues of BYTE magazine were dedicated to mulling over how to get the educators up to speed. Everything from the problems of donated equipment (a classroom of 30+ cobbled together out-of-date PC's from spare parts was not particularly welcome by teachers or administrators). Teaching of Logo was thought to be the best way of going about the process.
Even now, while the teachers are struggling to get their broadband connection working, the schoolkids are talking about how to setup their own private password-protected game servers.
When you put it like that, today really is quite spectacular. However I would have killed to be around in the 80's/ very early 90's for how exciting the tech was then.
You could try and recreate the atmosphere - for a high-school student back in the 80's, evenings were spent either watching TV (weekdays: Hitchhikers Guide to the Galaxy, Star Trek, Tomorrows World, weekends: Dr Who, Lost in Space) or social activities like the local computer society (tours of local companies as well as seeing the latest home computers), as well as other things like cinema movies and D&D (cartoons or games). Otherwise, it would be a chance to use the home computer, either trying out ideas from books, or typing in programs from the magazines (the scans are available as CD-ROMS with the permission of the publisher). PC programs are available at the abandonware sites, and Dr. Dobbs/Byte have archives.
There are some old clips of Tomorrows World and similar programs online , but the latest advances in hardware and user interface are just as impressive.
In 1981 I bought a VIC-20 (don't laugh) for 90 dollars at K-Mart.
I remember the Autumn evening at high-school when one of the other students brought in a ZX-79 he had bought and assembled - the white box with the touchpad keys. With the computer, on one of the wooden physics lab desks around the perimeter of the classroom, he plugged the video cable into an old monitor that was in the lab, the screen lit up and the next thing he was loading in game files from a tape recorder - for me, that was the day the home computer revolution started. That year, I got an Atari 800 with 48K memory, a few years later, an Atari 800XL with a 4.25" disk drive, the mini graphics-tablet. I made some controllers using light sensors and an old telephone dial.
(can you say "yuck!"?), Yes, the first CGA/EGA PC's seemed a backward step compared to home computers at the time. Though, the game programmer in me says that it is the challenge of squeezing out every clock cycle of performance is the goal. Still, looking back, it was a pain having to wait four years for PC's to catch up to the GUI window systems like the Atari ST/Amiga.
In a span of 10 years, we saw an entire generation of thought become obsolete. What a time in history! It was definitely an amazing time. TV programmes like "Tomorrows World" promised us a future digital world of CD-players, lasers and computers like the morrow-morrow-land story of Mad Max. Now we are there in the digital city, with laptops, wi-fi base stations, stereographic 3D TV, gigahertz PC's, satellite phones, GPS navigators, Internet, on-demand video and mobile phones with animated 3D visuals.
with only an 8mhz CPU, 32k of memory, a 40x25 screen and BASIC to play with, there were no "expectations" of fanciness, fonts or even graphics to get in the way. the learning curve was quick and dirty, and there were no frills to overwhelm you.
BASIC was quick to learn, you just needed to learn about variables, GOSUB/RETURN to make function calls, and how to write text and read input and you could write simple ASCII text games. If you learned about the video hardware of the machine, you could create your own fonts. Just about every machine copied their ROM character set into RAM, which thus could be reprogrammed. At 8 bytes, character, you just needed 1K to define a new character set. With some knowledge of assembly, you could implement a sprite engine.
But there was an extremely rapid evolution from text-only games (guess a number, casino, adventure, ASCII art platform games) to platform games with programmed character sets/tiles/sprites. Even the platform games evolved from being single screen levels to vast scrolling horizontally and vertically levels and then isometric views with diagonal scrolling. By the end of the 1980's many games featured sampled sound, levels generated from custom level editors and paint programs. The fine touch of any game was to have a bitmap signature in the title or credits.
Programming magazines like (BYTE, Computing Today, Antic, Compute!), provided many interesting articles. A couple of short videos:
My school (1980-1986) was like that. While the sports team had their own mini-van, and the language department had their own language studio (30 wooden-panel kiosks with a built in tape-desk control and a set of headphones), the computer lab had two Apple ][ computers, one of which had a color screen and printer. This was mainly due to the academic background of the principal - when he retired, he was replaced by someone specializing in educational IT.
Assignments in the final year consisted of writing 10-line BASIC programs. At the time I left, the two Apple ]['s had been replaced by a BBC Acorn Econet, which was a network ring of RS232 that tied the computers into a topological ring. Wiring diagrams showed the best topologies for fitting computers into odd shaped classrooms using Koch curve patterns. Just about every student had their own home computer (BBC, Commodore 64, Dragon, ZX Spectrum, Atari) and were writing their own 100+ line programs, including assembler language. BYTE magazine from that time had educators mourning about the lack of decent IT education in schools. Logo was the recommended programming language of the time.
It's very easy to set up... either in Linux or Windows . In each case it would require a user account set up on that machine which is what the administrators did.
For Linux, you can use 'sshfs' to map a remote file system to your system. You can run commands remotely using rexec/rexecd. To record audio, you can use xawtv/record. To record video you can use any number of command line applications such as 'streamer', 'bttv'.
Windows PC's would come with all of this setup, especially as the laptops were provided by the school. They would just need to use the video-conferencing and remote-desktop control features instead.
I've mentioned this before, but my aunt had difficulty is setting up her broadband service. The Indian call-center staff were able to patch her PC configuration files without ever having to ask for a password. She said she just saw the mouse pointer whizzing around the screen and configuration windows opening and closing, so getting adminstration access is no problem.
The official legal document describes that the users of the system (the administrators of the school) acquired pictures of the students in various states of undress, and that the whole system was exposed when the administrator reprimanded one of the students for "inappropriate behavior" in his own home.
Uh, the device driver is supposed to act as the implementation between the interface of the hardware and the interface of the data communication layer. Any software layers above aren't supposed to see any difference between a ATM network and an Ethernet or Token Ring network. All they need to know is the function calls to send a block of data to a specified network address, read back blocks of data representing addressed data packets, set various settings and read back statistics.
It's called "bid and be damned" . Your company makes an outlandishly low bid that will win the contract, then they perform the "Dutch windmill" approach to sub-contracting out the work - each company just picks out the work they want to do and outsources the remaining work.
Reverse engineering of hardware interfaces involves running usb, i2c, pci monitoring software to watch to see what hardware memory and registers are being changed. From this, it is possible to write an equivalent driver.
Doesn't Nvidia do some memory mapping voodoo with virtual memory mapping to speed up context switching?
The problem is that coding career paths are frequently diverging...
1980's you would just need to learn C and 80x86, 680x0 or SPARC assembly language to get a real-time systems programming position (VxWorks might help too). X-windows/Motif or Windows would get you a GUI development position and X.25 would get you a telecoms position.
1990's, you would need to know C++, design patterns, multi-threading, Windows MFC, and OpenGL to get a GUI position. For a real-time position you would need to know MIPS assembly language plus the relevant hardware
For a GUI development position now, you need to know Java / C++, design patterns, multi-threading, CUDA, GPU shading languages (OpenGL/DirectX), Windows API's (.NET) as well as the state-of-the-art in rendering methods.
I've interviewed with companies like that - they give you a technical interview over the phone, reassure you that they are looking for experienced software engineers, arrange a face-to-face interview, give you another technical interview at the office, confirm that you have all the skills that they are looking for, then say, "What if we didn't offer you a backroom software development role, but gave you a customer-facing role instead?"
They do. But most of the cores will be assigned to producing graphics - the AI / gameplay / physics / networking update will be given their own threads.
It used to be possible to crash early Sun servers (or at least the terminal server attached to the server by trying to copy data from a virtual terminal (cat/dev/ttyp0) or something similar.
One university department tried to get around the user quotas on commercial UNIX licenses by creating a single user account for an entire class. Hilarity ensued as students working on real-time projects would accidently kill each others processess.
I had the same problem with the Bank of America - every time I called one of their help-lines it was, "I'm sorry sir, but you will have to use your nearest US Bank of America center to make a transfer". Their online wire transfer service was broken or at least didn't support international transfers.
Fortunately, a third party banking service like xe.com was able to do the transfers for me.
For a vendor to get federal supplier status, they have to be willing to support any particular hardware system for as long as the system is used The first effect is that there is no incentive to modernize the system (why bother, it is still being supported). The second effect is that you get all sorts of junk hardware speculators who buy up ancient hardware and store it, simply to sell as a high mark-up components should any system need spare parts.
Maybe neurons randomly or selectively rearrange when you are dreaming, and the new connections give you a particular element in your dream. Then, when you relive a particular situation when that neuron gets activated and the connection is already there, that forms deja-vu.
Though, given the complexity and size of the human brain, to deja-vu something like a one hour event might require millions of neuron connections.
If it weren't for the fact that all the other inputs to the system were human, analysis might work, but as you say once you get everyone else looking to see what everyone else is doing and trying to analyze each other, it just ends up being a twitchy feedback system.
Fractal patterns- a line graph over a long period can be decomposed into a base pattern that is repeated at different amplitudes at different frequencies (hourly, daily, weekly, fortnightly, monthly, annual quarters, yearly). Such analysis can be used to synthesize patterns such as music instruments (audio grains) ocean waves, cloud patterns (Perlin textures), and terrain (fractal landscapes). For 2D and higher, these ratios can vary according to direction as well.
It might be that different traders have different buying/selling patterns, and that these are all superimposed on top of each other.
That is worthy of a motivational poster...
"Should we warp drive now or go two sectors down and attack the Klingons"
Humbug, I really miss the Internet of the mid-70's, where line-printer keyboards were king, a computer with a monitor was exciting, and ASCII art printouts were used for decorating the office.
The school officials should have had the common sense to know that if they were remotely accessing the webcam of a laptop that was intended to be taken outside of the premises, that they would invading the privacy of that student.
Maybe the software didn't show whether the laptop was on the local or a remote network. There should be some indication (the name should have been highlighted in some way, if not disabled in the GUI sense).
see these sorts of posts all the time and wonder what exactly it is that all these people want unused RAM for.
Numerical simulations, animation. I wanted to run a 256^3 sized grid reaction-diffusion simulation. That would required around 128^3 x (2 channels) x (2 grids) x (4 bytes) ~ 60 Mbytes. I try malloc and then mmap, but each were extremely slow due to the freeing up of memory (particularly system buffers). So I resorted to using the graphics card instead (you want 32 Mbytes for a single four channel 32-bit floating-point texture? Sure, no problem, here you go...)
That's a very typical story - entire issues of BYTE magazine were dedicated to mulling over how to get the educators up to speed. Everything from the problems of donated equipment (a classroom of 30+ cobbled together out-of-date PC's from spare parts was not particularly welcome by teachers or administrators). Teaching of Logo was thought to be the best way of going about the process.
Even now, while the teachers are struggling to get their broadband connection working, the schoolkids are talking about how to setup their own private password-protected game servers.
When you put it like that, today really is quite spectacular. However I would have killed to be around in the 80's/ very early 90's for how exciting the tech was then.
You could try and recreate the atmosphere - for a high-school student back in the 80's, evenings were spent either watching TV (weekdays: Hitchhikers Guide to the Galaxy, Star Trek, Tomorrows World, weekends: Dr Who, Lost in Space) or social activities like the local computer society (tours of local companies as well as seeing the latest home computers), as well as other things like cinema movies and D&D (cartoons or games). Otherwise, it would be a chance to use the home computer, either trying out ideas from books, or typing in programs from the magazines (the scans are available as CD-ROMS with the permission of the publisher). PC programs are available at the abandonware sites, and Dr. Dobbs/Byte have archives.
There are some old clips of Tomorrows World and similar programs online , but the latest advances in hardware and user interface are just as impressive.
In 1981 I bought a VIC-20 (don't laugh) for 90 dollars at K-Mart.
I remember the Autumn evening at high-school when one of the other students brought in a ZX-79 he had bought and assembled - the white box with the touchpad keys. With the computer, on one of the wooden physics lab desks around the perimeter of the classroom, he plugged the video cable into an old monitor that was in the lab, the screen lit up and the next thing he was loading in game files from a tape recorder - for me, that was the day the home computer revolution started. That year, I got an Atari 800 with 48K memory, a few years later, an Atari 800XL with a 4.25" disk drive, the mini graphics-tablet. I made some controllers using light sensors and an old telephone dial.
(can you say "yuck!"?),
Yes, the first CGA/EGA PC's seemed a backward step compared to home computers at the time. Though, the game programmer in me says that it is the challenge of squeezing out every clock cycle of performance is the goal. Still, looking back, it was a pain having to wait four years for PC's to catch up to the GUI window systems like the Atari ST/Amiga.
In a span of 10 years, we saw an entire generation of thought become obsolete. What a time in history!
It was definitely an amazing time. TV programmes like "Tomorrows World" promised us a future digital world of CD-players, lasers and computers like the morrow-morrow-land story of Mad Max. Now we are there in the digital city, with laptops, wi-fi base stations, stereographic 3D TV, gigahertz PC's, satellite phones, GPS navigators, Internet, on-demand video and mobile phones with animated 3D visuals.
with only an 8mhz CPU, 32k of memory, a 40x25 screen and BASIC to play with, there were no "expectations" of fanciness, fonts or even graphics to get in the way. the learning curve was quick and dirty, and there were no frills to overwhelm you.
BASIC was quick to learn, you just needed to learn about variables, GOSUB/RETURN to make function calls, and how to write text and read input and you could write simple ASCII text games. If you learned about the video hardware of the machine, you could create your own fonts. Just about every machine copied their ROM character set into RAM, which thus could be reprogrammed. At 8 bytes, character, you just needed 1K to define a new character set.
With some knowledge of assembly, you could implement a sprite engine.
But there was an extremely rapid evolution from text-only games (guess a number, casino, adventure, ASCII art platform games) to platform games with programmed character sets/tiles/sprites. Even the platform games evolved from being single screen levels to vast scrolling horizontally and vertically levels and then isometric views with diagonal scrolling. By the end of the 1980's many games featured sampled sound, levels generated from custom level editors and paint programs. The fine touch of any game was to have a bitmap signature in the title or credits.
Programming magazines like (BYTE, Computing Today, Antic, Compute!), provided many interesting articles. A couple of short videos:
3D Planets
3D Landscapes
My school (1980-1986) was like that. While the sports team had their own mini-van, and the language department had their own language studio (30 wooden-panel kiosks with a built in tape-desk control and a set of headphones), the computer lab had two Apple ][ computers, one of which had a color screen and printer. This was mainly due to the academic background of the principal - when he retired, he was replaced by someone specializing in educational IT.
Assignments in the final year consisted of writing 10-line BASIC programs. At the time I left, the two Apple ]['s had been replaced by a BBC Acorn Econet, which was a network ring of RS232 that tied the computers into a topological ring. Wiring diagrams showed the best topologies for fitting computers into odd shaped classrooms using Koch curve patterns. Just about every student had their own home computer (BBC, Commodore 64, Dragon, ZX Spectrum, Atari) and were writing their own 100+ line programs, including assembler language. BYTE magazine from that time had educators mourning about the lack of decent IT education in schools. Logo was the recommended programming language of the time.
It's very easy to set up ... either in Linux or Windows . In each case it would require a user account set up on that machine which is what the administrators did.
For Linux, you can use 'sshfs' to map a remote file system to your system. You can run commands remotely using rexec/rexecd. To record audio, you can use xawtv/record. To record video you can use any number of command line applications such as 'streamer', 'bttv'.
Windows PC's would come with all of this setup, especially as the laptops were provided by the school. They would just need to use the video-conferencing and remote-desktop control features instead.
I've mentioned this before, but my aunt had difficulty is setting up her broadband service. The Indian call-center staff were able to patch her PC configuration files without ever having to ask for a password. She said she just saw the mouse pointer whizzing around the screen and configuration windows opening and closing, so getting adminstration access is no problem.
The official legal document describes that the users of the system (the administrators of the school) acquired pictures of the students in various states of undress, and that the whole system was exposed when the administrator reprimanded one of the students for "inappropriate behavior" in his own home.
Uh, the device driver is supposed to act as the implementation between the interface of the hardware and the interface of the data communication layer. Any software layers above aren't supposed to see any difference between a ATM network and an Ethernet or Token Ring network. All they need to know is the function calls to send a block of data to a specified network address, read back blocks of data representing addressed data packets, set various settings and read back statistics.
It's called "bid and be damned" . Your company makes an outlandishly low bid that will win the contract, then they perform the "Dutch windmill" approach to sub-contracting out the work - each company just picks out the work they want to do and outsources the remaining work.
Reverse engineering of hardware interfaces involves running usb, i2c, pci monitoring software to watch to see what hardware memory and registers are being changed. From this, it is possible to write an equivalent driver.
Doesn't Nvidia do some memory mapping voodoo with virtual memory mapping to speed up context switching?
The problem is that coding career paths are frequently diverging ...
1980's you would just need to learn C and 80x86, 680x0 or SPARC assembly language to get a real-time systems programming position (VxWorks might help too). X-windows/Motif or Windows would get you a GUI development position and X.25 would get you a telecoms position.
1990's, you would need to know C++, design patterns, multi-threading, Windows MFC, and OpenGL to get a GUI position. For a real-time position you would need to know MIPS assembly language plus the relevant hardware
For a GUI development position now, you need to know Java / C++, design patterns, multi-threading, CUDA, GPU shading languages (OpenGL/DirectX), Windows API's (.NET) as well as the state-of-the-art in rendering methods.
I've interviewed with companies like that - they give you a technical interview over the phone, reassure you that they are looking for experienced software engineers, arrange a face-to-face interview, give you another technical interview at the office, confirm that you have all the skills that they are looking for, then say, "What if we didn't offer you a backroom software development role, but gave you a customer-facing role instead?"
They do. But most of the cores will be assigned to producing graphics - the AI / gameplay / physics / networking update will be given their own threads.
'lynx', '(al)pine', bash, fdisk, parted, vim and ssh are still extremely popular. Command line isn't quiet dead yet.
It used to be possible to crash early Sun servers (or at least the terminal server attached to the server by trying to copy data from a virtual terminal (cat /dev/ttyp0) or something similar.
One university department tried to get around the user quotas on commercial UNIX licenses by creating a single user account for an entire class. Hilarity ensued as students working on real-time projects would accidently kill each others processess.
Like this one? The $4,000,000 townhouse in San Franscisco (It is the second-most photographed street in the USA though
I had the same problem with the Bank of America - every time I called one of their help-lines it was, "I'm sorry sir, but you will have to use your nearest US Bank of America center to make a transfer". Their online wire transfer service was broken or at least didn't support international transfers.
Fortunately, a third party banking service like xe.com was able to do the transfers for me.