Le 11/12/14 14:44, p...@highoctane.be a écrit :


On Thu, Dec 11, 2014 at 12:01 PM, kilon alios <kilon.al...@gmail.com <mailto:kilon.al...@gmail.com>> wrote:

    can you resize the pharo windows ? I saw you struggle with it there

    It also looks like its crawling there , which iPad is this , which
    generation ?


This is an iPad2. Pure Morphic is fine, what is not is Nautilus. I guess with AltBrowser it would be fine.

I've had a game I wrote for kids (internal stuff done for my wife's kids help practice) and it was fine with drag and drop and all.

Now for games on iOS I do use Monkey-X. But I'd love to have a Pharo set of classes that would be gaming specific.

Me too.
I proposed a topic going in that direction for array based board game.
Now could you spend some time to describe what you would like and what classes would be needed?

We could have very fast plugins for all the game engine and script it with Pharo. Kind of what one does with Lua.

The touch paradigm is different from what one can do on a desktop. It is not that Pharo has to work on an iPad. What would be nicer is to have an image running on it and to which one would connect remotely for remote coding.

Yes :)

What I was interested in with the bluetooth keyboard project is to see how to have a kind of dynabook style thing. But Apple has crippled a lot of things, like for an external keyboard support like this one has to use internal undocumented APIs for the gsEvents and this will prevent anything to go to the AppStore. And then one sees apps like iAWriter which has such keyboard support, that's weird.
It depends who is the application validator. My impression is that their process sucks.
I talked once with john and it was a bit surnatural.

Also, as a result, you realize that there is no ESC key on an iPad, that you miss a ton of keys that you take for granted on a desktop. Also, all keyboard scancodes are different in various brands and it is a true ball of knots. No wonder Apple has one supersimplified protocol for input that prevents your from doing powerful keyboard based things. Meh.

Long story short, Android looks much better in that regard, and that's where I am looking at these days.

I've got a new Galaxy Alpha Octocore thing and frankly, it blows any iPhone 6 out of the water. I am done with iOS I'd say. When going to places, there are so much more Android devices than iDevices... These Android things are like the beige boxes of the 90's.
You know who won at the time.

So, next holidays, I'll have a look at CogDroid from JB.
Cool. JB will be happy and I hope he will push the rewrite of the event model further.
When one can buy a full quad core stick PC with 2G of RAM and 8G of storage for less than $50, well, choice is clear.

An old example: http://www.laptopmag.com/reviews/mini-pcs/mk808-android-mini-pc

That's where I want Pharo to run.

Phil


    On Thu, Dec 11, 2014 at 10:09 AM, p...@highoctane.be
    <mailto:p...@highoctane.be> <p...@highoctane.be
    <mailto:p...@highoctane.be>> wrote:

        Pharo on iPad.

        http://youtu.be/7MNsUiCc5FQ

        Le 10 déc. 2014 21:26, "dboeren" <boer...@gmail.com
        <mailto:boer...@gmail.com>> a écrit :

            Now that my image is working properly again and the fires
            have been put out,
            I wanted to introduce myself a bit better...

            My name is David Boeren.  I first learned Smalltalk back
            in college many
            years ago, we used Smalltalk V in an object oriented
            programming class I
took which was first-half Smalltalk, second-half C++. This would be about
            1992 I think?  In recent years I've mainly been using
            Java, with occasional
            Python dabblings.  I remember installing Squeak once or
            twice over the
            years, but to be honest it felt a bit clunky, perhaps this
            was just an early
            primitive version or whatever.

            Recently, I've been getting the itch to try out some
            different languages.  I
            was kind of looking at Scala or Clojure, one co-worker
            suggested Erlang, and
            so forth.  But after doing a brief review I ended up
            coming back to
            Smalltalk which even after all these years still stands
            right up with the
            cutting edge I think.  Sure, there are a few things that I
            think would be a
            little different if it were designed today like tuple
            support or whatever,
            but it feels like the right choice for something I'm going
            to use mainly for
            "fun" projects and the interactive environment is awesome.


            One thing I wanted to ask about is the status of getting
            Pharo running on
            iOS (or at least iPad).  I found some old posts but
            nothing much within the
            last couple of years.  I know there were app store policy
            issues in the past
            but I think that Apple has opened things up a bit since
            then, you can now
            get Pythonista in the app store, or Codea. Is there still
            an obstacle or is
