An Affordable $199 Tablet for Everyone -- And It's Not From Apple - <AUTHOR> http://www.pcworld.com/article/185764/an_affordable_199_tablet_for_everyone_and_its_not_from_apple.html

<comment><USER2> This isn't a real product; it's a reference design. What's unclear is whether 199 is what it will cost manufacturers to make or the price it will be on the street.

<comment><USER3> Even if they sell it at 2x that, it'll still be cheaper and potentially more capable than the iPad.

</comment></comment><comment><USER4> The article was published on Jan 4th 2010. According to the article, they were suppose to demo it during the CES which has already come and gone and since I didn't see any headlines regarding the $199 tablet from Freescale, I would assume they have already pushed their release dates to much later (or may have abandoned the plans).

</comment><comment><AUTHOR> An interesting up-and-coming alternative to a recently hyped, closed-platform tablet.

<comment><USER5> It's a concept car, at this point. I may never arrive, and there is certainly no promise of price point.

Don't get me wrong, I hope it does, and I hope it's cheap, but for now it's vapor.

</comment></comment><comment><USER6> The specs:

[http://www.freescale.com/webapp/sps/site/prod_summary.jsp?co...](http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=RDSMARTBOOK)

Also, an article saying they have it running android, chromium os, and ubuntu:

[http://www.liliputing.com/2010/01/freescale-tablet- running-c...](http://www.liliputing.com/2010/01/freescale-tablet-running- chromium-os-video.html)

</comment><comment><USER7> Does anyone know if there's an easy way to get something like this to play with? It might be fun to start thinking about iPad killers.

<comment><USER8> Since it's a reference design I'm guessing they're only sold in batches of 10000 or so to companies who want to slap their own brand name on them. Perhaps if you can call them out and sound like you have the money lined up and are really seriously interested in putting in a 50000 unit order, they might send you a few samples for free.

</comment></comment><comment><USER9> I don't understand how a camera above the screen on this thing is even usable. Are you supposed to grab the tablet by its sides and aim it at you photo target? The tablet seems large enough to make such an operation unwieldy. Not to mention the need to somehow press a button to actually snap the shot in addition to using both hands to hold the thing....

<comment><USER5> People have been calling for a front-facing camera on the iPhone, and one was rumored (among other things) to be on the iPad, but I really don't see the point. The only real use seems to be video chat, but who want's to hold the damn thing steady for video chat?

<comment><USER10> If it has decent auto-correction software, small bumps shouldn't futz with the picture. Much.

(The main method I could see for this is making the viewable area of video smaller than the sensor; an accelerometer or clever image analysis could determine if the picture is shaking, and autocorrect it)

<comment><USER5> True, but I'm not so much thinking about small bumps as having to hold it relatively still and pointing at your face. With a laptop it's easy, the thing has a large base and even if it's on your physical lap it's not going to move that much, and it's oriented so the camera points at you when at rest. A tablet device on the other hand, well, try it with a small mirror, how long do you want to hold it like that? How jarring would it be to the other end when it shakes (minor steady-cam business aside)?

I could be wrong of course, maybe people would get the hang of it quickly, but it seems like one of those potential features that people look at with their rose colored glasses (like full OSX on a tablet, imo), without really thinking about what it would be like in practice.

</comment></comment></comment></comment><comment><USER11> let's be honest here, noone would expect something "affordable" from Apple, they are a premium brand. It's like BMW coming out with a ~12,000 car....just won't happen.

<comment><USER12> I'm actually quite shocked people are saying the iPad isn't affordable. This is probably the most affordable overly hyped product Apple has ever released. I was expecting $1,000 just like Steve Jobs said and was blown away when it was as low as it was, and even more blown away by the pay as you go unlimited 3G for $30 a month.

<comment><USER13> Yeah, Steve Jobs is a genius -- he says it's $1,000 and then you're not shocked that the _minimum configuration_ costs nearly twice as much as a netbook.

<comment><USER14> I don't think you can easily compare a $250 netbook to the iPad. Lower quality screen, heavier, thicker, significantly less battery life, no multi-touch, lower build quality, and of course weaker software. They may serve some of the same purposes but I don't think they're directly comparable.

<comment><USER15> Weaker software, lower build quality? Have you even used the ipad? Its a beefed up ipod touch, not a scaled down laptop. The netbook wins from many perspectives.

The multi-touch is sexy, i'll admit. but form is not greater than function. Imagine chatting, posting on HN, or uploading photos to Flickr. These 3 easy actions are not easily handled on the ipad.

<edit> I have never used it and cannot comment on the build quality (which is the point i was trying to make. Sorry!)

<comment><USER3> You forgot doing all that while listening to mp3s and driving a 60" tv as a second monitor showing a movie.

</comment></comment></comment></comment></comment></comment><comment><USER16> The price of the unit is irrelevant. If it has a 3G modem you will need to sing up for $100/month data plan for 3years (much more outside the USA) So you are really buying a $3600 3year old computer

<comment><USER17> Say what?

I pay AU$10/100MB (about US$9) for prepaid (no contract) mobile data

<comment><USER15> In the US it is MUCH more expensive my friend.

<comment><USER18> Unlimited 4G internet (small USB dongle for a tablet like this) costs $30/mo for 6 months then $45/mo through CLEAR or Comcast if it's available in your city</comment></comment></comment></comment>


San Francisco homeless tax helps spur departure of another high-profile company - <AUTHOR> http://www.foxandhoundsdaily.com/2019/11/san-franciscos-homeless-tax-helps-spur-departure-of-another-high-profile-company/ <comment><USER2> Capitalism allows freedom to escape socialism.</comment>


Is a 'Virtual Company' Worth the Effort? - <AUTHOR> http://www.law.com/jsp/lawtechnologynews/PubArticleLTN.jsp?id=1202448133306&slreturn=1&hbxlogin=1 <comment><USER2> What's a virtual company? If it's just a company you can run from wherever, I've been running my own, UK-based company (Stochastic Technologies) for a year now, with great success. I don't even need to be in the UK ever, my accountant does all the filing and most other things can be done online...

</comment><comment><USER3> vermontvirtual.org doesn't resolve. Does anyone know what's going on there?

<comment><USER4> Happy IPV6 Day!

* I tend to lose karma anytime I make a joke on HN. I don't understand why as I believe it doesn't contradict HN guidelines. Maybe I'm just not that funny? :-p _

<comment><USER5> I laughed :)</comment></comment></comment>


Windows 7 support ending in January 2015 - <AUTHOR> http://support.microsoft.com/gp/support-reaching-end-2nd

<comment><USER2> In January 2015, Windows 7 moves from "mainstream" to "extended" support. What does that change for you and nearly all other users? Nothing. The only difference from mainstream to extended is that Microsoft won't take requests for new features and changes during extended support. And you won't get free phone support any longer, though paid options are still available.

Windows 7 will continue to be supported in "extended" support with security issues fixed regularly and paid phone/online support until January 2020.

</comment><comment><USER3> The headline is kind of misleading. It's the mainstream support that is ending, extended support is available until January 2020.

<comment><USER4> Which is outlined here: [http://support.microsoft.com/lifecycle/?LN=en- us](http://support.microsoft.com/lifecycle/?LN=en-us)

Basically, after January you will only get paid support (if you bought that) and security fixes, up to January you could get other stuff as well - not sure what that entails - the only MS support I've ever encountered are security fixes.</comment></comment>


Ask HN: What is so great about blockchain? - <AUTHOR> I have a question, what is it about blockchain that's so attractive to every new startup or idea nowadays?
New social network? Blockchain!
New news platform? Blockchain!
I get what blockchain is. I get how it's used in cryptocurrency transactions. But will someone please explain why it's being incorporated into industries that always have done (and IMO can continue to do) just fine without it?
I skim through this [1] list, and see no clear benefit to incorporating blockchain into most/all of these? Most of them seem to be using it as 'secure database' or something.
[1]: https://www.fool.com/investing/2018/04/11/20-real-world-uses-for-blockchain-technology.aspx <comment><USER2> I would consider something like [https://eprint.iacr.org/2017/375.pdf](https://eprint.iacr.org/2017/375.pdf) which shows why blockchains aren't relevant or useful for most of these use cases. In that case, it's probably, sadly, a matter of attracting investors through hype.

</comment><comment><USER3> Not much. Its attractiveness from a business perspective is that it's an easy sell to heavily politicised companies where you won't get budget to implement something unless your proposal is buzzword-laden.

</comment><comment><USER4> Blockchain is just the newest trendy snake oil.</comment>


Mozilla VP Mike Shaver responds to Microsoft's WebGL security concerns - <AUTHOR> http://shaver.off.net/diary/2011/06/17/a-three-dimensional-platform/

<comment><USER2> "Adding new capabilities can expose parts of the application stack to potentially-hostile content for the first time. Graphics drivers are an example of that, as are _font engines, video codecs, OS text-display facilities (!) and image libraries._ "

These are all technologies that have, in fact, been a continuing source of terrible security vulnerabilities. I'm not sure of the point he's making; surely, he has to know that font and image libraries --- and even just new ways of gluing those things together, like the new CSS font goo --- actually _are_ security threats.

I don't have much of an opinion here. Microsoft is right that WebGL is scary from a security perspective. Maybe Mozilla is right that it's worth the risk. But this is a bit of a weird post.

<comment><USER3> My point is that those technologies have been added to browsers, and we've been able to deal with the security surface. Microsoft's position is that WebGL is inherently unsecurable, and therefore somehow qualitatively and fundamentally different from doing hardware accelerated 2D graphics, JS JITs, or -- as they brag about in IE9 literature -- handing off H.264 content straight to drivers and hardware to decode.

WebGL absolutely needs care taken from a security perspective, as do video and RTC capabilities, new network protocols, and support for unicode. (The "text- display facilities" I mention were some OS-supplied ones that crashed out if given the right -- wrong -- sequence of characters to display.) _Especially_ in light of the impending support in SL5, I don't think MSFT has made a case that this facility is actually as world-ending as they make it sound. I believe that WebGL can be secured, and am disappointed that MSFT is throwing up their hands and saying "can't be done! all gonna die!" about WebGL while they've obviously invested to the point of comfort in the equivalent SL5 APIs. On Windows, in fact, we map GL to D3D and use the same shader-compilation and API pipeline as SL5.

Advice and input from Microsoft on this would be very welcome. They know a lot about the whole (Windows) stack, though perhaps not OpenGL, and like us they had to deal with driver and D2D bugs while accelerating the 2D portions of their browser. But if they're going to raise security concerns about things, a conversation rather than a blog-post broadside would probably contribute more to the security of the web.

(People point at the Context IS bug reports, but they had nothing to do with access to fragile driver code or unsuspecting hardware. They were origin- management problems in the spec, and a straight up C-pointer-mgmt-claims-more- toes bug in our implementation.)

<comment><USER4> _My point is that those technologies have been added to browsers, and we've been able to deal with the security surface._

Is _merely_ repeating these past mistakes a high enough standard for a _new_ technology? Particularly for one that would arguably be the worst of the lot? And for one that is getting a very late start in the arms race of exploit sophistication?

Is there not a suitable middle ground between <canvas> and OpenGL? An abstraction layer that is sufficiently powerful to not be the bottleneck, while permitting a secure implementation without the help of driver vendors _and_ avoiding all the legacy cruft of OpenGL to boot?

<comment><USER5> First, it's not even close to being "worst of the lot".

Second, there might or might not be a middle ground, but you're not proposing it, Microsoft isn't proposing it and no one else is proposing it. In that context, bringing up non-existent, maybe-or-maybe-not better solution isn't advancing the discussion. In theory everything is possible but in practice WebGL implements a well understood model that has been in use for decades (just like canvas implemented a well understood model for 2D graphics). If we want fast 3D graphics in the browser, and we do, building on top of well understood technology is definitely the way to go (compared to trying to reinvent extremely complex technology that took years to perfect in the currently dominant standards (Direct3D and OpenGL)).

<comment><USER4> I disagree with the notion that it's OK to adopt a flawed standard just because no better proposal exists. A better proposal could most certainly exist if it was agreed that it should exist and resources were committed.

The OpenGL API has a ton of legacy baggage. Nearly all of GL 1.0 is deprecated and some parts of the API have endured multiple cycles of deprecation. Improving on it would not be difficult.

<comment><USER6> WebGL is OpenGL ES. The deprecated stuff in GL 1.0 is not present.

See for yourself: [http://www.nihilogic.dk/labs/webgl_cheat_sheet/WebGL_Cheat_S...](http://www.nihilogic.dk/labs/webgl_cheat_sheet/WebGL_Cheat_Sheet.htm)

<comment><USER4> GLES is even cruftier than OpenGL, because they removed a bunch of functionality but didn't simplify the API. So you have all sorts of parameters and options that literally have no purpose. The documentation frequently says things like "The blah parameter controls yada yada. It's value must be zero." That's gotta be mighty confusing for a web developer doing 3D graphics for the first time.

The design of OpenGL is optimized for stateful, fixed pipeline, immediate mode drawing, an extinct paradigm that is unsupported in GLES and WebGL. The modern paradigm of shaders and GPU objects is radically different and demands an API tailored for it.

The continuity of OpenGL has been justified by its established ecosystem. Game developers prefered one patched up API to a new API for every generation of graphics hardware. But now hardware architecture has more or less stabilized and it's the _developers_ that are new. Let's give them a fresh start instead of a badly mutilated API that, frankly, I think most of them will find impenetrable.

</comment></comment></comment></comment></comment></comment></comment><comment><USER7> I _did_ appreciate that Microsoft gave reasons along with their snub, but their analysis felt pretty NIH-and-not-going-to-help-with-the-inventing to me.

Shaver says:

        >I also suspect that whatever hardening they applied to the
        >low-level D3D API wrapped by Silverlight 3D can be applied
        >to a Microsoft WebGL implementation as well.

Nice point. Whether Microsoft engages with and helps improve WebGL could be seen as a proxy for whether they will in fact engage with Web Standards in IE 1X. Or is WebGL so broken that it's impossible to contribute?

I'm also surprised since the next battleground for browsers seems to be in mobile and pushing forward a unified and seriously advanced browser strategy could be a serious advantage for MSMobile (whatever the hell it's called now). Instead, they seem to be re-fighting battles in a war that's already been semi-lost (the PC browser).

<comment><USER8> One thing to keep in mind though is that while MS is one company I don't think the IE team and the Silverlight team see eye-to-eye on everything.

It could well be the case that the IE team thinks that what SL does is something they wouldn't put into Windows.

<comment><USER3> The post wasn't from the IE team, but from MSRC, the company-wide security research group.

<comment><USER8> I missed that, thanks. In that case they pretty clearly know the delta between the XNA in SL support and OpenGL. Do you know what the big differences are in how shaders are handled between XNA and OpenGl? Can we work to get them to be more similar?

<comment><USER3> The shader models in XNA D3D and WebGL are pretty similar. One travels as pre- compiled bytecode and the other as text, and there are some differences in how loop constructs work, but they're both basically shader model 2.

But the argument I read from MSRC wasn't about the capabilities of the system when working as intended, it was about weaknesses in OEM/IHV drivers causing _unintended_ behaviour that is qualitatively harder to fix than bugs in the drivers for hardware H.264 decoding. I haven't yet found a way that HLSL/XNA is more robust than GLSL/WebGL, and I've been in threads about those shader models for quite a while now. Of note, perhaps, is that on Windows we compile GLSL _into_ HLSL and then effect bytecode (with Microsoft's compiler) and feed it through Direct3D. It's a very very similar pipeline.

The claim is that driver blacklisting hasn't been used to address recent vulnerabilities, but...the recent vulnerabilities have had nothing whatsoever to do with problems in a driver.

</comment></comment></comment></comment></comment><comment><USER4> _I think that there is no question that the web needs 3D capabilities. Pretty much every platform has or is building ways for developers to perform low- level 3D operations_

This is assuming that the web needs to be a competitive app platform, but that is a wole other debate. Regardless, it's immaterial to the security issue. No matter how badly we need it, if WebGL really is as insecure as some have suggested then it will only sabotage the underlying goal.

 _Adding new capabilities can expose parts of the application stack to potentially-hostile content for the first time. Graphics drivers are an example of that, as are font engines, video codecs, OS text-display facilities (!) and image libraries_

Web video (and audio) have been effectively phased in over a good 10 to 15 years. Ditto Flash and PDF. These technologies have had the luxury of evolving security gradually along with the threat and their record is still far from spotless. I don't know a lot about font engines, but I doubt they compare in complexity and diversity to 3D graphics drivers.

GL drivers will be thrown right into the deep end. I am skeptical that driver makers can really understand what they are getting into, or that they really have the incentive to care.

 _I also suspect that whatever hardening they applied to the low-level D3D API wrapped by Silverlight 3D can be applied to a Microsoft WebGL implementation as well_

That is a huge assumption. Here, you're talking about Microsoft's own 3D API bound to their own VM, running on their own OS. Or in the case of cross- platform Silverlight, a 3D API wrapping a completely different 3D API. I would like to know the details of how that works and how it is secured. But without knowing, I wouldn't assume it was at all applicable to WebGL.

And anyway, even if Microsoft _can_ do a secure implementation on Windows, what about every other browser on every other platform? Conspiracy theories aside, this is not about Microsoft.

 _our conversations with the developers of the drivers in question make us confident that they're as committed as us and Microsoft to a robust and secure experience for our shared users_

If WebGL is to be a true web standard that works everywhere, then that's a _lot_ of different developers, present and future. The responsibility to keep browsers secure is being spread awfully thin, across some parties that aren't very accountable.

So far, I haven't seen any response to the WebGL security issues stronger than "don't worry, we'll try really hard" and that is not very reassuring.

With regards to web security in general, everything that could conceivably go wrong up until now _has_. We have to assume that the same principle will hold for future technologies and make sure they are air tight from the start. If we accept compromise with WebGL then we won't know for sure if there is a problem until it's too late -- that is, until it is widely deployed and difficult to change or abandon.

<comment><USER9> > This is assuming that the web needs to be a competitive app platform

This is one of the goals of HTML5.

> That is a huge assumption. Here, you're talking about Microsoft's own 3D API > bound to their own VM, running on their own OS.

Whenever you have code that has access to low level API and hardware, you'll encounter the same issues. Look at the history of windows with running native code and all the security issues it has enabled, there is no question they will meet the same issues with 3D on silverlight.

> this is not about Microsoft.

It is about Microsoft. They also had tons of reasons not implement SVG because SilverLight was better and SVG had flaws according to Microsoft... until they added it to IE9 because it was turning popular. They'll try the same with WebGL, this is typical Microsoft behavior.

> So far, I haven't seen any response to the WebGL security issues stronger > than "don't worry, we'll try really hard" and that is not very reassuring.

They said they will improve the specs to fix the issue. What else do you want?

> With regards to web security in general, everything that could conceivably > go wrong up until now has.

The same could be said about native apps security. The real story here is that Microsoft doesn't want to implement WebGL for two very known reason:

1) It competes with Silvernight 3D

