Showing posts with label github. Show all posts
Showing posts with label github. Show all posts

Friday, June 21, 2013

Open Source Development with App Inventor: Part 6 : Wrapping Up Series 1

Show all videos of this series.
Part 6 of Open Source Development with App Inventor will be the last video that I'm going to record for now. Most of the basics have been covered, so I have decided to take a break from videos, and probably go back to writing more focused posts. In any case, don't expect much from me until the end of the summer!
If you have any topics that you'd like me to cover, and think it's worth making a video of it, please leave a comment.

The last couple of hangouts have been focused on the part of App Inventor that, in my opinion, is the most technically interesting: how incremental development happens in the REPL, which for us can either mean the emulator, or a connected device (via USB or wifi). I know little about that part, so I guess that's why I find it so interesting. If you want to know more about incremental development, you cannot miss out watching the hangout in May, in which Jeff talks about it, and also about the rendezvous server used with the Companion app(wifi mode). The video is here:



For more information on how Java interoperation is achieved through Kawa, the June hangout should help:



There are a number of very important topics for App Inventor development, and I briefly cover some of them in the video. Please use the mailing list for discussion, ranging from ideas or improvements, to stickier topics such as what the primary audience for App Inventor is, should the focus shift towards other targets, and so on.
There's been a number of new distributions appearing (if you follow the forums, you can see the work Hossein, Gary, or Dave Wolber are doing). These are all great, but it would also be great if, as a community, we can talk about how to best approach things and design for interoperability. A couple of good examples in the forums are the threads about the sqlite component, and a discussion titled the dangers of fragmentation. Please keep active in the forums and irc.

The last subject in this video briefly covers how to work with App Inventor 2 (codename: newblocks) from the github account.

And finally, here's the video for Part 6:




Enjoy!

Thursday, March 8, 2012

A read-only API for P2PU

I've been part of the P2PU community for a good while now, and have organised a couple of groups within their platform so I thought it was about time to give back. On top of that, they use Python and Django, two pieces of technology that up to a month ago or so were completely unknown to me and I have always wanted to learn. Not that  I know all that much about them right now, but there's nothing better for learning than using the tools in a real context and within a real project, so that is exactly what I've been doing for the last couple of weeks. #opensource_ftw!

After an initial proof of concept using tastypie, as recommended by the chaps in the python.ie mailing list, I have started to work on it a bit more seriously and it will hopefully soon enough be reviewed and merged with the main Lernanta codebase. My fork of Lernanta has an API branch where you can find all the code to date.


And you might be wondering... why am I telling you all this? Because I could do with some help! If you want to learn not only Python and Django but aslo about RESTful architecture and web services do not hesitate in joining me.

Illustration by @alisonjeancole


You can also have a look at the blog post in the main P2PU blog.

Thursday, August 4, 2011

Open Wonderland OurBricks module Preview 2

Another update on the OurBricks module to use within Open Wonderland. This time you can see the process end to end.





There are still a few glitches in the UI, not being very responsive, and the OurBricks API is likely to change in the near future as it is in active development, but the prototype is working now, as you can see in the video.

If you want to play with the sources you can find them in my github account.

Tuesday, August 2, 2011

Open Wonderland OurBricks module Preview

I've been working for the last couple of weeks in a new module that will eventually allow the loading of 3D models from the OurBricks collection directly from within Open Wonderland.

The module is in a very early stage and we are collaborating with the guys at OurBricks to get it finalised as soon as possible, but for now you can see the progress (search functionality) in the following video:



As usual, you can find the source code in my github account. Feel free to clone and change. Pull requests always welcome!

Update: Just got a couple of models imported; a bike and an aircraft, as can be seen in the following screenshot:

Models from OurBricks.com

Thursday, May 19, 2011

Mutant-Java and the KataLonja

Another month and another Kata with the 12meses12katas crowd. This time the kata is in Spanish, and it was created by the agilismo.es guys for the professional track of XGN2011. If anyone needs/wants a translation, do get in touch and I'll produce one. You can find the original version in github: KataLonja.

