Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
gfxmonk
searching Neon…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
4 ms
·
1.
▲
On Maintenance, or “I’ve written a lot of software, and now I have regrets”
(gfxmonk.net)
3 points
by
gfxmonk
10y ago
|
0 comments
2.
▲
by
gfxmonk
12y ago
It seems like a lot of people are interested in fixing this, and would be keen to see a solution. I believe StratifiedJS is precisely that solution (for JS at least), and it has existed in working form for years: http://stratifie
3.
▲
by
gfxmonk
12y ago
Do you wish nix's syntax were more like jinja? Or do you actually want to use jinja with nix somehow? I don't really know what the latter would mean, since nix is a programming language and jinja is a (string-based) template syste
4.
▲
by
gfxmonk
12y ago
Discarding the old server and replacing it with a new one is a very brute force way of dealing with the problem. That's not to say it's bad (it will obviously work exactly as advertised), but I don't see it working well for m
5.
▲
by
gfxmonk
12y ago
That's a fair question. I'll let you know if I find out ;) My hunch is that it could scale well, but would require some integration work in order to use it nicely with existing orchestration tools. I don't know exactly what t
6.
▲
by
gfxmonk
12y ago
Fair points. I started the post by stating that I (personally) wanted to use NixOS in the future, but admittedly didn't maintain that tone throughout the piece. I definitely have humble requirements in terms of deployment size, so (for
7.
▲
by
gfxmonk
12y ago
OP here. I've heard of terraform, although I've not investigated it much further than that. It sounds like it's mostly a provisioning tool, and doesn't really help with configuration management once your machines exist.
8.
▲
by
gfxmonk
12y ago
Great :D Sounds like you already found my vim feed, but yeah, it's at http://gfxmonk.net/dist/0install/vim-custom.xml (it's not on that index page, because nobody else is likely to want it). I've co
9.
▲
by
gfxmonk
12y ago
I am a contributor, and I use it all the time. I publish a lot of my own stuff (mostly small utilities / libraries) at http://gfxmonk.net/dist/0install/index/ , as well as a bunch of third-party software.
10.
▲
by
gfxmonk
12y ago
These days, if I'm writing something in bash (or batch) it's often because there is nothing better available - like kicking off an installer, or some other wrapper / bootstrap script. For those kinds of simple tasks, the over
11.
▲
by
gfxmonk
12y ago
This writeup is poorly done, hard to follow, and ad-infested. The source ( http://miki.it/blog/2014/7/8/abusing-jsonp-with-rosetta-flas... ) is actually interesting though.
12.
▲
by
gfxmonk
12y ago
The front page is very blank on a large monitor - I got the impression it was waiting for a big chunk of content to load, until I returned some time later to see it still mostly white.
13.
▲
How Do You Handle Async APIs and Callback Hell
(infoq.com)
2 points
by
gfxmonk
12y ago
|
0 comments
14.
▲
Show HN: Surprisingly neat things you can do with StratifiedJS [video]
(vimeo.com)
2 points
by
gfxmonk
12y ago
|
0 comments
15.
▲
by
gfxmonk
12y ago
Cool :), glad it's supported, at least for the simple case of line-wise transforms. Some things can't be done without reading everything. But there are still a number of operations on "all of stdin" that can safely be do
16.
▲
by
gfxmonk
12y ago
I wrote a similar tool a while back: http://gfxmonk.net/dist/doc/piep/ Mostly out of frustration for PyP not being lazy (on large inputs it reads the entire file up-front, or at least used to). But it was qui
17.
▲
by
gfxmonk
12y ago
While PureScript looks very cool, if you're interested in solving callback hell without changing the whole language, StratifiedJS is a superscript of JS that adds straightforward sequential-style code which is async under the hood, wit
18.
▲
by
gfxmonk
12y ago
> "Nothing better than JavaScript" isn't a real limitation if JavaScript is a moving target JS is only a "moving target" in the sense that stuff is being added to it. If you could make a perfect language by just
19.
▲
Comparing promises with StratifiedJS concurrency
(onilabs.com)
2 points
by
gfxmonk
13y ago
|
0 comments
20.
▲
by
gfxmonk
13y ago
It's not just a best practice - exceptions raised from async code callback simply do not work right (they'll never make it back to the caller). In practice an exception raised from a callback will take a very short trip the wrong
21.
▲
by
gfxmonk
13y ago
You may find StratifiedJS pleasing: http://onilabs.com/stratifiedjs You wouldn't even need that one callback, just: return find_largest(get_stats(read_files(dir))); Exceptions are propagated as you would expect from sy
22.
▲
by
gfxmonk
13y ago
Thanks! We've tried hard to make it understandable for new users (and provide good documentation for users of any vintage). There's quite a lot of _different_ stuff in Conductance compared to vanilla JS, but our belief is that onc
23.
▲
Show HN: Conductance - next gen webapp server built on StratifiedJS
(conductance.io)
24 points
by
gfxmonk
13y ago
|
2 comments
24.
▲
by
gfxmonk
13y ago
One solution is to use a separate storage for salts (or hints, really - it doesn't need to be a complex scheme, since we're hashing it anyway). I do this myself with supergenpass, for when a site's password DB gets compromise
25.
▲
by
gfxmonk
13y ago
Have you seen SuperGenPass? It's much the same concept, and has been around for years (including browser extensions, etc). http://supergenpass.com/ For the justifiably paranoid, a web service is not going to cut it (la
26.
▲
by
gfxmonk
13y ago
If they rate limited per user, you could trivially prevent someone from logging in by pummeling the server with login attempts for their username.
27.
▲
by
gfxmonk
13y ago
> The compiled JS code looks harder to read than using callbacks to me With good tools and a sufficiently correct compiler, that should be as irrelevant as worrying that compiled x86 assembly is harder to read than the C source.
28.
▲
by
gfxmonk
13y ago
StratfiedJS ( http://onilabs.com/stratifiedjs ) does this and more[0]. It's more heavyweight than a set of macros, but we believe the features warrant that. [0] including a module system, fork-join parallelism, try/
29.
▲
by
gfxmonk
13y ago
For stuff like tab completion and for launching small command-line apps (think "grep", "sed", etc), absolutely. A penalty of hundreds of milliseconds for the _launcher_ alone can double (or more) the total execution time
30.
▲
by
gfxmonk
13y ago
"slowness" is not the problem here - it's "slow program startup". If your process only lasts for tens of milliseconds, you're not going to make it any faster by embedding C code because 99% of time is still goi
More ›