You can take any program and build a directed graph. The nodes are instructions. You add an arrow a=(x,y) to it, if after executing x the instruction pointer can be at y. No halting problem here. To be more precise the graph is build in O(n) with n being the number of instructions in the program. Nice idea but there are some things that can throw a spanner in the works. Function pointers are one, inheritance with dynamically loadable classes is another.
That depends on the application and the architecture. Not all apps are cross compilation friendly so often you have to either build on the architecture you are targetting or build in an emulator. With architectures like arm that can take some time even if you are actively looking to buy the fastest arm hardware on the market to do it on.
Well mobile internet functionality wasn't much use 8 years ago because the infrastructure wasn't there.
back in 2000 802.11a and 802.11b had only just been standardised. Wikipedia doesn't give dates for HSCSD and GPRS but I don't think they were common in 2000 if indeed they existed at all.
You claim the word processor and spreadsheet were office compatible but what exactly do you mean by that?
According to the information I can find on the internet your model of libretto only had a screen resoloution of 800x480.
IMO the trouble with reducing netbook size below that of the EEE 900 is that 1024 pixels is the minimum screen width at which the modern web can comfortablly be browsed and doing 1024x600 on a screen any smaller than that on an EEE 900 is going to render things painfully small. Some of the later librettos did use screens with such tiny pixels and I wonder if that contributed to the libretto lines downfall.
I'm not sure, nasa will certainly be able to detect your craft and work out it's approximate size but I'm not so sure they would be able to tell if for example a spacewalk had really been performed or if that was just video footage prepared in a faking lab and sent up with the spaceship. Hell I don't even see how they can tell for sure if there are live humans on board.
Afaict most self builders tend to buy system builder packs (I couldn't find anything in the system builder license I read prohibiting keeping the system after you have built it though you are supposed to register as a system builder and use the system builder preinstallation tool which many people don't bother to do) which if you go for the bottom edition of XP or vista is less than $100 from newegg
I wouldn't call the 1.27mm pitch of SOIC fine pitch. Getting the first couple of pads done can be a bit of a pain but after that it's pretty much as easy as DIP (yes dip is a wider pitch but the very large pads needed for a through hole pin mean the gaps aren't much wider)
But yeah in general I agree, this is a reasonablly high level project, especially if you want to make the PCB yourself.
The W5100 is in a 0.4mm pitch LQFP-80 If you like that chip you are either much better at soldering than me or can afford the cost and time of getting boards made commercially.
As a side scary note, image a tiny bit more power and a second Ethernet jack on this thing. Yo cold set it up to sit as a proxy for a real production web server adding a few lines of malicious JavaScript to any outgoing HTML page. I don't think the PIC24 processor on this would have the power to do that at an acceptable speed.
Stick this server as the "upstream" of a wireless access point, and you've got a cheap throwdown local information server for a business without opening yourself up to wardrivers. Wouldn't a linksys WRTSL54GS (basically a wrt54g with a USB port) running openwrt and serving files off a USB stick be an easier and neater soloution?
I wouldn't have thought they would use anything as fancy as a PID controller. Just a simple on-off switching control with a reasonablly wide hystersis band so the heater isn't switching on and off all the time.
Does it run on an hearing aid batteries? I doubt it would run on hearing aid batteries. AA's would probablly work though. (this is just gut feeling though, check datasheets for more detailed info)
If not, what's the size of the power brick? That probablly depends on what the person who built it had hanging arround.
There isn't really anything that difficult here, the TCP/IP stack and basic webserver code is afaict provided by microchip, I think they also provide some stuff for working with SD cards. The components are all in nice big packages.
There is also sometimes negotiation required with other companies. For example UT2K4 is heavilly reliant on models for level structure so most modding will require modelling. The moddeling for UT is done with maya and then a custom plugin is used to export the format UT needs.
However the full version of maya is very expensive and the free version doesn't normally support plugins. So to allow modders to make UT models without spending rediculous ammounts of money epic had to do a special deal with the publishers of maya.
Because compared to the 'good' cards, it's less than 1/2 the price people pay to game. I guess it's a matter of perspective but I don't consider a review of cards that cost arround 2-4 times what I paid for the last few graphics cards I bought to be a review of cheap cards.
One of the major functions of a package manger on most modern linux distros and IMO the biggest thing that tends to be lacking from propietry soloutions is management of dependencies. In the windows world basically a library has to be either shipped with the OS or shipped by every app that needs it. Library security issues become a nightmare as generally every bit of software that exposes them to potentially untrusted data has to be updated. Of course a lot of software won't be so the security holes stick arround.
This mass duplication of libraries is also very wastefull of both disk space and ram
Er... I guess you don't see it this way, Microsoft, but I sure as hell always thought that checking your e-mail was basic computer functionality in this day and age. But hey, what do I know? Afaict most people for thier personal email either use webmail or use an ISP pop account and have one machine that does thier email (so they don't need a mail client on every machine, just the one they use for email).
IMAP is great if you have a few machines from which you regularlly use email. But it requires a reasonable ammount of setup for each new machine (IMAP server, SMTP server, username, password, from address, from name, sent message storage options, security options etc) and afaict is not generally availible on either ISP bundled email accounts or free accounts from the likes of hotmail yahoo etc (I think gmail offers it but they are the exception not the rule)
I agree INI files weren't great either at least they way they were typically used by old windows apps.
I see two big issues with the registry.
The first is is that it is a huge blob, you can only edit it with special tools and it is very non intuitive how to edit the registry of one windows install from another (whereas editing files on one windows install from another install or even another OS entirely is trivial).
The second is COM objects identified by GUIDs and that have to be registered in the registry before they can be used. I can just about see a justification for a GUID for a whole library to avoid naming conflicts (though IMO there are better ways like the reccomended naming convention for java packages) but doing it for every class and then registering those classes in the registry creating a wall of numbers that noone can follow is just insanity.
then people planning to maintain compatibility to can make plans to unlink from MSIE components and write their own. Yuck, so instead of one or two HTML rendering engines that need to be kept up to date in case they get exposed to the internet I get one per application.
Besides MS knows that backwards compatibility is a large part of what is keeping windows on top. Removing the core components of IE which are depended on by a huge number of applications bot MS and otherwise would be suicide.
Sure the OEMs put even more crap on but I wouldn't exactly call a default vista install clean. Even a default XP install is pushing it if judged by the standards of the time of it's release.
A default install of windows XP requires less space than a default desktop install of debian or ubuntu but is also a lot less functional. Vista goes to the other extreme taking up stupidly large ammounts of disk space.
One issue in the windows world is that afaict there is little code reuse and even when code is reused it is often copied into each project. In the linux world the upstream developers of major projects tend to strongly encourage code reuse and the distribution developers tend to ensure that whereever possible system copies of a library are used. Package managers allow a library to be easilly depended on by all applications that need it yet not installed if no apps needing it are installed.
You can take any program and build a directed graph. The nodes are instructions. You add an arrow a=(x,y) to it, if after executing x the instruction pointer can be at y. No halting problem here. To be more precise the graph is build in O(n) with n being the number of instructions in the program.
Nice idea but there are some things that can throw a spanner in the works. Function pointers are one, inheritance with dynamically loadable classes is another.
That depends on the application and the architecture. Not all apps are cross compilation friendly so often you have to either build on the architecture you are targetting or build in an emulator. With architectures like arm that can take some time even if you are actively looking to buy the fastest arm hardware on the market to do it on.
Well mobile internet functionality wasn't much use 8 years ago because the infrastructure wasn't there.
back in 2000 802.11a and 802.11b had only just been standardised. Wikipedia doesn't give dates for HSCSD and GPRS but I don't think they were common in 2000 if indeed they existed at all.
You claim the word processor and spreadsheet were office compatible but what exactly do you mean by that?
According to the information I can find on the internet your model of libretto only had a screen resoloution of 800x480.
IMO the trouble with reducing netbook size below that of the EEE 900 is that 1024 pixels is the minimum screen width at which the modern web can comfortablly be browsed and doing 1024x600 on a screen any smaller than that on an EEE 900 is going to render things painfully small. Some of the later librettos did use screens with such tiny pixels and I wonder if that contributed to the libretto lines downfall.
I'm not sure, nasa will certainly be able to detect your craft and work out it's approximate size but I'm not so sure they would be able to tell if for example a spacewalk had really been performed or if that was just video footage prepared in a faking lab and sent up with the spaceship. Hell I don't even see how they can tell for sure if there are live humans on board.
IIRC some laptops use the keyboard as a cooling vent so I would be wary of running laptops closed under heavy load.
Silly me. I thought you had to be proven guilty, at least in the USA.
Only in a criminal court!
Afaict civil courts can punish people/companies based on merely it being marginally more likely that they were in the wrong than in the right.
I would have thought you would make dummy text obviously dummy text to reduce the risk of it making it into the final version by accident.
Afaict most self builders tend to buy system builder packs (I couldn't find anything in the system builder license I read prohibiting keeping the system after you have built it though you are supposed to register as a system builder and use the system builder preinstallation tool which many people don't bother to do) which if you go for the bottom edition of XP or vista is less than $100 from newegg
nice, do you think your design would have any trouble running at 240V?
I wouldn't call the 1.27mm pitch of SOIC fine pitch. Getting the first couple of pads done can be a bit of a pain but after that it's pretty much as easy as DIP (yes dip is a wider pitch but the very large pads needed for a through hole pin mean the gaps aren't much wider)
But yeah in general I agree, this is a reasonablly high level project, especially if you want to make the PCB yourself.
The W5100 is in a 0.4mm pitch LQFP-80
If you like that chip you are either much better at soldering than me or can afford the cost and time of getting boards made commercially.
As a side scary note, image a tiny bit more power and a second Ethernet jack on this thing. Yo cold set it up to sit as a proxy for a real production web server adding a few lines of malicious JavaScript to any outgoing HTML page.
I don't think the PIC24 processor on this would have the power to do that at an acceptable speed.
Stick this server as the "upstream" of a wireless access point, and you've got a cheap throwdown local information server for a business without opening yourself up to wardrivers.
Wouldn't a linksys WRTSL54GS (basically a wrt54g with a USB port) running openwrt and serving files off a USB stick be an easier and neater soloution?
I wouldn't have thought they would use anything as fancy as a PID controller. Just a simple on-off switching control with a reasonablly wide hystersis band so the heater isn't switching on and off all the time.
Does it run on an hearing aid batteries?
I doubt it would run on hearing aid batteries. AA's would probablly work though. (this is just gut feeling though, check datasheets for more detailed info)
If not, what's the size of the power brick?
That probablly depends on what the person who built it had hanging arround.
why don't you build some then, afaict he has made the complete design available.
You may want to get the board made commercially if you don't fancy nasty chemical stuff but the build should be pretty easy.
There isn't really anything that difficult here, the TCP/IP stack and basic webserver code is afaict provided by microchip, I think they also provide some stuff for working with SD cards. The components are all in nice big packages.
There is also sometimes negotiation required with other companies. For example UT2K4 is heavilly reliant on models for level structure so most modding will require modelling. The moddeling for UT is done with maya and then a custom plugin is used to export the format UT needs.
However the full version of maya is very expensive and the free version doesn't normally support plugins. So to allow modders to make UT models without spending rediculous ammounts of money epic had to do a special deal with the publishers of maya.
Because compared to the 'good' cards, it's less than 1/2 the price people pay to game.
I guess it's a matter of perspective but I don't consider a review of cards that cost arround 2-4 times what I paid for the last few graphics cards I bought to be a review of cheap cards.
One of the major functions of a package manger on most modern linux distros and IMO the biggest thing that tends to be lacking from propietry soloutions is management of dependencies. In the windows world basically a library has to be either shipped with the OS or shipped by every app that needs it. Library security issues become a nightmare as generally every bit of software that exposes them to potentially untrusted data has to be updated. Of course a lot of software won't be so the security holes stick arround.
This mass duplication of libraries is also very wastefull of both disk space and ram
Er... I guess you don't see it this way, Microsoft, but I sure as hell always thought that checking your e-mail was basic computer functionality in this day and age. But hey, what do I know?
Afaict most people for thier personal email either use webmail or use an ISP pop account and have one machine that does thier email (so they don't need a mail client on every machine, just the one they use for email).
IMAP is great if you have a few machines from which you regularlly use email. But it requires a reasonable ammount of setup for each new machine (IMAP server, SMTP server, username, password, from address, from name, sent message storage options, security options etc) and afaict is not generally availible on either ISP bundled email accounts or free accounts from the likes of hotmail yahoo etc (I think gmail offers it but they are the exception not the rule)
I agree INI files weren't great either at least they way they were typically used by old windows apps.
I see two big issues with the registry.
The first is is that it is a huge blob, you can only edit it with special tools and it is very non intuitive how to edit the registry of one windows install from another (whereas editing files on one windows install from another install or even another OS entirely is trivial).
The second is COM objects identified by GUIDs and that have to be registered in the registry before they can be used. I can just about see a justification for a GUID for a whole library to avoid naming conflicts (though IMO there are better ways like the reccomended naming convention for java packages) but doing it for every class and then registering those classes in the registry creating a wall of numbers that noone can follow is just insanity.
then people planning to maintain compatibility to can make plans to unlink from MSIE components and write their own.
Yuck, so instead of one or two HTML rendering engines that need to be kept up to date in case they get exposed to the internet I get one per application.
Besides MS knows that backwards compatibility is a large part of what is keeping windows on top. Removing the core components of IE which are depended on by a huge number of applications bot MS and otherwise would be suicide.
Sure the OEMs put even more crap on but I wouldn't exactly call a default vista install clean. Even a default XP install is pushing it if judged by the standards of the time of it's release.
A default install of windows XP requires less space than a default desktop install of debian or ubuntu but is also a lot less functional. Vista goes to the other extreme taking up stupidly large ammounts of disk space.
One issue in the windows world is that afaict there is little code reuse and even when code is reused it is often copied into each project. In the linux world the upstream developers of major projects tend to strongly encourage code reuse and the distribution developers tend to ensure that whereever possible system copies of a library are used. Package managers allow a library to be easilly depended on by all applications that need it yet not installed if no apps needing it are installed.