2) WebGL is based on OpenGL while Microsoft is pushing hard for Direct 3D. If webgl gets popular they'll have to implement WebGL on windows and developers might want to develop against it instead of D3D, although they could limit it to IE. Either way, it's not appealing to them, like SVG was when they still believed Silvernight would take off.

<comment><USER4> _It is about Microsoft. They also had tons of reasons not implement SVG because SilverLight was better and SVG had flaws according to Microsoft... until they added it to IE9 because it was turning popular. They'll try the same with WebGL, this is typical Microsoft behavior._

Microsoft is not the only party criticizing WebGL and the motives of any such party are a separate issue. The technical problems with WebGL have been made clear and appeasing Microsoft or questioning their motives does not address those problems.

 _They said they will improve the specs to fix the issue. What else do you want?_

Who said they will improve the specs and in what way? There are fixes for specific bugs, like cross-domain image loading. ARB_robustness is in the works, which is an implementation detail that might help somewhat. But I've seen nothing that claims to fix issues of the sort mentioned by Microsoft, just claims that they aren't really a problem.

And if WebGL is being fixed then why is it enabled in production browsers _today_?

</comment></comment></comment><comment><USER10> John Carmack said:

<https://twitter.com/ID_AA_Carmack/status/81732190949486592>

 _I agree with Microsoft's assessment that WebGL is a severe security risk. The gfx driver culture is not the culture of security._

<https://twitter.com/ID_AA_Carmack/status/81745430152609793>

 _They are orthogonal technologies, but NaCl is much, much easier to make secure than WebGL, even though it sounds scarier._

<comment><USER11> There's a marked contrast between Mozilla's eagerness to press ahead with WebGL and tidy up the problems later, and the abundance of caution it displays when facing NaCl, a technology that threatens its own ricebowl.