The Kata is about a Galician chap who wants to make some money by selling Scalops, Octopus, and Spider Crabs in a hired van. We are given a series of prices that markets in different cities will pay for the goods, alongside with distances, transport costs, and depreciation rates for the food, and we need to provide the most interesting route to get a best sale for our intrepid entrepreneur.

As a Galician immigrant myself, this is the simplest kata ever: I would drive the van right into my garage and the goods straight into my fridge; as easy as that!

Sadly this is not going to happen so let's get back to the kata. I'm certainly nowhere near finishing it, I only gave it a first go last night before bed but some cool stuff is already coming up out of it.
As I mentioned in a previous post, I use Katas to refresh some concepts that I haven't seen in a while, or that although I might use them in my day job, I've never gone deeper at them than the old getting the job done.
Last month I choose JavaScript for the bowling kata, and because I started way too late (the last day of the month!), that was the only implementation that I practised on the day. I will try and get this one practised in both Java and JavaScript, starting with the former.

Java has no associative arrays and it's generally accepted that you will use Maps instead. Maps can be very straight forward if you are using an immutable object as the key for your pair, but can get tricky if you decide to use your own class. So that's exactly what I did. It might not be the best fit for the problem at hand, or yield the leaner and cleaner code possible, but no one will have to maintain this code and it's going to be thrown away anyway so better have a bit of fun with it!

So I have created an immutable class for Seafood that I will be using as a key for at least two maps I'm using in other classes. That means overriding equals() and hashcode(), and being careful with state and escaping references to this. But as I said above, the code is nowhere near written, so what's the point of the post you will be asking yourself? I just wanted to share 3 links that have been helpful in digging a bit deeper in the adventure so far. They are:


In them you will find good advice on stuff such as when to create immutable classes and how, uses of immutability including the flyweight pattern, overriding equals() and hashcode(), and a great discussion on how to keep the equals() contract on extended classes, adapted from the book Programming in Scala into Java.

I will be digging a bit more, hopefully in the next couple of days, in topics such as choosing the right map implementation and a couple more things that I want to try (I'd like to write my cucumber step definitions in Ruby instead of Java but I'm not sure I can do that, so will have to find out!).
I also intend to write another post if I ever get to practise the Kata in JavaScript. Comparing both implementations would be cool so let's hope for that!

Friday, January 28, 2011

Empty module for Open Wonderland development

I was going through the first part of the 4 part tutorial Developing a new Cell when I realised that the empty module that is available for download contains quite an outdated classpath for use with Netbeans. So I decided to create a new one an upload it to my github account, mainly because in this way it can be developed further if things change in the near future (this pretty much means: feedback very welcome!).

As it stands now, the module is just an updated copy of the one in the tutorial. With time, I'm planning to modify the build file to add testing libraries (probably JUnit and mockito). It would be really cool if these dependencies could be 'pushed down' in to the Wonderland building system so that they are available to all module developers out of the box. But for now, feel free to clone, fork, or download the code.

If your local copy of Wonderland source files follows the structure in the README file, then you should be ready to go with little changes to the module (just a couple of rename actions, and the cusotmisation of my.module.properties).

To make it even easier, I've recorded a screencast, and I've been working (in progress) on an update of the tutorial material.

Friday, October 8, 2010

Documentation about the git session

The git session held on October the 8th is being documented in the community wiki at this location.

The session focused on how to use git and github to collaborate in the development of open wonderland modules (or any other project that you fancy!).

Please feel free to add to the page if you want. The more info, the better!

Thursday, October 7, 2010

Introduction to Git for version control

Hi everybody!
We are organising a session on Git to keep track of your source code. The meeting will be in-world, in the Open Wonderland Community Server and we are still trying to finalise the times.

Possible dates are being tracked down here. Write your name down if you want to participate.

The session will be very simple, all from scratch, and will focus on how to use Git and github.

Hope to see you there!

UPDATE: The session happened on the 8th of October but it will be repeated soon, so get in touch if you want to participate!