Talk:Software components: Difference between revisions

From OLPC
Jump to navigation Jump to search
(Undo revision 80261 by My password is OLPC (Talk))
(Removing all content from page)
Line 1: Line 1:
Have you considered adding [http://www.mono-project.com Mono] as a software component of the OLPC?

If Sugar was running on Mono, it would make it easier to write Activities in languagues other than Python.
For example Java, C#, possible Ruby: http://www.mono-project.com/Languages

IronPython is an implementation of Python that runs on Mono. It is supposed to be faster than CPython. There is a reference to that on the [http://www.ironpython.com/old.html original IronPython page]. The current IronPython page is: http://www.codeplex.com/Wiki/View.aspx?ProjectName=IronPython

I've read that the final version of the OLPC will run Windows (according to [http://www.itweek.co.uk/vnunet/news/2170209/microsoft-looking-windows-olpc this article], that is why the SD slot was added). Will these applications also be on the final Windows version or will they be rewritten?

: You are drawing false conclusions from the article. Microsoft may be trying to get Windows running on the OLPC, but this is an independent effort on their part. If you read the [[Ask_OLPC_a_Question#Does_Allowing_Windows_Violate_A_.22Core.22_Principle.3F | Ask-a-question]] page, you'll see that the OLPC people are still planning to use a custom, Linux-based solution. Perhaps Negroponte was just ribbing Microsoft when he said that they "added the SD card just for Bill"? Walter outlines the actual reasons for the new slot on [[Talk:The_OLPC_Wiki#Open_source.3F | the main page]]. —[[User:Leejc|Joe]] 14:27, 23 May 2007 (EDT)

== Applications that can be looked for integration in the Sugar Environment ==
*'''Dr Geo''', an interactive geomtery software which allows one to create a geometric figure and manipulate it considering the geometric constraints associated with the figure.

*'''X-word''', a GTK crossword puzzle program that reads and write puzzles in the '''Acrosslite format''' used by '''The New York Times''' . It has a clock, a word list, options like printing, auto saving and to check and reveal letters of the puzzle.

*'''Range Software Packages''', a software for engineering simulations, finite element analysis and is able to solve problems based on heat transfer , radiation , stress strain , porous media flow and viscous incompressible flow.

*'''Ascend''', an interactive mathematical modelling system for engineering and scientific applications capable of solving non linear systems containing upto 100,000 variables.

*'''gElemental''', a periodic table viewer that provides detailed information on the chemical elements.

*'''xyz2ila''', a little C program to convert earth centred earth fixed(ECEF) cartesian coordinates to latitude, longitude and altitude.

*'''Lybniz''', a simple function graph plotter in Python which can also be made to function as a graphing calculator for the Sugar.

*'''Scilab''', a numerical computation system similar to Matlab or Simulink.

*'''g3data''', a program for extracting data from graphs.

*'''G Flashcards''', a teaching tool for learning vocabulary lists or historical facts.

*'''Festival''', A speech synthesizer to read text to children, increasing their literacy.

*'''Comix''', a pyGTK based user friendly and customizable image viewer specifically designed to handle comic books but can also serve as a generic viewer.

*'''gretl''', an application useful for teaching Economics Stastics.
*'''Shrinking Man''', a diet tracker application that can be used for tracking body weight and the calories consumed per day.

*'''Electric Form''', an application that can be used for calculation purposes in the field of Electricity based on the relationships existing between Power(P), Current(I), Voltage(V) and Resistance(R) that is 'P=I^2*R', 'P=V*I', 'P=V^2/R' and 'V=I*R'.

== Games that can be looked for integration in the Sugar Environment ==

*'''PyScrabble''', an Open Source, online, multiplayer Scrabble game written in Python which supports English, French, German and Serbian languages.

*'''Python Sudoku''', a text and a graphical (GTK interface) program to create or resolve Sudokus which can also print a Sudoku (1 or 4 Sudokus in each page) and write an image (png, jpeg, etc) with a Sudoku.

*'''Gran Prix''', a simple 2D car race game written in Python for 2 to 4 players with three different tracks where you can run on these tracks with four different Formula 1 style cars and can customize their maximum speed and the number of laps to win the race.

*'''PyXXO''', a Tic Tac Toe (or Noughts and Crosses) game for 2 players where the color of the players can be chosen along with the language and the playernames.

*'''Duo''', a Uno-like card game project, the first free Uno game on PC which is a nice and an easy card game written in Python, multilingal and could be played with 1,2 or 3 computer players.

*'''Pyamb''', a dice game also popularly refered to as a gtk version of Yamb written in Python which is a game played in turns with 5 dices and each turn player has three dice throws available. The object of the game is to reach the highest possible score.

*'''Dragon Hunt''', a Graphical Role-playing game which investigates the rumours of monsters attacking a town.

== removed ==
*A basic quizzing web application with around 20 quizzes built by [http://www.certy.com/ CERTY]

In general web applications, while accessible from the laptops, will not be bundled onto the laptop. --[[User:Walter|Walter]] 02:50, 4 November 2006 (EST)

The problem with Mono is that it allows too many languages to be used, each of which requires its own support libraries. The OLPC doesn't have the storage to spare for Python libs, Ruby libs, C# libs, etc.

Python has the power to build the type of applications that would be useful in an educational environment. That's why it was chosen. The laptop also supports Javascript in xulrunner and csound. And programs can be written in C as well.

The laptop is not a PC in the conventional sense. It has very limited memory and will be used in a very different networking environment from a PC. Most software will need to be written specifically for OLPC or heavily modified to suit a very different environment. Python is the ideal language for this development work.

== C is for Critical ==

You somehow found room for Python, Javascript, CSound, FORTH, and even Smalltalk (Squeak/Etoys). Smalltalk??? Heck, if Smalltalk makes the grade, throw in COBOL and Ada!

Most of the OS is in C. Even the Python interpreter is in C.

You think you have resource constraints? UNIX had C on the PDP-11 port, which maxed out at 128 kB of RAM and a few MB of disk. Linus started with only 4 MB of RAM and less than 64 MB (probably about 20 MB) of very slow disk space. I used to use gcc on a Linux box with 8 MB of RAM and a 40 MB hard disk. You have a whopping 256 MB of RAM and a 1024 MB "disk" that has 0ms seeks and does on-the-fly compression.

If you want small, go with bcc. If you want to treat C files as scripts, use tcc and just put "#!/usr/bin/tcc" at the top of any C files that should be executable. Really though, gcc is best.

By default, modern gcc can be a bit of a pig. This is because it's doing lots of optimization. That can be cut back via the specs file, which is a config file that defines the meaning of "-O2" and similar. One might also compile gcc itself with -Os.

[[User:AlbertCahalan|AlbertCahalan]] 01:51, 28 February 2007 (EST)

== Tux Paint needs SDL ==

This includes SDL_ttf, SDL_image, and SDL_mixer.
Those bring in a few other libraries, like libpng and libvorbis.

: I've added SDL and pygame to the list of libraries because it looks like that's what will be used predominantly for games, judging from the discussions on the games mailing list and [[Game development]] page. —[[User:Leejc|Joe]] 13:54, 23 May 2007 (EDT)

:: D'oh... I've removed SDL from the list again, as discussion on the games mailing list makes it look like the developers are now leaning towards using PyGame's interface, but backed by GTK instead of SDL. It seems this is to get the scale-independent benefits of Cairo and the internationalization benefits of Pango (although to my knowledge both can be made to work with SDL, too). —[[User:Leejc|Joe]] 20:20, 1 June 2007 (EDT)

== Python 2.4 ==

I've reverted the Python library listed to 2.4, since a [http://mailman.laptop.org/pipermail/sugar/2007-April/002322.html mailing list article] says that it's still unclear whether 2.5 will be used. —[[User:Leejc|Joe]] 13:59, 23 May 2007 (EDT)

== Java in the form of J2ME ==

Hi,
I wonder if someone in the system configuration team had thought about using J2ME as an alternative to J2SE. Since J2ME is being
used in many cellphones, the support for resource limited devices and the availabilty of J2ME programmers should be around for a
while. Personally, I prefer J2SE as a developer but if we have to choose between J2ME and No Java, I'd vote for J2ME.

== Add an note editor like [http://en.wikipedia.org/wiki/NoteEdit NoteEdit] ==

Hi,

I would like to suggest to add an note editor like [http://en.wikipedia.org/wiki/NoteEdit NoteEdit] to the software bundle (GPL license). These notes can be played in MIDI. As reference material you could add some folk songs (e.g. a collection from the USA/Europe/Africa/Asia) and/ or some music from mozart/ bach (not too much, of course). Of course this program should be sugarized and made easier to use.

This could be very helpful for teachers who want to educate their class in music. Without special paper or additional hardware tools, these children would be able to learn how to use notes to compose music. How cool would it be, if these kids would be able to hear their own composings immediately by playing their composed files as midi-sound?

They will be able to learn how to compose Dur-/ or moll-triads. I learnt this in school when I was 12-14 years old. This helped me some years later in my physics class, when I learnt the theory on sound waves and later on the theory on light waves. For the brainiest children could this be the starting point for the [http://en.wikipedia.org/wiki/String_theory string theory] (of course some years later)... [[User:134.2.34.177|134.2.34.177]] 08:53, 30 August 2007 (EDT)

: You might want to take a look at [[TamTam]], a music composition activity that is shipping with the laptops. It seems to use piano roll notation rather than the standard musical notation, but that shouldn't be a problem for the purposes you list. —[[User:Leejc|Joe]] 14:07, 23 October 2007 (EDT)

== Status of Measure / Oscilloscope ==

Since [[Measure]] activity has started going into default builds, should it be put in either the category of 'Tools for Exploring' or 'Other Tools' ? thanks--[[User:Arjs|Arjs]] 10:25, 8 September 2007 (EDT)

== Adobe Flash and Silverlight support ? ==

Does OLPC support adobe flash/ microsoft silverlight?

:Currently, by default, we load Gnash, a free and open source plug-in for the Adobe Flash™ file format; however, Adobe Flash can be loaded onto the laptop (See details under [[RestrictedFormats]]). I am currently unaware of any Silverlight support for Linux. --[[User:Walter|Walter]] 07:57, 23 October 2007 (EDT)

If i not mistaken, project Mono already support Silverlight. Can you verified it?

: It's called [http://www.mono-project.com/Moonlight Moonlight], and it looks like it's still a work-in-progress. And it seems to rely on Mono, which (from what I gather from [[Ask_OLPC_a_Question/New#Mono_libraries_on_OLPC_for_activity_developped_on_MonoDevelop | Walter's post on the Ask-a-question page]]) won't be shipping with the laptops due to size constraints, although it should work in theory. —[[User:Leejc|Joe]] 14:19, 23 October 2007 (EDT)

thanks Joe for verifying it.

== users with disabilities ==

What kinds of adaptive features does the XO have for people with disabilities? [[User:Jkintree|Jkintree]] 10:25, 13 November 2007 (EST)

Revision as of 18:44, 26 November 2007