How to load a profile from within IPython shell? - configuration

For reasons explained in this Celery-specific question, I want to be able to load or change IPython profiles from within the interactive shell via a magic command or programmatically. I cannot find any way to set the profile (get_ipython().profile only seems to retrieve the current one).
I'm using IPython 2.3.1.

Related

How to use multiple of the same executable on UGUI

I am using this tool to create a simple GUI with it's easy to understand set up: https://github.com/UniversalGUI/UGUI
But from what I understand from its guides that it needs executables to be in different names so that it can differentiate itself and the form sending it. The project I am doing needs me to use the same command but with different arguments such as:
<cmd executable="xdg-open">
<arg>/home/kali/Downloads/</arg>
</cmd>
I need to open other folders in different parts of the program using that executable. In the guides, the person did use an .exe file which I figured is a script included in its folder and I did try to replicate it but to no luck. https://www.youtube.com/watch?v=qHMRroZ7AAw
The tool isn't used by many but those who do, do you know how to get over this issue?

How to configure JupyterLab to look the same when opened?

I'm developing a small application using JupyterLab that I will distribute around the world. I would like to configure JupyterLab so that when my users download my code, move into the directory, and execute jupyter-lab, they will always start with the same view.
For example, I want JupyterLab to open up with the README.md file shown rendered as markdown. I don't want Python or Jupyter Notebook files opened (initially).
Is there a way to configure JupyterLab in this way?*
You can use jupyterlab-workspace.json file to specify layout. Here are some examples:
Dask: jupyterlab-workspace.json binder
Pangeo: jupyterlab-workspace.json binder
Ian's demo (possibly outdated)
They work by executing the following command before starting up JupyterLab:
jupyter lab workspaces import jupyterlab-workspace.json
Do NOT try to create the JSON file manually (do not use them as a reference). Instead create a new workspace, arrange tabs/files as you wish and then use:
jupyter lab workspaces export workspace_name > jupyterlab-workspace.json
See the workspaces documentation for more details. There is also a relevant topic on discourse.
For your particular use case I would just create a file with a script that your users would use instead of executing jupyter-lab, e.g. a simple two-liner like:
jupyter-lab workspaces import jupyterlab-workspace.json
jupyter-lab
But if you just want one single file to be shown you may as well just create a wrapper that asks for that file to be opened like:
jupyter-lab README.md
Please note that there was a bug that meant that above did not work some time ago (it is working well if you have the latest versions of jupyterlab-server, jupyter-server, jupyterlab; while updating remember to update nbclassic - if installed - as well).

Pass file name to build script in PhpStorm

I have the next configuration for a build system in PhpStorm:
And it works ok, but I have a problem... my build script needs to receive the name of the file I'm running it on, so, if I build a PHP file, it will run phpcs on it, but if I'm building a CSS or JS file, it will run gulp... with Sublime Text that is possible, is it possible with PhpStorm?
There are no macros support for Run/Debug Configurations -- they are made so they do not depend on a context (currently opened file in editor). In other words -- they are pretty static and all file names/paths are basically hard coded.
For what you are describing (build script).. you need to use External Tools functionality (which can have all of that and made specifically for such tasks). Once created, you can assign custom shortcut to any External Tools entry (check Settings/Preferences | Keymap for that) so it's more convenient to use it.
If you want such script to be called on every file save automatically -- then use File Watchers -- pretty much external tools that will be called for you automatically (once per each file modified).
Since you are doing this for a build script -- maybe you should try to use dedicated (and therefore more appropriate in general) tools? For example: Gulp / Grunt .. or even Phing.
Create external tool:
https://www.jetbrains.com/phpstorm/help/external-tools.html
You can assign hotkey to execute your build command.

How do I assign Sublime key mappings for commands in the sidebar context menu?

When browsing files in the Sublime sidebar, I would like to quickly access the commands available in the context menu via shortcuts. E.g. Delete file, rename file/folder, new file/folder.
(FYI: super+N is not an ideal solution for creating new files - it isn't context aware and will usually choose an inappropriate default location).
You can enable command logging by inserting the following into the console sublime.log_commands(True). This will give you the commands and arguments being executed. You can then create a key binding with the appropriate command. My guess is the commands will use some sort of path, so you may need to write a small plugin to inject the correct paths for the various commands.
For new file creation specifically, you may want to take a look at AdvancedNewFile. Disclaimer - I'm the current maintainer of the plugin. I've tried to make it a more flexible than it originally was, with regards to specifying where to create the file. Though if you do decide to use it and have feature request, feel free to create an issue about it.

how to find which libraries to link to? or, how can I create *-config (such as sdl-config, llvm-config)?

I want to write a program that outputs a list of libraries that I should link to given source code (or object) files (for C or C++ programs).
In *nix, there are useful tools such as sdl-config and llvm-config. But, I want my program to work on Windows, too.
Usage:
get-library-names -l /path/to/lib a.cpp b.cpp c.cpp d.obj
Then, get-library-names would get a list of function names that are invoked from a.cpp, b.cpp, c.cpp, and d.obj. And, it'll search all library files in /path/to/lib directory and list libraries that are needed to link properly.
Is there such tool already written? Is it not trivial to write a such tool?
How do you find what libraries you should link to?
Thanks.
Yeah, you can create a pkg-config file which will allow you to run 'pkg-config --cflags' to get the compiler flags or 'pkg-config --libs' to get the linker libraries.
http://pkg-config.freedesktop.org/wiki/
If you're on Linux, just try looking into /usr/lib/pkgconfig to find some example .pc files that you can use as models. You can still use pkg-config on Windows as well, but it's not something that comes with it.