it just something that hasn't been gotten around to yet? I'd love to get it
            running on my iPad Mini and be able to transmit code back
            and forth between
            there and my laptop to work on it wherever I'm at.


            Second, I'm running into an oddity and I'm not sure what
            I'm doing wrong or
            whether this is a bug of some sort, this has to do with
            trying to replace
            unicode characters in a string which seems like it should be a
            straightforward operation.  Here is my code:

                    "Fetch the raw JSON data from dtdb.co
            <http://dtdb.co>"
                    response := 'http://dtdb.co/api/cards/' asUrl
            retrieveContents asString.

                    "Clean up the data a bit to make it a little more
            regular"
                    response := response copyReplaceAll: 'null' with:
            '""'.
                    response := response copyReplaceAll: '\u2022'
            with: ','.
                    response := response copyReplaceAll: '\u009e'
            with: 'e'.

            Basically I'm just pulling some JSON data and then doing a
            few string
            replacements to make the data suit my needs.  The first
            one works.  The
            second one works.  Since the third one ALSO uses a \uXXXX
            code I would
            expect it to work too, but it does not - the accented
            characters are still
            there.

            To get a bit more visibility into this, I copied the
            CopyReplaceAll code
            from SequenceableCollection into a scratch class method
            and adding some
            Transcript output:

            copyReplaceIn: aString All: oldSubCollection with:
            newCollection
                    "Answer a copy of the receiver in which all
            occurrences of
                    oldSubCollection have been replaced by newCollection "

                    | startSearch currentIndex endIndex |

                    Transcript show: 'start' ; cr.
                    startSearch := 1.
                    [(currentIndex := aString indexOfSubCollection:
            oldSubCollection
            startingAt: startSearch) > 0]
                            whileTrue: [
                                    Transcript show: 'Found at index '
            ; show: currentIndex ; cr.
                                    endIndex := currentIndex +
            oldSubCollection size - 1.
                                    aString := aString
            copyReplaceFrom: currentIndex
                                                    to: endIndex
            with: newCollection.
                                            startSearch :=
            currentIndex + newCollection size].
                    Transcript show: 'done' ; cr.
                    ^ aString

            A minimal test seemed to work:
            HelloWorld copyReplaceIn: 'R\u00e9my Lapointe' All:
            '\u00e9' with: 'e'.

            start
            Found at index 2
            done

            Testing this with the real data worked too:
            HelloWorld copyReplaceIn: ('http://dtdb.co/api/cards/' asUrl
            retrieveContents asString) All: '\u00e9' with: 'e'.
            start
            Found at index 22379
            Found at index 22500
            done


            However, when I went back to using the regular
            copyReplaceAll:With: method
            it does not work and I'm not sure why.  When it executes this:
            aString indexOfSubCollection: oldSubCollection startingAt:
            startSearch

            The value comes back as 0 even though it's the same data from
            'http://dtdb.co/api/cards/' asUrl retrieveContents
            asString (I added a "self
            halt" to be able to step into the method and view the
            variable values), and
            I'm not sure what the difference is.  There shouldn't be a
            limit on the size
            of the collection, should there?  The whole thing is
            around 116k which is
            big but not ridiculously so.  It is however big enough
            that the debugger
            can't show the whole value, or at least I haven't found a
            way to do so.


            And last, is there a good video tutorial for the Pharo
            beginner on how to
            use the various browsers, debugger, tools, etc... that
            come with Pharo?  I
            would like to start learning more about the best ways to
            use these in my
            development processes.  I'm also having a lot of trouble
            finding the correct
            classes and message for what I want to do, searching
            online w/ Google often
            seem to turn up outdated information (or for a different
            smalltalk flavor)
            and it can take a while to figure out the correct way to
            do things.  Is
            there a good central reference for the APIs somewhere?  I
            know that you can
            search in the browser but I usually don't know the name to
            search for.  It
            would be good to have a handy reference detailing how to
            do all the
            commonplace stuff.

            Thanks!



            --
            View this message in context:
            http://forum.world.st/New-Pharo-user-some-questions-tp4795325.html
            Sent from the Pharo Smalltalk Users mailing list archive
            at Nabble.com.






--
---
Philippe Back
Visible Performance Improvements
Mob: +32(0) 478 650 140 | Fax: +32 (0) 70 408 027
Mail:p...@highoctane.be <mailto:mail%3ap...@highoctane.be> | Web: http://philippeback.eu
Blog: http://philippeback.be | Twitter: @philippeback
Youtube: http://www.youtube.com/user/philippeback/videos

High Octane SPRL
rue cour Boisacq 101 | 1301 Bierges | Belgium

Pharo Consortium Member - http://consortium.pharo.org/
Featured on the Software Process and Measurement Cast - http://spamcast.libsyn.com Sparx Systems Enterprise Architect and Ability Engineering EADocX Value Added Reseller


Reply via email to