</comment></comment><comment><USER12> \+ 1 for Mozilla working in WebGL and moving the web forward.

\+ 1 for Microsoft keeping them accountable.

\- 2 for Microsoft keeping yet another awesome technology out of their browser

Mozilla wins. We're back to zero.

</comment><comment><USER13> To be completely honest, it doesn't matter what their response is (and the site isn't loading, anyways). If Microsoft refuses to implement WebGL, the technology will have been effectively hamstringed.

Edit: [http://webcache.googleusercontent.com/search?sclient=psy&...](http://webcache.googleusercontent.com/search?sclient=psy&hl=en&site=&source=hp&q=cache%3Ahttp%3A%2F%2Fshaver.off.net%2Fdiary%2F2011%2F06%2F17%2Fa- three-dimensional-platform%2F&aq=f&aqi=&aql=&oq=&pbx=1)

<comment><USER14> Not precisely. Firefox and Chrome have enough marketshare that games with WebGL can just detect IE, then throw up a message "your browser does not support WebGL, click here to download a browser that does.".

<comment><USER15> Google Chrome Frame could also be helpful here. Macromedia somehow managed to get most people to install their terrible plugin.

<comment><USER16> Long before Chrome Frame even existed.

</comment></comment></comment></comment><comment><USER17> >but our conversations with the developers of the drivers in question make us confident that they're as committed as us and Microsoft to a robust and secure experience for our shared users

ATI and NVidia have never cared about driver stability (or anything other than benchmark performance), and now we're supposed to believe that they will start caring about security?

<comment><USER18> ATI and NVidia surely cares about driver stability. Who would buy their graphics cards if the games kept crashing all the time?

ATI and NVidia didn't have to care about security before, since the only applications that could access the drivers and graphics cards were trusted applications. Now we have a new situation where they they have to start to care about security. I don't think AMD or NVidia want to be blacklisted in WebGL implementations because their driver isn't secure enough.

<comment><USER19> _I don't think AMD or NVidia want to be blacklisted in WebGL implementations because their driver isn't secure enough._

Only one or the other could get blacklisted. If it was both of them, what remains? The Sandy Bridge GPU? WebGL needs them more than they need WebGL.</comment></comment></comment>


Diagnostic of an unexpected slowdown - <AUTHOR> https://rjuju.github.io/postgresql/2018/07/03/diagnostic-of-unexpected-slowdown.html <comment><USER2> Why wouldn't pgbouncer work here? Are the connections all coming from the same client with the same lifecycle?

<comment><USER3> Probably the software is garbage (especially since they don't even support a recent version of Postgres) and does something that just _barely_ works with Postgres itself, but completely explodes with PGBouncer.

</comment></comment><comment><USER4> I'm a little confused. What does the author mean by "software editors"?

<comment><USER5> Probably a less disparaging way of saying "code monkey" in a corporate dead environment.

<comment><USER4> ah, it looks like the post has been changed to read "software vendors".

</comment></comment></comment><comment><USER6> I thought github was running MySQL. Do I remember wrong?

<comment><USER7> The blog is hosted on github, but the post is about Oslandia.</comment></comment>


Differentiable Control Problems - <AUTHOR> https://fluxml.ai/2019/03/05/dp-vs-rl.html <comment><USER2> > In contrast, running the neural network takes 5μs (twenty thousand times > faster) with only a small loss in accuracy. This "approximate function > inversion via gradients" trick is a very general one that can not only be > used with dynamical systems, but also lies behind the fast style transfer > algorithm.

Very interesting! Follow up question -- how would you choose the network architecture?

<comment><USER3> Since the network only acts on a small portion of the entire system, we can constrain it in such a way that dramatically simple NNs work just fine.

`FastChain(FastDense(3,32,tanh), FastDense(32,32,tanh), FastDense(32,2))` (from [0]) would take three inputs from your basis, run it through one hidden layer and provide you with two trained parameters.

This [1] example uses two hidden layers, its one of the more complex solutions I've seen so far. To move to this complexity from a simpler chain, we first make sure our solution is not in a local minima [2], then proceed to increase the parameter count if the NN fails to converge.

[0] [https://diffeqflux.sciml.ai/dev/FastChain/](https://diffeqflux.sciml.ai/dev/FastChain/) [1] [https://github.com/ChrisRackauckas/universal_differential_eq...](https://github.com/ChrisRackauckas/universal_differential_equations/blob/a68e7566105f0e08abdad80aee1fe8c4a4b5d51c/SEIR_exposure/seir_exposure.jl#L52) [2] [https://diffeqflux.sciml.ai/dev/examples/local_minima/](https://diffeqflux.sciml.ai/dev/examples/local_minima/)

</comment></comment><comment><USER4> Isn't this just optimization of control parameters?

What is the comparison with existing control engineering methods like PID tuning, MPC and optimal control?

<comment><USER5> I think you are right, in the case of the trebuchet, it just computes a black box approximation of the inverse of the system. The difference being that an analytic inversion would solve the problem for all wind and target conditions, while the NN solution will only work for for value ranges used to obtain the data that trained the NN.

In the case of the inverted pendulum, again the disadvantage of using NN is the black-bock nature of the control algorithm. As a control engineer this gives me the chills, because using black-box algorithms tell you nothing about the robustness of the closed loop system. With model-based control, at least we have strong mathematical tools to guarantee that the closed loop will be robust enough to handle variations outside the data that we used for training (our model). With black-box algorithms like NN you have no guarantees. I would not get into a plane controlled by a NN for sure, look what happened with the 737MAX when software engineers thought they could solve dynamical system problems.

<comment><USER3> To respond to both the parent question, and this comment: indeed, this is black-box optimal control in essence.

However, this method is just one small aspect of the SciML [0] ecosystem now. The article is a little outdated in that sense.

Once obtaining your NN control parameter, it's now possible to use Sparse Identification of Nonlinear Dynamics (SINDy) on that parameter to recover equations of motion governing it [1].

The real promise of these methods is to use the universal approximator power of NNs to get around the 'curse of dimensionality' & uncover presently unknown representations of motion within any system. Take a look at [2] for a more detailed description.

[0]: [https://sciml.ai/](https://sciml.ai/) [1]: [https://datadriven.sciml.ai/dev/sparse_identification/sindy/](https://datadriven.sciml.ai/dev/sparse_identification/sindy/) [2]: [https://arxiv.org/abs/2001.04385](https://arxiv.org/abs/2001.04385)

<comment><USER5> "The real promise of these methods is to use the universal approximator power of NNs...", still if one is to use a grey-box non-linear model dx/dt = F(x, u, t), why use NNs to characterize F? I would be more comfortable using a polynomial to characterize non-linearity than a "deep" black-box.

Polynomials are much easier to "train" because it is just one linear regression with no iteration. It has also been hinted that NN are in essence polynomial regressions [0]. Furthermore, most activation functions are base on e^x where the actual implementation of e^x in a computer is again a polynomial!

[0] [https://arxiv.org/abs/1806.06850](https://arxiv.org/abs/1806.06850)

<comment><USER6> Gradient descent is already about as easy a training method as can be. Just a little freshman calculus and programmers can do the "state of the art" optimization of modern times. It's also scalable. If your polynomial regression gets too large because of the model complexity (for comparison, typical deep networks can have millions of parameters) you can't invert your matrix and probably end up using a similar method anyway.

I would have thought a computer uses tables to compute e^x. There's also piecewise linear activation functions that are trivially easy to compute gradients of.

The whole "universal approximation" perspective is pretty vague to begin with. I'd say generally people don't understand why NN's work as well as they do. Previously theorists expected they would need a lot more training data to work, given their complexity. So it's driven to a large degree by empirical success. I am certainly really interested to see people accomplishing the same things with less sophisticated methods, since there is no doubt it has been overused/hyped in some areas just to make the papers and proposals sexier.

<comment><USER7> > The whole "universal approximation" perspective is pretty vague to begin > with

Multiple times this. This claim gets trotted around frequently to showcase superiority of NNs.

At best this is a red herring at worst it is dishonest. The problem is they aren't the only universal approximators. There is a whole slew of them, nearest neighbor approximators, polynomials, rational splines, kernel methods … Furthermore the universal approximation property holds under conditions.

Finally, the ability to represent a function arbitrarily well (approximation property) does not mean that one will be able to find the representation from data easily (learning property). Empirical evidence suggests that among the class of universal approximators we know, NNs seems easy to train effectively. Why this is so s not quite well understood.

<comment><USER5> wavelets, sum of exponentials, fourier, ... I just mentioned polynomials because they are easiest. But people just jump into the NN bandwagon to get attention. Truth is that is just another tool, and a good engineer has to choose the best tool form the toolbox and not just pick the hammer everytime.

<comment><USER8> For reference, the DiffEqFlux library has a bunch of classical basis layers [1] and ways to tensor product them [2] for this reason. The real answer as to when to use a neural network is quite complicated [3], but in summary the results all point to the fact that for approximating an R^n -> R^m function, one only needs polynomially many parameters in order to do it well (as proven in a few cases like in that linked paper for "any case where Monte Carlo algorithms are not exponential in dimension"). Tensor products of classical basis functions have to cover every combination of terms (sin(ix)*sin(jy)) so they naturally grow like p^n if you have p parameters in each dimension, so this exponential parameter growth is the curse of dimensionality and this polynomial growth is the formal way of describing how neural networks overcome the curse of dimensionality. So what is useful can depend on a number of factors (another property is the isotropy of the function you're trying to approximate), but this asymptotic property is what makes neural networks a good tool in the high dimensional world where they are commonly used. That makes them quite good as well for things like feedback controllers of larger ODE systems. But yes, in smaller dimensional cases Fourier basis and such are good choices.

        [1] https://diffeqflux.sciml.ai/dev/layers/BasisLayers/
        [2] https://diffeqflux.sciml.ai/dev/layers/TensorLayer/
        [3] https://arxiv.org/abs/1908.10828

<comment><USER5> Fitting to sum of N exponentials is also a linear problem with no iterations [https://math.stackexchange.com/questions/1428566/fit-sum- of-...](https://math.stackexchange.com/questions/1428566/fit-sum-of- exponentials/3808325#3808325)</comment></comment></comment></comment></comment></comment></comment></comment></comment>


Why Java at 92th place in Google AI Challenge? - <AUTHOR>

Any guesses why in the ranking of last Google AI Challenge, the first Java code is at 92th place?
http://csclub.uwaterloo.ca/contest/rankings.php
After all its most popular language on earth. http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html <comment><USER2> From <http://csclub.uwaterloo.ca/contest/starter_packages.php>:

"Java

"Download the Java starter package.... [...] Note: The JVM interacts badly with the sandbox we use to run submissions, causing frequent timeouts. You are advised to choose a different language."

</comment><comment><USER3> No "Tron AI" design pattern?

 _smile_</comment>


Evaluating ClojureScript in the Browser - <AUTHOR> http://yogthos.net/posts/2015-11-12-ClojureScript-Eval.html <comment><USER2> I've been meaning to add this live cljs experience to [http://hiccup.space](http://hiccup.space) A site to show how easy hiccup is to use.

Sadly not having paredit (or parinfer) support hurts the experience, so that's 2 features to add now!

<comment><USER3> Is there a parinfer package for emacs ?

<comment><USER4> Not that I know of, but adjust-parens is similar

</comment></comment></comment><comment><USER5> If you want to build a REPL in the browser I'd highly recommend checking out replumb

[https://github.com/ScalaConsultants/replumb](https://github.com/ScalaConsultants/replumb)

<comment><USER6> Even after finishing the readme I'm not clear on what exactly this does. At the very least it looks useful for working around the macros problem[1]. Mind explaining what mileage you got out of it?

[1]: [http://blog.fikesfarm.com/posts/2015-09-07-messing-with- macr...](http://blog.fikesfarm.com/posts/2015-09-07-messing-with-macros-at- the-repl.html)</comment></comment>


Show HN: Kimonote, a minimalist blogging platform/note organizer - <AUTHOR> https://kimonote.com/ <comment><USER2> I saw this from your BetFair posts. Very impressive.

Minor nit: your post timestamps do not account for time zones. I'm in the UK and it says your most recent post (BetFair 6, which I'm about to read!) was posted "in about a minute."

<comment><AUTHOR> Thanks! That was actually me tinkering around with the post timestamp (it was about 6:30pm UTC when I had posted it privately to preview and I bumped it a bit when I published it). All times should be in UTC: I realised there's no good way to find the user agent's timezone, so mostly am using relative times throughout.

</comment></comment><comment><USER3> Could this function as a pastebin replacement as well? On mobile now, so can't test too well.

<comment><AUTHOR> Possibly: it doesn't currently support anonymous public notes, but that would be easy to add.</comment></comment>


Rate my app: Paprika Recipe Manager for iPad - <AUTHOR> http://www.paprikaapp.com http://www.paprikaapp.com
I've always been big into cooking and when the iPad came out I figured it would be the perfect replacement for the massive stack of printed recipes I had collected over the years.
But after trying out the iPad recipe apps in the store, I realized that most of them did not allow you to enter your own recipes, and the ones that did were incredibly cumbersome to use. (E.g. having to enter recipes from an external website, or having to fill out 24 fields to get a single recipe entered.)
So the idea for Paprika Recipe Manager was born, and a few months later, it is now available in the App Store.
The basic premise of Paprika is basically an Instapaper for recipes. It comes with a built in web browser that lets you save recipes from the web. (Which is mostly how I discover my new recipes.)
We designed the app to be as simple as possible to create and save recipes. Some of the other apps in the store require you to enter ingredients one at a time, specifying quantity and units separately, and then entering your recipe directions one step at a time. This makes the process for entering a single recipe way too cumbersome and takes up too much time.
We took the opposite approach and basically give you two big text fields for your ingredients and directions. Entry is completely freeform and you can basically put in whatever you want. This also makes it very easy to save recipes from the web (since they can be presented in all sorts of arbitrary formats).
Features include:

  - Ability to type in your own custom recipes in a fairly easy manner.
  - Ability to save recipes from the web.
  - A grocery list that lets you add recipe ingredients as well as your own items.
  - Fully customizable categories, search, favorites, and emailing recipes.
  - Preventing the screen from turning off while cooking.
 Here are a few promo codes to get you guys started:

  E7LL36X4EJYP
  7A7M9LXXLRJJ
  LLK9KAWAYXLJ
 Any and all feedback is greatly appreciated. The response has been fairly positive so far (in terms of ratings and reviews), although there is definitely room for us to improve.
I'm especially interested if anyone has thoughts on marketing and promotion. I've done the standard tasks of posting a press release and emailing a bunch of websites/blogs...but don't really know where to go from there. Has anyone had success with a Youtube teaser, or Facebook/Google ads, or buying ad banners on other sites? <comment><USER2> I haven't looked at your app yet, so I'm assuming it doesn't have this feature described below (I haven't seen it yet in any recipe app yet - if yours has it I'm buying it immediately! :) ).

Basically, whenever I want to cook something new, I look for a recipe in an app/online and find something that looks really good. Then I look at the recipe list, realize I'm missing like 3 or 4 things on the list, get disappointed since I don't have the time to go to the grocery store, and then go and cook something else.

A feature I'm DYING to have is this:

1) Let me list every food item I have in my kitchen (e.g. select them (fruits/veggies), scanning bar-codes would be really nice but not 100% necessary).

2) Let me list what cooking equipment I have.

3) The app returns "ONLY" recipe's I can make given what I have in my kitchen.

Currently the recipe apps I've tried (Epicurious, Whole Foods's app) don't do this. Epicurious "kind-of" lets you select main ingredients, but you damn well have the kitchen of a chef, stocked up nicely with basil leaves and minced thyme to cook much of anything. Don't have a pressure cooker? Out of luck yet again...

Whole Food's app felt like a giant advertisement just to buy the most expensive ingredients at their store. ;)

For a single someone like me whose not a foodie, wants some variety in meals, and is rushed for time on occasion, a recipe app that listed only what I can make "right now" would be really really nice to have.

\</comment><comment></comment><comment></comment><comment>--

Taking that idea a bit further, it would also be nice to have suggestions of food/equipment to buy in the near future, which would increase the number of recipe's one could prepare.

For example; "If you buy a rice steamer, you'll increase the number of "right now" recipe's by 25%, and you'll be able to cook things such as steamed asparagus and steamed salmon." Etc...

General advice for someone as ignorant as myself as to what to "always have" in the kitchen.

<comment><AUTHOR> That's a really interesting idea, and we've had a few requests for something similar.

My question to you is: are you really going to be willing to keep your iPad updated with every single ingredient you have in your fridge, and every single spice in your pantry, especially as things get used up, thrown out, and replaced?

<comment><USER2> Great question.

Generally, I tend to have certain ingredients always-on-hand. There are others which I buy occasionally but don't always have. And of course things do run out as the week progresses. In a nutshell, having to re-enter everything every time would be tedious. But imagine this...

The app keeps a history of food you've entered into it already. When you load it up it displays foods as icons. There's a picture of your kitchen (fridge/shelf) with food icons sitting in it. This is what you have now, and you can drag/drop food into your kitchen. There's also a side-bar shelf, your "food history". This is stuff that you ran out of. Drag/drop food to/from here into your kitchen, and suddenly you have a visual inventory management system that isn't just some giant cumbersome UITableView.

Ideally you could add/remove stuff from your food history. It would end up being a general list of all the food you "usually" buy. Initially populating that list would be time-consuming, but afterwords it would be fairly easy to keep things updated. You could also mark an ingredient as "rare", and tell the app not to save if for later in your history.

This wouldn't work so well for someone who has a high-turnover of ingredients, and buys a fairly large variety of different stuff. But my hunch is that most people likely buy the same stuff over the course of a month or two. I'm not sure if that's true of everyone, but if it is, an easy-to-use inventory management system like/similar to what I described might work out good. I'd definitely use it; the benefit from shuffling around a virtual inventory for a few minutes would pay for the experience to eat something different/new, rather than settling for the same-old.

<comment><USER3> I could see this being a sort of shopping list companion for the iphone as well. You make a set list of recipes that you want to make for a week per say. You use the iphone to find the ingredients at the grocery store, and as you check them off on the ipad while making your dishes, the app is smart enough to keep track of what you have left, and what recipes you can still make. I bet food companies would love to have sponsored recipes with their branded food items as ingredients, and know how much of an ingredient a user has at a certain time for upselling through coupons.

<comment><AUTHOR> We're definitely planning to release an iPhone companion app as well. That way you can select your favorite recipes to save onto your grocery list on your iPad, then simply take your iPhone to the grocery store and mark off items as you purchase them.

</comment></comment></comment></comment></comment><comment><USER4> Dear Sir,

I just purchased this app. It's awesome. I mean, it's like someone actually dealt with recipe sites, and wanted to use their iPad for getting those recipes and planning meals and shopping lists. I know you built this app because YOU wanted to use it. And I know you use it. And that's why it's pure awesome. In the first 2 minutes of using it, I'd saved several recipes from sites and it worked. Easily.

Congratulations, this is an awesome app, worth every penny.

<comment><AUTHOR> Wow! Responses like this make working on these apps all the more worthwhile. Thank you so much, and really glad you're enjoying the app!

</comment></comment><comment><USER5> I've been toying with it a bit today, and it's definitely the best recipe manager I've tried out on the iPad. In no particular order, some notes:

\- When entering the recipe name consider changing the autocapitalizationType property on that text field to UITextAutocapitalizationTypeWords.

\- Some sort of auto-numbering for the preparation steps field would be nice, but I do understand this is non-trivial. Certain recipes have multiple concurrent groups of steps, so the solution would either have to be perfect or free-form would be better.

\- When creating a recipe in landscape mode, the keyboard hides a couple of the fields in the modal panel. You have to manually dismiss the keyboard in order to see them.

\- Also when creating a recipe, consider auto-selecting the default recipe name for easy deletion as well as defaulting the category to the currently selected category rather than "Uncategorized".

\- Overall I very much appreciate the simplicity of the app. I'd just like some way to bulk import my current database into it and I'd likely use it more frequently than my current desktop app (SousChef).

<comment><AUTHOR> Thanks for the feedback - the auto capitalization is a great idea, as is turning the default recipe name into an easily removed placeholder.

Definitely planning on adding a SousChef importer into a future release - please feel free to shoot me an email as I'm sure I'll need a few folks with existing recipe databases to help test against.

</comment></comment><comment><AUTHOR> <http://www.paprikaapp.com>

I've always been big into cooking and when the iPad came out I figured it would be the perfect replacement for the massive stack of printed recipes I had collected over the years.

But after trying out the iPad recipe apps in the store, I realized that most of them did not allow you to enter your own recipes, and the ones that did were incredibly cumbersome to use. (E.g. having to enter recipes from an external website, or having to fill out 24 fields to get a single recipe entered.)

So the idea for Paprika Recipe Manager was born, and a few months later, it is now available in the App Store.

The basic premise of Paprika is basically an Instapaper for recipes. It comes with a built in web browser that lets you save recipes from the web. (Which is mostly how I discover my new recipes.)

We designed the app to be as simple as possible to create and save recipes. Some of the other apps in the store require you to enter ingredients one at a time, specifying quantity and units separately, and then entering your recipe directions one step at a time. This makes the process for entering a single recipe way too cumbersome and takes up too much time.

We took the opposite approach and basically give you two big text fields for your ingredients and directions. Entry is completely freeform and you can basically put in whatever you want. This also makes it very easy to save recipes from the web (since they can be presented in all sorts of arbitrary formats).

Features include:

      - Ability to type in your own custom recipes in a fairly easy manner.
      - Ability to save recipes from the web.
      - A grocery list that lets you add recipe ingredients as well as your own items.
      - Fully customizable categories, search, favorites, and emailing recipes.
      - Preventing the screen from turning off while cooking.

Here are a few promo codes to get you guys started:

      E7LL36X4EJYP
      7A7M9LXXLRJJ
      LLK9KAWAYXLJ

Any and all feedback is greatly appreciated. The response has been fairly positive so far (in terms of ratings and reviews), although there is definitely room for us to improve.

I'm especially interested if anyone has thoughts on marketing and promotion. I've done the standard tasks of posting a press release and emailing a bunch of websites/blogs...but don't really know where to go from there. Has anyone had success with a Youtube teaser, or Facebook/Google ads, or buying ad banners on other sites?

Edit - Whoops, managed to post this with a bad url the first time around. Fixed.

<comment><USER6> You really seem to have captured how people usually go hunting for recipes, i.e. they type something into Google and browse the myriad available sites. Giving people the ability to easily structure and sort what they like seems like exactly the right thing to do.

I would think that it would be an excellent idea to continue on focusing on exactly that instead of adding shiny features. Recipe apps have to fight proven and battle tested procedures already in place in any kitchen worth its name for collecting and organizing recipes. (I know: 1. Print it out. 2. Put it in transparencies. 3. Put them into a folder. Easy and robust.)

I can think of several things that could help you streamline that process and fight the good fight against paper. Apps have benefits but they are slight so it's not easy.

You could try to further automate the recognition of recipes on sites you don't yet know. Try to prefill if you can, the standard selection process of the iPad is not all that much fun to use. If everything else fails don't force your users to go through that tedious selection process, allow them to save the webpage wholesale. Lower, lower, lower the boundaries of saving a recipe. You are already on that path and I encourage you to follow it. Great app!

<comment><AUTHOR> Yup, that's exactly how I go hunting for recipes, and exactly how I collected recipes pre-iPad (print them out, stick them in a folder).

The goal was to build a tool that suited that workflow the best, while removing the drawbacks of organizing printed stacks of paper: searching through your collection for a specific recipe or a specific category of recipes (e.g. all chocolate desserts).

Thanks for the thoughts, I totally agree on the importance of streamlining recipe saving.

</comment></comment></comment><comment><USER7> Haven't tried the app but looking at the side I have a couple of thoughts.

You're going to have a mine of user-generated content. Sync the recipes with a server and let people publish their recipes as well as comment on them. Make the recipes public and add a link to the iPad app on every Internet web page. Implement a scoring system. Give people points for publishing their recipes with multipliers based on comments/upvotes to encourage sharing.

Allow people to put in the ingredients they have and give them a selection of dishes with options to have dishes that include those ingredients, or dishes that only have those ingredients. Sync the details of what ingredients people have, anonymise it - you can sell this.

Use the geo-location capability to find nearby supermarkets. Add in the capapbility to get online vouchers for discounts from supermarkets. Again, you can charge the supermarkets to reach your customers if you have enough.

</comment><comment><USER8> Ok a couple of things i'd like to see (Note: I haven't used the app yet so this is based on the video/reading the features).

1\. The ability for the program to convert the units between Imperial and Metric. This way, it doesn't matter where your recipe comes from. As Epicurious is American, and I am in Australia, this would be my number 1.

2\. The ability for the app to product a consolidated shopping list. So if I pick a few recipes to get ingredients for, it should produce a consolidated shopping list (ie. combine the same products)

3\. An ingredient glossary. Some recipe's have things I have never heard of in. It would be good to be able to link through to a glossary to learn more about it

4\. Another good thing would be the ability to plan out a week of food, or even have suggested menus based on what I have eaten in the past (This is probably getting a little heavy...). It could be based on the concept of 'Other people who ate X had Y'. Linking this with the consolidated shopping list would also be quite handy.

5\. Dare I say it, but some sort of social element would be good. Adopting KISS, it could be like the <http://pinboard.in> of recipes. Very simple tags, etc.

\</comment><comment>

Another one.

6\. When you cook something for someone, and they ask for the recipe, it would be cool to be able to send it to their instance of Paprika or export a formatted PDF (On top of the email)

</comment><comment><USER9> Oh man, somewhere on my todo list I wanted to create somewhere to store recipes, via iphone/ipad, instead of just allrecipies etc, which just lets you read them. You beat me, congrats, this looks amazing. I think there is a lot of people who will use this. Also the name is great.

<comment><AUTHOR> Thanks! Glad you like the name. :)

</comment></comment><comment><USER10> App looks great, also seems to be doing really well on the app store congrats!

</comment><comment><USER11> This app looks like a good candidate for some idea I and my gf had a while ago, I'm not going to implement this so feel free to take it. There should be a feature to rate (or like) recipes, so you can then recommend recipes based on what other users liked. That makes it easy to discover new recipes that suits your tastes.

I don't have an iPad so I'm not able to review your app, good luck.</comment>


Ask HN: Which recruitment platform you use for your company ? - <AUTHOR> Hello everyone
I am trying to reinvent recruitment process for my new product. Can you people share with me what recruitment software you are using and what are pros and cons of it. Here is a list of few recruitment platform I have collected so far
Underdog  https://underdog.io/
Smart Hires  https://www.smarthires.io
Way Up  https://www.wayup.com
recruiterbox  http://recruiterbox.com/
stackoverflow  careers.stackoverflow.com
greenhouse  https://www.greenhouse.io/
JobScore  https://www.jobscore.com/
Workable  http://workable.com/
Smart Recruiters  https://www.smartrecruiters.com/
Triplebyte  https://triplebyte.com/
Simplicant  http://www.simplicant.com/
Staff  https://www.staff.com/
Thanks <comment><USER2> Hired.com for it's hybrid staffing agency/collaboration with my recruiting team.

Greenhouse for it's process management and scheduling abilities.

</comment><comment><USER3> Shouldn't the title say "recruitment platform"?

<comment><USER4> Probably. I was half expecting to see something about software dependencies.

</comment></comment><comment><USER5> There is also Jazz, which used to be Resumator.

jazz.co</comment>


The Capitalist Manifesto: Greed Is Good (to a point) - <AUTHOR> http://www.newsweek.com/id/201935/output/print

<comment><USER2> This is at least the third time this article has been posted. See <http://news.ycombinator.com/item?id=664635> and <http://news.ycombinator.com/item?id=656979>.

</comment><comment><USER3> communism is good, communism is good, communism is good, communism is good, communism is good, communism is good, communism is good, communism is good, communism is good, communism is good

oh sorry, I turned on the propaganda machine</comment>


Daftpunkonsole - <AUTHOR> http://daftpunkonsole.com/ <comment><USER2> Wow, exact same concept posted to /r/hiphopheads yesterday. I had a blast, it's a little more feature-rich. I don't think the source is available, though.

[http://samplestitch.com.s3-website-us- east-1.amazonaws.com/](http://samplestitch.com.s3-website-us- east-1.amazonaws.com/)

</comment><comment><USER3> See [1] for another, older version of this concept that also supports another Daft Punk song, Technologic, although this new one is definitely novel for showing the keyboard layout and being not in Flash. I do like the Flash version's use of shift as a meta key to shift registers, though!

[1] [http://www.najle.com/idaft/](http://www.najle.com/idaft/)

Edit: Before anyone asks, no, I didn't make this one. I just remember seeing it a long time ago, so it's interesting that someone independently (?) made something very similar!

<comment><USER4> I like how my old blog, ilictronix, is still there in the links section :) I remember when I first emailed him asking if we could link swap - that was pretty big for our traffic. I haven't contributed in about 3 years, but a couple people still run it. Good times - it's where I learned web development.

</comment></comment><comment><USER5> There is a huge lag between keypress and audio on Safari under Yosemite.

</comment><comment><USER6> semicolon doesn't work on Firefox Developer Edition 37.0a2

<comment><USER7> It doesn't work for me in Firefox 35 either under Linux.

</comment></comment><comment><USER8> I forked this and made an almost-working Dvorak version. It's a mess though. Couple thousand lines of disorganized jQuery Spaghetti floating around on a JSFiddle.

</comment><comment><USER9> Perhaps inspired by Daft Hands?

[https://www.youtube.com/watch?v=K2cYWfq-- Nw](https://www.youtube.com/watch?v=K2cYWfq--Nw)

<comment><USER10> this one actually turns into a dance: [https://www.youtube.com/watch?v=lLYD_- A_X5E](https://www.youtube.com/watch?v=lLYD_-A_X5E)

</comment></comment><comment><USER11> It looks really awesome but the syncopation of the song makes really hard to play along, I would love to see someone who is good do this though!

</comment><comment><USER12> LOL, I totally love this. I wonder if this uses web audio.

</comment><comment><USER13> [https://news.ycombinator.com/item?id=9033104](https://news.ycombinator.com/item?id=9033104)

</comment><comment><USER14> I use Dvorak, but other than that, this is pretty cool.

</comment><comment><USER15> this is genius :)</comment>


Show HN: Buy/Sell Art with Dogecoin - <AUTHOR> http://www.dogelet.com

<comment><USER2> I think maybe you should consider doing a bit of redesign of your site? Maybe look into smashing magazine or onepagelove.com for some inspiration?</comment>


Show HN: SHILL ANY COINS HERE – Shills.lol - <AUTHOR> https://shills.lol/ <comment><AUTHOR> Hi HN, I built a site to let anyone shill cryptocurrencies for fun :)

[https://shills.lol](https://shills.lol)

Shill right away, no need to register for an account or anything.

With all the hypes around cryptocurrencies, there is no better time to shill...

</comment><comment><USER2> Site's down, what is this anyway?

<comment><AUTHOR> Hi, thanks for checking this out! Just restarted the server, it was down somehow :/</comment></comment>


A Fortran Web Framework - <AUTHOR> https://fortran.io/ <comment><USER2> 1) What makes a language like Fortran so intimidating?

I know it's the butt of many jokes (together with Cobol and Assembly - especially in the context "really hard to learn/use languages) but just scrolling through the github repo (frontpage), the code doesn't seem _that_ intimidating (or any less confusing than Go would seem for someone unfamiliar with its nuances).

2) What makes Fortran so much 'faster' at computation than C?

C is the go-to for any low-level performance, but in terms of computation, Fortran seems to do better (or so we're told). Is/Was Fortran a better- designed language, that allowed it to perform better than C at computation?

<comment><USER3> Modern fortran dialect is actually not so bad. It's actually pretty awesome and let you develop program that take advantage of distributed computing and gpu processing easily. Also, I don't think any mainstream languages these days have vector operations as good as what fortran currently have. But the old one is pretty horrible though, just like most other languages from 30 years ago when compared to modern languages. The things that annoy me the most when working with legacy fortran code a while ago (does not apply to modern fortran dialects):

\- very terse and cryptic variable naming. Understandable since fortran 77 only allows variable to contains up to 6 characters. But it makes working with large codebase very painful.

\- You had to use upper case only. It may not sounds a big deal, but you'll get tired of it eventually when working with lots of fortran code.

\- Implicit typing: If your variable starts with i-n character, it will be treated as integer. Otherwise it's a float. You better not forgetting this one or terrible bugs will appears on your code.

\- Source code fixed format: your source code must conform to this format or the compiler won't recognize it:

      - only the first 72 chars get parsed;
      - first 5 characters/columns of the line must be blank or contain numeric label
      - if your code is not going to fit in one line, you can extend to the next line by marking it with a non-numeric character in the 6th columns. otherwise it should be blank.

I think there are more annoyances but those are the ones that I still remember to this day.

<comment><USER4> _> You had to use upper case only. It may not sounds a big deal, but you'll get tired of it eventually when working with lots of fortran code._

Fun fact: Nowadays people are doing the same with SQL - even though there is absolutely no reason to do so.

       select * from mytable

is as good as:

       SELECT * FROM MYTABLE

Nowadays, upper case SQL seems to be a sign that the code is either 1) auto- generated by an ORM, or 2) written by a novice, or 3) written by a project with very strange coding styles (the last two seems to be some kind of cargo culting).

<comment><USER5> A third variant:

SELECT * FROM my table

has a purpose, which is to visually separate SQL statements from table and column names.

<comment><USER4> Indeed, this is a common workaround when your editor has no proper syntax highlighting. Still, in today's world nobody would write in that style in other programming languages.

You see the same issue with other relicts, for example, Pascal back in the 90s. Old text books wrote Pascal in uppercase style:

      PROGRAM HelloWorld(output);
      BEGIN
         ...
      END.

But in reality, everybody using e.g. the Turbo Pascal IDE wrote lowercase instead, because it easier to type and because of proper syntax highlighting:

      program HelloWorld(output);
      begin
         ...
      end.

Maybe this is not so much about the maturity of the developers (as I assumed in the previous comment), but about the maturity of the tooling.

<comment><USER6> you do know that some SQL's are case sensitive for table names etc ?

<comment><USER7> Hence I found it easier to keep all lowercase to avoid headaches.

</comment></comment></comment></comment></comment></comment></comment><comment><USER8> I was disappointed to learn that "finally" was not the project name

<comment><USER9> lol that's hilarious. I wish that was the case too.

<comment><USER10> I'm getting the 502, so I'm not sure what the name is supposed to be. But I'm hoping for "FORTRAN on Frames".

<comment><USER8> it's just called fortran.io, same as the domain name

</comment></comment></comment></comment><comment><AUTHOR> The homepage was working fine. But, if you're getting the 502 error, here's the git repo w/README: [https://github.com/mapmeld/fortran- machine](https://github.com/mapmeld/fortran-machine)

And just for more fun, more Fortran libs for fun and profit: Awesome Fortran: [https://github.com/rabbiabram/awesome- fortran](https://github.com/rabbiabram/awesome-fortran)

<comment><USER11> I got the 502 error and thought that was the joke.

</comment></comment><comment><USER12> This actually looks really neat. Linear Algebra as a service, anyone?

Speaking more broadly - I hope we see more web stuff in the statically typed, machine code compiled camp. It is my understanding that web apps do more and more client side these days and only really need a "thin" server. Ruby or Python seems over kill.

<comment><USER13> It's funny to me; when I got my first taste of "web apps" it was writing c apps to process cgi requests a bazillion years ago. It is neat to see people advocating for native compiled code in this area. I do lots of node these days and full stack so I appreciate the client side leaning for routing and rendering. If you don't need SSR then I'm sure you could create a very performant server in rust or c. Sounds fun!

<comment><USER14> SSR?

<comment><USER15> Server Side Rendering

</comment></comment></comment></comment><comment><USER16> Let's not forget about COBOL ON COGS:

[http://www.coboloncogs.org/](http://www.coboloncogs.org/)

<comment><USER12> But the Joke is that Cobol is really verbose. Is modern Fortran more verbose than say, Go?

<comment><USER17> It is faster. Seriously as a teenager I FORTRAN would run circles around everything but Assembly. It is still in use even in R and many statistic languages/programs (Why reinvent the wheel)

COBOL needs to DIEEEEEE!!!!!!!!!!!

<comment><USER18> Lets make a COBOL transpiler and run the mainframe legacy code on top of asm.js

<comment><USER19> I kind of want to write up a buzzword filled pitch and see if management bites.

</comment></comment></comment></comment></comment><comment><USER20> I saw a 502 bad gateway message and figured this must be an elaborate joke :-)

</comment><comment><USER21> They made a Jade template parser in Fortran! The cycle will be complete when we start writing mainframe code with JavaScript.

</comment><comment><USER22> This is pretty cool. And it's even semi-practical, unlike some web frameworks.

But I do have a question: Can this new FORTRAN framework match the performance of the best web framework out there, INTERCAL on Interstates? [http://www.intercaloninterstates.org/](http://www.intercaloninterstates.org/)

</comment><comment><USER23> Ah yes, now I can Finally sleep at night.

</comment><comment><AUTHOR> This was previously submitted before by the author: [https://news.ycombinator.com/item?id=11938405](https://news.ycombinator.com/item?id=11938405)

His homepage: [http://mapmeld.com/](http://mapmeld.com/) Fascinating person. Has worked with various languages and does educational work throughout the world with OLPC laptops.

</comment><comment><USER24> Cached: [http://webcache.googleusercontent.com/search?q=cache:fortran...](http://webcache.googleusercontent.com/search?q=cache:fortran.io)

Github: [https://github.com/mapmeld/fortran- machine](https://github.com/mapmeld/fortran-machine)

</comment><comment><USER25> I'm normally an advocate for Fortean for numerical computing, but web servers seem unholy. However, I do appreciate the code reference on querying SQLite from Fortan.

</comment><comment><USER26> This seems interesting. It reminds of a long time ago, in a job far, far away - writing a simple "web server" using DB/C (a COBOL variant).

</comment><comment><USER27> Ouch. 502 Bad Gateway

<comment><USER28> Yes. Hacker News hug of death.

</comment></comment><comment><USER29> Right now the site seems to be down...

502 Bad Gateway nginx/1.4.6 (Ubuntu)

</comment><comment><USER30> 502 Bad Gateway. Oh the irony.

</comment><comment><USER31> anyone benchmarked this?

Is it just "it works" PoC or does it run OK?

</comment><comment><USER32> 502 Bad Gateway

(chuckles)

</comment><comment><USER33> I really like seeing things like this come out. I don't know any Fortran, probably never will learn it, and will probably never use this framework. But, I can imagine this was an immensely enjoyable project for the author. Projects like this, in my opinion, are the definition of a labor of love.

<comment><USER34> One of these days I going to release my web framework for Common Lisp.

I call it "Railth".

<comment><USER12> Have you considered a micro-framework? "Thinatra" rolls of the tongue.

<comment><USER35> Or perhaps "Flathk"?

</comment></comment></comment></comment><comment><USER36> 502 Bad Gateway

<comment><USER37> It seems to be back now.

Fun fact : I informed the author (which I'd a good fortune to get to know him for some time) this morning (east time zone) that his project is (again) on the front page on HN. He was in the air on his way to Taiwan. We both wished it doesn't break but it seems like it did and he restarted it again.

</comment></comment><comment><USER38> site is down

</comment><comment><USER39> news you can use

</comment><comment><USER40> Fortan.io is down

</comment><comment> xkcd-sucks Still better than Javascript...</comment>


LedisDB, a high-performance NoSQL database written in Go - <AUTHOR> https://github.com/siddontang/ledisdb <comment><USER2> Any reason we should use this over redis? Is there an inherent benefit in it being written in Go?</comment>


Re: Ian Murdock - <AUTHOR> http://codefriar.com/2016/01/01/to-ian/ <comment><USER2> _I'm reminded that all too often our culture judges people by their actions in the worst moments of their life ... We don't seem to have a cultural construct for good people who made mistakes._

As the author stated, we don't know what happened. But it does seem that people, like Ian (and Aaron Swartz), who dedicated their lives to improving systems for the greater good tend to have a defiant sensitivity to abuses of power.

The world needs people like that alive and kicking for as long as possible. Sometimes it takes an unfathomable amount of persistence to get things moving in the right direction, but it can and does happen if you don't give up.

<comment><USER3> I was about to quote that same line from the piece. Beautifully put.

</comment></comment><comment><USER4> Cannot Read on mobile, the text is wider than the screen an I cannot scroll horizontally nor zoom. I tried both Chrome and Firefox.

<comment><USER5> In Firefox mobile, there's usually an open book icon in the URL bar (at the right) that puts you in a sort of "reader mode", stripping away CSS and giving you text only. It's usually there for articles.

<comment><USER6> I had the same trouble with this article on the desktop. This happens a lot, designers assume everyone's running full screen, or are not on mobile, or just don't consider it. In desktop firefox I've installed addon Disable Style Button, which turns off CSS with one click. It's a shortcut for View/Page Style/No Style if you want to try it out without installing the addon.

The little book icon isn't always there, and anyway I generally like the result of turning off CSS anyway, it looks very nineties and I can just see the faintest outline of a middle finger.

<comment><USER4> > This happens a lot, designers assume everyone's running full screen, or are > not on mobile, or just don't consider it

What kills me is that a basic 90's HTML 3 page can be zoomed and scrolled on mobile browser. If you don't care too much about fancy design (eg for personal sites), then just use HTML and really basic, or no, CSS. If you do care about sophisticated design, then you should ensure it works on the most common browsers and devices.

</comment></comment></comment></comment><comment><USER7> > We don't seem to have a cultural construct for good people who made > mistakes.

Well said man, I think that remembering him because he

> was also the kind of man who'd not only call and verify my identity, but > reaffirm an insecure high school nerd's ability to meaningfully contribute > to the world at large.

Is an excellent form of memorial. This is my favorite post about the guy, who was not on my radar before this week. (Though, I have used Debian and regularly use Ubuntu.)

</comment><comment><USER8> I hope we get more clarity in the long run. I don't think his legacy is at risk in any way, Debian is a great monument in itself, and thousands of us in the foss world and those relying on it know this.

I never knew him, but I'm still very saddened by this loss.

I don't know what happened, and I ask myself why it could have went so wrong. Is the despair and feeling of injustice that much larger when you are an idealist?

<comment><USER6> > Is the despair and feeling of injustice that much larger when you are an > idealist?

The feeling is what the feeling is when you're deep in the shit. Idealist, mentor, nice guy, none of that matters. He was a man in crisis and didn't come out the other end. Maybe we'll know why some day.

</comment></comment><comment><USER9> I believe that people tend to be more forgiving when it comes to comedians and actors, simply because they have an emotional attachment, "to the time they spent with them". Simply put, they have a different context in which to remember him. Robin Williams is the quintessential example of this. I remember Mork through so much of his entire catalogue of work. I am currently writing this on Debian Jesse. That's "my time" and that is part of Ian Murdock's legacy.

</comment><comment><USER10> If anyone following the Ian Murdock situation is feeling suicidal, PLEASE talk to someone. Doesn't have to be medical staff, but do something and talk to someone you trust so you don't do something worse you might regret later, or worse, your loved ones regret more.

<comment><USER11> It's becoming a difficult situation in the US, where "talking to someone" means being forcibly handled by the brutal mental health system and forfeiting several crucial rights perhaps forever, including the right to own a firearm.

It's not clear whom in the US to recommend people contact in such a situation.

No less than four people who are close to me have sought help through official channels in the US, and in all four cases, were treated disastrously. All of them (including one who was 15 at the time) have told me they'd never, ever do that again.

(Actually, I just thought of another - someone whom someone around them "called for help." Same scenario. So that's five.)

<comment><USER12> It is extraordinarily unhelpful to suggest that people who are endangered by mental health problems should avoid the mental health system.

There is a _lot_ not to like about emergency mental health care. The experience is indeed akin to that of criminal justice, and can at times verge on dehumanizing. Our handling of these issues must improve.

But the alternative to being locked in a room with police officers watching the door is something far worse than that.

People with suicidal depression, severe anxiety disorders, or post-traumatic stress disorders can endure episodes where they almost completely lose judgement, or experience dissociation and derealization. You can't simply gut these things out: you need to be in a safe space, ideally attended to by professionals who can intervene medically during the worst of it.

If you are feeling suicidal, or that you're not in control of your own actions and concerned about harming yourself or others, you should call 9-1-1 or go to a hospital ER. It won't be pleasant, but it will be safer than the alternatives.

<comment><USER13> This post comes off as pretty dismissive. For me, the experience did not verge on dehumanizing, it _was_ dehumanizing. "Our handling of these issues must improve" doesn't even come close to acknowledging the severity, depth, or difficulty of the problems I encountered.

<comment><USER12> I'm doing my best to capture how bad the experience is and I don't object at all to anyone suggesting that it's worse than I described. I think it's a very bad system.

<comment><USER14> Psychiatry is an officially-sanctioned pseudoscience. People who get stuck in the system tend to never get better.

<comment><USER12> The former sentence is more a statement of religious belief than an argument. The latter is demonstrably untrue. Either way: the point of my comments isn't to take the side of the mental health care system and argue with all comers. In particular, there's a reason I keep using the term _emergency_ mental health care.</comment></comment></comment></comment></comment></comment></comment>


Ren: a lightweight data-exchange text format - <AUTHOR> https://pointillistic.com/ren/ <comment><USER2> Author of the Ren page being discussed here. Didn't expect to see it on HN. :^)

The Ren site (ren-data.org) redirects there, is quite old now, and was a playground and experimental area. Hence the empty links and such.

In addition to Bolek's Humanistic repo, I had set up [https://github.com/Ren- data/Ren](https://github.com/Ren-data/Ren) to discuss ideas. Ren is, effectively, Redbol (Red+Rebol). One of the initial goals was to define a subset of values and normalize the syntax (Rebol never formalized its format spec), which could be shared across Redbol langs as they evolved and went in different directions. And also as a bridge for loaders in other languages. JSON has taught us that a small spec is important. The balance between simplicity and expressive value types is key.

It may come back to life at some point, but my time was better spent elsewhere for a while. I'm focused on Red now (red-lang.org). It has a native bridge feature for embedding in other langs ([https://doc.red- lang.org/en/libred.html](https://doc.red-lang.org/en/libred.html)), along with a lot more. I believe there is still value in formalizing the grammar so others can create their own implementations, but it's not a priority at this time. In the meantime, you can find the active Red community at [https://gitter.im/red/red](https://gitter.im/red/red) to get more information and examples of what it looks like in use.

Cheers.

<comment><USER3> For base types, rather than a set of specific data types which is limited, how about having a standard way to indicate a type and data, like "number:12" and "rational:12/17" and "string:foo" and "date:2017-10-20" and "bitmap- hex:cafebabea2b9c0..."? Then let the reader parse it however they want given their desired interpretation of the type tag.

There could be a base set of standard types and ideally an organizational process to add more standard types -- like mimetypes. Mimetypes also might be considered included by default perhaps like "application/json; charset=utf-8:[1, 2, 3]").

It is more characters to include a type for each primitive, but it is more expandable. Likely these files will mostly be generated and read by code anyway, with humans just looking at them now and then for debugging.

If that string version seems too cluttery, another option is something like: rational:12/17 and string:foo and string:"this has spaces".

Or given possible confusion with maps and colons, another option is rational/12/17 and string/foo and string/"this has spaces" and complex/−1+3i and real:30.564 and "application/json; charset=utf-8"/[1,2,3] and maybe even xml/<foo>bar\ baz</foo> and javascript/console.log("hello") and so on.

Or maybe pipes? Like: rational|12/17 and string|foo and string|"this has spaces" and complex|−1+3i and real|30.564 and "application/json; charset=utf-8"|[1,2,3] and maybe even xml|<foo>bar\ baz</foo> and javascript|console.log("hello") and so on.

<comment><USER2> That would be a very different format. A big part of the format is that the lexical forms allow you to write things as you normally would, to another human. That does impose limits, but is part of the fundamental design.

</comment></comment></comment><comment><USER4> The very first entry in the FAQ ("Why is none used instead of null?") isn't very convincing! It says null "it isn't friendly to normal people who might be given configuration or message files to edit," and gives the example:

      Children: none
      Opinions: none

That certainly looks pleasant and human-readable, but a bit of a nightmare to interpret! Couldn't it just as well be "Children: 0" or "Children: []"? If the idea is to let non-technical people edit configuration files, the code reading the file will have to be very flexible and forgiving.

 _(Edit to add: maybe that 's something you mostly get for free in REBOL? It would be a major headache in most other languages though)_

<comment><USER5> Valid points about the ambiguity in that example, but I do believe 'none' is easier to parse than 'null' for the average person. I'm assuming that none is meant to represent, like null "no input was given" not "an input of zero/an empty list was given".

<comment> mh-cx But in that case, wouldn't "unknown" be even better? I'm not a native english speaker, though, so I may miss some fine nuances in the meaning of "none".

<comment><USER5> Disclaimer: this is just my personal views, so I may be missing something here.

'unknown' is almost like saying "We don't know what should be here", while 'none' is closer to saying "We didn't get passed any information here".

Ultimately, I feel like 'unknown' is more specific, it conveys intent beyond that of 'none'. Such as, it could imply we actually don't know what kind of data 'Opinions' should hold, rather than that there merely happens to be no data to put there.

<comment><USER2> We can throw out options for a long time, as there is no perfect choice. Ren went with `none` as it is standard Rebol and Rebol's designer thought about it long and hard.

</comment></comment></comment></comment></comment><comment><USER6> I'm annoyed when a text format doesn't support comments. Especially a Human one :)

Sometimes you want to comment a section out of a JSON without deleting it. Other times you want to annotate some generated JSON.

And because this is a common need, you have ad-hoc unofficial solutions which are not supported by all parsers.

<comment><USER7> In the book Programming Pearls, one of the sections is on "provenance". One of the tips shared was someone that put at the header of every generated file, the command that was used to generate it. I absolutely love the idea and have wanted to do it in places I generate files before. JSON completely kills this, though. I don't want to encode the bloody command, just put a little comment "this file generated on DATE by COMMAND". Grr...

<comment><USER8> Ironically, that is exactly why JSON doesn't have comments: [https://plus.google.com/+DouglasCrockfordEsq/posts/RK8qyGVaG...](https://plus.google.com/+DouglasCrockfordEsq/posts/RK8qyGVaGSr)

<comment><USER7> Strictly, that is different. He was against parser directives. And offered a solution for the case I gave.

Quite frankly, I think this is an area he made the wrong choice on. Which is fine, but still annoying. Like checked exceptions. Logic for the choice was sound, if misguided. End result sucks.

</comment></comment></comment></comment><comment><AUTHOR> In case anyone wonders - red-lang[0] and rebol[1] both use this notation.

[0][http://www.red-lang.org/](http://www.red-lang.org/) [1][http://www.rebol.com/](http://www.rebol.com/)

<comment><USER9> mirror site: [http://red.github.io/](http://red.github.io/)

</comment></comment><comment><USER10> I wish this (and JSON) wouldn't be ambiguous about number type (integers vs. floating point.) There are very different types of data in my opinion.

<comment><USER11> I disagree. For 99% of applications, a number is a number is a number. Integers and floating points are a leaky abstraction, I expect the language/compiler to handle these.

<comment><USER12> Try passing around 64bit integers in json. The majority of json implementations only implement double float numbers and will mangle your 64bit ints. The usual solution is passing int64s as strings, nasty.

<comment><USER13> Those implementations are as broken as a database that stores ZIP codes as integers.

<comment><USER12> Hit F12 on chrome and enter the following:

        JSON.parse('[9223372036854775805]')[0] === JSON.parse('[9223372036854775806]')[0]

You should get:

        <- true

Is chrome's implementation broken? Those are both numbers that a signed int64 can store precisely but a double float cannot.

<comment><USER13> Yes, the JavaScript JSON parser is broken (in design), in that it silently loses data/precision of JSON numbers. JSON numbers are not "int64s" or "double floats", they are arbitrary-precision decimal values. [1]

Postgres is the only popular system with built-in JSON functionality that I know of to correctly round-trip JSON numeric data. Python comes close but fails for any number with a decimal point or in E-notation.

One can argue that the JSON spec is too permissive (and I would disagree, though I'm somewhat a purist). Or a pedant could note that the JSON spec doesn't actually say whether _any_ of the digits in a number are considered to carry information (and does in fact note that many parsers are faulty). But it's unfortunately true that most popular JSON parsers fail to round-trip valid JSON data due to flawed design.

[1] [http://json.org/](http://json.org/)

<comment><USER14> > Or a pedant could note that the JSON spec doesn't actually say whether any > of the digits in a number are considered to carry information

RFC 7159 not only specifies that all of the digits carry information, it specified exactly what information they carry.

However, it also expressly permits implementations to limit the range and precision of numbers accepted, recommending (but not requiring) range and precision at least equivalent to IEEE 754 float64 be supported.

<comment><USER13> > RFC 7159 not only specifies that all of the digits carry information, it > specified exactly what information they carry.

Can you quote? I don't see where it does, except by reference to common knowledge.

But I should clarify. There are several inefficiencies in JSON numeric representation which may or may not be considered significant by an application. The ones I can think of, in order from "obviously not" to "well, maybe":

1\. the case of "e" vs. "E"

2\. the optional "+" sign after "e" or "E"

3\. presence/absence of decimal point and/or E-notation ( _shouldn 't_ make a difference, but _does_ in many parsers, such as Python's)

4\. the value of the exponent itself (e.g. 3.14 vs. 314e-2)

5\. "-" sign in front of any number with a value of 0 (IEEE floats and ones- complement integers do have a negative zero)

6\. excess trailing 0 digits after the decimal place (may be used to represent significant figures in scientific applications)

7\. digits of lesser significance (obviously the most contentious)

JavaScript ignores all but #5. Python ignores all but #3, and due to #3, sometimes #5 and #7. PostgreSQL `json` ignores none; `jsonb` ignores all but #6 and #7. Personally I would draw the line between #4 and #5. But neither the RFC nor the ECMA spec tell us.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER15> It looks fairly similar to EDN used by Clojure too. Similar, but not, of course, the same.

[https://learnxinyminutes.com/docs/edn/](https://learnxinyminutes.com/docs/edn/)

<comment><USER2> Some similarities, but different in that EDN has a tagging approach for some types, and a more limited set of literal value formats.

</comment></comment><comment><USER16> The syntax itself reminds me a lot of Lisp (Scheme, specifically) but this is probably on purpose. I wonder if it can be used on Lisps the same way JSON is used in JS.

<comment><USER9> check out Red and Rebol languages:

[http://red-lang.org/](http://red-lang.org/)

[http://red.github.io/](http://red.github.io/)

[http://rebol.com/](http://rebol.com/)

I think first version of Rebol interpreter was written in Scheme ;)

</comment></comment><comment><USER17> A different kind of pedantry: which is it, 仁 or 人 ? Both appear on the page and the former seems more fitting.

<comment><USER18> We agreed on 人, not sure where 仁 came from.

<comment><USER19> > not sure where 仁 came from

It means humaneness, benevolence, kindness, and is pronounced exactly the same as 人 which means person/people.

</comment></comment></comment><comment><USER20> Easiest way to understand the notation would be to see some examples, but the "Test files" link leads to nowhere.

<comment><USER21> Here's a link to a another example - [https://github.com/humanistic/REN](https://github.com/humanistic/REN)

</comment></comment><comment><USER22> When click into the resources links all open in blank pages?

<comment><USER23> Not for me.

<comment><USER24> The links in the first column under References all have "[http://"](http://") as their destination. The links in the other columns seem to be fine.

Also, the links under Implementations all result in a 404 page.

</comment></comment></comment><comment><USER25> It's cute that the spec believes money is denoted by "$".

<comment><USER26> I'm confused.. why is this cute?

Of course "$" is used as the symbol for several currencies, but its not clear if you have a better symbol in mind for the generic concept of money.

[https://en.wikipedia.org/wiki/$_(disambiguation)](https://en.wikipedia.org/wiki/$_\(disambiguation\))

<comment><USER25> Sarcastically cute. It appears very parochial (in the sense of "limited or narrow outlook") to think that having a single "currency type" is useful, or that using a "$" to denote it is appropriate. While "$" is used by at least one important world currency, I am pretty sure that more people use ¥ than $ by a long shot, and users of € are about as plentiful as people who spend in USD.

(The idea that in Rebol one might write EUR$1.00 to denote the value that would usually be written 1.00€ is also pretty horrible)

<comment><USER2> @jepler,

1) Do you agree that a notation should support currency values? That is, they are useful to identify in data, as atomic units?

2) If so, do you agree there should be a _single_ standard symbol and lexical form used to identify them? Because if we don't do that, we have to support _every_ localized notation, correct?

3) If you agree to both of those questions, what symbol do you suggest? ¤ is generic, but not on any keyboard layout I know of. Also, see Chris's note about ASCII priority.

<comment><USER25> No, I can honestly say I've never worked on a software project that dealt directly with currency values. Personally, in the kinds of projects I do, explicit support for units of measurement would be more beneficial: you'd like to use the type system to detect where units from different systems are mixed (e.g., km+mi) and behave appropriately by performing a conversion; or to detect where inappropriate units are mixed (e.g., kg+hz) and signal an error (at project build time if possible!)

With that background in mind, I imagine the scenario here you have two data in a Ren document which are both the literal $1.00, but one is actually 1.00USD and the other is actually 1.00EUR: it doesn't prevent errors (for instance, when you want to perform an operation like + on the two data), because you still don't know what the data means. You have gained very little over just using the literal 1.00 instead.

So if I were making a proposal I'd be tempted to suggest a syntax like [1.00 USD], and maybe even giving up one of the remaining sigils ^[1.00 USD] if it is important to raise to being a special element in the syntax of a Ren file. Now that you're saying what you mean, you can use the same syntax for all units: ^[1.00 kg m -2] (1 kilogram per square meter), ^[1.00 V hz -.5] (1 volt per square-root-hertz, a typical units specification of noise in opamps).

<comment><USER2> No need for special syntax. ^ is already the escape character. Just use blocks. Though a `unit` syntax has been brought up. The notation would use path syntax, but start with an number instead of a word. Frink, of course, is the king of languages in this regard.

And while this may be more beneficial in your work, a lot of software does have to deal with money, where it's important _not_ to use floating point, but BCD or something else.

</comment></comment></comment></comment></comment></comment><comment><USER27> Another go-round, trying to solve the same problem as TOML.

<comment><USER2> Not so. From the TOML page: "TOML aims to be a minimal configuration file format."

Ren is intended to be a general purpose data exchange format.

<comment><USER27> welp, I'm wrong. So it goes. Better reading in the future. :-/

I'll just leave my comment above to not destroy the comment chain.</comment></comment></comment>


Analysis of 419,000 FlapMMO attempts - <AUTHOR> http://t3hz0r.com/post/analysis-flapmmo-attempts

<comment><USER2> Nice graphics, but I'd like to see another one more. The (#death/#alive vs time).

If all the pipes had the same difficulty and all the players had the same ability, then the only factor to pass a pipe is luck and a x% of the players die just before each pipe and the graphic is a row of equal mountains.

But some of the pipes are more difficult or easy, so they will have a bigger % or smaller % of deaths, and higher or lower mountains.

And some players will have more ability. If, for examples noob, have a 1/3 chance of diying per pipe and pros has a 1/20 chance of dying per pipe, then the first 3 or 6 mountings will be big and full of noobs carcasses, and the other mountains will be much smaller. (In real word there is not a binary noob-pro classification, but it's easy to explain with this toy model.)

</comment><comment><USER3> >the game no longer trusts the client with coordinates and instead the client sends a list of jumps/flaps made by the player during the attempt. This means the attempts of other players are no longer seen in real time, but rather you see "recordings" instead.

They were never seen in "real time" anyway. Communicating more facts that could have been derived from a smaller set of different facts does not make it any less of a "recording" of facts or more "real time". Fewer facts to communicate may enable lower latency in their delivery, which is a better definition of "real time". Would it be any less of a "recording" to send the rendered pixels of the fish? I would argue the opposite.

Perhaps the point was that much more time was passing before elements of this list in the new format were sent, is that true?

</comment><comment><USER4> I love these kinds of posts. Interesting way of mining data from a product that isn't yours :). Are there any negatives to this type of approach (other than potentially pissing off the dev)?

<comment><USER5> The author was pretty courteous in the method he used to log the data IMO.

1) He only connected to one of the 'MMO' servers instead of multiple instances

2) Only established 1 long-living (Websocket) connection which is basically like having 1 (idle) player on the server. At the rate that other players were connecting, he likely added little to no real load

</comment></comment><comment><USER6> Would you please publish the raw data? That'd be very interesting.

<comment><AUTHOR> The author just updated the post adding a link to download the raw data.

CSV: [http://files.t3hz0r.com/projects/software/sandbox/flappy/fla...](http://files.t3hz0r.com/projects/software/sandbox/flappy/flappy_db.csv.7z) MongoDB: [http://files.t3hz0r.com/projects/software/sandbox/flappy/fla...](http://files.t3hz0r.com/projects/software/sandbox/flappy/flappy_db.min.7z)

<comment><USER6> Great, thanks!

</comment></comment></comment><comment><USER7> Amazing how such absolutely bare-bones basic games succeed. Way back on the Atari 2600 the all-time most successful game was Kaboom! which was a clown firing a cannon at a target. You got to raise/lower the cannon. That's it!

</comment><comment><USER8> Your page doesn't render on internet explorer for windows phone 8.

</comment><comment><USER9> Change Party > "hackernews"</comment>