Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
talex5
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
9 ms
·
31.
▲
by
talex5
12y ago
I sometimes hack on the C part (e.g. porting Mirage to ARM). The C code in Mirage is basically: - malloc - printk - openlibm (standard maths functions) - gmp (fast big ints for crypto stuff) - garbage collector - support code to make the ab
32.
▲
by
talex5
12y ago
I've used bootchart and had the same problem. You really need to generate the display dynamically to make the zooming work. Some other things my viewer does that don't work with static SVG: - Show labels at a readable size, whatev
33.
▲
by
talex5
12y ago
Thanks for the links. I haven't used these tools - are they useful? Which features are most helpful? Certainly we'll want to convert to or from some Linux trace format to combine traces that involve Linux and Mirage machines.
34.
▲
by
talex5
12y ago
Yes, and this hairiness is the main reason the abstraction is useful. If you want to add support for e.g. dependencies on source code, cross-compilation, multiple scopes, etc, you can now do so without looking at the hairy code at all, beca
35.
▲
by
talex5
12y ago
The list of publicly-known packages can be found on the default mirror site: http://roscidus.com/0mirror/ In general, though, if there's some package you want and you look for it there you're likely to be dis
36.
▲
by
talex5
12y ago
You can still build your language package manager on top of an existing one. For example, the ebox installer (for the E language) uses 0install to download metadata and package archives, cache things, solve version constraints, etc, but it
37.
▲
by
talex5
12y ago
"Decentralized package management huh? How would that work?" http://0install.net/ does this (sad to see it wasn't mentioned in the article). Basically: 1. Use URIs rather than short names to identify packages
38.
▲
by
talex5
12y ago
A style I sometimes see is people not indenting the normal code path of the match. So your example above would be written: match user with | None -> printf "you need to specify a user\n"; None | Some user_id when
39.
▲
by
talex5
12y ago
Generally sensible, but a few things seem already fixed. The duplicate argument thing already generates a warning (I wish warnings were enabled by default though): # let f x x = x;; Warning 27: unused variable x. val f : 'a -&g
40.
▲
by
talex5
12y ago
> On the other hand, there are correct programs which we still don't know how to type. This means that there are programs we just can't write in statically typed languages, at least not yet. I don't think that's right
41.
▲
by
talex5
12y ago
Running both in a single process looked tricky because we need to work with the already-installed Python version, which could be 2.6, 2.7, 3.3, etc... so we'd have to provide a separate Python module for each one to do that. Instead, t
42.
▲
by
talex5
12y ago
It is a joy when you get used to it, but it's not as immediately accessible as Python. As I recall, my first hour or so with OCaml was full of frustrating syntax errors. Keep going though, it's worth it! One thing I don't thi
43.
▲
by
talex5
13y ago
Tried it here and it worked, both on Arch Linux with OCaml 4.01.0 and a clean Ubuntu/12.04 with OCaml 3.12.1: $ ocaml graphics.cma test.ml Debian splits OCaml into two packages: ocaml-nox (no X) and ocaml (everything). Make sure you&#x
44.
▲
by
talex5
13y ago
Don't feel too bad about it. The official OCaml tutorial is also confused: http://ocaml.org/learn/tutorials/structure_of_ocaml_programs... (someone really should go through these tutorials and fix the various
45.
▲
by
talex5
13y ago
I don't remember exactly how I searched for it, but the top hit on Google for "haskell argv[0]" today is https://ghc.haskell.org/trac/ghc/ticket/3199 , which is marked "wontfix" and in
46.
▲
by
talex5
13y ago
Thanks - good to know that's been fixed now. I don't know why all the previous requests were marked as "wontfix".
47.
▲
by
talex5
13y ago
OK, I finally figured this out. The persona tab is replacing the web-page. So, to log in: 1. open two copies of the page 2. click the "Sign In" button on both 3. a working Persona sign in appears in the first tab
48.
▲
by
talex5
13y ago
That doesn't work. It only gives you the leaf (basename), not the path.
49.
▲
by
talex5
13y ago
(blog author here) I certainly tried to treat them equally. If I cut-and-pasted from the web more often for the Haskell, it's because I got stuck more often. For example, I didn't need to search the web for how to read argv[0] in
50.
▲
by
talex5
13y ago
The page is more positive than the title. It recommends: * Persona should be pared down to its core: a decentralized email verification and login API for the web. No more session management, no attribute exchange. * Persona should be built
51.
▲
by
talex5
13y ago
"Do you have any evidence to suggest it is easier to write fast code in ocaml? I've never found a person who has used both languages and felt that was the case. I've only found people without haskell experience believing that
52.
▲
by
talex5
13y ago
I do, but it's disabled for persona.org. Even if I "Allow Scripts Globally" it still doesn't work.
53.
▲
by
talex5
13y ago
I really like the idea of Persona, and it's very easy to integrate with your own site. However, it's still a bit unreliable. For example, clicking on the zonino login button just opened a mostly-blank page for me (white on the lef
54.
▲
by
talex5
13y ago
This is what the 0install command does (it's included in the Ubuntu repositories). It will: - Download the package metadata - Download the GPG key - Check the metadata's GPG signature - Confirm the key with the user and/or ch
55.
▲
by
talex5
13y ago
The actual 0install Python code does use optparse. It wasn't stated in the post, but the next step after writing this code was to use it as a front-end to the real Python version. If invoked as "0install run NAME ARGS..." exa
56.
▲
by
talex5
13y ago
Any particular reason why? We just released 0install 2.4, which has around 10,000 lines of OCaml. It seems to be working well so far, but there are bound to be a few bugs... we can always use more testers!
57.
▲
by
talex5
13y ago
C would be fine for these 4 lines (so would Go, in fact). But we have another 20,000 lines we also need to convert, and C might be less good there.
58.
▲
by
talex5
13y ago
The "Permission Denied" message you see here is from your shell, not Python. But note the test isn't about whether you can open the file successfully, but about detecting writes to an open file failing (e.g. because the dis
59.
▲
by
talex5
14y ago
I don't know about "widely adopted", but we do have a common language for expressing how to build/install/test software across Linux, Unix, Windows and OS X: http://0install.net/interface-spec.html The tools to read this are in most Linux
60.
▲
0install 2.0 - a decentralised cross-platform package manager
(0install.net)
3 points
by
talex5
14y ago
|
0 comments
More ›