Author Topic: No love for the penguin?  (Read 8360 times)

Cefwyn

  • Newbie
  • *
  • Posts: 45
    • View Profile
No love for the penguin?
« on: March 28, 2009, 10:40:40 am »
I spent most of yesterday procrastinating finishing up some deferred shading examples and so I ended up reinstalling Ubuntu Linux on one of my spare hard-drives to play with the beta version of the distro and mess about with the recently stable ext4 file-system (as you may have already guessed I'm a complete power-nerd when it comes to computers). Unfortunately I was unable to get Ultra Hal to run under wine no matter what hacks I did as even though the Haptek SAPI configuration works fine for SAPI4 voices, the Haptek player itself failed to run with an obscure error that basically means there's just no chance of running it because of whatever obscure COM functions they chose to use will probably never be implemented and don't even have a stub implementation. Ultra Hal itself failed to run with a whole bunch of stub errors which suggests that eventually Ultra Hal may run under wine, but it will probably never run perfectly as any functionality it gets from the Haptek player won't work.

Anyways, to make a long story short this got me thinking of starting work on a program similar to Hal just for penguin lovers. Rather then a small program that starts up though, I was thinking a full desktop manager or at least a applet/module to an existing one. This way a person could have Hal's antarctic alter-ego sitting on the desktop in form of either a full-screen 3D head or body in place of where a wallpaper would be and a split terminal to type messages and command to it sitting somewhere on the screen. I've never liked the idea of start menus and icons all that much as it usually takes less time to type a run command into BASH then it does to look through a start menu to find what you want, so this sort of thing would really make an ideal desktop environment for me. Linux also lends itself rather well to an AI driven system as nearly any action you could imagine doing on the computer has a command-line program dedicated to just that task. Having an AI driven system as opposed to just using a minimalistic window manager and a terminal also has the benefit of the AI performing extended operations that require other operations to complete first (ie. a command like "Play all songs by Zakk Wylde" could either be performed from a database and looking for songs with the author Zakk Wylde, or it could be performed by doing a file-system scan of your hard-drive, opening all music files to read the ID3 tags, and then playing it or queuing it if it's by that author. The first method would certainly be faster, but you should get the picture of what I mean by more complicated tasks then could be usually performed by a single command). Obviously this is a fairly crazy idea, but its certainly doable, and if the AI scripting was done using lua, python, perl, java, or even C#, the AI could easily be improved to not only better control your system with ease, but also learn from conversations just as hal does. For admins this could also be a perfect tool as there are always thousands of small tasks that have to be regularly performed which are often times too complex for a cron job but an AI that could handle the sequence of commands could easily perform for you, though obviously if you are wanting to leave you entire system fully in the hands of an AI, you probably want to be sure that system isn't controlling anything vital, can be unplugged if it tries to take over the world, and most of all will ask for feedback if one of its tasks does something it hasn't been set up to handle perfectly.

This is no way a weekend project and could easily take years to complete, but I'm just putting it out there to see what you all think of it. For TTS functionality festival works great and provides a library to integrate it into any application, but unfortunately Voice Recognition are still in early days for the penguin, unless some university or business already has some proprietary system that they are keeping secret, so not much chance of being able to talk directly to your computer yet.

Some (or many) people may consider this more work then it's worth and that most of the functionality could already be done in BASH, but I think integrating something like this into a desktop environment would work well as it would allow it to receive feedback from other applications using the standard X11 events, and then this could be expanded further using D-BUS to communicate directly with applications that support it. I could do all the necessary Xlib programming, database programming, and binding to a script language, but I wouldn't really trust any AI I designed and programmed from the ground up to be all that efficient. Anyone think this idea is interesting? Anyone experienced with inter-process communication on a Unix based system? If anyone really likes this idea and wants to work on it feel free to e-mail me, but even though I'm definitely going to work on this, it will be a few months before I've got time that I can really get much done towards it, and it could be much longer before any real AI work gets done since there has to be a language to script it in first. As of now I'm just trying to decide on all the dependencies a system like this would be likely to have (ie. Xlib, DBUS, SQLite or MySQL).

If you've actually managed to read this rant this far and don't understand all my references to penguins then you obviously don't know Linux as the penguin is Linux's mascot.[:D] Even if you aren't a Linux person though you can still help with feedback about AI design issues or whatever else that applies.
"I've just decided to lobotomist my hal..."

EULA: By reading this you agree not to take offense to anything contained in post above. If you do choose to take offense, you forfeit all rights to criticize same post unless said criticism contains important corrections and helpful information.

markofkane

  • Hero Member
  • *****
  • Posts: 5275
  • Crazy Man
    • View Profile
    • http://www.soundspectrum.com
No love for the penguin?
« Reply #1 on: March 28, 2009, 01:46:10 pm »
I'd use Linux IF I could make my fav programs work with it.
Mark: I'll think about it
Laura: Don't think about it too long or I'll throw you out on your ***king a**.
"Political correctness is censorship"

Cefwyn

  • Newbie
  • *
  • Posts: 45
    • View Profile
No love for the penguin?
« Reply #2 on: March 28, 2009, 03:19:31 pm »
Well, that depends on what your favorite programs are. There are very few programs any more that simply don't work under Wine(Unfortunately any of the programs developed when Visual Basic was considered a good idea are among them), and if your willing to try something new there are free alternatives for every commercial application out there and many of them have all the features of their commercial counterpart. Unfortunately many of the best programs out there don't get advertisement so the general view is pretty similar to yours. They know that their favorite program doesn't support Linux and don't know of any alternatives so they just assume they can't do the same things without any real inconvenience or having to learn a new program. I honestly can't say if you would like Linux or not, but Ubuntu is the currently the most user-friendly distro and only takes 10 minutes to install unless your needing some weird configuration. Many of the most useful programs for Linux are command-line applications which lend themselves particularly well to a system designed to run most tasks from a single command handled by AI, while its become pretty common for Windows applications to not take any arguments or accept much in the way of control from other applications which then means other applications would need to be developed to support an AI driven operating system.
"I've just decided to lobotomist my hal..."

EULA: By reading this you agree not to take offense to anything contained in post above. If you do choose to take offense, you forfeit all rights to criticize same post unless said criticism contains important corrections and helpful information.

Bill819

  • Hero Member
  • *****
  • Posts: 1483
    • View Profile
No love for the penguin?
« Reply #3 on: March 28, 2009, 07:33:57 pm »
I think your problem with Hal is that he uses some Windows ".dll" files for some of its stuff. I am pretty sure that I read that a few years ago.
Bill
 

One

  • Hero Member
  • *****
  • Posts: 2184
  • Technology Advocate
    • View Profile
No love for the penguin?
« Reply #4 on: March 28, 2009, 09:02:09 pm »
Could something like Hal be installed on a server and used at a terminal like Fedora? ( I am just getting into Linux )
Hal could be on the server and functions could be called at the terminal?  ha! I just said the same thing twice LOL![?]
Today Is Yesterdays Future.

One

  • Hero Member
  • *****
  • Posts: 2184
  • Technology Advocate
    • View Profile
No love for the penguin?
« Reply #5 on: March 28, 2009, 09:21:54 pm »
Microsoft server progs are VERY similar to regular OS's in many ways.
With Active directory installed you could have a lot of control....
not really sure what my point is but I think a server promoting a machine to whatever could be designated to handle an A.I., at least I don,t see why not

E directory might be an option as well.
Today Is Yesterdays Future.

Cefwyn

  • Newbie
  • *
  • Posts: 45
    • View Profile
No love for the penguin?
« Reply #6 on: March 29, 2009, 09:23:30 am »
One:
Yeah a server version of Windows would have an easier time of being used by an AI, but Linux is still even more accessable, and more secure, for such acts as the majority of the desktop environments and window managers simply function by calling other programs to do their bidding.

Bill819:
The problem with HAL running in Wine is nothing to do with DLLs, Wine is nearly feature complete when it comes to loading and running code from DLLs and any missing DLL errors can be remedied by simply copying one from Windows, though that's not 100% legal

If someone were to connect to a Windows computer from a Linux computer using VNC then they could use Hal no problem except for no sound, and depending on the VNC implementation no display of the haptek avatar, but that would defeat the point as you would need another computer to access and it wouldn't be able to do anything with the programs on the computer your accessing it from.

So far I've not really seen any problems with my idea besides the fact that I just don't have time to work on it right now. The biggest issue I can foresee is that as the the one big thing that most Linux users consider more important than anything else is choice. They want a choice in what programs are available to them as well as a choice in how those programs run (which has caused many projects to fork many times for very silly reasons). This would affect an AI system like this because the system has to intelligently recognize every different type of application and what it does and make use of them if the user desires. The database used should be pluggable so that it could either use SQLite, MySQL, or Oracle (Which does expand it's uses as a better database engine means more data that it can handle). Any functionality that requires running a specific application should be changeable to run a different application. To some extent Hal already has some of that, though it's database being SQLite can be a bit slow and won't be able to grow to any serious size without taking up massive amounts of memory on the host computer.

EDIT: When I get my dissertation finished I may have a look at implementing the stubs in Wine that it was complaining about when trying to run Ultra Hal, but most of them were ancient COM calls that no application except apparently Visual Basic and VBScript makes use of so finding all the necessary documentation could be more trouble then it's worth.

Additionally, another way to run Windows applications while using Linux is to install a virtualization framework like Xen or VMWare which allows you to install Windows inside of Linux. As far as I'm aware VMWare still doesn't give 3D hardware acceleration to guest systems but Xen definitely does as I set it up last night to run Vista. If you've got plenty of RAM, a dual-core processor or better made in the last couple years, and don't try running things like 3DSMax with 10 million vertices on the screen, you probably won't notice any difference compared to running Windows on it's own.

EDIT2: After I return from lunch I'll input Ultra Hal Assistant into the wine App Database with my test results and with any luck the program will interest someone enough to get it fixed or at least point out some of the more critical missing functionality to the WINE team.
« Last Edit: March 29, 2009, 09:34:02 am by Cefwyn »
"I've just decided to lobotomist my hal..."

EULA: By reading this you agree not to take offense to anything contained in post above. If you do choose to take offense, you forfeit all rights to criticize same post unless said criticism contains important corrections and helpful information.

One

  • Hero Member
  • *****
  • Posts: 2184
  • Technology Advocate
    • View Profile
No love for the penguin?
« Reply #7 on: March 29, 2009, 09:39:42 am »
cefwin,
It seems like with all the versions of linux, their should be something to accommodate the desired functionality

Have you tried VPro?

I didn't know about the 3D stuff but I am still digesting interlacing of displays.. THANX!
Today Is Yesterdays Future.

Marte.Ares

  • Newbie
  • *
  • Posts: 6
    • View Profile
    • http://www.roccoangeloni.it/sm/
No love for the penguin?
« Reply #8 on: March 29, 2009, 10:20:00 am »
quote:
Originally posted by markofkane

I'd use Linux IF I could make my fav programs work with it.


Shift your choices to open source programs first, i.e. open office, thunderbird, etc.
Then the move will be easier.
 

Cefwyn

  • Newbie
  • *
  • Posts: 45
    • View Profile
No love for the penguin?
« Reply #9 on: March 29, 2009, 10:20:26 am »
What's this about VPro? Only thing I could find on that was some chipset technology by Intel which definitely has nothing to do with AI or even with command-line applications being run by other applications. Basically my end result is SkyNet, only without the killing of millions or access to nuclear weapons and Terminator technology. It has been a concept to fear in many books and movies, but I still think a computer that can run itself is still a good idea. Many machine factories already have similar systems in place with only minimal human supervision so I think there really is no reason that a desktop PC should be as useless as it is. For one, it would be a great advancement for accessibility as everything would be designed to run from the simplest of commands, and on top of that it would eliminate a lot of user error. Generally when something goes wrong on a computer it's more the fault of the user then it is the program or the computer. With an AI system in place to handle daily tasks, the user simply needs to tell the computer what he/she wants it to do and it will use the best method it knows how to achieve that goal, though there will always be user error involving running applications on the wrong files or other equally stupid things that an AI can't really help with.
"I've just decided to lobotomist my hal..."

EULA: By reading this you agree not to take offense to anything contained in post above. If you do choose to take offense, you forfeit all rights to criticize same post unless said criticism contains important corrections and helpful information.

Marte.Ares

  • Newbie
  • *
  • Posts: 6
    • View Profile
    • http://www.roccoangeloni.it/sm/
No love for the penguin?
« Reply #10 on: March 29, 2009, 10:22:17 am »
quote:
Originally posted by Cefwyn

Obviously this is a fairly crazy idea, but its certainly doable, and if the AI scripting was done using lua, python, perl, java, or even C#, the AI could easily be improved to not only better control your system with ease, but also learn from conversations just as hal does.



If they ever rewrite it in C#, then a native linux and mac osx version could be easily written.
 

Cefwyn

  • Newbie
  • *
  • Posts: 45
    • View Profile
No love for the penguin?
« Reply #11 on: March 29, 2009, 10:34:23 am »
I don't really see that happening anytime soon. Though that is why I'm designing an even larger system then Hal which will run on Linux only. It'll just take a long time. Who knows, maybe by the time it's done Ultra Hal will have a native Linux version.
"I've just decided to lobotomist my hal..."

EULA: By reading this you agree not to take offense to anything contained in post above. If you do choose to take offense, you forfeit all rights to criticize same post unless said criticism contains important corrections and helpful information.

Marte.Ares

  • Newbie
  • *
  • Posts: 6
    • View Profile
    • http://www.roccoangeloni.it/sm/
No love for the penguin?
« Reply #12 on: March 29, 2009, 10:50:36 am »
quote:
Originally posted by Cefwyn

I don't really see that happening anytime soon. Though that is why I'm designing an even larger system then Hal which will run on Linux only. It'll just take a long time. Who knows, maybe by the time it's done Ultra Hal will have a native Linux version.



If you need help check my skills on my website or write me an email.

Cya
 

Cefwyn

  • Newbie
  • *
  • Posts: 45
    • View Profile
No love for the penguin?
« Reply #13 on: March 29, 2009, 11:07:19 am »
Well, for the AI scripting I'm still not sure what language to use. Any of them would be sufficient, but a lot of people know Python so I've been leaning towards that one, but if I chose C#, that could potentially pull a lot of Windows developers, but unfortunately I only know how to use C and C++ objects in C#, not how to use C# as a scripting language bound to C++.
"I've just decided to lobotomist my hal..."

EULA: By reading this you agree not to take offense to anything contained in post above. If you do choose to take offense, you forfeit all rights to criticize same post unless said criticism contains important corrections and helpful information.

Marte.Ares

  • Newbie
  • *
  • Posts: 6
    • View Profile
    • http://www.roccoangeloni.it/sm/
No love for the penguin?
« Reply #14 on: March 29, 2009, 11:18:16 am »
quote:
Originally posted by Cefwyn

Well, for the AI scripting I'm still not sure what language to use. Any of them would be sufficient, but a lot of people know Python so I've been leaning towards that one, but if I chose C#, that could potentially pull a lot of Windows developers, but unfortunately I only know how to use C and C++ objects in C#, not how to use C# as a scripting language bound to C++.


Mmmh I don't think it's possible. I do use IronPython as a scripting language inside C#: my Second Messenger itself is an example of this and it works both in windows and in linux (Mono) too.