-
Corruption: not sure why, sometimes files get corrupted during a session and users lose all their work, either automatic or manual, which may correspond to days of computer time or, worse, human time. Corruption is more likely to happen because libhdf5 is a very complex piece of software, and a crash or sudden kill is likely to corrupt the file completely. This would be much rarer with flat binary or text files, at least you'd be able to recover part of the data.
-
Not possible to delete arrays, but that might be fixed in the future (not today though...).
-
Various bugs with strings on Windows and h5py: users may need to downgrade h5py in order to use their files, otherwise a nasty segfault occurs. Not a good sign...
-
There is a single implementation of HDF5 in the world, so we depend critically on it. It is almost impossible to contribute on such a complex piece of code since it is really low-level (in C). There are bugs and performance issues with it and there is nothing we can
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Requires gcc, the Vulkan SDK, and libglfw3-dev | |
// On Linux, compile with: | |
// gcc -Wall -o fail fail.c -Ibuild/_deps/glfw-src/include/ -lglfw -lvulkan | |
#include <assert.h> | |
#include <stdbool.h> | |
#include <string.h> | |
#include <vulkan/vulkan.h> | |
#include <GLFW/glfw3.h> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env python3 | |
""" | |
Code from http://www.labri.fr/perso/nrougier/python-opengl/#the-hard-way | |
""" | |
import ctypes | |
import logging |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
""" | |
MIT License | |
Copyright (c) 2017 Cyrille Rossant | |
Permission is hereby granted, free of charge, to any person obtaining a copy | |
of this software and associated documentation files (the "Software"), to deal | |
in the Software without restriction, including without limitation the rights | |
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | |
copies of the Software, and to permit persons to whom the Software is |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
"""Write a NumPy array in parallel from multiple CPUs/processes, using shared memory.""" | |
from contextlib import closing | |
import multiprocessing as mp | |
import os | |
import numpy as np | |
def _init(shared_arr_): |
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import os | |
import os.path as op | |
from pathlib import Path | |
import shutil | |
import subprocess | |
import tempfile | |
from IPython.lib.latextools import genelatex | |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
def lru_cache(maxsize=0): | |
"""Custom LRU cache implementation that gives access to the underlying cache dictionary. [better to used functools one if you don't need this]""" | |
def wrap(f): | |
cache = {} | |
last_used = [] | |
def wrapped(*args): | |
if args in cache: | |
# HIT. | |
# Update the last_used list. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
from onelib import one | |
""" | |
Different ONE backends are available, HTTP, figshare, etc. | |
One has to implement the following functions to create a new ONE backend: | |
* list_all_files(): return a list of relative file paths for ALL available files. | |
* search(...): return a list of dset_ids (by default, a dset_id is a relative file path). | |
The default implementation calls list_all_files(), and performs the search directly on that list. |
NewerOlder