Pandora Casual Coding On Pandora ?


quietbloke

Still Fresh
Joined
Nov 17, 2005
Messages
35
Location
UK
Website
www.quietbloke.com
Hi all,

I havent really been following the progress on this neat little machine so this might be a stupid question but a quick scan of the forums didnt seem to answer this.

Will there be some sort of simple dev tools that can be used on the machine to write simple apps ?

Blitzmax would have been perfect but I dont see that happening so... any alternatives out there ?

I seem to recall firefox being on the machine... is that right ? would that be the latest build ?... with HTML5 support ?.
 
quietbloke said:
Hi all,

I havent really been following the progress on this neat little machine so this might be a stupid question but a quick scan of the forums didnt seem to answer this.

Will there be some sort of simple dev tools that can be used on the machine to write simple apps ?
You can basically take code that runs on a normal Linux PC and compile it on the Pandora, and it'll work most if the time. You don't need an SDK or anything; it's the same libraries, the same compilation procedures, etc, as on a normal Linux desktop computer.
Just stick to using GTK, Qt, OpenGL ES, SDL, and so on, and you'll be fine.
quietbloke said:
Blitzmax would have been perfect but I dont see that happening so... any alternatives out there ?
Python is an obvious suggestion (because it's supposedly very easy to learn) but basically any programming language will work. You can even use VisualBasic.Net, Haskell, Brainf*ck or Lisp if you want to.

quietbloke said:
I seem to recall firefox being on the machine... is that right ? would that be the latest build ?... with HTML5 support ?.
Yes.
 
Last edited by a moderator:
skeezix said:
Did you just use Haskell and Lisp in the same breath as Brainfuck and VB?

..... *blink!* :)

jeff
Sorry, I at first just wrote Haskell and Lisp, but thought that "Hey, that doesn't sound that bad or weird at all! It actually sounds pretty awesome!", so I wanted to balance up the good with some bad and ugly (VB, of course, being the ugly), and ended up writing what you all have in front of you.
 
Last edited by a moderator:
arrrgh said:
Visual Basic is both bad and ugly though...
C'mon what's wrong with VB? That's the first language I learned (excluding BASIC). The best part was the IDE and lack of #includes.
 
Last edited by a moderator:
Mr.Confuzed said:
arrrgh said:
Visual Basic is both bad and ugly though...
C'mon what's wrong with VB? That's the first language I learned (excluding BASIC). The best part was the IDE and lack of #includes.
Well, everything is relative, right? I'll not say that VB beats C because it doesn't, but compared to FORTRAN...

The worst thing about VB imho is that it isn't general purpose at all. I mean, a syntax that works like this (sorry if I don't remember the exact keywords; haven't touched BASIC in 10 years):
Code:
Open "file.txt" For Input As #1

Problem:
- That's the only way to open a file in the VB world; there are no alternative implementations
- It's not object oriented; you have to carry around that "#1" handle everywhere to read from or write to the file
- Unless you use "FreeFile" everywhere, you WILL get handle collisions and mess up the whole system
- You need actual specialized *syntax* to open a freaking *file*! How can you claim that VB is a general purpose language knowing that?

I am so happy that languages like Python, Scala and Ruby etc exist today where you describe *what* you want to do and not *how* the computer is supposed to do it, and where you don't care about implementations and are able to swap one implementation for another seamlessly. It has saved me at least 95% of the time I would have needed if I had used VB or some other ancient language.
 
Last edited by a moderator:
You are wrong.

(Talking about VB6)

FreeFile will check if a handle was used before, so you don't have to use it "everywhere".
You can also use functions provided by DLLs, using the same functions just like any other C program which uses the win32 api. If you really need your own implementation go ahead and put that into C code.
OR just create a byte array with code and use call to execute the code you loaded to it.
If you want object orientation you can simply create a wrapper for it. From what I remember, microsoft even provided a file handler with one of their controls.
 
JayFoxRox said:
FreeFile will check if a handle was used before, so you don't have to use it "everywhere".
You can also use functions provided by DLLs, using the same functions just like any other C program which uses the win32 api. If you really need your own implementation go ahead and put that into C code.
OR just create a byte array with code and use call to execute the code you loaded to it.
If you want object orientation you can simply create a wrapper for it. From what I remember, microsoft even provided a file handler with one of their controls.
Whatever.

You obviously remember more of VB than I do... Don't know if that's a good or bad thing. :p

Yeah, by everywhere I of course mean everywhere where you open files.
And I know about the "Declare Sub blabla Lib "system32.dll" (ByVal this As Integer, ByVal that As Integer)" syntax but using another language to aid you shouldn't really be the only other option you have.

Then, you speak of objects, in VB6? Do you mean the "Class" files and their shenanigans? Because those were very strange and not object oriented at all, IIRC.

Anyways, let's leave the nostalgia out of this thread; it's not really on-topic.
 
Last edited by a moderator:
Back to initial topic:

I'm currently thinking about what audio player I want to use, and I got stuck at the needed libraries. As mentioned above, qt and GTK will be available (already installed?).
How about other frameworks like GStreamer, the gnome libraries, KDE-Libs? Since they are all open source, they will run, no question. But will the pandora be fast enough to use them reasonnably?

Or expressed differently: I guess the 100+h of music listening are not by using Amarok? :unsure:
 
