How do you get GPFlow running under Tensorflow 2? - gpflow

I realize the Tensorflow 1 -> 2 transition is still ongoing for GPFlow, but I'm wondering what the best way to use GPFlow under TF2 currently is. I'm hoping to teach with it in the next few weeks, and would like to work in TF2. Presently, its even difficult to get the two installed together. I've tried various combinations of the TF2 RC1, GPflow master, nightlies, etc. Any advice is appreciated.

GPflow has been ported to the TensorFlow 2.0. To install it you need to checkout to the awav/gpflow-2.0 branch and follow instructions in README.md: https://github.com/GPflow/GPflow/tree/awav/gpflow-2.0#install-gpflow-20-beta-version.
Update (4 Feb 2020): GPflow 2.0 is available in develop branch. There is also a 2.0 release candidate.

Related

How to adjust a TYPO3 extension for newer TYPO3 versions?

I would like to update an extension from the TER to make it TYPO3 v10 compatible. What are the possible solutions and what is the best practice?
Testing and compatibility with older TYPO3 versions should be guaranteed.
It is not clear if it is your extension or not. So if you are not the maintainer, you should check out the repository on github or gitlab if there is a master or develop branch which might already include the changes you need.
Supporting multiple lts versions with the same code can be very tricky but depends on the type of extension and which parts of the core are used. I prefer supporting maximum 2 lts versions at once (that would be 10 and 9 currently) and supporting older versions with different branches. This makes it easier to move forward.
The extension scanner in the install tool will help you to identify the changes which are required but of course those don't cover everything. A good test coverage in the beginning can help you a lot. If you don't got any tests yet, it is never too late to start with those.
Automated tests can run best on Travis or via github actions and there are lot of examples you can take a look at, eg https://github.com/derhansen/gha_demo or https://github.com/FriendsOfTYPO3/tt_address

Running Conversion Script - Modelica 4.0

Does anyone have experience converting Modelica 3.x files to the new 4.0 library standard? There is a link to a script, yet I am not sure how to apply it.
https://github.com/modelica/ModelicaStandardLibrary/blob/master/Modelica/Resources/Scripts/Conversion/ConvertModelica_from_3.2.3_to_4.0.0.mos
I am using Wolfram System Modeller 12.1 on a Mac, yet if needs must, can use OMEdit on either Mac or W10.
Any help to overcome my ignorance would be great.
Thanks for the help.
As far as I understand from discussion with developers conversion scripts aren't supported yet in Wolfram System Modeler.
I haven't heard as much about that topic from OMEdit, but the status seems similar based on https://github.com/OpenModelica/OpenModelica/issues/5297
The MSL 4.0.0 was even delayed a bit to give tools a bit of extra time to implement this feature. (That also allowed the scripts to be checked in additional ways with Dymola.)

Using SPM5 with MatLab

I am trying to use SPM5, but I have the latest version of MatLab, which does not work with SPM5. The last version of MatLab SPM5 works with is 7.3. Is there a way to downgrade MatLab, or a quick way to port SPM5 over to the current version of MatLab?
I cannot use SPM8 because it does not have the Lateralization Index (LI) tool that I need.
First, have you tried using SPM5 with a more recent version of Matlab? The FIL website simply says that they cannot predict how SPM5 will run on versions after 7.1, not that they are incompatible. I have personally used SPM5 with R2008b (7.7) for years without a problem.
Second, versions after R2008b/7.7 deprecated the call finite() in favor of isfinite(). This caused SPM5 to stop working. I was able to use SPM5 with R2010b (7.11) by replacing all calls to finite() with isfinite(). I don't know if this same strategy would work for more recent versions of Matlab, but it might be worth a shot.
Third, I do know that different versions of Matlab can be installed at the same time. So, if you have a maintenance agreement that allows you to obtain older versions of the software you should be able to install them concurrently without a problem.
If you have a licence for MATLAB that is in maintenance, you have a licence for all previous versions of MATLAB. You should be able to download any recent version by logging on to your MathWorks account. If you need an older version than is available via the website, or have difficulty accessing the version you want, contact MathWorks support directly.

Recommendations for migrating custom code mods to new major release of open source software?

