Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
talex5
searching Neon…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
6 ms
·
1.
▲
by
talex5
3y ago
https://www.youtube.com/watch?v=Hw-_x9CfqA8&list=PLyrlk8Xayl... - starts around -4:30:00 (but I guess that's relative to now and will change).
2.
▲
by
talex5
4y ago
I just tried it. :X asks you to enter an encryption key, then asks you to enter it again, and only continues if the keys match. And then you're still in vim and need to save your file to overwrite anything. Seems hard to do by mistake.
3.
▲
by
talex5
4y ago
Here's an example using OCaml 5 to run multiple fibers concurrently (look - no monads!): https://github.com/ocaml-multicore/eio#fibers
4.
▲
by
talex5
4y ago
> I am not sure ARMv1 (and v2) even had supervisor vs user mode, etc.? (It may have, Google isn't helping me here) v2 at least had 4 modes: user mode, supervisor, IRQ and FIQ. They were encoded in the low 2 bits of r15 (which weren&
5.
▲
by
talex5
5y ago
Work has already started: https://github.com/ocaml-multicore/eio There's also now https://github.com/talex5/lwt_eio , which allows you to run existing Lwt code alongside code using effects, to
6.
▲
by
talex5
5y ago
Instead of Stdlib.Queue you can use Eio.Stream, which is thread-safe (and will take care of waking sleeping threads when data becomes available). The README shows an example of a pool of workers pulling jobs from an Eio.Stream: https:/
7.
▲
by
talex5
5y ago
I usually notice if my blog gets on Hacker News fairly soon, so I'll see any comments posted here. I prefer not to use email for most things because then the reply only benefits one person, whereas replies in a public forum can be read
8.
▲
by
talex5
5y ago
To clarify that, there are two systems here: - domainslib schedules all tasks across all cores (like Go). - eio keeps tasks on the same core (and you can use a shared job queue to distribute work between cores if you want). Eio can certainl
9.
▲
by
talex5
6y ago
I tried a couple of different AMD cards, and my machine crashes on resume if I try to use either of them (but the Intel iGPU works fine). Searching for amdgpu bug reports leads to: https://amdgpu-install.readthedocs.io/en&#x
10.
▲
by
talex5
6y ago
By default, opam installs everything into the current "switch". Typically you have switch one per compiler, but you can create one per project. You can also create a "local" switch directly inside your project directory:
11.
▲
by
talex5
7y ago
Indeed. The project has since moved under the mirage org on GitHub, and now has several contributors: https://github.com/mirage/qubes-mirage-firewall
12.
▲
by
talex5
9y ago
For reference, the ugly OCaml equivalent unikernel is: let () = print_endline "Hello, world!" (from http://roscidus.com/blog/blog/2014/07/28/my-first-unikernel/ )
13.
▲
by
talex5
9y ago
> the recommended tools never seem to work together on anything but the latest version Whenever a package is added to the repository, the CI tests (the latest compatible version of) every package that depends on it to check everything st
14.
▲
by
talex5
10y ago
Yes, doing this would make it easier to use services like GitHub. For example, DataKit's GitHub bridge service uses webhooks to track changes in GitHub metadata (e.g. the status of branches, tags and PRs) and stores the state in anothe
15.
▲
by
talex5
10y ago
I use a Qubes Debian VM for dev work. Works fine, except that it runs gnome-keyring by default, which breaks ssh, and restores this config everytime I upgrade (but easy to fix when it happens).
16.
▲
by
talex5
10y ago
Here's a common example. Some systems provide blocking operations: e.g. read_line waits for a line of text and then returns it as a string. Others use promises: read_line returns a promise of a string. What if you want to write a libra
17.
▲
by
talex5
10y ago
I think this is what you're looking for: https://github.com/docker/hyperkit Source: https://blog.docker.com/2016/05/docker-unikernels-open-sourc...
18.
▲
by
talex5
11y ago
Just to add some links for those (I assume these are the ones you mean): Dumping the debug-level log ring-buffer on exception: http://lists.xenproject.org/archives/html/mirageos-devel/201... Detailed profilin
19.
▲
by
talex5
11y ago
It depends on which lightweight OS and which unikernel. But e.g. a stripped down Linux will still have a huge amount of C. If you're going to write your kernel in something safer, then you might as well make a unikernel, rather than cr
20.
▲
by
talex5
11y ago
Like most OCaml libraries, Irmin can be used in the browser by compiling your program with js_of_ocaml. My `irmin-js` experiment provides a Javascript API to Irmin, so you can write your application in Javascript too, rather than OCaml. My
21.
▲
by
talex5
11y ago
Note: CueKeeper is a bit unusual here. Merges always succeed, but it adds a note to the item saying what it did to resolve the conflict. e.g. if you rename an action "orig" to "a" and to "b" and then merge, you
22.
▲
by
talex5
11y ago
Mirage can be configured to write trace data to a ring buffer shared with another VM, where you can run a visualisation tool to explore it. For an example, see: https://mirage.io/wiki/profiling Of course, having such a
23.
▲
by
talex5
11y ago
Are there any important changes to the system here, or is it just a new presentation? After a few years using mGSD, I'm now using CueKeeper ( http://roscidus.com/blog/blog/2015/04/28/cuekeeper-gi
24.
▲
by
talex5
11y ago
I was thinking about smaller devices than the Pi. Security devices, monitors, IoT type stuff. Especially where you want to minimise the amount of C code running and know exactly what it's doing. I think it's also fun from a hobbie
25.
▲
by
talex5
11y ago
This will be extremely useful for running on very small devices (not all ARM boards have the virtualisation extensions that are needed to run Mirage unikernels as Xen VMs). But it also looks like lots of progress has been made with cross-co
26.
▲
by
talex5
11y ago
I've been using fish for a few months now (switched from zsh). Really nice to have good defaults and minimal configuration, and the suggestions based on previously entered commands are great. The main issues I have compared to zsh are:
27.
▲
by
talex5
12y ago
Note that the Lwt syntax extension (often used in Mirage) adds a try_lwt..finally construct. Doing anything at all with IO in Mirage will be asynchronous (there are no blocking operations anywhere). However, people generally use various &qu
28.
▲
by
talex5
12y ago
You're right. OCaml will throw an exception here. Many of the functions in the standard library throw exceptions when it would be better to return an option type (newer libraries are usually better). The exception will be caught and lo
29.
▲
by
talex5
12y ago
Another option: if you're running Linux on the host, you can build everything there and then scp the unikernels into dom0 for deployment, which might be easier (that's what I do). Not sure if you can build Xen unikernels natively
30.
▲
OS Technologies to Watch
(gfxmonk.net)
143 points
by
talex5
12y ago
|
44 comments
More ›