How to code features for the reMarkbale 2? - python

I recently purchased myself a rM2 to use for school and I found out that I am able to mod it myself. I've been looking into these rM2 "hacks" however I have not found any help in developing my own software for the device.
So far the only thing I know about adding new feature is by coding a binary patch and applying it to the existing code on the rM2. The best example of this I've found is ddvk's remarkable-hacks git.
I want to create something similar to what ddvk did in his project. If anyone has any advice on where to start, what language to use, any programs that may come in handy, or a tutorial, please comment below.
Thanks!

Related

How to implement OCL (Object Constraint Language) in Python

I am working on Google Colaboratory, and I have to implement OCL (Object Constraint Language), I searched a lot, but I didn't find how to implement it. Can someone give me an idea please?
AgileUML has a Python code generator from UML/OCL (itself written in OCL): this is the uml2py plugin for AgileUML (https://github.com/eclipse/agileuml). There are some videos on using the tool at: https://www.youtube.com/watch?v=NXq2L0fo7N4
It is surely possible for you to implement OCL, duplicating the efforts of one of the existing Open Source implementations such as Eclipse OCL or USE. There is an official OMG specification that will define what you need to do, however it has many deficiencies that will require research to solve and design around. I would be surprised if you can implement a 'full' implementation of OCL from scratch with plausible accuracy in less than a person year.
I suspect that you have mis-stated what you want to do or have misunderstood what someone has instructed you to do.

How to check cell output (and maybe also input) to match a correct solution - Using Python Notebooks for teaching

I recently saw something pretty cool on kaggle. When you fill out and run cells in their tutorial notebooks you get pretty much like live feedback, if you did it right or not. I would love to be able to implement my own exercises this way, so that I can hand those notebooks out to my class and the students would get immediate feedback on their programming.
So far I seem to be unable to find how this is done or maybe I miss the right words to put into Google.
I found the nbgrader, but that isn't exactly what I was searching for.
Is there a way to do such evaluation directly in the notebooks, or does Kaggle probably use some other software in the backend to get this effect of direct evaluation?
Or can I maybe use unittests in some fashion to get such an effect?

Online Pair Programming with Python

I'm working with a team mate solving some programming challenges online
I was wondering if there was something like piratepad but for python
Ideally it would allow us to collaborate on the same script online, see what the other is editing, chat, and also run it.
Any idea if there's something like that available for python programming? (js would also come handy)
I've found this which seems pretty great, but it doesn't seem to support multiple people working on the same code
cloud9 (https://c9.io) seems to work for that, but I never tried.
I know it is an old question but I stumbled uponit.

How do I get an overview and a methodology for programming in Python

I've started to learn Python and programming from scratch. I have not programmed before so it's a new experience. I do seem to grasp most of the concepts, from variables to definitions and modules. I still need to learn a lot more about what the different libraries and modules do and also I lack knowledge on OOP and classes in Python.
I see people who just program in Python like that's all they have ever done and I am still just coming to grips with it.
Is there a way, some tools, a logical methodology that would give me an overview or a good hold of how to handle programming problems ?
For instance, I'm trying to create a parser which we need at the office . I also need to create a spider that would collect links from various websites.
Is there a formidable way of studying the various modules to see what is needed ? Or is it just nose to the grind stone and understand what the documentation says ?
Sorry for the lengthy question..
The MIT Intro to Computer Science course on the MIT OpenCourseWare website was taught using Python. There are 24 lectures available as videos that you can watch for free.
It's kind of academic to be sure, but it would give you a very solid foundation to start from.
Start working your way through the Essential Python Reading List, which has articles on how to code in Python and how to do it well.
If you like a more academical approach try Learning Python from Mark Lutz.
For the use of standard libraries, the official docs are very good. More hands on descriptions can also be found in PYMOTW from Doug Hellmann
It might be useful to get some information on Object Oriented programming (just what is the whole class thing about, and how do you tell if your classes are good/poor/indifferent). Mark Lutz' book Learning Python has an entire Part (several chapters) on OO. If this stuff is new to you, it might be helpful to take a look. Two other books I have found quite useful: The Python Cookbook (Alex Martelli, a prolific contributor here), and the Python Essential Reference (David Beazley).
Just do your project, learning what you need to along the way. By the time you do that a couple times, you'll "get" it. And you'll only improve from there.
You can also read other peoples' code: download X that looks interesting and read through the code to understand how it works.
Those two tips will help you learn any language. Aside from that, Dive Into Python is a great resource for learning a lot about Python.

Are there any examples on python-purple floating around?

I want to learn it but I have no idea where to start. Everything out there suggests reading the libpurple source but I don't think I understand enough c to really get a grasp of it.
There isn't much about it yet... the intro, the howto, and the sources (here browsing them online but of course you can git clone them) are about it. In particular, the tiny example client you can get from here does have some miniscule example of use of purple's facilities (definitely not enough, but maybe it can get you started with the help of some 'dir', 'help' and the like...?)
Not sure how much help this will be but based on information from here, it seems like you just install python-purple and import and call the functions as normal Python functions.
Can't help you with a concrete example as I decided to use something else. However, one of the first things I wanted to do after I cloned the repo was remove the ecore dependency. Here's a patch submitted to the mailing list to do just that: https://garage.maemo.org/pipermail/python-purple-devel/2009-March/000000.html
Incidentally, if you're looking for AIM take a look at twisted.words. For Yahoo, trying getting the source for curphoo or zinc (both are console YMSG clients). For GTalk/Jabber, I've had good experiences with xmpppy.

Categories