I've got a (dirty) production installation of Simple Machines Forum (SMF 1.1.13). It was a clean install, once... about five years, twenty updates, and 40 mods ago. Not to mention the custom code that was patched directly into the code base. This started as a for-fun side project, and didn't have any code management practices at the get-go.
Now SMF 2 is (getting closer to) going live, and I want to upgrade. But without leaving the custom features behind.
Keep reading, this is a general software management question, not an SMF support question...
I'm trying to figure out the best way to port the custom features into the new code branch.
In some cases, the custom 1.1.x functionality will already exist in 2.0. Yay, no work for me!
In some cases, there will be mod packages versioned for 2.0, and I can just install them directly on a clean SMF 2 build. Yay, minimal work for me!
In some cases, the code port will be fairly straightforward between the two versions (e.g. a few small changes in queries or global variable construction). (I've ported a few features/mods back from 2.0 to 1.1.x, so I'm starting to get familiar with it.)
In some cases, I'm just going to have to redevelop the features mostly from scratch.
Those last two options are gonna be hard to manage.
Any suggestions on how to port a large number of changes from one branch to another?
When it's not my own in-house code, that is. Here's my initial plan:
Diff between a clean version of 1.1.x and my "dirty" production code
Map each line diff to a feature ("That code update is the custom tagging feature, gonna have to port it line by line, and that one over there is the gallery, I can probably install an updated mod.") This would be SOMUCHEASIER if there were a diff tool that generated a consolidated report, instead of having to go through scores of files one at a time. Google and SO searches didn't find a tool like that-- Is there one?
Install a clean 2.0 branch
Install the available updated mods
Roll up my sleeves and go through my diffs feature by feature (this? is why I need the consolidated diff report. It would be hell to do page by page.) and build them back in.
Any better ideas? (Pointers to release management info are welcome, though of course with the caveat that it's not actually my code so I have limited control.)
Otherwise? I fear my options are ditch the custom features (not really feasible) or stay on the old branch. Both suck. Help!
tl;dr: Point me to a diff tool that will do consolidated file-by-file diff reports for entire directories. And/or help me figure out an easier way to migrate my custom code.
Your plan is generally the most practical approach, although I would say that you're heading in the wrong direction by looking for code-level differences. With no version control over the project lifetime and with no concise record of applied changes, in examining differences at the code level you are looking for a level of detail that may not give you the information you need to apply the same changes to a new implementation.
Move away from thinking of code-level changes and consider application-level feature and behavioural changes. What features have your changes introduced? In what ways does your application now behave differently due to your changes?
You say that there have been many unversioned changes over a long period - you will fail to find all the changes no matter what tools you have at your disposal and you will still need to consider the feature and behavioural changes that exist to fully represent the same features and behaviours in any upgraded implementation.
You know your application well, you use it and you do appreciate the feature changes that you have introduced even if you may not realise this.
Install a vanilla 2.0 release
Apply all appropriate mods
Apply relevant styling
Use the new system, note the differences in behaviour and develop from this a set of required features
Your feature set does not need to be complete - don't stall at the stage of trying to figure out all required changes, this will take too long.
Apply features gathered from most recent feedback (ideally through revertable mods)
Note the differences in behaviour at develop from this a set of required features
Repeat

Setup version control for Dreamweaver CS3?

I have NEVER used ANY version control system before. I am currently using the check-in-check-out feature of Dreamweaver but I would like to implement some sort of version control system where I can roll back to previous versions. Also it would be great but not required if I could go back like 3 versions, fix a bug, and have that bug fixed for all the later versions. I have no experience with version control, mainly because I never knew about it until I started reading the pragmatic programmer. So I would probably need step by step directions so if there is a tutorial or something I can be pointed to that would be great too.
Thanks!
Turtoise SVN would be a great first step into proper version control system.
Bazaar have impressed me lately, it's a fairly new scm and not that many 3rd party tools just yet. But if you want the latest and the greatest try it out!
Step by step guide(!) ;
Download
Bazaar in five
minutes
If you're on Windows, and want a smooth but powerful Distributed Version Control System, I recommend Mercurial through TortoiseHg. As a newcomer to version control, I can attest to its robust and nice, detailed interface, where you can smoothly progress from GUI-clicking to command line operations when needed.