229 karma · joined March 17, 2015
Wasn't Kerberos designed to work in untrusted networks?
//root/item/key[text()="Name"]/../value/text()
I'm not sure I like the idea of using file system images as packages, wouldn't that have overhead in terms of the sheer number of mount points you'd need, and additionally the permissions needed to actually mount it.
Keeping each package separate is a good idea, I certainly think the current 'soup' method of package management is not ideal. By 'soup' I mean adding files all over the place, and then giving it a good stir by running some scripts; it's very difficult to get back to the state the system was in before the package was installed without doing extra work to keep track of those changes. I was looking through the Alpine package management system, a lot of packages post-install script would add a user, but the remove script rarely removed that user.
Ideally packages shouldn't care where they're installed to. If a binary in the package needs to know where it's installed to, it's possible to work that out at run time (even for libraries, although it's not that straight forward).
In my idea for a package manager, each package would have different types of files in different directories, e.g. all command line binaries would be in /bin, all libraries in /lib, all fonts in /share/fonts, etc. In addition, it would be possible to have scripts run when another package was installed that provided a set of files you could use, for instance: when a package that contains fonts is installed, the package that is responsible for fonts on the system would add the relevant directory to the config and refresh the cache.
If a package had a library in /lib, a package could update /etc/ld.so.conf and refresh the cache. Linking files to shared directories would be avoided as much as possible (you probably need to do it for /bin). Using an exchange directory is somewhat of a crutch, patching the system to work as applications expect a traditional Linux system to work.
Hmm, this post seems to have just turned into a bit of a brain dump.
Not the best method to use, probably better to use the Files.readString method.
bf.lines().forEach(s -> sb.append(s));
However, this ends up reading all the lines into one giant line, since the String's that lines() produces have the newline character stripped. This leads to the second lines() call to read a 23MB line (the file produced by gen.py). This is less than optimal.The fastest version I managed to write was:
public void readString5(String data) throws IOException {
int lastIdx = 0;
for (int idx = data.indexOf('\n'); idx > -1; idx = data.indexOf('\n', lastIdx))
{
parseLine(data.substring(lastIdx, idx));
lastIdx = idx+1;
}
parseLine(data.substring(lastIdx));
}
Not the prettiest thing, but it went from 0.594 GB/s to 1.047 GB/s. Also, it doesn't quite do the same as the lines() method, but that's easily changed.ffmpeg -activation_bytes <your activation bytes here> -i file.aax -c:a copy file.m4a
I have a few more commands to extract and re-add the artwork.
E.g:
=> POST https://upload.backblaze.com/bucket/file
<= 307 redirect to https://pod-000-1007-13.backblaze.com/b2api/v1/b2_upload_file/...
=> POST https://pod-000-1007-13.backblaze.com/b2api/v1/b2_upload_file/...My other favourites are Pandora's Star and Judas Unchained by Peter F Hamilton (and the rest of the books in the Commonwealth series).
Bonus points to Nautilus, which somehow manages to have 2 buttons side-by-side that look like hamburger menus, the actual hamburger menu and view as list.
I really dislike everything looking and acting different, it's like having to learn a new language just to talk with a new application.
The issue is that there are not comparable solutions. The streaming API allows a user to connection directly. With the webhook solution it has to all go via 3rd party server, and you need to pay for it.
The answer is, as with all things OpenGL, it depends. You might get back a pointer to GPU memory that you can directly write to, or you'll get back some chunk of system memory the driver has.
The ARB_buffer_storage extension improves matters as you can almost guarantee that you'll get GPU memory, and you can keep it mapped for the entire lifetime of your application (the old buffer APIs wouldn't let you keep it mapped during a draw call). The downside is that you're now responsible for synchronising access to that data.
But as for "is it quicker?", maybe. DMA transfers aren't free, they take time to setup. Usually they need to operate from a limited pool of source memory. If the driver has to take a local copy of your data to copy it (which it will do for every glBufferData/SubData call), then you might as well copy it yourself, GPUs aren't hurting for PCIe bandwidth these days. In addition, you can use a separate thread/CPU core to do the copy, since unlike every other OpenGL call, mapping memory and memcpy'ing doesn't require an OpenGL context.
Since you're running Fedora, you can probably do something like:
sudo dnf install openconnect NetworkManager-openconnect
[1] http://www.infradead.org/openconnect/