The 100+ was a vague, ball-park estimate based on a special firmware that would disable basically every device except for the DSP and RAM, and occasionally wake up the CPU to load more music.

I have no idea how that would work, but it would not use any currently existing music player.

I think GStreamer will be fine, there's no reason why the Pandora can't use it to decode music.

There's also MMLS, which literally nobody knows about since I just wrote it last summer and haven't bothered to announce it.
It uses Qt 4.5 and Phonon, but I might re-write it to use GStreamer or something, I think Phonon is causing a lot of crashes.

Source: http://gitorious.org/moremusiclesssuck/mmls_gui_xlib/trees/master
Screenshot: http://gitorious.org/moremusiclesssuck/mmls_gui_xlib/blobs/master/Screenshot-2.png

It will fit in 800 by 480 easily, and it should be easy to set it up to use the Pandora's game keys to play, pause, or skip music.
 
Probably the easiest way is just to download Python and Pygame (for either Windows, Linux, and OS X), there are beginner's books out there such as this that teach both. Since they're both cross-platform, they should work on the Pandora if not included out-of-the-box. They will make casual coding 'casual.'
 
I consider cost and ease of access the most important things to consider for a platform. iphone / itouch, xbox 360, windows and now Pandora have pretty low cost of entry (usually 100 dollar subscription fee in the former). Nintendo DS and Wii, Sony PSP and PS3 require not only thousands of dollars for the devkits, but also require the applicant to be a registered software company with employees and previous development experience.

I want to make "art-games", but problem is the one-man gamemaker team is often lumped along with "shovelware" developers... you know, those who make massage and "fart apps".

But what if I have a passion for cinematic storytelling, but cannot overcome the technical and financial limitations? Ideally I would just release for the PC, but it would be a nightmare to market without a specific platform that is often tied to specific hardware, operating system, and comes with the benefit of a focused marketplace. (But maybe those with more experience here might actually prefer their small circle webring of indie dev friends rather than the impersonality and "billions and billions served" mentality of the Apple App store).

Nowadays, I think hardware is irrelevant (although the Pandora looks like it could really replace the netbook and PSP / DS / itouch with its multipurpose abilities -- the "only" things going against it are brand awareness (can't beat Asus, Dell, Sony, Nintendo and Apple), the reputation of linux as a geek-only OS, and content. The platforms want to differentiate themselves based on the exclusive content they have -- usually means buying out development studios who have previously released killer apps on your proprietary platform. It's kind of ironic that open-source is usually used to emulate proprietary content, when philosophically speaking the open-source environment should be the one that breeds fresh new IPs without restriction.

Anyways, it's probably still too early, but it would be nice to have an all-in-one downloadable SDK specifically for Pandora. I could still use cross-platform python-based middleware engines, but still. In the meantime I'll be tinkering with the itouch but dangit I really need some tactile buttons. Also, I really want to do 3D, but it's hard to find anything beyond FPS engines that let you import Blender models. I know 3D is very hard to do but I can still hope for some open source equivalent of the Havok or Unreal engines that you see in almost every commercial game today.
 
Well, Unreal is basically the closed competitor to Quake. The Quake III engine is already open and Quake 4 will be open in another few years or so, depending on how John Carmack's feeling.

But I think you meant the Havok and Unreal physics engines.
They have the following open alternatives:

Bullet
Open Dynamics Engine
Tokamak

Hell, ODE has been used in a few commercial games already. I think Bloodrayne used it. Not that I played such a poorly written... ANYWAY.

As for Blender models, you can just use the Blender Game Engine, which is basically a giant Python middleware. If you do try that, good luck, I haven't figured it out yet.
 
@Updownupdownleftright:
Looks like you needed to get something off your chest :)
What are you looking to get from your games? Fame or fortune? Are you thinking proprietary or open-source?

Updownupdownleftright said:
... Ideally I would just release for the PC, but it would be a nightmare to market without a specific platform that is often tied to specific hardware, operating system, and comes with the benefit of a focused marketplace. ...
That's one of the interesting things about the Pandora right now: it has a focused marketplace or at least a focused community, right here, combined with the same open-source benefits that you see on the PC. The community is a bit small though.

Updownupdownleftright said:
...
Anyways, it's probably still too early, but it would be nice to have an all-in-one downloadable SDK specifically for Pandora. I could still use cross-platform python-based middleware engines, but still. ...
I'm not sure what you mean. Are you saying you want someone to tell you exactly what tools you should be using?
 
Last edited by a moderator:
This may seem like a dumb question but would C# ever be a programming language you could use on the Pandora? I know with mono you can run C# .NET on Linux and other OSes but I have this feeling that C# and ARM don't really go together that well.
 
Yeah, probably.
Mono is all open-source, and I don't think there's necessarily any x86-only code unless it uses a JIT compiler by default.

Of course, it's still up in the air for some people as to whether Mono is a trap devised by Microsoft to get more people to learn C# or something.

Edit: Google "Mono on ARM"
http://mono-project.com/Mono:ARM

I guess they do use a JIT, but they made a port to ARM Linux so it should work somehow.
 
We need the compiler onboard, plus headers for everything thats included in the default installation. This will make a huge difference for new-comer developers ..
 
Back
Top