Hacker Newsnew | past | comments | ask | show | jobs | submit | mtford's commentslogin

I feel ya buddy - come and join the wacky world of front end development where these things matter less ;)


I wish. I've been asked these kinds of questions for jobs that are just gluing libraries to JSON coming from a backend.


That's our version of Google's "I just write protocol buffers all day" joke.


Isn't Opera at v24 now?


Opera ASA had a management shift.

The new management abandoned their old codebase (and users) to suffer the slow decline of bitrot. Meanwhile they took Chromium, repainted it, added 2 features nobody cares about, left out 99% of the features people used in Opera 12 and called it a day. Then to add insult to injury and cause maximum pain to their old users, and confusion to everyone else, they called the new software package Opera and gave it a higher version number, despite it sharing no code and no features with the original software.

And, just because that wasn't enough, their new management forced employees to lie on public forums and twitter about how they were going to work towards feature parity.


Only the Chrome version on Windows and OSX. The previous engine (or the Linux version) is v12.


> the Chrome version

That's like calling Windows 98 "the DOS version". While factually true, it's utterly irrelevant. We're on Windows 8 now.

And there is now a version of Opera 24 for Linux.


I don't understand why you had to pour anger into your post. That version of Opera uses the Chromium engine, that's important to distinguish the old vs new versions...

Perhaps the OP was simply unaware of that?


Hi Luna, from my perspective async.js is about control flow whereas operations.js is about creating well defined operations that can be composed, queued, cancelled, reused and monitored. It's more of a workhorse.


Yeah, operations.js is meant for more complex scenarios than that. For example if we were spawning hundreds of operations that interact with networks/file systems. We can set an upper limit on concurrent operations using queues and express complex dependencies between them, compose them and cancel them.


I'm a huge inconsolata fan myself.


I just compared Inconsolata and Consolas side by side and couldn't believe how similar they actually are. Whenever I just swap between the two, it's hard to compare, since Consolas seems to run about a point bigger looking than Inconsolata, so I have to scale it back a bit to give a real comparison.

Not surprising considering the author of Inconsolata cites Consolas as his primary inspiration, but I'd never noticed exactly how close they are. Both great monospace fonts. Very nice characters, but what really makes them stand out to me is that they both manage their kerning very well, especially around thin characters. Many other monospace fonts, including M+, end up with awkward gaps that approach a full space width and give the text a slinky-like compression/decompression effect, making reading and determining word breaks at a glance difficult.


Also a strong Inconsolata fan, it's one of the first things I change on a new editor.


Many thanks for this! This has been a thorn in my side for a while but never got round to doing anything about it...


I know a few of the investment banks have this kind of thing internally, implemented as a DAG: http://en.wikipedia.org/wiki/Directed_acyclic_graph. Cool stuff.


Many reactive dataflow programs are DAG based (at least most major 3D/CGI packages are). Simple and powerful.


My reactive programming language can handle cyclic dependencies; DAGs are too inexpressive for general use (e.g. iterative computations). Getting that to work correctly is kind of scary though (especially when non-monotonic change is also supported).


What language would that be? I have skimmed through your papers, and they seem interesting, but can't find any downloads to play with :-)


Yinyang still. I want to release something soon, but need to find a purpose for it; right now it's just fly by night language design. I was also thinking about porting the editor to mono.cairo so more than just win users could play with it (going to javascript is a no go given no multithreading with shared memory).


I guess "working correctly" for cyclic dependencies means you need to introduce the concept of time and be careful to update everything in the proper moment? What is this useful for?


See http://research.microsoft.com/apps/pubs/default.aspx?id=2112... if you haven't already. I have both time and phases; time is used for versions and discrete updated via event handling; phases are used to ensure state doesn't get "stuck" in a cycle on a non-monotonic change. Rollback is used instead of carefully updating anything in the right order, phases however suppress when updates can be seen during processing.

It's generally useful for writing reactive, incremental, iterative programs.


Nice... I did make an attempt to filter out sensitive stuff but clearly did a bad job. Thanks for letting me know. I will eventually introduce a demo app rather than my own site.


I've sent you an email with the precise steps to reproduce it.


Tbh, probably fairly bad atm. I haven't done anything empirical but atm Silk will create a record for every SQL query executed during the request/response cycle effectively doubling the number of queries. Not only that but it also saves down any non-binary HTTP body to a TextField, and this isn't yet configurable.

I think the Elasticsearch/Celery option is a good shout if this were to ever be used in production. Celery would help with the issue of response time but it wouldn't solve the load impact on the database (although I guess could also configure a different SQL database in Django).

I will certainly do some investigation into this at some point :)


StatsD might be better since you are just recording datapoints + text field I'm assuming.

https://pypi.python.org/pypi/python-statsd


Sounds interesting... i'll take a look. The fact that its UDP would be helpful in avoiding the need for a dependency on celery/message queues.

What's it like in terms of getting the data back out?


You can write your plugin for the back end to dump it. It defaults to graphite which would be familiar enough I think.


That's not a bad idea, it would probably be more natural than the rigid filters that are currently in place for the requests and profiles. As far as having this running in prod I've only really thought of siphoning off the results to celery or something similar to avoid impacting response time, but a spray and pray at Elasticsearch would work just as well.

What's nice about the current setup is that it takes very little effort to get up and running but I suppose could make that configurable...


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: